【LLM】公认的 agent 开发必学课程(二)
本合集围绕吴恩达老师在 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 发票中提取开票方、开票地址、应付金额、到期日,然后录入数据库。
传统财务人员要一张张看,手动识别这些信息,然后录入系统。智能体工作流就是:
- PDF 转文本,结构化文本如 markdown
- LLM 解析文本,判断是否为发票,提取所需字段
- 调用工具更新数据库
- 生成记录成功提示

案例二:回复客户邮件
比如客户发了封投诉邮件:“我订购了蓝色 KitchenPro 搅拌机(订单 #8847),但收到的是红色烤面包机。”
智能体的工作流是:
- 提取关键信息 → LLM 识别订单号、产品、问题
- 查询订单数据库 → 使用 orders database query 工具获取订单详情
- 起草回复草稿 → LLM 根据信息撰写回复
- 请求人工审核 → 使用 request review 工具将草稿提交给人类审批
- 发送邮件 → 审核通过后自动发送

案例三:更复杂的客户服务agent
真正有趣的是,构建一个能处理各种未知问题的通用客户服务代理,而不是只做特定订单查询。
比如用户问:“你们有黑色或蓝色牛仔裤吗?”
agent 需要动态决定:
- 查询黑色牛仔裤库存
- 查询蓝色牛仔裤库存
- 综合回复客户
难点在于:需要规划 API 调用的顺序来回答一个开放式问题,步骤不是预先固定的,代理必须根据条件判断并决定后续行动。

案例四:视觉计算机使用
这算是目前最有挑战性的应用了——让 AI 像人类一样使用网页浏览器,完成复杂的交互式任务。
比如让 AI 检查从旧金山到华盛顿 DCA 机场的两个特定联合航空航班是否有空座。
agent 的行为:
- 自动打开浏览器,访问 United.com
- 填写表单、点击按钮、导航页面
- 遇到"页面未找到"错误 → 自主切换到 Google Flights
- 在 Google Flights 上搜索航班 → 选择合适选项 → 返回 United 网站确认
- 最终确认座位可用

虽然还不稳定,但在金融、医疗等关键任务应用中潜力巨大。
什么是 agentic AI 适合做的任务?

这是一个从"容易"到"困难"的连续光谱:
较易实现的任务:
- 清晰、逐步的流程,有明确的执行步骤
- 标准程序,企业已有成熟的操作手册
- 纯文本资产,输入和输出均为文本,因为 LLM 擅长处理文本
较难实现的任务:
- 步骤未知,任务需求在执行前不确定,需要代理动态规划
- 边执行边解决,代理需要在过程中进行推理和决策
- 多模态输入,需要处理图像、声音等非文本
agentic-ai 是将人类工作流程自动化的新范式——它不是取代人,而是把人从重复性、规则性强的任务中解放出来,专注于更高阶的决策与创造。
1.6 任务分解
这节课的核心就一个字:拆。任务分解是构建代理型 AI 工作流的关键技能。核心的内容就是拆解任务、评估、迭代。
核心概念
任务分解的核心思想很简单:
- 观察人类行为:思考如果一个人类要完成这个任务,他会怎么做?
- 拆解步骤:将整个任务拆解成多个独立的、清晰的子步骤
- 评估可行性:对每个子步骤,思考它是否能用 LLM 或某个工具(如 API、函数调用)来实现
- 迭代优化:如果初步分解的效果不理想,可以进一步细化某个步骤,将其拆成更小的子步骤
案例一:写一篇深度论文
让 AI 系统撰写一篇关于特定主题 X 的深入研究报告。
**方法一:直接生成(1 步)**输入:Write an essay on topic X → LLM → 输出文档
问题:内容表面化,缺乏深度和一致性。
方法二:三步工作流
-
- 撰写大纲:LLM 根据主题 X 生成一个结构化的写作提纲
-
- 网络搜索:LLM 根据大纲生成搜索词,调用 web search 工具获取相关资料
-
- 撰写论文:LLM 结合大纲和搜索到的信息,撰写最终的论文
优点:引入外部信息,内容更丰富。缺点:文章仍可能"脱节",开头、中间、结尾风格不一致。
方法三:五步工作流
-
- 撰写大纲:LLM 生成大纲
-
- 网络搜索:LLM 调用 web search 工具获取信息
-
- 撰写初稿:LLM 根据大纲和搜索结果写出第一版草稿
-
- 考虑修订部分:LLM 阅读自己的初稿,分析哪些部分需要改进
-
- 修订草稿:LLM 根据自我批评,对草稿进行修改和完善
效果提升:模拟人类"写作-反思-修改"循环,输出质量显著提高。

核心方法论:“如果某一步骤效果不好,就把它再拆成更小的子步骤。”
案例二:回复客户邮件
自动回复客户关于"发错货"的投诉邮件。
任务分解:
- 提取关键信息:LLM 解析邮件,提取发件人姓名(Susan Jones)、订单号(#8847)、订购商品(蓝色搅拌机)和问题(收到红色烤面包机)
- 查找相关客户记录:LLM 调用
orders database query工具,根据订单号查询数据库,核实订单详情和发货记录 - 撰写并发送回复:LLM 根据提取的信息和查询到的记录,起草一封回复邮件,并调用
send emailAPI 将其发送给客户
这个例子展示了如何将一个看似单一的任务(回复邮件)分解为三个清晰、独立的步骤。
案例三:从发票中提取信息
在 PDF 发票被转换为文本后,从中提取关键字段并保存到数据库。
任务分解:
-
- 查找所需信息:LLM 分析文本,识别出账单发送方、地址、到期金额、到期日期等必需字段
-
- 创建并保存新的数据库条目:LLM 调用
update database工具,将提取到的信息写入数据库
- 创建并保存新的数据库条目:LLM 调用
这个例子非常简单,只有两个步骤,但它完美地诠释了任务分解的核心:将一个目标拆解为几个可执行的动作。
构建代理型AI工作流的基本构件

构建任何代理型AI工作流,都离不开以下两大类基本构件:
1. 模型(Models)
- 大型语言模型(LLMs):文本生成、工具使用决策、信息提取
- 其他 AI 模型:处理非文本模态数据,如 PDF 转文本、文本转语音、图像分析等
2. 工具(Tools)
- API:执行外部服务,如网页搜索、获取实时天气数据、发送电子邮件、查看日历等
- 信息检索:从数据库或大型文本库中检索信息,常用于 RAG(检索增强生成)场景
- 代码执行:允许 LLM 编写并运行代码,以执行更复杂的计算或数据处理任务
工作流设计原则
- 从简单开始:先做 1-3 步的原型,再逐步扩展
- 模块化设计:每个步骤应尽量独立、可复用
- 容错与反馈:加入"检查"、"评审"步骤,避免错误累积
- 持续迭代:没有一步到位的完美工作流,需不断优化
1.7 Agentic AI评估(evals)
这节课的核心是:别瞎猜,用数据说话。只有掌握了评估的方式方法,针对性改进,才能构建出高质量的智能体。
为什么评估如此重要?
预测成败的关键在于:在团队合作中,能否有效评估工作流是区分"做得好"与"做得差"的最大因素之一。
能否进行严格、有纪律的评估(evals)是区分一个团队或个人在构建智能体工作流时"做得好"与"做得差"的最大预测因素。评估能力对有效构建智能体工作流至关重要。
评估的核心方法论
- 首要原则:先构建,再观察,后评估
在构建智能体工作流前,很难预知所有可能出错的地方。最佳实践是先构建一个初步版本,然后手动检查其输出,寻找那些你希望它能做得更好的地方。
- 识别低质量输出
以处理客户订单查询的智能体为例。
输入:客户邮件:“我订购了蓝色搅拌机,但收到了红色烤面包机。”
期望输出:礼貌、专业、解决问题的回复。
低质量输出示例:“我很高兴您选择了我们——我们比竞争对手 CompCo 强多了。”
这种输出是错误的,因为它提到了竞争对手,这在商业场景中通常是不被允许的。
- 构建评估指标来追踪错误
量化并跟踪已识别的错误:
- 定义错误类型:例如,“提及竞争对手”
- 创建列表:列出所有需要避免提及的竞争对手名称
- 编写代码:编写脚本自动扫描智能体的所有输出,统计提及这些竞争对手的次数和频率
这是一个客观指标,可以用代码精确衡量,便于追踪改进效果。
- 使用大型语言模型作为裁判
当评估标准更为主观、难以用代码精确判断时(例如,评估一篇论文的质量),可以使用另一个 LLM 来评估第一个 LLM 生成的报告。
设计评分提示词:让裁判 LLM 对报告进行打分(例如,1-5分,5分为最佳)。
评估的两大主要类型

- 端到端评估:衡量整个智能体最终输出的整体质量。例如:评估一篇完整论文的最终得分。
- 组件级评估:衡量智能体工作流中单个步骤或组件的输出质量。例如:评估第一步"提取关键信息"的准确性,或第二步"查找相关客户记录"的召回率。
还有经常做中间输出检查,有时称为大模型的"轨迹",这样可以了解到哪些部分未达到了预期,称之为错误分析,逐步阅读中间输出,寻找改进的机会。具备评估跟错误分析非常关键。
1.8 Agentic设计模式
这节核心就是告诉大家,构建一个高质量的 agentic 所需要的模块。
智能体工作流的核心思想是将复杂的任务分解为一系列基础"构建模块",然后通过特定的设计模式将这些模块组合、串联起来,从而构建出能够处理复杂问题的系统。
一、反思(Reflection)

核心概念:让模型对自己的输出进行检查、评估和改进。
工作流程:
- 初始生成:模型根据任务要求生成一个初步结果(如代码)
- 自我评估/外部评估:将该结果作为输入,再次提示同一个或另一个模型,要求其对结果进行批判性分析
- 迭代优化:将评估反馈提供给模型,让它基于反馈生成一个更好的版本
- 循环往复:此过程可以多次迭代,直到达到满意的质量
关键点:
- 这是一种非常有效的性能提升技术,虽然不能保证100%完美,但能带来显著的性能提升
- "反思"可以由同一个模型完成,也可以引入一个专门扮演"审查者"角色的独立模型
- 评估标准可以是客观的(如代码是否能运行),也可以是主观的(如代码风格)
二、工具使用(Tool Use)

核心概念:赋予语言模型调用外部工具或函数的能力,以扩展其功能边界。
工作流程:
- 识别需求:模型在处理任务时,判断需要调用哪个工具
- 调用工具:模型生成调用该工具的指令或参数
- 执行与返回:工具执行操作,并将结果返回给模型
- 整合结果:模型利用工具返回的结果来完成最终任务
工具类型举例:
- 信息收集:Web search, Wikipedia, Database access
- 分析计算:Code Execution, Wolfram Alpha, Bearly Code Interpreter
- 生产力:Email, Calendar, Messaging
- 图像处理:Image generation, Image captioning, OCR
工具使用极大地增强了模型的能力,使其不再局限于文本生成,而是能与现实世界互动并解决更广泛的问题。
三、规划(Planning)

核心概念:让模型自主决定完成一个复杂任务所需的步骤序列,而不是由开发者硬编码。
工作流程:
- 任务理解:模型接收一个复杂请求
- 路径规划:模型自动分解任务,决定需要调用哪些工具以及调用的顺序
- 执行:按照规划的步骤依次执行
关键点:
- 这种方式比硬编码的流程更灵活,但控制难度更大,也更具实验性
- 它允许模型在面对新任务时,自行构思解决方案,有时会产生令人惊喜的结果
四、多智能体协作(Multi-agent collaboration)

核心概念:雇佣多个具有不同专长的角色(智能体)协同工作,共同完成一个复杂项目。
工作流程:
- 角色分配:为不同的智能体分配特定角色(如研究员、市场专员、编辑)
- 分工合作:各个智能体根据自己的角色和能力,执行相应的子任务
- 沟通协调:智能体之间相互沟通、传递信息,共同推进项目
多智能体系统在许多复杂任务上优于单智能体系统:
| 任务 | 单智能体 | 多智能体 |
|---|---|---|
| 人物传记撰写 | 66.0% | 73.8% |
| 多模态理解(MMLU) | 63.9% | 71.1% |
| 国际象棋走子 | 29.3% | 45.2% |
多智能体协作通常能产生比单个智能体更好的结果,尤其在处理复杂任务时。它的缺点是更难控制和调试,因为无法提前预知各个智能体的行为。
更多推荐


所有评论(0)