本合集围绕吴恩达老师在 DeepLearning.AI 推出的 Agentic AI 系列课程,梳理课程内容的关键点,帮助各位学习者们深入理解“智能体”(Agent)在现代 AI 系统中的核心作用,掌握构建自主、协作、推理型 AI 应用的关键方法。

吴恩达老师推出的 Agentic AI 系列课程,基本已是公认的 agent 开发必学的了,课程以“工程导向”为核心,强调可落地的设计模式,我看完整套视频,强烈推荐正在准备学习 agent 开发的开发者们,先把基础内容的学习放一放,仅先快速扫盲一下agent 的基础构件有哪些,分别干什么用即可 (可以看一下我之前写的《Agent = LLM + 四大组件:一个公式讲清楚 AI Agent》)。因为课程中除了有基础入门的内容,更重要的我觉得是,老师给了我们如何去构建一个能够落地、持续提升的智能体的方向,这点我觉得比学习如何编写代码实现系统功能更重要。

建议是边看视频边看这套合集的内容,能够更加清晰、快速的吸收。以及有一点,后面以这种格式的是笔者的个人学习的一些观点,不包对,其他的就是原课程的细节内容了。

[Module 1] Agentic 工作流简介

1.5 Agentic AI应用

这节课用几个真实的例子展示了 agentic AI 的实际应用。老师主要希望让我们了解不同于传统的输入输出的简单问答 chat,agentic 是具有多步骤规划、自主使用工具、自主决策的能力。

案例一:发票处理工作流

自动化处理企业收到的发票,提取关键信息并记录到数据库。

任务很简单:从 PDF 发票中提取开票方、开票地址、应付金额、到期日,然后录入数据库。

传统财务人员要一张张看,手动识别这些信息,然后录入系统。智能体工作流就是:

  1. PDF 转文本,结构化文本如 markdown
  2. LLM 解析文本,判断是否为发票,提取所需字段
  3. 调用工具更新数据库
  4. 生成记录成功提示
    在这里插入图片描述

案例二:回复客户邮件

比如客户发了封投诉邮件:“我订购了蓝色 KitchenPro 搅拌机(订单 #8847),但收到的是红色烤面包机。”

智能体的工作流是:

  1. 提取关键信息 → LLM 识别订单号、产品、问题
  2. 查询订单数据库 → 使用 orders database query 工具获取订单详情
  3. 起草回复草稿 → LLM 根据信息撰写回复
  4. 请求人工审核 → 使用 request review 工具将草稿提交给人类审批
  5. 发送邮件 → 审核通过后自动发送
    在这里插入图片描述

案例三:更复杂的客户服务agent

真正有趣的是,构建一个能处理各种未知问题的通用客户服务代理,而不是只做特定订单查询。

比如用户问:“你们有黑色或蓝色牛仔裤吗?”

agent 需要动态决定:

  • 查询黑色牛仔裤库存
  • 查询蓝色牛仔裤库存
  • 综合回复客户

难点在于:需要规划 API 调用的顺序来回答一个开放式问题,步骤不是预先固定的,代理必须根据条件判断并决定后续行动。

在这里插入图片描述

案例四:视觉计算机使用

这算是目前最有挑战性的应用了——让 AI 像人类一样使用网页浏览器,完成复杂的交互式任务。

比如让 AI 检查从旧金山到华盛顿 DCA 机场的两个特定联合航空航班是否有空座。

agent 的行为:

  1. 自动打开浏览器,访问 United.com
  2. 填写表单、点击按钮、导航页面
  3. 遇到"页面未找到"错误 → 自主切换到 Google Flights
  4. 在 Google Flights 上搜索航班 → 选择合适选项 → 返回 United 网站确认
  5. 最终确认座位可用
    在这里插入图片描述
    虽然还不稳定,但在金融、医疗等关键任务应用中潜力巨大。

什么是 agentic AI 适合做的任务?

在这里插入图片描述

这是一个从"容易"到"困难"的连续光谱:

较易实现的任务:

  • 清晰、逐步的流程,有明确的执行步骤
  • 标准程序,企业已有成熟的操作手册
  • 纯文本资产,输入和输出均为文本,因为 LLM 擅长处理文本

较难实现的任务:

  • 步骤未知,任务需求在执行前不确定,需要代理动态规划
  • 边执行边解决,代理需要在过程中进行推理和决策
  • 多模态输入,需要处理图像、声音等非文本

agentic-ai 是将人类工作流程自动化的新范式——它不是取代人,而是把人从重复性、规则性强的任务中解放出来,专注于更高阶的决策与创造。

1.6 任务分解

这节课的核心就一个字:拆。任务分解是构建代理型 AI 工作流的关键技能。核心的内容就是拆解任务、评估、迭代。

核心概念

任务分解的核心思想很简单:

  1. 观察人类行为:思考如果一个人类要完成这个任务,他会怎么做?
  2. 拆解步骤:将整个任务拆解成多个独立的、清晰的子步骤
  3. 评估可行性:对每个子步骤,思考它是否能用 LLM 或某个工具(如 API、函数调用)来实现
  4. 迭代优化:如果初步分解的效果不理想,可以进一步细化某个步骤,将其拆成更小的子步骤

案例一:写一篇深度论文

让 AI 系统撰写一篇关于特定主题 X 的深入研究报告。

**方法一:直接生成(1 步)**输入:Write an essay on topic X → LLM → 输出文档

问题:内容表面化,缺乏深度和一致性。

方法二:三步工作流

    1. 撰写大纲:LLM 根据主题 X 生成一个结构化的写作提纲
    1. 网络搜索:LLM 根据大纲生成搜索词,调用 web search 工具获取相关资料
    1. 撰写论文:LLM 结合大纲和搜索到的信息,撰写最终的论文

优点:引入外部信息,内容更丰富。缺点:文章仍可能"脱节",开头、中间、结尾风格不一致。

方法三:五步工作流

    1. 撰写大纲:LLM 生成大纲
    1. 网络搜索:LLM 调用 web search 工具获取信息
    1. 撰写初稿:LLM 根据大纲和搜索结果写出第一版草稿
    1. 考虑修订部分:LLM 阅读自己的初稿,分析哪些部分需要改进
    1. 修订草稿:LLM 根据自我批评,对草稿进行修改和完善

效果提升:模拟人类"写作-反思-修改"循环,输出质量显著提高。

图片

核心方法论:“如果某一步骤效果不好,就把它再拆成更小的子步骤。”

案例二:回复客户邮件

自动回复客户关于"发错货"的投诉邮件。

任务分解:

  1. 提取关键信息:LLM 解析邮件,提取发件人姓名(Susan Jones)、订单号(#8847)、订购商品(蓝色搅拌机)和问题(收到红色烤面包机)
  2. 查找相关客户记录:LLM 调用 orders database query 工具,根据订单号查询数据库,核实订单详情和发货记录
  3. 撰写并发送回复:LLM 根据提取的信息和查询到的记录,起草一封回复邮件,并调用 send email API 将其发送给客户

这个例子展示了如何将一个看似单一的任务(回复邮件)分解为三个清晰、独立的步骤。

案例三:从发票中提取信息

在 PDF 发票被转换为文本后,从中提取关键字段并保存到数据库。

任务分解:

    1. 查找所需信息:LLM 分析文本,识别出账单发送方、地址、到期金额、到期日期等必需字段
    1. 创建并保存新的数据库条目:LLM 调用 update database 工具,将提取到的信息写入数据库

这个例子非常简单,只有两个步骤,但它完美地诠释了任务分解的核心:将一个目标拆解为几个可执行的动作。

构建代理型AI工作流的基本构件

图片

构建任何代理型AI工作流,都离不开以下两大类基本构件:

1. 模型(Models)

  • 大型语言模型(LLMs):文本生成、工具使用决策、信息提取
  • 其他 AI 模型:处理非文本模态数据,如 PDF 转文本、文本转语音、图像分析等

2. 工具(Tools)

  • API:执行外部服务,如网页搜索、获取实时天气数据、发送电子邮件、查看日历等
  • 信息检索:从数据库或大型文本库中检索信息,常用于 RAG(检索增强生成)场景
  • 代码执行:允许 LLM 编写并运行代码,以执行更复杂的计算或数据处理任务

工作流设计原则

  1. 从简单开始:先做 1-3 步的原型,再逐步扩展
  2. 模块化设计:每个步骤应尽量独立、可复用
  3. 容错与反馈:加入"检查"、"评审"步骤,避免错误累积
  4. 持续迭代:没有一步到位的完美工作流,需不断优化

1.7 Agentic AI评估(evals)

这节课的核心是:别瞎猜,用数据说话。只有掌握了评估的方式方法,针对性改进,才能构建出高质量的智能体。

为什么评估如此重要?

预测成败的关键在于:在团队合作中,能否有效评估工作流是区分"做得好"与"做得差"的最大因素之一。

能否进行严格、有纪律的评估(evals)是区分一个团队或个人在构建智能体工作流时"做得好"与"做得差"的最大预测因素。评估能力对有效构建智能体工作流至关重要。

评估的核心方法论

  1. 首要原则:先构建,再观察,后评估

在构建智能体工作流前,很难预知所有可能出错的地方。最佳实践是先构建一个初步版本,然后手动检查其输出,寻找那些你希望它能做得更好的地方。

  1. 识别低质量输出

以处理客户订单查询的智能体为例。

输入:客户邮件:“我订购了蓝色搅拌机,但收到了红色烤面包机。”

期望输出:礼貌、专业、解决问题的回复。

低质量输出示例:“我很高兴您选择了我们——我们比竞争对手 CompCo 强多了。”

这种输出是错误的,因为它提到了竞争对手,这在商业场景中通常是不被允许的。

  1. 构建评估指标来追踪错误

量化并跟踪已识别的错误:

  1. 定义错误类型:例如,“提及竞争对手”
  2. 创建列表:列出所有需要避免提及的竞争对手名称
  3. 编写代码:编写脚本自动扫描智能体的所有输出,统计提及这些竞争对手的次数和频率

这是一个客观指标,可以用代码精确衡量,便于追踪改进效果。

  1. 使用大型语言模型作为裁判

当评估标准更为主观、难以用代码精确判断时(例如,评估一篇论文的质量),可以使用另一个 LLM 来评估第一个 LLM 生成的报告。

设计评分提示词:让裁判 LLM 对报告进行打分(例如,1-5分,5分为最佳)。

评估的两大主要类型

在这里插入图片描述

  1. 端到端评估:衡量整个智能体最终输出的整体质量。例如:评估一篇完整论文的最终得分。
  2. 组件级评估:衡量智能体工作流中单个步骤或组件的输出质量。例如:评估第一步"提取关键信息"的准确性,或第二步"查找相关客户记录"的召回率。

还有经常做中间输出检查,有时称为大模型的"轨迹",这样可以了解到哪些部分未达到了预期,称之为错误分析,逐步阅读中间输出,寻找改进的机会。具备评估跟错误分析非常关键。

1.8 Agentic设计模式

这节核心就是告诉大家,构建一个高质量的 agentic 所需要的模块。

智能体工作流的核心思想是将复杂的任务分解为一系列基础"构建模块",然后通过特定的设计模式将这些模块组合、串联起来,从而构建出能够处理复杂问题的系统。

一、反思(Reflection)

在这里插入图片描述

核心概念:让模型对自己的输出进行检查、评估和改进。

工作流程:

  1. 初始生成:模型根据任务要求生成一个初步结果(如代码)
  2. 自我评估/外部评估:将该结果作为输入,再次提示同一个或另一个模型,要求其对结果进行批判性分析
  3. 迭代优化:将评估反馈提供给模型,让它基于反馈生成一个更好的版本
  4. 循环往复:此过程可以多次迭代,直到达到满意的质量

关键点:

  • 这是一种非常有效的性能提升技术,虽然不能保证100%完美,但能带来显著的性能提升
  • "反思"可以由同一个模型完成,也可以引入一个专门扮演"审查者"角色的独立模型
  • 评估标准可以是客观的(如代码是否能运行),也可以是主观的(如代码风格)

二、工具使用(Tool Use)

图片

核心概念:赋予语言模型调用外部工具或函数的能力,以扩展其功能边界。

工作流程:

  1. 识别需求:模型在处理任务时,判断需要调用哪个工具
  2. 调用工具:模型生成调用该工具的指令或参数
  3. 执行与返回:工具执行操作,并将结果返回给模型
  4. 整合结果:模型利用工具返回的结果来完成最终任务

工具类型举例:

  • 信息收集:Web search, Wikipedia, Database access
  • 分析计算:Code Execution, Wolfram Alpha, Bearly Code Interpreter
  • 生产力:Email, Calendar, Messaging
  • 图像处理:Image generation, Image captioning, OCR

工具使用极大地增强了模型的能力,使其不再局限于文本生成,而是能与现实世界互动并解决更广泛的问题。

三、规划(Planning)

图片

核心概念:让模型自主决定完成一个复杂任务所需的步骤序列,而不是由开发者硬编码。

工作流程:

  1. 任务理解:模型接收一个复杂请求
  2. 路径规划:模型自动分解任务,决定需要调用哪些工具以及调用的顺序
  3. 执行:按照规划的步骤依次执行

关键点:

  • 这种方式比硬编码的流程更灵活,但控制难度更大,也更具实验性
  • 它允许模型在面对新任务时,自行构思解决方案,有时会产生令人惊喜的结果

四、多智能体协作(Multi-agent collaboration)

图片

核心概念:雇佣多个具有不同专长的角色(智能体)协同工作,共同完成一个复杂项目。

工作流程:

  1. 角色分配:为不同的智能体分配特定角色(如研究员、市场专员、编辑)
  2. 分工合作:各个智能体根据自己的角色和能力,执行相应的子任务
  3. 沟通协调:智能体之间相互沟通、传递信息,共同推进项目

多智能体系统在许多复杂任务上优于单智能体系统:

任务单智能体多智能体
人物传记撰写66.0%73.8%
多模态理解(MMLU)63.9%71.1%
国际象棋走子29.3%45.2%

多智能体协作通常能产生比单个智能体更好的结果,尤其在处理复杂任务时。它的缺点是更难控制和调试,因为无法提前预知各个智能体的行为。

更多推荐