OpenHands: Plataforma oberta per a agents de programari d'IA i què significa per a l'automatització de les finances
M'he anat trobant OpenHands com la capa d'andamiatge sota TheAgentCompany, InvestorBench i una llista creixent d'articles d'avaluació — i tanmateix, encara no havia llegit l'article principal. Aquesta és la infraestructura sobre la qual s'està construint silenciosament la resta del camp, així que entendre què ofereix realment, i on falla, importa més que qualsevol resultat individual d'un banc de proves construït sobre ella.
L'article
OpenHands (Wang et al., 2024; ICLR 2025) és una plataforma de codi obert per construir i avaluar agents LLM que actuen com a desenvolupadors de programari generalistes. Liderat per Xingyao Wang i Graham Neubig amb un equip de 24 autors, l'afirmació central de l'article és que la majoria de marcs d'agents existents són o bé massa limitats per a la recerca (bucles de tasques codificats rígidament) o massa tancats per a la producció (codi tancat o d'un sol propòsit) per servir com a base compartida per a la comunitat de recerca. OpenHands intenta solucionar-ho proporcionant un entorn d'execució estandarditzat, una abstracció d'agent neta i 15 bancs de proves d'avaluació integrats sota un sol repositori amb llicència MIT.
L'entorn d'execució és un entorn aïllat en Docker que conté un intèrpret d'ordres bash, un servidor Jupyter IPython i un navegador Chromium controlat per Playwright. Els agents interactuen mitjançant tres tipus d'accions principals: IPythonRunCellAction per a Python, CmdRunAction per a ordres de l'intèrpret d'ordres i BrowserInteractiveAction per a la navegació web. Una primitiva de coordinació multi-agent, AgentDelegateAction, permet que un agent principal generi sub-agents especialitzats. L'eix vertebrador per defecte és CodeAct — publicat originalment com un article independent que argumentava que el codi és l'espai d'accions unificat ideal per als agents LLM — i la plataforma inclou diverses implementacions d'agents, com ara un CodeActAgent general i un BrowsingAgent especialitzat.
Idees clau
- El codi com a espai d'accions universal: CodeAct consolida totes les accions de l'agent (edicions de fitxers, crides a l'API, transformacions de dades) en Python o bash, permetent que l'LLM raoni en el mateix mitjà en què ha estat entrenat més intensivament. Això evita la fragilitat dels esquemes JSON que afecta els agents basats en crides a funcions.
- Entorn d'execució Docker aïllat: cada agent s'executa en un contenidor aïllat, de manera que els agents poden executar codi arbitrari lliurement sense comprometre la màquina amfitriona — un requisit previ per a qualsevol agent de finances en producció al qual se li puguin lliurar credencials reals.
- 15 bancs de proves en un sol lloc: SWE-Bench Lite (reparació de codi), HumanEvalFix (correcció d'errors), WebArena (navegació web), GPQA (raonament de nivell de postgrau), GAIA (resolució de tasques generals) i deu més. Tenir-los col·locats evita l'avaluació esbiaixada.
- CodeActAgent + claude-3.5-sonnet assoleix un 26% a SWE-Bench Lite i un 79,3% a HumanEvalFix; BrowsingAgent arriba al 15,5% a WebArena — resultats competitius sense cap entrenament específic per a la tasca.
- Rendiment a GAIA: 32,1% amb GPTSwarm, molt per sota del 92% de la línia base humana — consistent amb tots els altres bancs de proves d'agents generals que mostren una bretxa de 60–70 punts entre humans i agents.
- Escala comunitària: 71,4K estrelles a GitHub i més de 188 col·laboradors en el moment de la presentació a l'ICLR; TheAgentCompany va adoptar OpenHands com el seu entorn d'avaluació, atorgant-li l'estatus d'infraestructura de referència de facto.
Què se sosté — i què no
El disseny de l'entorn d'execució aïllat és una enginyeria sòlida. Isolar l'execució de l'agent en Docker és l'opció correcta per defecte per a qualsevol sistema que més endavant pugui rebre accés d'escriptura a llibres majors financers reals, i és realment útil que els bancs de proves estiguin col·locats en lloc de dispersos en repositoris incompatibles.
La cobertura dels bancs de proves, però, és més aspiracional que sistemàtica. Els 15 bancs de proves abasten tipus de tasques i nivells de dificultat extremadament diferents sense un marc clar de com s'haurien d'agregar o comparar els resultats. Informar d'un 26% a SWE-Bench Lite juntament amb un 79,3% a HumanEvalFix en el mateix article corre el risc de crear la impressió que el mateix agent és simultàniament mediocre i excel·lent — les tasques simplement no són comparables. Els autors no proporcionen una metodologia d'agregació multi-referència basada en principis.
La hipòtesi de CodeAct — que el codi és el format d'acció universal correcte — és discutible. Funciona bé per a tasques de desenvolupament, però imposa una capa de mediació Python/bash a cada acció, cosa que afegeix latència i falla quan la semàntica de l'acció no es mapeja netament al codi (instruccions d'usuari ambigües, APIs només de llenguatge natural). L'article no fa proves comparatives amb espais d'accions que no siguin de codi per demostrar que l'avantatge és real i no una confusió causada pel model LLM subjacent.
Potser la bretxa més important és la divisió entre avaluació i desplegament. La xifra del 26% a SWE-Bench prové d'un banc de proves relativament net i ben especificat. Els informes de la comunitat i els fils de problemes de GitHub descriuen constantment una fiabilitat molt menor en tasques del món real ambígües o de llarg horitzó — el mateix mode d'error que TheAgentCompany va documentar. L'article no aborda com mesurar o millorar la robustesa sota un soroll d'especificació de tasques realista.
Per què això importa per a la IA en finances
OpenHands és el més semblant que té la comunitat a un substrat d'agents compartit. Si Bean Labs construeix una infraestructura d'avaluació per als agents de Beancount, l'arquitectura de l'entorn d'execuci ó aquí — sandbox Docker, accions Python/bash, backends d'LLM connectables — val la pena adoptar-la en lloc de reconstruir-la. La primitiva AgentDelegateAction es mapeja naturalment a una canonada d'agents financers on un orquestrador de nivell superior delega en sub-agents especialitzats: un per a lectures del llibre major, un per a la detecció d'anomalies, un per a una proposta d'escriptura que un humà revisa.
Les xifres de SWE-Bench i TheAgentCompany, llegides conjuntament, estableixen una premissa aclaparadora: fins i tot els millors agents disponibles completen aproximadament el 26–30% de les tasques de programari realistes i no ambígües. L'automatització dels llibres de comptes financers és més difícil — les transaccions solen ser ambígües, l'impacte dels errors és real i la intenció de l'usuari sovint està infraespecificada. La inferència correcta no és que els agents no estiguin preparats, sinó que els primers desplegaments productius seran fluxos de treball d'escriptura única de poc abast (suggeriments de categorització, marcatge de conciliació) en lloc d'edicions autònomes de llibres de comptes en múltiples passos.
Què llegir a continuació
- ReDAct: Uncertainty-Aware Deferral for LLM Agents (arXiv:2604.07036) — combina un model barat amb un de car i delega al model car només quan la incertesa és alta; aborda directament com un agent a l'estil OpenHands hauria de decidir quan escalar una escriptura de Beancount a la revisió humana.
- FinTrace: Holistic Trajectory-Level Evaluation of LLM Tool Calling for Long-Horizon Financial Tasks (arXiv:2604.10015) — 800 seqüències de tasques anotades per experts a través de 34 escenaris financers; la metodologia d'avaluació que OpenHands troba a faltar per a l'ús d'eines de llarg horitzó específiques de finances.
- FinMCP-Bench: Benchmarking LLM Agents for Real-World Financial Tool Use under the Model Context Protocol (arXiv:2603.24943) — 613 mostres a través de 65 eines financeres MCP reals, directament rellevant per a com s'avaluaria un agent de Beancount construït sobre l'entorn d'execució d'OpenHands en un desplegament MCP real.
