腾讯Agent面试硬核10+问题深度拆解:我的复盘与“更优解”
一场面试十几个硬核问题横跨模型可靠性、RAG检索、工具扩展、代码生成……我把面试官的“灵魂拷问”和我的思考完整拆解给你看。写在前面两个月前我投递了腾讯Agent开发方向。说实话简历能过筛选已经让我有点意外了。但真正让我头皮发麻的是接下来的两轮技术面试。一面问得广二面挖得深。面试官没有问“什么是Agent”这种入门题而是直接抛出了生产环境里才会遇到的真实痛点模型输出失败了怎么办RAG召回率怎么评估AI决策冲突了谁说了算这篇文章我把两轮面试的所有问题、我的回答、以及事后复盘到的“更优解”完整整理出来。不管你是准备面试还是正在做Agent相关的项目相信都能从中找到共鸣和启发。第一面基础纵深一个都别想蒙混过关一面面试官很年轻说话语速快上来没有寒暄直接开问。1. AI Agent项目中模型输出失败可以分为哪些情况我当时把失败分成了三大类格式失败模型没有按照约定的JSON或结构化格式返回比如多了前后缀、少了闭合括号。内容失败模型输出了“我无法回答这个问题”或者无关内容甚至直接幻觉编造。调用失败API超时、限流、服务端5xx错误等基础设施层面的问题。面试官追问了一句“还有没有一种失败叫‘逻辑自洽失败’” 我愣了一下他解释说“比如模型输出了一个行动计划但前后步骤互相矛盾。” 后来我查资料才知道这在多步推理的Agent中很常见——模型第一步说“先查数据库”第二步却直接“根据用户输入生成答案”跳过了查询环节。复盘建议除了上面三类建议补充推理链路断裂和工具调用顺序错误。面试官其实在考察你对Agent执行全流程的认知颗粒度。2. 如何处理模型输出失败有哪些策略和工业界兜底方案我回答了重试、降级、兜底回复三层策略重试指数退避重试对于格式错误可以用校验反馈修正把错误信息塞回prompt让模型自己改。降级如果模型持续失败跳过当前Agent节点使用默认策略或规则引擎兜底。兜底回复最终给用户一句“暂时无法处理已转人工”或保存上下文待后续处理。面试官点头然后补了一个工业界常见做法输出结构化校验层Pydantic/Schema验证在模型输出后、业务逻辑前做一个强校验。如果校验失败不直接抛错而是走“修复-重试”闭环。另外对于关键业务会做双模型交叉验证——用一个小模型快速验证大模型的输出是否合理。这个回答让我意识到生产环境的容错设计远比想象中复杂。3. RAG检索中数据如何进行向量索引这题相对基础。我讲了从原始文档到向量索引的标准流程文档解析PDF/Word/Markdown转纯文本文本分块Chunking调用Embedding模型如BGE、OpenAI embedding生成向量存入向量数据库Milvus、Qdrant、Pinecone等同时建立倒排索引做关键词检索混合检索构建索引参数HNSW、IVF等算法面试官追问了索引构建时的内存和速度权衡我说了HNSW的参数调优ef_construction、M值他基本满意。4. 文本分块的长度一般是多少如何权衡我回答常用chunk size在256~1024 tokens之间。权衡点有三个检索精度块太小语义不完整召回的相关内容可能缺少上下文块太大噪声多且超过Embedding模型的最大长度限制。模型上下文窗口如果每个chunk太大塞进LLM时总token数容易超限。语义边界尽量按段落、标题或句子边界切而不是硬截断。可以用LangChain的递归字符分割器或者语义分割模型。面试官追问了一句“如果文档里有表格和代码块你怎么办” 我承认没做特殊处理他提示说可以单独走表格解析器或代码摘要提取。这块是个加分点建议大家补充。5. 为什么使用向量数据库与MySQL的区别是什么PostgreSQL对Agent有什么提升这个问题有层次为什么用向量数据库因为需要做近似最近邻ANN搜索MySQL的B树索引无法高效处理高维向量的距离计算。向量数据库通过HNSW、IVF等算法能在亿级数据中实现毫秒级召回。与MySQL的区别MySQL是精确查询等值、范围、全文向量数据库是相似性查询余弦相似度、欧氏距离。两者可以共存MySQL存元数据向量库存embedding检索时先向量召回再MySQL过滤。然后面试官抛出一个新东西PostgreSQL对Agent有什么提升我当时只答了pgvector扩展让PostgreSQL也能存向量省去维护两个数据库的麻烦。面试官补充说PostgreSQL的事务特性和行级锁对于Agent的多轮对话状态管理很有价值——多个Agent同时写同一个会话上下文时能避免脏写。另外PostgreSQL的JSONB字段可以直接存Agent的tool call记录查询和回溯都很方便。这个回答让我发现向量数据库不是银弹传统关系型数据库在很多场景下依然不可替代。6. 如何评估RAG的召回率常用指标有哪些我回答了信息检索领域的标准指标RecallK前K个检索结果中包含相关文档的比例。K一般取5或10。MRRMean Reciprocal Rank第一个相关文档的排名的倒数取平均适合“只要一个正确答案”的场景。NDCGNormalized Discounted Cumulative Gain考虑排序位置和相关性等级比如高度相关、部分相关、不相关适合有分级标注的场景。面试官追问怎么在实际项目中快速标注测试集我答了两种一是人工抽样标注二是用大模型如GPT-4自动标注然后人工抽检。他补充说还可以用点击日志作为隐式反馈——用户点开哪个chunk就认为那个chunk相关。7. 如何处理大模型输出死循环问题兜底策略是什么如何让模型生成更优内容死循环在Agent的ReAct模式中非常常见。我的回答检测设置最大迭代次数比如10步或者检测重复的observation内容连续两次一样就判定死循环。兜底触发最大步数后强制终止并返回已有结果或提示用户简化问题。优化在prompt中明确要求“每步必须推进状态禁止重复相同动作”另外可以在状态中记录历史动作让模型知道“我已经做过这些了”。面试官追加了一个技巧给模型增加一个“思考是否陷入循环”的元认知步骤——每执行3步后让模型自己判断“我是不是在原地打转”如果是主动换策略。这其实就是Meta-Prompt的一种应用。8. 如何检测输出重复率有哪些方法我说了两类字面重复用n-gram重合度、Jaccard相似度、或者计算连续输出的embedding余弦相似度。设置阈值超过就认为重复。语义重复用BERT或RoBERTa做语义相似度判断。面试官补充了工程上的细节流式输出时可以做滑动窗口实时检测一旦发现连续几轮输出相似度过高提前打断而不是等完整输出完再后处理。9. 如何设计Agent架构支持工具可插拔扩展原理是什么这题考察系统设计能力。我的思路注册中心模式每个工具实现统一的接口name、description、input_schema、execute方法启动时动态扫描并注册到工具管理器。配置文件驱动用YAML/JSON定义工具列表Agent根据用户意图从注册表中匹配工具。原理利用依赖注入和反射/动态加载Python的importlib或Java的SPI机制。Agent只依赖工具接口抽象不依赖具体实现新增工具时无需修改Agent核心代码。面试官追问“如果要支持工具的热加载不重启服务怎么做” 我说可以用插件目录监听watchdog或者基于消息队列动态拉取工具定义。他补充说工业界也有用gRPC调用独立工具服务的方式工具服务可以独立升级。10. Agent和大模型LLM的核心区别是什么我的理解LLM一个静态的文本生成模型接收输入输出文本。没有状态记忆除了上下文窗口没有行动能力没有外部交互。Agent以LLM为核心控制器但拥有记忆、规划、工具使用、反思四大能力。Agent可以调用外部API、检索知识库、执行代码并根据环境反馈调整下一步行动。面试官总结了一句很精辟的话“LLM是大脑Agent是大脑手脚记忆。”11. MCP模型上下文协议解决了什么问题MCP是Anthropic提出的开放协议。我说了核心价值标准化工具接口以前每个Agent框架LangChain、Semantic Kernel等都有自己的工具定义方式切换框架成本高。MCP定义了统一的tool schema和通信协议。上下文共享MCP支持在多个Agent之间共享上下文信息比如用户偏好、会话历史避免重复传递。服务发现Agent可以动态发现可用的MCP Server提供的工具。面试官补充了一个点MCP其实也解决了安全性问题——工具调用可以通过MCP Server做权限校验和审计日志而不是让Agent直接持有API密钥。12. Skills和Function Call的区别是什么这个问题我答得不太好当时只说了表面的区别。回来后查资料Function CallOpenAI等模型提供的能力模型输出一个结构化的函数调用请求函数名参数由外部执行并返回结果。它是一次性的、无状态的。Skills比如AutoGPT的Skills、LangChain的Toolkits是一组相关功能的封装可以包含多个步骤、有状态、甚至可以调用其他Skill。Skills更偏向组合和编排而Function Call是原子能力。面试官提醒Skills通常还包含说明文档和示例模型可以阅读理解后使用而Function Call依赖预先定义好的schema。第二面项目拷打场景题一个比一个狠二面面试官显然看了我的简历每个问题都贴着我的项目经历问。1. 实习拷打略这部分主要聊了我之前的实习内容面试官会不断追问细节验证项目是否真实做过。建议大家对自己的项目要深挖到每一行代码的决策理由。2. 你们有没有遇到Agent之间“决策冲突”的情况比如设计和代码生成不一致是怎么解决的我们项目里有两个Agent一个负责设计输出方案一个负责实现生成代码。冲突经常发生——设计Agent说用Redis缓存代码Agent却直接用数据库查询。我们的解决方案共享上下文窗口代码Agent启动时先加载设计Agent的输出作为“约束条件”。冲突检测规则预定义了一些常见的冲突模式比如缓存方案vs直查数据库如果检测到冲突暂停执行交由一个仲裁Agent判断。最终方案引入单一事实来源——设计文档经评审后不可变代码Agent只能遵从如果确实需要调整必须走变更流程。面试官问“仲裁Agent如果也错了呢” 我回答可以降级为人工确认。他笑了笑说“所以最终兜底还是人。”3. 你们为什么选择“技术方案驱动”而不是直接让AI从PRD出码这是个好问题。我们的理由是PRD产品需求文档通常含混有大量隐含假设和业务约束直接出码会产出大量幻觉和错误逻辑。技术方案驱动先让AI根据PRD生成一个技术方案包含架构、模块划分、数据流、接口定义人工确认后再生成代码。这样把错误前置减少后期返工。效果技术方案阶段的修正成本比代码阶段低一个数量级。面试官补充说这其实也是Chain-of-Thought在工程上的体现——强制模型先思考再行动。4. 你们.catpaw/rules这套知识库和像OpenClaw这种基于RAG的memory有什么区别我解释了我们的设计.catpaw/rules是确定性规则库存储的是“必须遵守的约束”比如代码规范、API命名约定、数据库设计原则。它是结构化、版本化的按路径匹配生效。OpenClaw的RAG memory存储的是非结构化经验比如历史对话、代码片段、踩坑记录通过相似性检索召回。区别Rules用于“强制约束”RAG用于“参考建议”。Rules的优先级高于RAG检索结果。面试官追问“如果规则和RAG结果冲突呢” 我们设计的是规则优先——因为规则来自架构师沉淀代表强制标准RAG只是参考。5. 如果知识库内容过多AI也会有上下文压力你们是怎么做裁剪或者命中的我们用了两阶段检索粗筛基于路径和文件名规则只加载当前任务相关的规则文件比如修改user模块只加载user相关的rules。精剪对于每个规则文件按“是否包含当前代码中的关键词”做二次过滤。此外我们给每条规则加了触发条件字段AI只在条件满足时才注入该规则。面试官认可了这个方案同时建议可以尝试动态重要性评分——让一个轻量模型给每条规则打分只保留Top-K。6. 你们有没有做embedding检索做了。但不是用于rulesrules是确定性匹配而是用于历史对话检索和相似代码片段检索。比如用户问“以前有没有遇到过这种bug”我们用embedding从历史issue库中召回相似案例。面试官追问“embedding检索的召回率和精确率大概多少” 我说没做严格评测只做了人工抽检。他建议至少要跑一个Recall10的评测不然上线后心里没底。7. 如果知识库里的内容是错的或者过期了会不会对AI产生误导你们怎么治理这个问题这是个大坑。我们遇到过规则库里有一条“禁止使用async/await”但那是两年前的技术决策后来已经废弃了。AI遵守了这条规则生成的代码全是回调风格被Code Review打回。治理方案版本标记每条规则带生效时间范围和版本号AI在生成代码时会检查规则是否适配当前代码库基线。反馈闭环当开发者发现AI遵守了错误规则时可以一键“报告规则错误”触发规则审核流程。规则保鲜定期每月用大模型自动扫描规则库标记出可能与当前代码实践不符的规则人工复核。面试官补充了一个做法规则的健康度评分——统计每条规则被AI遵循的次数和被人纠正的次数得分过低的规则自动降级或删除。8. 在一个非常大的存量项目里比如几十万行代码你们是怎么让AI快速理解项目结构的我们做了两件事项目结构摘要预先生成一个项目拓扑图目录树 每个模块的核心职责 关键入口文件压缩成几千tokens作为AI的system prompt的一部分。按需加载源码AI不直接看全部代码而是先读摘要确定要修改哪个模块后再通过工具动态读取该模块的关键文件。面试官问“摘要怎么保证不过时” 我们通过CI流程每次代码合并后自动重新生成摘要确保AI永远看到最新的项目结构。9. 你们现在AI出码留用率是50%那剩下50%主要问题出在哪里留用率是指AI生成的代码经过人工审核后最终合并到主干的占比。我们统计过剩下50%的问题分布**30%**逻辑正确但不符合业务隐含约束比如没考虑某些边界条件**20%**使用了已废弃的API或过时的写法**15%**性能问题比如N1查询、没有加索引**15%**代码风格不一致虽然我们做了规则约束但仍有漏网**20%**完全错误的幻觉代码比如调用了不存在的函数面试官追问“这50%里有多少可以通过改进提示词解决多少需要改系统设计” 我说大概一半一半有些问题是prompt可以优化的比如明确边界条件但像API废弃这种需要实时知识库配合。10. 在复杂业务场景下AI出码质量下降你觉得是什么问题我总结了三个根因上下文窗口不足复杂业务往往涉及多个模块单个对话的上下文塞不下全部信息AI只能看到局部做出的决策就是局部最优但全局错误。推理深度不够模型在复杂逻辑链上容易“短路”比如需要5步推理模型只做了3步就给出答案。缺乏反事实思考AI很少主动问“如果这个条件不满足会怎样”所以边界条件处理得差。面试官补充了一个观点模型的能力边界——有些复杂场景可能已经超出了当前模型的能力上限这时候不应该硬推AI出码而是让人工介入。11. AI有没有出现过“看起来对但其实逻辑是错的”这种情况太多例子了。我举了一个经典案例AI写了一个函数判断用户是否有权限代码跑起来完全正常但逻辑是“只要用户不是admin就拒绝”而产品需求是“admin和owner都有权限”。因为测试用例只测了admin和普通用户没测owner所以测试全过。上线后owner角色无法使用紧急回滚。面试官说这就是测试用例覆盖不全和AI缺乏深层语义理解的结合问题。我们的改进措施要求AI生成代码的同时必须生成一个“逻辑验证清单”列出所有可能的角色和预期结果人工快速验证。12. 你们有没有做过代码diff级别的控制比如限制AI修改范围做过。我们在工具层实现了一个修改范围沙箱AI在生成代码前必须先声明“我打算修改哪些文件的哪些行范围”。系统校验这个范围是否超出权限比如不允许修改核心框架文件。生成代码后再次校验实际diff是否在声明的范围内。超出范围的部分自动丢弃并告警。这个设计防止了AI“好心办坏事”——有时候AI会顺手改掉看似无关但实际关键的代码。面试官问“如果AI需要修改的文件不在声明范围内怎么办” 那就走一个“扩展申请”流程AI需要重新声明理由通过后才能执行。13. 你们基于Playwright做自动化测试那测试用例是怎么保证覆盖率的有没有评估指标我们做了覆盖率指标行覆盖率、分支覆盖率、关键路径覆盖率人工定义的核心业务流程。用例生成让AI根据PRD和代码变更自动生成测试用例然后人工筛选。变异测试用工具自动修改代码比如把改成看测试用例能否发现。如果发现不了说明测试用例质量不足。面试官最后点评“你们在工程化上想得比较深了但AI出码留用率50%还有很大提升空间建议把错误分类做更细的统计然后逐个击破。”写在最后这些面试题背后的“潜台词”两轮面试下来我发现腾讯的面试官并不是在考“背答案”而是在考察你有没有真正趟过生产环境的坑。一面更多是基础能力检验但每个问题都可以往深处挖——比如模型输出失败不是简单说“重试”而是要想到校验层、降级策略、双模型验证。二面则完全围绕你实际做过的项目展开每一个追问都在探测你的问题边界你知道为什么这么做吗遇到极端情况怎么办数据说话了吗如果你也在准备Agent方向的面试我建议你手写一个简单的Agent框架哪怕只有几百行代码你会对工具调用、记忆、规划有完全不同的理解。多踩坑多记录。把每次模型幻觉、死循环、决策冲突的案例整理成自己的“错题本”。关注工程落地而不仅仅是模型效果。面试官非常看重RAG的评测、知识库治理、代码diff控制这些“脏活累活”。AI行业迎来前所未有的爆发式增长从DeepSeek百万年薪招聘AI研究员到百度、阿里、腾讯等大厂疯狂布局AI Agent再到国家政策大力扶持数字经济和AI人才培养所有信号都在告诉我们AI的黄金十年真的来了在行业火爆之下AI人才争夺战也日趋白热化其就业前景一片蓝海我给大家准备了一份全套的《AI大模型零基础入门进阶学习资源包》包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。有需要的小伙伴可以V扫描下方二维码免费领取人才缺口巨大人力资源社会保障部有关报告显示据测算当前****我国人工智能人才缺口超过500万****供求比例达1∶10。脉脉最新数据也显示AI新发岗位量较去年初暴增29倍超1000家AI企业释放7.2万岗位……单拿今年的秋招来说各互联网大厂释放出来的招聘信息中我们就能感受到AI浪潮比如百度90%的技术岗都与AI相关就业薪资超高在旺盛的市场需求下AI岗位不仅招聘量大薪资待遇更是“一骑绝尘”。企业为抢AI核心人才薪资给的非常慷慨过去一年懂AI的人才普遍涨薪40%脉脉高聘发布的《2025年度人才迁徙报告》显示在2025年1月-10月的高薪岗位Top20排行中AI相关岗位占了绝大多数并且平均薪资月薪都超过6w在去年的秋招中小红书给算法相关岗位的薪资为50k起字节开出228万元的超高年薪据《2025年秋季校园招聘白皮书》AI算法类平均年薪达36.9万遥遥领先其他行业总结来说当前人工智能岗位需求多薪资高前景好。在职场里选对赛道就能赢在起跑线。抓住AI风口轻松实现高薪就业但现实却是仍有很多同学不知道如何抓住AI机遇会遇到很多就业难题比如❌ 技术过时只会CRUD的开发者在AI浪潮中沦为“职场裸奔者”❌ 薪资停滞初级岗位内卷到白菜价传统开发3年经验薪资涨幅不足15%❌ 转型无门想学AI却找不到系统路径83%自学党中途放弃。他们的就业难题解决问题的关键在于不仅要选对赛道更要跟对老师我给大家准备了一份全套的《AI大模型零基础入门进阶学习资源包》包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。有需要的小伙伴可以V扫描下方二维码免费领取