面试高频:传统模型和 Agent 的区别、闭环怎么转、MCP 和 A2A 各管什么。
本文一条主线:目标 → 规划 → 工具 → 记忆 → 纠错 → 多 Agent 协作。
一、先回答:Agent 和传统模型差在哪
传统大模型是 一问一答。你发一句,它吐一段字,这次调用就结束了。它不替你打开网页、不查数据库,失败了也不会自己换办法再试。本质是:输入文本 → 输出文本。
Agent 要的是 对着一个目标,自己把事办完。收到复杂目标后,它会:
- 把目标拆成多步
- 做规划
- 调用工具(真正碰外部世界)
- 看结果(感知环境返回了什么)
- 对照记忆(做到哪了、用户喜欢什么)
- 没做完就再转一圈,直到完成或确认做不到
一句话:模型负责「说话和决策」,Agent 负责「办事到闭环」。

面试可以补一句边界:不是所有任务都该上 Agent。单轮问答、翻译、摘要,用普通模型更便宜、更稳。Agent 适合 步骤事先不完全确定、必须碰外部世界 的任务。
二、闭环到底怎么转
闭环不是玄学,就是这一圈,常叫 Thought → Action → Observation(想、做、看):

圈能转起来,靠三块:工具调用、记忆、多步推理与自我纠错。缺一块,就容易退化成套了壳的聊天框。
三、第一块:工具调用(从「说话」到「办事」)
这是 Agent 最关键的一跳。模型 不自己连数据库、不自己发 HTTP ,它只判断:该调哪个工具、参数填什么,输出结构化决策(JSON / Function Calling)。真正执行的是你的代码。 执行结果再喂回模型,它据此决定下一步。

落地时面试官爱追问,可以这样答:
- 谁执行: 模型出 JSON,网关校验 Schema、权限、超时,再调工具。模型不能直接拼 SQL。
- 工具怎么选: 描述写清「何时用、何时不用」;一次不要塞几十个工具,先路由再给 3~8 个。
- 调完怎么继续: 把观察结果写进上下文,进入下一轮推理,不要把工具结果直接当最终答案(除非规则写死)。
这就是闭环的第一环:决策在模型,动手在代码,结果再回到模型。
四、第二块:记忆机制
没有记忆,每一步都像失忆。一般拆成两层:
| 类型 | 记什么 | 典型实现 | 丢了会怎样 |
|---|---|---|---|
| 短期记忆 | 当前任务做到哪、已调过哪些工具、槽位填了没 | 会话状态、LangGraph state、最近 N 轮对话 | 重复提问、重复调工具、找不到进度 |
| 长期记忆 | 用户偏好、历史结论、知识库 | 向量库、用户画像表、文档 RAG | 每次从零认识用户,口径不一致 |

面试一句话:短期记忆保证 这一单做完 ,长期记忆保证 下一单还认识你。别把全部聊天记录无脑塞进每次请求,又贵又吵。
五、第三块:多步推理和自我纠错
这是和传统模型的本质区别。传统调用失败 = 这次请求结束。Agent 允许:
- 某步工具超时 → 感知失败 → 换参数或换工具重试
- 检索为空 → 改写查询再 RAG
- 连续失败 → 停下来解释,而不是死循环烧钱

落地必须有 步数上限、重试上限、禁止死循环 。否则「自我纠错」会变成账单爆炸。业务流程清晰时,更推荐 Graph 编排(你规定有哪些下一步),而不是无限自由的 Agent。
六、工具太多?Agent 太多?MCP 和 A2A
两个问题别混:
- 一个 Agent 要接很多工具 → 协议和发现的问题 → MCP
- 多个 Agent 要互相办事 → 通信和身份的问题 → A2A
MCP:工具世界的 USB
MCP(Model Context Protocol)管的是 模型和工具、资源之间怎么连。可以想成 USB:键盘、硬盘、打印机接口长得一样,换设备不用给每台电脑焊一套线。
有了 MCP:
- 工具方按协议暴露:工具(可调用函数)、资源(可读数据)、提示词模板
- Agent / 客户端按同一套协议去列工具、调工具
- 换模型、换运行时,不必为每个工具重写一套私有插件

面试别说成「MCP 是 Agent 框架」。它是 连接标准,让 Agent 方便、安全、统一地拿工具。权限、鉴权仍然在你的 Server 里做。
A2A:Agent 和 Agent 怎么说话
A2A(Agent-to-Agent)管的是 Agent 之间的协作 。核心物件是 Agent Card(名片):每个 Agent 对外声明------我叫什么、能干什么、输入输出是什么、在哪访问、要什么鉴权。
另一个 Agent 先读名片,再决定能不能把子任务交给它,而不是写死对方内部实现。

一句话对照:
| MCP | A2A | |
|---|---|---|
| 连的是谁 | Agent 和工具、数据 | Agent 和 Agent |
| 类比 | USB / 驱动程序 | 同事之间的工牌 + 工单 |
| 核心产物 | Tools / Resources / Prompts | Agent Card + 任务消息 |
| 解决什么 | 工具太多、接入太乱 | Agent 太多、不会协作 |
MCP 让 Agent 方便拿工具;A2A 让 Agent 方便互相说话、把活分出去。
七、30 秒收口(可直接背)
传统模型是一次问答;Agent 是对着目标转闭环:规划 → 用工具(模型出 JSON,代码执行,结果回流)→ 用短期记忆盯进度、用长期记忆记偏好 → 失败就感知并换路,而不是直接崩。
工具膨胀用 MCP 做统一插口;多 Agent 用 A2A 和 Agent Card 做发现与协作。
不是所有产品都要上 Agent:问一句答一句,不要上闭环。
八、面试可能追问(短答)
Q:Agent 和 LangGraph 什么关系?
A:Agent 是能力形态;LangGraph 是一种实现「有状态、可分支、可重试」的编排方式。流程固定时用 Graph 比自由 Agent 更好控。
Q:闭环会不会调工具调到死?
A:必须步数上限、重复工具检测、失败预算。到达上限就停并解释。
Q:MCP 能替代后端权限吗?
A:不能。MCP 统一的是调用形状,鉴权、租户隔离、审计还在业务侧。