拓冰建站拓冰建站
首页 / 资讯中心 / 正文

Hermes Agent 实战拆解:一个 while 循环撑起多轮工具调用循环

Hermes Agent 实战拆解一个 while 循环撑起多轮工具调用循环【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agentHermes Agent 是一个自改进的 AI 代理框架可以接入 OpenAI、Anthropic 等任意后端让它靠多轮工具循环自主完成任务。读完这篇文章你能独立判断它的主循环每一轮怎么推进出问题时该去哪里打断点。为什么自己写多轮工具调用总跑不通想自己跑一个 agent第一关就会卡住怎么判断模型说完了没有。while 循环要自己写工具结果要自己塞回消息数组系统提示要自己拼历史超没超上下文窗口要自己盯参数解析错了、单个工具超时了还要自己兜底。哪一环没处理循环就会死转或者中途断掉。Hermes Agent 把这堆判断收进了 agent/conversation_loop.py 的主循环模型每回一次话它就检查对方还想不想调工具想就执行、回填再问不想就收尾返回。 指挥、账本、场工Hermes Agent 工具调用循环里的三个角色负责指挥的agent/conversation_loop.py 中的run_conversation决定该不该再问一次模型。响应一到它先判断还有没有工具调用判断继续才进下一轮。负责记账的agent/turn_finalizer.py 的finalize_turn在循环结束后关账最终回复、调用次数、是否被中断全落在同一个结果容器里用量统计和轨迹导出都从这里取数。负责跑场工的agent/tool_executor.py 把一次响应里的多个工具调用按批次收下临时起一个线程池池子大小跟着批次走。慢的拖不垮快的出错也只写回那一个工具自己的结果位。⏱️ 把时间轴拉开按下回车后的 5 个节点假设你按下了回车接下来发生的事按这条时间轴展开预检刷新凭证、重写系统提示上下文逼近上限就先压缩。随后由assemble_api_request组装出第一次请求。模型答复想调 terminal。循环先把这条 assistant 消息写进历史再核对工具名是否启用、解析参数。参数交给临时线程池执行工具吐出的 stdout 被包成一条 tool 消息落回历史。要不要再问一次看两道闸门调用次数没到agent.max_iterations迭代预算agent.iteration_budget还有余量。触顶就当场停下明说预算用尽不会把任务后一半咽下去。模型不再调工具、直接给文本时finalize_turn关账回复和历史一起落库。三类场景值得用一种情况建议绕开适合长任务自动化cron 任务用自然语言描述结果自动投到 Telegram 等平台。本地开发搭档读写文件、执行命令配合容器后端隔离风险。研究工具循环怎么写每一轮都有源码可读打断点没有黑盒。不适合只做一次性问答用不着这套机器。强依赖图形界面它的主战场在终端和消息平台。跑起来的最短路径Hermes Agent 工具循环一次跑通拿到代码git clone https://gitcode.com/GitHub_Trending/he/hermes-agent一次跑完向导hermes setup把模型后端、工具开关、配置一并配齐。确认后端hermes model切换供应商不用动代码。先自检一遍hermes doctor确认环境没问题。进终端hermes丢一句列出当前目录结构。做完这步你应该看到文件工具的名字和它的输出逐条刷出来这正是前面主循环的真实过程。一个指挥、一本账、一群场工这三样看懂了Hermes Agent 剩下的模块都挂在这条主线上。接着可以去看 cron 调度与 gateway 投递了解它怎么在没人盯着时继续干活。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门