字节跳动 抖音 AI Agent开发 一面
1、自我介绍
我主要做的是大模型应用和 AI Agent 相关开发,平时接触比较多的是 Prompt 工程、RAG、工具调用、工作流编排、上下文管理、模型评测和服务化落地。技术栈以 Python 为主,也做过接口开发、异步并发、日志监控和效果优化这类工程工作。相比只关注模型本身,我更关注模型放到真实系统里之后,怎么把效果、稳定性、延迟和成本一起做好。
2、提示词模板是怎么构建的
提示词模板本质上是在给模型定义任务协议,而不是简单写一段说明。一般会包含角色设定、任务目标、输入数据、约束条件、输出格式和示例。
比如让模型做工具调用时,提示词里通常会明确:
- 你是什么角色
- 你要解决什么问题
- 什么情况下需要调用工具
- 工具输入输出是什么
- 结果必须按什么格式返回
- 信息不足时应该怎么处理
一个稳定的模板通常会把自由发挥空间收紧,让模型更可控。很多时候模型输出不稳定,不是模型本身不行,而是模板边界不够清楚。
PROMPT = """
你是一个AI Agent。
任务:
根据用户问题判断是否需要调用工具。
约束:
1. 如果问题可以直接回答,就直接回答
2. 如果需要外部信息,就调用工具
3. 输出必须是JSON格式
4. 不要编造工具结果
用户问题:
{query}
输出格式:
{{
"need_tool": true,
"tool_name": "weather_api",
"tool_args": {{"city": "北京"}}
}}
"""
3、单 Agent 和多 Agent 的区别
单 Agent 更适合任务边界清晰、流程不复杂的场景。比如问答、查询、单工具调用,这种场景用单 Agent 足够,链路短,调试简单,延迟也更低。
多 Agent 更适合复杂任务拆解。比如先理解意图,再做规划,再查资料,再调用工具,最后总结输出。常见的拆分方式是:
- Planner Agent:做任务规划
- Retriever Agent:负责检索
- Tool Agent:负责调用工具
- Critic Agent:负责校验结果
- Writer Agent:负责汇总输出
多 Agent 的好处是职责清楚,不同模块的 prompt 更容易优化;问题是链路更长,成本和延迟也更高。实际里很多系统会用工作流加局部多 Agent,而不是完全自由协同。
4、Function Calling 的原理是什么
Function Calling 的核心不是让模型真的执行函数,而是让模型输出一个结构化的“调用意图”。系统把工具定义、参数说明、字段 schema 提供给模型,模型根据用户问题决定要不要调用工具、该调用哪个工具、参数是什么。然后由外部程序真正执行工具,再把结果返回给模型继续生成答案。
它的关键点有两个:
- 工具描述必须清楚,告诉模型什么时候用
- 参数 schema 必须严格,减少乱填参数的问题
一个典型流程是:
用户问题 → 模型判断工具 → 返回 JSON → 系统执行工具 → 工具结果回填 → 模型生成最终答案
5、上下文工程怎么做,为什么会影响 Agent 效果
上下文工程的核心是“给模型什么信息,以及怎么给”。不是上下文越多越好,而是越相关越好。真正影响效果的,通常是信息顺序、噪声比例、结构化程度和当前任务聚焦程度。
常见做法包括:
- 只保留和当前任务相关的历史对话
- 检索结果按相关性排序后再拼接
- 把系统规则、用户输入、工具结果分区组织
- 对长上下文做摘要或压缩
- 对多步任务先输出 to do list 再逐步执行
如果上下文太乱,模型容易丢重点;如果上下文太长,模型会把注意力分散掉;如果没有结构,模型虽然看到了信息,也不一定能正确利用。
6、记忆模块怎么设计,短期记忆和长期记忆有什么区别
短期记忆主要是当前会话里的上下文,比如最近几轮对话、当前任务状态、用户刚补充的信息。它服务的是当前任务连续性。
长期记忆更多是跨会话信息,比如用户偏好、常用配置、历史结论、固定背景资料。它服务的是长期个性化和持续协作。
设计时一般不会把所有历史全量塞进模型,而是做分层管理:
- 短期记忆:直接保留最近几轮
- 长期记忆:存储成结构化信息或向量索引,按需召回
- 任务记忆:记录当前任务步骤、待办事项、已完成状态
这样做可以控制上下文长度,也能让 Agent 在需要时找回重要信息。
7、RAG 和 Agent 的区别是什么
RAG 的重点是“查资料再回答”,本质上是检索增强生成。它通常解决的是知识更新、事实依据、企业文档问答这些问题。
Agent 的重点是“会决策、会调用、会执行”。它不只是查文档,还可能调用接口、操作工具、规划任务、拆解步骤、状态跟踪。
可以简单理解:
- RAG 更偏知识获取
- Agent 更偏任务执行
很多系统里两者会结合。也就是 Agent 在决策过程中,需要知识时走 RAG,需要动作时调工具。
8、工具选择错了怎么优化
工具选择错误本质上是路由问题。常见原因有:
- 工具描述不清晰
- 工具之间边界重叠
- prompt 没把选择规则写清楚
- 用户问题本身歧义大
- 缺少失败反馈机制
优化时一般从几个方向做:
- 重写 tool description,减少模糊词
- 给工具增加 few-shot 示例
- 把工具先做粗分类,再细选
- 对高风险调用加规则校验
- 工具执行失败后让模型反思或重试
如果工具很多,可以先做一级路由,把问题分流到某类工具,再在该类内部精选,稳定性通常会更高。
9、并行化意图识别为什么有必要,怎么实现
因为复杂系统往往不是只判断一个意图,而是同时判断多个维度,比如:
- 主任务意图
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.
查看16道真题和解析