OpenHands: открытая платформа для ИИ-агентов-разработчиков и её значение для автоматизации финансов
Я постоянно сталкиваюсь с OpenHands как со вспомогательным слоем под TheAgentCompany, InvestorBench и растущим списком работ по оценке — однако я ещё не читал саму статью. Это инфраструктура, на которой потихоньку строится всё остальное в этой области, поэтому понимание того, что она на самом деле дает и в чем её недостатки, важнее любого отдельного результата бенчмарка, построенного на её основе.
Статья
OpenHands (Wang et al., 2024; ICLR 2025) — это платформа с открытым исходным кодом для создания и оценки LLM-агентов, выступающих в роли универсальных разработчиков ПО. Основное утверждение авторов (команды из 24 человек под руководством Синъяо Ванга и Грэма Ньюбига) заключается в том, что большинство существующих фреймворков для агентов либо слишком узки для исследований (жестко закодированные циклы задач), либо слишком узки для продакшена (закрытый исходный код или узкая специализация), чтобы служить общей основой для сообщества. OpenHands пытается исправить это, предоставляя стандартизированную среду выполнения, чистую абстракцию агента и 15 интегрированных бенчмарков в одном MIT-репозитории.
Среда выполнения представляет собой изолированный Docker-контейнер, содержащий оболочку bash, сервер Jupyter IPython и браузер Chromium под управлением Playwright. Агенты взаимодействуют через три основных типа действий: IPythonRunCellAction для Python, CmdRunAction для команд оболочки и BrowserInteractiveAction для веб-навигации. Примитив координации нескольких агентов, AgentDelegateAction, позволяет основному агенту порождать специализированных субагентов. Дефолтной основой является CodeAct — концепция, изначально опубликованная в виде отдельной статьи, в которой утверждается, что код является идеальным унифицированным пространством действий для LLM-агентов. Платформа поставляется с несколькими реализациями агентов, включая универсальный CodeActAgent и специализированный BrowsingAgent.
Ключевые идеи
- Код как универсальное пространство действий: CodeAct объединяет все действия агента (редактирование файлов, вызовы API, преобразование дан ных) в Python или bash, позволяя LLM рассуждать в той же среде, на которой она обучалась больше всего. Это позволяет избежать хрупкости схем JSON, которая преследует агентов, использующих вызов функций.
- Изолированная среда выполнения в Docker: каждый агент запускается в отдельном контейнере, поэтому он может свободно выполнять произвольный код без угрозы для хост-машины — это обязательное условие для любого финансового агента в продакшене, которому могут быть доверены реальные учетные данные.
- 15 бенчмарков в одной связке: SWE-Bench Lite (исправление кода), HumanEvalFix (исправление багов), WebArena (веб-навигация), GPQA (рассуждения на уровне выпускника вуза), GAIA (решение общих задач) и еще десять. Совместное размещение предотвращает предвзятость при выборе результатов для оценки.
- 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. В статье не рассматривается вопрос о том, как измерять или повышать устойчивость в условиях зашумленной спецификации задач.
Почему это важно для финансов и ИИ
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.
