01-智能体简介

1、什么是agentic AI

AI Agent是能够感知环境、自主决策、使用工具完成任务的智能体。
在这里插入图片描述

像人一样,有规划有步骤地完成一些工作。

如果任务是写一篇论文:
大模型:直接写一篇论文
人(agentic AI):规划,搜索材料、初稿、批评、成文

面试问题:智能体 vs 工作流的区别
工作流(确定性):

  • 执行流程可控、结果可预测、低Token
  • 难以处理开放式任务、灵活性差

Agentic AI

  • 拆解能力强、自适应复杂环境
  • 陷入死循环、成本不可控、可能幻觉

Agentic AI解决方案

  1. 状态机约束:定义某状态使用状态机限制其跳转范围
  2. 多层反射机制:检查上一步对不对
  3. 人机协同:风险步骤前增加人工校验

在实际场景中需要根据业务场景确定工具选择。
如果是流程固定、容错率低的场景,则使用工作流。
如果复杂长尾场景,则按需求引入agentic AI

构成模块
Models:LLMs,小模型(PDF2text, text2speech)
Tools:API(web Search、send email)、Information retrieval(RAG)

2、评估evals

  1. 添加额外的脚本去量化结果(脚本统计回答中提到了多少次竞争对手)
  2. using LLM as a judge(not recommend)
  3. 更专业的:1)end-to-end eval 2)component level
  4. 更实用:追模型的中间过程输出

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、评估

通过评估推动开发流程

构建小数据集进行评测

  1. 建立一个系统,并观察其运行结果,以找出它在哪些方面表现不佳。(例如:发票数据提取中日期填写有误)
  2. 通过实施一个包含约 20 个示例的小型评估来推动改进工作
    评估数据提取效果:可以创建一个验证集,不断调整方法提高准确率
  3. 在对工作流程进行修改(例如添加新的提示、采用新的算法)的过程中进行监测,并观察指标是否有所改善。

评估函数进行评测

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:
    群体间任意形式的交流
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐