Hermes 与 ReAct 模式对比分析_1

发布时间:2026/8/11 2:24:48
Hermes 与 ReAct 模式对比分析_1 Hermes 与 ReAct 模式对比分析结论先行Hermes 不完全是经典 ReAct 模式而是一个基于 Function Calling 的 Tool-Use Loop但它和 ReAct 有深层对应关系。一、经典 ReAct 模式ReAct 的核心是文本驱动的三段式循环Thought: 我需要查找北京的天气 Action: search(北京天气) Observation: 北京今天晴32°C Thought: 找到了可以回答用户 Answer: 北京今天晴天32°C关键特征Thought / Action / Observation 都是文本模型在同一个文本输出流中交替产出Action 是自由文本需要外部解析器正则/JSON提取动作和参数Observation 由外部注入到下一段文本上下文中单线程一次只能执行一个动作二、Hermes 的实际模式Tool-Use LoopHermes 使用的是原生 Function Calling工具调用驱动的循环模型输出 → 有 tool_calls ├── Yes → 执行工具 → tool_result 追加到 messages → 继续 API 调用 └── No → 纯文本 → 作为最终响应 → 退出循环三、核心差异对比维度经典 ReActHermes Tool-Use Loop推理表达Thought 文本段与 Action 在同一输出流推理在thinking/reasoning_content或正文内与工具调用分离动作表达自由文本Action: xxx需正则解析原生tool_calls结构化对象name JSON argsAPI 直接解析Observation文本拼接回上下文role: tool的结构化消息带tool_call_id关联动作可靠性依赖模型格式遵守 外部解析API 层面强约束JSON schema 校验、参数校验、工具名白名单并行执行不支持一次一个 Action支持——同一轮多个 tool_calls 可并行 ThreadPoolExecutor循环终止模型输出不含 Action → 结束finish_reasonstop且无tool_calls→ 结束子任务委派不支持delegate_task创建子 Agent独立 budget 并行执行四、Hermes 如何融入 ReAct 的思想Hermes 虽然在执行层面不是 ReAct但在提示层和推理层借鉴了 ReAct 的核心理念。4.1 推理与行动的分离ReAct 的灵魂Hermes 支持多种推理机制本质上就是 ReAct 中 “Thought” 的结构化版本推理机制说明REASONING_SCRATCHPAD模型在行动前先写推理过程reasoning_content/reasoning_detailsAPI 原生推理字段如 OpenRouter 的 extended thinkingthinking标签各种模型变体的推理标记代码中专门处理了 “reasoning-only” 响应——模型只产出了推理但没有可见文本时会 prefill 继续让模型补全实际响应。4.2 Tool-Use Enforcement强制行动代替空谈TOOL_USE_ENFORCEMENT_GUIDANCE本质上就是 ReAct 的 “必须 Act 不能光想”“You MUST use your tools to take action — do not describe what you would do or plan to do without actually doing it.”4.3 思考-行动-观察的循环结构while loop: 模型推理 (Thought) → 工具调用 (Action) → 工具结果 (Observation) → 继续这个循环结构本身和 ReAct 是同构的只是每个环节的实现方式更结构化。五、总结构图Hermes ReAct 的思想 Function Calling 的工程实现 并行 委派 ReAct 思想层 Function Calling 工程层 ────────── ────────────────── Thought → reasoning/scratchpad → API 原生 reasoning 字段 Action → tool_calls → 结构化 JSON schema 校验 Observation → tool result message → role: tool tool_call_id 单线程 → 一次一个 Action → 多 tool_calls 并行执行 无委派 → 不支持 → delegate_task 子 Agent一句话总结Hermes 是 ReAct 思想在 Function Calling 时代的工程化演进——推理和行动的循环逻辑不变但把自由文本协议升级成了结构化 API 协议并加入了并行执行、子任务委派、多层容错等能力。