AgentCoder: Multi-Agent-basierte Codegenerierung mit iterativem Testen und Optimierung

Die Entwicklung der natürlichen Sprachverarbeitung (Natural Language Processing, NLP) wurde maßgeblich durch den Fortschritt transformerbasierter großer Sprachmodelle (Large Language Models, LLMs) vorangetrieben. Diese Modelle haben NLP-Aufgaben revolutioniert, insbesondere im Bereich der Codegenerierung, indem sie Entwickler dabei unterstützen, Software effizienter zu erstellen. Trotz dieser Fortschritte bestehen weiterhin Herausforderungen bei der Balance zwischen der Generierung von Code-Abschnitten und der effektiven Erzeugung sowie Ausführung von Testfällen. Um diese Probleme zu bewältigen, stellt dieser Artikel AgentCoder vor – eine neuartige Lösung, die auf einem mehragenten-System basiert und spezialisierte Agenten umfasst: den Programmierer-Agenten, den Testentwurfs-Agenten und den Testausführungs-Agenten. Während des Codierungsprozesses konzentriert sich der Programmierer-Agent auf die Generierung und Verbesserung des Codes unter Berücksichtigung von Rückmeldungen des Testausführungs-Agenten. Der Testentwurfs-Agent generiert Testfälle für den erzeugten Code, während der Testausführungs-Agent den Code gemeinsam mit diesen Testfällen ausführt und die Rückmeldung an den Programmierer weiterleitet. Dieses kooperative System gewährleistet eine robuste Codegenerierung und überwindet die Beschränkungen einzelner Agentenmodelle sowie traditioneller Methoden. Unsere umfangreichen Experimente an 9 Codegenerierungsmodellen und 12 Verbesserungsansätzen zeigen, dass AgentCoder eine überlegene Leistung im Vergleich zu bestehenden Codegenerierungsmodellen und Prompt-Engineering-Techniken auf verschiedenen Benchmarks erzielt. So erreicht AgentCoder (GPT-4) beispielsweise 96,3 % und 91,8 % Pass@1 auf den Datensätzen HumanEval und MBPP mit einer insgesamt 56,9 K und 66,3 K Token-Überlast, während aktuell führende Ansätze lediglich 90,2 % und 78,9 % Pass@1 bei einer Gesamt-Token-Überlast von 138,2 K und 206,5 K erreichen.