Hermes Agent 工具调用循环:3 个模块看懂它怎么跑起来

Hermes Agent 工具调用循环:3 个模块看懂它怎么跑起来 Hermes Agent 工具调用循环3 个模块看懂它怎么跑起来【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agentHermes Agent 是一个会自己调用工具完成任务的 AI 代理框架。这篇带你读懂 Hermes Agent 工具调用循环的 3 个核心模块和一次执行的 6 个步骤读完你能自己判断它为什么多跑了几轮、下次该往哪调。多轮工具调用为什么会断在半路你让 AI把仓库里的 TODO 整理成清单普通聊天机器人会回你一段可以用 grep 找一下的建议然后结束。问题在于这件事每一步都依赖上一步的输出模型要看到搜索结果才能决定读哪个文件读到什么才能决定下一步做什么。所以要有人把发请求 → 执行工具 → 把结果喂回去 → 再发请求这个循环转起来并且扛住工具报错、上下文膨胀、轮数超限这些状况。自己写这个循环意味着要自己拼提示词、解析工具调用、管理消息历史Hermes Agent 把这套东西封装成了一次对话你只管发任务。工具调用循环的 3 个核心模块各管什么conversation_loop.py 里的run_conversation管什么时候该再问一次模型把消息历史、系统提示、工具定义打包成一次请求拿到响应后判断要不要执行工具。它出问题整轮对话直接停摆。turn_finalizer.py 里的finalize_turn管收尾循环退出后它把最终回复、完整历史、API 调用次数、是否被中断装进一个结果字典顺手做轨迹导出和会话落库。想排查它为什么多跑了几轮就从这里取数。tool_executor.py 管工具的真正执行模型一次响应可能带多个工具调用它按批次派进一个临时线程池池子大小随批内工具数量调整。这像调度台同时分票每张工单各有一个工人慢工具不堵别人出错也只把错误文本写回该工具的结果位循环本身不崩。一条消息在循环里经过哪几步固定一个输入统计仓库里所有 Python 文件按目录分组。第 1 步开场准备循环刷新模型凭证、重建系统提示、检查上下文是否快到压缩阈值。这一步保证每次请求都带着最新状态发出去不超窗口。第 2 步第一次请求完整历史加工具定义一起发给模型。第 3 步验证工具调用模型回来说我要调文件搜索工具循环先把这条 assistant 消息记进历史再核对工具名在不在启用列表里、解析参数然后丢进线程池执行。验证这一步是为了防模型幻觉出一个不存在的工具名。第 4 步回填结果工具输出的文件清单被包成一条 tool 结果消息追加进历史循环立刻构造下一次请求。每次请求都带完整历史模型正是靠这个看到上一步的输出。第 5 步收尾判断第二轮模型直接给出分组结果、不再带工具调用循环退出。第 6 步落库finalize_turn组装结果字典你的消息和最终回复一起存进会话库轨迹文件导出。如果轮数撞上 max_iterations 上限它会停在这里并明确告诉你预算用完而不是静默截断。定时任务与看板它适合跑什么一类是长任务自动化内置 cron 调度每天早上 8 点跑日报这类自然语言任务可以无人值守跑完把结果投到 Telegram、Slack。第二类是本地开发代理在你机器上读写文件、跑命令工具可以在 Docker、SSH 这类容器或远程后端里执行风险被隔离在沙箱内。第三类是研究者批量生成工具调用轨迹并压缩给下一代模型当训练数据。本地安装 Hermes Agent 的最小步骤先执行git clone https://gitcode.com/GitHub_Trending/he/hermes-agent拉取源码README 里也提供官方一键安装脚本。接着跑hermes setup走完向导它会让你选模型后端、开工具开关。然后执行hermes进入终端界面丢一个列出当前目录结构的任务输出里能看到工具被逐个调用的过程——就是上一节那 6 步的实时版。换模型后端只需再跑hermes model重选供应商和模型改配置即可不用动代码。一次执行就是问模型、跑工具、回填结果的重复直到模型不再调工具为止——抓住这个判断Hermes Agent 的其余模块都只是挂在这条循环上的插件。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考