【LLM】Agentic Workflow的四种常见思路

note

  • Reflection 和 Tool Use 属于比较经典且相对已经广泛使用的方式,Planning 和 Multi-agent 属于比较新颖比较有前景的方式。

文章目录

  • note
  • 一、四种设计模式
    • 1. Reflection
    • 2. Tool use
    • 3. Planning
    • 4. Multi-agent collaboration
  • 二、相关代码实践

一、四种设计模式

在这里插入图片描述

1. Reflection

  • 基于reflection的,纯粹的对结果反思,无外部交互。这是一个非常基础的模式,尽管很简单,但却可以为结果带来挺大的提升。

推荐阅读:
Self-Refine: Iterative Refinement with Self-Feedback, Madaan et al. (2023)
Reflexion: Language Agents with Verbal Reinforcement Learning, Shinn et al., (2023)

2. Tool use

  • 与工具交互,并对交互结果进行推理。LLM中存储的信息通常不足以准确、有见地地回答问题。这个模式不具备迭代调用。

推荐阅读:

  1. Gorilla: Large Language Model Connected with Massive APIs, Patil et al. (2023)
  2. MM-REACT: Prompting ChatGPT for Multimodal Reasoning and Action, Yang et al. (2023)

3. Planning

  • 有规划模块,能完成任务拆解,任务规划,反思迭代。通过将任务分解为更小、更容易完成的子目标,而不会迷失最终目标。

推荐阅读:

  1. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models, Wei et al., (2022)
  2. HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in Hugging Face, Shen et al. (2023)

4. Multi-agent collaboration

  • 多Agent系统,像 crewAI或 AutoGen这样的框架,它们允许创建Multi-Agent 的应用。任务可以划分为由不同角色执行的小任务。

ex:改编自 HuggingGPT 这个论文,我需要生成一个图片,一个女孩在看书,她的姿势要个我给的这个图片中的男孩一样,然后你再用文字描述这个图片:Agent 的做法是,先提取该图片中男孩的姿态(可能是调用的 Huggingface上的模型),然后再找到一个模型生成一张同样姿势的图片,最后再描述好生成的这张图片。

推荐阅读:

  1. Communicative Agents for Software Development, Qian et al., (2023)
  2. AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation, Wu et al. (2023)

二、相关代码实践

链接:https://github.com/neural-maze/agentic_patterns/tree/main

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/884934.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python数据可视化seaborn

产品经理在做数据分析时可能需要通过可视化来分析。seaborn官网 1. relplot 散点图 https://seaborn.pydata.org/examples/scatterplot_sizes.html import pandas as pd import seaborn as sns df pd.DataFrame({x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],y: [8, 6, 7, 8, 4, 6,…

基于ssm的个人健康管理系统

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

CSS3新增渐变(线性渐变、径向渐变、重复渐变)

1.线性渐变 代码: 效果图: 使文字填充背景颜色: 效果图: 2.径向渐变 代码: 效果图: 代码图: 效果图: 3.重复渐变 代码: 效果图:

【Kubernets】Kubernets进阶-Ingress配置SSL证书

Ingress配置SSL证书 1. 准备 SSL 证书和私钥2. 创建 Kubernetes Secret3. 配置 Ingress 资源4. 应用 Ingress 配置5. 验证配置注意事项 自签名证书在Ingress中如何应用?相关文献 在 Kubernetes 中,Ingress 资源可以用来管理外部访问到集群内服务的 HTTP 流量&#…

wvp 推拉转级联时频繁出现流无法观看的解决办法

经观察,推拉转任务在两三天时间内就失效了。 1 用脚本每天定时启动一次 wvp docker 容器, 并关闭所有推拉转任务,建议每天凌晨2点运行 import subprocess import time import socket import requestsdef restart_container(container_name):subprocess…

[mysql]mysql的DML数据操作语言增删改,以及新特性计算列,阿里巴巴开发手册mysql相关

1DML数据操作语言,增加删除改数据 插入数据INSERT 插入添加数据,两种方法 方式1:VALUES添加数据 #准备工作 USE atguigudb; CREATE TABLE IF NOT EXISTS emp1( id INT, name VARCHAR(15), hire_data DATE, salary DOUBLE(10,2)); SELECT * FROM emp1 INSERT INTO em…

自由学习记录(19)

unity核心也算是看完了吧,但觉得的确是少了点东西,之后再看mvc框架,和网络开发,,感觉有必要想想主次顺序了,毕竟在明年的3月之前尽量让自己更有贴合需求的能力 先了解一些相关概念,不用看懂&am…

vue计算属性

概念:基于现有的数据,计算出来新属性。并依赖数据的变化,自动重新计算 使用场景: 语法:声明在computed配置项中,一个计算属性对应一个函数,使用起来和普通属性一样使用{{计算属性名}} 代码&…

Promise 简单介绍及深入挖掘

一、什么是 Promise? 在 JavaScript 中,Promise 是用于处理异步操作的一种方式。它代表了一个 可能 在将来某个时间点完成或失败的操作的结果。Promise 使得我们能够优雅地处理异步代码,避免了回调地狱(Callback Hell)…

springboot2.x使用SSE方式代理或者转发其他流式接口

文章目录 1.需求描述2.代码2.1.示例controller2.2.示例service2.3.示例impl 3.测试 1.需求描述 使用SSE的方式主要还是要跟前端建立一个EventSource的链接,有了这个连接,然后往通道里写入数据流,前端自然会拿到流式数据,写啥拿啥…

Java学习教程,从入门到精通,Java方法语法的知识点总结(21)

1、Java方法语法的知识点总结 方法定义: 方法是执行特定任务的代码块。 方法包含一个方法头和一个方法体。 语法: [修饰符] 返回值类型 方法名(参数列表) {// 方法体 }修饰符: 访问修饰符(如 public, private, protected&#x…

Hive操作库、操作表及数据仓库的简单介绍

数据仓库和数据库 数据库和数仓区别 数据库与数据仓库的区别实际讲的是OLTP与OLAP的区别 操作型处理(数据库),叫联机事务处理OLTP(On-Line Transaction Processing),也可以称面向用户交易的处理系统,它是针对具体业务…

C#语言在软件开发中的应用与优势

C#(读作“C-sharp”)是一种由微软公司开发的通用高级编程语言,自2000年发布以来,它迅速成为开发人员构建各种类型应用程序的首选语言之一。C#的设计目标是成为一种简单、现代、面向对象的语言,它结合了C的强大功能和Ja…

基于STM32的智能植物灌溉系统设计

引言 本项目基于STM32微控制器设计了一个智能植物灌溉系统,通过集成土壤湿度传感器和水泵,实现植物自动浇水的功能。该系统可以检测土壤的湿度状况,根据设定的湿度阈值自动启动或停止灌溉,为植物提供适宜的生长环境。项目涉及硬件…

OpenStack API 来创建用户

OpenStack API 来创建用户。 代码详解 import requests import jsonrequests:用于发送 HTTP 请求的库。json:用于处理 JSON 数据格式的库。 controller_ip 10.104.43.10 url f"http://{controller_ip}:5000/v3/auth/tokens"controller_ip…

Ubuntu22.04 安装图形界面以及XRDP教程

一、准备环境 1.一台服务器安装系统ubuntu(这里大部分ubuntu系统可以同用) 2.安装的ubuntu系统未安装图形界面 二、操作步骤 1.远程ssh或者直接登录服务器命令行界面 ssh -p 远程端口 rootIP 2.更新系统软件包 sudo apt update # 更新本地的软件包…

C++:多态中的虚/纯虚函数,抽象类以及虚函数表

我们在平时,旅游或者是坐高铁或火车的时候。对学生票,军人票,普通票这些概念多少都有些许耳闻。而我们上篇文章也介绍过了继承与多继承。如果这些票我们都分别的去写一个类,当然很冗余,这里我们便可以去使用继承&#…

【易售校园二手平台】开源说明(包含项目介绍、界面展示与系列文章集合)

文章目录 仓库项目介绍技术架构界面登录界面首页闲置商品发布商品详情收藏页面消息页面私聊我的查看我发布的商品 可优化点开发讲解文章集合 仓库 🏠️ 项目仓库:易售校园二手平台gitee仓库 🌍️ 在线体验:易售校园二手平台&…

python怎么将字符串转换为数字

python如何将列表中的字符串转为数字?具体方法如下: 有一个数字字符的列表: numbers [1, 5, 10, 8] 想要把每个元素转换为数字: numbers [1, 5, 10, 8] 用一个循环来解决: new_numbers []; for n in numbers:new_n…

APP 后台广告位配置的关键要素与策略

在当今数字化营销的浪潮中,APP 作为重要的信息传播渠道,其后台广告位的配置显得尤为关键。这不仅影响着广告的展示效果,还直接关系到用户体验和平台收益。 首先,了解目标受众是配置广告位的基础。通过对 APP 用户的行为数据进行分…