10分钟讲清楚LLM 、 智能体 、工作流 和 MCP

337 阅读20分钟

大型语言模型(LLMs)的出现,推动人工智能(AI)实现了重大突破。这些功能强大的系统重塑了自然语言处理领域的发展态势,然而,只有当它们具备推理、规划及自主行动等自主能力时,才能充分发挥其真正的潜力。 img

1、从大型语言模型到AI智能体

大型语言模型作为人工智能领域极具标志性的重大成果,凭借对海量数据的深度训练,具备了产出流畅且逻辑连贯文本的能力,为各类自然语言处理任务筑牢了坚实根基。但不容忽视的是,这类模型从根本属性上来说属于被动型工具,仅能依据用户输入的指令进行文本生成,在主动执行任务以及与外部环境展开交互方面存在天然局限 。 img

AI智能体的诞生彻底扭转了原有态势。它绝非简单的语言模型迭代产物,而是为人工智能注入了自主意识与主动执行能力。AI智能体不仅能够精准把握任务核心目标,还能凭借强大的推理和规划能力制定出完备的行动策略,并且可以灵活对接外部工具及系统,从而高效完成各类复杂任务。从被动响应到主动行动的质变,让人工智能的应用边界得到了前所未有的突破。

2、AI智能体的组成

特征

  • 自主性:AI 智能体具备独立感知外部环境、自主做出决策并执行相应行动的能力,摆脱了对人类持续干预的依赖。
  • 适应性:它们能够依据不同任务需求和环境变化,灵活调整自身行为模式,展现出极强的应变能力。
  • 交互性:AI 智能体可与人类用户、其他智能体及外部系统实现高效沟通与协同合作。

组成

  • 感知模块承担着收集和处理外界信息的重任,例如借助自然语言理解技术解析用户输入;
  • 推理引擎基于感知模块获取的信息,进行逻辑推演并完成决策制定;
  • 规划模块围绕任务目标,制定详细的行动步骤与策略;
  • 执行模块则负责将规划方案付诸实践,通过与外部工具或系统交互达成任务目标

3、聊天机器人类型

聊天机器人并非新近才出现的事物。早在生成式人工智能(Gen AI)这一概念诞生之前,或许你就已在浏览网站的过程中,有过和聊天机器人交流的经历。不过,传统的聊天机器人和如今由AI驱动的对话代理有着本质区别。下面为你介绍它们常见的工作模式:

img

基于启发式的响应

传统启发式响应聊天机器人主要依托基于规则的逻辑,通过 “如果 - 那么” 语句来运行。它们的运作被严格限制在预设规则框架内,一旦遭遇复杂或语义模糊的查询,便束手无策。这类机器人的致命缺陷在于,当用户提问超出既定规则范围,就无法输出有效的回应。

固定化的回答

固定化回答也是传统聊天机器人的显著特征,其答案都是静态且预先设定好的。它们通过识别特定关键词或短语,机械地触发预设回答,缺乏根据对话上下文灵活调整的能力,导致对话缺乏深度与互动性。

人工接管

传统聊天机器人普遍设有 “转接人工客服” 功能,用于处理无法解决的问题。在面对复杂问题时,人工介入依旧不可或缺,这使得它们在处理复杂或需深度理解的场景时,暴露出明显短板。

LLM机器人

随着大型语言模型(LLM)的诞生,聊天机器人技术实现了革命性突破。LLM 驱动的聊天机器人摒弃了传统的固定规则和预设答案模式,借助自然语言理解(NLU)与自然语言生成(NLG)技术,能够动态生成回复内容。其优势体现在以下方面:

  • 卓越的语言理解能力:LLM 具备强大的语义解析能力,不仅能处理复杂的语言结构,还能应对模糊、开放的问题。通过对上下文的精准分析,LLM 能够准确把握用户意图,从而输出更贴合需求、更自然流畅的回答。

  • 动态化回答生成:区别于传统聊天机器人的静态回复,LLM 驱动的聊天机器人能依据用户输入实时生成答案,极大提升了回答的灵活性,并且可以根据不同场景和用户需求,提供个性化的交互体验。

  • 减少人工干预:尽管在处理某些极端复杂问题时,仍需人工介入辅助,但 LLM 驱动的聊天机器人已能独立解决大部分常见问题,显著降低了人工客服的工作负荷,同时也大幅提升了用户的交互体验。

4、AI智能体

AI智能体的概念基于理性行为的基本理念:智能体应该采取能够最大化实现其指定目标成功的行动。这种理性正是AI智能体与简单响应程序的根本区别。

img

  • AI智能体能够在没有人类干预的情况下独立运行,并自主做出决策。
  • AI智能体能够对环境的变化做出反应,并采取主动措施以实现目标。
  • 通过处理新信息和经验,AI智能体能够学习和进化。

img

AI智能体的核心组件

  • 感知(传感器)

这些组件使智能体能够感知其环境。它们可以是物理传感器(如摄像头、麦克风)或数字输入(如数据流、用户交互)。

  • 推理(处理器)

这是智能体的“大脑”,负责处理来自传感器的信息并确定适当的行动。这一组件实现了智能体的决策算法,并维护任何必要的内部状态。AI智能体使用各种决策机制,如基于规则的系统、专家系统和神经网络,以做出明智的选择并有效执行任务。

  • 行动(执行器)

这是智能体影响环境或采取行动的手段。它们可以是物理的(如机械臂、扬声器)或数字的(如数据库更新、显示输出)。

AI智能体如何与环境互动

AI智能体与环境的互动通常被称为“感知-规划-行动”循环或“感知-行动”循环。我们以自动驾驶汽车为例来理解每个阶段:

  1. 感知阶段
  • 智能体通过其传感器接收输入。
  • 信息被处理和解释。
  • 根据新信息更新当前状态。
  1. 决策阶段
  • 智能体评估可能的行动。
  • 考虑目标和约束条件。
  • 根据可用信息选择最优行动。
  1. 行动阶段
  • 通过执行器执行选定的行动。
  • 环境因行动而发生变化。
  • 智能体通过传感器观察结果,开始新的循环。

5、AI智能体如何工作?

AI智能体与简单自动化工具的区别主要在于两个关键能力:工具使用规划

img

交响层(控制中心)

假设我想创建一个AI智能体日程安排器,我向它发出指令:“我想为我的学生举办一场网络研讨会”。这将被视作触发AI智能体的信号。

交响层(也称为控制中心)负责处理查询,无论查询是文本、音频、视频还是图像,最终都会被转换为机器可处理的数值。

交响层的四大主要功能如下:

  • 记忆:保存整个交互过程的记忆。
  • 状态:存储当前流程的状态。
  • 推理:指导智能体的推理过程。
  • 规划:确定步骤以及下一步行动。

模型(大脑)

模型是整个智能体的集中决策者,通常是像大型语言模型这样的AI模型。

为了理解查询、制定计划并确定下一步行动,模型会使用推理和逻辑框架,例如:

  • ReAct(推理+行动):确保深思熟虑且有条不紊的行动。
  • 思维链:通过中间步骤进行推理。
  • 思维树:探索多条路径以找到最佳解决方案。

何时使用智能体?

以一个冲浪旅行网站为例,假设你可以提前知道用户请求将属于两个类别之一(基于用户选择),并且你为这两种情况分别设定了预定义的工作流程:

  • 用户想了解旅行信息?⇒ 给他们提供一个搜索栏,让他们搜索知识库。
  • 用户想联系销售?⇒ 让他们填写联系表单。

直到最近,计算机程序还被限制在预定义的工作流程中,通过堆叠if/else语句来处理复杂性。它们专注于极其狭窄的任务,比如“计算这些数字的总和”或“在这个图中找到最短路径”。

6、如何构建AI智能体?

智能体是一个能够感知环境、做出决策并采取行动以实现特定目标的自主实体。智能体的复杂程度可以从简单的反应式智能体(仅对刺激做出响应)到更高级的智能体(能够学习并随时间适应)。常见的智能体类型包括:

  • 反应式智能体:直接对环境变化做出响应,没有内部记忆。
  • 基于模型的智能体:使用内部模型来做出决策。
  • 基于目标的智能体:根据特定目标规划行动。
  • 基于效用的智能体:通过效用函数评估潜在行动,以最大化结果。

为什么智能体框架如此重要?

从零开始构建智能体并非易事。像LangGraph、CrewAI和OpenAI Swarm这样的框架简化了开发过程,使开发人员能够专注于应用逻辑,而不是重新发明状态管理、编排和工具集成的轮子。智能体框架的核心优势包括:

  • 简单定义智能体和工具:提供清晰的接口和模板,方便开发人员快速上手。
  • 编排机制:管理多个智能体之间的协作和任务分配。
  • 状态管理:确保所有智能体在任务执行过程中保持一致的状态。
  • 支持复杂应用的附加工具:例如持久层(记忆)、中断处理等。

智能体框架代表了人工智能系统设计的范式转变。与依赖静态、预定义工作流的传统AI应用不同,智能体框架引入了动态、自适应的系统,能够自主地感知、推理和行动。这些框架将复杂任务分解为更小的子任务,由专门的智能体协作完成更广泛的目标。

常见的智能体框架

  • LangChain

LangChain是一个强大且灵活的框架,简化了基于大型语言模型(LLMs)的应用开发。它提供了丰富的工具和抽象层,使开发人员能够设计具备复杂推理、任务执行和与外部数据源及API交互能力的AI智能体。LangChain通过其模块化架构,解决了与LLMs协作时的诸多挑战,例如在长对话中保持上下文、整合外部信息以及协调多步骤任务等。

  • LangGraph

LangGraph是LangChain的扩展,专门用于创建基于图的单智能体或多智能体AI应用。它非常适合构建涉及规划、反思和多智能体协作的复杂交互式AI系统。LangGraph作为底层框架,允许开发人员控制智能体之间的交互、使用的工具以及应用内的信息流动。

  • CrewAI

CrewAI是一个用于编排角色扮演AI智能体的框架。它允许开发人员创建一个“团队”,每个AI智能体都有特定的角色和职责,共同完成复杂的任务。CrewAI特别适合构建需要多样化专业知识和协调努力的协作AI系统。

  • Microsoft Semantic Kernel

Microsoft Semantic Kernel旨在弥合传统软件开发与AI能力之间的差距。它特别关注将大型语言模型(LLMs)集成到现有应用中。该框架为开发人员提供了在不完全推翻现有代码库的情况下,整合AI功能的工具。其轻量级的SDK和对多种编程语言的支持,使其能够适应各种开发环境。

  • Microsoft AutoGen

Microsoft AutoGen是一个开源框架,用于构建高级AI智能体和多智能体系统。由微软研究院开发,AutoGen提供了一个灵活且强大的工具包,用于创建对话式和任务完成型AI应用。它强调模块化、可扩展性和易用性,使开发人员能够高效地构建复杂的AI系统。

  • Smolagents

Smolagents是一个前沿的开源框架,旨在彻底改变AI智能体的开发方式。它为开发人员提供了一个全面的工具包,用于构建智能的、协作的多智能体系统。Smolagents专注于灵活性和模块化,能够创建独立运行或在人类监督下协作的复杂AI系统。

  • AutoGPT

AutoGPT基于强大的GPT-4语言模型,能够通过语言输入执行目标导向的任务。它代表了自主AI智能体领域的重大进步,将决策提升到了新的水平。

  • Agno (Phidata)

Agno(原名Phidata)是一个多模态智能体框架,能够开发协作式智能体系统。它支持文本、图像和音频等多种模态数据,无需依赖外部工具即可独立运行。此外,Agno还提供了Agentic UI,方便用户与智能体进行可视化交互。

img

深入探索LangGraph

LangGraph是由LangChain团队开发的一个库,旨在帮助开发人员创建基于图的单智能体或多智能体AI应用。作为一个底层框架,LangGraph允许开发人员控制智能体之间的交互、使用的工具以及应用内的信息流动。

LangGraph的核心是基于图的应用工作流表示。图包含两个主要元素:

  • 节点:每个节点代表应用中的一个独立工作单元或操作。这些节点可以是与LLM直接交互以生成文本、调用外部工具和API、处理数据或与用户交互的Python函数。
  • :边是图中的连接线,用于指导信息流动和控制流。LangGraph支持多种边类型,包括简单边(直接从一个节点流向另一个节点)和条件边(根据特定节点的操作结果决定工作流的分支)。

7、AI智能体的类型及其应用

img

简单反射智能体(Simple Reflex Agent)

定义:简单反射智能体仅在特定动作或条件发生时才执行任务。它们根据预定义的规则做出响应,不考虑过去的经历。

特点

  • 优点:设计简单,响应迅速,适合简单任务。
  • 缺点:缺乏适应性和学习能力,无法处理复杂环境。

基于模型的反射智能体(Model-Based Reflex Agent)

定义:基于模型的反射智能体通过内部模型来处理部分可观测的环境。它们根据当前感知和内部状态做出决策,并根据环境变化更新内部状态。

特点

  • 优点:能够处理部分可观测的环境,决策更加灵活。
  • 缺点:模型构建和维护成本高,可能无法完全反映真实环境。

基于目标的智能体(Goal-Based Agent)

定义:基于目标的智能体通过环境信息来实现特定目标。它们使用搜索算法和启发式方法来找到实现目标的最优路径。

特点

  • 优点:适合需要战略规划和适应性的复杂任务。
  • 缺点:目标定义需要大量领域知识,适应性有限。

基于效用的智能体(Utility-Based Agent)

定义:基于效用的智能体通过效用函数评估多个可能行动的结果,选择效用最高的行动。它们特别适合复杂和不确定的环境。

特点

  • 优点:能够处理不确定性,灵活适应环境变化。
  • 缺点:计算成本高,依赖于准确的环境模型。

学习智能体(Learning Agent)

定义:学习智能体通过经验学习并随着时间推移改进性能。它们通常使用强化学习框架来优化行动选择。

特点

  • 优点:能够适应动态环境,持续改进。
  • 缺点:需要大量数据和计算资源,可能产生偏见。

层级智能体(Hierarchical Agent)

定义:层级智能体通过多层结构管理任务,高层智能体监督低层智能体。这种结构适合复杂任务的分解和协调。

特点

  • 优点:适合大规模任务管理,提高效率。
  • 缺点:结构复杂,适应性有限。

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

定义:多智能体系统由多个智能体组成,这些智能体通过协作或竞争来实现共同目标或优化个体结果。

特点

  • 去中心化:决策分散在多个智能体之间。
  • 协作与竞争:智能体可以协作或竞争,具体取决于场景。
  • 可扩展性:能够处理大规模问题。
  • 专业化:每个智能体专注于特定任务。

8、智能体与工作流的对比

理解智能体(Agent)与工作流(Workflow)之间的区别变得至关重要。这两者构成了现代智能体系统的核心自动化范式。

img

智能体与工作流的区别

  • 工作流(Workflows)

工作流是结构化的、基于规则的自动化流程,其结果是预先定义好的。它们通常用于处理静态的、重复性的任务,例如在电子商务系统中,用户购买产品后自动发送订单详情邮件。

特点

  • 确定性:工作流遵循线性、可预测的执行路径。
  • 适用场景:适合结构化任务,如自动化电子邮件发送、数据处理等。
  • 智能体(Agents)

智能体是动态的、决策系统,能够根据上下文适应不同的场景。它们通过感知环境并做出决策来完成任务,而不是遵循预定义的路径。

特点

  • 适应性:智能体能够实时选择使用哪些工具以及生成什么输出。
  • 适用场景:适合需要灵活性和动态决策的任务,如客户支持、复杂问题解决等。

何时使用智能体,何时使用工作流

在开发基于大型语言模型(LLM)的应用程序时,建议从最简单的解决方案开始,只有在必要时才引入复杂性。工作流提供了结构化任务的可预测性和一致性,而智能体则更适合需要灵活性和大规模模型驱动决策的场景。

img

何时使用智能体

  • 复杂任务:任务需要多步骤推理和动态适应。
  • 灵活性:任务的执行路径无法预先定义,需要实时决策。

何时使用工作流

  • 结构化任务:任务可以分解为固定的子任务。
  • 效率:需要快速、一致的执行路径。

工作流模式

  • 提示链(Prompt Chaining)

提示链将任务分解为一系列步骤,每个LLM调用处理前一个调用的输出。这种模式适用于可以轻松分解为固定子任务的场景。

  • 并行化(Parallelization)

并行化允许LLM同时处理任务,并将输出聚合。这种模式适用于需要快速处理或需要多种视角的任务。

  • 路由(Routing)

路由将输入分类并将其导向后续任务。这种模式适用于需要将复杂任务分解为不同类别的场景。

  • 协调器-工作者(Orchestrator-Worker)

在协调器-工作者工作流中,中央LLM动态分解任务,将它们委托给工作者LLM,并综合它们的结果。

  • 协调器-工作者(Evaluator-Optimizer)

在协调器-工作者工作流中,中央LLM动态分解任务,将它们委托给工作者LLM,并综合它们的结果。

9、Model Context Protocol(MCP)

LLM(大语言模型)、工具和上下文是构建智能代理系统的三大核心要素。然而随着越来越多的模型、应用和库的发布,将这些组件粘合在一起变得越来越复杂。本文将介绍Model Context Protocol(MCP)如何通过提供标准化方式来解决这个问题。

img

10、什么是MCP?

MCP被Anthropic称为"AI应用的USB-C接口"。它不像每个AI应用开发者那样创建自己的自定义连接方式,而是提供了一个所有人都可以使用的标准[1]。

这种标准化带来了社区驱动开发的力量。现在,不同团队开发的应用和工具可以通过标准流程轻松互通。

MCP的应用场景

  • 为Cursor等AI工具添加自定义集成(如Slack和Google Drive)
  • 轻松将个人工具和上下文连接到多个AI应用(如Claude、Cursor或n8n工作流)
  • 应用开发者可以利用社区构建的MCP服务器生态,零成本扩展产品能力!

11、MCP工作原理

MCP采用客户端-服务器架构。MCP客户端向MCP服务器发送请求,服务器则响应并提供工具、资源和提示的访问权限。

就像咖啡店有固定的点单流程一样,MCP也定义了AI应用访问工具和上下文的标准协议:

  1. 连接 - 客户端初始化连接,服务器响应,客户端发送初始化确认通知
  2. 交换 - 以JSON格式交换请求、响应和通知
  3. 终止 - 三种终止方式:客户端关闭、传输断开或发生错误

MCP客户端

MCP客户端内置于AI应用中,如Claude、Cursor、n8n工作流或使用OpenAI Agents SDK构建的自定义代理。

它们代表应用向MCP服务器发送请求,主要职责包括:

  • 发现服务器能力
  • 接收服务器数据
  • 管理LLM工具执行

使用现有AI应用(如Claude、Cursor)时,无需构建MCP客户端,但可能需要构建自定义MCP服务器。

MCP服务器

MCP服务器是为AI应用提供服务的独立服务,监听客户端请求并根据自身能力响应[2]。

服务器为AI应用提供三大核心功能:

  • 提示(Prompts) - 提示模板
  • 资源(Resources) - 数据、文件系统、数据库
  • 工具(Tools) - 函数、API、图像处理

服务器可以本地或远程运行,支持两种传输机制:

  • stdio(本地) - 服务器作为子进程运行,通过标准IO流与客户端通信
  • HTTP with Server-Sent Events(SSE)(远程) - 客户端到服务器使用HTTP POST请求,服务器到客户端使用SSE流。