All writing Notes & observations

About Agent Interview

前言

随着 AI Agent 技术的快速落地,Agent 相关岗位(开发工程师、算法工程师、产品经理)已成为 AI 领域的热门方向。面试官的考察维度也从基础概念逐步深入到工程落地、系统设计、安全合规等实战层面。

本文章整理了 2024-2025 年主流大厂(字节、阿里、腾讯、OpenAI 等)的 Agent 面试高频问题,覆盖基础认知、核心技术、工程落地、系统设计、产品设计等全维度,每个问题附带考察点与参考回答思路,帮助你全面备战 Agent 岗位面试。


一、基础认知类面试题

(入门必问,考察候选人对 Agent 的基本理解)

技术岗基础题

  1. 什么是 AI Agent?它与传统的 LLM、Chatbot 有什么本质区别?

    • 考察点:基础概念认知,对 Agent 核心能力的理解

    • 参考回答思路:

      • AI Agent 是具备「感知(Perception) - 规划(Planning) - 行动(Action) - 观察(Observation)」闭环的智能系统,能自主感知环境、决策并执行动作达成目标。

      • 与传统 LLM 的区别:LLM 只是语言生成模型,没有外部行动能力;Agent 以 LLM 为大脑,扩展了工具调用、长期记忆、自主规划能力。

      • 与 Chatbot 的区别:Chatbot 是被动响应的对话工具,Agent 是主动目标驱动的任务执行者,能跨工具协同、自我纠错。

  2. LLM Agent 的核心能力有哪些?

    • 考察点:对 Agent 能力体系的掌握

    • 参考回答思路:

      1. 任务理解与分解:将模糊指令拆解为可执行子任务

      2. 规划与推理:通过 CoT、ReAct 等机制实现多步推理

        • CoT(Chain of Thought)是让模型一步步写出推理过程,适合纯逻辑的任务。
        • ReAct(Reasoning + Acting)是边思考边行动,适合需要外部信息的任务。
      3. 工具调用:自主调用外部 API、数据库、代码解释器等扩展能力

      4. 记忆管理:维护短期 / 长期记忆,维持上下文一致性

      5. 自我反思与纠错:根据执行反馈修正错误路径

  3. 为什么说 LLM 是构建通用 Agent 的理想基座?

    • 考察点:对 Agent 技术栈的底层理解

    • 参考回答思路:

      • LLM 具备强泛化能力,跨领域的常识与语言理解能力

      • 支持零样本 / 少样本推理,无需重新训练即可适配新任务

      • 自然语言接口,能直接理解人类指令,生成可执行逻辑

      • 模块化扩展性,可通过 Function Calling 轻松集成外部工具

  4. Agent 的自主性是什么意思?是不是完全不需要人类干预?

    • 考察点:对 Agent 边界的认知

    • 参考回答思路:

      • 自主性指 Agent 在给定边界内,能独立完成任务解析、工具选择、异常处理,无需人类分步指令。

      • 但自主性不等于完全脱离人类,而是在安全边界内最大化独立决策,高危操作仍需人工确认,同时支持人工在环干预。

  5. Agent 必须是目标导向的吗?

    • 考察点:对 Agent 本质属性的理解

    • 参考回答思路:

      • 是的,目标导向是 Agent 的本质属性。没有目标的话,Agent 会退化为随机响应系统,无法衡量有效性。

      • 目标可以是显式的(用户指令),也可以是隐式的(系统预设,比如 “帮助用户解决问题”)。

产品岗基础题

  1. 你怎么向一个不懂技术的用户解释什么是 Agent?

    • 考察点:技术认知与用户沟通能力

    • 参考回答思路:可以用通俗的例子,比如传统工具是你要一步步指挥:“打开文件、复制文本、打开翻译、粘贴、导出 PDF、发我邮箱”;而 Agent 你只需要说一句 “把这份英文合同译好发我邮箱”,它会自己把所有步骤做完,全程不用你管,就像一个能帮你干活的智能助手。

  2. Agent 和传统的 SaaS 软件有什么区别?

    • 考察点:对产品形态的理解

    • 参考回答思路:传统 SaaS (Software as a Service,软件即服务)是你操作工具,Agent 是工具帮你操作。比如传统的订票软件,你要自己查航班、选时间、填信息、支付;而 Agent 你只需要说 “帮我订下周五去上海的机票,要靠窗的,预算不超 1000”,它会自己帮你完成所有操作,还会根据你的偏好自动筛选。


二、核心技术与架构类面试题

(核心考察,占面试权重的 40% 以上)

推理与规划模块

  1. 什么是 ReAct 框架?它和 CoT(思维链)有什么区别?

    • 考察点:对 Agent 核心推理框架的掌握

    • 参考回答思路:

      • CoT 是让 LLM 一步步写出推理过程,只在模型内部思考,不调用外部工具,适合纯逻辑、不需要外部信息的任务(比如数学题)。

      • ReAct 是「Reasoning+Acting」,交替进行思考和行动,每一步思考后可以调用外部工具获取信息,再根据结果继续思考,适合需要外部信息、复杂交互的任务,比如搜索、工具调用。

      • 简单说:CoT 是 “想了再答”,ReAct 是 “边想边做”。

  2. 什么是 Tree of Thoughts(ToT)?它比 ReAct 强在哪?线上能用吗?

    • 考察点:进阶规划技术的理解与落地能力

    • 参考回答思路:

      • ToT 是把推理过程做成一棵多分支的树,模型可以同时探索多个推理路径,通过 BFS/DFS 探索最优路径,还能回溯无效分支,解决了 ReAct 只能单路径推理、错了就没法回头的问题。

      • 重度的 ToT 确实成本很高,线上不能全量用,但可以做轻量化版本:比如在关键场景,只生成 3-5 个候选路径,用轻量模型快速筛选,比如客服场景,同时生成 3 种不同的回复风格,快速选最优的,ROI (投资回报率)很高。

  3. Plan-and-Execute 和 ReAct 的区别是什么?你会怎么选?

    • 考察点:架构选型能力

    • 参考回答思路:

      • Plan-and-Execute 是先生成完整的执行计划,再一步步执行,适合流程固定、不确定性低的任务,比如生成日报、固定流程的报表,能省成本,因为不用每一步都调用大模型思考。

      • ReAct 是边做边调整,适合不确定性高、用户可能随时改需求的开放任务,比如旅行规划,用户可能中途改目的地,ReAct 能随时调整。

      • 实践中我们会结合:Plan 做主干流程,每个步骤加 ReAct 的检查点,比如调用工具后自动检查结果,不对就立刻修复,兼顾效率和灵活性。

  4. Agent 的任务分解有哪些策略?怎么避免分解得太碎或者太虚?

    • 考察点:规划模块的落地经验

    • 参考回答思路:

      • 常用的策略:分层分解,把大目标拆成高层子任务,再拆成可执行的原子任务;还有 LLM + 规则的混合方式,固定流程的用规则,开放任务用 LLM。

      • 避免问题的方法:一是给 LLM 加分解的示例,few-shot 教它怎么拆;二是加约束,比如子任务不能超过 5 步,每个子任务必须是可执行的原子操作;三是分解完之后做验证,让模型自己检查分解的任务是不是能覆盖原目标,有没有遗漏。

  5. 什么是 Agent 的反思(Reflection)机制?怎么实现?

    • 考察点:Agent 自我迭代能力的理解

    • 参考回答思路:

      • 反思机制就是 Agent 执行完任务后,自己评估结果,分析错误,然后修正策略,相当于自我纠错。

      • 实现方式:比如执行完工具调用后,让 LLM 评估结果是不是符合预期,如果不对,就分析哪里错了,调整参数或者换工具重试;还可以结合外部验证,比如代码写完了跑单元测试,根据测试结果反思修改。

记忆机制模块

  1. Agent 的记忆分为哪几类?各自的作用是什么?

    • 考察点:记忆系统的架构理解

    • 参考回答思路:

      1. 短期记忆:存储当前会话的上下文,比如最近的对话轮次,维持当前任务的连贯性,存在上下文窗口里。

      2. 工作记忆:临时存储当前任务的中间状态,比如 ToT 的候选路径、任务进度,用来支撑当前任务的执行。

      3. 长期记忆:持久化存储历史交互、用户偏好、任务结果,用向量数据库存储,支持跨会话的知识复用,比如用户上次说的过敏信息,下次对话还能记住。

  2. 长对话里,怎么让 Agent 不忘记关键信息?怎么处理上下文窗口超限的问题?

    • 考察点:记忆管理的落地经验

    • 参考回答思路: 我们用三段式记忆法,不是只靠向量检索:

      1. 滚动窗口记忆:最近 3-5 轮对话原样保留,保证当前任务的强相关信息不丢。

      2. 关键实体记忆:用 NER 实时提取用户提到的时间、地点、偏好这些关键实体,存到结构化的知识图谱里,随时能查,比如用户说的花生过敏,永远不会丢。

      3. 周期性摘要记忆:每 10 轮对话,让小模型生成一段结构化的摘要,记录用户的目标、任务进度、关键信息,代替原始的长对话。 查询的时候把这三部分信息按权重融合,既不会丢关键信息,又不会把旧的闲聊信息带进来干扰。

  3. 向量数据库在 Agent 的记忆里起什么作用?怎么选向量数据库?

    • 考察点:记忆存储的技术选型

    • 参考回答思路:

      • 向量数据库用来存长期记忆的嵌入向量,支持语义检索,能把和当前问题相关的历史记忆找出来,注入到上下文里。

      • 选型的话:中小规模的用 Chroma、FAISS 就行,轻量好用;大规模的、需要分布式的用 Milvus、Pinecone,支持高并发、动态扩容;如果是私有化部署,Milvus 的开源版本很合适。

  4. 短期记忆和长期记忆怎么协同工作?

    • 考察点:记忆系统的工作机制

    • 参考回答思路:

      1. 每次用户请求过来,先从长期记忆里检索相关的历史信息,比如用户的偏好、历史任务。

      2. 把检索到的长期记忆,和当前的短期记忆(最近对话)拼接到一起,作为上下文传给 LLM。

      3. 任务完成后,把关键的新信息,比如用户的新偏好、任务结果,写入长期记忆,更新向量数据库。

      4. 优先级上,短期记忆的权重更高,避免过时的长期信息干扰当前任务。

工具调用模块

  1. 什么是 Function Calling?它在 Agent 里扮演什么角色?

    • 考察点:工具调用的基础原理

    • 参考回答思路:

      • Function Calling 是 LLM 的一种能力,能让模型根据用户的需求,输出结构化的函数调用格式,包括函数名和参数,这样系统就能解析这个格式,调用对应的外部工具,把结果返回给模型。

      • 它是 Agent 连接外部世界的接口,让 LLM 从只能生成文本,变成能调用 API、操作数据库、执行代码,真正拥有行动能力。

  2. 工具描述写得再好,模型也瞎传参数怎么办?

    • 考察点:工具调用的落地痛点解决

    • 参考回答思路: 我们做了三层防护:

      1. Schema 层防护:不仅写清楚参数的要求,还要加负面描述,比如明确说 “城市名直接用用户输入的,不要自己从地址里解析”,还要加示例。

      2. 硬校验层:模型输出之后,用 Pydantic 模型做类型校验,比如参数类型不对、枚举值不匹配,直接打回去让模型重试。

      3. 业务兜底层:关键参数要做业务校验,比如订单 ID,先调用校验接口查是不是存在,没问题再往下执行,绝对不把未校验的参数直接发给数据库。

  3. 我们有上百个工具,怎么让模型快速选对工具?

    • 考察点:大规模工具库的选型能力

    • 参考回答思路: 不能把所有工具都发给模型,上下文不够还会干扰判断,我们做了工具路由层:

      1. 用户请求过来,先用 fasttext 小模型快速提取意图关键词。

      2. 用关键词去工具的向量库做语义检索,挑出前 5 个最相关的工具。

      3. 再用一个精调过的 7B 小模型,给这 5 个工具做精细排序,最后只把前 2 个最相关的工具的 schema 发给大模型。 这个流程把工具选择的准确率从 70% 提到了 95% 以上,还省了很多 token。

  4. 工具调用失败了怎么处理?比如接口超时、参数错误?

    • 考察点:容错机制的设计

    • 参考回答思路: 我们有标准的错误分类处理流程:

      1. 如果是网络超时、5xx 错误,用指数退避重试,最多试 2 次。

      2. 如果是 4xx 参数错误,触发参数诊断,用小模型分析错误信息,调整参数后重试。

      3. 如果重试还是不行,而且这个工具是核心路径,就启动备选方案,比如主支付通道挂了,自动切备用通道。 所有的状态都记日志,方便复盘,尽量能完成任务就不直接报错。

  5. Function Calling 和 Tool Use 有什么区别?

    • 考察点:工具调用的进阶理解

    • 参考回答思路:

      • Function Calling 是标准化的,基于 JSON Schema,LLM 输出固定的 JSON 格式,实现简单,兼容 OpenAI 这类主流 API,但是灵活性差,不支持并行调用。

      • Tool Use 是更灵活的自定义格式,支持并行调用多个工具,支持工具依赖、复杂的组合调用,但是实现复杂度高,标准化程度低。

      • 简单场景用 Function Calling,复杂的工具系统用 Tool Use。

  6. 怎么实现工具的组合调用?有哪些模式?

    • 考察点:复杂工具流程的设计

    • 参考回答思路: 常用的四种模式:

      1. 顺序调用:工具按顺序执行,后一个用前一个的结果,比如搜索→分析→生成报告。

      2. 并行调用:独立的工具同时执行,比如同时查天气、查航班、查酒店,提升效率。

      3. 条件调用:根据条件选工具,比如如果有票就订,没票就推荐中转。

      4. 循环调用:重复调用工具直到满足条件,比如批量处理订单。

主流框架与工具

  1. 你熟悉 LangChain 吗?它的核心组件有哪些?

    • 考察点:主流开发框架的掌握

    • 参考回答思路: LangChain 是 Agent 开发的框架,可以用于构建各种类型的 Agent,核心组件有:

      1. LLMs:大模型的封装,兼容各种主流模型。

      2. Tools:工具的抽象,支持各种外部工具的集成。

      3. Agents:Agent 的实现,比如 ReAct Agent、Plan-and-Execute Agent。

      4. Memory:记忆模块,支持各种记忆类型的实现。

      5. Chains:链的抽象,把多个操作串成流程。

      6. Vector Stores:向量数据库的封装,方便记忆存储。

  2. LangGraph 和 LangChain 有什么区别?为什么需要图结构的 Agent?

    • 考察点:框架的进阶理解

    • 参考回答思路:

      • LangChain 是线性的链结构,适合顺序执行的流程,但是很难处理复杂的分支、循环、多 Agent 协作的场景。

      • LangGraph 是把 Agent 的流程做成有状态的图结构,支持循环、分支、持久化的状态,能处理多 Agent 协作、复杂的工作流,比如 MetaGPT 里的多角色协作,就是用 LangGraph 实现的。

      • 简单说,LangChain 做简单的单 Agent 流程,LangGraph 做复杂的多 Agent、带状态的工作流。

  3. AutoGPT 和 BabyAGI 的主要区别是什么?

    • 考察点:主流 Agent 产品的理解

    • 参考回答思路:

      • AutoGPT 是通用的自主 Agent,目标是完成用户的开放任务,能自主规划、调用工具、反思,全流程自主执行,但是容易陷入循环,成本高。

      • BabyAGI 是基于任务优先级的 Agent,它会维护一个任务列表,每次选最高优先级的任务执行,执行完生成新的任务,更聚焦于任务的优先级管理,适合任务管理类的场景。

  4. 多智能体框架比如 MetaGPT、AutoGen,核心原理是什么?

    • 考察点:多 Agent 框架的理解

    • 参考回答思路:

      • MetaGPT 是把软件开发的流程引入多 Agent,给每个 Agent 分配不同的角色,比如产品经理、工程师、测试,模拟公司的协作流程,完成复杂的软件开发任务,它用标准化的通信协议,解决多 Agent 的沟通问题。

      • AutoGen 是支持多 Agent 的对话框架,能让不同的 Agent 之间对话,支持人工在环,能快速搭建多 Agent 协作系统,比如一个 Agent 写代码,一个 Agent 执行,一个 Agent 检查,适合快速原型。


三、RAG 与知识增强类面试题

(Agent 落地的核心模块,高频考察)

  1. RAG 和 Agent 是什么关系?什么时候用 RAG,什么时候用 Agent?

    • 考察点:技术选型能力

    • 参考回答思路:

      • RAG 是检索增强生成,解决的是 LLM 的知识过时、幻觉的问题,它是一种知识增强的技术,很多 Agent 里都会集成 RAG,作为 Agent 的知识工具。

      • 如果只是问答、查资料,不需要复杂的任务执行,用 RAG 就够了;如果需要多步的任务执行、跨工具协同,比如查资料、分析、生成报告、发邮件,那就需要上 Agent,Agent 里可以用 RAG 来做知识增强。

  2. RAG 的完整流程是什么?Chunk Size 怎么选?

    • 考察点:RAG 的基础落地经验

    • 参考回答思路:

      • 流程:文档加载→文本切片→嵌入生成→向量存储→检索→重排→生成。

      • Chunk Size 不是固定的,要看场景:如果是长文档、语义连贯的,比如论文,用 512-1024token;如果是短文本、问答类的,用 128-256;还要看嵌入模型的上下文,比如有的嵌入模型最大 512,那 chunk 就不能超过这个。还要做 overlap,比如重叠 20%,避免把完整的语义切开。

  3. 怎么解决 RAG 里检索不准、检索不到的问题?

    • 考察点:RAG 的优化经验

    • 参考回答思路: 从几个层面优化:

      1. 切片优化:用语义切片,不是按固定长度切,而是按语义段落切,保证 chunk 的语义完整。

      2. 检索优化:用 Hybrid 检索,结合向量检索和关键词检索,解决向量检索漏关键词的问题;还要加重排,用 CrossEncoder 把检索到的结果重新排序,提升准确率。

      3. 查询优化:对用户的 query 做改写,比如把模糊的 query 改写成更适合检索的形式,或者加历史对话的信息,补全 query。

      4. 索引优化:用 GraphRAG,把文档做成知识图谱,解决长文档的关联信息检索的问题。

  4. 什么是 GraphRAG?它解决了什么问题?

    • 考察点:进阶 RAG 技术的理解

    • 参考回答思路:

      • 传统 RAG 是把文档切成独立的 chunk,检索的时候只能找单个 chunk 的信息,没法处理跨 chunk 的关联信息,比如问 “公司 2023 年的营收和 2022 年比增长了多少”,传统 RAG 可能只能找到 2023 的,找不到 2022 的,或者找不到关联的对比信息。

      • GraphRAG 是把文档里的实体、关系提取出来,做成知识图谱,检索的时候不仅查文本,还查实体的关联关系,能找到跨 chunk 的关联信息,适合处理复杂的、需要关联信息的问答,比如企业知识库、财报分析。

  5. RAG 里怎么处理检索到的信息过多或者过少的问题?

    • 考察点:RAG 的实战问题解决能力

    • 参考回答思路:

      • 如果检索到的信息过多,模型可能会被干扰,解决方法是加重排机制,用一个小模型把检索到的结果重新排序,挑出最相关的前 3-5 个;还可以加摘要机制,把检索到的多个 chunk 摘要成一个更精炼的文本。

      • 如果检索到的信息过少,可能是 query 不够好,解决方法是对 query 做改写,比如加上历史对话的信息,或者用一个小模型把用户的 query 改写成更适合检索的形式;还可以放宽检索条件,比如增加 chunk 的数量,或者用更宽松的相似度阈值。

  6. 什么是知识图谱?它在 Agent 里有什么作用?

    • 考察点:知识增强的技术理解

    • 参考回答思路:

      • 知识图谱是把实体和它们之间的关系做成图结构的知识库,比如公司、产品、员工这些实体,以及它们之间的关系,比如 “Alice 是 Bob 的经理”。

      • 在 Agent 里,知识图谱可以作为长期记忆的一部分,支持复杂的查询和推理,比如用户问 “Alice 的经理是谁”,Agent 可以直接在知识图谱里查到;还可以支持复杂的关联查询,比如 “Bob 的同事有哪些”,通过关系链查到。


四、多智能体协作类面试题

(当前热点,高阶岗位必问)

  1. 什么是多智能体系统?它的优势是什么?适合什么场景?

    • 考察点:多 Agent 的基础认知

    • 参考回答思路:

      • 多智能体是多个不同的 Agent 一起协作完成任务,每个 Agent 有自己的专长和角色。

      • 优势:能处理单 Agent 搞不定的复杂任务,比如软件开发,单 Agent 很难同时做产品、开发、测试;能分工协作,每个 Agent 做自己擅长的事,提升效率;还能互相校验,减少错误。

      • 适合的场景:复杂的长任务,比如项目开发、内容创作、企业级的流程自动化,还有需要多角色协作的场景。

  2. 多智能体的协作模式有哪些?

    • 考察点:多 Agent 的架构设计

    • 参考回答思路: 常用的模式:

      1. 主从模式:一个主 Agent 负责规划,分发给子 Agent 执行,比如 MetaGPT 里的协调者。

      2. 对等模式:所有 Agent 都是平等的,互相沟通协作,比如 AutoGen 里的多 Agent 对话。

      3. 流水线模式:Agent 按顺序处理,比如一个 Agent 做数据处理,一个做分析,一个做报告,流水线执行。

      4. 专家模式:不同的专家 Agent,处理不同的领域问题,用户的请求过来,路由给对应的专家 Agent。

  3. 多智能体协作的难点是什么?怎么解决?

    • 考察点:多 Agent 的落地痛点

    • 参考回答思路: 难点和解决方法:

      1. 沟通效率:Agent 之间沟通容易鸡同鸭讲,解决方法是定义标准化的通信协议,比如统一的消息格式,让 Agent 之间能互相理解。

      2. 死锁和循环:A 等 B,B 等 A,卡住了,解决方法是加超时机制、循环检测,还有状态机管理,限制状态转移。

      3. 冲突解决:多个 Agent 的输出矛盾,解决方法是加仲裁 Agent,负责协调冲突,或者用投票机制。

      4. 责任归属:出错了不知道是谁的问题,解决方法是完整的日志,每个 Agent 的操作都记下来,方便溯源。

  4. 多 Agent 里怎么解决 Agent 之间的沟通问题?

    • 考察点:多 Agent 的通信设计

    • 参考回答思路: 一是定义统一的通信语言,比如用结构化的消息格式,每个消息都有发送者、接收者、内容类型、时间戳,避免乱码;二是做共享的上下文池,所有 Agent 都能访问共享的状态和信息,避免信息不对称;三是加记忆机制,Agent 能记住之前的对话,不会重复问问题。


五、工程落地与性能优化类面试题

(大厂最看重的实战能力,字节 / 阿里高频真题)

  1. 怎么降低 Agent 系统的端到端延迟?

    • 考察点:性能优化经验

    • 参考回答思路: 从几个层面优化:

      1. 模型选型:简单任务用小模型,比如意图识别、摘要,用 7B 的小模型,复杂任务用大模型,混合调度。

      2. 并行执行:独立的工具并行调用,不用串行等,比如同时查天气和航班,省时间。

      3. 流式输出:把中间结果流式返回给用户,不用等全部做完,提升体验。

      4. 缓存:热点的查询、工具结果做缓存,比如用户经常查的天气,缓存下来,不用重复调用。

      5. Prompt 优化:精简 prompt,去掉冗余的信息,减少 token,提升模型的响应速度。

  2. 怎么降低 Agent 的成本?

    • 考察点:成本控制能力

    • 参考回答思路:

      1. 缓存:相似的请求、工具结果缓存,避免重复调用大模型和 API。

      2. 模型分层:简单的任务用小模型,比如摘要、工具路由,用小模型,只有复杂的推理用大模型,大模型的调用成本降下来。

      3. Token 优化:压缩上下文,用摘要代替长对话,精简工具描述,减少 token 消耗。

      4. 批处理:批量处理任务,提升 GPU 的利用率,降低推理成本。

  3. Agent 怎么处理模糊需求?比如用户说 “按老样子帮我订一下”?

    • 考察点:用户体验的落地

    • 参考回答思路: 我们用 “先猜后问” 的策略:

      1. 先去查用户的历史订单,找出最近的、频次最高的、用户标记过的偏好订单,生成 1-3 个候选。

      2. 然后把候选抛给用户确认,比如 “你是想订上次那家 XX 酒店,还是上周的航班?”,不用让用户重新说一遍,也不会自己瞎猜直接执行。

  4. 怎么防止 Agent 无限循环、一直执行不停止?

    • 考察点:流程控制的设计

    • 参考回答思路: 多层控制机制:

      1. 最大迭代次数:设置最大的执行轮数,到了就停止。

      2. 超时控制:任务最多执行 5 分钟,超时就终止。

      3. 循环检测:检测最近的执行是不是重复了,比如连续 3 次调用同一个工具,参数都一样,就判定是循环,停止。

      4. 目标检查:每一步都检查是不是已经达成目标了,达成了就立刻停止。

  5. Agent 的幂等性是什么意思?为什么重要?

    • 考察点:工程落地的基础认知

    • 参考回答思路: 幂等性就是同一个工具调用,执行一次和执行多次的结果是一样的,不会因为重试就产生副作用,比如重复支付。 因为 Agent 的工具调用经常会重试,如果工具不是幂等的,重试就会出问题,比如用户订机票,重试了一次就买了两张票,所以工具必须设计成幂等的,或者加幂等令牌,保证重试不会出问题。

  6. 什么是Prompt Engineering?在 Agent 的落地中有哪些实用的技巧?

    • 考察点:Prompt 优化的实战经验

    • 参考回答思路:

      • Prompt Engineering 是设计和优化给 LLM 的输入提示,以引导模型生成更准确、相关的输出。

      • 实用技巧:

        1. 明确角色和任务:在 prompt 里明确告诉模型它是什么角色,要完成什么任务,比如 “你是我的智能助理,帮我订机票”。

        2. 提供示例:用 few-shot(少量示例)的方式给模型示例,告诉它正确的输入输出格式。

        3. 加约束:明确告诉模型不能做什么,比如 “不要自己编信息,所有数据都要通过工具获取”。

        4. 分步提示:把复杂的任务分成几个步骤,在 prompt 里一步步引导模型完成。

  7. Agent 的 Prompt 和传统的 Prompt 有什么区别?

    • 考察点:对 Agent 产品形态的理解

    • 参考回答思路: Agent 的 Prompt 更复杂,不仅要包含任务描述,还要包含工具的描述、调用格式、错误处理机制、反思机制等,甚至还要包含多 Agent 协作的通信协议,而传统的 Prompt 可能只是简单的问答或者指令,Agent 的 Prompt 是一个完整的操作手册,指导模型如何在复杂的环境里完成任务。

  8. Prompt Engineering、Context Engineering 和 Harness Engineering 之间有什么关系?

    • 考察点:对 Agent 相关技术的整体理解

    • 参考回答思路:

      • Prompt Engineering 是设计给 LLM 的输入提示,指导模型生成正确的输出。

      • Context Engineering 是设计和管理模型的上下文信息,包括记忆、工具描述、历史对话等,确保模型有足够的信息来完成任务。

      • Harness Engineering 是构建整个 Agent 系统的工程实践,包括模型调用、工具集成、流程控制、监控等,确保 Agent 能稳定、高效地运行。

      • 三者关系:Prompt Engineering 是 Context Engineering 的一部分,Context Engineering 是 Harness Engineering 的一部分,三者相辅相成,共同支撑 Agent 的落地。


六、安全、合规与风险控制类面试题

(企业落地的核心痛点,必问)

  1. Agent 的安全性怎么保障?怎么防止 Prompt Injection?

    • 考察点:安全防护的设计

    • 参考回答思路: 多层安全防护:

      1. 输入过滤:检测用户输入里的恶意注入内容,比如 “忽略之前的指令” 这类的,过滤掉。

      2. 沙箱隔离:代码执行、工具调用都放在沙箱里,隔离环境,不会影响主机。

      3. 权限控制:最小权限原则,Agent 的操作账号只有最小的权限,比如不能删库,不能改核心数据,高危操作必须要人工确认。

      4. 输出过滤:过滤输出里的敏感信息,防止泄露。

      5. 审计日志:所有的操作都记日志,出了问题能溯源。

  2. 如果 Agent 的决策出错了,比如误删了数据,系统怎么防范?

    • 考察点:风险控制的落地

    • 参考回答思路: 核心是可审计、可回滚、最小权限:

      1. Dry-run 模式:所有的写操作、删除操作,先返回预览,让用户确认了再执行,不会直接就删。

      2. 操作分级:高危操作,比如删除、支付,不仅要用户确认,还要通知第二责任人,比如主管,双重确认。

      3. 可回滚:所有的修改操作都做备份,出错了能一键回滚。

      4. 完整日志:每个操作的完整过程,包括思维链、参数、结果,都记下来,能一键重现,定位问题。

  3. Agent 的权限控制怎么做?

    • 考察点:企业级安全的设计

    • 参考回答思路: 基于 RBAC 的权限控制:

      1. 给不同的用户、不同的 Agent 分配不同的角色,每个角色有不同的工具权限,比如普通用户的 Agent 不能调用财务的工具。

      2. 工具本身也有权限,比如查询订单的工具,只能查当前用户的订单,不能查别人的。

      3. 敏感操作的审批流,比如超过 1000 块的支付,需要上级审批。

  4. Agent 可能有哪些伦理风险?怎么缓解?

    • 考察点:合规与伦理的认知

    • 参考回答思路: 风险比如:生成有害内容、越权操作、数据泄露、偏见。 缓解的方法:

      1. 对齐模型,用 RLHF、宪法 AI,让模型的输出符合伦理。

      2. 内容安全检测,输入输出都做安全过滤,防止有害内容。

      3. 数据脱敏,用户的敏感数据做脱敏,Agent 处理的时候看不到原始的敏感信息。

      4. 人工在环,高危操作必须人工确认,不能让 Agent 自己执行。


七、评估与可观测性类面试题

(生产落地的必备能力)

  1. 怎么评估一个 Agent 的好坏?有哪些指标?

    • 考察点:评估体系的设计

    • 参考回答思路: 三维的评估指标:

      1. 效能维度:任务完成率、平均完成步数、平均耗时、Token 成本。

      2. 质量维度:结果准确率、工具调用准确率、用户满意度、一次解决率。

      3. 鲁棒性维度:异常处理成功率、自修复触发率、平均无故障运行时间。 而且每次失败都要归因,是意图理解的问题,还是规划、工具、记忆的问题,驱动迭代。

  2. Agent 的可观测性要做哪些?

    • 考察点:生产监控的设计

    • 参考回答思路: 要监控几个部分:

      1. 执行日志:完整的执行轨迹,包括每一步的思考、工具调用、参数、结果,能复盘整个过程。

      2. 性能指标:响应时间、任务完成率、成本、错误率,做监控看板。

      3. 异常告警:比如错误率突增、成本突增、循环执行,立刻告警。

      4. 用户反馈:收集用户的反馈,比如结果对不对,有没有问题,用来迭代。

  3. Agent 的幻觉怎么缓解?

    • 考察点:质量控制的经验

    • 参考回答思路: 系统性的缓解:

      1. 工具调用的结果校验:所有的外部信息都来自工具,不让模型自己编,比如查天气,必须用 API 的结果,不能模型自己编。

      2. 事实核查:生成结果之后,用检索的信息做事实核查,看是不是有依据。

      3. 反思机制:让模型自己检查结果,有没有错误,有没有幻觉。

      4. 引用来源:生成结果的时候,带上信息的来源,用户能验证。


八、系统设计与场景题

(面试压轴题,考察架构设计能力)

  1. 请设计一个企业内部的知识库问答 Agent,你会怎么设计架构?

    • 参考思路: 架构分为几层:

      1. 接入层:用户的输入,支持文本、文件、多模态输入。

      2. 意图解析层:解析用户的问题,判断是问答还是任务。

      3. 记忆层:短期记忆存当前对话,长期记忆用向量数据库存用户的历史和知识库的向量。

      4. RAG 层:检索知识库的相关信息,做重排,给 LLM 做参考。

      5. Agent 层:如果是简单问答,直接生成;如果是复杂任务,比如查多个文档、分析数据,用 Agent 规划,调用不同的工具。

      6. 工具层:支持知识库检索、数据库查询、代码执行、内部系统的 API。

      7. 安全层:权限控制,不同的用户只能看自己有权限的文档,输入输出过滤,审计日志。

      8. 监控层:评估指标、日志、告警。

  2. 设计一个自动订票的 Agent,要考虑哪些问题?

    • 参考思路:

      1. 需求解析:处理模糊需求,比如 “下周五去上海”,提取时间、地点、偏好,模糊的主动追问。

      2. 规划模块:分解任务:查航班→选航班→填信息→支付→发确认。

      3. 工具层:航班查询 API、用户信息查询、支付 API、邮件 API。

      4. 异常处理:没票怎么办?推荐中转或者改时间;支付失败怎么办?重试或者切通道。

      5. 记忆模块:存用户的偏好,比如靠窗、航空公司偏好,还有历史订单。

      6. 安全控制:支付必须用户确认,权限控制,只能订用户自己的票,日志审计。

      7. 状态管理:任务的状态,做到一半用户退出了,下次能恢复。

  3. 设计一个客服 Agent,怎么平衡自动化和人工介入?

    • 参考思路:

      1. 意图识别:先判断问题的复杂度,简单的问题,比如查订单、改地址,Agent 自动处理。

      2. 置信度判断:如果 Agent 的回答置信度很低,比如低于 0.8,或者遇到解决不了的问题,自动转人工。

      3. 人工在环:高危操作,比如退款、改订单,Agent 生成方案,人工确认了再执行。

      4. 无缝切换:转人工的时候,把 Agent 的对话历史、处理进度都传给人工客服,不用用户重新说一遍。

      5. 反馈迭代:人工处理的问题,用来迭代 Agent 的模型,让 Agent 以后能自己处理。

  4. 设计一个支持百万级用户的 Agent 平台,架构怎么设计?

    • 参考思路:

      1. 接入层:负载均衡,网关,处理用户的请求。

      2. 调度层:任务调度,把用户的任务分发给执行节点,做资源隔离。

      3. 模型层:模型服务,弹性扩缩容,支持不同的模型,小模型处理简单任务,大模型处理复杂的。

      4. 工具层:工具的注册、管理、路由,统一的工具调用网关,做鉴权、限流。

      5. 存储层:向量数据库集群,存长期记忆,关系数据库存状态、日志,缓存层存热点数据。

      6. 安全层:统一的权限控制、安全过滤、审计。

      7. 监控层:全链路的监控、告警、可观测性。

      8. 弹性扩缩容:根据流量自动扩缩容,应对峰值。


九、项目经验深挖类面试题

(面试官必问,考察真实落地能力)

  1. 讲一下你做过的 Agent 项目,核心目标是什么?你负责的模块是什么?

  2. 这个项目里最大的技术难点是什么?你是怎么解决的?

  3. 项目上线后的效果怎么样?用什么指标衡量的?

  4. 你在项目里做了哪些优化?带来了什么提升?

  5. 项目里遇到过什么线上问题?怎么排查和解决的?

  6. 如果让你重新做这个项目,你会优化哪些地方?

  7. 你做的 Agent 和市面上的同类产品比,有什么优势?