Ich bin kein erfahrener Programmierer, aber dank eines kostenlosen Programms namens SWE-Agent konnte ich ein heikles Problem mit einer falsch benannten Datei in verschiedenen Code-Repositorys auf der Software-Hosting-Site GitHub debuggen und lösen.
Ich machte den SWE-Agenten auf GitHub auf ein Problem aufmerksam und beobachtete, wie er den Code durchging und darüber nachdachte, was möglicherweise falsch sein könnte. Er stellte korrekt fest, dass die Hauptursache des Fehlers eine Zeile war, die auf den falschen Speicherort für eine Datei zeigte, ging dann durch das Projekt, lokalisierte die Datei und änderte den Code, damit alles ordnungsgemäß funktionierte. So etwas könnte ein unerfahrener Entwickler (wie ich) Stunden damit verbringen, Fehler zu beheben.
Viele Programmierer nutzen bereits künstliche Intelligenz, um Software schneller zu schreiben. GitHub Copilot war die erste integrierte Entwicklungsumgebung, die KI nutzte, aber viele IDEs vervollständigen jetzt automatisch Codeteile, wenn ein Entwickler mit der Eingabe beginnt. Sie können der KI auch Fragen zum Code stellen oder sie bitten, Ihnen Vorschläge zur Verbesserung Ihrer Arbeit zu machen.
Letzten Sommer begannen John Yang und Carlos Jimenez, zwei Doktoranden aus Princeton, darüber nachzudenken, was es braucht, damit KI ein echter Software-Ingenieur wird. Dies veranlasste sie und andere Princeton-Forscher, SWE-Bench zu entwickeln, eine Reihe von Benchmarks zum Testen von KI-Tools für eine Reihe von Codierungsaufgaben. Nach der Veröffentlichung des Tests im Oktober entwickelte das Team ein eigenes Tool, den SWE-Agent, um diese Aufgaben zu meistern.
SWE-Agent („SWE“ ist die Abkürzung für „Software Engineering“) ist eines von vielen viel leistungsfähigeren KI-Codierungsprogrammen, die über das bloße Schreiben von Codezeilen hinausgehen und als Agentensoftware fungieren und die zum Verwalten, Debuggen und Organisieren erforderlichen Tools nutzen Software. Das Startup Devin ging im März mit einer Videodemonstration eines dieser Tools viral.
Ofir Press, Mitglied des Princeton-Teams, sagt, dass SWE-Bench OpenAI dabei helfen könnte, die Leistung und Zuverlässigkeit von Software-Agenten zu testen. „Das ist nur meine Meinung, aber ich denke, dass sie sehr bald einen Software-Agenten veröffentlichen werden“, sagt Press.
OpenAI lehnte eine Stellungnahme ab, aber eine andere Quelle mit Kenntnissen über die Aktivitäten des Unternehmens, die nicht namentlich genannt werden wollte, teilte WIRED mit, dass „OpenAI definitiv an der Agentencodierung arbeitet.“
So wie GitHub Copilot gezeigt hat, dass große Sprachmodelle Code schreiben und die Produktivität von Programmierern steigern können, können Tools wie SWE-agent beweisen, dass KI-Agenten zuverlässig arbeiten können, angefangen bei der Erstellung und Codepflege.
Viele Unternehmen sind Testagenten für die Softwareentwicklung. An der Spitze der SWE-Benchmark-Rangliste, die misst, wie verschiedene Programmieragenten bei verschiedenen Aufgaben abschneiden, steht ein Agent von Factory AI, einem Startup, gefolgt von AutoCodeRover, einem Open-Source-Eintrag eines Teams der National University of Singapore.
Auch große Player drängen in die Branche. Amazon Q, ein Softwareentwicklungstool, ist ein weiteres leistungsstarkes Tool im SWE-Bereich. „Softwareentwicklung ist mehr als nur Tippen“, sagt Deepak Singh, Vizepräsident für Softwareentwicklung bei Amazon Web Services.
Er fügt hinzu, dass AWS den Agenten verwendet hat, um ganze Software-Stacks von einer Programmiersprache in eine andere zu übersetzen. „Es ist, als ob ein wirklich kluger Ingenieur neben einem sitzt und mit einem eine App schreibt und erstellt“, sagt Singh. „Ich denke, es ist ziemlich transformativ. »
Ein OpenAI-Team hat dem Princeton-Team kürzlich dabei geholfen, einen Benchmark zur Messung der Zuverlässigkeit und Wirksamkeit von Tools wie SWE-Agent zu verbessern, und schlägt vor, dass das Unternehmen auch Agenten zum Schreiben von Code oder zum Ausführen anderer Aufgaben auf einem Computer perfektionieren könnte.
Singh sagt, dass eine Reihe von Kunden bereits komplexe Back-End-Anwendungen mit Q erstellen. Meine eigenen Erfahrungen mit SWE-bench deuten darauf hin, dass jeder, der programmiert, bald Agenten verwenden möchte, um seine Programmierfähigkeiten zu verbessern, oder Gefahr läuft, zurückgelassen zu werden.