在大模型时代,AI 应用的复杂度越来越高,单纯的 Prompt 调用已经无法满足需要复杂工具使用、上下文记忆、结构化推理的智能应用。LangChain 作为当下最流行的 AI Agent 开发框架 之一,正在成为智能应用工程化的事实标准。
本文将从 是什么 → 能做什么 → 怎么做 → 实战示例 → 工程化落地建议 的角度,带你系统了解 LangChain。
一、什么是 LangChain?
LangChain 是一个用于构建 LLM 应用 的开发框架,提供了 Prompt 组织、工具调用、知识库检索、Agent 构建等一系列能力,使得开发者可以以模块化方式搭建复杂智能体。
其核心目标是:
- 让大模型真正具备“能力”,而不仅仅是聊天
- 让 Agent 可以调用外部系统、数据库、API、工具
- 将复杂逻辑拆解为可组合模块
LangChain 主要由三大基础模块构成:
- LLM(语言模型层):OpenAI、Anthropic、DeepSeek、Llama……
- Tools(工具层):计算器、搜索引擎、数据库查询、浏览器控制……
- Agents(智能体):基于模型 + 工具 + 记忆的推理控制器
因此一句话总结:
LangChain = LLM + Memory + Tools + Agent + Workflow
它不是一个模型,而是一个构建智能体的工程化框架。
二、LangChain 的核心能力解析
1. Prompt Template —— 可复用的 Prompt 模板
LangChain 将 Prompt 结构化,让提示词可以包含参数、变量、动态内容:
from langchain.prompts import PromptTemplate
template = PromptTemplate(
input_variables=["product"],
template="为{product} 写一段推广文案"
)
print(template.format(product="AI Agent框架"))
这种结构化方式适合构建可维护的智能应用。
2. Memory —— 让模型拥有“记忆”
支持包括:
- 会话记忆
- 长期知识库记忆
- 缓存(Cache Memory)
- 自定义记忆结构
示例:
from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory()
memory.save_context({"input": "你好"}, {"output": "你好,我是AI"})
3. Tools —— 让大模型调用外部能力
智能体真正的核心是 可调用工具(Tools)。
LangChain 内置常见工具:
- 计算器
- Python 执行器
- 搜索引擎(Google/Bing)
- 浏览器(Playwright)
- 请求 API
- SQL 数据库查询
- 文件系统操作
- 各类第三方插件
示例注册工具:
from langchain.agents import Tool
def weather(city):
return f"{city} 今天多云,气温 20 度"
tools = [
Tool(
name="get_weather",
func=weather,
description="获取城市天气"
)
]
4. Agent —— LangChain 的灵魂
Agent 可以根据模型的推理结果选择工具,从而完成任务。
例如:
- 用户输入「查询北京的明天天气,并算出是否适合爬山」
- 模型判断需要调用天气 API
- 解析天气数据
- 使用工具计算气温是否适合户外运动
- 返回最终结论
LangChain 内置多种 Agent 类型:
- ReAct Agent:最经典的推理链结构
- OpenAI Functions Agent:函数调用式
- Tool Calling Agent:新一代智能调用模式
- Multi-Agent:多个智能体协作
5. Chains —— 将复杂任务拆解为“工作流”
例如:
- SummarizationChain:文档总结
- RetrievalQA:知识库问答
- RouterChain:根据用户意图选择工作流
- SequentialChain:前后依赖的流水线
适合构建中等复杂度的处理流程。
三、LangChain + LLM 的 Agent 开发实战
下面我们构建一个 可查询天气 + 计算建议的 AI Agent。
1. 安装依赖
pip install langchain langchain-openai
2. 初始化模型
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-4.1",
temperature=0
)
3. 注册工具
from langchain.agents import Tool
def get_weather(city: str):
# 模拟外部 API
return f"{city} 明天晴,气温 28°C"
tools = [
Tool(
name="weather_query",
func=get_weather,
description="根据城市名称获取天气信息"
)
]
4. 创建 Agent
from langchain.agents import initialize_agent, AgentType
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.OPENAI_FUNCTIONS,
verbose=True
)
5. 调用 Agent
result = agent.run("帮我查询北京明天天气,并判断是否适合爬香山")
print(result)
结果类似:
北京明天晴,气温 28°C,整体干燥凉爽,适合爬山活动。
至此,一个具备工具调用能力的智能体就完整运行起来了。
四、构建多智能体协作系统(Multi-Agent)
LangChain 还支持多个 Agent 分工合作。例如创建:
- WriterAgent:负责写文章
- ResearchAgent:查找资料
- QAAgent:校验逻辑
- PlannerAgent:项目计划
多个 Agent 可以通过 “消息传递” 协同输出复杂结果。
示例架构:
Planner ——> Research ——> Writer ——> Reviewer
可用于:
- 文档生成
- 项目规划
- 数据分析
- 自动化工作流
- 多步骤决策任务
五、LangChain 的工程化能力:为什么它适合构建 AI 产品?
1. 模块化设计
Prompt、Model、Agent、Memory、Tools、Chains 都可拆分和复用。
2. 强大的生态系统
LangChain 的生态覆盖:
- 搜索(Google / Bing / Serper)
- 数据库(MySQL、Postgres、MongoDB)
- RAG(向量数据库:Pinecone、Milvus、Chroma)
- 工作流引擎(LangGraph)
- 多 LLM 后端
- 浏览器自动化
- 文件系统和执行环境
3. 可扩展性、可解释性好
Agent 的推理链可以输出完整日志,方便调试和审核。
4. 和 LangGraph 配合构建复杂工作流
LangChain + LangGraph 已成为大模型工作流的主流组合。
六、实战:构建一个 RAG 知识库 Agent
下面是一个小型但可落地的知识库问答实现。
步骤:
- 加载文档
- 分段 Chunk
- Embedding 向量化
- 建立向量数据库
- 构建 RetrievalQAChain
示例代码:
from langchain.document_loaders import TextLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectorstores import Chroma
from langchain.embeddings import OpenAIEmbeddings
from langchain.chains import RetrievalQA
# 加载文档
loader = TextLoader("docs/langchain_guide.txt")
docs = loader.load()
# 分段
splitter = RecursiveCharacterTextSplitter(chunk_size=500)
chunks = splitter.split_documents(docs)
# 构建向量数据库
db = Chroma.from_documents(chunks, OpenAIEmbeddings())
# 构建检索器
retriever = db.as_retriever()
# 构建 QA Chain
qa = RetrievalQA.from_chain_type(
llm=ChatOpenAI(),
retriever=retriever,
)
res = qa.run("LangChain 的 Agent 是如何协作的?")
print(res)
这个 RAG 架构已经足够应对:
- 企业知识库问答
- 产品文档 FAQ
- PDF/Markdown 文档问答
- 项目说明书解析
七、最佳实践与踩坑总结
1. Prompt 规范化非常重要
建议:
- 使用 PromptTemplate 管理
- 分角色提示
- 定义格式约束
2. 工具函数要小而精确
模型最容易犯错的地方是:
- 工具描述模糊
- 输入输出不够结构化
- 工具数量过多导致选择混乱
3. Agent 选择很关键
- 简单任务用 Chains
- 工具调用用 OpenAI Functions Agent
- 多步骤推理用 ReAct Agent
- 复杂系统用 LangGraph(强烈推荐)
4. 结合 RAG 使用 LangChain 才能发挥价值
否则 Agent 无法理解企业私有知识。
5. Agent 避免工具滥用
设置:
- 工具调用上限
- 超时
- 严格的输入校验
八、总结
LangChain 已经成为 AI Agent 开发的主流框架,它提供:
- 标准化的 LLM 调用方式
- 强大的工具调用能力
- 完整的 Agent 体系
- 模块化的工程架构
- 可扩展的知识库 RAG 能力
- 多 Agent 协作框架
无论是构建:
- 智能问答应用
- 自动化办公助手
- 数据分析 Agent
- 多智能体协作系统
- 企业级 AI 工程平台
LangChain 都能提供足够强大的能力。
如果你正在考虑构建一个真正可落地的 AI Agent 应用,LangChain 会是一个非常合适的起点。
文章评论