Agent AtlasAI Agent 知识库
07.02参考 · Reference

Agent 面试 60 问

从基础概念到系统设计,按难度分层的 60 个问题,附答题要点与追问方向。

60 个问题,按难度分组。先自己回答,再看要点。能白板画出架构、说清失败模式,比背定义有用。

基础(1–15)

1. 什么是 AI Agent? 以 LLM 为决策核心,能调用工具、观察结果、持续行动以达成目标的系统。四要素:目标、行动能力、反馈闭环、运行时控制流。

2. Agent 和固定工作流的本质区别? 控制流由谁决定。工作流由代码预先定义,Agent 由模型在运行时根据观察选择下一步。前者可预测,后者能处理无法枚举的路径。

3. 什么时候不该用 Agent? 步骤可枚举、量大、延迟敏感、错误不可逆、没有验证信号时。优先用工作流,只在不确定节点引入模型判断。

4. ReAct 是什么? Reason + Act:模型交替推理与行动,工具结果作为观察回填上下文,直到满足终止条件。核心价值是让模型在推理中途获得新信息。

5. Function Calling 是模型在执行函数吗? 不是。模型只按 Schema 生成调用请求(工具名 + 参数),由宿主程序执行并回传结果。权限、副作用、校验都由代码负责。

6. 为什么 Agent 需要工具? 模型只有训练数据,不能查实时信息、不能改变外部状态、不能精确计算。工具是它与真实世界之间的接口。

7. 上下文窗口和 token 是什么关系? 窗口是单次调用能容纳的 token 上限,包括系统提示、历史、工具定义、检索内容和输出。窗口大不代表有效,成本和注意力仍随长度变化。

8. temperature 和 top_p 分别控制什么? temperature 控制随机性,top_p 控制采样候选集合。通常只调一个。Agent 的工具调用/抽取建议低温,创意任务可以高一些。

9. 什么时候用推理模型? 复杂规划、多约束决策、数学/代码难题、终审。简单分类、抽取、改写用通用或小模型,避免为每一步支付推理成本。

10. 幻觉的根因和缓解? 模型在不确定时仍生成看似合理的内容。缓解:检索接地、要求引用、允许说不知道、代码校验关键数字、评估「资料不足」场景。

11. 什么是 grounding? 把输出锚定到可验证的外部事实:检索文档、数据库记录、工具返回。带引用的回答是最常见的工程手段。

12. Agent 的自主性应该怎么分级? 按动作风险:读操作可自主,写操作需确认或限额,不可逆/高危动作必须人工审批或禁止。不要整个系统统一一个档位。

13. 多轮对话怎么管理? 保留最近 N 轮原文 + 早期摘要 + 结构化状态(目标、事实、决策、未决)。摘要必须有损、定长,并保留关键决策与失败。

14. 为什么相同输入会得到不同输出? 采样随机性、并行计算、模型版本、工具结果、上下文顺序都可能影响。确定性要靠代码、校验和固定版本,不能只靠 temperature=0。

15. 如何快速判断一个需求该不该用 Agent? 问四件事:步骤能否枚举?失败能否检测?错误代价可接受吗?收益大于成本吗?四个都偏向「是」,再考虑 Agent。

上下文与提示(16–25)

16. 什么是 context rot? 上下文越长,模型对关键信息的利用率反而下降:忽略中段、被噪声带偏、前后不一致。窗口大不解决问题,选择和压缩才解决。

17. 上下文工程的四个动作? 写入(状态外部化)、选择(检索/过滤/重排)、压缩(摘要/抽取)、隔离(子 Agent/沙箱/分阶段)。

18. 压缩历史时必须保留什么? 目标与进度、已确认事实及来源、做过的决定及理由、失败尝试、未完成事项、用户偏好与约束。寒暄和重复内容可以丢。

19. 长文档应该怎么放进上下文? 不要整篇塞入。按标题/页码切分,检索相关段落;需要全文时用工具按页读取;子 Agent 读完只回传结论与引用。

20. 一个可维护的系统提示包含哪些部分? 身份与目标、工具规则(何时用/不用)、工作流程、约束与失败处理、输出契约、示例、优先级。

21. Few-shot 示例常见的坑? 示例太长、只有正例、与规则矛盾、与线上分布不符。示例应来自真实数据,覆盖边界与反例。

22. 如何让结构化输出稳定? 严格 Schema、扁平结构、枚举、真实必填、null 出口、清晰描述;服务端校验 + 一次修复;统计字段级失败率。

23. 工具定义也占 token 吗? 占,而且每次调用都算。工具越多、描述越长,固定成本越高。控制工具数量、精简描述、按需加载。

24. 提示注入能靠系统提示防住吗? 不能根治。提示词只能降低概率,真正的边界是最小权限、内容隔离、出站白名单、沙箱和人工审批。

25. 提示词如何做版本管理? 与代码一起入库,有版本号/哈希,记录每次运行使用的版本;改动跑评估集,支持灰度与回滚。

架构与规划(26–38)

26. 画一下 Agent 的五层架构。 交互层、编排层、能力层(模型/工具/检索)、状态层、治理层(权限/预算/审计/监控)。

27. 单循环和图编排怎么选? 短任务、无暂停需求用单循环;需要人工审批、长任务、恢复、多分支时用图/状态机。图的价值是可恢复与可观测。

28. Agent 状态应该包含什么? 目标、状态、计划、当前步骤、带来源的事实、产物、最近消息、预算、错误记录、trace_id。

29. 检查点和事务的区别? 检查点保存流程状态,不等于外部副作用已提交。恢复时要检查副作用是否发生,写操作必须幂等或对账。

30. Plan-and-Execute 和 ReAct 的取舍? Plan 有全局视野、可审查,但计划可能过时、需要重规划;ReAct 灵活、适应性强,但容易短视、绕路。

31. 任务分解到什么粒度? 每步单一责任、有明确工具与输入、有可观察的完成判据。太粗无法定位失败,太细协调成本超过收益。

32. 反思什么时候有效? 有外部信号时:测试、检索证据、规则校验、独立评审。没有新信息的自我反思,多数是自我肯定。

33. Reflexion 的核心是什么? 失败后把原因写成语言化经验存入记忆,下次带着教训重试。关键不是重试次数,而是经验是否可复用。

34. 多 Agent 的真正收益? 上下文隔离、职责专业化、并行、独立验证。不是「多个模型更聪明」。

35. 主管模式怎么工作? 主管持有全局目标与预算,拆解任务、分派给子 Agent、汇总结果;子 Agent 只拿局部任务与必要背景。

36. 多 Agent 交接必须包含什么? 目标、已完成、带来源的发现、未决问题、约束、输出 Schema、截止时间。否则下游会重复劳动或丢信息。

37. 多 Agent 为什么容易贵? 每个 Agent 都要系统提示、工具定义、任务背景;协调轮数增加调用;错误传播导致返工。成本常是单 Agent 的数倍。

38. 人工审批应该怎么建模? 作为可挂起的节点,而不是阻塞等待。展示动作、参数、影响范围、不可逆性;状态落库,审批后从检查点恢复。

工具、RAG 与 MCP(39–48)

39. 好工具描述的要点? 用途、何时用、何时不用、参数含义与约束、返回结构、副作用、是否可重试。名称用动词 + 名词。

40. 工具错误应该怎么返回? 结构化:code、message、retryable、details、可尝试的修正。不要只返回「失败」或堆栈。

41. 什么是幂等,为什么重要? 重复调用不会产生额外副作用。Agent 会因超时重试,非幂等写操作会导致重复退款、重复发送。用服务端生成的幂等键。

42. 什么时候可以并行工具调用? 调用彼此独立、无数据依赖、无写冲突时。有依赖必须串行;写操作并行需要幂等与并发控制。

43. 描述 RAG 的完整链路。 解析 → 切分 → Embedding/索引 → 查询改写 → 混合召回 → 重排 → 上下文组装 → 带引用生成 → 校验。

44. 切分策略怎么定? 结构优先(标题/段落),长度兜底,保留 10%–15% 重叠;每块带文档 ID、标题路径、页码、版本、权限。

45. 为什么需要混合检索和重排? 向量擅长语义,BM25 擅长精确匹配;混合提高召回。重排对候选做精细排序,提高 top-k 精度,但增加延迟。

46. RAG 应该怎么评估? 分开看检索(Recall@k、MRR)与生成(忠实性、相关性、引用准确),再加端到端通过率、延迟与成本。

47. Agentic RAG 和普通 RAG 的区别? 由模型决定是否检索、如何改写、结果是否足够,可多轮补充;适合多跳问题,但更贵、更难评估,需要停止条件。

48. MCP 的三角色和三原语? Host、Client、Server;Tools、Resources、Prompts。MCP 连接工具与数据,不负责 Agent 编排。

工程与评估(49–56)

49. 框架选型的核心标准? 语言与团队、任务长度、是否需要 HITL/持久化、模型锁定、可观测性、部署环境、可读源码。简单任务可以不用框架。

50. 模型选型看什么? 业务黄金集成功率、工具调用、指令遵循、长上下文、延迟、成本与合规。公开榜单只做初筛。

51. 降成本最有效的手段? 模型路由/级联、提示缓存、上下文裁剪、工具结果摘要、输出限制、结果缓存。按「每任务成本」衡量。

52. 评估分哪四层? 单元(工具/Schema)、轨迹(步骤/工具选择)、端到端(任务完成)、线上(成功率/接管率/成本)。

53. LLM-as-a-Judge 怎么用才可靠? 明确评分标准、成对比较、随机顺序、控制长度偏见、多次采样、人工校准、记录理由。评委与选手尽量不同家族。

54. 黄金集怎么构建? 50–200 条,覆盖顺利路径、边界、信息不足、对抗、历史失败;来自真实数据;存必须调用/禁止调用/关键事实/引用。

55. 可观测性最少要记录什么? trace/span、模型与提示版本、token、耗时、工具参数与结果摘要、错误、业务 ID。敏感信息脱敏。

56. 可靠性五件套? 超时、重试(退避+抖动)、幂等、熔断/隔离、预算。再加死循环检测与降级阶梯。

安全与系统设计(57–60)

57. 间接提示注入怎么防? 外部内容视为不可信数据;指令/数据分区;最小权限;出站白名单;沙箱;高危动作人工确认;审计与红队。提示词只是辅助。

58. 为什么最小权限和沙箱是底线? 假设模型一定会被诱导,唯一可靠的是「即使被诱导也做不了危险操作」。权限和隔离是硬约束,提示词是软约束。

59. 设计一个客服 Agent,说说架构。 接入/脱敏 → 分类(安全闸门)→ 检索订单/政策/历史 → 草拟(带引用)→ 规则校验(金额/时效/权限)→ 审批/发送 → 幂等写回 → 审计。低风险自动,高风险转人工。

60. 上线前最关键的三项检查? 权限与不可逆动作是否受控;失败是否有降级与人工兜底;是否有评估与 trace 能证明它「做对了」并定位「哪里错了」。

怎么用这份题

  • 能用自己的话答出 45 题以上,基本具备落地能力;
  • 答不出的,回到对应章节;
  • 系统设计题要能画图、讲取舍、说失败模式,而不是罗列框架名。

面试官真正想听的,不是定义,而是「你踩过什么坑,怎么修的」。

读完了?进度会保存在本地浏览器。
内容会持续修订。发现错误或想补充,欢迎反馈。 遇到问题?查排查手册 →