AgenticAI任务分解和评估

来源: https://github.com/datawhalechina/agentic-ai/blob/main

Agentic AI任务拆解

核心思想

  • 观察人类行为:思考如果一个人类要完成应该怎么做?
  • 拆解步骤:整个任务拆解成多个独立的,清晰的子步骤
  • 评估可行性:对每个步骤,思考是否能用大预言模型LLM或者工具API/函数调用来实现
  • 迭代优化:如果初步分解的效果不理想,可以进一步细化步骤,将其拆分成更小的子步骤,直到达到满意的性能

案例一:写一篇深度论文

目标

让AI系统撰写一篇关于特定主体"X"的深入研究报告

版本: V1.0 直接生成

输入:Write an essay on topic X→ LLM → 输出文档

问题:内容表面化,缺乏深度和一致性。

版本: V2.0 三步工作流

  1. 撰写大纲: LLM根据主题X生成一个结构化的写作提纲
  2. 网络搜索: LLM根据大纲生成搜索词,调用web search工具获取相关资料
  3. 撰写论文: LLM结合大纲和搜索到的内容,撰写论文

优点:引入外部信息内容更丰富

缺点:文章可能脱节,开头,中间,结尾风格不一样

版本: V3.0 五步工作流

  1. 撰写大纲:LLM根据主题X生成大纲
  2. 网络搜索: LLM根据大纲生成搜索词,调用web search工具获取相关资料
  3. 撰写初稿:LLM根据大纲和搜索结果写出第一版草稿
  4. 考虑修订部分:LLM阅读自己的初稿,分析哪些部分需要改进
  5. 修订草稿: LLM根据自我批评,对草稿进行修改和完善。效果提升,类似"写作->反思->修改"循环

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

案例二:回复客户邮件

目标

自动回复客户关于"发错货"的投诉邮件。

任务分解

  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或其调用的工具完成,从而构成一个完整的自动化流程。

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

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

模型 (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. 持续迭代:没有一步到位的完美工作流,需不断优化。

关键技能

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

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

Agentic AI任务评估

为什么评估如此重要?

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

能否进行严格、有纪律的评估(evals) 是区分一个团队或个人在构建智能体工作流时"做得好"与"做得差"的最大预测因素。评估能力对有效构建智能体工作流至关重要。"

核心评估方法论

  1. 先构建,再观察,后评估
    • 问题:在构建智能体工作流前,很难预知可能出错的地方
    • 解决方案:不要试图提前设计所有评估标准。最佳实践是先构建一个初步版本,然后手动检查其输出,寻找那些你认为能做的更好的地方
  2. 识别低质量输出
    • "以处理客户订单查询的智能体为例"
      • 输入:客户邮件"我订购了蓝色搅拌机,但收到了红色烤面包机"
      • 期望输出:礼貌,专业,解决问题的回复
      • 低质量输出:"很高兴您选择了我们,我们比竞争对手强多了"
    • 分析:这种输出是错误的,因为它提到了竞争对手,这在商业中通常不被允许
  3. 构建评估指标来追踪错误
    • 目标:量化并跟踪已知识别的错误
    • 方法:
      • 定义错误类型:例如"提到竞争对手"
      • 创建列表:列出所有需要避免提及的竞争对手的名称
      • 编写代码:编写脚本自动扫描智能体所有的输出,统计这些竞争对手的此处和频率
    • 优势:这是一个客观指标,可以用代码精确衡量,便于追踪改进效果
  4. 使用大语言模型作为裁判
    • 场景:当评估标准更为主管,难以用代码精确判断时,例如,评估一篇论文的质量
    • 方法:
      1. 构建生成论文Agent: 一个用于撰写不同主题研究报告的智能体
      2. 引入裁判LLM:使用另一个LLM来评估第一个LLM的生成报告
      3. 设计评分提示词:让裁判LLM对报告进行打分(比如1-5分,5分最佳)

评估量大类型

端到端评估

衡量整个智能体最终输出整体质量,比如一篇完整论文最终得分

组件级评估

衡量智能体工作流中单个步骤或者组件的输出质量,比如评估第一步"提取关键信息"的准确性,或者第二步"查找相关客户记录"的召回率

相关推荐
远航计算机1 小时前
AI 引用你的时候,摘的是哪一段?
人工智能·aigc
Uncertainty!!1 小时前
大模型基础架构之Transformer
人工智能·深度学习·transformer
商业白皮书1 小时前
企业通过API调用大模型,推荐哪些具备数据隐私保护能力的平台?
大数据·人工智能·笔记
adinnet20261 小时前
流式输出:ai问答为什么是逐字蹦出来的
人工智能
howdoyoudo2026061 小时前
AI基建融资信用分层:谁被挤出GPU抵押市场?
大数据·人工智能·安全·microsoft·ai·语言模型
牛老师讲GIS1 小时前
透过 GeoLibre AI 助手,Agentic WebGIS 该如何架构与发展?
人工智能·geolibre ai 助手·agentic webgis
可信计算1 小时前
从单视口渲染到分支击穿:关于概率、脑神经与“创世启动器”的一些构想
人工智能·笔记
科技每日热闻1 小时前
大模型 API 调用遭遇限制时,推荐哪些支持弹性扩展和稳定调用的云平台?
大数据·网络·人工智能·ai
广州工博科技1 小时前
在咨询领域,AI 有哪些用途?
人工智能