2026 年上半年,开源 AI Agent 框架从 PoC 进入工程化阶段,两条路线正在分化:以 Hermes Agent 为代表的自治型 Agent 运行时追求跨会话自我改进、平台无关部署和 RL 训练闭环 [NousResearch-hermes-agent];以 OpenAI Agents SDK 为代表的声明式编排框架聚焦多 Agent 协作、安全护栏、可中断恢复和沙箱隔离 [openai-openai-agents-python]。两者都将 MCP 视为工具集成的一等公民,但在自治程度、状态管理和 Provider 绑定策略上做出了对称相反的选择。
| 维度 | 描述 | 取值范围 |
|---|---|---|
| A: 自治程度 | Agent 在无人工干预下的自主进化能力 | 高自治(闭环学习)/ 低自治(声明式编排) |
| B: 架构风格 | 核心代码的组织方式 | 单体内聚 / 模块化解耦 |
| C: Provider 绑定 | 对特定 LLM Provider 的依赖程度 | 模型无关 / Provider-First |
| 项目 | A: 自治程度 | B: 架构风格 | C: Provider 绑定 |
|---|---|---|---|
| Hermes Agent | 高自治:Skill 自动创建/patch + 持久记忆 + 用户建模 [NousResearch-hermes-agent] | 单体内聚:run_agent.py 10K 行,传输/编排/恢复耦合 [NousResearch-hermes-agent] | 模型无关:200+ 模型,api_mode 分支适配 OpenAI/Anthropic/Codex [NousResearch-hermes-agent] |
| OpenAI Agents SDK | 低自治:声明式定义 + Guardrails 约束 + HitL 中断 [openai-openai-agents-python] | 模块化解耦:agent.py / run.py / run_state.py / tool.py 独立模块,mypy strict [openai-openai-agents-python] | Provider-First:内部格式绑定 OpenAI Responses API,LiteLLM 作为 extension [openai-openai-agents-python] |
| A × B × C 组合 | 现有覆盖 | 空位状态 |
|---|---|---|
| 高自治 × 模块化 × 模型无关 | 无 | 技术可行——将 Hermes 的闭环学习移植到模块化架构上 |
| 低自治 × 单体 × Provider-First | 无 | 价值不大——单体+绑定 Provider 的编排框架缺乏差异化 |
| 高自治 × 模块化 × Provider-First | 无 | 有空间——OpenAI 可以给 Agents SDK 加学习闭环 |
| 低自治 × 模块化 × 模型无关 | 无(接近 LangChain 等但不在 scope 内) | 已被社区框架部分覆盖 |
2025 年的 Agent 框架主要解决「如何调用 LLM + 工具」;2026 年的竞争焦点已转向更高层的系统性问题——持久化、学习、安全、多 Agent 协作、跨平台部署。两个 scope 内项目代表了这一转折的两条具体路径。
Hermes Agent 的核心命题是跨会话知识积累:Agent 完成复杂任务后自动创建 Skill(YAML+Markdown),后续使用中发现不足会自动 patch 改进 [NousResearch-hermes-agent]。MEMORY.md/USER.md 实现持久记忆与用户建模,将 Agent 从「一次性执行器」变为「随时间变好的助理」[NousResearch-hermes-agent]。配合 Atropos RL 环境和轨迹生成管线,形成从运行时经验到模型训练的完整数据闭环 [NousResearch-hermes-agent]。
多平台接入(Gateway + BasePlatformAdapter,覆盖 Telegram/Discord/Slack/WhatsApp/飞书/钉钉等 20+ 平台)是此路线的差异化部署策略 [NousResearch-hermes-agent]。
OpenAI Agents SDK 走声明式路线:用 @dataclass 定义 Agent 的指令、工具、护栏和委托关系,由 Runner 自动执行 turn loop [openai-openai-agents-python]。Handoff 机制允许 Agent 间委托并继承完整对话历史,与 Agent-as-Tool(子任务调用、原 Agent 保持控制权)形成互补 [openai-openai-agents-python]。
安全层面,Guardrails 与模型执行并行运行不增加延迟;RunState 可序列化支持 human-in-the-loop 中断恢复 [openai-openai-agents-python]。v0.14 的 Sandbox 系统(Docker/E2B/Modal/Cloudflare 等 7+ 后端)提供隔离执行环境 [openai-openai-agents-python]。
Hermes 内置 40+ 工具,采用双路径执行(registry.dispatch + _invoke_tool),MCP 双向集成(既是客户端也是服务端)[NousResearch-hermes-agent]。OpenAI SDK 的工具系统更结构化:12 种 Tool 子类型统一通过 tool_execution.py + asyncio.gather() 并行执行,MCP 原生集成且运行时自动发现 [openai-openai-agents-python]。
| 维度 | Hermes Agent | OpenAI Agents SDK |
|---|---|---|
| 定位 | 自治型 Agent 运行时 | 声明式多 Agent 编排框架 |
| 核心 LOC | ~400K (Python) [NousResearch-hermes-agent] | ~87K src / ~245K total (Python) [openai-openai-agents-python] |
| 测试 LOC | 未报告 | ~158K (~1.8x 源码) [openai-openai-agents-python] |
| 类型安全 | Dict 为主,缺乏类型注解 [NousResearch-hermes-agent] | dataclass + Generic[TContext],mypy strict + pyright [openai-openai-agents-python] |
| 模型支持数 | 200+ (OpenAI/Anthropic/OpenRouter) [NousResearch-hermes-agent] | 100+ (OpenAI 原生 + LiteLLM/any-llm extension) [openai-openai-agents-python] |
| 内置工具数 | 40+ [NousResearch-hermes-agent] | 12 种 Tool 子类型 [openai-openai-agents-python] |
| 多 Agent | 子代理委托 [NousResearch-hermes-agent] | Handoff + Agent-as-Tool [openai-openai-agents-python] |
| 安全护栏 | 无形式化护栏 | InputGuardrail + OutputGuardrail,tripwire 机制 [openai-openai-agents-python] |
| 自我改进 | Skill 自动创建/patch + 持久记忆 [NousResearch-hermes-agent] | 无 |
| 会话持久化 | JSONL + SQLite FTS5 [NousResearch-hermes-agent] | SQLite / OpenAI Conversations / Redis / SQLAlchemy / Dapr [openai-openai-agents-python] |
| 中断恢复 | 无 HitL 机制 | RunState 序列化 + 人工审批 [openai-openai-agents-python] |
| 沙箱执行 | 无 | Docker / E2B / Modal / Cloudflare 等 7+ 后端 [openai-openai-agents-python] |
| MCP 集成 | 双向(客户端+服务端)[NousResearch-hermes-agent] | 单向(客户端),hosted + local [openai-openai-agents-python] |
| 多平台接入 | 20+ 平台(Telegram/Discord/Slack/飞书等)[NousResearch-hermes-agent] | 无内置网关 |
| 实时语音 | 无 | WebSocket + gpt-realtime-1.5 [openai-openai-agents-python] |
| 追踪系统 | 组件级日志 [NousResearch-hermes-agent] | 内建 Trace → Span 层级结构 → OpenAI Dashboard [openai-openai-agents-python] |
| RL 训练管线 | Atropos RL + 轨迹生成/压缩 [NousResearch-hermes-agent] | 无 |
| 并发模型 | 单线程 Agent + ThreadPoolExecutor(8) 工具并行 [NousResearch-hermes-agent] | asyncio 全栈 + asyncio.gather() 工具并行 [openai-openai-agents-python] |
| 代码开源 | 开源 (MIT) [NousResearch-hermes-agent] | 开源 (MIT) [openai-openai-agents-python] |
| 可复现性 | 复现(需自备 LLM API key)[NousResearch-hermes-agent] | 复现(需自备 LLM API key)[openai-openai-agents-python] |
| 项目 | Strengths | Weaknesses | Best-for Scenario |
|---|---|---|---|
| Hermes Agent | (1) 闭环学习:Skill 自动创建/patch 实现跨会话进化 [NousResearch-hermes-agent];(2) 平台覆盖:20+ 平台统一网关 [NousResearch-hermes-agent];(3) RL 管线:Atropos 轨迹生成为模型训练提供数据闭环 [NousResearch-hermes-agent];(4) MCP 双向集成 [NousResearch-hermes-agent] | (1) 单文件 10K 行,可维护性差 [NousResearch-hermes-agent];(2) 缺乏类型系统,Dict 传递核心数据 [NousResearch-hermes-agent];(3) 工具执行双路径有逻辑重复 [NousResearch-hermes-agent];(4) 无安全护栏和 HitL 机制 | 需要 7×24 多平台运行、随时间自我改进的个人 AI 助理;需要 RL 训练数据生成的研究团队 |
| OpenAI Agents SDK | (1) 声明式 API:dataclass 定义 Agent 极简 [openai-openai-agents-python];(2) 安全层完善:Guardrails + HitL + Sandbox [openai-openai-agents-python];(3) 工程质量高:158K LOC 测试 + mypy strict [openai-openai-agents-python];(4) 生态丰富:7 种 Sandbox 后端 + 5 种 Session 后端 [openai-openai-agents-python] | (1) 深度绑定 OpenAI Responses API 格式 [openai-openai-agents-python];(2) run_state.py 3304 行状态序列化过于集中 [openai-openai-agents-python];(3) 无学习闭环,不能从经验中改进 ;(4) Runner turn loop 不易扩展 [openai-openai-agents-python] | 需要多 Agent 协作 + 安全护栏的企业应用;以 OpenAI 为主力 LLM 的生产系统;需要 HitL 审批流程的合规场景 |
Hermes Agent 追求高度自治——Skill 自动创建与 patch、记忆自动积累、子代理自动委托 [NousResearch-hermes-agent]。这带来「随时间变好」的体验,但行为不完全可预测,且无法在关键步骤前暂停等待人工确认。
OpenAI Agents SDK 偏向可控性——Guardrails 可在输入/输出层面 tripwire 阻断,HitL 可在工具调用前暂停,RunState 序列化使任何步骤可中断和恢复 [openai-openai-agents-python]。代价是 Agent 不会从经验中进化,每次运行都是「无状态」的。
量化参照:Hermes 的 IterationBudget 是唯一的自治约束(限制单次对话最大迭代轮数)[NousResearch-hermes-agent];OpenAI SDK 有 max_turns + Guardrail tripwire + needs_approval 三层控制 [openai-openai-agents-python]。
Hermes 的 run_agent.py(~10,500 行)将传输层、业务编排、错误恢复耦合在一起。优势:错误恢复链完整(错误分类→credential pool 轮换→fallback provider→jittered backoff→stale stream 检测→可中断重试)[NousResearch-hermes-agent]。劣势:难以独立测试和修改 [NousResearch-hermes-agent]。
OpenAI SDK 模块化设计,最大单文件 run_state.py 3304 行 [openai-openai-agents-python]。优势:测试代码 ~1.8x 源码、mypy strict [openai-openai-agents-python]。劣势:extensions 目录膨胀(7 sandbox + 5 session + 2 LLM),复杂度从代码转移到了生态管理 [openai-openai-agents-python]。
Hermes 的 200+ 模型支持通过 api_mode 分支在 Agent 循环内适配 OpenAI/Anthropic/Codex [NousResearch-hermes-agent]。代价:多 Provider 适配逻辑膨胀了核心文件。
OpenAI SDK 内部统一为 Responses API 格式,其他 Provider 通过 chatcmpl_converter.py 转换 [openai-openai-agents-python]。代价:非 OpenAI 场景存在格式来回转换的开销和 feature parity 差距。
Hermes Agent 大量使用 Dict 传递核心数据(messages、result、api_kwargs),无类型检查 [NousResearch-hermes-agent]。OpenAI Agents SDK 以 @dataclass + Generic[TContext] 为基础,配合 mypy strict + pyright [openai-openai-agents-python]。
矛盾根源:项目成熟度和开发节奏不同。Hermes 从 OpenClaw fork 后快速迭代到 v0.8.0(8 个大版本),优先功能交付而非类型安全 [NousResearch-hermes-agent]。OpenAI SDK 是一家商业公司的公开产品,从立项即按生产标准设计(158K LOC 测试代码 / 87K 源码 = ~1.8x 覆盖)[openai-openai-agents-python]。两者的取舍在各自约束下都是合理的,但在 ~400K 行规模下 Dict 的灵活性已经变成维护负担。
Hermes 的工具执行存在 registry.dispatch(普通工具)和 _invoke_tool(有状态工具)两条并行路径,逻辑有重复 [NousResearch-hermes-agent]。OpenAI SDK 虽然工具类型更多(12 种),但通过统一的 tool_execution.py 执行 [openai-openai-agents-python]。
矛盾根源:有状态工具(需要访问 Agent 内部的 TodoStore、SessionDB 等)与无状态工具(纯函数)的边界问题。Hermes 选择了在 Agent 循环内直接处理有状态工具来避免向 registry 传递 Agent 内部状态 [NousResearch-hermes-agent];OpenAI SDK 通过 RunContextWrapper[TContext] 泛型将上下文注入工具函数,实现了架构统一但增加了泛型复杂度 [openai-openai-agents-python]。
Hermes 使用单线程 Agent 循环 + ThreadPoolExecutor(最多 8 worker)工具并行 [NousResearch-hermes-agent]。OpenAI SDK 全栈 asyncio + asyncio.gather() [openai-openai-agents-python]。
矛盾根源:Hermes 的 Gateway 系统需要同时支持 python-telegram-bot(asyncio)和 discord.py(asyncio)等不同的异步框架,在 Agent 核心用线程+同步避免了 event loop 冲突;AIAgent 本身不是线程安全的,通过 _active_conversations 锁排队 [NousResearch-hermes-agent]。OpenAI SDK 不需要管多平台兼容,asyncio 全栈更自然、更高效。
基于 Taxonomy 三维度和两项目覆盖情况,以下是技术可行但无人做的空白:
| Gap | 描述 | 技术可行性论据 |
|---|---|---|
| 自我改进 + 安全护栏融合 | Hermes 有学习闭环但无形式化护栏 [NousResearch-hermes-agent],OpenAI SDK 有护栏但无学习闭环。将 Skill 自动创建/patch 过程置于 Guardrail 约束下(如:Skill 变更需过 output guardrail 审核)是技术上直接的组合 | Guardrail 检查函数可以审核 Skill 内容是否引入不安全操作 |
| MCP 双向 + Sandbox 隔离 | Hermes 的 MCP 服务端模式(暴露给 Cursor/Claude Code)[NousResearch-hermes-agent] 与 OpenAI SDK 的 Sandbox 系统 [openai-openai-agents-python] 未被组合——一个在 Sandbox 中运行的 Agent 同时作为 MCP 服务端暴露给外部 | MCP 是 stdio/SSE 协议,Sandbox 可以转发端口或 stdio |
| 高自治 × 模块化架构 | Hermes 的闭环学习绑定在单体内聚架构中 [NousResearch-hermes-agent]。将 Skill 系统、Memory 系统、RL 管线作为独立可插拔模块实现,可以让其他框架复用 | Hermes 的 Skill 已经是文件系统存储的独立实体,解耦技术障碍不大 |
| 结构化追踪 + 自我改进反馈 | OpenAI SDK 的 Trace → Span 结构化追踪数据 [openai-openai-agents-python] 可以作为 Skill 改进的信号源(如:某个 Skill 调用总是出现 error span → 自动触发 patch),但无人做此融合 | Trace 数据已有结构化格式,Skill patch 只需文件写入 |
| 跨框架 Agent 互操作 | Hermes 的 MCP 双向集成 + ACP 适配器 [NousResearch-hermes-agent] 和 OpenAI SDK 的 MCP 一等公民 [openai-openai-agents-python] 暗示了互操作可能,但无项目真正实现跨框架 Agent 委托(如 OpenAI SDK 的 Handoff 目标是 Hermes Agent 实例) | MCP 协议已标准化,ACP 正在标准化 |
| 场景 | 推荐 | 理由 |
|---|---|---|
| 7×24 多平台个人助理(从 Telegram/Discord/飞书等随时操控) | Hermes Agent | 唯一内置 20+ 平台统一网关的开源方案;从 5 美元 VPS 即可运行;持久记忆和用户建模让 Agent 越用越好 [NousResearch-hermes-agent] |
| 企业级多 Agent 系统(需安全护栏 + 审批流程 + 可观测性) | OpenAI Agents SDK | Guardrails tripwire 阻断不安全行为;HitL 中断恢复满足合规需求;内建 Tracing → OpenAI Dashboard 提供结构化可观测性 [openai-openai-agents-python] |
| 以 OpenAI 为主力 LLM 的生产应用 | OpenAI Agents SDK | OpenAI-First 设计获得最佳 feature parity 和最低转换开销;Responses API 原生支持 [openai-openai-agents-python] |
| 多 Provider 模型切换(需在 OpenAI/Anthropic/开源模型间灵活切换) | Hermes Agent | 从设计之初模型无关,200+ 模型开箱可用,smart routing 内置 [NousResearch-hermes-agent] |
| RL 训练数据生成(需要 Agent 轨迹用于训练工具调用模型) | Hermes Agent | Atropos RL 环境 + batch_runner.py 批量轨迹生成 + trajectory_compressor.py 离线压缩,是目前唯一内置 RL 闭环的开源 Agent 框架 [NousResearch-hermes-agent] |
| 沙箱隔离执行(Agent 需在容器中安全运行代码) | OpenAI Agents SDK | v0.14 Sandbox 系统支持 Docker/E2B/Modal/Cloudflare 等 7+ 后端,Capabilities 插件化(Shell/Filesystem/Patch)[openai-openai-agents-python] |
| 需要 HitL 审批的关键操作 | OpenAI Agents SDK | RunState 可序列化 → 工具调用前暂停 → 人工审批 → 恢复执行,这是生产级 HitL 方案 [openai-openai-agents-python] |
| ID | 标题 | 类型 | 关键贡献 | L2 链接 |
|---|---|---|---|---|
| NousResearch-hermes-agent | Hermes Agent: Self-Improving AI Agent with Closed Learning Loop | code (开源项目) | 自我改进闭环(Skill 创建/patch)、20+ 平台网关、MCP 双向集成、Atropos RL 训练管线 | [ref:NousResearch-hermes-agent] |
| openai-openai-agents-python | OpenAI Agents SDK: Lightweight Multi-Agent Workflow Framework | code (开源项目) | 声明式多 Agent 编排、Guardrails + HitL 中断恢复、Sandbox 执行、结构化 Tracing | [ref:openai-openai-agents-python] |