多 Agent 监管协同系统(smart-voyage)项目面试题。点击折叠区查看答案。
二、多 Agent 监管协同系统(smart-voyage)
1:A2A 和 MCP 到底有什么区别?
查看答案
-
MCP 解决"Agent 连工具":工具以 MCP Server 标准化暴露,Agent 作为客户端发现、调用、拿结果
-
A2A 解决"Agent 连 Agent":AgentCard 声明技能,主控发现后委派任务、跟踪状态
我系统里两者配合:主控通过 A2A 派活给业务 Agent,业务 Agent 再通过 MCP 调工具执行。
2:A2A 具体怎么实现?踩过什么坑?
查看答案
3:MCP Server 暴露了哪些 tool?参数 schema 怎么定义?
查看答案
4:ReAct 流程讲一下?(smart-voyage)
查看答案
ReAct即推理加行动,模型边思考边调用工具,根据反馈循环决策,像人一样解决问题,避免纯推理或盲目操作的弊端。
要点拆解:Thought(推理缺什么)→ Action(调工具)→ Observation(结果回填)循环
为防失控,我加了三重护栏:最大步数、同名同参动作去重、整体超时。写操作不进工具表,由循环外确定性链路执行,保证自主调查只读不写。
举例(找出近 30 天投诉激增的高风险商户):
- 第 1 轮:查投诉分布
- 第 2 轮:查哪些商家
- 第 3 轮:整改历史和营业状态
- 第 4 轮:信息足够,总结输出
5:防止 ReAct 流程进入死循环,具体是如何实现的?
查看答案
三重护栏机制来防止死循环:
- 最大步数限制:默认 10 步超时,超过后返回兜底文案
- 动作去重:通过哈希指纹记录已执行的动作和参数组合,遇到重复查询会返回提示让模型换角度调查
- 整体超时控制:设置 120 秒时间上限
这三重机制确保即使模型陷入循环思考,也能被强制终止。另外,工具结果超长时会截断保护上下文窗口,避免 token 溢出导致异常。
6:用户意图识别错了怎么办?
查看答案
7:意图漂移的原理、原因与解决方案
查看答案
8:主 Agent 是直接执行,还是先生成计划?
查看答案
-
单意图:不生成计划,直接执行
-
多意图:先生成计划,Plan-Execute
9:什么情况下串行执行,什么情况下并行执行?
查看答案
-
有依赖就串行:多意图编排中前一步的 task_id 是后一步入参,还要逐步鉴权、失败即断
-
无依赖就并行:不同请求由各业务 Agent 独立处理
10:不同 agent 之间的调度是怎么处理的?
查看答案
11:复合工作流失败怎么办?
查看答案
-
请求层:失败重试
-
模型格式错误等:添加校验拦截、阻断、降级
12:子 Agent 执行失败怎么办?
查看答案
13:工具或子 Agent 连续失败时怎么防止拖垮系统?
查看答案
分三层防控:
- 有限重试加退避:只重试连接类瞬时故障,超时不重试防重复执行
- 依赖降级:如 Redis 故障后冷却 60 秒并降级 MySQL
- 编排快速失败:任一步失败立即终止整条流程,防止故障扩散拖垮系统
14:循环纠错详细讲讲。
查看答案
15:如何避免断点恢复时重复写数据库或重复发消息?
查看答案
16:Multi-Agent 最大的坑?
查看答案
17:多个并行 Agent 同时写 State,如何避免互相覆盖?
查看答案
并行 Agent 写 State 防覆盖,核心是"只增不改":
-
用 Reducer 合并而非覆盖,比如
Annotated[list, operator.add],各节点只追加自己的结果 -
必须写同一 key 的就串行化
-
跨图共享数据用 Store 加乐观锁兜底
18:多个 Agent 返回结果后怎么聚合?
查看答案
19:如果两个子 Agent 的结果冲突怎么办?
查看答案
-
先检测冲突:对比关键字段或用 LLM 判断矛盾点
-
再按策略仲裁:优先采信权威数据源,或让第三方 Agent 复核
-
无法判定时降级:向用户如实说明分歧并请求决策,不静默合并
20:多 Agent 协同如何保证稳定性?
查看答案
核心四点:
- 职责单一:主控只做编排,子 Agent 各管一域,便于独立扩缩容
- 任务 ID 全链路传递:状态可追溯
- 失败即终止并降级兜底:避免错误扩散
- 每个节点有超时与重试
再靠可观测性日志定位问题,整体稳定可控。
21:你们怎么评估 Agent 项目的效果?
查看答案
22:在多 Agent 协作过程当中,你是怎么去观测 Agent 的协作链路的?
查看答案
我用全链路追踪观测协作链路:
-
主控生成 trace_id 随 A2A 请求透传,子 Agent 日志按 trace_id 聚合
-
每步记录输入输出、耗时和 token
-
再配 LangSmith 可视化状态图,快速定位哪个 Agent 出错,并统计耗时和 token 优化链路