Agent Zero Developer Agent 通信协议解析:从需求访谈到 JSON 工具调用的完整规范 📅 发布时间:2026/9/13 1:40:37 👁 浏览次数: Agent Zero Developer Agent 通信协议解析从需求访谈到 JSON 工具调用的完整规范【免费下载链接】agent-zeroAgent Zero AI framework项目地址: https://gitcode.com/GitHub_Trending/ag/agent-zero导读本文基于 Agent Zero 仓库中 DeveloperMaster DeveloperAgent 的专用通信提示词 agents/developer/prompts/agent.system.main.communication.md系统拆解该智能体在软件工程任务中的完整交互规范从「何时直接干活、何时结构化访谈」的需求判断策略到必须严格遵守的 JSON 回复格式、thoughts认知工作区与tool_name/tool_args工具调用契约。读完本文你将掌握 Master Developer 与用户、与工具、与框架底层交互的全部规则理解其提示词背后的源码实现response 工具、parallel 工具并能据此设计或调试自己的 Agent 提示词。一、文档定位Developer 专用通信覆盖层在 Agent Zero 的提示词体系中系统手册 prompts/agent.system.main.md 通过{{ include ... }}模板指令按顺序装配role、specifics、environment、communication、solving、tips等模块。其中communication模块被拆成了框架通用层与Profile 覆盖层两层层级文件作用框架通用层prompts/agent.system.main.communication.md所有 Agent 共用的 JSON 输出格式、字段定义与并行调用规则Profile 覆盖层agents/developer/prompts/agent.system.main.communication.mdMaster Developer 专属的访谈策略、思考方式与工具调用纪律追加补充层prompts/agent.system.main.communication_additions.md两处communication文档末尾共同include的消息协议与占位符替换规则覆盖层的末尾同样执行{{ include agent.system.main.communication_additions.md }}意味着 Master Developer 在框架通用规则之上叠加了自己的访谈与工具调用规范。开发者 Profile 由 agents/developer/agent.yaml 声明title: Developer、description: Agent specialized in complex software development而通信行为完全由这份提示词文档接管。下文按原文档的四个核心小节Initial Interview → Thinking → Tool Calling → Reply Format展开并深入源码印证每一项契约的实际落地。二、Initial Interview先判断「该不该问」再决定「怎么问」Master Developer 收到开发任务后的第一动作不是提问而是判断请求是否已经可执行whether the request is already actionable。原文档给出了一条明确的决策基线对清晰、有边界的编码任务从仓库推断合理默认值infer reasonable defaults from the repository检查本地规格说明与测试inspect local specs/tests然后直接实现并验证implement and verify。仅在以下三种情况才向用户提问歧义会阻碍安全推进问题会实质性改变交付物存在破坏性或非预期工作的风险。对于宽泛或欠定义的大型开发指令broad or underspecified development mandates才进入结构化访谈流程需要逐项确立七大维度Scope Boundaries范围边界功能、模块、集成的精确包含/排除界定Technical Requirements技术需求预期性能基准、可扩展性需求从原型到生产级的实现要求Output Specifications输出规格交付物偏好源码、容器、文档、部署目标、测试要求Quality Standards质量标准代码覆盖率阈值、性能预算、安全合规、可访问性标准Domain Constraints领域约束技术栈限制、遗留系统集成、监管合规、许可证限制Timeline Parameters时间线参数迭代周期、发布截止时间、里程碑交付物、持续部署节奏Success Metrics成功指标判定代码质量、系统性能与功能完整性的显式标准。访谈还有一个硬性纪律只能通过response工具、仅针对阻塞性问题进行迭代式提问Use the response tool iteratively only for blocking questions。同时原文档明确禁止过度访谈——当用户要的是小脚本、Bug 修复、重构、补测试或本地上下文中可完成的检查任务时不得发起访谈而是快速走完inspect - implement - test - cleanup - concise final report五步流水线。源码印证response工具在 tools/response.py 中的实现会校验必须存在非空的顶层text或message字符串参数否则抛出RepairableException一旦命中返回Response(message..., break_loopTrue)——这正是「提问即结束当前处理循环」的底层机制。而 prompts/agent.system.tool.response.md 将其定义为 final answer to user / ends task processing与访谈提问的语义完全一致。三、Thinkingthoughts机器可解析的认知工作区原文档要求Agent Zero 的每一次回复都必须包含thoughtsJSON 字段作为系统性架构处理的认知工作区cognitive workspace。在thoughts字段内部Agent 需要构建连接「观察」与「实现目标」的完整心智模型逐步推演技术路径并在面对复杂架构抉择时构建决策树。认知过程应记录设计模式、优化策略、权衡分析与实现决策。原文档将复杂系统拆解为模块逐个求解并明确了技术框架的十一项职责Component Identification组件识别识别关键模块、服务、接口与数据结构及其架构角色Dependency Mapping依赖映射建立组件间的耦合、内聚、数据流与通信模式State Management状态管理编目状态转换、持久化需求与带一致性保证的同步需求Execution Flow Analysis执行流分析构建调用图、识别关键路径、优化算法复杂度Performance Modeling性能建模定位计算瓶颈、识别优化机会、预测扩展特性Pattern Recognition模式识别检测适用的设计模式、反模式与架构风格Edge Case Detection边界情况检测标记边界条件、错误状态与需要特殊处理的异常流Optimization Recognition优化识别识别性能改进、缓存机会与并行化可能性Security Assessment安全评估评估攻击面、认证需求与数据保护要求Architectural Reflection架构反思批判性审视设计决策、验证假设、细化实现策略Implementation Planning实现规划制定编码顺序、测试策略与部署流水线。这里有一条极易被忽略的硬性要求原文以!!!强调只输出最小化、简洁、抽象的表示为机器解析与后续检索优化——语义密度优先于人类可读性Prioritize semantic density over human readability。也就是说thoughts不是给人类阅读的散文而是喂给后续上下文的紧凑结构。四、Tool Callingtools工具调用即操作指令原文档规定Agent Zero 的每次回复都必须包含tool_name与tool_args两个 JSON 字段将架构洞察转化为具体的开发推进动作。这两字段编码了把认知转化为代码进度的操作命令工具选择与参数构造需要极其细致Parameter Optimization参数优化选择能最大化代码效率、同时最小化技术债的参数值Implementation Strategy实现策略在优雅与可维护性之间取得平衡的解决方案Scope Definition范围界定设置防止功能蔓延、同时保证完整性的边界Error Handling错误处理预判失败模式并实现健壮的异常处理Code Integration代码集成组织实现以促进模块无缝组合。文档同时强调严格遵守工具调用 JSON Schema并以「外科手术般的精度」surgical precision雕琢工具参数。源码印证框架通用层 prompts/agent.system.main.communication.md 补充了更细的规则——tool_name必须是工具注册表中列出的标识符绝不能是read、write、terminal、multi这类动作名依赖操作必须「一次调一个工具、等结果再调下一个」而相互独立、可并发的操作只能通过parallel工具批量执行。这一点在 tools/parallel.py 中有完整落地execute()解析actionstart | await | collect | cancel、tool_calls、job_ids、wait、timeout参数并调用parallel_tools.start_parallel_jobs/cancel_parallel_jobs管理后台作业prompts/agent.system.tool.parallel.md 则明确规定parallel内禁止嵌套、document_query太重不可并行、response只能作为顶层工具调用否则会破坏消息循环的终止语义。五、Reply Format严格的 JSON 输出协议Master Developer 的回复被限定为唯一且合法的 JSON 对象Schema 如下字段类型含义thoughtsarray认知处理轨迹自然语言但需简洁、结构化、面向机器优化tool_namestring来自可用工具注册表的精确工具标识符tool_argsobject参数名到值的键值对映射argument: value约束条件同样刚性JSON 结构之外不允许任何文本No text outside JSON structure permitted!每个响应周期恰好一个 JSON 对象Exactly one JSON object per response cycle所有键与字符串值必须使用双引号禁止将 JSON 放入 Markdown 代码围栏内No JSON in markdown fences不得发明不存在的工具名与参数Do not invent unavailable tool names and argsJSON 对象前后不得输出任何文本真实输出以{开始、以}结束。框架通用层还补充了headline字段回复的简短标题摘要并进一步约束要执行依赖操作就先调一个工具、待结果返回后再调下一个要执行独立并发操作则只能使用parallel工具。六、Response Example分布式任务队列的需求访谈范本原文档给出了一个完整可复用的响应示例完整继承如下该示例展示的正是「使用 response 工具进行需求访谈」的标准姿势{ thoughts: [ User requests implementation of distributed task queue system, Need to clarify: scalability requirements, message guarantees, technology constraints, Must establish: throughput needs, persistence requirements, deployment environment, Decision: Use response tool to conduct requirements interview before implementation, Key unknowns: Existing infrastructure, latency tolerances, failure recovery needs ], headline: Asking for additional information, tool_name: response, tool_args: { text: Ill architect and implement a distributed task queue system. To ensure I deliver exactly what you need, please clarify:\n\n1. **Scale Requirements**: Expected tasks/second, peak loads, growth projections?\n2. **Message Guarantees**: At-most-once, at-least-once, or exactly-once delivery?\n3. **Technology Stack**: Preferred languages, existing infrastructure, cloud/on-premise?\n4. **Persistence Needs**: Task durability requirements, retention policies?\n5. **Integration Points**: Existing systems to connect, API requirements?\n6. **Performance Targets**: Latency budgets, throughput requirements?\n\nAny specific aspects like priority queues, scheduled tasks, or monitoring requirements to emphasize? } }逐字段拆解这个范本的工程意图thoughts数组五条紧凑的自然语言记录依次完成「任务识别 → 待澄清点枚举 → 必建信息清单 → 决策用 response 工具访谈→ 剩余未知项」的认知闭环完全符合前述「语义密度优先、面向机器解析」的要求headline一句话概括本轮动作 Asking for additional informationtool_name: response选择访谈工具而非猜测实现契合 Initial Interview 小节「仅对阻塞性问题提问」的原则tool_args.text把七大访谈维度压缩为六个具体问题规模、消息语义、技术栈、持久化、集成点、性能目标并主动补充优先级队列、定时任务、监控等可强调点——这就是「外科手术式」参数构造的实例化。注意原文档中该示例位于~~~json围栏内并明确注释围栏仅为文档格式化用途Agent 的真实输出不应包含围栏、语言标签或任何散文。七、追加协议messages 消息语义与 replacements 占位符两份communication文档共同 include 的 prompts/agent.system.main.communication_additions.md定义了消息层与模板层的底层契约这是保证通信协议可落地的关键细节messages消息语义用户消息可能包含上级指令、工具结果与框架注释三类内容将工具调用的收尾}视为回合结束信号必须立即终止生成消息以(voice)开头时转录可能不完美以[PROTOCOL]开头的消息是必须遵循的协议指令以[EXTRAS]结尾的消息是上下文而非新指令工具名是字面 API 标识符必须逐字复制包括behaviour_adjustment这类拼写。replacements占位符替换可在工具参数内使用§§name(params)形式的替换使用§§include(abs_path)复用文件内容或先前输出优先用 include 复用长文本而不是重写——这条规则与 prompts/agent.system.response_tool_tips.md 中「for long existing text, use§§include(path)instead of rewriting」的建议互相呼应是 Agent Zero 节省上下文窗口的核心机制之一。八、与 Master Developer 总纲的衔接这份通信规范并非孤立存在它与 Developer Profile 的另一份提示词 agents/developer/prompts/agent.system.main.specifics.md 构成完整的行为体系specifics 定义了角色身份You are Agent Zero Master Developer与开发方法论第一性原理、跨栈集成、生产级标准、交付纪律而本文所述的 communication 文档则规定了「怎么开口、怎么思考、怎么调用工具、怎么输出」的通信层。两者的边界在 agents/developer/AGENTS.md 中有明确说明Profile 提示词覆盖必须保留框架的工具调用与响应契约Prompt overrides must preserve the framework tool-call and response contracts且倾向在 Profile 层修改开发专属行为而非改动核心提示词。仓库中的相关测试如 test_prompt_protocol.py、test_response_tool_validation.py 亦印证了这套协议的可测试性回复格式、工具参数与协议行为均被纳入自动化验证范围。九、实践要点速查场景应该怎么做依据收到清晰的小任务直接inspect - implement - test - cleanup不提问Initial Interview 小节收到宽泛大任务结构化访谈七大维度仅用response工具、只问阻塞性问题Initial Interview 小节每次回复必须输出合法 JSONthoughts数组tool_name字符串tool_args对象Reply Format 小节思考过程面向机器解析语义密度优先紧凑抽象Thinking 小节!!!强调并发独立调用只用parallel工具批量执行禁止嵌套、禁止包response框架通用层 communication 文档复用长文本用§§include(abs_path)而非重写communication_additions.md消息收尾工具调用的}即回合结束信号立即终止生成communication_additions.md总而言之Master Developer 的通信协议是一套「少问多做 严格 JSON 机器优化思考」的工程化交互规范它用清晰的判断条件避免无效对话用结构化的thoughts承载架构推理用tool_name/tool_args契约驱动精确执行最终以唯一合法 JSON 对象完成每次闭环。理解这份协议也就理解了 Agent Zero 体系中「专业开发 Agent 如何与用户和工具高效协作」的核心设计。【免费下载链接】agent-zeroAgent Zero AI framework项目地址: https://gitcode.com/GitHub_Trending/ag/agent-zero创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考