小鹏 AI Agent 开发 二面

1、自我介绍

2、项目深挖

3、如果让你设计一个 Agent 的评测体系,你会怎么做

Agent 的评测不能只看最终回答像不像,因为很多场景里最终答案看起来没问题,但中间过程其实已经错了。真正可用的评测体系应该至少覆盖三层。

第一层是结果评测,也就是任务有没有完成,最终输出是不是符合目标。第二层是过程评测,要看任务拆解是否合理、工具是否选对、参数是否正确、执行顺序是否稳定。第三层是系统评测,要看延迟、成功率、重试率、单次成本、异常恢复能力这些工程指标。

如果是线上系统,我会把评测拆成离线和在线两部分。离线阶段构造标准数据集,做固定样本回放,评估规划正确率、工具调用成功率、任务完成率和输出质量。在线阶段则重点监控真实请求中的失败样本、用户中断点、异常分布和效果漂移。因为 Agent 的问题很多不是一次性暴露出来的,而是会随着数据分布变化逐渐恶化,所以评测体系必须是持续运行的,而不是只在上线前做一次。

4、Function Calling 和 MCP 你怎么理解

Function Calling 的核心是让模型不只是输出自然语言,还能按照约定格式去调用外部工具。它本质上是一种“受约束的工具调用接口”,模型负责决定要不要调工具、调哪个工具、传什么参数,系统再根据这个结构化结果去执行。

MCP 更像是把模型和外部工具、资源之间的连接方式标准化。它不是只解决“调用一个函数”的问题,而是希望把模型如何访问工具、文件、服务、上下文这些能力抽象成统一协议。这样模型不需要对每个工具都写一套特殊适配逻辑,而是通过统一接口完成连接。

简单说,Function Calling 更偏具体调用机制,MCP 更偏通用连接协议。前者解决“怎么调”,后者解决“怎么统一接”。

5、如果模型工具调用经常出错,你怎么解决

工具调用出错,通常不是单点问题,而是整个链路都可能有风险。最常见的错误有三类:一类是工具选错了,模型理解任务时就偏了;一类是工具选对了,但参数抽取错了;还有一类是工具执行成功了,但模型对返回结果理解错了。

解决时我一般会先把调用链拆开看。首先要把工具定义写得足够清晰,尤其是工具描述、参数含义、必填项和边界条件,否则模型很容易误判。其次是参数层面要做 schema 校验,不能模型传什么就直接执行。再往下,工具返回结果最好结构化,不要返回太随意的自然语言,否则模型后处理时会继续放大歧义。对于高风险工具,还要做执行前确认、执行后校验和失败回退,不能把所有决策都交给模型自由发挥。

6、你怎么理解 Agent 的规划能力和工作流的区别

工作流的核心是提前把路径定义好,系统按既定步骤执行。它的优势是稳定、可控、好观测,适合流程比较固定、边界明确的业务。缺点是灵活性有限,一旦任务变化比较大,就需要频繁改规则。

Agent 的规划能力则更强调根据目标动态决定下一步做什么。它不一定提前知道完整路径,而是会在执行过程中根据环境反馈持续调整。这样灵活性更强,适合复杂任务和开放场景,但稳定性和可控性也更差。

所以两者不是完全对立的。真实业务里,很多时候不是纯工作流,也不是纯自由规划,而是把核心稳定链路做成工作流,把不确定性高的局部交给 Agent 去决策。这样既能保住系统稳定性,又能利用模型的泛化能力。

7、上下文窗口越来越长,为什么模型效果不一定更好

上下文窗口变长,不等于模型真的能有效利用这些信息。窗口只是“能装下”,不代表“能理解好”。如果上下文过长,模型在注意力分配上会更困难,尤其是中间位置的信息很容易被忽略,最后可能出现前面记得住、后面也记得住,但中间关键信息反而利用不好的情况。

另外,长上下文本身也会带来噪声问题。很多内容虽然被塞进去了,但和当前任务并不强相关,模型反而会被这些无关信息干扰。再加上推理时上下文一长,成本、延迟和缓存压力都会上来,所以实际系统里不能只追求窗口更大,而是要考虑怎么把真正有用的信息选出来、压缩好、组织好。

8、如果让你做一个长期记忆模块,你会怎么设计

长期记忆不能简单理解成把所有历史对话都存起来。真正可用的长期记忆应该只保留对未来决策真正有价值的信息,比如用户稳定偏好、常见任务模式、长期背景、关键历史结论,而不是把所有原始聊天记录原封不动堆进去。

设计上我会把长期记忆分成两部分。一部分是结构化记忆,用来保存明确字段,比如用户身份偏好、历史配置、固定业

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论
mcp是协议,mcp server才是真正的服务
点赞 回复 分享
发布于 03-17 19:36 湖北

相关推荐

本人技术栈主要是Python+Go,之前有两段后端实习经历一面一开始面试官就围着我之前的实习项目问,问得还挺细的:当时做项目的时候,为什么要引入父子索引?还有BM25,引入的原因是什么,比例是怎么设置的,整个具体流程是怎样的,有没有做rerank操作?如果做了rerank, rerank之后返回几个块?有没有做过一些验证来确保效果?rerank之后的topk截断是怎么实现的?为什么选这个k值,有没有考虑过其他方案?让我讲一下上下文工程,还有记忆功能是怎么实现的。除了AI相关的项目,还问了我之前做的后端实习项目,都是一些项目里的细节问题。分布式令牌桶限流、漏桶限流,还有滑动窗口算法限流,这三个都让我讲一下。尤其问了滑动窗口的数据结构会包含哪些字段,滑动窗口对比令牌桶有什么缺点,还有用Redis的什么数据结构能实现滑动窗口。又绕回我自己做的项目,让我讲一下LRU的原理和实现。布隆过滤器的原理、应用场景,也让我详细说一下。MySQL索引失效的情况,这块我八股好久没看了,只想起来两个,被面试官追问了好久,有点没答好。面试官还补问了一句,like查询会不会导致索引失效。MySQL的事务隔离级别,还有一致性相关的内容,让我讲清楚。MVCC这块问得特别细,反复追问,还举了具体场景,问这种情况下会创建几个readview,我当时琢磨了半天,尽量把自己知道的都讲了。最后还问了MySQL的锁相关知识,行锁、表锁这些都涉及到了。手撕代码环节,我跟面试官坦诚说,最近一直在实习,好久没刷过题了,然后面试官就出了一道反转链表,不算特别难,慢慢理清楚思路就做出来了。二面跟一面不一样,二面全程没涉及后端相关的问题,全是AI agent和RAG相关的,而且大部分都围绕我之前做的RAG项目展开,问得特别深入。首先问我,做RAG项目的时候,是怎么评测效果的?有哪些评测维度,具体用到了哪些指标?然后问项目里的数据集包含什么内容,数据来源、数据格式这些都问到了。如果让我对RAG的相关度和回答效果做优化,我有什么思路?有没有更体系化的优化方案,而不是零散的调整。面试官还举了个具体场景,比如有一千条数据,需要做求和处理,让我说说这种数据处理场景,我会怎么设计实现。RAG的性能怎么提升,有没有实际的优化思路,不管是工程层面还是算法层面。我项目里的上下文是怎么处理的,有没有什么优化的方向,比如上下文过长、冗余这些问题怎么解决。agent的长记忆和短记忆之间,怎么做到协同工作的,两者的衔接逻辑是什么。最后问我,有什么思路能让自己做的agent更智能?这个问题我感觉太宽泛了,当时没太get到面试官具体想了解什么,就主要围绕我工程开发中遇到的实际问题,讲了一些针对性的优化思路。手撕代码环节,出的是全排列,这个之前刷过类似的,思路比较清晰,顺利做出来了。感觉面试官比较爱问的AI问题就是RAG 的全链路优化、Agent、减少幻觉
查看23道真题和解析
点赞 评论 收藏
分享
评论
3
8
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务