简报·YT
← 返回视频简报
程序员老李 已完成

AI Agent面试到底面什么?个人的分享和总结

2026-10-15 12:17 · 时长 32分38秒 · 👁 1 · 👍 0 · 原视频 ↗
#AI Agent面试 #AI工程能力 #求职复盘

AI Agent面试到底面什么?个人的分享和总结

一句话概括

作者复盘了自己在秋招阶段面多家公司 AI Agent / AI Engineer 岗位的真实经历,总结出面试问题高度收敛于“AI Native Software Engineer”能力模型——既要懂 LLM 的能力与不可靠性,又要能用传统后端工程把这种不确定性包裹进一个可靠的生产系统。

核心要点

一、总体趋势判断

  1. 面试问题正在收敛:虽然各家业务完全不同,但问题最终都落到同一套能力上。不再是简单问 RAG、LangChain、LangGraph、MCP 等框架名词,而是深入追问设计动机与工程细节。
  2. 面试官对 Agent 项目“去魅”:不再关心你用了多少框架,更关心你为什么用。如果写了 Multi-Agent 却答不出为什么需要 Multi-Agent,前面的技术名词只会被视为炫技。
  3. 从“会用工具”转向“判断能力”:面试官看重的是思考过程和对问题的判断力,而不是答案是否“正确”。正如他们更应关注 AI 的思考过程,而不是仅看 AI 的回答。

二、小红书面试(AI + 客户端/前端性能工程)

  1. 以真实业务场景切入:从客户端埋点数据(从 APP 启动第一阶段到用户看到首屏结束)出发,考察如何把工程师现有的性能分析 workflow 变成 Agent。回答主线为:数据感知 → 异常检测 → 定位阶段 → Root Cause Analysis → 出报告,抽象为“感知、决策、执行、归一”四个词。
  2. 关键产出思路:确定性部分不要交给 LLM:SQL 查询是确定的、Python 聚合计算是确定的、指标变化阈值是确定的,这些不必让 LLM 自由发挥。LLM 真正适合做的是理解上下文、选择路径、归因和生成解释。
  3. 系统二分层设计:数据查询层(deterministic,走固定 SQL / API / Python Script)与 LLM reasoning 层(归因、解释)分离。
  4. 多 Agent 的本质拷问:面试官问“多 Agent 本质是不是在构建预编排逻辑链?能否做动态逻辑链?”结论是两个极端——完全预编排(稳定可控但灵活性差)vs 完全动态编排(灵活但生产环境危险,易无限循环、成本爆炸);更认同 Controlled 方案:核心业务逻辑 workflow 控制,局部(选工具、选信息)由 Agent 动态判断。即“workflow 提供边界,agent 在边界内获得自主性”。

三、阿里面试(AI Agent Engineer / Application)

  1. RAG 文档切片要讲前因后果:不能只说“按文字切”,要解释为什么这么切。如车辆故障手册有明显章节结构(车型、故障码、故障链),若按 500 token 一刀切会把故障链与解决办法拆散导致 embedding 语义残缺。正确做法是 structure-aware chunking:先按标题做一级拆分,section 过长再用滑动窗口,并在 chunk 上保留元数据。
  2. 向量数据库选型考的是 trade-off:不要一上来就报 FAISS、Milvus 等参数,要先看场景。几十份手册、成千上万切片、内部原型、低并发——轻量方案更合理;若未来需要多租户、动态更新、高并发、高可用再换重型分布式向量库。
  3. LangGraph 被追问 State 细节:很多人说用了 LangGraph,但被问 Graph 里有什么 State 就卡住。State 不是抽象名词,如诊断 Agent 的 State 可能包含用户输入、车辆信息、故障诊断结果等,且在不同 Node 间被不断读取和更新,这才是 LangGraph 的核心,而非一个“多 Agent 框架”。
  4. 数据库选型考的是数据模型与存储模型是否匹配:Agent state 动态、每个 workflow 中间字段不同 → Document Store 自然;存账单、账户、资金流水 → 另一套选型。Agent Engineer 非常需要传统软件工程能力(数据库、缓存、SQL、失败后 Resume)。
  5. 卡夫卡(Kafka)问题:高峰期消息堆积怎么解决、怎么判断真堆积还是消费者能力不足、怎么判断消费者 CPU 不够、网络延迟等。生产 Agent 可能消费 Event、调十几个 Tool、产生 Trace,通过 MQ 做 Workflow,因此消费积压、消息延迟、重复消息、乱序、Exactly-Once 做不到时如何设计幂等,都是 Agent Engineer 的必答题。
  6. Text-to-SQL 的模糊性问题:用户说“帮我查一下卖得最好的商品”,系统如何理解“卖得最好”——销量最高还是销售额最高?LLM 最喜欢猜,但数据库场景猜错就是错。合理逻辑:confidence 足够高就继续执行,存在明显模糊就 Clarify(反问澄清)。一个好的 Agent 应该知道什么时候执行、什么时候拒绝、什么时候澄清,这比回答本身更重要。
  7. 生产 Agent 的核心不是让模型更聪明,而是限制模型犯错的空间:多表 JOIN 保证字段正确、做 Schema Retrieval、元数据/字段描述/relationship 业务口径、重要指标做结果校验。限制模型边界(Harness、Prompt Engineering)比模型本身是否聪明更重要。

四、AI Coding 面试(约 40 分钟,沙盒环境类似 Cursor)

  1. 题目:设计一个可扩展、线上安全、逻辑清晰的订单状态机引擎,允许使用 AI。面试官(后成为带教)真正在看的是你怎么使用 AI——你的角色是 tech lead,AI 的角色是 junior developer。
  2. 四个考察点:
    • 自己是否先理解问题:哪怕只是模糊框架,也要自己先想一遍,不要第一反应直接问 AI;
    • 是否会拆任务:把状态机引擎拆成不同部分,一块一块交给 AI;
    • 是否会验证 AI:AI 写完模块后是否去读、跑 test、检查边界,还是看到绿色代码直接 accept;
    • 能否解释 trade-off:如“用它定义状态”与“通过 metadata 定义状态和事件”各自的优劣。 真正的重点不是代码跑没跑,而是这个设计到底是不是你的决策。

五、字节面试(项目细节与评估归因)

  1. 分层考察:第一层架构确认(怎么设计、量级怎么判断);第二层路由细节(每个 Skill 查上游投放的某一部分,还是让 Agent 选 Skill);第三层评估与归因(方案怎么做 optimize、看 ABTest 后多久能拿到有效显著性结果、方案变好对 Skill 有多大 impact)。
  2. 核心难点:方案有效 ≠ Skill 有效,中间隔着一层归因问题。经典悖论:上了新 Skill 后原有的 Bad Case 消失,Analyzer 抓不到这类 Bad Case,如何知道它是被消灭的、且是因为 Skill 里对应内容才被消灭的?Bad Case 消失可能是 Skill 起作用、流量变化或代码修复,且消失后监控天然失去观测能力,这是一个“成功会摧毁自己证据”的悖论。
  3. 归因方法:保留 hold-out 流量不吃新 Skill 做对照、构造回归测试集定期投放历史 Bad Case、看 Skill 命中日志与 Case 消失的时间相关性等。
  4. 多 Skill/工具的有效 Section 合并:五个不同 Skill 和工具的有效 Section 怎么合并成一个对 Skill 的优化方向?本质是——你优化的究竟是一条轨迹还是一个 Skill?最大感受:搭建 Agent 的能力不稀缺,稀缺的是证明这个 Agent 在变好的能力。全程不问框架和模型,只关心闭环有没有真的闭环、每环因果是否站得住。

六、能力分层模型(六层总结)

  1. 第一层:会不会用 LLM——Prompt、Structured Output、基本模型能力(最低层)。
  2. 第二层:能不能给 LLM 正确的信息——RAG、向量检索、Embedding、Retrieval、知识库(Knowledge Base)、Context Management。
  3. 第三层:能不能控制 LLM 的行为——Workflow、LangGraph、State Machine、Multi-Agent、Routing、Planning。
  4. 第四层:能不能把 Agent 接到真实世界——MCP、API、Database、Kafka、Python。
  5. 第五层:Agent 犯错了怎么办——可靠性、正确性、一致性、安全性、可追溯性。
  6. 第六层:怎么证明 Agent 真的有价值——企业中项目是否开展取决于可行性和价值程度,这是面试官非常关心的一点。

七、生产 Agent 的工程复杂度

  1. 复杂度藏在“箭头”里:Agent Platform 从摘要看只是 input → Agent 判断 → 调 MCP → 输出结果,但生产系统的复杂度全在箭头之中——谁能调这个 Tool、读操作和写操作权限是否一样、参数合法性检查、高风险操作是否二次确认、脚本在哪里执行。
  2. 沙盒(Sandbox)问题:Agent 生成的自定义 Python 代码不能直接在生产机器跑,必须丢进隔离沙盒,超时直接杀掉、访问未授权资源直接拒绝,此时 Agent 才从 demo 变成 system。Agent 工程的复杂度不在 ReAct Loop 本身(几行代码就写完),而在外围的授权、Permission、State、沙盒等。
  3. 传统后端不能丢:Kafka 消费、消费组、消费者与 partition 的关系、消费数量比 partition 多会怎样、Rebalance、Offset 怎么提交;资金流水如何保证顺序、重复消费如何处理。LLM 本身不是 deterministic,必须用一个系统去包裹它。

八、给准备 AI Agent 岗位的建议

  1. 不要为了 Agent 而 Agent:如果一个 Pipeline 能解决就用 Pipeline,一个 SQL 就用 SQL,一个 Script 就用 Script。LLM 是系统中最贵、最不稳定的组件之一,不是越多越好。
  2. 所有技术选型都要准备“为什么”:不只准备“我用了这个”,更要准备“为什么是这个、为什么不是别的、什么时候会切换”。什么状态结构适合 Document Store,若是事务型数据还会不会这么选。要知其然并知其所以然。
  3. 传统后端基础不能丢:Agent 不是漂在空中的,最终还是一个 Distributed System,数据库、Kafka、缓存、并发、分布式、网络等基础非常重要。
  4. 学会说“不确定”:领域变化太快,面试官很容易问到没实际做过的东西。与其硬往项目上套(会有漏洞和不可行性),不如坦诚并给出自己的看法与 trade-off。可用句式:“我没有在生产环境做过,但如果让我设计,我会从几个维度考虑……”
  5. 学会和 AI 一起工作:未来很多 SWE 工作会变成——你负责定义任务、拆任务、做架构、审计结果,AI 负责生成、搜索、实现、Debug。Coding Interview 也可能从“能不能一个人手写所有代码”变成“当所有人都有 AI 时,你能不能比别人做出更可靠的系统”。

九、最终结论

  1. AI Agent 岗位的本质是 AI Native Software Engineer:不能只懂模型,也不能只懂后端;既要懂 LLM 有什么能力、有多不可靠,又要能用这些能力把不确定性包在一个可靠的软件系统里。这就是作者对 AI Agent 岗位最强烈的感受。
▸ 原始转写文字稿(12261 字符)
哈喽大家好啊这期呢我想做一个就是我的一个AI agent的一个面试复盘就是我面了一些大概这些岗位都是AI agent的开发和研发包括AI engineer和AI application比较相关的就是我是把之前的笔记整理了一下本来只是想整理一下真题看看就是自己哪里答的不好嘛但是整理到最后我发现了一个就是比较有意思的事情嘛就是虽然说这几家公司的业务其实是完全不一样的但是他们问的问题其实是收敛到同一套能力上的就是我一开始以为的AI agent的面试可能就是问一下RG啊LongChairLongGraphMCEP之类的其实说实话我觉得在四月份的时候大部分的面试官还都在问这些问题但是我能感觉到目前秋招阶段问的问题开始越来越比较难了就是你看我有问到过一些比如说RG文档怎么切呀为什么这么切呀项量数据库为什么这么选数据量扩大怎么办为什么选multi agent为什么一个普通的pump live不可以LongGraph的一个状态是怎么存的卡不卡的消息为什么会堆积啊等等等等这些问题而且还有一些AI coding的题目当时是面试官直接给了一个系统设计题嘛然后在一个类似于curso的环境里面现场带着AI把系统做出来所以说我今天就是想按照这几家公司的一个真实的面试过程聊一聊他们问了什么吧包括我自己对这些问题的一个复盘以及如果说我们未来要准备AIA建设的岗位到底应该准备些什么这是仅仅极限于交流环境就是你们可以在评论期对我的这些想法进行PIPA包括你们自己的一些分享大家都努力结束秋招我之前呢是就是主要是做一些后短分布式啊包括AgentApplication这一些的工作有一个经历呢是关于Long Graph就是车辆故障诊断的Agent其实大概就是你说车辆故障马上系统先解析问题然后通过RG检索出技术手册然后再用不同的Agent做一些故障分析等等包括后面在实习的时候做过一些TESA to Soccer啊Agent Platform以及Coding AgentSkill MCP等等这一类的东西我的简历其实很容易引出Agent无论是在5月份找暑期的时候还是现在秋招的时候所以说这就带来了一个问题就是一旦你的简历上真的写了Agent面试官真的会问很多很多问题比如说哪怕你写了比如说Long Graph加RG加Multi Agent可能听起来很高级但是面试官基本上一定会问你为什么要用Multi Agent的如果说这一句答不出来的话其实你前面说的一些技术名词可能在他眼里只是一个炫技而且我发现现在的面试官可能对Agent的项目已经开始去魅了就是他们其实不太在乎你用了多少框架他们更在乎于你为什么用先讲小红书吧因为这场他不是用那种非常传统的LM Engineer他其实有比较强的一些客户端前端性能工程和Agent结合的特点所以说他问的问题我总结下来就是AI一定要跟业务结合一开始呢问了一些比较传统的问题就比如说你之前的一些工作啊你的官网成购啊包括你怎么发现性能优化的有没有做AP test等等你像对于这些CarWeb Videos他就会涉及一些CLSLCP啊等等这些指标然后呢就开始往Agent的转可能是因为我的那个车辆故障Agent的他就让我详细的去介绍说这个Agent到底是在做什么用了哪些模型呀故障是怎么判断的呀不同的Agent的分别负责什么包括你最后怎么去衡量效果的其实这些还是比较正常的一个简历的询问然后呢他就当场给我出了一个非常非常真实的场景题吧Plus加一句就是一面的时候并没有任何的利扣题目他这个真实的场景题呢就是他们现在在客户端上有很多的买点了比如说你在APP启用的时候从第一阶段第二阶段一直到用户真正看到手刷结束中间有特别多的过程吧这些呢就可以通过Circle查出来所以说平时会做一些带巴带的对比啊等等这些比如说你现在发现网络阶段变差了就继续往网络的一个细利度指标查如果说图片加写变差了就往图片相关的指标查最后是希望做一个归一嘛所以说当时面试官就问我如果说你想用Agent的把这套东西做出来的话你会怎么设计我觉得这个问题就非常有价值因为这已经不是绕过是什么而是你怎么把现在一个有工程师完成的一个分析workflow去成功成一个Agent的当时回答了几个点吧就是数据感知呀包括你通过固定的Circle或者是API去拿数据然后做一些异常检测然后让Agent去判断哪个阶段出现这个Decoration然后再结合业务知识做一个Root course Analyze然后最后上上报告其实这个链路的话我觉得可能就是感知决策执行和归一现在觉得其实这四个词就是很能解释什么叫Agent的因为很多人可能一体Agent的第一反应还是聊天机器人一个框又会说一句话然后AI和一句话其实Agent的完全是可以没有聊天见面的我觉得做数据中台的同学可能比较有影响他们那些Agent的是没有聊天见面的他们只是做一个企业内部的提效比如说在这个场景里面他可以做一些比如说每天凌晨自动跑拿到昨天的性能数据以及发现某个版本性能的下降包括自动定位到图片加载阶段等等等等甚至说早上9点给工程师发报告这个可能都像一些Bot在做的事情这也是Agent的所以说我现在越来越觉得这些可能是企业真正愿意付钱的Agent的不是因为他吓人而是因为他能把原来一个工程师每天重复完成的workflow做一个自动化然后后来面试官加了一个限制就是他说数据一定要非常的精确因为大模型现在有很大的幻觉问题然后你会导致很多报表不可信等等但是你Circle的查询接口其实非常固定的就是他们已经在尝试写比如说用AI写固定的Python Script然后你需要不同维度的时候去改参数然后再让大模型去做归音和解释我觉得这里其实透露了一个非常重要的生产Agent的思路就是你能determinedeterminecritical的部分你就不要交给LM因为Circle的查询是确定的然后你Python的聚合设计是确定的你指标变化多少压然后也是确定这些东西没有必要让LM去做去做自由发挥的因为LM真正适合做的就是你去理解上下文选择飞行路径做归音声声解释所以说如果说现在让我重新去回答的话我可能会把系统分成两个部分但是当时在面试的时候脑子里面有什么东西然后你就去这一层呢就去负责一些数据查询啊等等等等然后LM reason liar就是负责一些归音啊之类的但是呢这部分其实我后面在做project的时候已经用了效果其实还可以的然后二面的时候然后它其实可能更偏一些A键的架构的东西就是有一个问题就是多A键的本质是不是在构建一个预编排的逻辑链然后又问A键能不能去做一个动态的逻辑链这个问题我觉得比较好吧因为现在很多的A键的demo可能都是A键的A到A键的B到A键的C然后到finish它严格来说和传统的workflow有什么区别呢我的理解是它有两个极端第一个就是一个完全的预编排在这里来说它就是所有的路径所有的节点我提前写死它的优点就是稳定可控嘛但是它缺点就是灵活性很差A键的自主性很弱我觉得这个完全预编排完全取决于你项目的需求还有一个就是完全的动态编排这个呢就是相当于你告诉模型一个目标然后剩下的让LM去做这样的话很灵活但是在生产环境里面非常的危险因为你一旦规划能力出现问题的话你就很容易出现一些无限循环成本爆炸等等所以说我觉得可能比较认同的方案其实是control的就是核心的业务逻辑workflow控制关键的节点呢你就去设置一些东西但是在一些局部的地方呢比如说选择哪些工具啊节奏哪些信息啊这些可以让agent去动态判断所以说其实不是workflow和agent二选一而是workflow去提供编辑agent在编辑里面获得自主性这个也不算是我学到一个特别重要的东西吧但是在当时四五月份的时候我其实觉得很有价值但是现在来说其实很多的企业已经在做这个事情了而且做的还可以对于阿里的这些面试的话我觉得可能比较适合正在准备一些agent engineer跟application之类的东西因为他从我的work系统一路问到了卡夫卡为什么这么说呢一开始还是让我介绍之前的项目吧然后我讲的就是我的这个项目然后他马上就会问你这个work是怎么用的其实这个问题并不难但是重点在于面试团当时立马就问我了你的文档怎么切片因为你这个时候不可能只说我是根据一些文字切片啊等等等等他会问你为什么这么切因为你举个例子对于我当时切记录手册这种文档的话它本身有非常明显的张建结构嘛你比如说车型啊故障码啊故障链像这种如果说每500token一刀切下去你可能上一段是故障线下下一段才是解决办法所以说你把它们拆开以后embedding的本身的语义就进行残局所以说我们一开始是要做一个structure aware的tracking它就是根据一些文档标题啊所以先做一个一级拆分如果说每一个section太长的话我们再做滑动窗口然后你在tracking上去保留一些原数据等等这个可能才是一个相对比较完整的答就是你并不能只是说你要做什么而是给它一个完整的前因后果然后后面他问项量库怎么选啊这个问题非常典型啊我觉得为什么就是就是我觉得我在以前面试的时候经常犯这个错就是我比如看到一些FA啊SS啊这些我就开始被谁夸啊谁知识分布室啊就是我但是其实真正面试官想听到的是我为什么场景就需要这个比如说你比如说回到我的场景我的场景是如果说几十分记录手册然后成千上万个切片然后内部原型低并发快速连带其实这个场景根本就不需要上来去搭一个重型的分布室三辆数据库轻量的方法反而更合理如果说未来我们需要多租户需要动态更新需要高并发需要高可用这个模型当然可以换所以说这个问题他真正考的是你的trade off而并不是说哪个数据库最好而是你而是他为什么最适合你在这个阶段其实后来我在入职以后跟当时的面试官也就是我的mentor去聊过这个事情他说其实他看重的是你对问题的判断能力而不是说你是否正确判断了这个问题他想要的是你的思考过程其实很像啊就是很多时候我们对于AI说的东西正不正确和AI的思考过程都是做一个等同的较量的因为他你如果说直接只看到他的回答不如你去看思考过程我记得当时小红书上有一个非常点的问题就是问现在AI非常厉害了然后你在AI思考的时候你在做些什么有人说比如刷手机啊看抖音啊之类的其实我觉得很正常但是我其实建议大家在AI思考的时候你去看他的思考过程就是他的思考过程在某一种程度上可以改变你的思路我觉得很多时候我们的思路是定化的就是没有办法做一个全面的发散就是很多时候我们是根据AI给你的结果去固定了思路而并不是去看他的思考过程去进行一个思考这样的话你做才能做到一个相对来说的思维训练吧因为思维训练就是你在看足够多的一些推导之后然后去形成了一个思维观世在Rog问完之后就开始问Long Graph了我觉得在四五月份的时候Long Graph还能用但是现在可能大家都不太用这个框架了也不能这么说吧就是我觉得它并不是一个非常非常火的状态了你可能比如说我很炫的说我用了PiAgent去做了一些事情然后我可以把PiAgent去讲得很好我们就没有必要去用Long Graph嘛然后这个Long Graph当时用的是当时问的是比如说你的状态机是什么状态之间的流转是什么就很多人可能用很多人可能说我用Long Graph去做Agent的但是实际上如果说继续问Graph里面有什么State可能很多人就卡住了因为大家做的Agent的有一些是在实习中做的有一些同学他的Agent的可能是自己手搓的所以说很多细节你并没有办法去做一个很好的展开然后就容易卡住其实状态不是一个抽象的名字比如一个诊断Agent里的State可能包括比如用户书啊车达兮兮故障嘛状态结果然后这些状态在不同的Node之间是不断的被读取和更新的这才是Long Graph的核心它并不是而不是它是一个多Agent的Famework就是很多人很多东西你要把它讲得很清楚而并不是说这个东西大而化这个是什么你要去深入它的细节而且如果说你在很多的Agent里面比如说不同的Famework你去掌握之后你会发现这些Famework之间是有一些共性的后面又问我为什么用这个数据库嘛其实这个问题本质上又是在考就是你的数据模型和你的存储模型是不是匹配的如果说你的Agent side本身就非常动态的话你每一个workflow的中间字可能都不一样像这种Document Store它确实比较自然但是如果说你存的是账单啊账户啊资金流出啊可能用的是另外一套选项其实我发现Agent Engineer其实非常需要传统的Software Engineer的能力你用数据库怎么选啊缓存怎么用啊Sed怎么PureSit包括你失败后怎么Resume其实最后这些最后都是绕不开所以说我其实非常羡慕有那个Software Engineer的经验包括其实北美这边对于Agent的找工都是prefer有experience的还有一个非常经典的杀手问题吧我感觉这个每一场面试都会问我就是你为什么一定需要Multi Agent的一个普通的PumpLine不行吗就是甚至你的简历里面可能只要写Multi Agent的就一定要准备因为很多项目其实根本不需要Multi Agent的因为如果你的流程永远都是input然后回溯LM其实本质上它就是一个PumpLine如果你非说是三个Agent其实反而像过度设计就是有些同学可能是为了让自己的简历写得高大上一点或者说你的简历是Code Dance和CC魔改的所以说你要真的要想清楚什么情况下Multi Agent才比较合理我觉得至少满足一些条件比如说不同的阶段需要完全不同的工具然后你不同的阶段需要不同的PumpLine和上下文包括你的路径需要动态的分支某一个节点可能失败以后回退还有就是每个角色确实有比较清晰的Responsibility boundary这个时候你拆Agent才有意义所以说真的不能表现出就是因为Multi Agent比较高级所以说你才有Multi Agent就是你需要去证明你的复杂度是业务要求带来的而并不是你自己创造出来的当时问完这些之后又突然开始问我卡夫卡因为卡夫卡的问题大概就是你高峰期的信息堆积是怎么解决的然后你怎么判断是真的消息堆积还是说你消费者能力不足再往下就是你怎么去判断消费者的CPU不够然后网络评价等等这些问题为什么呢我一开始的时候我觉得这些问题就是非常的巴股吧然后非常的后端其实我在复盘的时候我觉得一个生产的Agent根本就不可能夺利存在为什么就是你的Agent可能需要消费Event可能需要去调用十几个Tool然后你去产生一些Trace然后通过消息队列去做Workflow如果说你的系统流量起来那消息队积怎么办你的消息延迟怎么办你的重复消息怎么办你的乱信怎么办你的Exactly what做不到做不到的时候怎么设计密等其实这全都是Agent Engineer的问题所以说我真的非常建议准备Agent港人不要只去LM这些后端的基础这些是不能丢的尤其是你比如像数据库卡夫卡缓存并发现成值网络和分布式系统这些其实往往会比你去也不是说会比就是我觉得这些基础是非常重要的后来呢阿里还问了我就是一整套那个Testle to Circle的问题其实也比较有代表性就是面试官会问你Testle to Circle什么这个很简单就是让飞机数用户直接用自然语言去查数据库真正的问题是后面就是一个完全不懂的数据库的人说你帮我查一下负责商品里面卖的最好的这几个系统怎么理解卖的最好是什么意思然后这就是自然语言的一个模糊性而LM最大的问题就是他特别喜欢猜因为你在数据库的场景里面猜错就是错所以说你的解决办法并不能是Promoter写好一点所以说合理逻辑可能是如果说confidence足够高的话我们就继续如果说存在明显的一个模糊的话我们就继续Cary Fiction比如问你比如问你指的是销量最高还是销量额最高这个逻辑非常重要其实我现在越来越觉得就是一个好的A键并不应该是什么问题都回答的他应该知道什么时候执行什么时候拒绝什么时候去澄清这个能力可能会比回答的本身更重要一点后面呢后面还问了一些比如说多表的结合怎么保证自断重要这个其实已经不是LM的能力是你自己去需要做Sigma的一个retrieval包括Mand Data自断描述以及表示relationship业务口径甚至对于重要的指标你可能还要做一些结果降业等等所以说我觉得Test to Circle特别的说明一个问题就是生产A键系统的核心不是让模型更聪明而是限制模型犯错的空间这句话我有点感触吧就是我正在实习的时候因为我在美国用的都是Cloud Code和Codex嘛然后又是满餐的然后我刚去实习的时候我就用一些国产模型我就觉得我就觉得我老是觉得生产中有问题就是因为模型太蠢其实我发现不是因为因为你真正在生产的时候你要考虑很多的问题你要考虑成本问题然后你要考虑模型边界问题你要考虑就是模型的大脑已经不是最重要的事情所以说后面有Harness有一些Promote Engineering就是它是让模型限制住了它的边界我觉得这一点可能会比模型本身是否更加的聪明更重要一点这不是别的还有一轮我比较单独说嘛就是这个AI CodingAI Coding它是它是40多分钟环境是一个沙和体验很像Cursor就是它是一个系统设计题当时是让我们设计一个可扩展线上安全然后罗络清晰的一个订单状态机的引擎题目给了一些背景功能要求线上条件交付就你可以使用AI就是听起来可能很爽嘛就是我觉得可能如果说你上来就把整个题目复制给AI让AI帮我完成的话可能是一个非常危险的做法因为后面这个面试官就是我的代教然后我们跟他我就跟他聊了这个事情我说你们当时到底在看什么他说他想的就是看你怎么去使用AI他care的是我们交货的过程其实主要的角色就是你的角色是一个teach lead然后你的AI的角色是一个junior developer就是整个真的是我面AI code里面最大的感受就是AI code里到底在看什么就是首先你自己有没有先理解问题我觉得AI已经让很多人的大脑已经放弃思考了但是呢你要但是呢其实这一点非常可怕啊我自己也是有感受就是我现在面对很多问题第一反应就是我问一下AI怎么做然后AI做错了好那我换一个AI怎么做好这两个AI讲的不一样怎么办那我就再问一下第三个AI是什么这个是一把双刃剑吧就很多时候你已经舍弃了自己的一个呃思考过程如果说你做了第一点就是你首先你自己要对这个问题有一点理解哪怕你是一个模糊的框架哪怕你并没有一个呃非常非常正确的选择你也要自己先理解一下我觉得这是一个被迫的过程吧还有第二点就是你会不会拆任务你比如说你写一个状态机的引擎这个状态机引擎我觉得大家应该不不陌生吧你比如说你做一些算法题目的时候也会有很多状态引擎的一些算法写法嘛你可以先拆嘛拆不同的部分然后一块一块的交给AI还有第三点就是你会不会验证AI就是AI写完一个模块你有没有去读有没有去跑test有没有去检查这个边界有还是说你看到绿色代码直接accept还有第四点就是你能不能解释tread off就是你比如说你用了呃这个去定义状态当时我就是然后当时面试官就fill up的时候就问我如果说你用它定义的时候呃和直接通过那个metadata和定义状态和事件它各自优劣是什么你就必须要意识到这些优劣问题还有就是其实面试官呃真正想看的并不是你最后代码跑没跑而是说这个设计到底是不是你做的决策呃我对于自己的嗯这场面试呢跟我最大的感受就是AI在Agent的感到强业务场景之后因为AI本身可能反而不是最大的重点为什么就是呃reliability其实是AI工程的很大一部分因为它设计了很多问题因为你在具体的商业化的时候你会有一些资金问题呀广告问题呀等等这些场景就是面试官他特别的关注正确性一致性安全性可追溯性这些问题虽然我的简历里面有一些Agent的但是还是被追问了大量的传统的后端问题你比如说卡卡的消费呀消费组是什么呀消费消费者和participation什么关系啊如果说消费数量比partition多会怎么样啊rebalance是什么呀offset怎么提交啊还有一些涉及你资金流水问题你怎么保证顺序啊怎么重复消费啊大家其实这个和Agent的比较像Agent的最大的问题也是就是IM本身并不是deterministic的你必须要用一个系统去爆竹它当时面试官问了我一个比较印象深的Agent的问题吧他当时说就是他觉得我这个Agent的platform听起来没有那么复杂就是输入进来呀Agent的判断呀DMCPA最终输入结果其实这个问题就是在挑战你的这个项目到底是真的工程系统还是说你只是套了一层Agent的名字我觉得这种题目很容易把人问懵因为如果说你从摘要上看你确实可以说它就是一个inputAgent的tool和output但是实际的生产系统的复杂程度全部藏在这个箭头之中就是谁能掉这个tool你的读操作和写操作权是不是一样你的参数合法性水检查你设计高风险操作要不要做二次确认你的脚本在哪里执行啊如果说AEI生成一段Python能不能直接在生产机器里跑当然不能所以说你就会引出沙盒所以说他后面就问了我沙盒这个问题就是说呃他当时问我就是Agent呢为什么不能直接碰上的环境因为因为你可以把Agent生成的一个自定义的代码丢到了隔离沙盒里面去限制这些东西超市直接杀掉然后呢访问为授权的资源的话我们就做一个直接拒绝这个时候你的Agent呢才真的从一个demo变成了一个system我觉得这个问题让我明确一件事情就是Agent的工程的复杂度不在于Agent的loop的本身因为你的react loop可能几只好代码就写完了真正的复杂度是它的外围问题这才是真正的production agent呢你比如说你像你的授权啊permission啊state啊沙盒呀等等这些问题呃当然老生常谈的这个宇宙厂总是会问出一些非常非常多的八股问题就是什么数据可以本地还算什么数据不能放呀垃圾回收呀现成稳定性问题啊嗯其实我一直有一个错觉就是我觉得我要做AI我就好好做AI方面的东西我去追最实时的热点然后我去看最新的代码比如说今天有今天deep seek harness又出了新版就是我觉得我可能不应该去看一些八股的东西但是我觉得如果说你做的是AI engineer和Agent engineer你其实他如果说你只要不是纯research我觉得真的是需要去看这些八股的目前市面上不是有超级超级多的Agent的八股吗我觉得大家还是要看一下的就是因为Agent的最终一定是跑在一个软件环境软件系统里的然后他Agent的也需要一些服务化高可用储存网络监控部署容灾所以说传统的SWE的能力不是小时其实他就是在上面多了一层A其实我觉得我们找功能压力是变大的Bian的话其实Bian很多东西我不太能分享因为Bian考了很多很多就是项目上的细节就是他也问了一些比较简单的问题就比如说Skill检索Tool和Skill之间的区别等等包括你Skill更新怎么做版本华管理等等他分了好几层吧就是第一层做了一个架构的确认我觉得这个我可以就是概括的讲一下就是你这些是怎么设计的呀量级你怎么判断的呀还有一些是路由的细节就是你们是做了一个路由的吗就是很多Skill是每个Skill能查到上游投放的某一部分让一件你去选Skill还是怎么样第三层这个我觉得非常好就是一个评估和归因问题我觉得大家也可以自己想一想这个事情就是你的方案是怎么做这个optimize的你在看ABTest之后多久可以做到一个有效的显出性结果还有就是你拿到了这一版方案效果变好了它对你的Skill有多大的impact你们是怎么evaluate的就是我觉得要注意一下就是方案有效和Skill有效其实是两件事情它中间是隔了一层归因问题的第三问当时是我直接被问住了就是你上了新的Skill之后你原有的那个Bed Case消失了然后你的Analyzer就抓不到这类的Bed Case但是我们怎么是知道这个Bed Case是被消灭掉了而且是因为Skill里面写的对应的内容才被消灭掉了就是详细的品一下就是Bed Case消失可能是Skill其作用了也有可能是流量变了也有可能是要自己修了而且它消失以后我们的监控系统就天然失去了观测它的一个能力这是一个怎么说成功会摧毁自己的证据的一个悖论我当时答的不好然后后面复盘我觉得可能应该从比如说你保留hold out的流量不吃新的Skill去做对照或者说你构造一些回归测试集去定期的投放历史的Bed Case以及你在归因上去看Skill的命中日志和Case消失的一些时间相关性等等的这些问题还有就是他后面又问我就是你拿到了五个调用不同的Skill和工具有效的Section怎么把这五个Section合并成一个对Skill的优化方向他值几本质啊就是你优化的东西究竟是呃一个轨迹还是一个Skill还是什么东西所以说我觉得他灭完这些之后我最大的感受可能就是搭建Agent的能力其实不稀缺就是稀缺的是证明这个Agent在变好的能力就是他全程没有问我用什么框架有什么模型他只关心的就是我的B环有没有真的B上然后每一环的因果是不是占得住嗯这些我就不讲了吧你像2MCP Skills啊大家自己可以去问一下AI啊这些他们都会给出一些明确的答案后面呢我又做了一个复盘就是呃在面完这几家公司之后我把这些问题就是做了一个总结就是你会不会用LM呃这些呢包括你的promote你的structed output你的基本的模型能力这个是最低层啊就是你学AI啊你如果不会LM学啥AI呢对吧还有就是你能不能给LM正确的信息就是他包括rock系统 trunk embedding retrieval read bank还有这个contest management对还有就是你能不能控制LM的行为这个就包括workflow啊long graphstate machinemulti agentrouting planning这些东西第四层就是你能不能把agent去接到一个真实的世界它包括MCP啊APIDeadbase KafkaPython啊之类的东西还有就是第五层如果说你的agent的犯错怎么办嗯对的第六层就是你怎么去证明这个agent真的有价值我发现可能大部分的面试官真的非常的care这个就是你怎么证明你的agent真的有价值因为你在你在企业中如果说你做一个项目项目是否开展就是其实取决于这个项目的可行性和这个项目的价值程度呀我觉得这一点我们都应该好好想一想包括我自己我自己其实也在去思考我目前在做的事情是不是真的有价值嗯还有一些经验吧这些都是我自己的自己总结一些tips就是你不要为了agent而agent这是真的是我特别想说的就是你看现在的Python就是在做一个减重的行为就是很多人都在炫技呀包括我之前在实习的时候我的加三就跟我说你不要炫技呀你就是你要真的在现实生产中考虑这些事情就是如果说你真的用了没有tagent你一定要能回答如果说一个pumpli这个解决你就用pumpli如果一个circle就用circle一个script就用script因为你在lm是系统里面最规最卖最不稳定的组件之一它不是越多越好的嗯还有一个就是所有的技术选页都要准备就是你不能只准备我用了这个而是要准备为什么为什么是这个为什么不是别的为什么呃呃为什么要选这个什么时候你会做一个切换你不要只去准备说我只用我用了这个而是要去准备就是什么呃什么状态结构去适合document store啊如果说十字印数据你还会不会这么选啊我觉得大家就多问自己为什么吧就是要什么知其然并且知其所以然还有就是传统的后端一定不能丢我面之前真的没有想到就是A键的港可以问这么多的一些后端的知识我后来就是包括前几期视频也在去想这个事情我现在感觉是理解的就是因为A键它不是漂在空中的它最终还是一个distribute system所以说我们后端的那些东西是根本丢不掉的这些东西非常重要还有一个就是要学会说不确定嘛就是这个也是我自己在练因为A键这个领域变得太快了就是面试官很容易问到你没有实际做过的东西你就包括我离职以后到现在已经又出了很多很多新的东西你这个时候呢我建议大家就是跟面试官进行一个交流因为你如果说没做的东西你自己印往自己的项目上加的话其实会有非常多漏洞以及不可行性的你不如去直接把你对这个项目的看法以及它可以做的一些trade off做好因为在现实的生产中可能大部分大家都会用AI嘛然后可能我们更多人看的就是你对AI的判断力对的所以说我自己写了一个就是我没有在生产环境做过但如果让我设计我会从几个维度考虑这个点其实很好就是它考的是一个发散性思维的过程第五就是你会不会和AI一起工作然后因为AI coding这一轮对我影响挺大的就是我们之前可能把Copelot和Courser当工具嘛然后但是其实以后很多的那个software engineer的工作可能真的会变成你负责去定义任务拆任务啊做架构订阅数件是后果AI负责去生成搜索时间debug所以说以后我觉得可能codinginterview也会慢慢的从你能不能一个人收写所有的代码变成当所有人都有AI的时候你能不能比别人做出更可靠的系统我觉得这是一个非常大的变化所以最后做一个总结吧就是如果说让我总结这些面试了我可能会说AI agent的领域本质上真的变成AI native software engineer你并不能直懂模型也不能直懂后端你既要知道LM有什么能力要知道LM有多不可靠而且你可以用这些东西去把这种不确定性包在一个可靠的软件系统里这目前是我对Agent的港最强烈的感受吧这些主要是我做了一个完整的复发就是其中可能有一些点并不是非常的准确的就是大家多多指上吧因为我们都要共同的努力加油就是我没有一个准确的答案纯实我自己的一些个人的理解所以我们都要共同的冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠冠