科大讯飞 Agent 开发一面:LangGraph 原理与 AI 编码追问
- 轮次
- 一面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 请做一下自我介绍。
- 实习过程中遇到最难的事情是什么?怎么解决的?
- 讲一下 LangGraph 的原理是什么?
- 你想从事 Agent 开发,是怎么规划的?和周围的人相比有什么优势?平时了解 Agent 的哪些架构?平时怎么跟进前沿技术?
- 你用的是什么 AI 编码工具?调的什么 API?代码里 AI 生成的比例是多少?你是怎么保证 AI 生成代码的质量的?
《参考解析》
LangGraph 原理:把 Agent 建成一张有状态图:要答到「和 Chain / 普通 AgentExecutor 的区别」这一层。LangGraph 的核心是把流程建模成状态机:定义一份共享的 State(通常是一个 TypedDict 或 Pydantic 模型),节点(node)是普通的函数,输入当前 State、返回要更新的字段,边(edge)决定下一步走哪里,条件边(conditional edge)按 State 里的值决定分支。执行时由一个调度器按拓扑推进,每步把节点返回值按 reducer(如 add_messages 追加、或覆盖)合并进 State,所以循环、分支、人工确认(interrupt)这些在链式框架里很别扭的东西变得自然。它的几个关键能力:checkpointer 把每步 State 落盘(内存/SQLite/Postgres),于是可以断点续跑、时间旅行、人在环审批;支持多智能体编排(supervisor / swarm 模式);以及可以给单个节点配不同的模型或工具。回答时主动补一句取舍:它解决的是编排与状态持久化,不负责提示词质量与评测——这两块仍要自己搭。
Agent 架构与前沿技术跟进:面试官问「你平时了解哪些 Agent 架构」,想听的是体系化认知而不是工具名堆砌。可以按几类讲:① 循环范式——ReAct(推理与行动交替)、Plan-and-Execute(先出计划再逐步执行,适合长任务但对计划错误敏感)、Reflection(自我批判重试);② 编排范式——单智能体多工具 vs 多智能体协作(supervisor 分发、角色分工),以及各自的上下文膨胀与错误传播问题;③ 记忆——短期用对话窗口与摘要压缩,长期用向量库或结构化记忆,要讲清什么该写、什么时候召回、怎么防止写入噪声;④ 工具与协议——Function Calling、MCP 这类标准化工具接入,重点在工具描述的可靠性与权限边界;⑤ 工程侧——轨迹评测、成本与延迟控制、失败回退。跟进前沿的答法要具体:追哪几个团队的论文/博客、跑过哪些 demo、看到新东西会自己复现哪一部分,比「我经常看公众号」有说服力得多。
AI 编码工具、生成比例与质量把控:这题的关键是把「用了多少」讲成「怎么和它协作」。工具层面说清日常用哪一个、在什么场景用(脚手架、单测、重构、读陌生代码),以及会调哪些 API/模型、有没有自己接过接口做批处理。生成比例可以给一个自己估的数量级并说明为什么有高有低——样板代码和测试用例占比高,核心业务逻辑与并发、事务、安全相关的部分基本手写,这样讲比给一个精确到小数点的数字可信。质量把控是这题真正的考点,可答:① 先设计后生成,把接口与数据结构自己定下来,让工具只填实现;② 生成即评审,逐行看差异,尤其是错误处理、边界条件、资源释放;③ 用测试兜住——先写测试用例(或让工具生成后自己补边界用例)再让代码去通过;④ 小步提交,一次只让工具改一个点,出问题容易回滚;⑤ 静态检查与类型检查进 CI,别让「看起来能跑」的东西进主干。最后要能说清自己在哪些环节明确不用 AI——涉及安全、事务一致性、线上数据的时候,判断权必须留给自己。
实习复盘题(最难的经历)怎么答:用 STAR 收敛成 90 秒:背景一句话(业务场景与约束)、任务一句话(你负责的那块和验收标准)、行动占大头(你做了哪几个关键判断,为什么选 A 不选 B,踩了什么坑怎么发现)、结果用可验证的口径(指标变化、上线范围、有没有被采纳)。面试官最想听的是「难」在哪里——是技术复杂度、信息不足、还是跨团队沟通;以及你自己解决了多少。避免两个常见失误:一是把「难」讲成纯体力活(加班赶进度),二是全程「我们」而不说「我」。如果确实没有特别亮眼的经历,也可以挑一件小事讲深:一次定位线上问题的过程、一次方案被推翻后的重新设计,同样能体现解决问题的能力。
职业规划与「你的优势」:这类问题在 Agent 岗位上问得特别细,因为它直接对应岗位匹配度。规划要给「路径感」而不是口号:短期想在哪个方向做深(如 RAG 检索质量、Agent 工具调用的可靠性、评测体系),中期想补什么能力(工程化落地、成本与延迟控制),并说明为什么这个方向值得做。优势要给证据:做过什么、能拿出什么产出(一个跑起来的项目、一份评测对比、一段性能优化记录),而不是形容词。被问「你和周围人比有什么优势」,最稳的答法是找一个可验证的差异点——比如别人停在调 API,你把链路的失败率和成本量化过;别人只写 demo,你处理过脏数据与线上异常。