Agentic AI 教程

1.6 任务分解-识别工作流程步骤

讲解任务分解的核心概念,并通过案例说明如何构建Agentic AI工作流。

1.6 任务分解-识别工作流程步骤

一、核心概念:任务分解 (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)

  1. 撰写大纲 (Write an essay outline): LLM根据主题X生成一个结构化的写作提纲。
  2. 网络搜索 (Search web): LLM根据大纲生成搜索词,调用web search工具获取相关资料。
  3. 撰写论文 (Write the essay): LLM结合大纲和搜索到的信息,撰写最终的论文。 优点:引入外部信息,内容更丰富。 缺点:文章仍可能“脱节”,开头、中间、结尾风格不一致。

方法三:五步工作流 (5-step Workflow)

  1. 撰写大纲 (Write an essay outline): LLM生成大纲。
  2. 网络搜索 (Search web): LLM调用web search工具获取信息。
  3. 撰写初稿 (Write a first draft): LLM根据大纲和搜索结果写出第一版草稿。
  4. 考虑修订部分 (Consider what parts need revision): LLM阅读自己的初稿,分析哪些部分需要改进。
  5. 修订草稿 (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)

目标

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

任务分解

  1. 查找所需信息 (Find required information):
    • 操作: LLM分析文本,识别出账单发送方、地址、到期金额、到期日期等必需字段。
    • 可行性: LLM擅长从非结构化文本中提取结构化信息。
  2. 创建并保存新的数据库条目 (Create a new database entry and save):
    • 操作: LLM调用 update database 工具,将提取到的信息写入数据库。
    • 可行性: LLM可以通过API或函数调用更新数据库。

关键洞察

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

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

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

1. 模型 (Models)

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

2. 工具 (Tools)

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

三、总结与关键技能

核心方法论

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

工作流设计原则

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

关键技能

  • 任务分解能力: 能够清晰地识别和定义任务的各个离散步骤。
  • 构件理解能力: 理解可用的模型和工具及其适用场景。
  • 迭代优化能力: 不断测试、评估和改进工作流,直至达到预期性能。

“当你发现某一步无法由 LLM 或工具完成时,问问自己:‘作为一个人,我会怎么做?’然后把这个‘人’的做法拆成机器能执行的子步骤。”

On this page