SWE-agent: l'Agent-Computer Interface di Princeton

Princeton NLP e Stanford rilasciano SWE-agent il 2 aprile 2024: paper NeurIPS 2024 sull'Agent-Computer Interface design. Risolve 12-18% di SWE-bench lite nella versione iniziale. Licenza MIT.

Open SourceAI Open SourceSWE-agentPrincetonSoftware AgentAgenticAI

Un contributo accademico a SWE-bench

Il 2 aprile 2024 il gruppo Princeton NLP, in collaborazione con Stanford, rilascia SWE-agent. Gli autori principali — John Yang, Carlos E. Jimenez e colleghi — provengono dalla stessa linea di ricerca che aveva prodotto, pochi mesi prima, il benchmark SWE-bench per la valutazione di agent software. Il progetto è pubblicato con licenza MIT e viene presentato a NeurIPS 2024 con il paper “SWE-agent: Agent-Computer Interfaces Enable Automated Software Engineering”.

Il contributo centrale è concettuale: mostrare che il fattore limitante nella risoluzione di task di ingegneria del software non è tanto la capacità del modello, quanto il design dell’interfaccia tra agent e ambiente.

Agent-Computer Interface

Il paper introduce la nozione di Agent-Computer Interface (ACI): l’insieme di primitive tramite cui l’agent osserva e modifica lo stato del sistema. Una shell grezza offre massima generalità ma costringe l’agent a gestire output verbosi, escape sequence e formati inconsistenti. Un’interfaccia progettata per agent — con comandi strutturati, output compatti e feedback esplicito — riduce il carico cognitivo e migliora significativamente le prestazioni.

SWE-agent implementa un’ACI custom che include: un editor di file con visualizzazione a finestra scorrevole (evita di caricare l’intero file nel contesto), comandi strutturati per la navigazione del filesystem, un runner di test con output filtrato, operazioni di patch atomiche. Queste primitive sono disponibili all’agent come tool, mentre operazioni non mediate dall’ACI sono in linea di principio evitate.

Risultati su SWE-bench

Nella versione iniziale del paper, SWE-agent risolve tra il 12% e il 18% delle issue di SWE-bench lite con GPT-4 class, a seconda della configurazione. Il risultato è significativo perché, nel momento della pubblicazione, molte soluzioni alternative si attestavano su percentuali inferiori pur utilizzando modelli comparabili. La differenza è attribuita nel paper principalmente al design dell’ACI, non all’orchestrazione o al prompting.

Relazione con OpenHands

SWE-agent e OpenHands (ex OpenDevin) sono nati nello stesso periodo e affrontano lo stesso problema — l’automazione di task di ingegneria del software — ma con tradizioni diverse. SWE-agent è un contributo accademico focalizzato sull’ACI design, con un’architettura minimalista e orientata alla riproducibilità degli esperimenti. OpenHands è una piattaforma più ampia con ambizioni industriali.

I due progetti sono spesso confrontati sulle leaderboard SWE-bench e rappresentano approcci complementari: SWE-agent come strumento di ricerca, OpenHands come piattaforma di ingegneria.

Link: swe-agent.com

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi