据说公认最好的【吴恩达agentic AI】智能体教程笔记
01-智能体简介
1、什么是agentic AI
AI Agent是能够感知环境、自主决策、使用工具完成任务的智能体。

像人一样,有规划有步骤地完成一些工作。
如果任务是写一篇论文:
大模型:直接写一篇论文
人(agentic AI):规划,搜索材料、初稿、批评、成文
面试问题:智能体 vs 工作流的区别
工作流(确定性):
- 执行流程可控、结果可预测、低Token
- 难以处理开放式任务、灵活性差
Agentic AI
- 拆解能力强、自适应复杂环境
- 陷入死循环、成本不可控、可能幻觉
Agentic AI解决方案:
- 状态机约束:定义某状态使用状态机限制其跳转范围
- 多层反射机制:检查上一步对不对
- 人机协同:风险步骤前增加人工校验
在实际场景中需要根据业务场景确定工具选择。
如果是流程固定、容错率低的场景,则使用工作流。
如果复杂长尾场景,则按需求引入agentic AI
构成模块:
Models:LLMs,小模型(PDF2text, text2speech)
Tools:API(web Search、send email)、Information retrieval(RAG)
2、评估evals
- 添加额外的脚本去量化结果(脚本统计回答中提到了多少次竞争对手)
- using LLM as a judge(not recommend)
- 更专业的:1)end-to-end eval 2)component level
- 更实用:追模型的中间过程输出
3、设计模式
后面其实会具体介绍四种设计模式的具体细节
Reflection:让模型去评估、指出生成内容的错误,然后进行纠正;代码运行结果反馈给大模型
Tool use
Planning
Multi-agent collaboration:不同的智能体负责不同的功能ChatDev;类似于人类的分工
02-反射设计模型

我们可以利用LLMs不断地去迭代输出的版本,从而得到更完善的版本

我们不仅可以让LLMs去检查错误,优化内容;对于可执行的代码,还可以通过代码执行的外部反馈检查输出。

1、相比于直接生成:
- 直接生成类似于zero-shot,效果不如few-shot(老师意思可能是,reflection类似于few-shot)
- 适合任务:检查结构化输出(html、json)、域名头脑风暴、改善写作
- 对于reflection部分,对初版生成内容最好有清晰的评判标准(反思标准:1. 是否完整 2. 是否准确 3. 效率 4. 安全 5. 可维护性)
2、图表生成工作流:
reflection更适合用reasoning LLMs

3、评估反射的影响:
客观评判标准:
比如生成SQL语句:预设10-15个问题,有标准答案,对比有无reflection的效果
主观评判标准:
把有无reflection的输出结果送入大模型做对比(需要给几个标准从而得到客观评价)
4、使用外部反馈
比如:通过代码进行敏感内容检查、字数检查反馈给大模型、利用网页搜索核实内容正误
03-Tool Use
为大模型提供一系列工具,LLMs自主决定是否调用什么工具
1、创建工具
通过提示词告诉大模型可以调用的工具

2、工具语法
Tools的底层细节:在agent底层执行的时候,会生成右侧的json数组,供大模型调用

其中name、description字段是必须的,像最近很火的Skills也是遵循了相同的规范
3、MCP
【吴恩达另有专门MCP课程】
MCP(Model Context Protocol,模型上下文协议)是一种开放协议,旨在实现 大型语言模型(LLM) 应用与外部数据源、工具和服务之间的无缝集成,类似于网络中的 HTTP 协议或邮件中的 SMTP 协议。
MCP 的核心是 模型上下文,即 LLM 在运行过程中所需的所有外部信息和工具。
MCP 通过定义标准化的接口和协议,使 LLM 能够动态访问和集成以下内容:
1.外部数据源:如数据库、API、文档库等,为 LLM 提供实时或历史数据。
2.工具和服务:如计算工具、搜索引擎、第三方服务等,扩展 LLM 的功能。
3.上下文管理:动态维护 LLM 的对话上下文,确保连贯性和一致性。
04-快速构建Agentic AI的实用技巧
1、评估
通过评估推动开发流程
构建小数据集进行评测
- 建立一个系统,并观察其运行结果,以找出它在哪些方面表现不佳。(例如:发票数据提取中日期填写有误)
- 通过实施一个包含约 20 个示例的小型评估来推动改进工作
评估数据提取效果:可以创建一个验证集,不断调整方法提高准确率- 在对工作流程进行修改(例如添加新的提示、采用新的算法)的过程中进行监测,并观察指标是否有所改善。
写评估函数进行评测
e.g. 写一个函数进行统计LLMs生成内容数量是否符合要求
自定义内容采分点,使用LLMs进行评价
对于每个话题,自己定义3-5个必须提到的点,利用LLMs判断生成内容是否提到
| 代码评估(objective) | 大模型评估(subjective) | |
|---|---|---|
| 有ground truth | 精确日期提取 | 采分点检查 |
| 无ground truth | 检查内容长度 | 数据可视化 |
2、误差分析与下一步优化
有条不紊的进行错误分析,明确下一步优化的重点是提高团队效率的重要一步。
以论文分析为例
我们应当观察(trace)工作流每一步的输出,评估系统出错的地方
测试更多用例,统计哪一步出错的最多
对于关键模块,可以使用组件级的评估方法进行评测和改进,例如为web search提供专门测试用例
3、如何解决你发现的问题
对于非LLMs部分:
修改超参数、换模块
对于LLMs部分:
优化提示词(few-shot)、换大模型、换为更多小的模块、微调
不同厂商的大模型通常擅长不同的任务,多尝试新模型;设立自己的测试用例
4、延迟、成本
05-高度自主智能体的模式
1、规划工作流
当需要完成多步骤的复杂工作时,AI可以通过规划多个component的构建,形成一个清单,逐步执行这些步骤,实现复杂流程【这样的系统有时难以控制】
2、创建和执行LLM计划
让大模型格式化输出JSON格式的规划
格式化地输出步骤比纯文本、比MarkDown格式更没有歧义
You have access to the following tools:
{description of tools}
Create a step-by-step plan in JSON format.
Each step should have the following items:step number, description, tool name, andargs.
3、结合代码执行的规划
让模型编写代码执行复杂任务,可以获得更好的效果
4、多智能体工作流
将细分功能的Agent视为Tools,供主Agent使用

5、多智能体系统的通信模式
- 线性模式:
researcher -> graphic designer -> writer - 中心化模式:
营销经理分别调用分agents - 更深的层次化:
多级调用的Agent模式 - All-to-all:
群体间任意形式的交流
更多推荐
所有评论(0)