Agent Infrastructure 论文笔记:OpenHands 与 OpenManus
阅读难度:★★☆☆☆ | 预计阅读时间:12 分钟
来源:OpenHands (arXiv 2407.16741) | OpenManus(开源框架,2025)
总体背景:为什么 Agent Infrastructure 是关键壁垒?
阶段2学习计划中的判断:"Agent 时代最大的壁垒不是模型,而是 Runtime"
原因:
- 模型能力强了,但如何让 Agent 安全、可靠地与真实世界交互?
- 如何在沙箱中执行代码、浏览网页、管理文件?
- 如何让多个 Agent 协作而不互相冲突?
- 如何评估 Agent 的能力是否真正提升?
这些问题不是模型层面能解决的,需要专门的 Infrastructure。
OpenHands(原 OpenDevin):SWE-Agent 的开源 Runtime 平台
"An Open Platform for AI Software Developers as Generalist Agents"
一句话总结
OpenHands 本质上是在解决 AI Agent 没有安全、标准化的"工作环境" 的问题——提供一个 Docker 沙箱 + 事件流架构,让 Agent 能像真实开发者一样工作:写代码、执行命令、浏览网页。
核心架构:四层设计
┌─────────────────────────────────────────────┐
│ 用户界面 / API │
└───────────────────┬─────────────────────────┘
│ 事件
┌───────────────────▼─────────────────────────┐
│ Agent(大脑) │
│ step(state) → action │
│ 支持 CodeActAgent / BrowsingAgent 等多种实现 │
└───────────────────┬─────────────────────────┘
│ Action → Observation
┌───────────────────▼─────────────────────────┐
│ Agent Runtime(执行层) │
│ Docker 沙箱 + 三种执行能力: │
│ - Bash Shell(命令执行) │
│ - Jupyter IPython(Python 代码执行) │
│ - Chromium Browser(网页交互) │
└───────────────────┬─────────────────────────┘
│ AgentSkills
┌───────────────────▼─────────────────────────┐
│ AgentSkills 工具库 │
│ 文件编辑、PDF解析、图片理解等标准化工具 │
└─────────────────────────────────────────────┘
关键设计:事件流(Event Stream)
OpenHands 的核心通信机制:所有交互(用户指令、Agent 动作、环境观测、错误信息)都作为事件追加到一条时序流中。
好处:
- Agent 的完整决策轨迹可追溯
- 多 Agent 协作时,任何 Agent 都能访问完整历史
- 与 RL 训练天然兼容——事件流就是 Trajectory
State = Event Stream + 辅助信息(成本统计、多 Agent 元数据等)
关键设计:CodeAct 行动空间
与传统 JSON Function Calling 不同,OpenHands 让 Agent 用代码表达行动:
# Agent 生成的行动示例(不是 JSON,是可执行 Python/Bash)
execute_bash("git clone https://github.com/...")
edit_file("src/utils.py", start_line=42, end_line=50, content="new code")
browser_navigate("https://docs.python.org")
为什么代码比 JSON 函数调用更好?
- 任何工具都能用代码调用,不需要为每个工具写 schema
- Agent 可以自己写新工具(Python 函数)并立即使用
- 组合逻辑(循环、条件)自然表达,不需要特殊设计
关键设计:Docker 沙箱安全隔离
每个任务会话启动独立的 Docker 容器:
- Agent 的代码在沙箱里执行,不影响宿主系统
- 支持任意 Docker 镜像,可按需配置环境
- 任务完成后容器销毁,无残留
多 Agent 委托(Agent Delegation)
CodeActAgent(通用)
↓ AgentDelegateAction
BrowsingAgent(网页专家)
↓ AgentDelegateAction
FileEditAgent(代码编辑专家)
主 Agent 可以把子任务委托给专业子 Agent,形成 Hierarchy。这正是 Claude Code、OpenAI Deep Research 中 Parallel Subagent 的基础设施原型。
评估数据
- SWE-Bench Verified:72% 解决率(使用 Claude Sonnet 4.5 + Extended Thinking)
- GAIA (val set):有竞争力的表现
- 15 个基准测试,涵盖软件工程 + 网页浏览 + 通用任务
GitHub 数据:32K Star,188+ 贡献者
OpenManus:Manus 的开源实现
注:OpenManus 没有正式学术论文,是 MetaGPT 团队开源的 Manus 替代实现,2025 年 3 月发布
背景:Manus 的出现
2025 年初,Manus(由 Monica.im 团队开发)演示了完全自主的 Agent 能力:
- 给定一个任务目标,自主规划、搜索、写代码、执行
- 不需要用户每步确认
- 真正的"端到端自动化"
引发了 AGI 时代到来的广泛讨论。
OpenManus 的设计思路
OpenManus 是 Manus 的开源复现,基于 MetaGPT 生态,核心设计:
工具箱(Toolbox):
- 浏览器操控(类似 OpenHands 的 BrowserInteractiveAction)
- 代码执行(Python/Bash 沙箱)
- 文件操作
- 网络搜索
规划层(Planner):
- ReAct 风格的 Think → Act → Observe 循环
- 支持长周期多步骤任务
与 OpenHands 的区别:
| 维度 | OpenHands | OpenManus |
|---|---|---|
| 定位 | SWE 专项(软件工程) | 通用 Agent(任何任务) |
| 沙箱 | Docker 强隔离 | 相对轻量级 |
| 多 Agent | AgentDelegation | 基于 MetaGPT 的 Multi-Agent |
| 社区 | 学术+工业 2.1K 贡献者 | MetaGPT 生态 |
| 评估 | 15 个标准 Benchmark | 通用任务演示 |
Agent Infrastructure 的核心价值总结
模型(Claude / GPT-4 / Qwen)
↓ 能力输入
Agent Infrastructure(OpenHands / OpenManus / OpenClaw)
↓ 提供
安全执行环境 + 标准化行动空间 + 评估框架
↓ 支撑
实际 Agent 产品(Claude Code / Manus / Deep Research)
三大关键组件:
- 沙箱(Sandbox):安全隔离,防止 Agent 误操作宿主系统
- 行动空间(Action Space):标准化 Agent 能做什么(代码执行 > JSON 函数调用)
- 评估框架(Evaluation):衡量 Agent 能力进步(SWE-Bench / GAIA / WebArena)
对 RL / RLE 的意义
OpenHands 的架构本质上就是一个 RL Environment:
- State:Event Stream(所有历史行动和观测)
- Action:CodeAct(代码/命令/浏览器操作)
- Reward:任务是否完成(由 SWE-Bench 等 Benchmark 评估)
- Environment:Docker 沙箱
这使得 OpenHands 可以直接用于 RL 训练:让模型在真实软件工程任务上执行、获得反馈、迭代优化。这正是 SWE-Agent RL 训练的标准设施。