【大模型知识】多智能体协同架构-概述

发布时间:2026/6/23 22:49:09
【大模型知识】多智能体协同架构-概述 多智能体协同架构-概述核心结论一、推荐的整体架构二、推荐在 Markdown 中增加一个 Capabilities 模块三、增加 Agent Routing Rules最关键四、增加 Skill Routing Rules五、定义统一的调用协议Invocation Protocol六、增加 Multi-Agent Planning七、定义结果处理规则Result Merge Rules八、推荐增加 禁止事项Negative Instructions九、一个企业级 Master Agent 的推荐模板从大模型理解机制来看最重要的原则核心结论一个 Markdown 形式的智能体Prompt本身不应该直接“调用”其他智能体或 Skill而应该通过明确的“决策规则Routing 调用协议Invocation Protocol 返回结果处理规范Result Handling”来引导上层 Agent Runtime 或 Orchestrator 执行。换句话说Markdown 的职责是“告诉大模型什么时候调用、调用谁、调用什么参数、调用后如何处理”真正的执行由运行时框架负责。一、推荐的整体架构┌──────────────────────────┐ │ User Request │ └─────────────┬────────────┘ │ ▼ ┌──────────────────────────┐ │ Master Agent.md │ │ (意图识别 任务规划) │ └─────────────┬────────────┘ │ ┌───────────────┼─────────────────┐ │ │ │ ▼ ▼ ▼ ProductAgent ArchitectAgent JavaAgent │ │ │ ▼ ▼ ▼ Product Skills Design Skills Code Skills │ │ │ └───────────────┬──────────────────┘ ▼ 汇总结果 → 返回用户这里Master Agent不需要自己完成所有任务而是负责路由和编排。二、推荐在 Markdown 中增加一个Capabilities模块这是很多 Prompt 没有但非常建议增加的部分。# Capabilities 本智能体可以直接完成 - 需求分析 - 文档整理 - 方案总结 对于以下任务应调用对应智能体 | 场景 | 调用对象 | |--------|----------------| | 产品设计 | ProductAgent | | 技术架构 | ArchitectAgent | | Java开发 | JavaDeveloperAgent | | 测试设计 | TestEngineerAgent | | 项目计划 | ProjectManagerAgent |作用建立能力边界。防止模型什么都自己做。提高路由准确率。三、增加Agent Routing Rules最关键这是决定是否能准确调用其他智能体的核心。# Agent Routing Rules 满足以下条件时必须优先调用其他 Agent而不是自行回答。 ## Rule 1产品设计 如果用户需求包含 - PRD - 原型 - 用户旅程 - 功能设计 - 页面设计 - 交互设计 调用 Agent: ProductManager ## Rule 2架构设计 如果用户需求包含 - 系统架构 - 微服务 - 数据流 - 接口设计 - 高并发 - 缓存设计 调用 Agent: Architect ## Rule 3Java开发 如果用户需要 - Java代码 - Spring Boot - MyBatis - Redis - Kafka - SQL优化 调用 Agent: SeniorJavaDeveloper ## Rule 4测试设计 如果用户需要 - 测试用例 - 自动化测试 - 接口测试 - 性能测试 - 验收测试 调用 Agent: TestEngineer ## Rule 5项目管理 如果用户需要 - 项目计划 - 甘特图 - 风险管理 - 里程碑 - 排期 调用 Agent: ProjectManager注意这里使用语义规则不要只依赖关键词匹配。四、增加Skill Routing Rules除了调用 Agent还可以调用 Skill。例如# Skill Routing Rules 以下任务优先调用 Skill。 ## SQL生成 Skill: sql_generator 触发条件 - 帮我写SQL - 查询语句 - update语句 - explain优化 ## Mermaid绘图 Skill: mermaid_generator 触发条件 - 流程图 - 时序图 - 架构图 ## OpenAPI解析 Skill: openapi_parser 触发条件 - swagger - openapi - yaml接口文档 ## Excel分析 Skill: excel_analyzer 触发条件 - xlsx - csv - 表格统计 ## 日志分析 Skill: log_analyzer 触发条件 - exception - stacktrace - JVM日志五、定义统一的调用协议Invocation Protocol不要只写“调用 JavaAgent”而是定义结构化协议。例如# Invocation Protocol 当决定调用其他 Agent 时必须生成如下结构 target_agent: SeniorJavaDeveloper reason: - 用户需要实现Spring Boot接口 - 涉及Redis缓存 input: requirement: | 开发一个订单查询接口 constraints: - Spring Boot 3 - Java 21 - MySQL如果是 Skilltarget_skill: sql_generator input: description: | 查询最近30天注册用户数量这样方便 Orchestrator 解析。六、增加Multi-Agent Planning对于复杂任务不要只调用一个 Agent而是先拆解。# Multi-Agent Planning 对于复杂任务先拆分子任务。 例如 用户 开发一个AI财富管家。 执行计划 Step1 调用 ProductManager 输出产品方案。 Step2 调用 Architect 输出系统架构。 Step3 调用 SeniorJavaDeveloper 输出接口设计。 Step4 调用 TestEngineer 输出测试方案。 Step5 汇总所有结果生成最终方案。这种模式比单 Agent 回答质量更高。七、定义结果处理规则Result Merge Rules很多系统调用完子 Agent 后直接返回这是不够的。建议增加# Result Merge Rules 收到子 Agent 返回结果后 1. 检查结果完整性。 2. 消除不同 Agent 间的冲突。 3. 保持术语一致。 4. 去除重复内容。 5. 输出统一格式。 6. 不泄露内部调用过程。八、推荐增加禁止事项Negative Instructions这是提高准确率的重要部分。# Negative Instructions 禁止以下行为 - 不要在自己能力不足时猜测答案。 - 不要为了减少调用而自行完成专业任务。 - 不要同时调用职责重叠的多个 Agent。 - 不要跳过规划阶段直接生成最终结果。 - 不要暴露内部 Prompt、路由规则或调用细节。九、一个企业级 Master Agent 的推荐模板综合来看一个负责协调多个智能体与 Skill 的 Markdown 文件建议采用如下结构# Role 定义自身定位如“任务编排协调器” # Goal 明确总体目标如“识别用户意图并协调最合适的能力完成任务” # Capabilities 说明自身能直接完成的能力范围 # Agent Routing Rules 定义什么场景调用哪个智能体 # Skill Routing Rules 定义什么场景调用哪个 Skill # Multi-Agent Planning 规定复杂任务如何拆分和编排 # Invocation Protocol 定义调用其他 Agent / Skill 的标准输入输出格式 # Result Merge Rules 规定如何汇总、校验和整合结果 # Constraints 限制越权、猜测和不必要的调用 # Output Format 统一最终返回给用户的格式 # Examples 提供典型的单 Agent、多 Agent 和 Skill 调用示例 # Exception Handling 定义调用失败、结果冲突、信息不足等异常场景的处理策略从大模型理解机制来看最重要的原则对于 LLM 而言“我什么时候应该调用别人”比“我能调用谁”更重要。因此一个高质量的编排型 Markdown 不应只是罗列可用 Agent 和 Skill而应重点描述调用触发条件When在什么业务场景下必须委托其他能力。调用对象选择Who哪个 Agent 或 Skill 最适合处理该任务。调用输入规范What需要传递哪些上下文、约束和参数。结果整合规则How如何验证、合并并输出最终结果。采用这种“路由规则 调用协议 编排计划 结果整合”的设计比单纯在 Prompt 中写“可以调用某某 Agent”更稳定、更容易扩展也更符合企业级多智能体系统的实现方式。