我最喜欢的 10 个 Agent 设计模式
AI Agent界的10个「绝世武功」:从入门到落地的实用设计模式
关键词
AI Agent设计模式、多Agent协作、ReAct、Plan-and-Execute、AutoGPT变种、Few-Shot Agent、记忆增强Agent、角色导向Agent、任务分解Agent、工具调用Agent、安全控制Agent
摘要
从ChatGPT的单轮对话到AutoGPT的自主探索,再到现在落地于企业的智能客服、智能办公助手、金融风控预警系统,Agent(智能体) 正在从「实验室玩具」变成「数字生产力」。但Agent开发绝不是把大模型+联网搜索+计算器随便堆在一起就行——就像写代码需要设计模式(比如单例、工厂、观察者)来保证可扩展性、可维护性和鲁棒性,Agent开发同样有一套沉淀下来的「思维框架」和「最佳实践」,我们称之为「Agent设计模式」。
这篇文章将像武侠小说讲绝世武功一样,拆解我在过去2年Agent开发实战中最喜欢、最实用的10个核心设计模式:
- 从「试错式探索」到「可控式推理」的ReAct模式
- 把「复杂任务」拆成「简单步骤」再逐个执行的Plan-and-Execute模式
- 适合新手入门但潜力巨大的Few-Shot Few-Shot Agent模式(双重Few-Shot)
- 让Agent「记住过去」「学习经验」的长期记忆+短期工作记忆增强模式
- 赋予Agent「明确身份、性格、专业知识」的角色导向Agent模式
- 复杂任务交给「专家团队」而非「全能选手」的多Agent协作之分层决策模式
- 多Agent协作中「各司其职、有序沟通」的多Agent协作之消息队列模式
- 防止Agent「胡作非为」「泄露隐私」的安全控制Agent模式
- 让Agent「能操作Excel、发邮件、订机票」的多工具聚合+工具选择优化模式
- 从「失败案例中吸取教训」的自我反思Agent模式
每个模式我都会:
- 用武侠类比/生活场景比喻讲清楚「是什么」
- 用Mermaid流程图/ER图/架构图讲清楚「怎么工作」
- 用Python+LangChain v0.3.x写一段「可运行的极简代码」(不是玩具级的演示,是能直接用到项目里的原型)
- 用真实落地案例讲清楚「适合什么场景」「避坑指南是什么」
- 最后用核心属性对比表把10个模式放在一起,帮你快速选对模式
这篇文章适合所有想入门或进阶Agent开发的开发者、产品经理、技术负责人——哪怕你是第一次接触LangChain,只要跟着一步步走,也能写出第一个能用的Agent。全文约12000字,建议收藏后慢慢读,配合代码练习效果更佳!
第一章 背景介绍:为什么我们需要Agent设计模式?
核心概念
本章的核心概念是:Agent开发的痛点、设计模式在Agent开发中的作用。
问题背景
1.1.1 Agent的爆发:从ChatGPT到「数字员工」
2022年11月ChatGPT发布,开启了通用人工智能(AGI)的「序章」;2023年3月AutoGPT发布,第一次让普通用户看到了「Agent能自主完成任务」的可能性——比如搜索最新的AI新闻、写一篇2000字的分析报告、甚至用Python代码修复自己的bug;2023年下半年到2024年,Agent开始从C端的「玩具」落地到B端的「数字生产力工具」:
- 电商行业:用Agent做智能选品、智能客服、智能物流调度;
- 金融行业:用Agent做金融情报收集、股票分析、风控预警;
- 教育行业:用Agent做个性化学习助手、作文批改、编程助教;
- 企业内部:用Agent做智能文档整理、会议纪要生成、代码审查、运维告警处理。
根据Gartner的预测,到2027年,全球将有超过70%的企业使用3个以上的Agent来完成日常工作——Agent已经成为AI应用落地的「核心载体」。
1.1.2 Agent开发的「三大痛点」
但Agent开发远没有想象中那么简单——在我过去2年的实战中,见过太多项目「初期很美好,中期走偏了,后期烂尾了」,总结下来主要有三大痛点:
痛点1:「全能选手」的幻觉
很多新手开发者一开始都会想:「我要做一个能解决所有问题的超级Agent!」——但实际上,没有任何一个大模型(哪怕是GPT-4o、Claude 3.5 Sonnet)是真正的「全能选手」:
- 大模型没有「实时信息」——比如问GPT-4o「今天的上证指数是多少?」,它只会回答「我没有实时数据访问权限」;
- 大模型没有「精确计算能力」——比如问它「3.1415926 × 2.7182818 × 1000000 ÷ 7」,它可能会给你一个近似值,但如果是做金融风控的精确计算,这个近似值就会带来巨大的风险;
- 大模型没有「操作外部系统的能力」——比如问它「帮我给张总发一封邮件,主题是‘今天的会议推迟到下午3点’」,它只会给你写一封邮件的模板,但不会真的登录你的邮箱发送;
- 大模型经常「胡言乱语」(专业术语叫「幻觉」)——比如问它「2024年诺贝尔物理学奖得主是谁?」(假设现在还没公布),它可能会编一个假名字出来。
痛点2:「自主探索」的不可控
AutoGPT的核心逻辑是「自主探索」——给它一个目标,它会自己思考「下一步该做什么」「用什么工具」「怎么验证结果」,直到目标完成。但「自主探索」在企业级场景中是绝对不可接受的:
- 它可能会「泄露隐私」——比如为了写一篇分析报告,它会自动登录你的企业网盘,下载所有相关的机密文档;
- 它可能会「浪费资源」——比如为了搜索一条新闻,它会连续调用几十次API,花掉几百块钱;
- 它可能会「做出错误的决策」——比如为了完成「股票收益最大化」的目标,它可能会把你的所有钱都投入到一只高风险的股票里;
- 它可能会「卡在循环里出不来」——比如它会先搜索「什么是AI Agent」,然后再搜索「AI Agent的定义」,接着又搜索「AI Agent是什么意思」,无限循环。
痛点3:「代码混乱」的不可维护
很多新手开发者写Agent代码时,都是「想到哪写到哪」——把大模型调用、工具调用、记忆处理、逻辑判断都堆在一个Python文件里,可能一开始只有几百行代码,还能看懂,但过了几个月,代码变成了几千行甚至几万行,连自己都看不懂了,更别说维护和升级了:
- 比如你想换一个大模型(从GPT-4o换成Claude 3.5 Sonnet),你需要把所有调用大模型的地方都改一遍;
- 比如你想加一个新工具(从「联网搜索」变成「联网搜索+天气预报+股票查询」),你需要把所有工具选择的逻辑都改一遍;
- 比如你想加一个安全控制(比如不能下载企业网盘的机密文档),你需要把所有逻辑判断的地方都插一段代码进去。
问题解决:Agent设计模式的「三大作用」
设计模式最早是由GoF(Gang of Four,四人帮)在1994年出版的《设计模式:可复用面向对象软件的基础》一书中提出的——它是「在软件设计中针对特定问题的可复用解决方案」。同样,Agent设计模式就是「在Agent开发中针对特定问题的可复用思维框架和最佳实践」。
Agent设计模式的核心作用有三个:
作用1:解决「全能选手的幻觉」——让Agent「做自己擅长的事」
通过设计模式,我们可以把「复杂的任务」拆成「简单的步骤」,把「全能的目标」拆成「多个专业的子目标」,让不同的Agent(或不同的模块)「做自己擅长的事」——比如让「搜索专家Agent」负责搜索实时信息,让「计算专家Agent」负责精确计算,让「邮件专家Agent」负责发送邮件,让「验证专家Agent」负责验证结果是否正确。
作用2:解决「自主探索的不可控」——让Agent「在规则内做事」
通过设计模式,我们可以给Agent设定「明确的规则」「明确的边界」「明确的目标」,让Agent「在规则内自主探索」,而不是「无限制的自主探索」——比如设定「最多调用10次API」「只能访问公开的网站」「不能下载超过10MB的文档」「每一步都要验证结果」。
作用3:解决「代码混乱的不可维护」——让Agent「代码结构清晰、可复用、可扩展」
通过设计模式,我们可以把Agent代码「模块化」「分层化」「解耦化」——比如把「大模型调用」封装成一个模块,把「工具调用」封装成一个模块,把「记忆处理」封装成一个模块,把「逻辑判断」封装成一个模块,模块之间通过明确的接口进行通信,这样你想换一个大模型、加一个新工具、加一个安全控制,都只需要修改对应的模块,而不需要修改整个代码库。
目标读者
这篇文章适合以下三类人群:
- Agent开发新手:没有接触过LangChain或Agent开发,想从「零基础」入门的开发者;
- Agent开发进阶者:已经写过一些简单的Agent,但遇到了「幻觉多」「不可控」「代码乱」的问题,想进一步提升的开发者;
- 产品经理/技术负责人:想了解Agent开发的「最佳实践」,想规划Agent产品的「技术架构」的产品经理或技术负责人。
章节核心要素总结
| 核心要素 | 内容 |
|---|---|
| 核心概念 | Agent开发的痛点、设计模式在Agent开发中的作用 |
| 问题背景 | Agent的爆发、Agent开发的三大痛点(全能选手的幻觉、自主探索的不可控、代码混乱的不可维护) |
| 问题解决 | Agent设计模式的三大作用(解决幻觉、解决不可控、解决不可维护) |
| 目标读者 | Agent开发新手、进阶者、产品经理/技术负责人 |
第二章 核心概念解析:什么是Agent?Agent的「五脏六腑」是什么?
核心概念
本章的核心概念是:Agent的定义、Agent的核心组成模块(大脑、感知器、效应器、记忆系统、工具库)、Agent的核心属性对比(自主决策能力、记忆能力、工具使用能力、协作能力、安全能力)、Agent的ER实体关系图、Agent的交互关系图。
问题背景
在讲Agent设计模式之前,我们必须先搞清楚「什么是Agent」——如果连Agent的定义都不清楚,那设计模式就成了「无源之水、无本之木」。
问题描述
什么是Agent?Agent的核心组成模块是什么?不同类型的Agent有什么区别?
问题解决:一步步解析Agent的「定义」和「五脏六腑」
2.4.1 什么是Agent?(武侠类比+学术定义)
武侠类比
我们可以把Agent想象成武侠小说里的「侠客」:
- 侠客的「大脑」:就是Agent的「大语言模型(LLM)」——负责思考、推理、决策;
- 侠客的「眼睛、耳朵」:就是Agent的「感知器」——负责接收外部信息(比如用户的提问、实时的新闻、天气的变化);
- 侠客的「手、脚、武器」:就是Agent的「效应器」和「工具库」——负责执行决策(比如发邮件、写代码、搜索信息、计算数学题);
- 侠客的「记忆」:就是Agent的「记忆系统」——负责记住「过去的经历」(比如和用户的对话历史)、「学到的经验」(比如上次做类似任务的方法)、「外部的知识」(比如维基百科的内容);
- 侠客的「江湖规矩」:就是Agent的「安全控制模块」——负责约束侠客的行为(比如不能滥杀无辜、不能偷东西)。
学术定义
在人工智能领域,Agent的经典定义是由Russell和Norvig在《人工智能:一种现代的方法》一书中提出的:
Agent是一个能够通过传感器感知环境,并通过效应器作用于环境的实体。
这个定义虽然很简洁,但涵盖了Agent的「三大核心特征」:
- 感知能力:能够接收外部环境的信息;
- 决策能力:能够根据感知到的信息做出决策;
- 行动能力:能够根据决策作用于外部环境。
但在今天的「大模型时代」,Agent的定义已经被「扩展」了——我们可以把「大模型时代的Agent」定义为:
大模型时代的Agent是一个以大语言模型(LLM)为核心大脑,结合了感知器、效应器、记忆系统、工具库、安全控制模块的,能够自主或半自主地完成特定目标的智能实体。
这个扩展后的定义增加了「大语言模型为核心大脑」「自主或半自主完成特定目标」「记忆系统」「工具库」「安全控制模块」这几个关键要素——这也是今天我们开发Agent时必须考虑的。
2.4.2 Agent的「五脏六腑」:核心组成模块(Mermaid架构图)
根据扩展后的定义,大模型时代的Agent主要由6个核心组成模块构成——我们可以用Mermaid架构图把它们画出来:
下面我们来逐个解释这6个核心组成模块:
模块1:感知器(Sensor)
感知器是Agent的「眼睛、耳朵、鼻子」——负责接收外部环境的信息。
感知器的输入来源主要有三个:
- 用户:比如用户的提问、指令、反馈;
- 外部API/系统:比如天气API、股票API、邮箱系统、企业网盘、钉钉/企业微信;
- 外部数据库:比如维基百科、金融数据库、企业内部知识库、用户历史行为数据库。
感知器的输出是「结构化的感知信息」——比如把用户的自然语言提问转换成「JSON格式的结构化指令」,把外部API返回的「非结构化的HTML」转换成「结构化的JSON」。
模块2:核心大脑(LLM)
核心大脑是Agent的「心脏、大脑中枢」——负责思考、推理、决策。
核心大脑的输入来源主要有三个:
- 感知器:结构化的感知信息;
- 记忆系统:历史对话、经验、知识;
- 工具库:工具返回的结果。
核心大脑的输出主要有五个:
- 思考/推理过程:比如「我需要先搜索今天的上证指数,然后再计算它的涨跌幅,最后给用户一个分析报告」;
- 安全验证请求:把自己的决策发给安全控制模块,验证是否符合规则;
- 工具调用请求:比如「调用‘联网搜索’工具,搜索‘2024年10月10日的上证指数’」;
- 执行指令:比如「调用效应器,给用户发一个‘搜索完成’的消息」;
- 更新记忆请求:比如「把今天的对话历史、搜索到的上证指数、分析报告都存到记忆系统里」。
今天我们开发Agent时,常用的核心大脑有:
- OpenAI系列:GPT-4o、GPT-4o Mini、GPT-4 Turbo、GPT-3.5 Turbo;
- Anthropic系列:Claude 3.5 Sonnet、Claude 3 Opus、Claude 3 Haiku;
- 谷歌系列:Gemini 1.5 Pro、Gemini 1.5 Flash;
- 国产系列:通义千问4.0、文心一言4.0、智谱清言GLM-4、讯飞星火4.0。
模块3:记忆系统(Memory)
记忆系统是Agent的「大脑皮层、海马体、硬盘」——负责记住「过去的经历」「学到的经验」「外部的知识」。
记忆系统一般分为三层(就像人类的记忆一样):
- 短期工作记忆(Short-Term Working Memory):就像人类的「大脑皮层」——负责记住「当前正在处理的信息」,比如「当前的对话轮次」「上一步的工具返回结果」,容量很小(一般只有几十到几百个token),保存时间很短(一般只有当前的对话结束就会清空);
- 长期对话记忆(Long-Term Conversation Memory):就像人类的「海马体」——负责记住「和用户的所有对话历史」,容量较大(一般可以存储几千到几万个token),保存时间较长(一般可以保存几天到几个月);
- 长期知识库记忆(Long-Term Knowledge Base Memory):就像人类的「硬盘」——负责记住「外部的知识」,比如维基百科的内容、企业内部的文档、用户的历史行为数据,容量非常大(可以存储几百万到几千万个token),保存时间非常长(可以永久保存)。
长期知识库记忆一般需要配合向量数据库(Vector Database) 使用——比如把外部知识切成「小片段(Chunk)」,然后用「嵌入模型(Embedding Model)」把每个小片段转换成「向量(Vector)」,存到向量数据库里;当Agent需要用到外部知识时,就把用户的提问转换成向量,然后在向量数据库里搜索「最相似的几个小片段」,把它们作为「上下文(Context)」发给核心大脑。
今天我们开发Agent时,常用的向量数据库有:
- 开源系列:ChromaDB、FAISS、Pinecone的开源替代品Qdrant、Weaviate;
- 托管系列:Pinecone、Weaviate Cloud、Zilliz Cloud(基于Milvus)。
常用的嵌入模型有:
- OpenAI系列:text-embedding-3-small、text-embedding-3-large、text-embedding-ada-002;
- Sentence-Transformers系列:all-MiniLM-L6-v2、all-mpnet-base-v2;
- 国产系列:通义千问的嵌入模型、文心一言的嵌入模型、智谱清言的嵌入模型。
模块4:工具库(Toolkit)
工具库是Agent的「武器库、工具箱」——负责给Agent提供「操作外部环境的能力」。
工具库中的工具可以分为三类:
- 内置工具:大模型或Agent框架自带的工具,比如「计算器」「代码解释器」;
- 第三方工具:通过API接入的外部工具,比如「联网搜索(Serper、Google Search API)」「天气查询(OpenWeatherMap)」「股票查询(Alpha Vantage)」「邮件发送(SendGrid)」「钉钉/企业微信消息发送」;
- 自定义工具:开发者自己写的工具,比如「企业网盘文档下载」「企业内部知识库查询」「Excel表格处理」「Python代码执行(沙箱环境)」。
今天我们开发Agent时,常用的Agent框架都有「工具封装库」——比如LangChain的LangChain Tools、LlamaIndex的LlamaHub,可以帮助我们快速接入几百种第三方工具。
模块5:安全控制模块(Safety Controller)
安全控制模块是Agent的「紧箍咒、江湖规矩、法律」——负责约束Agent的行为,防止Agent「胡作非为」「泄露隐私」「浪费资源」。
安全控制模块的功能主要有五个:
- 输入过滤:过滤用户的「恶意提问」「敏感提问」(比如「怎么制作炸弹」「怎么破解别人的密码」);
- 输出过滤:过滤核心大脑的「恶意输出」「敏感输出」「幻觉输出」;
- 工具调用控制:限制Agent「调用哪些工具」「调用工具的次数」「调用工具的参数」(比如只能调用「公开的联网搜索工具」,最多调用10次,不能搜索敏感关键词);
- 数据访问控制:限制Agent「访问哪些数据」「访问数据的权限」(比如只能访问企业网盘的「公开文件夹」,不能访问「机密文件夹」);
- 行为审计:记录Agent的「所有行为」(比如用户的提问、核心大脑的思考过程、工具调用的请求和结果、执行指令的内容),方便后续的「审计」和「调试」。
今天我们开发Agent时,常用的安全控制工具/框架有:
- OpenAI Moderation API:用于输入和输出的内容过滤;
- LangChain的Safety Chain:用于Agent的安全控制;
- NVIDIA NeMo Guardrails:用于Agent的安全控制和行为约束;
- 自定义的沙箱环境:用于执行Python代码,防止Agent「破坏系统」。
模块6:效应器(Actuator)
效应器是Agent的「手、脚、嘴巴」——负责执行核心大脑的决策,作用于外部环境。
效应器的输出主要有三个:
- 给用户的反馈:比如自然语言的回答、图表、视频;
- 给外部API/系统的请求:比如调用天气API、调用邮箱系统、调用钉钉/企业微信;
- 给外部数据库的请求:比如查询金融数据库、写入企业内部知识库。
2.4.3 Agent的核心属性对比(Markdown表格)
不同类型的Agent有不同的「核心属性」——我们可以用以下的「核心属性对比表」来区分它们:
| 核心属性 | 单轮对话Agent (比如普通的ChatGPT) |
多轮对话Agent (比如有短期记忆的ChatGPT) |
工具调用Agent (比如有联网搜索的ChatGPT) |
ReAct Agent (结合推理和行动的Agent) |
Plan-and-Execute Agent (先计划后执行的Agent) |
多Agent协作系统 (比如AutoGPT的变种) |
自我反思Agent (能从失败中吸取教训的Agent) |
|---|---|---|---|---|---|---|---|
| 自主决策能力 | ★☆☆☆☆ (没有自主决策,只能回答用户的提问) |
★☆☆☆☆ (没有自主决策,只能回答用户的提问) |
★★☆☆☆ (有一定的自主决策,能选择是否调用工具) |
★★★☆☆ (有较强的自主决策,能思考→行动→观察→思考循环) |
★★★☆☆ (有较强的自主决策,能先制定计划,再逐个执行步骤) |
★★★★☆ (有很强的自主决策,多个Agent能分工协作) |
★★★★★ (有最强的自主决策,能从失败中吸取教训,调整策略) |
| 记忆能力 | ★☆☆☆☆ (没有记忆,只能处理当前的单轮对话) |
★★☆☆☆ (有短期对话记忆,能处理多轮对话) |
★★☆☆☆ (有短期对话记忆,能处理多轮对话) |
★★★☆☆ (有短期对话记忆+短期工作记忆,能记住思考过程和行动结果) |
★★★☆☆ (有短期对话记忆+短期工作记忆,能记住计划和执行步骤) |
★★★★☆ (有短期对话记忆+短期工作记忆+长期知识库记忆,多个Agent能共享记忆) |
★★★★★ (有短期对话记忆+短期工作记忆+长期知识库记忆+长期经验记忆,能记住失败的教训) |
| 工具使用能力 | ★☆☆☆☆ (没有工具使用能力,只能用内置的知识) |
★☆☆☆☆ (没有工具使用能力,只能用内置的知识) |
★★★★☆ (有很强的工具使用能力,能选择和调用多个工具) |
★★★★☆ (有很强的工具使用能力,能在思考→行动→观察→思考循环中调用工具) |
★★★★☆ (有很强的工具使用能力,能在执行步骤中调用工具) |
★★★★★ (有最强的工具使用能力,多个Agent能分工使用不同的工具) |
★★★★★ (有最强的工具使用能力,能根据经验调整工具的使用方式) |
| 协作能力 | ★☆☆☆☆ (没有协作能力,只能单独工作) |
★☆☆☆☆ (没有协作能力,只能单独工作) |
★☆☆☆☆ (没有协作能力,只能单独工作) |
★☆☆☆☆ (没有协作能力,只能单独工作) |
★★☆☆☆ (有一定的协作能力,计划模块和执行模块能协作) |
★★★★★ (有最强的协作能力,多个Agent能分工协作、有序沟通) |
★★★★☆ (有很强的协作能力,能和其他Agent或用户协作调整策略) |
| 安全能力 | ★★☆☆☆ (有一定的安全能力,只能靠大模型的内置过滤) |
★★☆☆☆ (有一定的安全能力,只能靠大模型的内置过滤) |
★★★☆☆ (有较强的安全能力,能靠工具调用控制) |
★★★☆☆ (有较强的安全能力,能靠工具调用控制和思考过程监控) |
★★★★☆ (有很强的安全能力,能靠计划审核和工具调用控制) |
★★★★☆ (有很强的安全能力,能靠安全控制Agent) |
★★★★★ (有最强的安全能力,能靠安全控制Agent和自我反思) |
| 鲁棒性 | ★☆☆☆☆ (鲁棒性很差,很容易产生幻觉) |
★★☆☆☆ (鲁棒性一般,多轮对话后容易产生幻觉) |
★★★☆☆ (鲁棒性较强,能通过工具验证结果) |
★★★★☆ (鲁棒性很强,能通过思考→行动→观察→思考循环验证结果) |
★★★★☆ (鲁棒性很强,能通过计划审核和步骤验证) |
★★★★★ (鲁棒性最强,能通过多个Agent的交叉验证) |
★★★★★ (鲁棒性最强,能通过自我反思调整策略) |
| 可扩展性 | ★★★☆☆ (可扩展性较强,代码结构简单) |
★★★☆☆ (可扩展性较强,代码结构简单) |
★★★☆☆ (可扩展性较强,代码结构比较清晰) |
★★★★☆ (可扩展性很强,代码结构清晰) |
★★★★☆ (可扩展性很强,代码结构清晰,计划和执行分离) |
★★★★★ (可扩展性最强,模块化程度高,容易添加新的Agent) |
★★★★★ (可扩展性最强,模块化程度高,容易添加新的反思模块) |
| 开发难度 | ★☆☆☆☆ (开发难度很低,只需要调用大模型API) |
★★☆☆☆ (开发难度较低,只需要调用大模型API+短期记忆) |
★★★☆☆ (开发难度中等,需要调用大模型API+短期记忆+工具库) |
★★★★☆ (开发难度较高,需要调用大模型API+短期记忆+工具库+ReAct逻辑) |
★★★★☆ (开发难度较高,需要调用大模型API+短期记忆+工具库+Plan-and-Execute逻辑) |
★★★★★ (开发难度很高,需要调用大模型API+记忆系统+工具库+多Agent协作逻辑) |
★★★★★ (开发难度很高,需要调用大模型API+记忆系统+工具库+自我反思逻辑) |
2.4.4 Agent的ER实体关系图(Mermaid ER图)
为了更清楚地理解Agent的「核心组成模块」之间的「实体关系」,我们可以用Mermaid ER图把它们画出来:
2.4.5 Agent的交互关系图(Mermaid Sequence Diagram)
为了更清楚地理解Agent的「核心组成模块」之间的「交互过程」,我们可以用Mermaid Sequence Diagram(时序图)把一个「简单的工具调用Agent的交互过程」画出来——比如用户问「今天的上证指数是多少?」,Agent调用「联网搜索工具」搜索答案,然后返回给用户:
边界与外延
2.5.1 Agent与Chatbot的区别
很多人会把「Agent」和「Chatbot(聊天机器人)」混淆——其实它们是两个完全不同的概念:
| 对比项 | Chatbot(聊天机器人) | Agent(智能体) |
|---|---|---|
| 核心目标 | 回答用户的提问、完成简单的对话任务 | 自主或半自主地完成特定的复杂目标 |
| 核心能力 | 自然语言理解(NLU)、自然语言生成(NLG) | 自然语言理解(NLU)、自然语言生成(NLG)、自主决策、工具使用、记忆、协作 |
| 典型例子 | 普通的客服聊天机器人、FAQ聊天机器人 | AutoGPT、LangChain的ReAct Agent、企业内部的智能文档整理Agent |
2.5.2 Agent的外延:从「单Agent」到「多Agent系统」
Agent的外延很广——从「简单的单轮对话Agent」到「复杂的多Agent系统」:
- 单Agent系统:只有一个Agent,单独完成任务——比如有联网搜索的ChatGPT、LangChain的ReAct Agent;
- 多Agent系统(Multi-Agent System, MAS):有多个Agent,分工协作完成任务——比如AutoGPT的变种(有「计划Agent」「执行Agent」「验证Agent」「反思Agent」)、企业内部的「智能办公助手系统」(有「日程管理Agent」「会议纪要生成Agent」「文档整理Agent」「邮件处理Agent」)。
本章小结
在这一章中,我们主要讲了以下几个内容:
- 什么是Agent:用「武侠类比」和「学术定义」讲清楚了Agent的概念——大模型时代的Agent是一个以大语言模型为核心大脑,结合了感知器、效应器、记忆系统、工具库、安全控制模块的,能够自主或半自主地完成特定目标的智能实体;
- Agent的「五脏六腑」:用「Mermaid架构图」逐个解释了Agent的6个核心组成模块——感知器、核心大脑、记忆系统、工具库、安全控制模块、效应器;
- Agent的核心属性对比:用「Markdown表格」对比了8种不同类型的Agent的核心属性——自主决策能力、记忆能力、工具使用能力、协作能力、安全能力、鲁棒性、可扩展性、开发难度;
- Agent的ER实体关系图和交互关系图:用「Mermaid ER图」讲清楚了Agent的核心组成模块之间的实体关系,用「Mermaid Sequence Diagram」讲清楚了一个简单的工具调用Agent的交互过程;
- 边界与外延:讲清楚了Agent与Chatbot的区别,以及Agent的外延——从「单Agent」到「多Agent系统」。
下一章,我们将开始讲第一个Agent设计模式——ReAct模式,这是Agent开发中最基础、最实用、最经典的设计模式之一!
更多推荐

所有评论(0)