AI智能体开发实战:17种核心架构模式详解与Python代码实现

B站影视 内地电影 2025-09-26 21:02 1

摘要:在构建一个大规模 AI 系统时,我们其实就是在把不同的“智能体设计模式(agentic design patterns)”组合起来。不管系统多复杂都可以拆解成有限的几种"设计模式"。这些模式各有各的用法——有的专门负责思考优化,有的处理工具调用,有的管多智能体

在构建一个大规模 AI 系统时,我们其实就是在把不同的“智能体设计模式(agentic design patterns)”组合起来。不管系统多复杂都可以拆解成有限的几种"设计模式"。这些模式各有各的用法——有的专门负责思考优化,有的处理工具调用,有的管多智能体协作。

主要就这么几类:多智能体系统让不同角色分工协作;集成决策让多个智能体投票选最优解;思维树(ToT)探索多条推理路径再择优;反思式架构能自我审视和改进;ReAct循环在思考与行动间迭代。

本文将逐一深入解析这17种不同的智能体架构,不仅阐述其核心原理和设计思想,还将通过完整的代码实现来演示其工作机制,并用真实数据验证每种架构的实际效果和适用场景。

环境配置

开始之前得把工具链搞定。现在的RAG或智能体系统,LangChain、LangGraph和LangSmith基本成了标配——前者提供基础组件,LangGraph负责编排流程,LangSmith可以进行调试和监控。

导入

为了作为演示,我还接了Tavily API做实时搜索,避免智能体被训练数据的时效性限制住。每月1000次调用的免费额度已经够用了了。

环境变量这样配:

反思架构(Reflection)

反思可能是智能体工作流里最基础也最实用的模式。核心思路就是让智能体"退一步看自己的输出,然后想办法改进"。

这个模式特别适合那种对结果质量要求很高的场景,比如生成复杂代码、写技术文档什么的。如果只给个草稿通常质量都不好,所以需要这个模式。

流程非常简单:

生成(Generate):基于用户需求先出个初版

批判(Critique):切换视角,从代码审查员的角度挑毛病

精炼(Refine):基于批评意见,输出改进版本

实现上用Pydantic模型来约束LLM的输出格式,这样多步骤之间的数据传递会更稳定:

Critique这个模型设计得比较巧妙,它强制智能体必须从错误检查、效率评估等具体维度来审视代码,而不是泛泛地说"看起来还行",这样保证了检查的质量。

拿经典的斐波那契数列来测试效果。这个问题很适合:因为简单递归容易写但效率极差,改进空间明显。

数据说明反思机制确实有效果,不是简单的表面修改。

工具调用架构(Tool Using)

没有外部工具的话,LLM只能依赖训练时的知识,无法访问实时数据或执行具体操作。工具调用架构就是为了解决这个问题。在生产级AI系统中,这几乎是必需的——不管是客服查询订单、金融系统获取股价,还是代码生成器执行测试都离不开工具集成。

流程如下:

接收查询:智能体收到用户请求

决策分析:判断是否需要调用工具来获取信息

工具调用:按正确格式执行工具调用

结果处理:获取工具输出并整合

生成回复:结合工具结果给出最终答案

我们需要先配置一个搜索工具。这里用TavilySearch,并且工具描述要写清楚,LLM会根据这个自然语言描述来判断什么时候该用:

整个流程很非常简单:智能体分析问题→判断需要搜索→执行搜索→整合信息→给出答案。

工具调用架构的价值在于让智能体突破训练数据的限制,能够获取实时信息并执行具体操作。这是几乎所有实用AI系统的基础能力。

ReAct循环:推理与行动的迭代

前面的工具调用架构解决了信息获取问题,但还是"一次性"的:判断→调用→回答。当遇到需要多步骤、相互依赖的复杂问题时单次工具调用往往不够。

ReAct(Reason + Act)的核心在于循环:思考下一步→执行行动→观察结果→重新思考。它把静态的工具调用者变成了动态的问题求解器。

流程:

接收复杂任务

推理(Reason):分析当前状态,决定下一步行动

行动(Act):调用相应工具

观察(Observe):获取行动结果

重复2-4,直到问题解决

所以大部分组件可以复用之前的代码。关键差异在于图结构——工具执行后要回到智能体节点,而不是直接结束:

就是这一行代码的改动,让我们的智能体具备了多步推理能力。

ReAct架构的价值在于将简单的工具调用扩展为复杂的问题解决能力,这在需要多步推理的任务中至关重要。

规划式架构(Planning)

ReAct在探索未知问题时很有效,但对于步骤相对固定的任务就显得有些低效了——就像每走一步都要停下来问路,而不是先看完整个地图。

规划式架构的价值就在于"先想后做":在执行任何动作前,先制定完整的执行计划。

这种方式特别适合那些步骤可预期的结构化任务,比如数据处理流水线、报告生成,或者任何能提前确定步骤顺序的工作。它的好处是过程可预测,智能体行为更容易追踪和调试。

工作流程:

接收目标任务

规划:专门的规划器分析任务,生成有序的子任务列表

执行:执行器按顺序逐步执行,需要时调用工具

汇总:将所有步骤的结果组装成连贯的最终答案

规划式架构在解题路径明确的场景下,通常比纯反应式方法更结构化、更高效。

PEV架构:加入验证环节的规划执行

前面的规划架构在步骤明确的情况下效果不错,但有个隐含的假设——所有工具调用都会正常工作。实际情况往往不是这样:API可能失败,搜索结果可能不相关,工具输出可能有错误。

PEV(Planner-Executor-Verifier)架构在规划执行的基础上加入了验证和纠错机制,可以解决这个问题。

当智能体需要与不太可靠的外部工具交互时,PEV能够构建更健壮的工作流。

流程是这样的:

规划:生成执行步骤

执行:调用工具完成某个步骤

验证:检查工具输出的正确性和相关性

路由决策:根据验证结果决定下一步行动

PEV的价值不仅在于正常情况下能完成任务,更重要的是在异常情况下能避免错误结果。

思维树架构(Tree-of-Thoughts)

前面的架构基本都是线性的:生成一个计划然后按步执行。但如果问题像迷宫一样,有死路和多条可能的路径怎么办?

思维树(ToT)的核心在于并行探索多条推理路径,而不是押注单一方案。它会同时生成多个可能的下一步,评估各自的前景,剪掉不行的分支,沿着最有希望的方向继续扩展。

这种方式特别适合那些需要回溯和试错的复杂问题,比如路径规划、调度优化或者逻辑谜题。

ToT的工作流程:

问题分解:把复杂问题拆成步骤序列生成想法:在当前状态下生成多个可能的下一步状态评估:评估每个候选步骤的有效性和前景修剪扩展:去掉无效分支,从优质分支继续扩展求解:某个分支达到目标就得到解答

用经典的"狼羊菜过河"谜题来演示ToT。这个问题需要一些反直觉的操作(比如把东西带回去),而且存在明确的无效状态,很适合展示ToT的搜索能力。

ToT的价值在于能够系统性地探索问题空间,在复杂的搜索问题中找到其他方法可能错过的解决方案。

多智能体系统(Multi-Agent Systems)

到目前为止,所有架构都是"单打独斗"——一个智能体承担所有工作。但在现实的复杂系统中,往往需要不同的专家各司其职。

多智能体系统让不同的智能体专门负责不同的任务领域,然后协作完成复杂目标。就像一个软件开发团队:有人负责前端、有人搞后端、有人做测试,最后集成出完整产品。

多智能体架构的优势在于:

专业化分工:每个智能体可以针对特定领域优化

并行处理:多个智能体可以同时工作

模块化设计:容易添加新的专家角色

容错性:单个智能体的失败不会影响整个系统

基本的工作流程:

任务分发:协调器分析任务,分派给合适的专家

并行执行:各专家在自己的领域内独立工作

结果汇总:收集各专家的输出

最终整合:生成统一的最终答案

多智能体系统的优势在于每个专家都能从自己的视角深入分析,最后形成全面的见解。

多智能体系统特别适合那些需要多角度分析的复杂任务,单一智能体很难同时在所有领域都做到专业级别。

元控制器架构(Meta-Controller)

前面的多智能体系统虽然有效,但路由逻辑比较固定——总是调用所有专家。但如果用户只需要特定类型的分析呢?这就浪费了计算资源和时间。

元控制器就是"智能调度器",它能根据具体任务需求,动态决定调用哪些专家。

这种架构在大型AI系统中非常常见,特别是当系统有很多专门化模块时。元控制器作为入口点,负责理解用户意图并分派到合适的处理单元。

基本流程:

接收用户请求

分析任务类型和需求

选择最适合的专家

将任务分派给选中的专家

返回专家的处理结果

执行轨迹展示了智能路由:

测试请求: 你好,今天天气怎么样? --- 元控制器分析中... --- 路由决策: 分派给 GeneralChat 原因: 这是一个简单的问候,适合通用对话处理 测试请求: 帮我写一个计算斐波那契数列的Python函数 --- 元控制器分析中... --- 路由决策: 分派给 CodeGenerator 原因: 用户明确要求编写Python代码

元控制器的价值在于提高系统效率和可扩展性——只调用必要的专家,避免不必要的计算开销,同时保持系统的模块化设计。

黑板架构(Blackboard)

前面的架构都有个限制:路线相对固定。元控制器虽然能动态选择专家,但选择后就结束了。如果任务需要多个专家协作,而且下一步的选择要基于前面专家的发现呢?

黑板架构提供了一种更灵活的协作方式。想象一群专家围着一块黑板,每个人都能看到别人的工作成果,控制器根据当前状态动态决定下一个发言者。

这种模式特别适合那些解决路径不确定的复杂问题,比如诊断分析、策略制定等。每个新发现都可能改变后续的分析方向。

黑板的核心组件:

共享工作区(黑板):存储所有中间发现和分析结果

专家智能体:各自专注特定领域,能读写黑板

动态控制器:持续评估黑板状态,决定下一步行动

迭代协作:专家依次贡献,直到问题解决

黑板架构的优势在于灵活性和适应性——系统能根据分析进展动态调整策略,专家之间的协作更加自然和高效。

集成决策架构(Ensemble Decision-Making)

前面的架构虽然有团队协作,但本质上还是"单线推理"产生答案。考虑到LLM的不确定性——同一个提示多次运行可能给出不同结果,在高风险场景下需要更可靠的决策机制。

集成决策基于"群体智慧"原理:并行运行多个具有不同"性格"的智能体,然后由汇总者综合各自的输出,形成更稳健的结论。

这种方式特别适合关键决策场景,比如投资委员会、医疗诊断等。多个独立视角能显著降低单一智能体的偏见或幻觉导致的错误。

基本流程:

扇出阶段:将同一问题并行分发给多个专家

独立分析:各专家基于不同视角独立完成分析

扇入收集:收集所有专家的输出结果

综合决策:汇总者权衡不同观点,给出最终结论

集成决策的价值在于能够平衡不同视角,避免单一观点的局限性,在不确定环境中做出更可靠的决策。

情景记忆与语义记忆架构

到目前为止的智能体都有个致命缺陷:没有长期记忆。对话一结束就忘得一干二净,无法建立真正的个性化关系。

要构建能够与用户共同成长的智能助手,就必须赋予它两种类型的记忆,这正是"情景+语义记忆架构"要解决的问题。

这种设计模仿了人类的认知方式:

情景记忆:具体事件和对话的记录,回答"发生了什么?"

语义记忆:从事件中提取的结构化知识和关系,回答"我知道什么?"

在实际系统中,情景记忆通常用向量数据库实现,语义记忆用知识图谱承载。

基本流程:

交互阶段:智能体与用户对话

记忆检索:处理新查询时同时检索两种记忆

增强生成:基于检索到的记忆生成个性化回复

记忆更新:分析对话内容,更新两种记忆存储

这种记忆架构让智能体从"健忘的工具"进化为"记住用户的伙伴",是构建长期AI关系的关键技术。

图记忆:世界模型的构建

前面的记忆架构能记住对话和事实,但对于复杂的实体关系网络理解还不够深入。图记忆架构就是为了构建更完整的"世界模型"。

它不只是存储离散的事实,而是将信息构建成一个结构化的关系网络,让智能体能够进行复杂的多跳推理。

这种架构特别适合需要理解复杂实体关系的场景,比如企业情报分析、法律案例研究等。通过构建完整的知识图谱,系统能够回答那些需要跨越多个信息片段才能解答的复杂问题。

基本流程:

信息摄取:读取非结构化文本(新闻、报告等)

知识抽取:使用LLM解析文本,识别实体和关系

图构建:将抽取的信息构建成知识图谱

智能问答:将自然语言问题转换为图查询并执行

查询引擎负责将自然语言转换为图查询:

系统成功地将问题拆解为多步推理:从BetaSolutions找到收购方AlphaCorp,再找到在AlphaCorp工作的人员。

这种图记忆架构让智能体从简单的信息检索进化为真正的关系推理,能够处理需要跨越多个信息节点的复杂查询。

自我改进循环:类RLHF机制

到目前为止的智能体都是"静态"的——今天什么样,明天还是什么样。要让系统真正能够学习和进步,就需要构建"自我改进循环"。

这个架构模仿了人类的学习过程:做事→获得反馈→改进。智能体的输出会被立即评审,如果不达标就根据具体反馈进行修订,直到满足要求为止。

这种机制是让AI系统从"还不错"提升到"专家级"的关键途径。通过不断的反馈和迭代,系统能够积累经验,在后续任务中表现得更好。

基本流程:

生成初稿:基础智能体产出初版内容

批评评审:评审智能体按严格标准打分并提供反馈

条件判断:检查分数是否达到接受阈值

迭代修订:如果不达标,根据反馈进行修订

循环结束:达标后保存最终版本

以营销邮件写作为例,构建生成-批评-修订的循环:

通过结构化的反馈循环,智能体能够从低质量的初稿迅速改进到高质量的最终版本。这种机制让AI系统具备了真正的"学习"能力。

预演安全机制(Dry-Run Harness)

当智能体具备了执行真实世界操作的能力(如发送邮件、发布内容)时,安全控制就变得至关重要。预演安全机制的核心原则是"先看后跳"——在实际执行前先模拟运行。

这种架构在任何需要执行不可逆操作的AI系统中都是必需的,它是从实验原型升级为生产级可信系统的关键安全措施。

工作流程:

提议行动:智能体决定执行某个操作

预演模拟:以干运行模式执行,只输出计划不实际操作

人工审核:展示预演结果,等待审批

条件执行:根据审核结果决定真实执行或取消

关键是工具必须支持dry_run模式:

预演机制成功拦截了可能引起争议的内容,展现了这种安全架构的价值。在生产环境中,这种机制能够防止AI系统执行不当或有害的操作,确保人类始终掌握最终控制权。

仿真器架构:内置心理模型的循环

前面的PEV架构能在工具失败时调整计划,但它假设"世界在步骤之间保持静态"。在动态环境(比如股市)中,情况在持续变化,行动结果充满不确定性。

仿真器架构为智能体注入了"内在世界模型":在安全的内部沙盒中运行"假设性"场景,预估行动后果,细化计划,然后在现实中执行更稳健的决策。

这种架构对于高风险决策至关重要,特别是在机器人控制、量化交易、医疗方案等领域。它让智能体能够"先想后行"。

基本流程:

观察环境:获取真实环境的当前状态

提议策略:分析师模块基于目标生成高层策略

内部仿真:将环境复制到沙盒中,应用策略并前推模拟

评估细化:风控模块分析仿真结果,细化为具体可执行动作

实际执行:在真实环境中执行最终决策

我们构建一个简单的市场仿真器作为测试环境:

测试仿真器的动态决策能力:

通过内置的"心理模型",智能体能够在动态环境中做出更安全、更智能、更审慎的决策。

反思元认知架构:自我边界的认知

现有的智能体虽然能力强大,但都有一个致命缺陷:不知道自己不知道什么。当被问及超出专长的问题时,仍会硬着头皮作答,往往自信满满却危险错误。

反思元认知架构就是为了解决这个问题。它赋予智能体一种"自我觉察"能力:在尝试解决问题之前,先推理自己的能力边界和信心水平。

这种架构在高风险领域(如医疗、金融)中不可或缺,它让智能体敢于说"我不知道"或"应该请人类专家处理"。

基本流程:

接收任务:获取用户请求

元认知分析:对照自我模型评估能力和信心

策略选择:根据分析结果选择处理方式

直接推理(高置信度、低风险)

使用工具(需要特定工具支持)

升级处理(低置信度、高风险或超出边界)

执行策略:按选定方式处理请求

这里的核心是构建结构化的"自我模型":

测试不同风险等级的查询:

这种元认知能力让智能体从"危险的全能者"变成了"负责任的助手"——知道自己能做什么,更重要的是知道自己不该做什么。

元胞自动机:涌现式计算

最后这种架构完全不同于前面的"自上而下"控制方式。元胞自动机采用"自下而上"的方法:在网格上部署大量简单的"细胞智能体",没有中央控制器,"整体智慧"从无数次"局部简单规则"的并行应用中涌现。

这种架构特别适合空间推理、模拟和优化问题,比如物流路径规划、疾病传播建模、城市规划等。它将问题空间本身变成"计算织物",通过类似波传播的信息流来求解。

基本原理:

网格初始化:创建由细胞智能体构成的网格,每个细胞有类型和状态

边界条件:为目标细胞设定特殊状态作为计算起点

同步更新:每个时间步,所有细胞基于邻居状态同步更新

涌现计算:随着迭代进行,信息如波浪般传播形成梯度场

稳定收敛:直到网格不再变化,计算完成

结果读取:从最终状态直接读出答案

以仓库路径规划为例,实现细胞智能体:

这个例子展现了元胞自动机的独特之处:没有中央规划器计算路径,而是整个网格"自发地"形成了一个梯度场。每个细胞只知道简单的局部规则,但集体行为产生了全局最优解。

这种分布式计算范式在处理大规模空间问题时具有天然的并行性和鲁棒性优势。

总结

实际的大型AI系统很少依赖单一架构。真正的威力来自于将多种模式编排到多层工作流中,让各个组件发挥所长。

这种多层架构的组合让系统既具备了高度的智能性和自主性,又保持了必要的安全性和可控性。每一层都有明确的职责和边界,整体形成了一个既强大又可信赖的AI系统。

通过这17种不同架构的灵活组合,我们可以构建出适应各种复杂业务场景的智能系统,从简单的问答助手到复杂的决策支持平台,每一种都能找到最合适的架构组合方案。

完整代码:

来源:deephub

相关推荐