Agent 项目面试为什么答对了还挂:Agent、RAG、Tool Calling 的深挖点
- 轮次
- 面试方法
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- Redis 为什么快?它是不是完全单线程?Redis 6 的 I/O 多线程解决了什么问题?
- 你的流程明明是上传简历、解析 JD、分析技能差距、生成报告,为什么不用普通 Workflow?
- 什么情况下才真正值得引入 Agent?
- 介绍一下你项目中的 RAG。
- 为什么这样切 Chunk?Chunk 太大或太小有什么问题?
- 岗位名称、技术缩写检索不到怎么办?为什么要用 Hybrid Search?
- Rerank 能带来什么收益?怎么判断检索结果真的变好了?
- 如果知识库没有相关信息,系统会怎么回答?
- 工具调用失败了怎么办?所有失败都应该重试吗?
- 工具已经成功写入数据库但响应超时,再次执行会不会重复创建数据?
- 模型选择了没有权限的工具,应该怎么办?
- 你为什么选择 LangGraph?State 里到底存什么?
- State 和 Memory 有什么区别?用户刷新页面或服务重启后任务怎么恢复?
- Agent 一直循环调用工具怎么办?
- 你怎么证明 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 效果更好」。