Agentic AI

“非智能体”工作流指的是用户通过一个单一提示(prompt),要求大型语言模型(LLM)一次性完成整个任务,这种工作流被称为“零样本”(zero-shot)工作流。

例子: “请从头到尾写一篇关于主题X的文章,中间不能使用退格键修改。”

局限性:这就像让一个人或AI“一口气”从第一个字写到最后一个字,中间不能回头修改;无论是人类还是AI模型,都不擅长以这种完全线性的、不可逆的方式进行创作。尽管如此,目前流行从的大型语言模型在这种约束下依然能表现得相当不错。

在这里插入图片描述

Less autonomous(低自主性)

所有步骤都是预先设定好的,所有工具调用都是硬编码的(Hard-coded),由人类工程师在代码中固定;其中主要自主性体现在语言模型生成的文本上。

案例:

你告诉 LLM:“写一篇关于黑洞的论文”
LLM → 写出搜索关键词
去网页搜
抓取网页内容
LLM 把这些内容整合成文章
这就像你指挥一个“听话但不会动脑”的助手:你得一步步告诉它做什么、什么时候查资料、怎么整理。AI 只负责“写”,其他事都得你来操心。

More autonomous(高自主性)

代理能自主做出大量决策;能够动态地决定要执行的步骤顺序;甚至可以创建新的、可执行的工具(函数)来完成任务。

你告诉 LLM:“写一篇关于黑洞的论文”
LLM 自己决定:先“web search”查资料 → 并且能调用“news”和“arXiv”等工具,找最新科研动态
找到结果后,它自己判断:“我要选5个最好的来源” → 调用“web fetch” + “pdf to text”工具提取内容
然后它写初稿 → 再自己反思:“这个段落逻辑不够强,数据没引用清楚” → 主动改进草稿
最后输出高质量论文!

在这里插入图片描述

Benefits of agentic-ai

  1. 性能飞跃(Much Better Performance)
  2. 并行加速(Faster than Humans because of Parallelization)
  3. 模块化设计(Modular: Can Add/Update/Swap Components)
    在这里插入图片描述

性能跃升 (Much Better Performance)

智能体工作流带来的性能提升,远超单纯升级模型版本(如从GPT-3.5到GPT-4)所带来的进步

测试目的: 评估不同语言模型编写代码的能力。

实证案例:HumanEval 编码基准测试 Coding Benchmark (HumanEval) 展示的是不同 AI 系统在编程任务上的表现——重点是对比 Non-agentic 和 Agentic的能力差异。 横轴 → 是“通过率”(正确完成编程题目的比例),从 40% 到 100%,越高越好。 纵轴 → 区分模型版本:GPT-3.5 vs GPT-4(GPT-4 更强)。

非智能体模式 (Non-agentic):
在这里插入图片描述

  • GPT-3.5 直接生成代码,正确率约为 48%。
  • GPT-4 直接生成代码,正确率提升至 67%。 智能体模式 (Agentic):
  • 将 GPT-3.5 置于智能体工作流中(例如,让它先写代码,再自我反思、分析并改进),其性能可以显著提升,达到甚至超过 GPT-4 的水平。
  • 同样,将 GPT-4 置于智能体工作流中,其表现也会比单独使用时更加出色。

并行加速 并行加速 (Faster than Humans because of Parallelization)

核心概念: 智能体工作流能够并行处理任务,从而比人类更快地完成特定工作。

实例演示: 以“撰写一篇关于黑洞的论文”为例。

  • 人类方式: 需要顺序地进行搜索、阅读网页、再搜索、再阅读,效率低下。
    智能体工作流方式:
    并行搜索: 可以同时启动三个 LLM 实例,各自生成不同的搜索关键词并执行网络搜索。
    并行抓取: 基于每次搜索的结果,每个 LLM 可以再并行抓取多个网页内容。
    最终整合: 将所有并行获取的信息汇总,输入给一个 LLM 来撰写最终的论文。
    结果: 虽然整个流程步骤更多,但由于大量的并行操作(如图示中的9个并行网页下载),其总耗时反而比人类顺序操作快得多。

模块化与可替换性

核心概念: 智能体工作流是高度模块化的,允许开发者自由地添加、更新工具或替换模型。

  • 实践应用:
    • 替换工具: 例如,在“网络搜索”这个环节,可以轻松地将默认的搜索引擎替换为 Serper、Bing、Dr. Google 或专门为 AI 设计的工具。
    • 切换功能: 可以将通用的“web search”替换为“news search”,以便获取最新的科学突破资讯。
    • 优化模型: 不必在所有步骤中使用同一个 LLM。可以根据不同步骤的需求,尝试不同的模型提供商,选择在该步骤表现最佳的模型,从而优化整个系统的表现。

Agentic-ai-applications

  • agentic-ai一种让 AI Agent 根据明确或动态的任务目标,自主调用工具、访问数据库、执行步骤并完成任务的工作模式。
  • 不同于传统“输入-输出”的简单问答,它强调多步骤规划、工具使用、状态更新与决策能力。

案例一:发票处理工作流(Invoice Processing)

自动化处理企业收到的发票,提取关键信息并记录到数据库,以确保及时付款。

**任务目标:**从 PDF 发票中提取关键信息(开票方、金额、到期日),并录入数据库。

所需字段:

  • 开票方(Biller)
  • 开票地址(Biller address)
  • 应付金额(Amount due)
  • 到期日(Due date) 工作流步骤:
  1. PDF 转文本 → 使用 API 将 PDF 转为结构化文本(如 Markdown)。
  2. LLM 解析文本 → 判断是否为发票,提取所需字段。
  3. 调用工具更新数据库 → 通过 update database 工具将数据存入系统。
  4. 生成记录成功提示 → “Record created!”

在这里插入图片描述

案例二:回复客户邮件(Responding to Customer Email)

示例邮件:“我订购了蓝色 KitchenPro 搅拌机(订单 #8847),但收到的是红色烤面包机。”

工作流步骤:

  1. 提取关键信息 → LLM 识别订单号、产品、问题。
  2. 查询订单数据库 → 使用 orders database query 工具获取订单详情。
  3. 起草回复草稿 → LLM 根据信息撰写回复。
  4. 请求人工审核 → 使用 request review 工具将草稿提交给人类审批。
  5. 发送邮件 → 审核通过后自动发送。
    价值:提升客服效率,确保回复准确性。

在这里插入图片描述

更复杂的客户服务agent(More Challenging: Customer Service Agent)

构建一个能处理各种未知问题的通用客户服务代理,而非仅限于特定订单查询。

场景一:库存查询:“你们有黑色或蓝色牛仔裤吗?”

agent需动态决定:

  1. 查询黑色牛仔裤库存
  2. 查询蓝色牛仔裤库存
  3. 综合回复客户 难点: 需要规划API调用的顺序来回答一个开放式问题。
场景二:退货处理:“我想退回我买的沙滩毛巾。”

agent需判断:

  1. 验证客户购买记录
  2. 检查退货政策(如是否在 30 天内、是否未使用)
  3. 若允许退货 → 生成退货标签 + 设置数据库状态为“待退货” 难点: 步骤不是预先固定的,代理必须根据条件判断并决定后续行动。

在这里插入图片描述

案例四:视觉计算机使用(Difficult: Visual Computer Use)

让AI代理像人类一样使用网页浏览器,完成复杂的交互式任务。

示例任务:让 AI agent检查从旧金山到华盛顿 DCA 机场的两个特定联合航空航班是否有空座。

agent行为:

  1. 自动打开浏览器,访问 United.com。
  2. 填写表单、点击按钮、导航页面。
  3. 遇到“页面未找到”错误 → 自主切换到 Google Flights。
  4. 在 Google Flights 上搜索航班 → 选择合适选项 → 返回 United 网站确认。
  5. 最终确认座位可用。

核心能力:

  1. 视觉理解(读取网页内容)
  2. 推理决策(遇到错误时调整策略)
  3. 工具调用(模拟鼠标点击、键盘输入)
  4. 状态跟踪(记住当前进度)

现实挑战:

  1. 页面加载慢 → agent可能卡住
  2. UI 变化 → agent无法识别元素
  3. 多模态输入 → 更难处理
  4. 前景:虽不稳定,但在关键任务应用(如金融、医疗)中潜力巨大。

在这里插入图片描述

代理型AI适合哪些任务? (What tasks is agentic AI suited to?)

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

较易实现的任务 (Easier)
  • 清晰、逐步的流程 (Clear, step-by-step process): 有明确的执行步骤。
  • 标准程序 (Standard procedures to follow): 企业已有成熟的操作手册。
  • 纯文本资产 (Text assets only): 输入和输出均为文本,因为LLM擅长处理文本。
较难实现的任务 (Harder)
  • 步骤未知 (Steps not known ahead of time): 任务需求在执行前不确定,需要代理动态规划。
  • 边执行边解决 (Plan/solve as you go): 代理需要在过程中进行推理和决策。
  • 多模态输入 (Multimodal: sound, vision): 需要处理图像、声音等非文本

任务分解

核心概念:任务分解 (Task Decomposition)
任务分解是构建代理型AI工作流的关键技能。其核心思想是:

  1. 观察人类行为: 思考如果一个人类要完成这个任务,他会怎么做?
  2. 拆解步骤: 将整个任务拆解成多个独立的、清晰的子步骤。
  3. 评估可行性: 对每个子步骤,思考它是否能用大型语言模型(LLM)或某个工具(如API、函数调用)来实现。
  4. 迭代优化: 如果初步分解的效果不理想,可以进一步细化某个步骤,将其拆分成更小的子步骤,直到达到满意的性能。
案例一:写一篇深度论文(Writing an Essay)

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

方法一:直接生成(1 步)
输入:Write an essay on topic X→ LLM → 输出文档 问题:内容表面化,缺乏深度和一致性。
方法二:三步工作流 (3-step Workflow)

  • 撰写大纲 (Write an essay outline): LLM根据主题X生成一个结构化的写作提纲。
  • 网络搜索 (Search web): LLM根据大纲生成搜索词,调用web search工具获取相关资料。
  • 撰写论文 (Write the essay): LLM结合大纲和搜索到的信息,撰写最终的论文。 优点:引入外部信息,内容更丰富。 缺点:文章仍可能“脱节”,开头、中间、结尾风格不一致。
    方法三:五步工作流 (5-step Workflow)
  • 撰写大纲 (Write an essay outline): LLM生成大纲。
  • 网络搜索 (Search web): LLM调用web search工具获取信息。
  • 撰写初稿 (Write a first draft): LLM根据大纲和搜索结果写出第一版草稿。
  • 考虑修订部分 (Consider what parts need revision): LLM阅读自己的初稿,分析哪些部分需要改进。
  • 修订草稿 (Revise your draft): LLM根据自我批评,对草稿进行修改和完善。 效果提升:模拟人类“写作-反思-修改”循环,输出质量显著提高。

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

实例二:回复客户邮件 (Responding to Customer Email)

目标
自动回复客户关于“发错货”的投诉邮件。

任务分解

  1. 提取关键信息 (Extract key information):
    • 输入: 客户邮件。
    • 操作: LLM解析邮件,提取发件人姓名(Susan Jones)、订单号(#8847)、订购商品(蓝色搅拌机)和问题(收到红色烤面包机)。
    • 可行性: LLM擅长文本信息提取。
  2. 查找相关客户记录 (Find relevant customer records):
    • 操作: LLM调用 orders database query 工具,根据订单号查询数据库,核实订单详情和发货记录。
    • 可行性: LLM可以通过函数调用与数据库交互。
  3. 撰写并发送回复 (Write and send response):
    • 操作: LLM根据提取的信息和查询到的记录,起草一封回复邮件,并调用 send email API 将其发送给客户。
    • 可行性: LLM可以生成文本,并通过API执行发送动作。

关键洞察

  • 这个例子展示了如何将一个看似单一的任务(回复邮件)分解为三个清晰、独立的步骤。
  • 每个步骤都可以由LLM或其调用的工具完成,从而构成一个完整的自动化流程。

实例三:从发票中提取信息 (Extracting Information from Invoice)

构建代理型AI工作流的基本构件 (Building Blocks)

. 模型 (Models)

  • 大型语言模型 (LLMs):
    • 用途: 文本生成、工具使用决策、信息提取。
    • 特点: 擅长处理文本,是代理工作流的大脑。
  • 其他AI模型 (Other AI models):
    • 用途: 处理非文本模态数据,如PDF转文本、文本转语音、图像分析等。

工具 (Tools)

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

工作流步骤核心方法论

  1. 从宏观到微观: 面对一个复杂任务,不要试图一步到位。先将其分解为几个大的步骤。
  2. 评估每个步骤: 对每个步骤自问:“这个步骤能否由LLM或我拥有的某个工具来完成?”
  3. 迭代与细化: 如果某个步骤无法直接实现,或者实现效果不好,就把它再分解成更小的子步骤。
  4. 组合构件: 最终,你的工作流就是由“模型”和“工具”这两个基本构件按特定顺序组合而成的

工作流设计原则

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

Evaluation AI evals

为什么评估如此重要?

  1. 预测成败的关键:在团队合作中,能否有效评估工作流是区分“做得好”与“做得差”的最大因素之一。
  2. 驱动迭代优化:没有评估,就无法知道哪里出了问题,也无法改进。
  3. 避免“黑盒”陷阱:不能只看最终输出,要深入分析中间过程和错误根源

评估的核心方法论

  1. 首要原则:先构建,再观察,后评估
  • 问题: 在构建智能体工作流前,很难预知所有可能出错的地方。
  • 解决方案不要试图提前设计所有评估标准。最佳实践是先构建一个初步版本,然后手动检查其输出,寻找那些你希望它能做得更好的地方。
  1. 识别低质量输出 (Look for low-quality outputs)
  • 实例: 以处理客户订单查询的智能体为例。
    • 输入: 客户邮件:“我订购了蓝色搅拌机,但收到了红色烤面包机。”
    • 期望输出: 礼貌、专业、解决问题的回复。
    • 低质量输出示例: “我很高兴您选择了我们——我们比竞争对手 CompCo 强多了。”
  • 分析: 这种输出是错误的,因为它提到了竞争对手,这在商业场景中通常是不被允许的,会制造混乱。这是一个在构建前难以预见的问题。

在这里插入图片描述
3. 构建评估指标来追踪错误 (Add an evaluation to track the error)

  • 目标: 量化并跟踪已识别的错误。
  • 方法:
    • 定义错误类型: 例如,“提及竞争对手”。
    • 创建列表: 列出所有需要避免提及的竞争对手名称(如 CompCo, RivalCo)。
    • 编写代码: 编写脚本自动扫描智能体的所有输出,统计提及这些竞争对手的次数和频率。
    • if (competitor in response): num_competitor_mentions += 1
  • 优势: 这是一个客观指标 (objective metric),可以用代码精确衡量,便于追踪改进效果。

在这里插入图片描述

4. 使用大型语言模型作为裁判 (Using LLM as a judge)

  • 适用场景: 当评估标准更为主观、难以用代码精确判断时(例如,评估一篇论文的质量)。
  • 方法:
    • 构建研究代理: 例如,一个用于撰写不同主题研究报告的智能体。
    • 引入裁判 LLM: 使用另一个 LLM 来评估第一个 LLM 生成的报告。
    • 设计评分提示词: 让裁判 LLM 对报告进行打分(例如,1-5分,5分为最佳)。
    • 提示词示例:“请为以下文章分配一个1到5之间的质量分数,其中5是最好的:{essay}”

在这里插入图片描述

评估的两大主要类型

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

在这里插入图片描述

Agentic design patterns

反思 (Reflection)

  • 核心概念: 让模型对自己的输出进行检查、评估和改进。
  • 工作流程:
    • 初始生成: 模型根据任务要求生成一个初步结果(如代码)。
    • 自我评估/外部评估: 将该结果作为输入,再次提示同一个或另一个模型,要求其对结果进行批判性分析(如检查正确性、风格、效率,并给出改进建议)
    • 迭代优化: 将评估反馈(如“第5行有bug”或“单元测试失败”)提供给模型,让它基于反馈生成一个更好的版本
    • 循环往复: 此过程可以多次迭代,直到达到满意的质量。
  • 关键点:
    • 这是一种非常有效的性能提升技术,虽然不能保证100%完美,但能带来显著的性能提升。
    • “反思”可以由同一个模型完成,也可以引入一个专门扮演**“审查者”角色**的独立模型(即多智能体协作的雏形)。
    • 评估标准可以是客观的(如代码是否能运行),也可以是主观的(如代码风格)。
      在这里插入图片描述

工具使用 (Tool Use)

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

工作流程:

  • 识别需求: 模型在处理任务时,判断需要调用哪个工具。
  • 调用工具: 模型生成调用该工具的指令或参数。
  • 执行与返回: 工具执行操作(如搜索网络、计算数学公式),并将结果返回给模型。
  • 整合结果: 模型利用工具返回的结果来完成最终任务。

工具类型举例:

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

规划 Planning

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

工作流程:

  • 任务理解: 模型接收一个复杂请求(如“生成一张女孩读书的图片,姿势与示例图中的男孩相同”)。
  • 路径规划: 模型自动分解任务,决定需要调用哪些工具以及调用的顺序。
  • 例如:先用 openpose 模型提取男孩的姿势 -> 再用 google/vit 模型根据该姿势生成女孩的图片 -> 接着用 vit-gpt2 模型描述图片 -> 最后用 fastspeech 模型将描述转为语音。
  • 执行: 按照规划的步骤依次执行。
    关键点:

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

多智能体协作

  • 核心概念: 雇佣多个具有不同专长的角色(智能体)协同工作,共同完成一个复杂项目。
  • 工作流程:
    • 角色分配: 为不同的智能体分配特定角色(如研究员、市场专员、编辑)。
    • 分工合作: 各个智能体根据自己的角色和能力,执行相应的子任务。
    • 沟通协调: 智能体之间相互沟通、传递信息,共同推进项目。
      在这里插入图片描述
  • 多智能体协作通常能产生比单个智能体更好的结果,尤其在处理复杂任务(如撰写人物传记、下棋)时。
  • 研究表明,多智能体系统在多项任务上的表现优于单智能体系统。
  • 缺点是更难控制和调试,因为无法提前预知各个智能体的行为

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐