当前位置: 首页 > news >正文

【LLM-Agent】Building effective agents和典型workflows

note

  • Anthropic的工程经验:
    • 大道至简,尽量维护系统的简洁;
    • 尽量让过程更加透明(因为你依赖的是LLM的决策,如果只看输出不看过程,很容易陷入难以debug的情况);
    • 对LLM需要调用的工具,尽可能地好好进行工具说明和测试。

文章目录

  • note
  • 一、构建块、工作流和Agent
  • 二、一些典型 workflows
    • Building block: The augmented LLM
    • Workflow: Prompt chaining
    • Workflow: Routing
    • Workflow: Parallelization
    • Workflow: Orchestrator-workers
    • Workflow: Evaluator-optimizer
  • 三、Agent系统
  • Reference

一、构建块、工作流和Agent

workflows是人来定义明确的规则和流程,然后中间步骤由LLM来执行;但是 agents 是为了更加灵活地处理某些任务,且决策是由模型决定的,而不是预定义的规则。

当需要更多复杂性时,工作流可以为明确定义的任务提供可预测性和一致性,而当需要大规模灵活性和模型驱动的决策时,Agent是更好的选择。

二、一些典型 workflows

Building block: The augmented LLM

无论是 workflows 还是 agents,基础组件都是增强版的LLM:
在这里插入图片描述

Workflow: Prompt chaining

Prompt-Chaining: 当任务可以被清晰地划分成多个steps。一般用于用更高的延迟,来换取更高的准确率。
在这里插入图片描述

Workflow: Routing

Routing:当需要考虑针对不同场景要采用不同模型时,可使用这种导航的workflow。
在这里插入图片描述

Workflow: Parallelization

Parallelization:并行处理,当需要同时得到多个结果,最后集成在一起时使用。
在这里插入图片描述

Workflow: Orchestrator-workers

Orchestrator-workers:这个跟上面的区别在于,使用一个模型来判断任务要怎么划分,你事先可能没有一个明确的子任务划分。

在这里插入图片描述

Workflow: Evaluator-optimizer

Evaluator-optimizer:迭代优化工作流。让LLM的结果不断自我优化。使用这种工作流,一般需要满足两点:1.LLM的输出,确实可能有很大的提升空间;2.LLM有能力对输出提供有价值的评价
在这里插入图片描述

三、Agent系统

真正的 agents 系统是为了解决:

  • 复杂的开放性问题
  • 难以对问题进行明确的分解、分步,难以规划

在这里插入图片描述

例如一个经典场景:编程助手(不是单单代码补全,或者简单的代码问答,而是能直接操作一个工程)的内部流程可能是这样的:
在这里插入图片描述
可以参考Anthropic的项目:https://www.anthropic.com/research/swe-bench-sonnet

目前 Agents 落地最成功的两个场景就是:

  • 客服系统:
    • 常规的QA功能
    • 对接数据库,查询功能
    • 修改用户数据
    • 自动化票据生成
  • 编程IDE
    • 著名的Cursor编程IDE
    • 例如 Anthropic自己对SWE-bench做的工具:https://www.anthropic.com/research/swe-bench-sonnet

Reference

[1] 2024 AI Agents,2025将是Agentic系统之年
[2] https://github.com/anthropics/anthropic-cookbook/tree/main/patterns/agentshttps://www.anthropic.com/research/building-effective-agents
[3] https://www.anthropic.com/research/building-effective-agents

http://www.lryc.cn/news/515494.html

相关文章:

  • 《量子比特大阅兵:不同类型量子比特在人工智能领域的优劣势剖析》
  • 《探秘开源大模型:AI 世界的“超级引擎”》
  • el-table行列转换简单版,仅限单行数据
  • 2025年1月4日蜻蜓q旗舰版st完整开源·包含前后端所有源文件·开源可商用可二开·优雅草科技·优雅草kir|优雅草星星|优雅草银满|优雅草undefined
  • SQL把字符串按逗号分割成记录
  • C#设计模式(行为型模式):观察者模式
  • pytorch镜像源
  • Verilog语法之常用行为级语法
  • PADS Logic原理图中有很多页原理图,如何(怎样)删除其中一页或者多页
  • 蓝色简洁引导页网站源码
  • Apache PDFBox添加maven依赖,pdf转成图片
  • mybatis 和 mybatisPlus 兼容性问题
  • Mono里运行C#脚本23—mono_jit_exec
  • 第十一章 图论
  • 纯前端实现将pdf转为图片(插件pdfjs)
  • 【IT人物系列】之MySQL创始人
  • 在Typora中实现自动编号
  • Single Shot MultiBox Detector(SSD)
  • kafka生产者专题(原理+拦截器+序列化+分区+数据可靠+数据去重+事务)
  • 【React+TypeScript+DeepSeek】穿越时空对话机
  • 公共数据授权运营系统建设手册(附下载)
  • 基于HTML和CSS的旅游小程序
  • maven之插件调试
  • SQL Sever 数据库损坏,只有.mdf文件,如何恢复?
  • 【AWS SDK PHP】This operation requests `sigv4a` auth schemes 问题处理
  • primevue的<Menu>组件
  • 利用Deeplearning4j进行 图像识别
  • 练习题:37
  • Unity热更文件比较工具类
  • 【hustoj注意事项】函数返回值问题