专家分工
不同 Agent 负责不同领域,减少一个 Agent 什么都做导致的上下文混乱。
单 Agent 适合边界清楚的任务。复杂企业任务常常涉及需求澄清、资料检索、系统分析、内容撰写、质量评审和安全审批。多 Agent 协作的价值,是把不同职责拆给不同专家,再用清晰的契约和主控编排合成一个结果。
每个 Agent 负责一类明确任务:有人澄清需求,有人检索资料,有人分析系统,有人撰写产物,有人评审质量。协作的重点不是数量,而是边界。
不同 Agent 负责不同领域,减少一个 Agent 什么都做导致的上下文混乱。
由主控 Agent 或工作流引擎决定谁先做、谁后做、结果怎么合并。
每个 Agent 必须有稳定输入、输出、错误、证据和质量标准。
不同 Agent 结论冲突时,要有规则决定谁复核、谁仲裁、怎么记录依据。
多 Agent 协作是把复杂任务按专业、工具、权限或流程阶段拆给不同 Agent,再由主控编排它们的输入输出、共享状态、冲突处理和最终交付。
单 Agent 把检索、分析、执行、撰写、评审都放在一个上下文里,容易忘步骤、混证据、误用工具。多 Agent 可以把复杂度拆开。
例如简单问答、单文档总结、固定模板生成。优点是链路短、成本低、调试简单。
例如生成企业 PRD、复杂排障、安全审计、竞品调研。每个环节需要不同知识、工具或评审视角。
多 Agent 会带来协调成本、延迟和调试难度。拆分前先问:职责是否不同、工具是否不同、权限是否不同、质量检查是否独立。
不同模式适合不同任务。入门时先掌握这四种,基本能覆盖大多数企业场景。
主控 Agent 负责分派任务、汇总结果、控制流程和最终交付。
当前 Agent 判断自己不适合继续时,把控制权交给更合适的 Agent。
主控 Agent 调用专家 Agent 获取结果,但控制权仍在主控手里。
评审 Agent 检查产物质量、指出冲突、给出评分和修订建议。
主控 Agent 不一定自己做所有事情,但它要知道目标、状态、谁负责什么、哪些结果可信、什么时候交付。
supervisor(goal, state):
if missing_requirement_context(state):
return call("requirement_clarifier", state)
if missing_enterprise_evidence(state):
return call("retrieval_agent", state)
if system_impact_unknown(state):
return call("system_analyst", state)
draft = call("prd_writer", state)
review = call("prd_reviewer", draft)
return merge_and_deliver(draft, review)
这两个概念很常被问。面试时可以用“转接人工客服”和“请专家给意见”来区分。
当前 Agent 判断另一个 Agent 更适合接管,例如客服 Agent 把退款审批交给售后 Agent。交接后,新 Agent 负责继续对话和执行。
主控 Agent 把某个子任务交给专家 Agent,拿到结构化结果后继续自己编排。专家像一个高级工具,不接管全局。
没有契约,Agent 之间会互相猜。契约要定义输入、输出、证据、错误、质量标准和禁止事项。
| 字段 | 说明 |
|---|---|
role |
负责什么,不负责什么。 |
input |
需要哪些上下文、资料和参数。 |
output |
必须返回什么结构和字段。 |
evidence |
结论需要哪些来源和引用。 |
errors |
无法完成时如何返回阻塞原因。 |
qualityBar |
怎样算结果可用。 |
{
"agent": "system_analyst",
"role": "分析需求对现有系统、接口、数据和权限的影响",
"input": {
"requirement": "string",
"evidenceDocs": ["docId"],
"knownConstraints": ["string"]
},
"output": {
"impactedModules": ["string"],
"apiChanges": ["string"],
"dataFields": ["string"],
"permissionRisks": ["string"],
"openQuestions": ["string"]
},
"mustNot": ["凭空编接口", "绕过权限规则"]
}
共享状态不是把所有对话都扔给每个 Agent。更好的做法是维护一个结构化任务状态,每个 Agent 只读取自己需要的部分。
所有 Agent 都要知道最终交付物和验收标准,避免各做各的。
检索 Agent 产出的资料摘要和 sourceId 进入共享证据区。
PRD 草稿、影响面分析、评审报告都作为可追踪产物保存。
敏感资料只给有权限的 Agent,不能默认全员共享。
{
"goal": "生成商品导入失败明细 PRD",
"status": "reviewing",
"evidence": [
{ "sourceId": "product-import-prd-v2", "summary": "现有导入流程" },
{ "sourceId": "api-import-task-result", "summary": "任务结果接口字段" }
],
"artifacts": {
"systemImpact": "artifact-system-analysis-v1",
"prdDraft": "artifact-prd-v2",
"review": "artifact-review-v1"
},
"openQuestions": ["行级错误明细是否需要支持下载?"],
"decisions": ["本期只支持运营后台查看失败明细"]
}
多 Agent 不是投票游戏。系统要知道哪些结论来自证据,哪些只是建议;冲突时按证据、权限和领域优先级处理。
引用现有接口文档和 PRD 的结论,比无来源的推测更可信。
接口影响以系统分析 Agent 为准,文案结构以撰写 Agent 为准,风险以评审 Agent 为准。
涉及权限、合规、成本、排期的重大冲突,要标记给人确认。
评审 Agent 应该输出评分、缺失项、证据问题、风险等级、修改建议和是否允许交付。它不应重写一切,否则会和撰写 Agent 职责混乱。
每个 Agent 可能有不同工具和资料权限。不要因为它们都属于同一个系统,就默认可以互相传递全部上下文。
检索 Agent 不需要写数据库,撰写 Agent 不需要执行退款工具。
只传摘要、字段和 sourceId,避免把完整敏感文档扩散给所有 Agent。
任何写操作、外发、删除、退款、批量修改都要确认和审计。
记录谁调用了谁、传了什么摘要、用了什么工具、产生了什么结果。
多 Agent 里的每个 Agent 都要当成独立执行单元治理:单独权限、单独工具白名单、单独日志、单独失败处理。不要让某个 Agent 通过另一个 Agent 间接绕过权限。
很多多 Agent 系统看起来很热闹,实际产出反而更差。原因通常是边界、契约、状态和评审没有设计好。
拆出来的 Agent 没有独立工具、知识或判断标准,只会增加延迟。
每个 Agent 输出格式不同,主控只能靠猜测拼接。
无关资料和过期结论被反复传播,后续 Agent 继续放大错误。
每个 Agent 都完成了自己的部分,但最终交付物没人兜底。
只看最终回答不够。还要看分工是否合理、交接是否清楚、冲突是否处理、成本是否可接受。
任务是否被分给了正确 Agent,是否存在重复劳动。
每个 Agent 输出是否符合 schema,证据和错误是否完整。
不同 Agent 结论冲突时,是否能解释和仲裁。
相比单 Agent,质量提升是否值得额外延迟和调用成本。
这个案例适合面试讲解,因为它天然需要产品、资料、系统、撰写和评审多个视角。
Supervisor:
owns goal, state, routing, final delivery
Requirement Clarifier:
output: scope, users, open questions
Retrieval Agent:
output: evidence summaries with sourceId
System Analyst:
output: impacted modules, API changes, data fields, permission risks
PRD Writer:
output: structured PRD draft
Reviewer:
output: scorecard, missing items, risk list, go/no-go decision
多 Agent 的价值不是让几个模型互相讨论,而是把 PRD 生成拆成可复盘的专业环节。每个 Agent 都有明确输入输出,主控 Agent 负责合并证据、处理冲突并交付最终 PRD。
面试官往往不喜欢“多开几个 Agent 就好了”的回答。要讲清什么时候拆、怎么编排、怎么评测和怎么控风险。
A:多 Agent 协作是把复杂任务按专业、工具、权限或流程阶段拆给不同 Agent,再由主控 Agent 或工作流引擎编排它们的输入输出、共享状态、冲突处理和最终交付。
A:当任务涉及明显不同的专业视角、工具权限、流程阶段或独立评审时适合拆分。比如 PRD 生成可以拆成需求澄清、资料检索、系统分析、撰写和评审。如果任务很简单,用单 Agent 更好。
A:Handoff 是把控制权交给另一个 Agent,让它继续处理任务;Agent as Tool 是主控 Agent 调用专家 Agent 获取结果,但全局控制权仍在主控手里。
A:难点在编排和边界,包括任务路由、输入输出契约、共享状态、权限隔离、冲突仲裁、日志审计和成本控制。Agent 数量越多,协调成本越高。
A:要和单 Agent 基线比较,看最终质量是否提升,错误是否减少,是否更容易复盘,以及额外的延迟和成本是否可接受。如果只是复杂度变高、质量没有提升,就不值得。
学完这一课,要能把一个复杂任务拆成角色、契约、共享状态和最终交付链路。
拆成转写 Agent、规则检查 Agent、情绪风险 Agent、评审 Agent,并写出输出契约。
拆成日志分析、监控分析、发布变更分析、根因评审四个 Agent,说明谁做仲裁。
为 PRD 团队写一张分工表:角色、输入、输出、证据、错误和质量标准。