面试官问:Multi-Agent 多智能体系统
📚 参考:Multi-Agent 系统 | AI Agent 智能体 | MCP 协议
1. Multi-Agent 系统和单 Agent 的根本区别?什么时候该用多 Agent?
考察点:是否理解单 Agent 的局限性,能否判断什么时候需要多 Agent 架构。
详细信息
核心回答:
单 Agent 就像一个全能员工——理论上什么都能做,但复杂任务会出现:
- 上下文溢出:规划 + 推理 + 工具调用 + 结果验证全部挤在一个上下文窗口
- 角色冲突:同一模型难以在"生成代码"和"审查代码"之间自由切换
- 单点故障:Agent 出错则整个任务失败
Multi-Agent 则像一支团队——每个 Agent 有专门角色和工具,通过协作完成复杂任务。
text
单 Agent 方案:
用户 → [一个大而全的 Agent] → 结果
✗ 上下文不足、角色混淆、容易出错
Multi-Agent 方案:
用户 → 编排器(拆解任务)
├→ Agent A(专业分析)
├→ Agent B(执行操作)
├→ Agent C(验证结果)
└→ Agent D(汇总输出)1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
决策矩阵:
| 场景 | 推荐 | 原因 |
|---|---|---|
| 简单问答 | 单 Agent | 直接、快速 |
| 需要多工具协作 | 单 Agent + Function Calling | 工具调用本身不冲突 |
| 需要多角色(写+审+改) | Multi-Agent | 角色隔离避免偏见 |
| 大规模代码生成 | Multi-Agent | 模块化拆分、并行处理 |
| 需要多轮验证/辩论 | Multi-Agent | 相互校验提高质量 |
2. 常见的 Multi-Agent 编排模式有哪些?各适合什么场景?
详细信息
四种核心模式:
1. 顺序串行:A → B → C,流水线式
需求分析 Agent → 方案设计 Agent → 代码生成 Agent → 审查 Agent1
适合:流程固定、阶段分明的任务(如标准开发流程)
2. 路由分发:根据任务类型分给不同 Agent
用户提问 → 路由器
├→ 前端 Agent(React/Vue 问题)
├→ 后端 Agent(API/DB 问题)
└→ DevOps Agent(部署相关)1
2
3
4
2
3
4
适合:多领域知识覆盖(客服系统)
3. 层级管理:管理 Agent 协调多个执行 Agent
管理 Agent(任务拆解+分配+验证)
├→ 子 Agent 1 → 返回结果
├→ 子 Agent 2 → 返回结果
└→ 子 Agent 3 → 返回结果
↓
管理 Agent 汇总 + 验证1
2
3
4
5
6
2
3
4
5
6
适合:复杂任务需要全局视图和结果把控
4. 协作辩论:多 Agent 平等对话达成共识
Agent A:我建议方案 X,因为...
Agent B:方案 X 有 Y 问题,考虑方案 Z
Agent C:折中,方案 X 改进 + 方案 Z 优点
→ 达成共识1
2
3
4
2
3
4
适合:需要多视角评估的关键决策(架构评审、安全审计)
3. 前端场景中 Multi-Agent 的典型应用?
详细信息
1. 全栈开发 Agent 团队
用户:"做一个用户管理页面,支持列表+搜索+分页+新增"
↓
需求分析 Agent → 提取业务要点
UI Agent → 生成组件结构 → 生成 Vue/React 代码
API Agent → 生成接口定义和 mock
测试 Agent → 分析代码 → 生成测试用例1
2
3
4
5
6
2
3
4
5
6
2. 代码 CR Agent 系统
代码提交
├→ 性能审查 Agent → 检查渲染优化/memo使用
├→ 安全审查 Agent → 检查 XSS/注入风险
├→ 可访问性 Agent → 检查 a11y 规范
└→ 风格审查 Agent → 检查 ESLint/StyleLint
↓
汇总 Agent → 生成 CR 报告1
2
3
4
5
6
7
2
3
4
5
6
7
3. 智能客服路由
用户问题
├→ 简单 FAQ(直接回答,无需 Agent)
├→ 查询类(查订单/查物流 Agent)
├→ 故障类(诊断 Agent → 需要时升级人工)
└→ 投诉类(安抚 Agent + 转人工 Agent)1
2
3
4
5
2
3
4
5
4. Multi-Agent 的核心挑战是什么?
详细信息
- 协调成本:Agent 数量 ↑ 通信成本指数级上升
- 成本控制:每次对话可能 10+ 次 LLM 调用
- 幻觉放大:每个 Agent 都可能出错,链条越长错误累积越严重
- 循环死锁:两个 Agent 陷入无效的互相纠正循环
- 延迟:多个 Agent 串行执行导致用户等待时间长
缓解策略:并行执行独立任务、设置最大轮次上限、关键节点加入人工审核。
