面灵AI→

Agent 项目面试为什么答对了还挂:Agent、RAG、Tool Calling 的深挖点

轮次
面试方法
时间
2026-10
来源
牛客网

《面试题目》

  1. Redis 为什么快?它是不是完全单线程?Redis 6 的 I/O 多线程解决了什么问题?
  2. 你的流程明明是上传简历、解析 JD、分析技能差距、生成报告,为什么不用普通 Workflow?
  3. 什么情况下才真正值得引入 Agent?
  4. 介绍一下你项目中的 RAG。
  5. 为什么这样切 Chunk?Chunk 太大或太小有什么问题?
  6. 岗位名称、技术缩写检索不到怎么办?为什么要用 Hybrid Search?
  7. Rerank 能带来什么收益?怎么判断检索结果真的变好了?
  8. 如果知识库没有相关信息,系统会怎么回答?
  9. 工具调用失败了怎么办?所有失败都应该重试吗?
  10. 工具已经成功写入数据库但响应超时,再次执行会不会重复创建数据?
  11. 模型选择了没有权限的工具,应该怎么办?
  12. 你为什么选择 LangGraph?State 里到底存什么?
  13. State 和 Memory 有什么区别?用户刷新页面或服务重启后任务怎么恢复?
  14. Agent 一直循环调用工具怎么办?
  15. 你怎么证明 Prompt 优化、Rerank、流程优化真的有效?

《参考解析》

为什么用 Agent:判断标准是「下一步是否依赖运行时信息、需要模型在边界内选择工具或调整顺序」。如果流程可以穷举成上传→解析→匹配→生成,Workflow 更便宜、更可控、更容易测试;只有当分支无法提前定义、需要根据用户状态追问或换策略时才引入 Agent。要主动说成本:token、延迟、状态管理、异常处理都会变复杂。

RAG 的深挖点:切分要按语义边界(标题、段落、表格),保留上下文和元数据;chunk 太小丢条件,太大召回噪声多。Hybrid Search 解决「专有名词、缩写、编号」关键词检索和语义检索互补;Rerank 用交叉编码器提升排序,但要拿同一测试集对比 recall@k、nDCG,并说明延迟和成本代价。知识库没有答案时要能拒答或转人工,不能硬编。

Tool Calling 的工程边界:参数错误不重试,返回明确错误让模型修正;网络抖动有限重试加退避;持续不可用要降级或终止;写操作必须幂等(业务唯一键、去重表、操作 ID),避免「远端成功、响应丢失」导致重复创建;执行前后端要校验工具名、参数、身份和权限,不能因为模型发起就默认可执行。

LangGraph 的 State 与 Memory:State 是当前任务的执行状态(做到哪个节点、工具结果、中间产物),Memory 是跨任务的长期信息(用户偏好、目标、历史结论),两者生命周期不同。持久化要配 checkpointer 和会话 ID,服务重启才能恢复;用户改目标时要能失效旧计划。循环要有最大步数、超时、token 预算、无进展检测和人工介入。

证明优化有效:先定义指标(准确率、召回率、任务完成率、平均步数、成本、P95 延迟),再固定测试集和评分规则,做 A/B 对比并给出置信区间;线上看采纳率、点踩率、重试率。不能只说「用了 Rerank 效果更好」。