面灵AI→

上海初创小厂面经:Agent 项目与 AI 编程工作流

时间
2026-10
来源
牛客网

《面试题目》

  1. 这个对话 AI 项目,你主要负责哪些部分?
  2. 参考了什么开源框架?核心 Agent 框架怎么搭建?实现了哪些核心功能?哪些功能是你自己做的?
  3. 你们主要是在 SDK 外围管理上下文,还是也修改了 SDK 内部的架构?
  4. 系统提示词设计了哪些层面?
  5. 内容拦截模块是怎么实现的?
  6. 系统提示词加载在哪些位置?框架自带的提示词有没有修改?整个提示词设计和调用链是什么样的?
  7. 这些模块和系统提示词,具体哪些由你负责?
  8. 做这个项目用了哪些 AI Coding 工具?为什么选择这些工具?
  9. 工具里的模型如何选型?是否涉及多模型编排?
  10. 你使用 AI 开发的完整流程和方法是什么?
  11. AI 工具的费用,公司会给你报销吗?
  12. 订阅是几个人一起使用?
  13. 除了刚才提到的需求梳理技能,还使用过哪些 Skill?
  14. 你说的 MCP 工具是 Context7 吗?
  15. 有没有一套完整的项目文档流程?在哪个阶段写什么文档?如何让 AI 完成这些文档?
  16. 你和 AI 商量出的技术方案,拿给 Mentor 或 Leader 后,他们通常会指出什么问题?
  17. 哪些问题是你和 AI 容易一起遗漏,但有经验的人能够发现的?
  18. 刚才提到的代码分支问题,你认为最核心的原因是什么?
  19. 业余时间有没有做开源项目、开发服务,或者探索一些有趣的 AI 应用?有没有自己摸索出开发方法或 Skill?
  20. 除了合作项目,有没有给自己或身边的人做过一些日常使用的东西?
  21. 你觉得自己的 AI 使用水平,在学校或专业里处于什么位置?
  22. 前端有没有参与过?还是主要做后端?
  23. 你是什么时候开始使用 AI 编程工具的?最开始用的是什么?
  24. 随着模型能力越来越强,从独立开发、全栈开发的角度,你觉得自己还需要加强哪些能力?如果加入我们公司,最需要学习什么?
  25. 反问:公司主要做什么业务?主要产品有哪些?
  26. 反问:入职后有没有 Mentor 或 Leader 带?还是主要自己借助 AI 完成工作?
  27. 反问:这一轮之后,还有二面或其他面试环节吗?

《参考解析》

Agent 框架与上下文管理:被问「怎么搭的」时,要能把框架拆成几个可命名的部分:循环与规划(ReAct 式的「思考—调工具—观察」循环,或先规划再执行的 Plan-and-Execute)、工具层(工具注册表、参数 schema、鉴权与超时、错误返回给模型的方式)、记忆与上下文(会话历史、长期记忆、检索到的知识,以及截断、摘要、分级保留策略)、可观测性(完整 trace 落库,便于回放与评测)。「在 SDK 外围管理还是在 SDK 内部改动」这个问题的潜台词是问你有没有读懂框架:外围做的是编排、提示词拼装、状态机与重试;内部改的是消息组装、工具调用解析、流式事件。回答要诚实区分自研与现成能力,并说明为什么选择在外面做——通常是升级框架版本时改动可控、逻辑可测。上下文管理还要讲清 token 预算怎么分配,历史被截断时保留哪些(系统提示词、最近若干轮、被引用的文档片段),以及摘要压缩的触发阈值。

系统提示词的分层与加载链:能画出一条清晰链路是最加分的。常见分层:全局基础提示(身份、语气、安全边界)→ 角色/场景提示(本次任务的职责与流程)→ 技能或工具提示(某个 Skill 的步骤与约束)→ 会话与用户上下文(历史、记忆、检索片段)→ 输出格式约束。加载位置通常是「服务端拼装模板 + 框架自带的默认提示 + 具体 Agent 的覆盖项」,要能说清优先级和冲突时谁覆盖谁、哪些是运行时动态注入的、哪些走缓存。工程要点:把提示词当代码管理(版本化、可 diff、可灰度和回滚),关键约束放在靠近末尾的位置以减少被长上下文稀释,给模型明确的反例与拒答条件。被追问「框架自带提示有没有改」时说清改了哪几句、为什么改、改完怎么验证(固定用例回归对比)。

内容拦截模块的实现:通常做双向拦截,入口挡输入、出口挡输出。输入侧用规则(敏感词、正则、黑白名单)+ 分类模型(涉政、色情、暴力、人身攻击等标签)+ 会话级频率与行为特征;输出侧除了同样的分类,还要检查是否泄漏系统提示词与内部数据、是否给出了不该给的结论。设计上要讲清几件事:拦截点放在链路的哪一层(网关、Agent 循环的工具返回处、还是最终响应前)、命中后怎么处置(直接拒绝、改写、转人工、还是给兜底话术)、误杀与漏杀的权衡(宁可漏还是宁可杀,按场景定阈值)、以及所有命中都要落审计日志(命中规则、模型置信度、原始内容、处置结果)以便复盘与申诉。补充一句评测方式:准备标注好的对抗样本集,定期跑准召,模型或规则改动后必须回归。

AI Coding 工具选型与研发流程:工具选型不要按名气答,按场景答:需要大规模跨文件改动用具备代码库检索与编辑能力的 Agent 型工具,单文件补全用编辑器内联补全,长文本理解与方案讨论用支持长上下文的对话模型,跑命令与验证用能执行终端的形态;模型选型看代码能力、上下文长度、成本、是否需要私有化,多模型编排通常是为了「便宜的做量、强的做难题」或按任务类型路由。完整的开发流程可以按阶段说:需求澄清与拆解(产出验收标准)→ 方案设计与技术选型(含影响面与回滚)→ 编码(小步提交、分支与命名规范)→ 自测与验证(必须真的跑起来、看日志与测试)→ 文档与知识沉淀。文档流程要说清「哪个阶段产出什么」:需求阶段的需求说明与验收标准、设计阶段的技术方案与接口契约、开发中的变更记录、上线后的复盘。AI 在这条链里能产出草稿,但评审与验收责任在人。

AI 容易和你一起遗漏的问题、以及怎么答「个人项目」:面试官问「Mentor 通常指出什么问题」,其实在看你有没有把 AI 当同事而非答案机器。AI 与人共同盲区通常集中在:跨模块与跨团队的副作用(改了公共依赖、影响其他人的调用方)、数据一致性与并发边界(重试、幂等、事务范围)、上线与回滚路径(灰度、开关、数据迁移)、非功能需求(性能、监控、告警、成本)以及权限与安全。有经验的人一眼看出问题,往往是因为他们知道系统里有哪些隐含约束。回答时举一个具体例子,并说明你后续怎么补上这个能力(例如设计阶段强制列出影响面与回滚方案、review 时按清单过一遍)。至于个人项目与 AI 熟练度这类问题,用事实说话:你给自己或身边人做过什么、解决什么真实问题、用了哪些工具与方法、沉淀出什么可复用的 Skill 或流程,比自评「我很擅长 AI」有说服力;被问「还需要加强什么」,结合岗位业务给出真实短板与学习计划,别套模板。