文章目录

牛客 AI Agent 面经题目总结(Agent / RAG / 工程化)(二十五)

收录日期:2026-05-06
关键词:AI Agent、RAG、Tool Use、Memory、编排、评测、工程化

1. 什么是 AI Agent?与传统 LLM API 调用的本质区别?

参考答案

  • LLM API 调用:一次性“输入 → 输出”,外部系统自己负责把输出变成行动。
  • Agent:以目标为驱动,具备**规划(plan)+ 工具调用(act)+ 反馈修正(observe)+ 状态(state/memory)**的闭环,能多步执行并对中间结果迭代。

2. perception-planning-action 流程是什么?

参考答案

  • Perception:读取用户意图 + 环境/工具返回(observation),形成当前状态。
  • Planning:拆解任务、排序子任务、选择策略(单步/多步、工具选择)。
  • Action:调用工具/执行操作;拿到结果后回到 Perception 继续迭代直至完成或失败兜底。

3. 为什么很多 Agent 框架需要 Tool use?

参考答案

  • 让模型“把嘴变成手”:查询外部世界(搜索、数据库、业务系统)与执行动作(下单、发消息、改配置)。
  • 工具调用可把不可控的生成问题,转为可验证、可约束的结构化执行(参数校验、权限控制、审计)。

4. Agent 与 Workflow automation 的区别?

参考答案

  • Workflow:步骤固定(或有限分支),可预测性高。
  • Agent:步骤可动态生成/调整,适应开放任务,但更难保证确定性与成本。
  • 工程上常见“混合”:关键链路用 workflow,局部开放步骤用 agent。

5. 什么是 goal-driven execution?

参考答案

以目标为中心,Agent 在每一步都检查“是否更接近目标”,并根据反馈调整计划;不是单纯顺序执行脚本。


6. Agent 与 RPA 的差别?

参考答案

  • RPA:规则驱动、界面操作自动化,鲁棒性依赖流程稳定。
  • Agent:语义理解 + 规划 + 工具调用,能处理更开放的任务与异常分支,但需要更多约束与治理。

7. 为什么 Agent 比普通 chatbot 更复杂?

参考答案

  • 多步执行与状态管理(短期/长期记忆)。
  • 工具编排、错误处理、重试与回滚。
  • 成本/延迟治理、可观测性、权限与安全。

8. autonomy 如何定义?

参考答案

在“给定边界与约束”下,Agent 自主决定:

  • 是否需要工具、调用哪个工具;
  • 是否要继续下一步;
  • 何时停止并交付结果/请求澄清。

9. 为什么 Agent 需要 memory?

参考答案

  • 缓解上下文窗口限制,支持长期任务与多轮对话一致性。
  • 保存用户偏好、历史决策、执行轨迹(audit),并提升个性化与效率。

10. long-term vs short-term memory 如何设计?

参考答案

  • Short-term:本轮/近期对话上下文(token buffer + 摘要),强调低延迟与相关性。
  • Long-term:可检索的长期存储(向量库/结构化库),强调可扩展、可控权限、可观测。
  • 常用:短期 = 最近 N 轮 + 摘要;长期 = embedding + metadata 索引 + 检索策略。

11. agent loop(think-act-observe)是什么?

参考答案

反复执行:推理/决策(think)→ 调用工具(act)→ 读取结果(observe)→ 再决策,直到完成或触发停止条件。


12. Agent 为什么容易 hallucination?

参考答案

  • 生成式模型会“补全”缺失信息;工具参数/接口名容易被编造。
  • 多步链路中误差累计;检索召回不准或提示词约束不够都会放大幻觉。
  • 缓解:工具 schema 校验、强约束输出、检索与引用验证、关键步骤让系统做确定性校验。

13. 设计一个 AI Agent 的完整系统架构

参考答案

  • Client:Web/App/IM
  • Gateway:鉴权、限流、审计
  • Orchestrator:会话状态、路由、计划/执行循环
  • Tools:搜索、DB、业务 API、文件/代码执行等(隔离沙箱)
  • Memory:短期上下文、长期向量库、结构化用户画像
  • Observability:日志/trace、成本与延迟、工具失败率、质量指标
  • Safety:权限、敏感词/PII、策略引擎、回滚与人工接管

14. planner 的职责是什么?

参考答案

  • 把目标拆成可执行子任务;决定顺序、依赖与停止条件;选择工具与约束;在失败时调整计划或降级。

15. 为什么需要 task decomposition?

参考答案

  • 降低单次推理难度,提高成功率;便于插入可验证点(checkpoints);并行化某些子任务;控制成本与风险。

16. 如何让 Agent 自动拆分任务?

参考答案

  • 通过 planner prompt + 结构化输出(JSON 任务树)。
  • 给出示例与约束(最大深度/每步可验证输出/所需工具)。
  • 结合反思(self-critique)与失败重写(replan)。

17. orchestration layer 需要解决哪些问题?

参考答案

  • 会话与状态管理、工具路由与权限、并发与重试、超时与取消、成本控制、可观测性、回滚/人工接管。

18. LangChain / AutoGPT / CrewAI 等框架差异怎么看?

参考答案

抓核心维度对比:

  • 抽象层级:链式调用 vs 图/状态机 vs 多 Agent 协作。
  • 可控性:结构化输出、工具约束、状态持久化、可回放。
  • 工程化:可观测、版本管理、部署形态(server/SDK)。
  • 选型原则:生产更看“可控与可维护”,不是功能越多越好。

19. Agent 如何调用 API/工具?

参考答案

  • 给工具定义 schema(name/desc/params/return),由模型产出结构化调用。
  • 运行时做参数校验、权限检查、执行、返回 observation。
  • 对高风险工具加入审批/二次确认或只读限制。

20. tool registry 怎么设计?

参考答案

  • 元数据:name、版本、owner、权限域、成本、SLA、输入输出 schema、示例。
  • 能力:可搜索/分类/标签、灰度与回滚、审计、配额。
  • 安全:按用户/租户授权,敏感工具隔离与审批。

21. 如何避免无限循环调用工具?

参考答案

  • 运行时限制:最大步数/最大工具调用次数/最大成本(token、钱、时间)。
  • 监测:重复模式检测(同工具同参数)、无进展检测(目标距离不变)。
  • 提示:要求每步输出“进展评估 + 停止条件”;失败时强制 replan 或降级到人工。

22. observation 是什么?

参考答案

工具执行结果或环境反馈的“可读输入”,用于下一步决策;可包含结构化数据、文本摘要、错误码等。


23. state 如何管理?

参考答案

  • 状态包括:对话历史、任务树、工具调用轨迹、用户偏好、已知事实、预算、权限。
  • 建议:用结构化 state(JSON)+ 版本化存储;关键节点做快照(checkpoint)。

24. checkpoint / resume 怎么做?

参考答案

  • 每次工具调用前后记录:state、输入、输出、错误、耗时、token 成本。
  • 存储到数据库/对象存储;失败可从最近 checkpoint 恢复继续执行(避免从头来)。
  • 注意幂等:工具调用需带 requestId,防止重放产生副作用。

25. 如何设计支持百万用户的 Agent 平台?

参考答案

  • 多租户隔离:鉴权、配额、资源池隔离。
  • 弹性伸缩:无状态执行节点 + 状态外置(DB/Redis/对象存储)。
  • 成本治理:缓存、批处理、模型路由(小模型优先)、限流与降级。
  • 可靠性:超时重试、幂等、熔断、灰度、回滚。
  • 可观测:trace 全链路(模型/工具/存储),质量与成本看板。

26. 为什么 Agent 系统需要 RAG?

参考答案

  • 引入外部可信知识,减少幻觉;让回答基于“可检索证据”;支持私有知识与实时更新。

27. RAG pipeline 完整流程?

参考答案

采集/清洗 → 切分(chunk)→ 向量化(embedding)→ 建索引(向量库)→ 检索(向量/关键词/混合)→ 重排(rerank)→ 组装上下文(context packing)→ 生成 → 引用/校验 → 反馈与评测。


28. 如何提高 RAG recall?

参考答案

  • 优化 chunk:分段策略、重叠、结构化(标题/层级)。
  • 检索策略:多路召回(向量 + 关键词)、Query rewrite、HyDE、扩展同义词。
  • embedding 选型与微调:领域向量模型、对齐业务语料。

29. 如何解决 RAG hallucination?

参考答案

  • 约束回答:要求“只基于检索内容”,并输出引用片段/证据。
  • 检索增强:提高召回与重排质量,降低噪声。
  • 生成后校验:事实核查(规则/二次检索/LLM-as-judge),不通过则重检索或拒答。

30. 向量检索与关键词检索如何结合?

参考答案

  • 并行召回:BM25 + 向量 topK → 合并去重 → rerank。
  • 串行:先关键词过滤(metadata/领域/时间)再向量检索,或先向量召回再关键词校验。

31. 什么是 hybrid search?

参考答案

把语义检索(向量)与词面匹配(BM25/倒排)融合,提升召回稳健性;融合方式可为加权得分、学习排序或后置 rerank。


32. 如何设计 100M 文档规模的 RAG 系统?

参考答案

  • 分层索引:按租户/领域/时间做分片;冷热分层存储。
  • 多阶段检索:粗召回(便宜)→ 精排(贵)。
  • 缓存:query 缓存、embedding 缓存、热点文档缓存。
  • 工程:异步构建索引、增量更新、回滚;严格的权限与审计。

33. chunk size 怎么选?

参考答案

  • 与任务有关:问答偏“事实”可小块;需要上下文连续性可大块或层级 chunk。
  • 与模型上下文有关:保证能塞进 prompt(含 system、历史、工具结果)。
  • 常用做法:按标题/段落切分 + 限制 token + 适度 overlap(如 10%~20%)。

34. rerank 的作用?

参考答案

在候选集合上做更精确相关性排序(通常更贵),提升 topN 质量;常用 cross-encoder 或 LLM-based rerank。


35. embedding model 如何选择?

参考答案

  • 先用通用强基线(中英支持、检索任务优化),再用业务数据评测。
  • 关注:领域匹配、向量维度与成本、吞吐与延迟、是否支持指令检索(query/doc 不同 prompt)。
  • 有条件可做对比评测:Recall@K、nDCG、业务转化指标。

36. 如何评估 RAG 检索质量?

参考答案

  • 离线:构建带 ground truth 的 query-doc 对;看 Recall@K、MRR、nDCG。
  • 在线:A/B(命中率、引用覆盖、拒答率、人工标注准确率)。
  • 分层诊断:切分问题(chunk 问题/embedding 问题/索引问题/重排问题)。

37. 为什么需要 metadata filtering?

参考答案

  • 权限隔离(租户/用户)、时间范围、语言、文档类型等先过滤,降低噪声并提升精度与速度。

38. 检索结果不稳定怎么优化?

参考答案

  • 固定检索参数(topK、阈值)、规范化文本(去噪/分词)。
  • Query rewrite 稳定化(同义改写、一致的指令模板)。
  • 引入 rerank、以及对 topN 做去重与多样性控制。

39. 向量数据库索引怎么设计?

参考答案

  • 常见 ANN:HNSW、IVF-PQ 等;选型看数据规模、内存、召回与延迟。
  • 分片策略:按租户/领域/时间;支持增量写入与 compaction。
  • 与 metadata 索引结合:倒排/列存做过滤,向量索引做召回。

40. 如何降低 RAG latency?

参考答案

  • 缓存(embedding、检索结果、rerank 结果)。
  • 多阶段检索减少精排候选数;并行化(检索与其他工具并发)。
  • 模型路由:非必要不 rerank;小模型/蒸馏模型做 rerank。
  • 工程:连接池、批量 embedding、向量库部署就近。

41. 什么是 ReAct?

参考答案

  • ReAct = Reasoning + Acting:模型在推理过程中穿插工具调用,通过 observation 修正推理并继续推进任务。
  • 工程化要点:结构化工具调用、失败重试与停止条件、日志可回放。