返回笔记
LLM

LangChain 的核心概念:Chain、Tool 和 Memory

LangChain LLM Chain Tool Memory Agent

LangChain 是目前最流行的 LLM 应用开发框架。理解它的三大核心概念,就能快速上手。

Chain:串联多个步骤

Chain 是把多个操作串联起来的管道。最简单的 Chain:

用户输入 → Prompt 模板 → LLM 调用 → 输出解析

复杂的 Chain 可以包含条件分支、循环、并行执行等。LangChain 提供了 LCEL(LangChain Expression Language)用 | 管道符优雅地组合 Chain。

Tool:给 LLM 装上手和脚

Tool 是 LLM 可以调用的外部能力。常见的 Tool 包括:

  • 搜索引擎:查询实时信息
  • 代码解释器:执行 Python 代码
  • 数据库查询:读取结构化数据
  • API 调用:访问外部服务

定义一个 Tool 只需要:名称、描述、参数 Schema、执行函数。LLM 根据描述决定什么时候调用哪个 Tool。

Memory:记住上下文

LLM 本身是无状态的,每次调用都是全新开始。Memory 负责管理对话历史:

  • ConversationBufferMemory:直接存储所有历史消息,简单但会越来越长
  • ConversationSummaryMemory:用 LLM 对历史做摘要,保持上下文窗口可控
  • VectorStoreMemory:把历史存入向量库,只检索相关的部分

Agent 是怎么组合它们的

Agent 把 Chain、Tool 和 Memory 整合在一起,形成一个完整的推理-行动循环。理解这个概念是关键。

LangChain 的替代品

LangChain 虽然流行但也有批评:封装过度、文档有时跟不上更新。可以考虑的替代方案包括 LlamaIndex(专注于 RAG)、Haystack、或者直接用原生 API 手写。