科大讯飞 AI Agent 二面

1、自我介绍

2、做了一个企业知识库 + 办公助手 Agent的项目

3、Agent 和传统聊天机器人最大的区别是什么

传统聊天机器人更多是围绕对话生成展开,本质上是“用户问一句,模型答一句”。AI Agent 不只是回答,它还要理解目标、拆分任务、决定下一步动作,并且在必要时调用外部工具完成任务。所以 Agent 更强调“决策能力”和“执行能力”,而不是单纯的生成能力。

比如用户问“请假流程是什么”,这更像知识问答;如果用户说“帮我查一下我下周一有没有会,如果没有就给我安排一个项目同步会”,这就不是普通聊天了,因为它涉及状态判断、调用日历工具、执行会议创建等一系列动作,这才更符合 Agent 的定义。

4、Agent 的核心组成有哪些

一个完整的 Agent,一般至少包括任务理解、记忆管理、规划决策、工具使用和结果生成这几部分。任务理解负责识别用户当前意图;记忆管理负责维护多轮上下文;规划决策负责判断当前应该做什么;工具使用负责调用外部系统完成真实动作;结果生成负责把执行结果组织成最终回复。

在工程实现里,还会再加两个关键部分。一个是状态管理,用来明确当前任务处于哪个阶段;另一个是观测和评估,用来分析线上效果和定位问题。真正做过 Agent 项目以后会发现,工程部分的重要性其实不比模型本身低。

5、任务规划是怎么做的

任务规划本质上是把用户一句自然语言请求,转换成一个可执行的步骤序列。如果任务很简单,比如只问一个概念,那通常不需要复杂规划,直接走问答链路就行。如果任务是复合型的,比如“帮我查下今天下午有没有空,然后约个会,再整理会议背景发给组里”,这时就需要先分析目标,再拆出多个步骤。

常见做法有两类。一种是让大模型直接输出计划;另一种是程序控制主流程,把规划限制在固定状态机或工作流里。真实业务里更常见的是第二种,因为完全依赖模型自由规划虽然灵活,但稳定性会差一些。一般会让模型负责理解和补参数,程序负责控制任务流转和关键动作执行。

6、Function Calling 的本质是什么

Function Calling 的本质不是让模型直接做事,而是让模型先输出一个结构化的函数调用请求,再由程序真正去执行。也就是说,模型负责决定调用哪个工具、传什么参数,程序负责执行工具并拿到真实结果。这样做的好处是可控性更高,也更适合接业务系统。

如果没有 Function Calling,模型可能会直接“脑补”一个结果。但用了 Function Calling 之后,像查日程、查数据库、发邮件、调审批接口这类动作,都能通过程序真实执行,结果也更可信。所以在 Agent 项目里,Function Calling 基本是非常核心的一层能力。

7、RAG 在 Agent 里一般起什么作用

RAG 在 Agent 里通常承担“知识获取”这一层能力。Agent 本身负责判断当前需不需要去查知识,RAG 则负责把相关文档检索出来,提供给模型做回答依据。所以从关系上看,RAG 往往是 Agent 的一个子模块,而不是和 Agent 并列的东西。

比如用户问制度规则、产品文档、内部流程,这类信息更适合走 RAG。Agent 先判断这是知识问答任务,然后触发检索、重排、生成。如果用户是要执行动作,比如查日程、创建工单,那可能就不需要 RAG,而是直接走工具调用。

8、多轮对话里上下文怎么管理

多轮对话不能简单把所有历史记录原样拼进去,因为那样会带来 token 成本高、噪声多、信息干扰大的问题。通常会把上下文分成三类处理。第一类是最近几轮对话,这部分一般直接保留,因为和当前任务最相关;第二类是任务状态,比如用户已经补充过哪些参数、当前缺什么信息、上一步执行到了哪里;第三类是长期记忆,比如用户身份、部门、偏好、常用配置等,这些信息更适合结构化存储,按需召回。

在 Agent 场景里,最关键的其实不是“保留多少历史”,而是“保留哪些真正影响当前决策的信息”。

9、怎么减少工具误调用

工具误调用本质上是模型对任务边界理解不清,或者工具描述不清晰导致的。常见的解决方式有几种。第一,工具描述要写得足够明确,尤其是适用场景、参数含义和限制条件;第二,在真正给模型开放工具前,先做一层任务分类,不是所有问题都让模型在全部工具里自由选择;第三,工具参数要做 schema 校验,缺字段或者格式不对时不能直接执行;第四,工具返回结果之后还要做结果校验,避免模型把失败执行包装成成功。

本质上,工具调用不能完全靠模型“猜”,必须通过工程手段做约束。

10、为什么很多 Agent 最后会做成 Workflow,而不是完全自由规划

因为完全自由规划虽然看起来更智能,但真实上线以后会发现稳定性和可控性不够。尤其是在涉及企业办公、教育、客服、审批这类场景时,大家更关注的是链路能不能稳定跑通,而不是模型能不能临场发挥。所以很多 Agent 项目最后会采用 Workflow 方案,把主流程拆成固定节点,每个节点负责明确的事情,比如意图分类、补参数、调用工具、结果校验。

这样做的好处是调试方便、评估方便、回放方便,也更容易控制异常分支。真正落地时,通常不是纯 W

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

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

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

全部评论
好家伙,你这整理的真好啊
点赞 回复 分享
发布于 03-15 18:50 陕西

相关推荐

发一下问题给大家参考,攒攒人品!1.项目拷打2.实习拷打3.检索融合的具体流程是什么?召回后有没有做 Rerank?4.Rerank 后返回几个块(Chunk)?有没有针对这个返回数量做过验证?5.Rerank 后的 TopK 截断是怎么做的?为什么是这个值?有没有其他截断方案?6.讲一下上下文工程(Context Engineering),Agent 的记忆(Memory)是怎么做的?7.请详细讲解分布式令牌桶限流的实现。8.漏桶算法(Leaky Bucket)的原理讲一下。9。滑动窗口算法限流讲一下。如果用代码实现,滑动窗口的结构体会包含哪些字段?10.滑动窗口和令牌桶相比有什么缺点?11.在 Redis 中,你会用什么数据结构来实现滑动窗口限流?12.LRU 缓存的实现原理讲一下。13.布隆过滤器(Bloom Filter)的底层原理和适用场景讲一下。14.MySQL 索引会在哪些情况下失效?15.在使用 LIKE 进行模糊查询时,索引什么情况下会失效?16.MySQL 的事务隔离级别有哪些?如何保证一致性?17.详细说说 MVCC 的实现,ReadView 的生成时机是怎样的?18.在不同的隔离级别下,一个事务分别会创造几个 ReadView?19.MySQL 都有哪些锁?它们的作用分别是什么?20.为什么选择 Python 和 Go 作为技术栈?在处理并发时有什么区别?21.手撕代码:实现反转链表
查看21道真题和解析
点赞 评论 收藏
分享
评论
4
27
分享

创作者周榜

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