Перейти до основного вмісту

OpenHands: Відкрита платформа для програмних агентів ШІ та що вона означає для автоматизації фінансів

· 6 хв. читання
Mike Thrift
Mike Thrift
Marketing Manager

Я постійно натрапляю на OpenHands як на базовий шар під TheAgentCompany, InvestorBench та зростаючим списком дослідницьких робіт з оцінювання — проте я ще не читав основну статтю. Це інфраструктура, на якій тихо будується решта галузі, тому розуміння того, що вона насправді надає і де її недоліки, важить більше, ніж будь-який окремий результат бенчмарка, побудований на її основі.

Стаття

2026-06-30-openhands-open-platform-ai-software-developers-generalist-agents

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.