Phoenix: Safe GitHub Issue Resolution via Multi-Agent LLMs
Phoenix is een multi-agent LLM-systeem dat veilig GitHub-issues oplost van triage tot aan het aanmaken van een pull-request door zeven gelaagde veiligheidscontroles en een baseline-bewuste evaluatiestrategie te hanteren, waarmee een oracle-resolutiepercentage van 75% wordt bereikt op een gecureerde SWE-bench Lite-slice terwijl een correctheidspreservatie van 100% op real-world issues behouden blijft.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je een enorme, bruisende bibliotheek voor genaamd GitHub, waar miljoenen mensen plaknotities achterlaten in boeken om te vragen om reparaties, nieuwe functies of om te wijzen op typefouten. Deze briefjes worden "issues" genoemd. Normaal gesproken moet een menselijke bibliothecaris het briefje lezen, de exacte pagina in het boek vinden, ontdekken wat er mis is, de tekst herschrijven en vervolgens aan een senior bibliothecaris vragen om te controleren voordat het terug in de kast gaat. Dit is traag en vermoeiend.
Phoenix is een nieuw team van AI-robots die ontworpen zijn voor dit werk, maar met een zeer strikte regel: Breng geen schade toe.
Hier is hoe Phoenix werkt, onderverdeeld in eenvoudige concepten:
1. Het Team van Specialisten (De Zes Agenten)
In plaats van één superintelligent robot die alles tegelijk probeert te doen (wat vaak tot fouten leidt), gebruikt Phoenix een team van zes gespecialiseerde werkers, als een goed geoliede lopende band:
- De Planner: Leest het plaknotitie en tekent een kaart. Het besluit welke pagina's aangepast moeten worden en hoe ze gerepareerd moeten worden.
- De Reproducer (De Detective): Voordat er iets wordt gerepareerd, probeert deze robot het probleem na te bootsen. Het zegt: "Oké, als ik X doe, gaat het boek dan kapot?" Als het kan bewijzen dat het boek kapot is, gaat het verder. Als niet, slaat het deze stap over zodat het team niet vastloopt.
- De Coder: De schrijver. Het neemt de kaart van de Planner en herschrijft daadwerkelijk de tekst op de pagina's.
- De Tester: De kwaliteitsinspecteur. Het haalt het boek door een machine om te zien of de nieuwe tekst nieuwe fouten veroorzaakt.
- De Failure Analyst: De dokter. Als de Tester een nieuwe fout vindt, diagnosticeert deze robot waarom het gebeurde en vertelt de Coder hoe ze het kunnen oplossen. Ze krijgen twee pogingen om het te fixen; als ze twee keer falen, stoppen ze en vragen ze menselijke hulp.
- De PR Agent: De boodschapper. Zodra de reparatie klaar is, verpakt deze alles en overhandigt het aan een menselijke bibliothecaris voor de uiteindelijke goedkeuring.
2. Het "Veiligheidsnet" (Zeven Lagen Bescherming)
Het artikel benadrukt dat AI gevaarlijk kan zijn als het zomaar willekeurig boeken begint te herschrijven. Phoenix heeft zeven "veiligheidsbewakers" om rampen te voorkomen:
- Het Hek: Het laat de robots niet buiten de muren van de bibliotheek schrijven (om te voorkomen dat ze bestanden verwijderen die ze niet mogen aanraken).
- De ID-Badge: Het controleert of de robots geldige sleutels (tokens) hebben, zodat ze niet halverwege de klus worden buitengesloten.
- De Opruimploeg: Het verwijdert rommelige, verwarrende delen uit de plaknotities voordat ze aan de robots worden getoond, zodat ze niet in de war raken door slechte formattering.
- De "Niet-Lopen" Zone: Het weigert de beveiligingsbestanden van de bibliotheek (workflow files) aan te raken, omdat het aanpassen van die bestanden iedereen buiten de deur kan zetten.
- De Stopknop: Als de robots in een loop terechtkomen of steeds dezelfde fout maken, trekt het systeem de stekker eruit.
- De Solo Werker: Er wordt slechts aan één boek tegelijk gewerkt om te voorkomen dat de robots tegen elkaar opbotsen.
- De Verse Sleutel: Het ververst automatisch de ID-badges voordat ze verlopen, zodat de klus nooit stopt door een tijdingsprobleem.
3. De "Vóór en Na" Test (Baseline Bewustzijn)
Dit is de meest slimme truc van Phoenix. Soms is een bibliotheekboek al kapot voordat de robot eraan begint.
- De Oude Manier: Een robot repareert een typefout, maar het boek faalt nog steeds voor een test omdat het al kapot was. De robot krijgt de schuld van de fout.
- De Phoenix Manier: Voordat de robot iets verandert, maakt het een "snapshot" van de huidige staat van het boek. Nadat de robot wijzigingen heeft aangebracht, vergelijkt het de nieuwe staat met de snapshot.
- Als het boek al kapot was en ook na de wijziging kapot blijft (maar er zijn geen nieuwe dingen kapot), zegt Phoenix: "Succes! We hebben het niet erger gemaakt."
- Als het boek wel werkte en nu kapot is, zegt Phoenix: "Stop! We hebben een regressie geïntroduceerd."
4. Wat de Resultaten Laten Zien
De onderzoekers hebben Phoenix op twee manieren getest:
- De Oefenronde (SWE-bench Lite): Ze gaven Phoenix 24 specifieke, vooraf gedefinieerde problemen. Phoenix loste 75% van hen perfect op zonder iets te breken dat al werkte.
- De Test in de echte wereld (42 Echte Issues): Ze lieten Phoenix los op 42 werkelijke issues van 14 verschillende echte projecten.
- Veiligheid: Phoenix behaalde 100% "Correctness Preservation". Dit betekent dat het nooit een test brak die eerder wel slaagde. Het was ongelooflijk veilig.
- Succespercentage: Echter, slechts ongeveer de helft van de reparaties was daadwerkelijk de juiste reparatie. Bij de andere helft was er sprake van "hallucinaties", waarbij de robot code op de verkeerde plek schreef (zoals een reparatiehandleiding in de fictieafdeling schrijven). De robot wist hoe hij het moest repareren, maar kon soms niet vinden waar het probleem precies zat.
De Kernboodschap
Phoenix is als een zeer voorzichtige, hoogopgeleide leerling-bibliothecaris. Het is uitstekend in het niet erger maken van zaken en erg goed in het volgen van een strikt proces. Het worstelt echter soms met het vinden van de exacte locatie van een probleem als de beschrijving niet perfect overeenkomt met de bestandsnamen.
Het artikel concludeert dat voor AI om nuttig te zijn in de echte wereld, veiligheid voorrang moet hebben op snelheid. Phoenix bewijst dat je, door een team van gespecialiseerde agenten en strikte veiligheidsregels te gebruiken, software-reparaties kunt automatiseren zonder per ongeluk de software te breken. Het belangrijkste punt dat nog verbeterd moet worden, is het helpen van de "Planner"-robot om de juiste pagina in het boek vaker te vinden.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.