跳至主要内容

LLM 智能体详解:架构、框架与应用场景

了解什么是 LLM 智能体,以及它如何在具有主体性的工作流中自主执行任务。理解 LangChain、CrewAI 和 LlamaIndex 背后的架构。
Tim Lu
Tim Lu

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续继续即表示您接受我们的 使用条款,我们的 隐私政策 ,并且您的数据存储在美国。

对许多人来说,大型语言模型(LLM)主要被用作对话界面。您提出问题,模型作答,互动就此结束。

然而,LLM 的能力不止于此:它们正被嵌入能够自主规划、记忆并采取行动的系统中,这就是所谓的 LLM 智能体。具备主体性的系统正在现代分析与业务工作流中越来越受欢迎。

读完本文,您将了解 LLM 智能体是什么、如何构建、有哪些类型,以及它们能在哪些方面创造价值。

要更充分地利用本文信息,建议搭配AI 基础技能路径一起阅读,以便回顾您对 AI 与 LLM 的知识。

什么是 LLM 智能体?

先来看看 LLM 智能体与标准语言模型有何不同。

常见的 LLM 界面(如聊天机器人)只能接收提示并基于其训练生成回复,无法进行外部操作或维护状态。相比之下,LLM 智能体以 LLM 为核心推理引擎(类似“大脑”),并辅以一系列支持组件,使其能够推理、规划与执行。

LLM 智能体将重点从“自动化”转向“自主性”。

自动化使 LLM 能够接收输入并按一系列步骤生成输出;而具备自主性后,我们为 LLM 提供一套工具,并让其基于对情境的认知自行决定如何更好地求解。这使 LLM 拥有更大的灵活性与复杂度,从而更“独立”地行动。

可以把普通 LLM 想象成一位基于自身知识回答问题的专家顾问;而 LLM 智能体则像这位专家带领一个团队:它决定要问哪些问题、咨询哪些团队成员(工具),以及如何整合他们的答案形成解决方案。

LLM 智能体的核心组件

一个 LLM 智能体由若干核心组件构成:

  • LLM 本身(大脑)
  • 规划逻辑
  • 记忆
  • 工具

下图展示了它们之间的关系。

General LLM Agent Architecture

LLM 大脑

LLM 充当智能体的认知核心。它理解用户目标、推理中间步骤,并决定要采取的行动。实际中,LLM 会被反复调用,而非仅调用一次。

每次调用 LLM 时,都会向其提供上下文,可能包括最初的目标、先前的行动、工具输出以及相关记忆。基于这些信息,它会决定下一步行动。因此,LLM 的角色更像是一个控制器,而不仅是静态文本生成器。

对于数据从业者而言,需要理解的是 LLM 并不会直接执行代码或查询。它会生成由其他组件解释的结构化指令。智能体的质量往往取决于这些指令被约束与验证得有多好。

规划逻辑

规划逻辑使智能体能够将复杂问题拆解为可管理的步骤来求解。没有规划时,智能体会尝试在一次回复中解决所有问题,这往往会导致错误或幻觉。

在规划阶段,智能体会将一个高层目标分解为更小的任务。例如,“分析客户流失”可能被分解为“加载客户数据”“计算流失率”“识别趋势”“总结结论”。每个子任务随后按顺序或有条件地执行。

一种常用技术是链式思维(CoT),通过将一系列操作串联为顺序提示,鼓励模型进行显式推理。

ReAct(推理与行动)更进一步,将推理轨迹与工具调用的行动及外部观察交错进行。这种外部反馈有助于智能体保持扎实落地,并在中间结果与预期不符时进行自我纠正。

记忆

记忆使智能体能够在多轮交互与行动之间保持连贯性,复用先前信息。没有记忆,每一步都会相互割裂,智能体被迫一次次重新发现相同的知识。

短期记忆通常存在于 LLM 的上下文窗口中,包括最近的消息、中间推理和工具输出。类似于计算机体系结构中的 RAM,这种记忆速度快但容量有限,且一旦超出上下文就会消失。

长期记忆则由外部实现,通常使用向量数据库。诸如RAG(检索增强生成)等技术可让智能体检索相关文档或过往交互,并将其注入当前上下文。

工具

工具将智能体的能力延展到语言之外。它们让智能体能够与现实世界交互,包括数据库、API 和计算引擎。

从智能体的角度看,工具是带有定义明确输入与输出的可调用函数。LLM 决定何时使用工具、提供什么参数以及如何解释结果。这种决策能力是智能体区别于脚本化工作流的关键。

工具可以包括 Google 搜索、SQL 执行、Python 解释器以及各类 API。智能体实际上可以使用与我们相同的技术工具,并将它们组合起来执行解决方案。

上图展示了通用的 LLM 智能体架构。大脑提供记忆和规划信息,随后借助工具发起一系列任务。

LLM 智能体的类型

本节概述从最基础的反射式智能体到复杂的学习型智能体的不同类别。

 Agent intelligence hierarchy

简单反射式智能体

简单反射式智能体基于直接的条件—动作规则运行。它们不会考虑历史、未来后果或备选行动。一旦条件满足,就立即执行相应动作。

这种简单性让其易于实现,但也极其脆弱。任何意外输入或缺失信号都可能导致错误行为。它们也无法适应变化的环境。

电子邮件退订机器人就是一个典型限制:它执行任务很快,但缺乏情境感知,可能带来不良结果。

基于模型的反射式智能体

基于模型的反射式智能体通过维护环境的内部表示改进了简单反射式智能体。这个内部模型使它们能够推理那些不立即可见的事物。

通过随时间跟踪状态,这类智能体可以处理部分可观测问题。它们会记住已经发生的事情,并用这些信息来指导未来行动。

诸如 Copilot 或 Cursor AI 等 IDE 助手就是很好的例子。它们在一次会话中保持对文件、变量与函数的感知,从而提供比简单模式匹配更智能的建议。这也为迈向下一类智能体铺平道路。

基于目标的智能体

基于目标的智能体围绕结果而非触发条件进行设计。它们会基于行动是否让系统更接近期望目标来规划与评估,而不只是被动反应。

这类智能体生成的计划可能包含多步骤与条件分支。如果一种方法失败,它们可以尝试替代路径。这使其比反射式智能体灵活得多。

例如,制定旅行行程展示了如何将一个高层目标分解为跨系统的多项协调行动。

智能体不只是对“给我一个行程”这类简单提示做出机械回答。相反,它可能将目标拆分为更小的子问题,例如:

  • 我们如何在城市之间出行?
  • 每座城市有哪些最佳餐厅?
  • 如何将不同活动排期在一起?

随后通过组合各个子问题的解来实现生成行程这一目标。

基于效用的智能体

基于效用的智能体在基于目标的基础上引入了优化。它们不仅仅满足于达到目标,而是通过“效用函数”来评估不同结果的优劣。

效用函数会基于成本、时间、风险或用户偏好等标准为结果打分,智能体随后选择使整体效用最大化的行动序列。

这在推荐系统与优化问题中很常见,比如寻找最佳路线、推荐合适产品,或为特定用户提出最佳的分析方案。

学习型智能体

学习型智能体旨在无需显式重新编程的情况下,随着时间推移改进行为。

在每一次迭代中,智能体都会获得反馈,并据此改进性能。它们运行在最优行为并非事先已知的环境中,无需为每个新情境显式重写程序。

主要包含两个组件:“评估者(Critic)”与“学习单元(Learning Element)”。“评估者”对结果进行评估并提供反馈;“学习单元”利用反馈调整未来决策。随着时间推移,智能体会更贴合用户偏好或环境约束。

例如,想象一个为您总结每日新闻的 LLM 智能体。它可能观察您的行为并适应您的偏好。如果它发现您很少打开“体育”摘要,却对“美食与饮品”感兴趣,它可能停止提供体育摘要,转而关注您钟爱的菜系或餐厅。

LLM 智能体小结

下表总结了不同类型 LLM 智能体之间的差异。

智能体

核心理念

记忆

规划

学习

复杂度

示例

简单反射式智能体

将条件直接映射到动作

无

无

无

极低

自动归档包含“unsubscribe”一词的邮件

基于模型的反射式智能体

维护环境的内部模型

有(状态跟踪)

最低限度

无

低

IDE 助手记住会话早前定义的变量或文件

基于目标的智能体

采取行动以实现特定目标

有

有

无

中等

为商务旅行预订航班、酒店与交通

基于效用的智能体

基于偏好选择最佳结果

有

有

无

中到高

旅行代理在成本、时长与舒适度间做最优权衡

学习型智能体

基于反馈随时间改进行为

有

有

有

高

根据用户参与模式自适应内容的新闻智能体

构建 LLM 智能体的主流框架

本节介绍用于构建 LLM 智能体系统的常见框架。

LangChain

LangChain 提供用于构建由 LLM 驱动系统的模块化框架。其核心理念是:复杂工作流可由简单组件组合而成。它将与不同 LLM 的通信难题抽象为 Python 对象,替用户处理。

LangChain 的关键概念是“链(Chains)”,将提示、模型与解析器串联为可复用的工作流。例如,您可以使用 PromptTemplate 作为输入喂给 LLM,并由 OutputParser 处理。

LCEL(LangChain 表达式语言)提供了声明式语法,允许用户使用管道符(|)直观地组合链。因此,您无需在经典 Python 工作流中显式地将提示传入模型,只需编写 chain = prompt | model,其余由 LangChain 处理模板化。

对于更复杂的功能,LangChain 允许用户为其智能体添加诸如维基百科、Python REPL 和 Google 搜索等工具

LangGraph 在 LangChain 的功能之上构建,将这些概念与记忆结合,支持具有明确执行流控制的有状态、生产级智能体架构。

除 LangGraph 外,LangChain 生态进一步扩展,包含更易观测智能体的方式(LangSmith)以及拖拽式界面(LangFlow)。

LlamaIndex

LlamaIndex 在以文档为中心的工作流中表现出色,提供高精度 OCR 与 90 多种非结构化文件类型的解析,并可选配主体性工作流以实现智能检索与抽取。

其数据连接器简化了从多种来源的数据摄取,而索引结构优化了检索。其中 VectorStoreIndex 是语义搜索的最常见选择。

查询引擎编排检索与生成;路由器通过为特定查询选择最合适的数据源,引入类似智能体的决策能力。

CrewAI

CrewAI 围绕协作而设计。它不是单个智能体,而是让多个具备不同角色的智能体协同工作。

其核心理念是“编队(Crews)”,即一组定义好的智能体。每个智能体被分配人格、目标与背景故事,从而塑造其行为。

任务定义需要完成的工作及成功标准。您需要定义单个任务的样貌、提供一些参数与期望输出,并指定哪些智能体负责该任务。

流程决定任务如何执行:串行、分层,或采用协调者—工作者模式,由主智能体动态分解复杂任务,模拟人类团队。

CrewAI Flows

从CrewAI 文档可以看到,Flow 为编排与触发编队提供了方式。每个编队使用具有定义角色与任务的 LLM 智能体来执行特定工作并产出期望结果。

CrewAI Crew

选择合适的框架

选择框架取决于您的问题领域与约束。上述每个框架都有其优势:

  • LangChain:提供灵活性与可控性,并能最清晰地了解各工具的工作方式
  • LlamaIndex:擅长以文档为中心的工作流,解析能力至关重要
  • CrewAI:在强调协作与角色分工、且不太关注智能体具体如何完成工作时更具优势。

请结合数据复杂性、所需自主程度与运营约束综合考虑。不存在放之四海而皆准的选择。

为辅助决策,您也可参阅我们对 LangChain 与 LlamaIndex 的比较文章,以及 CrewAI 与 LangGraph 的比较。

LLM 智能体的应用场景

LLM 智能体的用例几乎无穷无尽,只受限于您的想象力。

编码助手

现代编码助手利用主体性工作流来规划、执行与验证更改。它们能够探索代码库、生成方案、运行测试、并迭代修复错误。

例如,Cursor 可原生集成到您的 IDE,帮助您补全代码行或修复对下游有影响的流水线变更。Claude Code 能帮助您编写测试、创建完整脚本,或评估整个仓库中的代码不一致之处。我们还可以使用GitHub Copilot,在请求工作流中协助撰写 PR 与测试代码。

这使开发者的角色从“写每一行代码”转向“监督并引导智能系统”。对数据从业者而言,这能显著加速试验与原型制作。

如果您想上手由 LLM 驱动的编码助手,推荐学习使用 GitHub Copilot 进行软件开发课程。

商务智能

主体性 BI 系统允许用户用自然语言提问并获得可操作的洞见。智能体可以将问题翻译为 SQL、执行查询并解释结果。

您可以像与团队资深成员对话一样与数据对话,并实时获得新的洞见与可视化。这降低了对仪表板的依赖,并让非技术团队成员也能开展探索性分析。

文档与信息综述

研究型智能体可自动化信息搜集与综合。它们会搜索网络、检索来源并总结发现;部分系统还包含基础的来源质量过滤。它们甚至可以查看托管在 Notion 上的内部文档或 Slack 中的消息。

在接入这些信息源后,LLM 智能体不仅能快速综合信息,还能为团队生成完整文档与摘要,便于快速共享信息。

这在快速变化、静态数据集很快过时的领域尤为有价值。智能体可提供持续更新的洞见。

想获取更多 AI 智能体的应用灵感,请参阅我们的指南十大 AI 智能体项目。

主体性工作流的关键挑战

尽管主体性工作流强大非凡,但也自带挑战。智能体可能幻觉化步骤、误解工具输出,或陷入冗长或非预期的循环。对生产系统而言,护栏、验证与可观测性至关重要。

智能体的每次行动通常都需要一次 LLM 调用。复杂任务可能涉及数十次调用,从而增加延迟与 API 成本。此外,您可能还需为云存储、云计算等支撑 LLM 智能体的基础设施付费。

自主系统比确定性代码更难调试。要理解智能体做出某个决策的原因,需要追溯其状态、记忆与推理步骤。

具体难度还取决于您使用的智能体框架。一些框架(如 CrewAI)由于更高的复杂度而进行了更深的抽象;而像 LangChain 这类更直接的框架,则侧重于简化对 LLM 的访问。

结语

我们正从孤立的聊天机器人,迈向能够推理、规划与行动的完整主体性工作流。尽管仍处早期,这一范式已在重塑数据系统的构建与使用方式。

对于有志于数据领域的从业者,如今学习 LLM 智能体将为未来岗位提供强大优势。这些系统代表着智能自动化的未来。

通过我们的用 LangChain 设计主体性系统课程开始练习并构建这些 LLM 智能体吧!

LLM 智能体常见问答

LLM 智能体会自行编写并执行代码吗?

LLM 智能体本身并不会固有地直接执行代码。它们会决定何时调用诸如 Python 解释器、SQL 引擎或沙箱执行环境等工具,由这些工具运行代码并将结果返回给智能体。

LLM 智能体的核心组件有哪些?

核心组件包括 LLM 大脑、规划逻辑、记忆与工具。这些组件在反馈回路中协同工作,从而实现自主行为。

当今最常用的 LLM 智能体类型是什么?

大多数生产系统使用基于目标或基于效用的智能体,因为它们在自主性与可控性之间取得了平衡。学习型智能体正在涌现,但在大规模安全部署方面更具难度。

LLM 智能体面临的最大挑战是什么?

主要挑战包括可靠性问题(如幻觉)、更高延迟、由于多次模型调用带来的更高成本,以及相比传统软件更复杂的调试过程。

LLM 智能体与聊天机器人有何不同?

聊天机器人回答单个问题并专注于单一目标。LLM 智能体则能将目标拆解为步骤,使用工具采取行动、观察结果,并在任务完成前不断调整其行为。

Tim Lu

作者

Tim Lu

我是一名数据科学家,擅长空间分析、机器学习和数据管道。曾使用过 GCP、Hadoop、Hive、Snowflake、Airflow 等数据科学/工程相关流程与工具。

主题