一上午面试了六个 Agent 开发,全是半吊子(面试官视角)
上午面了六个 Agent 应用开发岗,简历清一色写得很满:LangGraph、CrewAI、MCP、RAG、记忆系统,关键词基本全覆盖。但问到落地细节,大部分撑不过三轮追问。
第一层 · 工具调用稳定性
模型调工具报错、参数不符合 schema、下游服务超时,代码层面怎么做异常处理?
多数回答停留在"try-except 捕获一下",明显只跑通过正常路径,没有在真实业务里处理过失败场景。
第二层 · 逻辑链条
继续追问:模型是直接调 API,还是先走记忆检索?工具返回结果做不做格式校验?
到这一步,很多人的回答已经开始缺乏逻辑链条。
第三层 · 记忆系统
简历上写"精通记忆系统"的,一问上下文管理就暴露了。用户对话到第二十轮,Agent 丢失了最早的关键信息,排查路径是什么?是没做记忆分层?长期记忆召回策略有问题?还是上下文窗口被塞爆了?
如果答不出记忆分层、上下文压缩、关键信息优先召回这些机制,说明只是在调接口层面打转,没有处理过多轮对话的信息损耗问题。
真正落地过的人会讲:
- 超时重试采用指数退避策略
- 工具返回结果做 schema 校验
- 异常链路降级到人工兜底或默认返回值
这些不是看文档能记住的,是线上故障倒逼出来的。
- 大模型本身具有不确定性,Agent 行为跑偏怎么兜底?
- 死循环场景下,模型反复调用同一个工具无法退出,是放任 Token 持续消耗,还是设置最大步数强制终止?
- 内容安全层面,回复包含违规内容有没有审核校验?
- 成本控制层面,多轮对话 Token 增长有没有做缓存和上下文裁剪?
一套完整的方案至少应覆盖:日志重放机制、关键节点断言、Bad Case 闭环复盘。
还有人写"做过工作流编排",追问是:为什么选状态机而不是线性 Chain?分支执行失败怎么回滚?
真正上线过的人会讲节点级可重试设计、分支判定逻辑、防止单点故障拖垮整条链路。
| 维度 | 要能答出的问题 |
|---|---|
| 数据层 | 知识库怎么清洗、按什么策略切分? |
| 工具层 | 失败重试策略是什么,超时怎么降级? |
| 记忆层 | 多轮上下文怎么管理,关键信息怎么召回? |
| 工程层 | Token 成本怎么控制,异常怎么收敛? |
