抓住王语嫣 發表於 2025-8-19 08:30:00

从AI调用到AI智能体:全面解析三种AI应用的技术架构

<h2 id="一ai应用开发的范式革命">一、AI应用开发的范式革命</h2>
<p>在当今全球企业加速数字化转型的浪潮中,人工智能(AI)已不再是边缘性的技术点缀,而是深度嵌入业务流程、重塑价值创造方式的核心驱动力。我们正见证一场深刻的范式革命:AI正从单一的功能性工具,演变为能够理解、协作乃至自主决策的“数字员工”。</p>
<p>随着AI能力的不断演进,AI应用的开发模式也呈现出多样化和多层次的特点。从最基础的API调用,到结构化的工作流,再到具备高度自主性的智能体,这三种主流模式分别对应着不同的业务场景、技术复杂度和实现成本。技术决策者、架构师和开发者面临着一个关键问题:如何为不同阶段、不同需求的AI应用选择并设计出清晰、可扩展、高效率且成本可控的软件技术架构?</p>
<p>本文旨在为这一核心议题提供一个从理论到实践的完整指南。我们将首先清晰界定“AI调用”、“AI工作流”和“AI智能体”这三种模式的核心特征与差异。随后,我们将深入剖析每种模式的技术架构蓝图,详细拆解其关键组件、技术选型考量以及数据与调用流程,来帮助读者在实际项目中做出明智的技术选型和架构设计,从而驾驭这场由AI驱动的应用开发范式革命。</p>
<h2 id="二-ai应用的三种模式">二、 AI应用的三种模式</h2>
<p>按照业务场景的复杂程度,我们把AI应用分为三种模式,它们分别代表了AI在应用中扮演的角色从工具到伙伴,最终演进为“自主决策者”的过程。</p>
<h3 id="1-ai调用">1. AI调用</h3>
<ul>
<li>核心特征:原子化、单向、无状态( 通常每次请求独立处理,但可通过会话管理保持有限上下文)。在此模式下,AI被视为一个被动调用的“知识库”或“功能处理器”。它的交互是事务性的,一次请求对应一次响应,不保留长期的对话记忆或任务状态。</li>
<li>类比:它就像一个功能极其强大的“即时问答终端”或“实时知识库查询助手”。你输入一个明确的问题(例如,“将这段中文翻译成英文”或“解释这段Python代码的功能”),它便输出一个直接的答案。整个过程是单轮的、可预测的。</li>
<li>关键技术:核心在于提示词工程 (Prompt Engineering,包括使用少量示例引导模型的Few-shot技术,以及鼓励模型逐步推理的思维链 Chain-of-Thought, CoT),通过精心设计的提示词模板来约束和引导模型生成高质量的输出。同时,它可能依赖于一个固定的、预先构建的知识库进行简单的信息检索,但通常不涉及复杂的实时信息整合。</li>
</ul>
<h3 id="2-ai工作流-ai-workflow">2. AI工作流 (AI Workflow)</h3>
<ul>
<li>核心特征:流程化、结构化、有状态。AI不再是孤立的工具,而是被编排进一个预定义的业务流程中,成为一个或多个自动化的处理节点。它需要与外部系统、工具和动态知识库进行交互,并维护流程实例的状态。</li>
<li>类比:它好比一条“智能化的自动化装配线”。整个流程由一张流程图(如有向无环图,DAG)定义,每个节点可能是一次LLM调用,一次API调用(如查询CRM系统)或者数据库操作(业务规则节点)。流程按照预设路径执行,但每个节点的处理结果可以动态影响后续步骤的走向。</li>
<li>关键技术:核心是业务流程管理 (BPM) 或工作流引擎。为了让LLM节点更智能,检索增强生成 (RAG, 一种从外部知识库动态获取信息的技术) 技术被广泛用于从外部知识库中动态获取上下文信息。此外,工具调用 (Tool Calling) 能力是其与外部世界交互的关键,使其能够执行查询数据库、发送邮件等具体操作。</li>
</ul>
<h3 id="3-ai智能体-ai-agent">3. AI智能体 (AI Agent)</h3>
<ul>
<li>核心特征:自主性(在人类监督下,根据目标主动决策,不需完全人工干预,但复杂场景可能需监控)、动态性、自适应。这是AI应用的最高形态。AI不再被动执行预设流程,而是被赋予一个高级目标,并具备自主规划、动态推理、反思和从经验中学习的能力。它能主动决策、选择工具、并根据环境的实时反馈调整其行为路径。</li>
<li>类比:它就像一位经验丰富的“项目经理”或“智能任务助理”。你只需告诉它最终目标(例如,“帮我规划一次为期一周的巴黎家庭旅行,预算5000美元,并处理所有预订”),它就能自主地将目标分解为子任务(查机票、比价、订酒店、规划行程),选择并使用合适的工具(调用航班API、酒店预订网站、地图服务),应对突发状况(如首选航班售罄,自动寻找备选方案),并从交互中学习用户的偏好( 通过工作记忆保持当前任务上下文,通过RAG从经验库中提取历史经验)。</li>
<li>关键技术:核心是智能体架构 (Agentic Architecture),如ReAct (Reason+Act)、Plan-and-Execute等框架,它们定义了智能体的认知循环。记忆模块 (Memory),包括短期记忆(当前对话上下文)和长期记忆(通过RAG从经验库中学习),是其实现持续进化的基础。在处理极其复杂的任务时,还可能涉及到多智能体系统 (Multi-Agent Systems, MAS),即一个主智能体协同多个拥有特定专长的子智能体共同完成目标。 同样,提示词注入防范和行为审计是保障智能体安全运行的必要措施。</li>
</ul>
<h2 id="三ai应用的技术架构分析">三、AI应用的技术架构分析</h2>
<p>理解了三种模式的核心差异后,我们进入本文的核心部分:为每种应用模式设计可行的、匹配的技术架构。在剖析中,我们将结合主流研究和框架,提供实用指导,并使用简单语言和编号步骤来解释复杂流程,便于读者理解。</p>
<h3 id="1-ai-调用">1. AI 调用</h3>
<h4 id="11-适用场景分析">1.1. 适用场景分析</h4>
<p>AI调用模式是目前最广泛、最成熟的AI应用形式。其核心价值在于将大型语言模型(LLM)强大的自然语言理解和生成能力,封装成一个可按需调用的黑盒服务,以解决边界清晰、输入输出明确的原子化任务。这种模式的成功关键在于精准——通过精确的提示词获得可预测、高质量的响应。</p>
<p>常见的应用有:</p>
<ul>
<li>智能客服问答:用户提出关于产品功能、价格、使用方法等具体问题,系统基于固定的产品文档或FAQ知识库,生成标准化的回答。</li>
<li>内容创作与摘要:根据用户输入的关键词或主题,生成营销文案、邮件模板、社交媒体帖子;或者将一篇长文(如新闻、报告)精炼成几段核心摘要。</li>
<li>文本分类与情感分析:自动将用户反馈、评论或工单进行分类(如“功能建议”、“Bug报告”、“咨询”),并判断其情感倾向(正面、负面、中性)。</li>
<li>代码解释与生成:开发者输入一段代码,AI解释其功能、逻辑和潜在问题;或者根据自然语言描述(如“写一个Python函数,用于计算斐波那契数列”)生成代码片段。</li>
</ul>
<p>这些场景的共同特点是:任务目标单一,交互通常是单轮或有限轮次的,不需要复杂的长期记忆和多步骤的动态规划。AI的角色是一个高效的信息处理器,而非一个协作伙伴。</p>
<h4 id="12-核心架构设计">1.2. 核心架构设计</h4>
<p>该模式的架构追求简洁、高效和低延迟,通常采用一个清晰的单向、同步调用链路。其架构图景可以描绘如下:</p>
<p><img src="https://img2024.cnblogs.com/blog/139239/202508/139239-20250819082807740-1390752746.png" alt="image" loading="lazy"></p>
<p>[用户端] -&gt; [应用后端服务] -&gt; [提示词管理模块] -&gt; -&gt; [大语言模型] -&gt; [返回应用后端] -&gt; [返回用户端]</p>
<p>用户发送业务请求到后端,经过业务逻辑处理和提示词构建,调用LLM,最终将结果返回给用户。</p>
<h4 id="13-关键组件剖析">1.3. 关键组件剖析</h4>
<p>一个健壮的AI调用模式架构,其核心在于将AI能力与业务逻辑清晰解耦,并通过模块化设计保证系统的可维护性和扩展性。</p>
<table>
<thead>
<tr>
<th><strong>组件名称</strong></th>
<th><strong>核心职责</strong></th>
<th><strong>关键技术/服务选型</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>应用服务层</td>
<td>处理核心业务逻辑,作为用户请求的入口。负责接收、校验和解析用户输入,组装调用AI能力所需的上下文信息,并处理AI返回结果的后处理逻辑。</td>
<td>框架: ASP.NET Core, Spring Boot或Node.js的 Express。</td>
</tr>
<tr>
<td>提示词管理模块</td>
<td>负责提示词的创建、存储、版本控制和动态渲染。好的提示词是保证LLM输出质量和稳定性的关键。</td>
<td>模板引擎: Mustache。 框架支持: LangChain(一个开源框架,用于构建LLM应用)的PromptTemplate, ChatPromptTemplate</td>
</tr>
<tr>
<td>LLM服务适配器</td>
<td>封装对不同模型供应商(如OpenAI, Anthropic, Google Gemini,DeepSeek)的API调用,为上层业务逻辑提供统一接口。处理认证、请求格式化、响应解析、错误处理和重试逻辑。</td>
<td>框架: LangChain, LlamaIndex, 或自定义的适配器模式实现。 模型: GPT-4o, Claude 3.5 Sonnet, Llama3等。</td>
</tr>
<tr>
<td>缓存层(可选)</td>
<td>对频繁的相似查询进行语义缓存,减少API调用成本和延迟</td>
<td>语义相似度计算</td>
</tr>
</tbody>
</table>
<h4 id="14-数据与调用流程详解">1.4. 数据与调用流程详解</h4>
<p>为了更具体地理解该模式,我们以一个“代码解释”应用为例,详细描述其数据和调用流程:</p>
<ul>
<li><strong>用户请求</strong>:用户在前端界面输入一段代码,点击“解释代码”按钮。客户端发起一个POST请求到 /api/v1/explain-code,请求体 (Payload) 如下:</li>
</ul>
<pre><code class="language-json">{
    "language": "python",
    "code_snippet": "def fib(n):\n    a, b = 0, 1\n    while a &lt; n:\n      print(a, end=' ')\n      a, b = b, a+b"
}
</code></pre>
<ul>
<li><strong>业务逻辑处理</strong>: 应用接收到请求后,验证请求体结构和数据类型,检查代码长度限制(防止超长输入导致成本失控),判断出这是一个代码解释任务。</li>
<li><strong>提示词生成</strong>:应用服务调用提示词管理模块,获取名为 <code>code_explanation_v2</code> 的提示词模板。该模板可能如下:</li>
</ul>
<pre><code class="language-markdown">你是一位资深的软件工程师。请用简洁、清晰的语言解释以下{{ language }}代码的功能、实现逻辑和潜在的优化点。
               
代码如下:
```{{ language }}
{{ code_snippet }}
```

请按照以下格式输出:
1.**功能概述:**
2.**逻辑详解:**
3.**优化建议:**
</code></pre>
<p>提示词管理模块使用用户传入的 language 和 code_snippet 填充模板,生成最终发送给LLM的完整提示词。</p>
<ul>
<li><strong>大模型调用</strong>:应用服务将生成的完整Prompt传递给LLM服务适配器。适配器(基于LangChain)调用预设的 ChatOpenAI 模型(如gpt-4o),并可能设置参数如 temperature=0.2 以保证解释的准确性。 如果遇到速率限制错误,适配器会自动进行指数退避重试。</li>
<li><strong>响应处理与返回</strong> : LLM返回一个包含解释文本的响应。适配器解析该响应,应用服务层可能进行一些格式化处理(如转换为Markdown),最终封装成统一的JSON格式返回给客户端:</li>
</ul>
<pre><code class="language-json">{
"explanation": "1. **功能概述:** 这段代码实现了一个斐波那契数列生成器...\n2. **逻辑详解:** ...\n3. **优化建议:** ...",
"model_used": "gpt-4o",
"usage": {
    "prompt_tokens": 150,
    "completion_tokens": 200,
    "total_tokens": 350
}
}
</code></pre>
<p>整个过程是无状态的,每次请求都是一次独立的事务。系统的复杂性主要集中在提示词的设计和管理上,而架构本身保持了高度的简洁和可维护性。</p>
<h4 id="15-小结">1.5. 小结</h4>
<ul>
<li>核心定位:解决边界清晰的原子化任务。</li>
<li>架构特征:简单、同步、单向的请求-响应链路。</li>
<li>技术关键:成功的核心在于提示词工程,而非复杂的系统集成。将提示词作为核心资产进行管理是架构设计的重点。</li>
<li>成本控制:通过缓存、批处理和模型选择优化成本。</li>
</ul>
<h3 id="2-ai-工作流-ai-workflow">2. AI 工作流 (AI Workflow)</h3>
<h4 id="21-适用场景分析">2.1. 适用场景分析</h4>
<p>AI工作流旨在解决那些具有明确步骤、但每一步又需要智能判断或与外部系统交互的标准化业务流程。这种模式是企业实现深度数字化转型的中坚力量,因为它将AI从一个外挂工具,真正融入了业务的核心脉络。</p>
<p>AI工作流模式的典型应用:</p>
<ul>
<li>自动化信贷审批:流程启动后,系统自动从CRM获取客户资料(工具调用),通过RAG检索内部信贷政策知识库,结合外部征信API数据,最后由LLM综合所有信息生成初步的审批建议和风险报告。</li>
<li>智能投研报告生成:定时任务触发流程,自动从多个财经数据源API(工具调用)拉取最新数据,利用RAG分析公司历史财报和行业研报,最后驱动LLM撰写一份结构化的投研报告初稿。</li>
<li>电商退款流程自动化:客户提交退款申请后,工作流自动验证订单信息(数据库查询),根据RAG检索的退货政策判断是否符合条件,如果符合,则自动调用物流API生成退货标签,并更新ERP系统库存状态。</li>
<li>客户工单自动处理:新工单进入系统后,LLM首先进行意图识别和分类,然后根据工单类型,RAG检索知识库寻找解决方案。如果找到,则自动回复客户;如果找不到,则根据预设规则流转给相应的人工支持团队。</li>
</ul>
<p>这些场景的核心特征是流程驱动。任务不再是原子化的,而是由一系列相互依赖的步骤组成。AI在其中扮演的是协作助手的角色,它与其他系统和工具协同工作,在流程的关键节点上提供认知和决策能力。</p>
<h4 id="22-核心架构设计">2.2. 核心架构设计</h4>
<p>与AI调用模式的同步、单向链路不同,AI工作流的架构通常是事件驱动的。这保证了流程的可靠性、可扩展性和对长时间运行任务的支持。其架构图如下:</p>
<p><img src="https://img2024.cnblogs.com/blog/139239/202508/139239-20250819082839954-28353670.png" alt="image" loading="lazy"></p>
<p>工作节点包含一组不同类型的Worker节点,例如工具调用(外部交互),RAG检索(知识获取),LLM分析(智能决策)等等。</p>
<p>流程由事件触发,工作流引擎根据预定义的流程图将任务分发到任务队列。不同类型的Worker(工作节点)消费任务,执行具体操作(如工具调用、RAG检索、LLM分析),并将状态持久化。引擎根据状态变化驱动流程进入下一步,直至完成。</p>
<h4 id="23-关键组件剖析">2.3. 关键组件剖析</h4>
<p>构建一个强大的AI工作流平台,需要一系列精心设计的组件协同工作,确保流程的健壮性、灵活性和智能化。</p>
<table>
<thead>
<tr>
<th><strong>组件名称</strong></th>
<th><strong>核心职责</strong></th>
<th><strong>关键技术/服务选型</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>工作流引擎</td>
<td>流程编排的核心。负责定义、调度、监控和管理工作流的生命周期。它解析流程定义,并根据任务的执行结果和条件分支来驱动流程状态的转换。</td>
<td>- 重量级: Temporal, Camunda,。 - 轻量级/AI原生:LangGraph(LangGraph是LangChain的扩展,专为AI工作流设计,易于上手), CrewAI。</td>
</tr>
<tr>
<td>任务队列</td>
<td>作为工作流引擎与Worker之间的缓冲层,实现异步解耦。引擎将待执行的任务放入队列,Worker从中消费。这提高了系统的吞吐量和弹性。</td>
<td>- 框架: Celery, Dramatiq。 - 消息中间件: RabbitMQ 等。</td>
</tr>
<tr>
<td>知识库检索模块</td>
<td>为流程中的LLM节点提供动态、实时的外部知识。它负责文档的加载、切分、向量化、存储和检索。 向量化是将文本转换为高维数字向量(如1536维),使计算机能理解文本的语义相似度。</td>
<td>- 框架: LangChain的Retrieval链。 - 向量数据库: Milvus, Weaviate, Chroma (开源); Pinecone (SaaS)。 - Embedding模型: OpenAI text-embedding-3-large, BGE等。</td>
</tr>
<tr>
<td>工具调用模块</td>
<td>与外部世界交互的桥梁。将外部API、数据库查询、内部服务等封装成标准化的、可被工作流调用的“工具”。</td>
<td>- 框架: LangChain的Tool接口- 外部API调用(如调用CRM或天气服务,扩展AI能力)</td>
</tr>
<tr>
<td>状态持久化</td>
<td>记录每个工作流实例的ID、当前状态、执行历史、中间结果和上下文。这是保证流程可追溯、可调试和故障后可恢复的基础。</td>
<td>- 数据库:PostgreSQL, MySQL。 - 缓存/轻量级存储: Redis。</td>
</tr>
</tbody>
</table>
<h4 id="24-数据与调用流程详解">2.4. 数据与调用流程详解</h4>
<p>我们以一个“自动化生成周报”的工作流为例,展示其完整的生命周期:</p>
<ul>
<li>触发 :每周五下午5点,一个定时任务被触发,它通过API调用工作流服务,启动一个名为 WeeklyReportGeneration 的工作流,并传入参数 {"team_id": "engineering", "date_range": "2025-07-21_to_2025-07-25"}。</li>
<li>启动与任务分发:工作流引擎创建一个新的工作流实例,并根据流程定义,将第一个任务 fetch_project_updates 及其参数推送到任务队列(如RabbitMQ)。</li>
<li>执行节点1 - 工具调用 :一个专门处理工具调用的Worker从队列中获取该任务。它调用项目管理工具(如Jira)的API,获取“engineering”团队在该日期范围内的所有已完成任务和进度更新。Worker将获取到的原始数据(一个JSON数组)写入PostgreSQL的状态数据库中,与当前工作流实例ID关联,并标记任务完成。</li>
<li>决策与分发:工作流引擎监控到状态更新,根据流程图,下一步是并行执行两个任务:summarize_updates 和 fetch_metrics。引擎将这两个任务同时推送到任务队列。</li>
<li>执行节点2 - LLM分析:一个LLM Worker获取 summarize_updates 任务。它从状态数据库中读取项目更新的原始数据,使用一个专门的Prompt模板,调用LLM(如Claude 3.5 Sonnet)对这些更新进行分类和摘要,生成“本周重点进展”的文本。结果被写回状态数据库。</li>
<li>执行节点3 - RAG检索:与此同时,另一个RAG Worker获取 fetch_metrics 任务。它调用内部的监控系统API(工具调用)获取本周的系统性能指标(如P95延迟、错误率)。然后,它使用这些指标作为查询,通过RAG模块从历史报告知识库(向量数据库)中检索上周的性能数据和相关分析,为本周数据提供对比上下文。所有数据同样被写回状态库。</li>
<li>聚合与最终生成:工作流引擎检测到两个并行任务均已完成。它启动最后一个任务 compose_report。一个LLM Worker获取此任务,从状态库中读取所有中间结果(项目摘要、本周指标、上周对比数据),使用一个最终的报告生成Prompt模板,调用LLM生成一份完整的、结构化的周报。</li>
<li>结束与通知:最终的周报内容被写回状态库。工作流引擎判断流程结束,触发一个通知动作,将生成的周报通过邮件或Slack发送给相关管理者。如果流程中任何步骤失败,引擎会根据预设的重试策略进行重试,或者触发告警通知运维人员。</li>
</ul>
<p>这个流程展示了AI工作流模式的强大之处:它将复杂的业务流程分解为一系列可管理的、可重用的、可独立测试的步骤,并通过一个中心化的引擎进行可靠的编排,实现了高度的自动化和智能化。</p>
<h4 id="25-小结">2.5. 小结</h4>
<ul>
<li>核心定位:自动化处理有固定步骤但需要智能决策的标准化业务流程,充当智能流程协作助手。</li>
<li>架构特征:异步、事件驱动、分布式。核心是工作流引擎,通过任务队列与异构工作节点解耦,保证流程的可靠性和可扩展性。</li>
<li>技术关键:工作流引擎负责流程编排,RAG和工具调用是其获取知识和与外部世界交互的两大核心能力。状态持久化是保证流程可靠性的基石。</li>
<li>价值体现:将AI能力深度嵌入企业核心业务流程,实现端到端的自动化,显著提升效率、降低成本,并保证流程执行的一致性。</li>
</ul>
<h3 id="3-ai-智能体-ai-agent">3. AI 智能体 (AI Agent)</h3>
<h4 id="31-适用场景分析">3.1. 适用场景分析</h4>
<p>AI智能体代表了AI应用的前沿和未来方向。它不再局限于执行预定义的指令或流程,而是被赋予了在复杂、动态环境中实现高级目标的能力。这种模式的核心是自主性——智能体能够根据目标和环境反馈,自主地进行规划、推理、行动和反思。正如相关研究指出的,AI智能体正在从一个学术概念转变为能够解决真实世界问题的强大工具。</p>
<p>其适用场景通常具备以下特点:目标明确,但实现路径不确定、多变,需要持续的决策和适应。例如:</p>
<ul>
<li>自动化科学研究:给定一个研究课题(如“分析新冠病毒对供应链韧性的影响”),智能体能自主地搜索学术数据库、阅读论文、提取关键信息、进行数据分析、并最终撰写一篇综述报告。</li>
<li>个性化旅行规划师:用户提出模糊需求(“我想去一个温暖的海岛过一个轻松的假期,预算3000美元”),智能体能通过与用户对话澄清偏好,自主搜索航班、酒店,比较价格和评价,规划行程,甚至在用户确认后完成预订。如果途中发生航班延误,它还能主动重新规划后续行程。</li>
<li>自动化软件开发与运维:接收一个功能需求(“为我们的应用增加一个用户反馈模块”),智能体能自主编写代码、创建数据库表、编写测试用例、部署到测试环境,并在测试失败时尝试自我修复。</li>
<li>企业战略分析助理:接收高级指令(“分析我们主要竞争对手Q2的财报,并总结其对我们市场策略的潜在影响”),智能体能自主查找财报、新闻稿,调用数据分析工具,并生成一份包含关键洞察和建议的分析报告。</li>
</ul>
<p>在这些场景中,AI的角色已经从“工具”或“助手”转变为一个“自主决策的主体”。它不是在执行一个流程,而是在解决一个开放式的问题。</p>
<h4 id="32-核心架构设计">3.2. 核心架构设计</h4>
<p>目前AI智能体有两种流行的推理模式:ReAct(Reasoning and Action,推理与行动)和 Plan-and-Execute(计划与执行),ReAct通过迭代的“思考 → 行动 → 观察”循环赋予智能体灵活性和适应性,而Plan-and-Execute则通过“先规划后执行”的策略提供更高的结构性和可预测性。</p>
<h5 id="321-react推理模式">3.2.1. ReAct推理模式</h5>
<p>ReAct 模式的核心理念是 “边推理边行动”,即每一步都将推理(Reasoning)与行动(Acting)紧密结合。在ReAct中,智能体不断地进行思考,决定下一步行动,执行该行动并观察结果,然后基于新的信息继续思考,如此循环,直到完成任务。这一过程可以概括为 “思考 → 行动 → 观察” 的循环,贯穿任务始终。</p>
<p><img src="https://img2024.cnblogs.com/blog/139239/202508/139239-20250819082902107-499209880.png" alt="image" loading="lazy"></p>
<p>ReAct模式(https://arxiv.org/abs/2210.03629)通过提示LLM交替产生推理步骤和动作来工作(论文由Shunyu Yao等人提出,强调通过与外部源交互减少幻觉和错误传播)。ReAct模式适合处理 复杂且不可预测 的任务场景,尤其是需要多步推理、信息检索或与外部环境交互的任务。例如:</p>
<ul>
<li>如先搜索信息再进行计算的任务。ReAct的链式思考确保模型分解任务并根据中间结果逐步调整,就像人解决谜题时边想边试。</li>
<li>动态变化的任务:环境或用户需求可能变化的场景。ReAct的逐次决策使其能及时响应变化,在每一步观察后更新策略。</li>
</ul>
<p>总的来说,当任务 步骤不固定、需要探索或依赖外部数据 时,ReAct是更合适的选择。</p>
<h5 id="322-plan-and-execute推理模式">3.2.2. Plan-and-Execute推理模式</h5>
<p>Plan-and-Execute模式(https://arxiv.org/abs/2305.04091)的核心理念是 “先规划,后执行”,即首先由智能体生成一个详细的多步计划,然后再按计划依次执行每一步操作。与ReAct不同,Plan-and-Execute将 规划阶段 和 执行阶段 分离:在规划阶段,智能体分析任务目标,将其分解为若干子任务并制定执行顺序;在执行阶段,则严格按照计划依次执行每个子任务,遇到问题时可能进行调整或重新规划。</p>
<p><img src="https://img2024.cnblogs.com/blog/139239/202508/139239-20250819082915873-1390566628.png" alt="image" loading="lazy"></p>
<p>Plan-and-Execute-模式适用于 结构复杂、步骤较多且子任务间有依赖关系 的任务场景。例如:</p>
<ul>
<li>多步骤工作流:需要按顺序完成多个子任务的情况。如“撰写一份市场调研报告”可能需要先收集数据、再分析、最后撰写报告。Plan-and-Execute会先规划出这三个步骤,再依次执行,避免漏掉环节。</li>
<li>任务子步骤依赖:当后续步骤依赖前一步结果时,Plan-and-Execute的全局规划能确保依赖关系被提前考虑。例如“预订从纽约到巴黎的航班,然后预订酒店,最后安排接机”,每一步都依赖前一步的结果(航班时间影响酒店入住和接机安排)。ReAct在这种情况下可能因为缺乏全局视角而陷入困境,而Plan-and-Execute可以提前规划好步骤顺序和应急方案。</li>
<li>需要全局优化的任务:某些任务要求总体最优或避免重复工作。Plan-and-Execute在规划时可以统筹安排,例如合并相似步骤、优化资源使用顺序等,而ReAct逐次决策可能导致重复或冗余操作。</li>
<li>长时持续任务:对于需要长时间执行或分阶段完成的任务(如多日项目规划),Plan-and-Execute的显式计划有助于跟踪进度和恢复执行。</li>
</ul>
<p>总的来说,当任务 结构复杂、步骤明确且需要全局协调 时,Plan-and-Execute往往能取得更好效果。</p>
<p><strong>选择指南:</strong></p>
<ul>
<li>任务不确定性高、需要频繁调整 → ReAct</li>
<li>任务有明确步骤、需要整体规划 → Plan-and-Execute</li>
<li>实践中,两种模式可以结合使用:用Plan-and-Execute制定总体计划,在执行每个子任务时使用ReAct处理细节</li>
</ul>
<h4 id="33-关键组件剖析">3.3. 关键组件剖析</h4>
<p>智能体架构的复杂性远超前两种模式,其组件设计更侧重于模拟认知功能,而非简单的任务执行。</p>
<table>
<thead>
<tr>
<th><strong>组件名称</strong></th>
<th><strong>核心职责</strong></th>
<th><strong>关键技术/服务选型</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>认知核心</td>
<td>智能体的“大脑”,负责驱动整个感知-规划-行动的认知循环。它维护着智能体的当前状态和总体目标,并协调其他所有模块的工作。</td>
<td>- 框架: LangGraph, AutoGen, CrewAI。 - 推理模式: ReAct (Reason+Act), Plan-and-Execute。</td>
</tr>
<tr>
<td>规划与任务分解模块</td>
<td>将用户输入的高级、模糊目标,分解为一系列具体的、可执行的子任务或步骤。这是智能体“思考”过程的核心体现。</td>
<td>- 技术:思维链 (Chain-of-Thought, CoT), 思维树 (Tree-of-Thoughts, ToT), 思维图 (Graph-of-Thought)。 - 实现:通过精心设计的Meta-Prompt引导一个强大的LLM(如GPT-4o, Claude 3.5 Sonnet)进行推理。</td>
</tr>
<tr>
<td>工具与能力库</td>
<td>定义了智能体能“做什么”。它是一个可动态注册和发现的工具集合,每个工具都有清晰的功能描述、输入输出规范。需要严格的权限控制,防止智能体执行超出预期的操作。</td>
<td>- 框架: LangChain的Tools模块。- 协议: 探索采用MCP (Model Context Protocol), A2A (Agent-to-Agent)等协议。</td>
</tr>
<tr>
<td>反思与自洽模块</td>
<td>智能体在执行完一个动作后,对结果进行评估,判断是否符合预期、是否更接近最终目标,并进行自我修正。</td>
<td>- 实现:设计特定的反思Prompt模板,或引入一个独立的评估者子Agent。</td>
</tr>
<tr>
<td>记忆系统</td>
<td>多层次的记忆结构,支持智能体的学习和适应</td>
<td>- 工作记忆:当前任务上下文(内存)- 短期记忆:会话历史(Redis)- 长期记忆:经验知识库(向量数据库)</td>
</tr>
</tbody>
</table>
<h4 id="34-数据与调用流程详解">3.4. 数据与调用流程详解</h4>
<p>我们以一个自动化市场分析报告智能体为例,来展示其非确定性的、迭代的思考链:</p>
<ul>
<li>
<p>目标输入:用户下达指令:“分析2025年Q2全球低代码市场的竞争格局,并生成一份PPT报告,重点关注A公司、B公司的表现。”</p>
</li>
<li>
<p>初步规划:主智能体的规划模块(LLM)输出初步计划:</p>
<ul>
<li>搜索并收集关于A公司、B公司的最新新闻和报告。</li>
<li>从收集的资料中提取关键数据点,如市场份额、融资情况、主要产品特性。</li>
<li>分析各厂商的优劣势和市场策略。</li>
<li>构建PPT大纲。</li>
<li>根据大纲填充每一页的内容和图表。</li>
<li>最终生成PPT文件。</li>
</ul>
</li>
<li>
<p>行动与观察:</p>
<ul>
<li>行动1:执行器选择并调用“Web搜索”工具,执行查询“A公司 Q2 2025 news”。</li>
<li>观察1:返回了10个链接,其中包含一篇A公司宣布收入超过XXX的新闻。</li>
</ul>
</li>
<li>
<p>反思与记忆更新:</p>
<ul>
<li>反思: “这是一个关键数据点。我需要对B公司也做类似的财务数据搜索。同时,我应该将‘财务表现’作为一个核心分析维度加入我的报告大纲。”</li>
<li>记忆更新:将“A公司 Q2 2025收入超5亿欧元”这个事实存入短期记忆。将“搜索‘公司名 + 季度 + news/report’是一个有效的策略”这个经验存入长期记忆(通过向量化存储,如使用Chroma向量数据库)。</li>
</ul>
</li>
<li>
<p>重规划与迭代:主智能体更新其内部计划,现在计划变为:</p>
<ul>
<li>搜索B公司的Q2财务新闻。</li>
<li>...(后续步骤根据新的信息进行调整)...</li>
<li>智能体继续这个“行动-观察-反思-规划”的循环,直到所有子任务完成。例如,在生成图表时,它可能会调用一个“数据可视化子Agent”,并将数据传递给它。</li>
</ul>
</li>
<li>
<p>最终交付 :所有内容生成完毕后,主智能体调用“文件生成”工具,将所有文本和图表合成为一个PPT文件,并将其提供给用户。</p>
</li>
</ul>
<p>这个流程清晰地展示了智能体的动态性和自主性。它的路径不是预先固定的,而是根据每一步的执行结果和环境反馈实时生成的。这正是智能体模式与工作流模式的根本区别。</p>
<h4 id="35-小结">3.5. 小结</h4>
<ul>
<li>核心定位:解决目标明确但路径不确定的开放性、动态性问题,充当“自主决策者”。</li>
<li>架构特征:闭环的、迭代的认知循环架构。其流程具有非确定性,高度依赖实时推理和规划。</li>
<li>技术关键:核心是智能体框架(Agentic Framework)和其内部的规划(Planning)与反思(Reflection)能力。</li>
<li>挑战与前沿:该模式在成本、稳定性和可控性方面面临巨大挑战。如何确保智能体的行为符合伦理、安全可控,是当前研究的重点(如ReAct通过外部交互减少幻觉)。对于大多数团队,建议从简单模式起步,积累经验后再探索智能体。</li>
</ul>
<h2 id="四技术选型决策指南">四、技术选型决策指南</h2>
<p>为帮助读者做出明智的技术选型,我们提供以下决策矩阵:</p>
<table>
<thead>
<tr>
<th><strong>评估维度</strong></th>
<th><strong>AI调用</strong></th>
<th><strong>AI工作流</strong></th>
<th><strong>AI智能体</strong></th>
</tr>
</thead>
<tbody>
<tr>
<td>开发复杂度</td>
<td>低</td>
<td>中</td>
<td>高</td>
</tr>
<tr>
<td>运维成本</td>
<td>低</td>
<td>中</td>
<td>高</td>
</tr>
<tr>
<td>可预测性</td>
<td>高</td>
<td>高</td>
<td>低</td>
</tr>
<tr>
<td>灵活性</td>
<td>低</td>
<td>中</td>
<td>高</td>
</tr>
<tr>
<td>典型应用场景</td>
<td>问答、翻译、摘要</td>
<td>审批流程、报告生成</td>
<td>研究分析、自主任务</td>
</tr>
</tbody>
</table>
<h2 id="五总结">五、总结</h2>
<p>选择合适的AI应用模式是项目成功的关键。这三种模式并非相互排斥,而是一个演进的阶梯。一个复杂的应用系统,很可能同时包含这三种模式。例如,一个智能体可能会在其执行计划中,调用一个预定义的工作流,而这个工作流的某个节点又可能是一个简单的AI调用。</p>
<p>项目启动时,应从最简单的模式开始(AI调用),快速验证业务价值。当业务流程复杂度增加时,再逐步引入工作流引擎,将原有的调用封装为流程节点。只有在面对真正开放、动态的问题时,才考虑投入资源研发智能体,这种演进式的路径可以有效控制风险和成本。</p>


</div>
<div id="MySignature" role="contentinfo">
    <hr>
<br>
<p style="font-size: 16px; font-family: 微软雅黑, 黑体, Arial; color: #000">本文是由葡萄城技术开发团队发布,转载请注明出处:葡萄城官网</p>
<!--p style="font-size: 16px; font-family: 微软雅黑, 黑体, Arial; color: #000">了解企业级低代码开发平台,请前往活字格
</p><p style="font-size: 16px; font-family: 微软雅黑, 黑体, Arial; color: #000">了解可嵌入您系统的在线 Excel,请前往SpreadJS纯前端表格控件</p>
<p style="font-size: 16px; font-family: 微软雅黑, 黑体, Arial; color: #000">了解嵌入式的商业智能和报表软件,请前往Wyn Enterprise
</p-->

<br><br><br>
来源:https://www.cnblogs.com/powertoolsteam/p/19045815
頁: [1]
查看完整版本: 从AI调用到AI智能体:全面解析三种AI应用的技术架构