小鹏 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 湖北

相关推荐

04-15 17:41
已编辑
南京林业大学 后端工程师
发面经攒人品两周前一面的,一直没有消息,这周突然二面了一面忘记录音了,只记下来一点三道手撕- 第一题压根没见过,提供了两种指令,要求用这两种指令实现判断字符串是否符合某种性质(不会)- leetcode240搜索二维矩阵 II,hot100题目(还有点记忆)- 给定一堆用户的在线时间记录(格式为[登陆时间,退出时间]),求姐同时在线用户最多的时间段八股环节,他让我选则计网或者系统,我选了计网- http从1开始一直3,每次改进了什么,解决了什么问题- http1.1的头堵塞问题是什么意思- http2为什么会有头部堵塞- http3怎么解决头部堵塞的- 为什么用udp的QUIC协议能将解决头部堵塞- 讲一下https握手- 每次https都要四次握手,代价很大怎么优化?用长连接- 长连接的https万一密钥泄露了怎么办?设定一定的时间,定时重握手二面1. 哪里人,在哪里上学2. 自我介绍3. 讲一下mcp4. 讲一下skill5. 你有一个智能agent项目,讲一下什么叫做智能6. 我想设计一个智能告警系统,有四个项目需要监控,每个项目每天都有致命告警。但是这些致命告警有一些是错报,因为这些告警是别的同学配置的,我没有办法去掉。有两点:一是该系统需要能够同时监控多个项目,二是告警出来后需要去查代码是什么意思或者调用一些工具进行自动化处理。你认为这个系统应该怎么设计?7. 这个系统的rag里面存什么?tool要封装哪些工具?怎么agent按照某个流程执行检查?8. 你简历上的这个项目与刚刚我想要的那种系统很像,你能讲一下两者之间的差异吗9. 你刚刚说到了兜底逻辑需要做一些,能来讲一下大概要做哪些兜底逻辑吗?10. 你平时用什么ai工具,怎么用?11. 用过openclaw吗?12. 讲一下实习项目13. 实习的时候主要是做前端还是后端?14. 怎么实现一个分布式锁,设置超时时间?15. 假设有abc三个在抢锁,简单介绍一下情况。然后a挂了会怎么样,你能从代码级别描述一下吗?16. 你知道MongoDB吗?17. 一分钟快速介绍一下事务的ACID18. 一致性怎么保证?代码中怎么实现?19. 你怎么理解消息队列中的消息持久性20. 讲一下消息队列怎么保证持久性?21. 万一消息队列磁盘坏了怎么办?22. 写操作是只写那个主消息队列吗?23. 了解https算法吗?24. rsa个ec算法有什么区别?不知道25. 你用过哪些对称加密算法?只知道凯撒密码26. 10个业务,一天1亿个计算任务,10万台机器资源,构建一个分布式计算平台。任务大多是cpu型任务,有长又短。你会怎么设计这个平台?27. 你的路由层用多少机器?28. 假设用了三台机器来管理,然后其中要有一个leader,怎么选出一个leader?29. 基于redis实现选举,怎么实现?一开始我说模仿哨兵模式,用一个哨兵节点负责选举。他要求我不用哨兵,就用三台机器和一台redis实现选举30. 现在解决了主master的问题,接着怎么调度?讲一下怎么调度的设计思路31. 假设某一瞬间来了很多请求,你怎么保证所有机器不会被打爆?32. 现在有很多新的技术,你怎么看待新技术,是出来一个就学一个吗?还是怎样一个态度?33. 你怎么学习一个新技术,讲一下思路和方法34. 平时会有多人协作的工作吗?35. 研究生的研究方向是什么?平时干什么?36. 了解编解码算法吗,比如h264和h265,我们这边可能涉及到多媒体数据格式的转化,你了解多少?37. h264中的视频帧分成哪几种?好像是分三种,具体不知道38. h264和265的区别?不知道反问:1. 部门做的是存储、多媒体相关的,我没有这方面背景,对实习生要求是啥?进来后再学,要有自学能力、自驱力2. 转正要求,转正率是多少?50%以上。(存疑,tx转正率有这么高吗)3. 具体业务场景:提供存储服务,用户上传存到这里,访问的时候再下发。面试官追问:1. 你有没有其他offer?
点赞 评论 收藏
分享
评论
4
11
分享

创作者周榜

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