OpenHands: Отворена платформа за AI софтуерни агенти и какво означава тя за автоматизацията на финансите
Продължавам да попадам на OpenHands като скелетното ниво под TheAgentCompany, InvestorBench и нарастващ списък от документи за оценка — но все още не съм прочел основния документ. Това е инфраструктурата, върху която тихомълком се изгражда останалата част от полето, така че разбирането на това какво всъщност предоставя тя и къде не успява, е по-важно от всеки отделен резултат от бенчмарк, изграден върху нея.
Документът
OpenHands (Wang et al., 2024; ICLR 2025) е платформа с отворен код за изграждане и оценка на LLM агенти, които действат като софтуерни разработчици с общо предназначение. Воден от Xingyao Wang и Graham Neubig в екип от 24 автори, основното твърдение на документа е, че повечето съществуващи рамки за агенти са или твърде тесни за изследователски цели (твърдо кодирани цикли на задачи), или твърде тесни за производство (със затворен код или с една цел), за да служат като споделена основа за изследователската общност. OpenHands се опитва да поправи това, като предоставя стандартизирана среда за изпълнение (runtime), чиста абстракция на агента и 15 интегрирани бенчмарка за оценка под едно MIT-лицензирано хранилище.
Средата за изпълнение е изолирана в Docker среда, съдържаща bash обвивка, Jupyter IPython сървър и Chromium браузър, контролиран от Playwright. Агентите взаимодействат чрез три основни типа действия: IPythonRunCellAction за Python, CmdRunAction за shell команди и BrowserInteractiveAction за уеб навигация. Примитивът за координация на множество агенти, AgentDelegateAction, позволява на главен агент да създава специализирани потагенти. По подразбиране гръбнакът е CodeAct — първоначално публикуван като самостоятелен документ, твърдящ, че кодът е идеалното унифицирано пространство за действие за LLM агенти — и платформата се доставя с няколко имплементации на агенти, включително общ CodeActAgent и специализиран BrowsingAgent.
Ключови идеи
- Кодът като универсално пространство за действие: CodeAct обединява всички действия на агента (редактиране на файлове, API повиквания, трансформации на данни) в Python или bash, позволявайки на LLM да разсъждава в същата среда, в която е бил обучен най-интензивно. Това заобикаля крехкостта на JSON схемите, която измъчва агентите, използващи повиквания на функции (function-calling).
- Изолирана Docker среда (Sandboxed runtime): всеки агент се изпълнява в изолиран контейнер, така че агентите могат свободно да изпълняват произволен код, без да компрометират хост машината — предпоставка за всеки производствен финансов агент, на когото могат да бъдат поверени реални идентификационни данни.
- 15 бенчмарка в една система: SWE-Bench Lite (поправка на код), HumanEvalFix (отстраняване на грешки), WebArena (уеб навигация), GPQA (разсъждения на ниво завършил висше образование), GAIA (общо решаване на задачи) и още десет. Наличието им на едно място предотвратява избирателното представяне на резултати (cherry-picking).
- CodeActAgent + claude-3.5-sonnet постига 26% на SWE-Bench Lite и 79,3% на HumanEvalFix; BrowsingAgent достига 15,5% на WebArena — конкурентно zero-shot представяне без никакво обучение за конкретни задачи.
- Производителност в GAIA: 32,1% с GPTSwarm, доста под базовата линия за хора от 92% — в съответствие с всеки друг бенчмарк за общи агенти, показващ разлика от 60–70 точки между човек и аг ент.
- Мащаб на общността: 71,4 хил. звезди в GitHub и над 188 сътрудници към момента на подаване на ICLR; TheAgentCompany прие OpenHands като своя среда за оценка, придавайки му де факто статус на инфраструктура за бенчмарк.
Какво издържа проверката — и какво не
Дизайнът на изолираната среда за изпълнение е солидно инженерно решение. Изолирането на изпълнението на агента в Docker е правилният избор по подразбиране за всяка система, на която по-късно може да бъде даден достъп за запис в реални финансови книги, и е наистина полезно, че бенчмарковете са разположени заедно, а не разпръснати в несъвместими хранилища.
Обхватът на бенчмарковете обаче е по-скоро амбициозен, отколкото систематичен. 15-те бенчмарка обхващат коренно различни типове задачи и нива на трудност без ясна рамка за това как резултатите трябва да бъдат обобщени или сравнени. Отч итането на 26% на SWE-Bench Lite заедно със 79,3% на HumanEvalFix в един и същ документ рискува да създаде впечатлението, че един и същ агент е едновременно посредствен и отличен — задачите просто не са съпоставими. Авторите не предоставят принципна методология за обобщаване на множество бенчмаркове.
Предположението на CodeAct — че кодът е правилният универсален формат за действие — е оспорвано. То работи добре за задачи за разработка, но налага слой на медиация чрез Python/bash при всяко действие, което добавя забавяне и се проваля, когато семантиката на действието не се картографира ясно към код (двусмислени инструкции на потребителя, API-та само на естествен език). Документът не прави бенчмарк срещу пространства за действие, които не са базирани на код, за да докаже, че предимството е реално, а не се дължи на самия LLM модел.
Може би най-важната празнина е разделението между оценка и внедряване. Числото от 26% в SWE-Bench идва от сравнително чист, добре дефиниран бенчмарк. Докладите на общността и темите с проблеми в GitHub последователно описват много по-ниска надеждност при двусмислени или дългосрочни задачи от реалния свят — същият режим на отказ, който TheAgentCompany документира. Документът не разглежда как да се измери или подобри устойчивостта при реалистичен шум в дефинирането на задачите.
Защо това е важно за AI във финансите
OpenHands е най-близкото нещо, което общността има до споделена субстратна основа за агенти. Ако Bean Labs изгражда инфраструктура за оценка на Beancount агенти, архитектурата на средата тук — Docker изолация, Python/bash действия, сменяеми LLM бекенди — си струва да бъде приета, вместо да се изгражда наново. Примитивът AgentDelegateAction се картографира естествено към тръбопровод за финансов агент, където оркестратор от най-високо ниво делегира на специализирани потагенти: един за четене на счетоводната книга, един за отбелязване на аномалии, един за предложен обратен запис, който човек преглежда.
Числата от SWE-Bench и TheAgentCompany, четени заедно, установяват отрезвяваща предст ава: дори най-добрите налични агенти изпълняват приблизително 26–30% от реалистичните, недвусмислени софтуерни задачи. Автоматизацията на финансовите книги е по-трудна — транзакциите често са двусмислени, радиусът на поражение от грешки е реален, а намеренията на потребителите често не са достатъчно дефинирани. Правилният извод не е, че агентите не са готови, а че първите продуктивни внедрявания ще бъдат тясно ограничени работни процеси за еднократен запис (предложения за категоризация, отбелязване за съгласуване), а не автономни многостепенни редакции на счетоводната книга.
Какво да прочетете след това
- ReDAct: Uncertainty-Aware Deferral for LLM Agents (arXiv:2604.07036) — съчетава евтин модел със скъп и прехвърля задачата към скъпия модел само когато неопределеността е висока; директно разглежда как агент в стил OpenHands трябва да реши кога да ескалира обратен запис в Beancount за преглед от човек.
- FinTrace: Holistic Trajectory-Level Evaluation of LLM Tool Calling for Long-Horizon Financial Tasks (arXiv:2604.10015) — 800 експертно анотирани последователности от задачи в 34 финансови сценария; методологията за оценка, която липсва на OpenHands за специфично за финансите дългосрочно използване на инструменти.
- FinMCP-Bench: Benchmarking LLM Agents for Real-World Financial Tool Use under the Model Context Protocol (arXiv:2603.24943) — 613 проби в 65 реални MCP финансови инструмента, пряко свързани с това как би се оценявал Beancount агент, изграден върху средата на OpenHands, в реално MCP внедряване.
