Hermes Agent 源码中有个地方很难忽略源码中同时存在两套 Agent Loop。一是 run_agent.py 的AIAgent。一是 agent_loop.py的 HermesAgentLoop。前者代码体量很大后者明显轻得多。深入分析源码就会发现两套 Loop 确实都在做“模型调工具再继续推理”这件事但服务的运行场景完全不同控制逻辑也不是一个量级。先介绍 Agent Loop Hermes 里的 Loop核心就是下面这四步1. 把当前消息发给 LLM 2. LLM 返回文本和可选的 tool calls 3. 如果有工具调用就执行工具并把结果追加回消息列表 4. 如果没有工具调用就认为任务完成退出循环这四步是Agent Loop的基本流程但这四步之外还包很多逻辑。用户交互要处理流式输出、重试、打断、上下文压缩训练 rollout 则关心async、token/logprobs、reward 计算和并发调度。Hermes 没把这些需求硬塞进同一个大循环里而是直接拆成了两套实现Agent Loop1. 面向用户实时交互的 AIAgent2. 面向 RL rollout 的 HermesAgentLoop拆分不是为了拆分而拆分根本是因为两个场景本来就不是同一个问题。1 用于用户交互用于RL训练AIAgent对应的是 CLI、Gateway、Telegram、Discord 这类直接面向人的入口。用户在前台等回复这条链路不是只追求“能跑通”还需要把交互过程本身兜住。源码里能直接看到这类需求留下来的痕迹流式输出、Provider 容错、上下文压缩、用户中断、预算耗尽后的 Grace Call、子 Agent 委派、插件钩子基本都堆在这条路径上。AIAgent 的复杂度不是来自“调模型”这一步而是来自调模型失败以后怎么办、用户半路打断怎么办、上下文塞不下了怎么办。也正因为这样这个循环体才会达到数千行。它已不是一个单纯的推理循环而是一条完整的交互控制链。HermesAgentLoop而完全是另一回事。它不面向用户而是被 Atropos 调起来做 rollout。这里没有人盯着屏幕也不需要跨 Provider 兜底。训练场景真正看重的是另外几件事必须是 async才能并发跑大量 rollout必须拿到真实 token、logprobs、masks供 GRPO 训练使用必须把工具执行和 reward 验证放在同一个 sandbox 上下文里 必须保持循环本身足够轻避免把交互系统里的复杂分支带进训练路径这也是为什么HermesAgentLoop看起来简洁很多的原因。主要是负责把一次 rollout 跑完整并且把训练真正要用的数据带出来。在训练链路HermesAgentLoop关键不在“它也会调工具”而在于它站在一条完整的 RL 数据生产链上。单次 rollout 生命周期dataset item │ ▼format_prompt() │ ▼HermesAgentLoop.run() │ ├─ server.chat_completion / managed generate ├─ parse tool calls ├─ execute tools └─ 产出 AgentResult managed_state │ ▼ToolContext.compute_reward() │ └─ 在同一个 sandbox 中验证结果得到 reward │ ▼ScoredDataItem(tokens, masks, scores) │ ▼GRPO trainer 更新模型2 不合成一个超级 Loop在AIAgent这条路径存在很多逻辑流式处理、空响应恢复、Provider 轮转、上下文压缩这些逻辑对用户交互很重要但对 rollout 来说并无多大作用。AIAgent这套控制流也不适合直接嵌进 Atropos 的异步并发环境训练真正要的managed_state、token 级数据和ToolContext也不是它天然会产出的东西。把HermesAgentLoop拿去服务用户也不现实。它没有流式输出没有那套完整的错误恢复也没有 Grace Call 和子 Agent 委派。跑 benchmark 或 rollout 没问题放到产品入口里就太薄了。从上面的分析也可以看到这两个Loop的业务流程完全不一样强制融合在一起会导致Loop复杂度过高可靠性降低。3 复用的不是循环体是工具调度层Hermes Agent 并没有把两套系统彻底割裂。它复用的是更底层的能力如handle_function_call()这一层的工具调度以及工具结果预算、持久化这些基础设施。复用点不在 Loop 本身而在工具执行链路。这个切分比“有没有统一框架”更重要。Agent 系统里真正容易失控的往往不是某个工具实现而是围绕工具调用长出来的控制流什么时候继续什么时候停错误怎么恢复上下文什么时候压结果怎么进入训练信号。Hermes 的处理方式很直接不同场景用不同的 loop policy能共享的则压到更下面一层去共享。4 写在最后很多时候设计 Agent 架构时天然会想先抽一个“统一循环”。Hermes 这套实现给了一个很实用的反例只要场景的目标函数已经变了循环层通常就不该强行共用。用户交互系统优化的是体验、鲁棒性和可恢复性RL rollout 优化的是吞吐、并发和训练信号精度。它们都叫 Agent Loop但回答的不是同一个工程问题。更稳妥的做法反而是把系统拆成两层上层按场景定义各自的循环控制策略下层复用工具调度、结果存储和共享基础设施Hermes 的双 Loop 结构最有参考价值的地方也在这里它没有执着于“所有能力必须收敛到一个抽象里”接受业务循环层天然会分叉把复用点放在了更合适的位置。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】