尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Hermes Agent 多轮工具调用循环一次看懂:架构与执行走读
Hermes Agent 多轮工具调用循环一次看懂架构与执行走读【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agentHermes Agent 是一个开源 AI 智能体框架核心是一套多轮工具调用循环模型「想」、框架「干」工具、把结果喂回模型「再看」如此往复直到任务完成。它通过统一的传输层对接 OpenAI 兼容端点、Anthropic、Bedrock、Codex 等多种推理后端。本文跟着一条真实消息走完「发请求→执行工具→返回结果」的全程适合想读懂源码或二次开发的开发者。 30 秒看懂整体架构调度中心 执行车间把它想成一家工厂。调度中心是 agent/conversation_loop.py 里的run_conversation单轮对话的主循环函数它接收任务、向模型下指令模型说「用文件工具改一下代码」调度中心就把活派给执行车间——agent/tool_executor.py里的工作线程收回干完的活再报回给模型。各供应商 API 的「方言」不同agent/transports/目录是翻译部发请求前把统一格式译成对方格式收到回复后再译回统一结构。 跟着一轮消息走它每一步做了什么初始化与构建请求。AIAgent智能体实例持有会话状态、工具列表、后端配置在agent/agent_init.py完成装配。消息到达后run_conversation先经agent/turn_context.py组装本轮上下文——系统提示、历史消息、工具定义——再调用当前后端 transport 的build_kwargs生成最终 API 请求温度等参数也在这一步进入请求体。解析响应统一「思考」与工具调用。各家回复结构不一transport 的normalize_response会把原始响应归一成NormalizedResponse定义在 agent/transports/types.py。推理内容兼容多种字段reasoning_content、reasoning以及 OpenRouter 风格的reasoning_details全部归一到同一取法。若响应带tool_calls每个调用依次经过三道关工具名是否存在于注册表、JSON 参数能否解析、然后执行。工具执行8 个工作线程的车间。agent/tool_executor.py 提供顺序与并行两种派发并行模式用线程池执行工具调用工作线程上限由_MAX_TOOL_WORKERS 8控制整批并发有 420 秒的超时兜底。工具抛出的异常不会打断主循环而是被捕获后包进工具结果消息返回给模型——模型看得见失败原因下一轮可以自行重试或换路。判断终止交回「回执」。本轮响应不再包含工具调用说明模型自认做完循环自然结束若触及agent/iteration_budget.py中的轮次预算上限则强制停止。循环结束后你能拿到完整消息历史、使用的轮次、每轮推理内容、工具错误记录以及用量与费用估算——这就是分析性能与排查问题的依据。API 侧的错误则由agent/error_classifier.py归类classify_api_error配合agent/retry_utils.py的退避策略决定是否重试。 想动手换后端、加工具、改参数落在这几处切换推理后端transport 是注册表模式register_transport(api_mode, transport_cls)注册新后端即可需实现convert_messages、convert_tools、build_kwargs、normalize_response、validate_response、map_finish_reason六个方法接口见 agent/transports/base.py。现成的chat_completionstransport 可对接任意 OpenAI 兼容端点——vLLM、SGLang、OpenRouter 换个base_url就能跑Anthropic、Bedrock、Codex、Gemini 原生、Vertex、Azure 也各有现成适配。注册新工具在tools/目录按terminal_tool.py、file_tools.py的样式添加工具并挂进注册表主循环无需改动。轮次与温度最大轮次由agent/iteration_budget.py的预算逻辑管理温度作为参数经build_kwargs透传到请求体。 从哪里读起Hermes Agent 适合需要让智能体自主跑命令、改文件、串联多个 API 的自动化场景。读源码从agent/conversation_loop.py的run_conversation入手「想→干→看结果→再想」的闭环全在那里想弄清工具如何并行再去翻agent/tool_executor.py就够了。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

从零部署OCR系统:EAST+CRNN端到端文本检测与识别实战

从零部署OCR系统:EAST+CRNN端到端文本检测与识别实战

简介:OCR(光学字符识别)技术旨在将图像中的文字信息转换为可编辑的文本数据,其核心原理是通过计算机视觉和深度学习模型模拟人类的阅读过程。该技术通过特征提取、序列建模和解码等步骤,实现了对复杂场景下文本的自动化…

📅 2026/11/13 5:37:25
如何挑选RWA替代实现?TensorFlow RNNCell、Keras、PyTorch、Go六种版本横向评测

如何挑选RWA替代实现?TensorFlow RNNCell、Keras、PyTorch、Go六种版本横向评测

如何挑选RWA替代实现?TensorFlow RNNCell、Keras、PyTorch、Go六种版本横向评测 【免费下载链接】rwa Machine Learning on Sequential Data Using a Recurrent Weighted Average 项目地址: https://gitcode.com/gh_mirrors/rw/rwa RWA(Recurrent…

📅 2026/11/6 18:12:37
逻辑回归:从Sigmoid函数到梯度下降,手把手实现分类模型

逻辑回归:从Sigmoid函数到梯度下降,手把手实现分类模型

1. 从分类难题到逻辑回归:为什么我们需要它?在数据分析、机器学习乃至很多业务场景里,分类问题无处不在。比如,银行要判断一笔贷款申请是否会违约(是/否),电商平台要预测用户是否会点击某个商品…

📅 2026/11/8 22:04:36
MORE NEWS

更多资讯

📰

韶关电工证审核不通过?考前押题帮你一把,别耽误你找工作!

韶关电工证审核不通过?考前押题帮你一把,别耽误你找工作! 你还在为找不到工作发愁?电工证没审核通过?别急,先看看你是不是犯了这些错! 在韶关,很多想从事电力相关工作的人都会遇到一个问题: 韶关电工证审核…

📰

之前考的证在外省能不能转过来?永泰高压电工作业实操千万别踩坑

之前考的证在外省能不能转过来?永泰高压电工作业实操千万别踩坑 之前考的证在外省能不能转过来?这是很多已经拿到证书但想回本地发展的朋友最关心的问题,尤其是在高压电工作业这种涉及安全责任、技术门槛高的领域,证书的 有效性和转接流程…

📰

惠州电工证什么样 值不值得考 电工证到底有没有用

惠州电工证什么样 值不值得考 电工证到底有没有用 你是不是正愁找不到工作?是不是被面试官一句“没有电工证别来了”直接劝退?现在找工作越来越难,但有些岗位偏偏要求你必须有特种作业证,比如电工证。惠州电工证什么样?值不值得考?这些问题不解决,你…

📰

电工证怎么上网查询官方报名入口和备考技巧全攻略

电工证怎么上网查询官方报名入口和备考技巧全攻略 你是不是也遇到过这种情况,想考个电工证,但不知道去哪报名,怕被中介坑?别急,今天我就从洛阳培训机构学员的角度,手把手教你 电工证怎么上网查询…

📰

定远县培训电工证电话内部消息:电工证缺一不可,错过就失业

定远县培训电工证电话内部消息:电工证缺一不可,错过就失业 找工作没证寸步难行,特别是特种作业行业, 定远县培训电工证电话 成了很多人的救命稻草。现在各大工地、工厂、工程队都要求持证上岗,没有电工证别说进厂,连面试资格都没有。最近听说很多工地…

📰

青岛电工证咨询电话告诉你外省证怎么转过来,含金量高不高?

青岛电工证咨询电话告诉你外省证怎么转过来,含金量高不高? 之前考的证在外省能不能转过来?这个问题,几乎是每个想在青岛从事电工工作的人都会问。特别是那些已经在其他省份考取了电工证的朋友,一来怕重复考试,二来担心外省的证在青岛“不被认”,这不仅…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬