news 2026/7/3 2:32:11

AI Agent中6种常用的设计模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI Agent中6种常用的设计模式

一、AI Agent的架构演进

在深入具体模式之前,我们先花一分钟理解Agent系统的核心架构。

任何一个成熟的Agent系统,都由以下几个核心模块组成:

在这个架构基础上,学术界和工业界总结出了多种设计模式。

从最简单的单体Agent到复杂的多智能体协作,每种模式都有其独特的优势和适用场景。

二、六种核心设计模式详解

模式一:ReAct(Reasoning + Acting)

一句话定位:Agent最基础的“思考-行动-观察”循环,所有复杂模式的基础。

ReAct模式的核心思想是将“推理”和“行动”分离。

Agent先推理当前情况,决定下一步做什么,然后执行行动,观察结果,再继续推理,形成一个闭环。

Java代码实现(基于Spring AI Alibaba):

// 创建ReActAgent - 这是最基础的Agent模式 ReactAgent agent = ReactAgent.builder() .name("customer_service_agent") .model(chatModel) .systemPrompt("你是一个专业的客服助手,通过推理和行动解决用户问题") .tools(queryOrderTool, checkInventoryTool) // 注册工具 .build(); // 同步调用 String response = agent.call("帮我查询订单号12345的状态"); System.out.println(response); // 流式调用(实现打字机效果) Flux<String> streamResponse = agent.stream("我想退货,应该怎么操作"); streamResponse.subscribe(System.out::print);

核心组件解析

组件作用
AgentLlmNode负责LLM推理调用,生成思考和行动决策
AgentToolNode执行LLM请求的工具调用
MemorySaver持久化对话历史,支持会话恢复

优点:结构清晰,易于理解和调试;是构建更复杂Agent的基础模式。

缺点:单次任务需要多次LLM调用,Token消耗较大;缺乏长期任务规划和记忆能力。

适用场景:智能客服、基础问答、需要多步推理但无需长期记忆的任务。

模式二:工具使用(Tool Use)

Tool Use 也是Function Calling。

一句话定位:让Agent“长出手脚”,连接外部世界的能力。

单纯的大模型只有文本生成能力,无法获取实时信息或执行具体操作。

Tool Use模式通过函数调用,让Agent能够查询数据库、调用API、操作文件系统,真正“动手”解决问题。

Java代码实现(注解驱动):

// 1. 定义工具类,使用@Tool注解标记可调用方法 @Component public class OrderTools { @Tool(description = "查询指定订单的状态") public String queryOrder(@P("订单号") String orderId) { // 调用数据库或API Order order = orderService.findById(orderId); return String.format("订单%s状态:%s", orderId, order.getStatus()); } @Tool(description = "获取某城市的天气信息") public String getWeather(@P("城市名称") String city) { return weatherApi.get(city); } @Tool(description = "计算两个数的和") public int add(@P("第一个数") int a, @P("第二个数") int b) { return a + b; } } // 2. 将工具注册到Agent ReactAgent agent = ReactAgent.builder() .model(chatModel) .tools(new OrderTools()) .build(); // 3. Agent会自动判断何时调用哪个工具 String result = agent.call("帮我查一下订单ORD-123的物流状态");

原理示意图:

优点:极大扩展了Agent能力边界;注解驱动,开发效率高;工具可复用,形成能力库。

缺点:需要为每个工具编写清晰的描述;工具数量增多时LLM可能选错工具。

适用场景:信息查询(天气、股票、订单)、数据操作、系统集成、任何需要“动手”的场景。

模式三:反思(Reflection)

一句话定位:Agent像人类一样“三思而后行”,自我审视并修正错误。

反思模式允许Agent对自己的输出进行批评和修正。它通过多轮迭代来提升输出质量,就像人类写代码后要review一样。

Java代码实现(双Agent协作):

public class ReflectionService { private final ReactAgent executor; private final ReactAgent critic; public ReflectionService(ChatModel chatModel) { // 执行Agent:负责生成回答 this.executor = ReactAgent.builder() .name("executor") .model(chatModel) .systemPrompt("你是一个专业助手,回答用户问题") .build(); // 评审Agent:负责检查质量 this.critic = ReactAgent.builder() .name("critic") .model(chatModel) .systemPrompt(""" 你是质量检查专家。检查以下回答的质量,指出错误和不完善之处。 如果回答完美,回复"PASS"。 """) .build(); } public String generateWithReflection(String input, int maxIterations) { String currentOutput = null; for (int i = 0; i < maxIterations; i++) { // 1. 执行Agent生成回答 if (currentOutput == null) { currentOutput = executor.call(input); } else { // 根据反馈改进回答 currentOutput = executor.call( "请根据以下反馈改进回答:\n" + "原始问题:" + input + "\n" + "上次回答:" + currentOutput + "\n" + "反馈意见:" + feedback ); } // 2. 评审Agent检查质量 String critique = critic.call( "请评审以下回答:\n" + currentOutput ); // 3. 判断是否通过 if (critique.contains("PASS") || i == maxIterations - 1) { return currentOutput; } feedback = critique; } return currentOutput; } }

优点:显著提升输出质量;可自动发现逻辑错误和事实错误;适合高质量要求的场景。

缺点:需要多次LLM调用,Token消耗大;响应时间显著增加。

适用场景:代码审查、内容润色、学术论文润色、高准确度要求的问答。

模式四:规划(Planning)

一句话定位:将复杂任务分解为可执行的子任务,分步骤完成。

规划模式是应对复杂任务的核心武器。Plan Agent先将大任务拆解成多个子任务,再按顺序或并行执行。

Java代码实现(SequentialAgent模式):

// 创建三个专业Agent ReactAgent dataCollector = ReactAgent.builder() .name("数据采集Agent") .model(chatModel) .tools(databaseTool, webSearchTool) .build(); ReactAgent dataAnalyzer = ReactAgent.builder() .name("数据分析Agent") .model(chatModel) .tools(statisticsTool) .build(); ReactAgent reportGenerator = ReactAgent.builder() .name("报告生成Agent") .model(chatModel) .tools(reportTool) .build(); // 顺序编排:数据采集 → 数据分析 → 报告生成 SequentialAgent pipeline = SequentialAgent.builder() .name("市场调研工作流") .agents(dataCollector, dataAnalyzer, reportGenerator) .build(); // 执行复杂任务 String finalReport = pipeline.call("生成2026年Q1销售分析报告");

规划模式的核心价值:将MultiAgent开发周期从数天压缩到数小时,是企业级AI应用的标准范式。

优点:能处理超长、超复杂的任务;提高任务执行的确定性和可预测性;支持并行执行提升效率。

缺点:规划本身可能出错,需要fallback机制;任务粒度划分需要经验。

适用场景:数据分析全流程、自动化调研、报告生成、项目规划。

模式五:多智能体协作(Multi-Agent)

一句话定位:多个专业Agent协同工作,取长补短,1+1>2。

多智能体协作模式是规划模式的进化版。

它不仅仅是串行执行,而是通过消息通信实现智能体间的动态协作。

Java代码实现(MsgHub协作模式):

// 创建专业Agent ReactAgent orderAgent = ReactAgent.builder() .name("订单Agent") .model(chatModel) .tools(queryOrderTool) .build(); ReactAgent paymentAgent = ReactAgent.builder() .name("支付Agent") .model(chatModel) .tools(queryPaymentTool) .build(); ReactAgent refundAgent = ReactAgent.builder() .name("退款Agent") .model(chatModel) .tools(processRefundTool) .build(); // 构建协作中枢 MsgHub hub = new MsgHub(); // Agent订阅感兴趣的消息 hub.subscribe("order:query", orderAgent); hub.subscribe("payment:status", paymentAgent); hub.subscribe("refund:process", refundAgent); // 发布消息,触发协作 hub.publish(new Message("order:query", "查询订单ORD-123的详细信息")); // Agent可以相互通信完成任务 orderAgent.onMessage("order.found", (msg) -> { hub.publish(new Message("payment:status", "检查订单" + msg.getData() + "的支付状态")); });

多智能体通信机制

协作模式特点适用场景
层级指挥主Agent分解任务,子Agent执行企业级任务调度
嵌套模式Agent内部包含子Agent复杂分层系统
转交模式Agent无法处理时转交其他Agent客服升级场景
群聊模式多个Agent自由讨论创意头脑风暴

优点:模块化设计,易于维护和扩展;支持并行处理,效率高;天然适合分布式部署。

缺点:架构复杂度高;Agent间通信协调有额外开销。

适用场景:大型企业系统、多部门协同业务、复杂流程自动化。

模式六:人机协同(Human-in-the-Loop)

一句话定位:将人引入决策闭环,关键节点人工确认,提升安全性和可控性。

人机协同模式是AI Agent落地的安全阀。在涉及资金、权限、敏感数据的操作上,必须加入人工确认环节,而不是完全交给AI自主决策。

Java代码实现:

public class HumanInTheLoopAgent { private final ReactAgent agent; private final ApprovalService approvalService; public String processWithApproval(UserRequest request) { // 1. Agent分析意图 String analysis = agent.call( "分析以下请求的意图和所需操作:" + request.getText() ); // 2. 判断是否需要人工审批 if (requiresApproval(analysis)) { // 3. 发送审批请求 ApprovalRequest approval = ApprovalRequest.builder() .userId(request.getUserId()) .operation(extractOperation(analysis)) .details(analysis) .build(); ApprovalResult result = approvalService.requestApproval(approval); if (!result.isApproved()) { return "操作被拒绝,请联系管理员"; } } // 4. 执行操作 return agent.call("执行以下操作:" + analysis); } private boolean requiresApproval(String analysis) { // 检测敏感关键词:退款、删除、修改权限、批量操作等 String[] sensitiveKeywords = {"退款", "删除", "修改权限", "批量"}; for (String keyword : sensitiveKeywords) { if (analysis.contains(keyword)) { return true; } } return false; } }

优点:提升系统安全性,防止AI误操作;满足金融、政务等行业的合规要求;增强用户对AI的信任感。

缺点:降低自动化程度,需要人工介入;响应时间取决于审批速度。

适用场景:金融交易、权限变更、数据删除、敏感信息查询、高风险业务。

三、六种模式对比总结

模式核心特点适用场景开发复杂度Token消耗推荐度
ReAct基础推理行动循环智能客服、基础问答⭐⭐中等⭐⭐⭐⭐⭐
Tool Use调用外部工具信息查询、系统集成⭐⭐中等⭐⭐⭐⭐⭐
Reflection自我审视修正代码审查、润色⭐⭐⭐较高⭐⭐⭐⭐
Planning任务拆解执行数据分析、自动化调研⭐⭐⭐⭐⭐⭐⭐⭐⭐
Multi-Agent多智能体协作企业级系统、复杂流程⭐⭐⭐⭐⭐⭐⭐⭐⭐
Human-in-the-Loop人工介入确认金融交易、敏感操作⭐⭐⭐较低⭐⭐⭐⭐

四、如何选型?

五、组合使用的艺术

在实际项目中,这六种模式往往不是孤立使用的,而是根据业务场景灵活组合:

  • 智能客服= ReAct + Tool Use(查订单、查库存)+ Reflection(提升回答质量)
  • 数据分析平台= Planning + Multi-Agent + Human-in-the-Loop(数据敏感需审批)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 2:31:37

低算力AI模型的安全挑战与防御策略

1. 低算力AI模型的崛起与安全隐忧过去一年间&#xff0c;一个令人不安的趋势正在AI领域蔓延&#xff1a;实现同等基准性能所需的模型参数量已下降达10倍。这意味着&#xff0c;原本需要数据中心级硬件支持的AI能力&#xff0c;现在已能运行在普通笔记本电脑上。我在分析Hugging…

作者头像 李华
网站建设 2026/7/3 2:27:25

Oracle数据库锁机制概述

Oracle数据库锁机制类型Oracle数据库的锁机制主要分为两大类&#xff1a;共享锁&#xff08;Shared Locks&#xff09;和排他锁&#xff08;Exclusive Locks&#xff09;。共享锁允许多个事务同时读取数据&#xff0c;但阻止其他事务获取排他锁&#xff1b;排他锁则禁止其他事务…

作者头像 李华
网站建设 2026/7/3 2:27:02

AI Agent Spec Vite 构建插件面试总结

项目名称&#xff1a;AI Agent Spec Vite 构建插件&#xff08;个人练手 Demo&#xff09; 技术栈 TypeScript、Vite 插件、js-yaml、Node.js 项目简介 参考 Dify 开源 Agent Spec 配置规范源码&#xff0c;剥离后端 Python 无关逻辑&#xff0c;基于 TS 自研 Vite 插件&am…

作者头像 李华
网站建设 2026/7/3 2:25:44

华为MetaERP Oracle EBS OM 数据准确性与完整性全保障方案(财务解决方案架构师视角)OM 是 OTC 收入源头,数据失真会直接导致收入虚增 / 少记、毛利失真、应收对账不平、税务风险

Oracle EBS OM 数据准确性与完整性全保障方案&#xff08;财务解决方案架构师视角&#xff09;OM 是 OTC 收入源头&#xff0c;数据失真会直接导致收入虚增 / 少记、毛利失真、应收对账不平、税务风险、SOX 审计缺陷。数据问题分为四类&#xff1a;主数据脏数据、录入 / 接口错…

作者头像 李华
网站建设 2026/7/3 2:24:55

藏在QQ里的精神避风港:我的“一念成仙”修仙智能体体验

编者按&#xff1a; 本文来自普通上班族用户“格子间的修真者”的真实投稿。在这个快节奏的时代&#xff0c;他与我们分享了在日常工作软件中发现的一方精神天地。以下为投稿正文。 偶然闯入的赛博仙侠世界&#xff1a;我的“一念成仙”体验 平时坐在工位上&#xff0c;对着电脑…

作者头像 李华
网站建设 2026/7/3 2:23:10

pyodide-docs-l10n

Pyodide 文档的本地化&#x1f389; pyodide-docs-l10n 已发布&#xff01; &#x1f680; 预览翻译&#xff1a;https://projects.localizethedocs.org/pyodide-docs-l10n &#x1f310; Crowdin&#xff1a;https://localizethedocs.crowdin.com/pyodide-docs-l10n &#…

作者头像 李华