【面试真题】百度 Agent 面经
面完之后:按记忆把题串起来说
手里那份问题清单,是好几场面谈里碎片问题的合集。
单独看每一条都像八股,串在一起你会发现面试官的注意力一直在两条线上晃:一条是「这东西在线上会不会出事」,一条是「你知不知道自己在用什么、没用上什么」。
下面按我自己后来复盘时觉得顺的思路写——从项目怎么讲,一路滑到 LangGraph、记忆、agent 形态、工具协议、RAG,最后落到后端那几道「看起来基础、其实能问穿」的题。
你如果对某一块熟,可以快速扫小标题跳读。
从项目讲起:先别急着报框架名
几乎所有 agent 岗都会从项目开刀。我踩过的坑是开场三十秒就把 LangGraph、LangChain、某某向量库全报一遍,对方听完礼貌点头,接着问「那用户一句话进来之后,系统里第一个写日志的地方在哪」——我当场卡了一下。后来才想明白:人家要的不是技术选型朗诵,而是一条能画出来的因果链。业务上到底解决什么问题,输入输出边界在哪,谁负责把自然语言变成可执行步骤,谁去调工具、谁汇总、失败之后状态落在哪一层,这些讲清楚以后,再提 LangGraph 只是「我用图来承载这条链」而已,顺序不能反。
「为什么用 LangGraph、有什么缺点、是不是过度设计」这三问通常连着来,本质是在测你有没有做过取舍。可以摊开说:图框架的价值在于把「分支 + 状态 + 可持久化的人机协同」从业务代码里抽出去,checkpoint 和 interrupt 一旦真的用在审批、补全、半自动流程里,省掉的胶水代码是实打实的。反过来,如果你的图退化成线性三步——调模型、调工具、再调模型——那框架带来的复杂度就未必划算,调试时还要在框架抽象和实际问题之间来回跳,版本升级也容易踩雷。过度设计不是一个道德判断,而是一个可量化的问法:图的边和条件是不是对应了真实业务分支?checkpoint 里存的东西有没有生命周期策略?如果答不上来,很可能确实用重了。
「为什么不直接用 Cursor Composer 或公司现成的 agent」听起来像抬杠,其实是在问边界与主权。自研或半自研通常不是为了证明「我比产品强」,而是为了数据路径可控、工具与权限模型跟内部系统对齐、评测指标跟业务定义一致、排期和回滚不绑在外部发版节奏上。基于现成方案改造怎么说才像干过活?我会拆成四层:协议层(工具 schema、上下文怎么对齐)、资产层(prompt / skill / 评测集怎么迁移)、运行层(灰度、熔断、限流、观测)、组织层(谁维护版本、事故怎么归因)。中间提一句「别 fork 到死,先 adapter 再接」比空喊「我们会二次开发」具体得多。
工具链能不能 Skill 化、项目有没有演进价值,这类问题连着问,多半是在看你想不想把东西当成产品养。Skill 化在我理解里不是把 markdown 换个名字,而是把「高频任务的打法」变成可版本、可组合、可测的资产:入口收敛到少量稳定工具,流程和边界写清楚,配上回归用例。演进价值别用空话撑,可以落到:新数据源接进来要改几处、线上 bad case 有没有入库闭环、新人接手要不要读五千行 prompt——能讲出成本和收益,比喊「大模型还能更强」诚实。
评测、数据集、沙箱、监控这一串,面试官想听的是闭环,不是名词表。离线集怎么分层(简单/长尾/对抗)、标注是谁做的、有没有泄漏到训练里;在线看成功率、延迟、token、工具错误率之外,人工抽检比例和抽样策略也可以提一句。沙箱至少要说清隔离了什么:网络、文件系统、进程、还是整个容器;监控至少要到 trace id、节点级耗时、失败重放能不能做到。准确率还能怎么优化,如果只答「调 prompt」会显得薄。数据侧有难例挖掘和难例合成;模型侧有换强模型、蒸馏、任务型微调;系统侧有结构化输出、后处理校验、低置信度转人工;RAG 侧有 chunk、路由、rerank。你不需要全做过,但要让人听出你知道问题可能出在哪一层。
LangGraph:checkpoint 不是「存档」,是「可重放的状态机快照」
中断和恢复如果只背「序列化进数据库」还不够深。interrupt 在语义上往往是「人机协同的挂起点」:图跑到某个节点发现缺信息、或需要审批,于是把当前已提交的状态和尚未完成的副作用边界交代清楚。恢复时要讲清楚几件事:哪些 channel 的值被写入了 checkpoint、pending 的边会不会在 resume 时重跑、外部副作用(发邮件、扣款)有没有幂等键。thread_id 怎么设计、和业务主键是不是一回事,很容易被追问。我的习惯是把「编排用的会话 id」和「领域里的订单号」分开:前者给图用,后者进 state 字段,恢复时用业务键做幂等,避免把领域模型和框架状态糊在一个 giant dict 里。
节点之间传复杂数据,表面是 TypedDict / Pydantic 一路堆字段,实质是状态演化策略的问题:哪些字段是 append-only、哪些要 merge、哪些要在某条边之后清空。LangGraph 的 reducer 不是语法糖,是在约束「并发写同一字段时语义是什么」。如果团队里没人写这份约定,半年以后图一定变成谁也不敢动的黑箱。
checkpoint 膨胀和上下文变长,是图框架面试里我最喜欢准备的一道,因为它逼你把「图内 state」和「外置记忆」划界。图里只留当前任务推进必需的东西:最近几轮对话、未完成的工具结果、路由需要的标志位。跨会话的用户偏好、海量历史、可检索知识,该进库就进库,用检索回填,而不是无限往 checkpoint 里塞。工程上还有 TTL、里程碑裁剪、对敏感字段脱敏、多租户命名空间——这些说出来,对方就知道你考虑过线上跑一年之后会发生什么。
A2A 如果被问到,不必装成做过分布式 agent。把问题降维成「多进程协作里协议与超时」就行:子图或节点代表另一个 agent,外层负责信封格式、cor
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
《AI Agent 300 问》专为备战 AI Agent 相关岗位的求职者打造,适配校招、社招全场景,覆盖算法研发、产品、解决方案等全岗位。专栏汇总 300 道大厂高频面试真题,全维度覆盖提示工程、智能体规划推理、记忆机制、工具调用、多智能体协作、框架落地、行业应用等核心领域,拆解考点底层逻辑,分享一线实战经验,助你一站式通关高薪面试。
