OpenHands: AI 소프트웨어 에이전트를 위한 개방형 플랫폼과 금융 자동화에 시사하는 점
저는 TheAgentCompany, InvestorBench 그리고 늘어나는 평가 논문들의 기저를 이루는 스캐폴딩 계층으로 OpenHands를 계속 접해 왔지만, 아직 원본 논문을 읽지는 못했습니다. 이것은 관련 분야가 조용히 구축하고 있는 인프라로서, 그 위에 구축된 개별 벤치마크 결과보다 그것이 실제로 무엇을 제공하고 어디에서 한계를 보이는지 이해하는 것이 더 중요합니다.
논문 개요
OpenHands(Wang et al., 2024; ICLR 2025)는 범용 소프트웨어 개발자 역할을 하는 LLM 에이전트를 구축하고 평가하기 위한 오픈 소스 플랫폼입니다. Xingyao Wang과 Graham Neubig을 필두로 24명의 저자 팀이 참여한 이 논문의 핵심 주장은 기존의 에이전트 프레임워크가 연구 커뮤니티의 공통 기반으로 쓰이기에는 너무 연구 중심적이거나(하드코딩된 작업 루프), 너무 제품 중심적(폐쇄형 소스 또는 단일 목적)이라는 것입니다. OpenHands는 하나의 MIT 라이선스 저장소 아래 표준화된 런타임, 깔끔한 에이전트 추상화, 그리고 15개의 통합 평가 벤치마크를 제공함으로써 이 문제를 해결하고자 합니다.
런타임은 bash 쉘, Jupyter IPython 서버, Playwright로 제어되는 Chromium 브라우저를 포함하는 Docker 샌드박스 환경입니다. 에이전트는 세 가지 주요 행동 유형을 통해 상호 작용합니다: Python용 IPythonRunCellAction, 쉘 명령용 CmdRunAction, 웹 탐색용 BrowserInteractiveAction입니다. 다중 에이전트 협업 기본 단위인 AgentDelegateAction을 사용하면 메인 에이전트가 특화된 하위 에이전트를 생성할 수 있습니다. 기본 백본은 CodeAct로, 이는 원래 코드가 LLM 에이전트를 위한 이상적인 통합 행동 공간이라고 주장하는 별도의 논문으로 발표되었습니다. 플랫폼은 일반적인 CodeActAgent와 특화된 BrowsingAgent를 포함한 여러 에이전트 구현을 함께 제공합니다.
핵심 아이디어
- 보편적 행동 공간으로서의 코드: CodeAct는 파일 수정, API 호출, 데이터 변환과 같은 모든 에이전트 행동을 Python 또는 bash로 통합하여, LLM이 가장 집중적으로 훈련된 매체와 동일한 방식으로 추론할 수 있게 합니다. 이는 함수 호출(function-calling) 에이전트를 괴롭히는 취약한 JSON 스키마 문제를 우회합니다.
- 샌드박스화된 Docker 런타임: 모든 에이전트는 격리된 컨테이너에서 실행되므로, 에이전트가 호스트 머신을 위험에 빠뜨리지 않고 임의의 코드를 자유롭게 실행할 수 있습니다. 이는 실제 자격 증명이 주어질 수 있는 상용 금융 에이전트의 필수 전제 조건입니다.
- 하나의 하네스에 담긴 15개 벤치마크: SWE-Bench Lite(코드 수정), HumanEvalFix(버그 수정), WebArena(웹 탐색), GPQA(대학원 수준 추론), GAIA(일반 작업 해결) 등 15개 벤치마크가 포함되어 있습니다. 이를 한곳에 모아두면 유리한 결과만 선택해서 평가하는 것을 방지할 수 있습니다.
- 성능 지표: CodeActAgent + claude-3.5-sonnet 조합은 SWE-Bench Lite에서 26%, HumanEvalFix에서 79.3%를 달성했습니다. BrowsingAgent는 WebArena에서 15.5%를 기록하며 특정 작업에 대한 별도 훈련 없이도 경쟁력 있는 제로샷 성능을 보여주었습니다.
- GAIA 성능: GPTSwarm을 사용해 32.1%를 기록했는데, 이는 인간 기준선인 92%를 훨씬 밑도는 수치입니다. 이는 인간과 에이전트 사이에 60~70점의 격차가 있음을 보여주는 다른 일반 에이전트 벤치마크들과 일치하는 결과입니다.
- 커뮤니티 규모: ICLR 제출 당시 GitHub 스타 71.4K 개와 188명 이상의 기여자를 확보했습니다. TheAgentCompany가 OpenHands를 평가 하네스로 채택하면서 사실상 벤치마크 인프라로서의 지위를 얻었습니다.
장점과 한계
샌드박스화된 런타임 설계는 견고한 엔지니어링 결과물입 니다. Docker에서 에이전트 실행을 격리하는 것은 나중에 실제 금융 원장에 대한 쓰기 권한이 부여될 수 있는 모든 시스템의 올바른 기본 설정입니다. 또한 벤치마크들이 호환되지 않는 여러 저장소에 흩어져 있지 않고 한데 모여 있다는 점은 매우 유용합니다.
그러나 벤치마크 범위는 체계적이라기보다는 의욕이 앞선 측면이 있습니다. 15개의 벤치마크는 결과가 어떻게 집계되거나 비교되어야 하는지에 대한 명확한 프레임워크 없이 서로 완전히 다른 작업 유형과 난이도를 포괄합니다. 동일한 논문에서 SWE-Bench Lite의 26%와 HumanEvalFix의 79.3%를 함께 보고하는 것은, 같은 에이전트가 동시에 평범하면서도 뛰어나다는 인상을 줄 위험이 있습니다. 작업 자체가 단순히 비교 불가능하기 때문입니다. 저자들은 원칙에 입각한 다중 벤치마크 통합 방법론을 제공하지 않습니다.
코드가 올바른 보편적 행동 형식이라는 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) — 34개 금융 시나리오에 걸친 800개의 전문가 주석 작업 시퀀스를 제공합니다. OpenHands가 금융 특화 장기 도구 사용에 대해 갖추지 못한 평가 방법론을 제시합니다.
- FinMCP-Bench: Benchmarking LLM Agents for Real-World Financial Tool Use under the Model Context Protocol (arXiv:2603.24943) — 65개의 실제 MCP 금융 도구에 걸친 613개 샘플을 다룹니다. OpenHands 런타임 기반으로 구축된 Beancount 에이전트가 실제 MCP 배포 환경에서 어떻게 평가될지와 직접적인 관련이 있습니다.
