Agent一些题目总结

发布时间:2026/6/28 2:36:22
Agent一些题目总结 2025 年以来Agent 已经从“概念热词”变成了“岗位刚需”。字节、阿里、百度、腾讯的招聘 JD 里Agent 相关的岗位数量翻了好几倍面试官也从“你听说过 Agent 吗”进化到了“你们生产环境的 Agent 怎么做的踩过什么坑”。只会背概念已经远远不够了。面试官要的是你能把 Agent 的底层原理讲清楚能把 Function Call、MCP、A2A 这些协议的关系理顺能在系统设计题里给出落地方案。这篇文章把 Agent 面试从底层到实战的核心考点全部梳理一遍认真看完面试不再怕被追问。一、LLM 和 Agent 有什么区别这是最基础也最高频的面试题。面试官通常会这样问“你们项目里用的是 LLM 直接调用还是 Agent为什么这么选”LLM 的四大天花板LLM大语言模型本质上是一个条件概率模型——给它一段输入 token它预测下一个 token 最可能是什么。你可以把它当成一个无状态的函数输入 Prompt输出文本。每次调用都是独立的没有记忆没有状态对外部世界一无所知。但这带来了四个根本性局限只会说不会做——它能告诉你“你可以去天气 App 查一下”但它自己不会去查。没有记忆——上下文窗口一满就“失忆”跨会话什么都没留下。知识截止——训练数据有截止日期昨天发生的事它不知道。不会规划——你让它“做一份竞品分析”它只会线性回答不会自己拆解步骤。Agent 是什么一句话Agent LLM 工具 记忆 规划在循环中自主完成目标。用例子说明本质区别最清楚任务帮我查一下明天北京的天气如果下雨就取消我日历里的跑步计划。LLM告诉你“可以打开天气 App 查询……建议取消户外运动……”Agent调用天气 API → 查到中雨 → 调用日历 API 找到跑步计划 → 调用日历 API 删除计划 → 回复“已为您取消”LLM 告诉你怎么做Agent 直接帮你做完。这就是本质区别。面试加分点Agent 的完整四模块面试时别只说“Agent 就是 LLM 加工具”要展开讲四个模块模块角色职责LLM大脑理解意图、推理判断核心决策引擎规划模块任务拆解、步骤排序把大目标拆成小步骤记忆模块短期上下文 长期知识存储跨会话记忆工具模块调用外部 API、数据库、代码执行器Agent 的“手和脚”二、Agent 和 Workflow 有什么区别面试官会追问“你说你用了 Agent为什么不用 Workflow如何判断一个任务该用 Agent 还是 Workflow”核心区别谁在控制流程这两者最核心的分歧只有一点Workflow 的控制权在代码手里Agent 的控制权在 LLM 手里。Workflow把流程提前写死在代码里LLM 只是其中某些节点的处理器。每个 if/else 分支、每个步骤的顺序都是开发者预先定义的。Agent接收到目标后自主规划执行路径。每一步都是 LLM 自己决定的不在代码里写死。同一个 Agent面对不同的任务可能会走完全不同的路径。量化对比维度WorkflowAgent控制者代码/开发者LLMToken 消耗低约1x高约4-8x可预测性高低灵活性低高适合任务固定流程开放式目标调试难度容易困难实际生产混合架构最常见别把 Workflow 和 Agent 对立起来。大多数生产系统是Workflow Agent 的混合架构——Workflow 提供稳定骨架Agent 负责处理异常和复杂情况。比如智能客服系统简单问题走 Workflow 直接回答复杂问题启动 Agent 自主分析决策。能说出这个面试官就知道你做过实际项目。三、Agent 有哪些工作模式面试官会问“你了解 ReAct 吗除了 ReAct 还有哪些 Agent 工作模式各自的优缺点是什么”模式一ReAct推理 行动最经典的 Agent 工作模式几乎所有主流框架LangChain、LangGraph的默认选择。ReAct 的核心是一个三步循环Thought思考→ Action行动→ Observation观察→ 回到 Thought直到任务完成。textThought: 用户想查北京明天天气我需要调用天气工具 Action: get_weather(city北京, date明天) Observation: {city:北京,weather:中雨,temp:14-20°C} Thought: 天气查到了是中雨。我应该告诉他结果 Action: 结束生成最终回答优点透明可审计每步思考看得见、灵活适应、通用性强缺点Token 消耗大、可能死循环、延迟高如何防止 ReAct 死循环面试高频追问这是必考题三个方法要能脱口而出最大步数限制——通常设 15 步超过就强制终止重复动作检测——连续 3 次调用同一个工具且参数相同直接退出循环超时控制——整个任务设置最大执行时间模式二Plan-and-Execute先规划再执行ReAct 的问题是每一步都要重新思考全局Token 消耗太大。Plan-and-Execute 的思路是先把计划想清楚再按计划逐步执行。Token 消耗对比ReAct 消耗 100%Plan-and-Execute 消耗约 20%。模式三Reflection自我反思让一个 Agent 生成另一个 Agent 审查循环迭代直到质量达标。适用于代码生成、法律文书、学术论文等对输出质量要求高的场景。面试加分Reflection 也可以用于自我校正幻觉。当 Agent 发现自己给出的事实存疑时可以触发“验证反思”调用搜索工具去核实。模式四Multi-Agent多智能体协作多个专业 Agent 协作完成复杂任务。重要提醒不要过早引入 Multi-Agent。一个强大的单 Agent 往往比多个简单 Agent 协作更稳定、更省钱。只有任务明确需要并行处理或专业分工时才引入多 Agent。四、Function Call 是什么底层怎么实现面试官会问“Function Call 和普通的 Prompt 正则解析有什么区别LLM 自己执行 Function Call 吗”关键认知LLM 自己并不执行函数Function Call 是让 LLM 输出结构化的工具调用指令再由应用程序实际执行。LLM 只告诉你“我想调用什么函数、传什么参数”真正执行的是你的代码。Function Call 四步流程Step 1定义工具——告诉 LLM 有哪些工具可用用 JSON Schema 描述工具名称、参数等Step 2LLM 判断并生成调用指令——LLM 的输出不是普通文本而是结构化的 JSONStep 3你的代码解析执行——拿到 LLM 的调用指令后真正去执行函数Step 4把结果传回 LLM——工具执行结果传回 LLM生成最终回答Parallel Function Call并行调用GPT-4o 和 Claude 3.5 都支持一次返回多个工具调用可以并行执行。串行执行 T T1 T2 T3并行执行 T max(T1, T2, T3)延迟大幅降低。五、MCP 是什么协议解决什么问题面试官会问“MCP 和 Function Call 有什么本质区别如果给团队接入 10 个外部工具你会用 MCP 还是直接写 Function Call”MCP 解决的根本问题N × M 爆炸没有 MCP 之前每个 AI 应用要跟每个外部服务单独写一套集成代码。3 个应用 × 3 个工具 9 套代码10 个应用 × 20 个工具 200 套代码。MCP 把这个问题变成了N M每个应用只需接入 MCP 协议每个工具只需实现一个 MCP Server。MCP 架构MCP 由三个角色组成MCP Host你使用的 AI 应用Claude Desktop / Cursor / 你自己的 AgentMCP Client住在 Host 里负责和 Server 通信的“翻译官”MCP Server对外暴露具体工具能力的服务端MCP 的工具发现机制这是 MCP 最强大的特性之一Agent 启动时动态扫描所有 MCP Server获取工具列表并注入 LLM 的上下文。这意味着 Agent 可以在运行时动态发现新能力不需要重新部署代码。今天加一个 Slack MCP Server明天 Agent 就能用 Slack 的能力了。MCP 底层协议本地通信stdio标准输入输出远程通信HTTP SSEServer-Sent Events支持流式消息格式基于JSON-RPC 2.0规范六、Function Call、MCP、Skills 三者区别与协作面试官会问“这三个东西我感觉都是让 Agent 能干更多事能用一个统一的比喻讲清楚吗”用“新员工入职”来类比Function Call打电话的基础能力MCP公司统一的通讯录和电话系统Skills岗位培训手册技术层面的三维对比Function CallMCPSkills解决的问题LLM 如何调用函数工具集成标准化领域知识编码运行位置你的应用程序外部 MCP ServerAgent 上下文窗口技术本质API 协议通信标准提示词扩展标准化程度各厂商不统一开放统一标准无统一标准一句话总结Skills 决定「怎么想」→ MCP 决定「用什么」→ Function Call 决定「怎么调」。七、A2A 协议是什么和 MCP 的关系面试官会问“MCP 和 A2A 都是协议它们有什么区别”为什么需要 A2AMCP 解决了Agent ↔ 工具的连接但没有解决Agent ↔ Agent的连接。Agent A 想请求 Agent B 帮忙完成一个子任务面临的问题不知道 Agent B 有什么能力、不知道怎么给 Agent B 发任务、不知道 Agent B 完成没有、不同框架做的 Agent 怎么通信。MCP vs A2A互补而非替代MCP 解决纵向问题Agent ↔ 工具一个 Agent 连接多个外部服务A2A 解决横向问题Agent ↔ Agent多个 Agent 之间协作两者互补不互相替代。Agent 内部用 MCP 调工具Agent 之间用 A2A 协作。八、Agent 的记忆系统怎么设计面试官会问“Agent 怎么实现跨会话记忆RAG 是 Agent 记忆的一部分吗”记忆的两种层次上下文窗口In-Context Memory——速度最快的短期记忆存当前对话、任务状态、加载的 Skill、工具调用历史。但容量有限通常 128K tokens。外部记忆External Memory——分三类存储类型存什么特点向量数据库用户偏好、历史经验语义检索模糊匹配关系数据库结构化事实、用户档案精确查询KV 存储Redis任务状态、中间结果极快读写会话级别记忆压缩策略上下文快满的时候怎么办三种策略滑动窗口——丢弃最旧的消息保留最近 N 条摘要压缩——用 LLM 把旧对话总结成一段话重要性过滤——只保留关键信息丢弃过程细节九、Agent 的安全与可靠性如何保障面试官会问“如果 Agent 要操作数据库怎么保证它不会误删数据什么是 Prompt Injection怎么防御”核心防御最小权限 Human in the Loop最小权限原则读任务只给 SELECT 权限不给 DELETEMCP Server 声明工具时限制操作范围不同环境使用不同凭证Human in the Loop人类审批高风险操作暂停请求人类确认。必须人工审批的操作删除数据、发送外部邮件、修改权限配置、超过阈值的资金操作。Prompt Injection 防御面试高频数据/指令分离——外部内容放在明确的数据区域和系统指令区分开输入过滤——检测并标记可疑内容Prompt 模板隔离——用户输入不直接拼入系统提示词上下文标记——明确标记哪些是外部数据、哪些是系统指令十、RAG 和 Agent 是什么关系面试官会问“RAG 和 Agent 有什么区别什么时候用 RAG什么时候用 Agent”RAG vs AgentRAGAgent目的补充知识完成任务流程固定检索→生成动态思考→行动工具使用仅检索工具任意工具自主性无有RAG 是 Agent 的一个工具别把 RAG 和 Agent 对立起来。Agent 把 RAG 当作工具之一当 Agent 判断需要知识时 → 调用 RAG 检索工具当 Agent 判断需要操作时 → 调用 API/数据库工具当 Agent 判断需要计算时 → 调用代码执行工具面试时说出这个关系比单纯对比两者的区别要有深度得多。十一、大厂真实面试追问汇总系统设计类Q设计一个企业级 Agent 系统需要考虑哪些点必答五个要点工具管理层——MCP Server 统一管理工具权限分级调用审计日志记忆与状态——短期上下文管理 长期向量数据库 会话 Redis可靠性保障——最大步数限制、超时控制、人工审批、熔断机制可观测性——完整 Trace、Token 消耗监控、错误分类统计安全——Prompt Injection 防御、最小权限原则、数据脱敏QAgent 的 Token 消耗很大怎么优化成本工具选择优化——只给 Agent 真正需要的工具模式选择——简单任务用 Workflow复杂任务用 Plan-and-Execute上下文压缩——摘要压缩历史对话模型路由——简单子任务用小模型复杂推理才用大模型缓存——工具调用结果缓存、Prompt 缓存工程实践类Q你们生产环境的 Agent 踩过什么坑坑解法死循环工具持续失败 Agent 反复重试最大步数 相同动作检测幻觉工具调用调用不存在的工具严格校验工具名未知工具直接报错上下文污染历史对话影响当前判断合理截断上下文 任务重置机制Token 爆炸工具返回超大数据工具输出截断 分页策略Prompt Injection外部数据含恶意指令数据/指令分离