尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

一个任务跑完4步:Hermes 多智能体分派全链路

一个任务跑完4步:Hermes 多智能体分派全链路 一个任务跑完4步Hermes 多智能体分派全链路【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent在 Hermes Agent 里多智能体协作不是让几个模型互相喊话而是一条任务分配与智能体协调的流水线任务怎么接入、派给谁、执行中怎么共享上下文、结果怎么校验兜底。下面按一个任务在系统内的完整链路走一遍。 任务从哪来先把任务接住任务入口分两层。第一层是执行核心agent_loop一个可复用的多轮智能体循环按 OpenAI 规范处理工具调用任何客户端只要能发出标准 tool call 就能驱动它。不同客户端的调用格式并不统一tool_call_parsers以注册表形式挂载各自的解析器把各家方言翻译成循环能消费的消息序列。第二层是环境封装hermes_base_env作为 Atropos 的 BaseEnv 子类把整个循环包成一个环境。同一套流程既能在线跑也能被评估和强化学习训练直接消费训练与推理走的是同一条链路。还有一件容易被忽略的事验证不是事后环节。tool_context在每一轮都向奖励/验证函数递一个工具访问句柄校验器可以在循环内部直接查文件、跑命令而不是等子任务交卷之后再对答案。 任务怎么派给合适的智能体分派不是抽卡是四步收敛任务分析把输入拆成 goal要做什么、工作目录、依赖的前置结果能力评估看候选智能体的模型、allowed_toolsets工具白名单、当前负载最优匹配按目标 × 工具 × 目录三要素挑一个子智能体写进SubagentLaunchRequest动态调整子任务状态一动超时、失败、卡住父智能体可以撤单重派而不是干等到超时。请求体里能直接看到匹配依据SubagentLaunchRequest( goal修掉登录超时, roleleaf, modelNone, # 缺省继承父模型 allowed_toolsets(shell, file), )这套契约在 agent/subagent_lifecycle.py 里是对外公开的插件拿不到AIAgent对象只能拿到这份不可变的启动契约。分派边界本身就是这么划出来的。 执行中如何共享上下文多个智能体并行的前提是看得见彼此、互不踩踏共享状态每个子智能体暴露SubagentState状态机PENDING → RUNNING → SUCCEEDED / FAILED / INTERRUPTED父智能体轮询即可感知进度不需要额外通信协议工具池伸缩resize_tool_pool按任务阶段扩缩工具资源探索期给宽口径收口期收窄到验证必需的最小集冲突调解多个子任务争抢同一资源时调度层自动仲裁拿不到锁的路径按 fail closed 处理——不执行而不是赌一把上下文隔离委托子任务与父进程同进程运行agent/delegation_context.py 用 ContextVar 给委托执行打标避免子任务继承父进程里的 Kanban 调度环境变量导致工具解析跑偏。✅ 结果怎么校验与兜底多层验证tool_context提供的每轮句柄让校验分层执行——格式检查、断言、端到端测试各占一层任一层不过即拦截结果有界子任务交回的结果有硬上限32K 字符超限截断而不是整包失败防止一个超长输出拖垮父上下文失败可归因FAILED 与 INTERRUPTED 分开标记父智能体据此决定重试、换智能体重派还是自己接手剩余步骤。执行侧所有子任务的工具调用都从 agent/tool_executor.py 进失败时父智能体能拿到工具名和参数级别的错误定位到具体是哪一步出了问题。⚖️ 什么时候值得上多智能体先说取舍多智能体不是免费的。每加一层父子关系就多一份上下文同步成本和一次状态机维护。如果你的任务单线程可跑完、工具集不超过十来个单智能体加工具白名单更划算。多智能体真正吃香的场景有三个特征任务能按目录或工具集切分、结果可用测试或断言校验、单智能体跑不完。项目里的落地也集中在这三类SWE-bench 风格软件工程任务environments/hermes_swe_env/把仓库修复拆成可并行子任务终端测试环境子智能体协同完成文件创建、命令执行等断言Terminal-Bench 2.0 基准评估environments/benchmarks/terminalbench_2/用同一套分派链路跑完整 benchmark。上手成本不高读一遍subagent_lifecycle.py的公开契约起一个roleleaf的子任务跑通闭环再把自己的环境挂到hermes_base_env上做批量评估三步就能接进现有流程。落到选型先确认瓶颈在不在并行度。单智能体跑不动、且任务可切分、可校验再拆父子否则分派本身会吃掉你省下的时间。第一版建议只做两件事——给每个子任务限定allowed_toolsets给结果定好截断上限。分派链路是现成的约束是你的。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表