跳到主要内容

Agent Engineering

学到这里,你已经有了几块非常关键的积木:

  • Prompt Engineering:知道怎么提要求
  • Context Engineering:知道怎么组织输入信息
  • RAG:知道怎么给模型补知识
  • Tool Use / Function Calling:知道怎么让模型调用外部能力

接下来再往前走一步,就是 Agent Engineering

它关注的是:

  • 怎么把这些能力组合起来
  • 让模型不只是回答一次
  • 而是围绕目标连续做多步决策、调用工具、读取结果、更新状态,直到任务完成

一句话说:

Agent Engineering 研究的是“如何把模型变成一个能持续执行任务的系统”。

1. Agent 是什么

Agent 可以理解为:一个围绕目标执行多步动作的智能体。

它通常具备下面几种能力:

  • 理解目标
  • 拆解任务
  • 决定下一步做什么
  • 调用工具
  • 读取结果
  • 维护任务状态
  • 必要时调整计划
  • 最终完成任务

所以 Agent 不只是“会聊天的模型”,而是“围绕目标持续行动的系统”。

2. Agent 和普通问答的区别

普通问答通常是这样的:

  1. 用户提问
  2. 模型回答
  3. 结束

但 Agent 更像这样:

  1. 接收目标
  2. 判断要分几步完成
  3. 先做第一步
  4. 根据结果决定第二步
  5. 继续调用工具或检索资料
  6. 维护中间状态
  7. 最终汇总输出

所以两者最本质的区别是:

  • 普通问答是 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 通常不是只运行一轮,而是进入一个循环:

  1. 看当前目标和状态
  2. 决定下一步
  3. 执行这一步
  4. 观察结果
  5. 更新状态
  6. 判断是否结束

这就是 Agent 的执行回路。

5. 一个非常典型的 Agent 循环

很多 Agent 系统都可以抽象成这样一个循环:

Goal -> Plan -> Act -> Observe -> Update State -> Decide Next Step -> Finish

也可以写得更口语一点:

  1. 先想清楚目标
  2. 再决定现在该做什么
  3. 去做
  4. 看结果
  5. 记住结果
  6. 再决定下一步
  7. 循环直到完成

这个循环,本质上就是把:

  • 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

一种很常见的模式:

  • 一个模块负责规划
  • 一个模块负责执行

流程通常是:

  1. 先列步骤
  2. 再逐步执行
  3. 每完成一步更新状态

这种模式的好处是结构清晰。

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 可能这样做:

  1. 识别目标:需要做竞品调研和比较
  2. 拆解任务:
    • 找到三款工具
    • 获取价格信息
    • 获取功能说明
    • 总结适用场景
    • 做横向比较
    • 给出推荐
  3. 调用搜索工具和网页读取工具
  4. 提取并整理信息
  5. 发现某款工具价格信息不足,再补充检索
  6. 整理成对比表
  7. 最后给出推荐

这里最重要的不是某一句 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

更偏固定流程。

例如:

  1. 先检索
  2. 再总结
  3. 再输出

流程相对预定义。

14.2 Agent

更偏动态决策。

例如:

  • 要不要检索
  • 先查哪个来源
  • 是否还需要补一步
  • 是否可以结束

所以可以简单理解为:

  • Workflow:预先写好的步骤
  • Agent:能在执行中动态决定步骤

15. 学 Agent Engineering 应该重点看什么

建议优先掌握下面这些点:

  1. 目标驱动执行
  2. 任务拆解
  3. 规划与重规划
  4. 状态管理
  5. Tool Use
  6. RAG 与外部知识融合
  7. 结束条件设计
  8. 验证与评估

16. 一个很实用的学习顺序

如果你想系统入门,可以按这个顺序:

  1. 先理解 Agent 和普通问答的区别
  2. 再理解 Agent 的执行循环
  3. 学状态管理
  4. 学规划和任务拆解
  5. 学 Agent 如何调用工具
  6. 学 Agent 如何结合 RAG
  7. 最后学多 Agent、评估和安全

17. Agent 的价值到底在哪里

Agent 的真正价值,不是“让模型看起来更聪明”,而是:

  • 让复杂任务可以拆成多步推进
  • 让模型能根据中间结果调整动作
  • 让工具、知识、状态在一个系统里协同工作

它的本质是:

让模型从一次性回答,升级为围绕目标持续执行的任务系统

18. 一句话总结

Agent Engineering 的本质,是围绕“目标、规划、行动、观察、状态、收敛”去设计一个可持续执行的智能系统。

它不是某一种神奇 prompt,而是把 Prompt、Context、RAG、Tool Use、State Management 这些能力组合起来,真正让模型开始“干活”。