Multi-Agent 协作¶
一句话:Multi-Agent 把一个复杂任务拆给多个分工角色(如规划者-执行者-审核者)协作完成,相比单 Agent 提升了可控性、专业性和安全兜底,代价是更高的编排复杂度与 Token 成本。
概念¶
单 Agent 是"一个 LLM 通吃思考、调工具、给答案",简单高效,但在复杂任务上容易一手包办、缺校验、出错难拦截。Multi-Agent 则引入多个专职 Agent,各自有不同系统提示、工具集和职责,通过编排协议协作。
报告 §5.3 中彭超案例的 "规划者-执行者-审核者"三角色架构 是企业级最经典的分工:
| 角色 | 职责 | 关键能力 |
|---|---|---|
| 规划者(Planner) | 拆解任务、生成执行计划、决定调哪些工具 | 全局规划、意图理解 |
| 执行者(Executor) | 按计划调用工具、检索、生成中间结果 | 工具调用、RAG 检索 |
| 审核者(Reviewer) | 基于规则引擎校验执行者输出是否合规、可信 | 规则匹配、阈值判断、兜底 |
审核者是这套架构的"安全阀"。它的校验不是让 LLM 自我判断,而是落地成可配置规则引擎,覆盖:
- 合规:是否触发敏感词、违规承诺、超出业务范围;
- 金额阈值:涉及金额是否超阈值需人工确认;
- 业务约束:是否满足业务前置条件(如订单状态、权限范围);
- 事实性:关键事实是否在检索证据中有支撑(与幻觉治理联动)。
校验不通过时,审核者按策略回退重规划(让规划者带着失败原因重拟)或转人工(高风险场景兜底),形成闭环。
原理¶
报告里另一个标杆案例是江旭的"6 子 Agent 协同 + 幻觉治理"——尽调报告生成场景下,6 个子 Agent 分别负责不同尽调维度(财务、股权、舆情、法律等),协同产出报告,并叠加幻觉治理把幻觉率压到 0.1%、尽调成功率从 78% 提升到 93%。这印证了 Multi-Agent 的核心价值:按领域分工 + 每个子链路可独立优化 + 统一审核兜底。
下面给出三角色架构的实现骨架。
// LangChain4j 风格:规划者-执行者-审核者三角色
public class MultiRoleAgent {
private final ChatLanguageModel planner; // 规划者
private final ChatLanguageModel executor; // 执行者
private final ReviewRuleEngine reviewer; // 审核者(规则引擎,非 LLM)
public AgentResult handle(Task task) {
int maxRetry = 3;
for (int attempt = 0; attempt <= maxRetry; attempt++) {
// 1. 规划者:拆解任务
Plan plan = planner.generate(PromptTemplates.plan(task)).toPlan();
// 2. 执行者:按计划执行
PlanResult result = executor.generate(PromptTemplates.execute(plan, task)).toResult();
// 3. 审核者:规则引擎校验(合规/金额阈值/业务约束/事实性)
ReviewDecision decision = reviewer.review(task, plan, result);
switch (decision.getOutcome()) {
case PASS:
return AgentResult.ok(result);
case REJECT_HUMAN: // 高风险转人工
return AgentResult.toHuman(decision.getReason());
case REPLAN: // 回退重规划,带失败原因
task = task.withFeedback(decision.getReason());
continue;
}
}
return AgentResult.toHuman("超过最大重规划次数,转人工兜底");
}
}
/** 审核者规则引擎:可配置、可热更,非 LLM 判定 */
public class ReviewRuleEngine {
public ReviewDecision review(Task t, Plan p, PlanResult r) {
if (complianceChecker.violates(r)) return ReviewDecision.replan("命中合规规则");
if (r.getAmount() != null && r.getAmount().compareTo(threshold) > 0)
return ReviewDecision.human("超金额阈值需人工确认");
if (!businessConstraintChecker.ok(t, r)) return ReviewDecision.replan("业务约束不满足");
if (!evidenceChecker.supported(r)) return ReviewDecision.replan("关键事实无证据支撑");
return ReviewDecision.pass();
}
}
# LangGraph 风格:三角色状态图 + 规则引擎审核
from langgraph.graph import StateGraph, END
from typing import TypedDict, Literal
class State(TypedDict):
task: dict
plan: dict
result: dict
review: dict
feedback: str
to_human: bool
def planner_node(state: State) -> State:
prompt = plan_prompt(state["task"], feedback=state.get("feedback"))
state["plan"] = llm.invoke(prompt).plan
return state
def executor_node(state: State) -> State:
state["result"] = executor.run(state["plan"], tools=tools)
return state
def reviewer_node(state: State) -> State:
# 审核者:规则引擎(合规/金额/业务/事实),非 LLM
state["review"] = rule_engine.review(
state["task"], state["plan"], state["result"]
)
return state
def after_review(state: State) -> Literal["planner", "human", "done"]:
outcome = state["review"]["outcome"]
if outcome == "pass": return "done"
if outcome == "human": return "human"
return "planner" # replan,带 feedback 回到规划者
def human_node(state: State) -> State:
state["to_human"] = True
return state
g = StateGraph(State)
for n, fn in [("planner", planner_node), ("executor", executor_node),
("reviewer", reviewer_node), ("human", human_node)]:
g.add_node(n, fn)
g.set_entry_point("planner")
g.add_edge("planner", "executor")
g.add_edge("executor", "reviewer")
g.add_conditional_edges("reviewer", after_review,
{"planner": "planner", "human": "human", "done": END})
g.add_edge("human", END)
graph = g.compile()
实战要点¶
- 审核者尽量是规则引擎而非另一个 LLM:用可配置、可热更的规则做合规/阈值/业务约束判断,比让 LLM 自审更可控、可解释、低成本。事实性校验可与 RAG 证据召回联动。
- 不通过要形成闭环:审核失败不是终点,要带"失败原因"回退到规划者重规划;超过重规划上限则转人工兜底,不能死循环。
- 按领域拆子 Agent:江旭案例证明,按尽调维度拆 6 个子 Agent,每个可独立优化、独立评测,比一个巨型 Agent 更易迭代。
- 可控性是 Multi-Agent 相对单 Agent 的最大价值:分角色 + 规则审核 + 兜底,是金融/合规等高风险场景"敢上线"的前提。
- 代价要正视:Multi-Agent 的编排复杂度、Token 成本、延迟都高于单 Agent,简单查询用它是过度设计——应配合意图分类器(见 ReAct vs Plan-and-Execute)动态选用。
本节相关题目¶
| 难度 | 题目 | 链接 |
|---|---|---|
| 基础 | Multi-Agent 相比单 Agent 的优势与代价 | → 题库 |
| 进阶 | 规划者-执行者-审核者架构、审核者规则引擎覆盖维度 | → 题库 |
| 深度 | 设计 Agent 平台如何落地 Multi-Agent + 审核闭环 | → 题库 |