一、基础概念类
Q1:什么是 AI Agent?它和直接调用 LLM 有什么区别?
答: AI Agent 是以 LLM 为大脑,具备感知-决策-执行闭环的自主系统。核心区别三点:
- 直接调LLM:单轮问答,给输入出输出就结束,没有主动性
- AI Agent :能自主规划任务步骤、调用外部工具、根据反馈动态调整、多轮迭代直到完成目标
- 一句话:LLM 是"一个聪明的问答器",Agent 是"会用工具干活的员工"
Q2:Agent 的核心组成要素是什么?
答: 四大件:
- 大脑(LLM):推理、决策
- 记忆(Memory):短期对话历史 + 长期知识存储
- 工具(Tools):函数调用、API、搜索、代码执行
- 规划(Planning):任务分解、反思、纠错
Q3:ReAct 模式是什么?
答: Reasoning + Acting,让 LLM 交替进行"思考(Thought)→ 行动(Action)→ 观察(Observation)"循环:
- 先想一步该干什么
- 调用工具执行
- 看工具返回结果
- 再根据结果决定下一步
- 直到任务完成
这是最经典的 Agent 框架,几乎所有 Agent 系统都基于这个模式变种。
二、架构与规划类
Q4:ReAct 和 Plan-and-Execute 有什么区别?
答:
| 模式 | 思路 | 优缺点 |
|---|---|---|
| ReAct | 走一步看一步,边想边做 | 灵活但容易跑偏、绕远路 |
| Plan-and-Execute | 先全局规划出完整步骤,再逐步执行 | 更有条理,但计划容易过时 |
实际工程中常用混合模式:先粗规划,执行中动态修正。
Q5:什么是 Reflection(反思)机制?为什么需要?
答: Agent 执行完一步后,回头检查自己做对了没有,发现错误就自我纠正。
- 解决 LLM "一条路走到黑"的问题
- 典型实现:让 Agent 对自己的输出做 critic(评审),不合格就重做
- 代价:多一轮 LLM 调用,慢但准确率高
Q6:Multi-Agent 系统有哪些典型协作模式?
答:
- 主管-工人模式:一个主 Agent 拆任务,分给多个子 Agent 执行,汇总结果
- 流水线模式:A Agent 输出给 B,B 输出给 C,像工厂流水线
- 辩论/讨论模式:多个 Agent 互相辩论,最后收敛答案
- 竞争模式:多个 Agent 独立做同一件事,选最好的
你做的 Subagent 就是典型的主管-工人模式。
三、工具调用类
Q7:Function Calling 的原理是什么?
答:
- 你告诉 LLM 有哪些工具可用(函数名、参数描述)
- LLM 判断需要调用工具时,不直接生成最终回答,而是输出一个结构化的函数调用请求(JSON)
- 你的代码解析这个 JSON,真正执行函数
- 把函数返回结果再喂给 LLM
- LLM 根据结果生成最终回答
Q8:MCP(Model Context Protocol)是什么?解决了什么问题?
答: MCP 是 Anthropic 提出的标准化工具接入协议。
- 解决的痛点:之前每个 Agent 框架接工具都要写一套定制代码,工具和框架紧耦合
- MCP 的思路 :工具方按照 MCP 标准写一个 server,任何支持 MCP 的 Agent 都能直接接入,一次开发到处用
- 类比:USB 接口统一了外设,MCP 统一了 AI 工具
Q9:工具调用失败了怎么办?工程上怎么处理?
答:
- 重试机制:网络抖动/超时 → 自动重试 N 次
- 参数纠错:LLM 传错参数 → 把错误信息喂回去让它自己改
- 降级方案:这个工具不行,换个备选工具
- 人工介入:实在搞不定,停下来问用户
- 记录日志:哪一步失败了、为什么,方便调试
四、记忆与上下文类
Q10:Agent 的记忆系统分哪几层?
答:
- 短期记忆:当前对话的上下文(存在窗口里),有长度限制
- 长期记忆:持久化存储(向量数据库/数据库),需要时检索回来
- 工作记忆:当前任务的中间状态(比如"我已经查过A了,接下来查B")
Q11:上下文窗口不够用了怎么办?
答: 几种工程手段:
- 截断/压缩:把早期对话总结压缩成摘要
- RAG 检索:不把全部历史塞进去,需要什么检索什么
- 分层记忆:重要信息存长期记忆,短期窗口只放当前任务相关的
- 子任务隔离:把复杂任务拆成子 Agent,每个子 Agent 用独立上下文,互不干扰
Q12:RAG 在 Agent 里是怎么用的?
答:
- 把文档切片 → 向量化 → 存向量库
- 用户提问时 → 把问题也向量化 → 检索最相关的几段
- 把检索到的内容塞进 prompt 里 → LLM 基于这些资料回答
- Agent 场景下,RAG 是一种"工具":Agent 自己决定什么时候该去查资料
五、工程实践类(结合你做 WorkBuddy 的经验)
Q13:你怎么设计一个 Skill/Subagent?要考虑哪些问题?
答:
- 边界清晰:这个 Skill 只干一件事,不要什么都包
- 输入输出明确:参数是什么、返回什么、错误情况怎么处理
- 触发条件:什么时候该用这个 Skill,什么时候不该用
- 失败兜底:调用失败了怎么办,有没有备选方案
- 可观测:日志、调试信息要够,出问题能定位
Q14:怎么评估一个 Agent 好不好用?
答:
- 任务成功率:能不能独立把任务做完
- 完成路径效率:绕了多少弯路、调了多少次工具、烧了多少 token
- 错误恢复能力:遇到报错能不能自己改,还是直接崩
- 人工介入率:10 个任务里有几个需要人插手
- 用户满意度:实际用的人觉得好不好
Q15:Agent 幻觉和跑偏怎么控制?
答:
- 强约束输出格式:要求 JSON Schema 校验,不合法就重试
- 工具返回强校验:工具返回的数据必须检查,不相信 LLM 的"脑补"
- 关键节点人工确认:写文件、删数据、发消息这种危险操作,先问用户
- 限制工具权限范围:Agent 能调用什么工具提前定死,不给它乱来的机会
六、开放/项目经验题
Q16:你做过最复杂的 Agent 项目是什么?怎么设计的?
答: (结合你自己的经历说,比如 WorkBuddy 自定义模型接入、Skill-mini 集成)
- 背景:要解决什么问题
- 架构:主 Agent + 几个子 Agent,各自职责
- 难点:上下文管理、工具调用可靠性、多轮对话不跑偏
- 结果:效果怎么样、踩过什么坑
Q17:为什么很多人说"AI Agent 看起来很美,落地很难"?
答:
- 幻觉:LLM 一本正经胡说八道,工程上要层层校验
- 成本:多轮调用 + 工具调用 + 反思,token 消耗是普通问答的 5-10 倍
- 可靠性:演示效果好,真实场景动不动就跑偏
- 边界模糊:什么该让 Agent 做、什么不该,很难划清楚