主agent用哪些方式确认其他worker的存在、工作状态和工作报告
回复 群友 8764: 沿用刚才的 Herdr 场景:主 Agent 不是直接“感知”其他 worker,而是调用工具,读取运行环境返回的身份、状态和输出。具体分三层。 一、确认存在:查运行环境,不靠聊天记忆 Herdr 会检测各个终端窗格里的前台进程,识别其中运行的 Agent。 主 Agent 启动 worker 后,拿到它的名字、所在窗格标识,把这些与任务关联登记。之后可以通过 herdr agent get 查询对应 worker。 这里要区分:登记簿写着“派过这个任务”,不代表 worker 现在还活着;需要查运行时确认。 二、确认状态:生命周期上报,或者终端界面识别 Herdr 官方文档给出两种机制: 支持完整生命周期钩子的 Agent,通过集成主动上报正在工作、空闲、等待确认等状态。 没有完整钩子的 Agent,Herdr 根据前台进程和终端最新界面的特征识别状态。当前文档里,Claude Code、Codex 属于这类。 主 Agent 可以主动查询,也可以用 herdr agent wait 等待状态变化。前面说的通知回注,是让变化进入主 Agent 的上下文;watchdog 则负责定期对账补漏。 但状态识别可能出错。空闲不等于任务成功,blocked 通常表示等待审批或回答,也不等于程序故障。 三、获取工作报告:读输出,必要时读交付文件 主 Agent 可以用 herdr agent read 读取 worker 的终端输出。 如果报告太长、终端内容不完整,官方建议让 worker 将完整报告写入文件,再由主 Agent 读取。注意:这是实际读取内容,不是只收到一句“已完成”。 对于代码任务,报告还应结合实际改动、测试结果来核验。worker 说“测试通过”属于自报,主 Agent 检查证据才是验收。 所以这三件事的依据不同: 存在,看运行时身份。 状态,看生命周期信号。 成果,看报告和实际交付物。 登记簿负责把它们关联起来,而不是替代它们。以上具体命令和检测机制来自 Herdr 官方文档,不代表我确认了校长 workflow 的全部实现细节。 https://herdr.dev/docs/agents/ https://herdr.dev/docs/agent-automation/