#七、Agent、工具调用、工作流编排与协议

#代表笔试题

  1. 什么是 Agent?它和普通 Chatbot 的区别是什么?
  2. ReAct 的基本思想是什么?
  3. tool calling / function calling 的作用是什么?
  4. workflow 和 autonomous agent 的差别是什么?
  5. memory 在 Agent 中通常有哪些类型?
  6. MCP(Model Context Protocol)想解决什么问题?

#就地速答

  • 问:什么是 Agent?它和普通 Chatbot 的区别是什么?

    答:Agent 不只是“会聊天的模型”,而是一个围绕目标持续运行的决策系统。它通常会经历一条闭环:接收目标、观察环境、决定下一步、调用工具、读取结果、再继续规划。所以 Agent 的核心不是输出一段漂亮文字,而是能推进任务状态。详见后文“### 73. 什么是 Agent?它和普通 Chatbot 的区别是什么?”。

  • 问:ReAct 的基本思想是什么?

    答:ReAct 的核心思想,是把 reasoning 和 acting 交替起来:模型先做一步思考,决定下一步该查什么、调什么工具、执行什么动作;动作执行后得到 observation,再基于新的观察继续推理。它不是让模型先在脑中把全流程想完,而是强调“边想边做、边看边改”。详见后文“### 74. ReAct 的基本思想是什么?”。

  • 问:tool calling / function calling 的作用是什么?

    答:tool calling / function calling 的作用,是让模型从“只会说”扩展到“会调用外部能力”。模型不再只是生成自然语言,而是可以按结构化 schema 输出函数名和参数,把计算、检索、数据库查询、系统控制等能力交给外部工具完成。详见后文“### 75. tool calling / function calling 的作用是什么?”。

  • 问:workflow 和 autonomous agent 的差别是什么?

    答:workflow 和 autonomous agent 的本质区别,不在于“有没有模型”,而在于路径是不是提前写死。workflow 通常是预定义流程:A 完成后到 B,B 完成后到 C,分支有限、逻辑可控,适合稳定业务;autonomous agent 则会根据环境反馈实时选择下一步,路径不是预先完全固定的。详见后文“### 76. workflow 和 autonomous agent 的差别是什么?”。

  • 问:memory 在 Agent 中通常有哪些类型?

    答:Agent 中常见的 memory 至少可以分成几类:短期上下文记忆,用于保存当前对话和本轮工具结果;任务状态记忆,用于追踪计划做到哪一步、哪些步骤成功或失败;长期用户记忆,用于保存稳定偏好、身份信息、习惯约束;工具记忆,用于记录过去哪些工具在什么场景下有效;外部知识记忆,则更像外挂知识库或向量存储。详见后文“### 77. memory 在 Agent 中通常有哪些类型?”。

  • 问:MCP(Model Context Protocol)想解决什么问题?

    答:MCP(Model Context Protocol)想解决的核心问题,是模型接外部工具、资源和上下文的方式过于碎片化。过去每接一个系统,往往都要重新定义接口、权限、数据格式和调用方式,导致工具生态难复用、难组合、难迁移。详见后文“### 78. MCP 想解决什么问题?”。

#代表面试题

  1. 你如何区分“工作流自动化”和“真正的 Agent 系统”?
  2. ReAct、Plan-and-Execute、Reflexion 各自适合什么任务?
  3. 一个 Agent 经常乱调用工具、循环执行、迟迟不结束,你会怎么诊断?
  4. 如果要做 Multi-Agent,你怎么决定拆几个 agent,而不是一个大 agent 全做?
  5. MCP / A2A 这种协议化尝试的价值是什么?为什么 2026 年大家开始关心它?
  6. Agent memory 该保留什么、不该保留什么?如何避免上下文膨胀和错误长期记忆?

#就地速答

  • 问:你如何区分“工作流自动化”和“真正的 Agent 系统”?

    答:区分这两者,最稳的方法是看三件事。第一,关键决策是不是在运行时动态产生;第二,环境反馈会不会真正改变后续路径;第三,系统是否需要显式状态管理、失败恢复和再规划。如果这些都很弱,流程大概率只是 workflow 自动化;如果任务推进必须边观察边决策,才更接近 Agent。详见后文“### 79. 你如何区分“工作流自动化”和“真正的 Agent 系统”?”。

  • 问:ReAct、Plan-and-Execute、Reflexion 各自适合什么任务?

    答:ReAct 更适合那种需要边执行边观察环境的任务,比如检索、网页操作、工具调用,因为每一步行动都可能改变后续决策;Plan-and-Execute 更适合结构相对清晰、可以先拆步骤的大任务,比如长流程分析、复杂写作、计划类任务;Reflexion 则适合允许试错、需要复盘修正的场景,比如程序修复、策略改进、反复尝试的搜索任务。详见后文“### 80. ReAct、Plan-and-Execute、Reflexion 各自适合什么任务?”。

  • 问:一个 Agent 经常乱调用工具、循环执行、迟迟不结束,你会怎么诊断?

    答:这类问题不能一上来就怪模型“太笨”,要分层诊断。先看工具层:tool schema 是否清楚,参数是否容易误填,返回结果是否结构化、可消费;再看状态层:系统有没有把已经完成的步骤记录下来,是否因为状态丢失导致反复做同一件事;再看策略层:停止条件、成功条件、失败回退条件是不是模糊,是否让模型永远有理由继续试;最后再看提示和轨迹:prompt 是否鼓励过度规划,观察结果是否太噪声。详见后文“### 81. 一个 Agent 经常乱调用工具、循环执行、迟迟不结束,你会怎么诊断?”。

  • 问:如果要做 Multi-Agent,你怎么决定拆几个 agent,而不是一个大 agent 全做?

    答:决定要不要做 Multi-Agent,首先不是看“拆开是否听起来高级”,而是看任务是否天然存在角色分工。比如检索、规划、执行、审查确实可能需要不同上下文和不同约束;如果所有步骤本来就在同一语境下完成,强拆通常只会增加通信成本和协调难度。详见后文“### 82. 如果要做 Multi-Agent,你怎么决定拆几个 agent,而不是一个大 agent 全做?”。

  • 问:MCP / A2A 这种协议化尝试的价值是什么?为什么 2026 年大家开始关心它?

    答:MCP、A2A 这类协议化尝试的价值,在于 Agent 生态已经从“单模型 + 几个私有工具”演化到“多个模型、多个执行端、多个资源系统、多个 Agent 之间协作”的阶段。如果没有统一协议,每接一个系统都要单独做适配,导致生态碎片化严重。详见后文“### 83. MCP / A2A 这种协议化尝试的价值是什么?为什么 2026 年大家开始关心它?”。

  • 问:Agent memory 该保留什么、不该保留什么?如何避免上下文膨胀和错误长期记忆?

    答:Agent memory 不该追求“什么都记住”,而应该只保留高价值、可复用、相对稳定的信息。通常值得保留的是用户长期偏好、重要身份事实、稳定约束、重复任务经验;不该长期保留的是临时状态、噪声对话、一次性上下文、未经验证的推断,尤其不能把模型猜测当成事实写进长期记忆。详见后文“### 84. Agent memory 该保留什么、不该保留什么?如何避免上下文膨胀和错误长期记忆?”。

#这一块真正考什么

  • 是否理解 Agent 的本质是“感知 -> 决策 -> 调用工具 -> 观察结果 -> 继续决策”的闭环。
  • 是否知道 Agent 系统的主要失败点往往不在语言模型本身,而在编排、状态管理、工具设计和反馈链路。

#作答抓手

回答 Agent 题时,不要只说“会用 LangChain / LangGraph”,而要说清楚:状态怎么存计划怎么做工具怎么选失败怎么回退结果怎么观测