Agent Engineering
学到这里,你已经有了几块非常关键的积木:
Prompt Engineering:知道怎么提要求Context Engineering:知道怎么组织输入信息RAG:知道怎么给模型补知识Tool Use / Function Calling:知道怎么让模型调用外部能力
接下来再往前走一步,就是 Agent Engineering。
它关注的是:
- 怎么把这些能力组合起来
- 让模型不只是回答一次
- 而是围绕目标连续做多步决策、调用工具、读取结果、更新状态,直到任务完成
一句话说:
Agent Engineering 研究的是“如何把模型变成一个能持续执行任务的系统”。
1. Agent 是什么
Agent 可以理解为:一个围绕目标执行多步动作的智能体。
它通常具备下面几种能力:
- 理解目标
- 拆解任务
- 决定下一步做什么
- 调用工具
- 读取结果
- 维护任务状态
- 必要时调整计划
- 最终完成任务
所以 Agent 不只是“会聊天的模型”,而是“围绕目标持续行动的系统”。
2. Agent 和普通问答的区别
普通问答通常是这样的:
- 用户提问
- 模型回答
- 结束
但 Agent 往往是这样:
- 接收目标
- 判断要分几步完成
- 先做第一步
- 根据结果决定第二步
- 继续调用工具或检索资料
- 维护中间状态
- 最终汇总输出
所以两者最本质的区别是:
- 普通 问答是
single-turn或单次响应 - Agent 是
goal-oriented multi-step execution
3. 为什么需要 Agent
很多真实任务并不是“一句话就能答完”的。
比如:
- 帮我调研某个竞品并整理报告
- 帮我查一个 bug 的原因并提出修复方案
- 帮我比较几个服务商并推荐一个
- 帮我读取多份文档后总结重点
- 帮我根据天气决定是否创建提醒
这类任务通常需要:
- 多步执行
- 中间判断
- 工具调用
- 状态延续
- 最终整合
这就是 Agent 的用武之地。
4. Agent 的核心组成
一个典型 Agent 系统,通常包含下面几块。
4.1 Goal
也就是目标。
Agent 的运行总是围绕某个明确目标展开,比如:
- “找到故障原因”
- “生成调研报告”
- “安排一场会议”
- “完成一份知识库问答”
4.2 Planner
也就是规划器。
它负责决定:
- 任务要不要拆分
- 先做哪一步
- 哪些步骤依赖工具
- 下一步优先做什么
4.3 Memory / State
也就是记忆和状态。
Agent 必须知道:
- 已经做过什么
- 查到了什么
- 还缺什么
- 当前卡在哪里
否则它很容易在多步流程里“失忆”。
4.4 Tools
也就是外部能力。
没有工具的 Agent,很多时候只能停留在:
- 思考
- 复述
- 猜测
有了工具之后,Agent 才能真正:
- 查数据
- 执行动作
- 获取反馈
4.5 Execution Loop
Agent 通常不是只运行一轮,而是进入一个循环:
- 看当前目标和状态
- 决定下一步
- 执行这一步
- 观察结果
- 更新状态
- 判断是否结束
这就是 Agent 的执行回路。
5. 一个非常典型的 Agent 循环
很多 Agent 系统都可以抽象成这样一个循环:
Goal -> Plan -> Act -> Observe -> Update State -> Decide Next Step -> Finish
也可以写得更口语一点:
- 先想清楚目标
- 再决定现在该做什么
- 去做
- 看结果
- 记住结果
- 再决定下一步
- 循环直到完成
这个循环,本质上就是把:
- Prompt
- Context
- RAG
- Tool Use
全部串起来。
6. Agent 和 RAG、Tool Use 的关系
这三个概念很容易混淆,可以这样理解:
6.1 RAG 是知识增强
解决:
- “需要什么资料”
- “从哪里拿资料”
6.2 Tool Use 是能力增强
解决:
- “需要调用什么工具”
- “怎么和外部世界互动”
6.3 Agent 是流程编排
解决:
- “整个任务该怎么一步步推进”
- “什么时候查资料”
- “什么时候调工具”
- “什么时候结束”
所以:
RAG是 Agent 的一个知识模块Tool Use是 Agent 的一个执行模块Agent是把它们组织起来的上层系统
7. 常见 Agent 模式
7.1 Single-Agent
最简单的模式,只有一个 Agent 负责整个任务。
适合:
- 中小型任务
- 工具数量不多
- 逻辑相对清晰的流程
7.2 Planner-Executor
一种很常见的模式:
- 一个模块负责规划
- 一个模块负责执行
流程通常是:
- 先列步骤
- 再逐步执行
- 每完成一步更新状态
这种模式的好处是结构清晰。
7.3 ReAct Agent
它基于 Reason + Act 的思路,让 Agent 在推理和行动之间反复切换。
典型流程:
Thought -> Action -> Observation -> Thought -> Action -> Final Answer
这是当前非常经典的 Agent 设计模式。
7.4 Multi-Agent
把任务交给多个不同角色的 Agent 分工协作,比如:
- 一个负责搜索
- 一个负责写作
- 一个负责审查
这种模式更复杂,但也更灵活。
8. Agent Engineering 在做什么
如果用工程语言描述,Agent Engineering 主要在做这些事情:
- 设计目标输入
- 设计规划流程
- 设计状态管理
- 设计工具体系
- 设计上下文装配
- 设计异常处理
- 设计结束条件
- 设计验证与评估
所以它不是一个单独技巧,而是一整套系统设计工作。
9. 状态管理为什么重要
Agent 和普通聊天最大的一个差异,就是它必须处理“中间状态”。
比如一个调研型 Agent 在执行过程中,可能要持续维护:
- 当前研究目标
- 已阅读的资料
- 已得到的结论
- 仍未回答的问题
- 下一步待执行动作
如果没有状态管理,Agent 很容易出现:
- 重复做同样的事
- 忘记前面做过什么
- 跳步骤
- 中途偏题
所以状态管理是 Agent Engineering 的核心之一。
10. Agent 的上下文怎么组织
Agent 的上下文通常比普通聊天复杂得多。
一个常见结构会包括:
- 系统规则
- 当前总目标
- 当前阶段性目标
- 历史执行记录
- 最近工具结果
- 当前工作记忆
- 可用工具列表
- 输出要求
会发现,这其实就是 Context Engineering 的进阶用法。
11. 一个直观例子
假设用户说:
帮我调研三款 AI 文档工具,比较它们的价格、功能和适合场景,然后给我推荐一个。
普通问答模型可能直接凭记忆答。
但一个 Agent 可能这样做:
- 识别目标:需要做竞品调研和比较
- 拆解任务:
- 找到三款工具
- 获取价格信息
- 获取功能说明
- 总结适用场景
- 做横向比较
- 给出推荐
- 调用搜索工具和网页读取工具
- 提取并整理信息
- 发现某款工具价格信息不足,再补充检索
- 整理成对比表
- 最后给出推荐
这里最重要的不是某一句 prompt,而是整个任务推进流程。
12. Agent 常见失败点
12.1 目标不清
如果目标本身模糊,Agent 很容易做很多看似努力、其实方向不对的事。
12.2 规划太松或太死
太松:
- 容易乱跑
- 缺乏收敛
太死:
- 不会根据新信息调整
- 遇到异常时容易卡住
12.3 工具设计差
如果工具本身难用,Agent 再聪明也很难稳定完成任务。
12.4 状态丢失
多步任务里最常见的问题之一就是“忘了前面做了什么”。
12.5 过度循环
Agent 可能一直检索、一直调用工具,却迟迟不收敛。
所以系统通常需要:
- 最大步数限制
- 超时机制
- 明确结束条件
12.6 没有验证
Agent 很可能做了很多步,但最后答案仍然不对。
所以高质量系统通常会增加:
- 自查
- 结果验证
- 工具结果核对
13. 常见结束条件
一个 Agent 不应该无限运行,所以要有结束条件。
常见方式包括:
- 目标已经满足
- 信息已经足够
- 到达最大步数
- 工具调用失败达到阈值
- 用户明确中止
结束条件越明确,系统越稳定。
14. Agent 和 Workflow 的区别
这两个词也经常一起出现。
可以这样区分:
14.1 Workflow
更偏固定流程。
例如:
- 先检索
- 再总结
- 再输出
流程相对预定义。
14.2 Agent
更偏动态决策。
例如:
- 要不要检索
- 先查哪个来源
- 是否还需要补一步
- 是否可以结束
可以先这样理解:
Workflow:预先写好的步骤Agent:能在执行中动态决定步骤
15. 学 Agent Engineering 应该重点看什么
建议优先掌握下面这些点:
- 目标驱动执行
- 任务拆解
- 规划与重规划
- 状态管理
- Tool Use
- RAG 与外部知识融合
- 结束条件设计
- 验证与评估
16. 一个很实用的学习顺序
如 果想系统入门,可以按这个顺序:
- 先理解 Agent 和普通问答的区别
- 再理解 Agent 的执行循环
- 学状态管理
- 学规划和任务拆解
- 学 Agent 如何调用工具
- 学 Agent 如何结合 RAG
- 最后学多 Agent、评估和安全
17. Agent 的价值到底在哪里
Agent 的真正价值,不是“让模型看起来更聪明”,而是:
- 让复杂任务可以拆成多步推进
- 让模型能根据中间结果调整动作
- 让工具、知识、状态在一个系统里协同工作
它的本质是:
让模型从一次性回答,升级为围绕目标持续执行的任务系统
18. 一句话总结
Agent Engineering 的本质,是围绕“目标、规划、行动、观察、状态、收敛”去设计一个可持续执行的智能系统。
它不是某一种神奇 prompt,而是把 Prompt、Context、RAG、Tool Use、State Management 这些能力组合起来,真正让模型开始“干活”。