AI产品经理研读:Agent的九种设计模式(图解+代码)

『深度长文』吴恩达:AI Agent 4种最常见的设计模式 阅读详情

产品经理研读:Agent的九种设计模式(图解+代码)

引言

先来一张图镇楼,欢迎大家积极转发、收藏。

图片

接下来讲讲每个模式的原理,以及代码实现(看代码能帮助产品经理加深理解,因为这些设计模式都是以结构化 prompt 的方式藏在代码里)。

2

ReAct 模式

这是 LLM Agent 第一文,发表于 2022 年 10 月,现在看起来特别简单,但当时ChatGPT还没有面世,能够提出让 LLM 学会使用工具,具有一定的开创性。

2.1

1.1 React 原理

图片

ReAct 原理很简单,没有 ReAct 之前,Reasoning 和 Act 是分割开来的。举个例子,你让孩子帮忙去厨房里拿一个瓶胡椒粉,告诉 ta 一步步来(COT提示词策略):

  1. 先看看台面上有没有;
  2. 再拉开灶台底下抽屉里看看;
  3. 再打开油烟机左边吊柜里看看。

没有 React 的情况就是:

不管在第几步找到胡椒粉,ta 都会把这几个地方都看看(Action)。

有 React 的情况是:

Action1:先看看台面上有没有;

Observation1: 台面上没有胡椒粉,执行下一步;

Action2:再拉开灶台底下抽屉里看看;

Observation2:抽屉里有胡椒粉;

Action3: 把胡椒粉拿出来。

是的,就是这么简单,在论文的开头作者也提到人类智能的一项能力就是 Actions with verbal reasoning,即每次执行行动后都有一个“碎碎念(Observation”:我现在做了啥,是不是已经达到了目的。这相当于让 Agent 能够维持短期记忆。

2.2

ReAct 实现(通过代码理解原理)

在看过几个人的开源代码后,拿出一个最容易被产品经理理解的代码来解读。看完你会发现本质上所有的 Agent 设计模式都是将人类的思维、管理模式以结构化prompt的方式告诉大模型来进行规划,并调用工具执行,且不断迭代的方法— 明白这一点非常重要。

代码链接: https://github.com/samwit/langchain-tutorials/blob/main/agents/YT_Exploring_ReAct_on_Langchain.ipynb

我将代码逻辑梳理为下图(要仔细看):

图片

接下来结合代码内容详细解读。

1.生成提示词。 首先,将代码中预设好 ReAct 的提示词模板(格式为Quesion->Thought->Action->Observation)和用户的问题进行合并。得到的提示词是这样的。

图片

如果需要针对你自己的领域定制,需要将 fewshot 里的内容更换为更合适的内容,比如你的 Action 里可能会有"Send message to someone", 这里的 Action “Send message” 可能就对应一个外部工具的 API 接口。

2.调用大模型生成Thought+Action。 接下来将 few shot 提示词发给大模型。如果直接将上述提示词发给大模型,大模型生成将针对用户问题生成一堆 Thought,Action 和 Observation,但显然这里 Action 还没有展开,我们并不希望大模型输出 Observation。在代码里通过 Stop.Observation 来控制大模型遇到Observation后停止输出,于是大模型仅仅返回 Thought 和 Action,而不会把 Observation 给生成出来。

图片

3.调用外部工具。 拿到 Action 之后,大模型就可以调用外部工具了。首先判断这里的 Action 是不是 Finish,如果不是我们就可以利用大模型把 Action 后面的自然语言转换为外部工具能识别的 API 接口,这个转换过程就是大模型的 function calling 功能,本质上是对大模型进行微调,专门用于语言格式转换的模型,但并非所有的大模型都支持 function calling。

4. 生成Observation。 API 接口返回后,还会将接口返回内容转换为自然语言输出,生成 Observation,然后将 Observation 的内容,加上刚刚的 Thought, Action 内容输入给大模型,重复第 2,3 步,直至 Action 为Finish 为止。

5.完成输出。 将最后一步的 Observation 转化为自然语言输出给用户。

由此,我们可以看到 Agent 要落地一个场景,需要定制两项内容。

  • Prompt 模板中 few shot 中的内容。
  • function calling 中的外部工具定义。

而 Prompt 模板中 fewshot 本质上就是人类思维模式的结构化体现,通过查阅各个设计模式的 prompt 模板是很好的学习 Agent 设计模式的方法,习得这个方法,可以用同样的方法理解其他的设计模式,以下模式不再进行代码解读,大家可以公众号回复“Agent”获得所有设计模式的代码链接进行学习。

3

Plan and solve 模式

顾名思义这种设计模式是先有计划再来执行。如果说 ReAct更适合 完成“厨房拿胡椒粉”的任务,那么 Plan & solve 更适合完成“西红柿炒鸡蛋”的任务:你需要计划,并且过程中计划可能会变化(比如你打开冰箱发现没有西红柿时,你将购买西红柿作为新的步骤加入计划)。

提示词模板方面,论文标题中说得很直白,《Plan-and-Solve Prompting: Improving Zero-Shot Chain-of-Thought Reasoning by Large Language Models》,简言之就是 Zero shot 的提升,下图是作者代码中给出的一些 PS-Plan and Solve 提示词。

图片

架构上它的组成是这样的:

图片

  • 规划器:负责让 LLM 生成一个多步计划来完成一个大任务。代码中有 Planner 和和 Replanner,Planner 负责第一次生成计划;Replanner 是指在完成单个任务后,根据目前任务的完成情况进行 Replan,所以 Replanner 提示词中除了 Zeroshot,还会包含:目标,原有计划,和已完成步骤的情况。
  • 执行器:接受用户查询和规划中的步骤,并调用一个或多个工具来完成该任务。

4

Reason without Observation

REWOO(Reason without Observation)这种方法是相对 ReAct中的Observation 来说的,ReAct 提示词结构是 Thought→ Action→ Observation, 而 REWOO 把 Observation 去掉了。但实际上,REWOO 只是将 Observation 隐式地嵌入到下一步的执行单元中了,即由下一步骤的执行器自动去 observe 上一步执行器的输出。

举个例子,常见的审批流都是环环相扣的,比如我们的目标是完成 c,我们的步骤是:

  • 我们需要从部门 A 中拿到 a 文件,
  • 然后拿着 a 文件去部门 B 办理 b 文件,
  • 然后拿着 b 文件去部门 C 办理 c 文件- 任务完成。

这其中第 2,3 步骤中 B,C 部门对 a,b 文件的审查本身就是一类Observation。又比如下面提示词模板中给出 one shot 内容中定义出每一步的 plan 都会依赖上一步的输入。

图片

架构上它由三个组件组成:

图片

  • Planner:负责生成一个相互依赖的“链式计划”,定义每一步所依赖的上一步的输出。
  • Worker:循环遍历每个任务,并将任务输出分配给相应的变量。当调用后续调用时,它还会用变量的结果替换变量。
  • Solver:求解器将所有这些输出整合为最终答案。

5

LLMCompiler

Compiler-编译一词在计算机科学的意义就是如何进行任务编排使得计算更有效率,原论文题目是《An LLM Compiler for Parallel Function Calling》,很直白,就是通过并行Function calling来提高效率,比如用户提问张译和吴京差几岁,planner 搜索张译年龄和搜索吴京年龄同时进行,最后合并即可。

图片

提示词里对 Planner 的要求是这样的,重点是希望生成一个 DAG(Direct Acyclic Graph, 有向无环图。

图片

架构上有一个 Planner(规划器),有一个 Jointer(合并器)。

图片

6

Basic Reflection

Basic Reflection 可以类比于学生(Generator)写作业,老师(Reflector)来批改建议,学生根据批改建议来修改,如此反复。

提示词就是复刻师生之间的交互。

图片

架构上有一个 Generator,一个 Reflector。

图片

7

Reflexion

Reflexion 是 Basic reflection 的升级版,相应论文标题是《Reflexion: Language Agents with Verbal Reinforcement Learning》,本质上是强化学习的思路。和 Basic reflection 相比,引入了外部数据来评估回答是否准确,并强制生成响应中多余和缺失的方面,这使得反思的内容更具建设性。

提示词方面:会让大模型针对问题在回答前进行反思和批判性思考,反思包括有没有漏掉(missing)或者重复(Superfluous),然后回答问题,回答之后再有针对性的修改(Revise)

图片

架构上,有一个 Responder:自带批判式思考的陈述 Critique;有一个 Revisor:以 Responder 中的批判式思考作为上下文参考对初始回答做修改。

图片

8

Language Agent Tree Search

LATS 相应论文标题是《Language Agent Tree Search Unifies Reasoning Acting and Planning in Language Models》,很直白:是 Tree search + ReAct+Plan&solve 的融合体。在原作的图中,我们也看到 LATS 中通过树搜索的方式进行 Reward(强化学习的思路),同时还会融入 Reflection,从而拿到最佳结果。所以:

LATS = Tree search + ReAct+Plan&solve + Reflection + 强化学习

图片

提示词模板方面和之前的 reflection,plan&solve,ReAct 差别不大,只是上下文中多了对树搜索结果的评估和返回结果。

架构上,就是多轮的 Basic Reflection, 多个 Generator 和 Reflector。

图片

9

Self-Discover

Self-discover 的核心是让大模型在更小粒度上 task 本身进行反思,比如前文中的 Plan&Slove 是反思 task 是不是需要补充,而 Self-discover 是对 task 本身进行反思。

图片

提示词方面,Self-discover 列出一系列的反思方式让 agent 来选择:

图片

结构上,Self-Discover 如下图所示:

图片

  • Selector: 从众多的反省方式中选择合适的反省方式;
  • Adaptor: 使用选择的反省方式进行反省;
  • Implementor: 反省后进行重新 Reasoning;

10

Storm

Storm 相应论文标题是《 Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models》,很直白:可以从零生成一篇像维基百科的文章。主要思路是先让 agent 利用外部工具搜索生成大纲,然后再生成大纲里的每部分内容。

图片

提示词模板方面主要围绕如何生成大纲,如何丰富大纲内容来展开。

图片

架构上,就是先有 topic, 然后生成大纲,根据大纲丰富内容。这里会有一个大纲生成器,一个内容生成器。

在这里插入图片描述

11

总结

好了,以上就是目前所总结的 Agent 九大设计模式,其实 Agent 中没有最好的设计模式,只有最适合的设计模式 ,最终还是要从用户需求出发来选择。
​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

【上】大模型Autogen多Agent系统详细保姆级实践介绍,亲身实践展示代理效果 Autogen多Agent系统详细保姆级实践介绍,亲身实践展示代理效果 阅读详情

相关推荐

Agent : 一文读懂LLM Agent架构,详解Profile,Memory,Planning,Action模块作用

对于对Agent感兴趣的朋友们,我推荐一篇论文,它全面地介绍了Agent的架构,对于理解Agent的全局有着重要的价值。架构就像PC的硬件,但仅依赖架构设计是不够的,我们还需要赋予Agent完成不同任务的能力,这些被视为“软件”资源。除了这些基础知识,我认为最有价值的部分在于,它总结了基于大型语言模型(LLM)的Agent的架构,使我们能够按照一定的标准范式去设计自己的Agent。反馈的来源可能来自任务执行结果的客观反馈,也可能是根据人的主观判断给出的反馈,甚至还可以是由辅助模型提供的反馈。

具身机器人和通用AI 1万+

产品经理研读:Agent的九种设计模式(图解+代码)

上周五我在一个特工宇宙的社群里做了一次分享,题目是《从 YC 项目看 AI 趋势以及 AI agent 开发工具类产品该如何设计》,收到了大家不错的反馈,不过回看视频后还是发现不少可以提升的地方,感兴趣的朋友公众号回复“分享”获取会议录屏链接,这篇文章和大家详细讲讲分享中提到的:相关的资料(包括论文链接,原作者博客,langchain 代码实现等)已经整理在成表格(关注公众号发送“Agent”即可获得)。

python12345678_的博客 3661

双有源桥变换器(DAB)TPS控制:从理论建模到Simulink/PSIM仿真实践

本文深入探讨了双有源桥变换器(DAB)的三重移相(TPS)控制技术,从理论建模到仿真实现。文章详细分析了TPS相比SPS和DPS的优势,阐述了其12种工况的划分逻辑与电流应力最优调制策略,并提供了在Simulink和PSIM平台搭建仿真模型的详细步骤与实战经验,帮助工程师掌握这一高效控制方法。

white的博客 584

4 种 AI Agent 设计模式

在人工智能领域的不断演进中,Agent 设计模式正迅速崭露头角,成为构建智能系统的关键架构与行为模板 ,其核心聚焦于智能体(自主或半自主实体)与工具、环境及其他智能体的协同合作。这些模式将常见的工作流程和交互方式进行封装,为智能系统赋予了可扩展性、模块化和适应性,就如同为复杂的 AI 系统搭建起稳固且灵活的骨架。打个比方,智能体不再是孤立作战的个体,而更像是一支训练有素的团队成员,各自配备趁手的工具和明确的流程,去攻克复杂问题。

优快云_430422的博客 1446

格拉姆角场(GAF)实战:用Python实现时间序列图像化处理

本文深入解析了格拉姆角场(GAF)技术,这是一种将一维时间序列转化为二维图像特征的方法,以便利用卷积神经网络(CNN)等图像模型进行深度分析。文章通过Python实战代码,详细演示了GASF和GADF两种核心转换的实现过程,并探讨了其在时序数据分类任务中的应用,为故障预警、金融模式识别等场景提供了强大的图像驱动分析视角。

weixin_29079671的博客 273

从专利库到Zemax:一个6mm定焦镜头从零到交付的完整设计流程(含CodeV转换技巧)

本文详细介绍了6mm定焦镜头从专利库检索到最终交付的全流程设计,重点解析了CodeV与Zemax工具链的无缝衔接技巧。通过实际案例展示规格定义、专利筛选、结构适配、非球面优化等关键步骤,帮助光学设计工程师提升设计效率和制造良率。特别包含CodeV转换Zemax的实用技巧,适用于机器视觉和安防镜头开发。

weixin_42561040的博客 161

AI-Agent入门

主要参考资料AI Agent(或者LLM Agent)深度讲解——组成、方法、案例及展望:产品经理研读:Agent的九种设计模式(图解+代码):特工宇宙与产品二姐的AI趋势分享:

qq_40773212的博客 710

深度强化学习研究笔记(1)——入门(马尔科夫决策过程,贝尔曼方程,价值迭代和策略迭代)

1. 强化学习(Reinforcement learning)概述 强化学习(Reinforcement learning)的基本内涵是将问题用代理和环境进行建模。其中代理能够对环境执行一些特定的动作a∈Aa \in Aa∈A,从而到达某个状态s∈Ss \in Ss∈S,然后我们就可以根据该状态为代理赋予特定的奖励rrr。强化学习的基本思想如下图所示: 代理的目标是最大化未来的奖励总和,它通过将...

越野者的博客 5280

Agent学习路线是什么?

读者将跟随咖哥和小雪的脚步,踏上饶有趣味的Agent开发之旅,零距离接触GPT-4模型、OpenAI Assistants API、LangChain、LlamaIndex和MetaGPT等尖端技术,见证Agent在办公自动化、智能调度、知识整合以及检索增强生成(RAG)等领域的非凡表现,携手开启人工智能时代的无限可能,在人机协作的星空中共同探寻那颗最闪亮的Agent之星!本书超越代码层面,从架构、机制与实践等多维度出发,通过丰富案例,为解决“如何在不确定的大模型上构建可靠系统”提供了可复用的方法论。

人邮异步社区 694

在Qt中集成VTK和PCL:实现数据可视化的完整指南

在现代软件开发中,数据可视化至关重要。将VTK(Visualization Toolkit)和PCL(Point Cloud Library)集成到Qt环境里,能为开发者提供强大的可视化解决方案。本文将深入讲解如何在Qt中读取PCL文件,展示VTK模型和PCL数据,适合想要在Qt项目中实现数据可视化的开发者。

轩宇的博客 917

100天精通Python(基础篇)——第1天:Python从起源到应用的全面解析(附上Python、PyCharm、VSCode下载安装详细教程)

100天精通Python(基础篇)——第1天:Python从起源到应用的全面解析(附上Python、PyCharm、VSCode下载安装详细教程)

努力让自己发光,对的人才能迎着光而来 101万+

让你的Agent从“能跑”到“好用”!掌握这几种核心设计模式,构建稳定强大的智能体!

随着大语言模型的快速发展,如何让AI更好地理解和执行复杂任务,成为了开发者们关注的焦点。Agent设计模式应运而生,它们就像是给大模型装上"大脑",让AI能够像人类一样思考、规划和执行任务。

m0_59235245的博客 1044

【CloudCompare教程】017:点云快速全局配准

点云数据的配准分为基于特征(特征点、特征线)的拼接和无特征拼接。特征点匹配的方法和全局ICP的方法。特征点的方法通过全局特征匹配达到全局配准,全局ICP的方法通过对变量空间进行搜索的方法达到全局最优解。

智慧空间实验室 3929

什么是agent?大厂大模型必知的5种agent模式!

本文系统探讨了大模型Agent(智能体)的定义、工作模式和应用优势。Agent被定义为通过大模型模拟人类行为、使用工具完成任务的能力,其核心组件包括规划、记忆和工具使用。文中介绍了五种典型Agent模式:反射模式、工具使用模式、ReAct模式、规划模式和多智能体模式。重点分析了Agent的四大优势:1)降低应用开发门槛,使非技术人员也能创建功能;2)简化流程复杂度,大模型作为"胶水"连接各模块;3)支持多样交互方式,不限于自然语言;4)多Agent协同可完成复杂任务。

2401_85375151的博客 3227

Aurix TC3xx系列MCU ADC模块简介(一)

简单介绍英飞凌Aurix TC3xx系列单片机ADC模块的特点及内部结构。

m0_38045338的博客 6361

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

一篇搞明白:5种Agent模式

一篇搞明白:5种Agent模式

m0_48891301的博客 1479

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

2024版最新大模型agent原理图解,大模型入门到精通,收藏这篇就够了

大模型 Agent,作为一种人工智能体,是具备环境感知能力、自主理解、决策制定及执行行动能力的智能实体。简而言之,它是构建于大模型之上的计算机程序,能够模拟独立思考过程,灵活调用各类工具,逐步达成预设目标的智能存在。Agent 是 AI 大模型应用的主要新形态,在技术架构范式也发生了很大的变化,从面向过程的架构变成了面向目标架构。**2**_—_

leah126的博客 2042

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

4 种主流Agent 设计模式及应用场景

AI Agent 是一种人工智能系统,它能够在一定程度上自主地执行任务、做出决策并与之交互。与传统的人工智能模型相比,AI Agent 通常被设计为更加灵活和适应性强的实体,它们能够理解复杂的指令,甚至在没有明确编程的情况下解决问题。Agent 通过迭代的对话和反思过程,能够自我改进和优化输出,从而在多种应用场景中提供更加精准和个性化的服务。随着技术的进步,AI Agent 的能力正在不断扩展,预示着未来它们将在自动化、数据分析、用户体验优化等领域发挥更加关键的作用。

lvaolan168的博客 1607

一文详细拆解Agent工作原理|Agent研究

这是一种更可靠地将GPT的功能与外部工具和API相连的新方法,允许开发者更可靠地从模型中获得结构化的数据,为AI开发者提供了方便。向量数据库强大的检索功能就是基于向量相似度计算而达成的,是一种模糊匹配的检索,没有标准的准确答案,进而更高效地支撑更广泛的应用场景。本文通过详细拆解Agent从提示词接收、LLM大模型理解识别、知识库匹配、任务规划到行动执行等五个关键步骤,从而深入剖析Agent的工作原理,另外也将目前市面上Agent产品的能力项汇总,希望给大家带来一些启示。

企业级智能体,全行业解决方案,5000+企业签约,海量场景覆盖。 1万+

大厂大模型必知的5种agent模式

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。天道酬勤,你越努力,就会成为越优秀的自己。

m0_59235945的博客 1381

基于大模型的 Agent 进行任务规划的10种方式

基于大模型的 Agent 基本组成应该包含规划(planning),工具(Tools),执行(Action),和记忆(Memory)四个方面,上一篇中多轮对话中让AI保持长期记忆的8种优化方式(附案例和代码)重点讲了进行长记忆管理的 8 种方案,本节将从 Agent 概念、ReAct 框架、示例、以及一些论文思路来具体聊下任务规划的话题,同时会辅以代码帮助理解,欢迎大家一起探讨。

weixin_43829633的博客 4021
上一篇: 我日常是如何使用LLM工具的:你的LLM工具没用起来,可能是因为方法不对。
下一篇: 大型语言模型(LLMs)是怎样“学习”的?一封给网络工程师的大模型指南
我爱学大模型
博客等级 码龄3年 7883粉丝 687原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值