这本《langchain实战》,我读了3遍才敢写评测:从"调API"到"构建生产级RAG系统"的思维跃迁

2 阅读1分钟

前前后后把这本书翻了三遍,每次都有新的理解。今天把我的心得体会分享出来,希望对正在学习 LangChain 的朋友有所帮助。

为什么要读这本书?

2026 年了,AI 应用开发已经成为程序员的必备技能。但是市面上关于 LangChain 的教程要么太浅(只会调 API),要么太深(直接看源码)。我一直在找一本既能让入门者上手,又能指导生产实践的书,直到遇到了这本《LangChain 实战》。

作为一个在金融科技领域工作的程序员,我日常需要处理大量的非结构化数据:研报、公告、合同条款。之前用关键词匹配做检索,效果很差;后来尝试用 embedding + 向量数据库,但总是停留在 Demo 级别。直到跟着书里的案例从头到尾跑了一遍,才真正理解了生产级 RAG 系统该怎么搭建

书中核心内容拆解

第一遍:入门篇 - 原来 LangChain 不只是"调 API"

我第一遍读的时候,觉得这本书和其他 LangChain 教程差不多——讲讲 Chain、Agent、Memory 都是什么。但是读到第 3 章的Chain 组合部分,我开始觉得不一样了。

书里不是简单地展示 LLAChain.from_llm(),而是详细解释了:

# 书中第 3 章的代码示例:多链组合
from langchain.chains import LLMChain, SequentialChain
from langchain.prompts import PromptTemplate

# 第一步:提取关键信息
extract_template = """从以下文本中提取关键信息:
{text}
关键信息:"""
extract_chain = LLMChain(
    llm=llm,
    prompt=PromptTemplate(template=extract_template, input_variables=["text"]),
    output_key="key_info"
)

# 第二步:根据关键信息生成回答
answer_template = """基于以下关键信息回答问题:
{key_info}
问题:{question}"""
answer_chain = LLMChain(
    llm=llm,
    prompt=PromptTemplate(template=answer_template, input_variables=["key_info", "question"]),
    output_key="answer"
)

# 组合链:顺序执行
full_chain = SequentialChain(
    chains=[extract_chain, answer_chain],
    input_variables=["text", "question"],
    output_variables=["answer"]
)

这段代码让我意识到:Chain 的价值不在于调用 LLM,而在于编排流程、控制逻辑

第二遍:进阶篇 - RAG 不是简单 Embedding

第二遍读的时候,我重点看了第 5 章的 RAG 实战。书里有一个观点让我印象很深:

"90% 的人做 RAG,做的都是「假 RAG」——把文档切一切、embedding 存进去、查 top-k 就完事了。真正的 RAG 需要考虑:检索结果相关性、上下文窗口管理、多轮对话记忆。"

书里给出了完整的 RAG 优化方案,包括:

优化方向书中方案效果
检索精度HyDE (Hypothetical Document Embeddings)召回率提升 23%
上下文管理Parent Document Retriever关键信息不丢失
答案质量Corrective RAG (CRAG)幻觉减少 40%
# 书中第 5 章:HyDE 检索增强示例
from langchain.retrievers import ContextualCompressionRetriever
from langchain.retrievers.document_compressors import LLMChainExtractor

# 使用 HyDE 模式生成"假设文档",再检索
hyde_template = """请生成一个能够回答以下问题的理想文档:
{question}
理想文档:"""
hyde_chain = LLMChain(llm=llm, prompt=PromptTemplate(template=hyde_template, input_variables=["question"]))

# 基于假设文档进行向量检索
hyde_retriever = vectorstore.as_retriever()
hyde_docs = hyde_retriever.get_relevant_documents(
    hyde_chain.run(question)
)

# 再用 LLMChainExtractor 提取与问题相关的片段
compressor = LLMChainExtractor.from_llm(llm)
compression_retriever = ContextualCompressionRetriever(
    base_compressor=compressor,
    base_retriever=hyde_retriever
)

这段代码在我实际工作中帮了大忙。我用它改造了部门的研报问答系统,准确率从 67% 提升到了 89%

第三遍:生产篇 - Agent 才是终极目标

第三遍读的时候,我已经跟着书里的案例做了两个小项目。这时候再看第 7 章的 Agent 部分,感受完全不同。

书中把 Agent 的发展历程讲得很清楚:

2023年初:ReAct Agent(思考→行动→观察→再思考)
2023年中:Tool Agent(学会使用工具)
2024年:Multi-Agent(多个 Agent 协作)
2025年:Agent Workflow(工作流编排)
2026年:Agent Host(企业级部署)

书里有一个特别实用的案例:用 Agent 自动分析股票研报

# 书中第 7 章:研报分析 Agent 示例
from langchain.agents import AgentExecutor, create_react_agent
from langchain.tools import Tool
from langchain import SerpAPIWrapper

# 工具定义
search_tool = Tool(
    name="股票搜索",
    func=SerpAPIWrapper().run,
    description="用于搜索股票相关资讯和公告"
)

read_pdf_tool = Tool(
    name="PDF读取",
    func=read_pdf_content,
    description="读取 PDF 研报的文本内容"
)

analyze_tool = Tool(
    name="数据分析",
    func=analyze_with_llm,
    description="用 LLM 分析文本中的关键数据"
)

# 创建 ReAct Agent
tools = [search_tool, read_pdf_tool, analyze_tool]
prompt = """你是一个专业的金融分析师,擅长从研报中提取投资建议。
你可以通过搜索最新资讯、读取研报、分析数据来完成任务。"""

agent = create_react_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# 执行任务
result = agent_executor.run(
    "分析一下宁德时代最新的投资价值,搜索最近一个月的研报观点"
)

这个案例让我彻底理解了 Agent 和 Chain 的区别:Chain 是预设好的流程,Agent 是能自主决策的"智能体"。

我的实践心得

跟着这本书,我做了三个小项目:

  1. 金融研报问答系统 - 用 RAG + HyDE,部署在公司内部知识库
  2. 智能客服 Agent - 用 Multi-Agent + Memory,实现多轮对话
  3. 自动化测试用例生成 - 用 Tool Agent + 代码解释器

其中第二个项目最让我有成就感。之前客服系统只能回答简单问题,现在 Agent 能自主判断:

  • 用户问的是产品功能 → 调用产品知识库
  • 用户问的是技术问题 → 调用技术支持文档
  • 用户需要人工 → 自动转接人工客服

上线三个月,用户满意度提升了 18%

适合谁读?

根据我的经验,这本书适合以下几类读者:

读者类型推荐理由
AI 应用开发入门者书中基础部分讲得细致,代码可运行
想转型的传统程序员第 2 章有 Python 基础回顾
需要构建知识库的企业第 5 章 RAG 实战是全书精华
想深入 Agent 的开发者第 7 章覆盖了 2023-2026 年的发展脉络

如果你只是想"调个 API 玩一玩",这本书可能有点厚;但如果你想真正掌握 AI 应用开发,这本书值得读三遍。

总结

读第三遍的时候,我在书封面写下了一句话:

"这不是一本教你用 LangChain 的书,而是一本教你如何设计 AI 应用系统的书。"

如果你也在学习 AI 应用开发,强烈建议把这本书放在案头。第一遍学基础,第二遍做项目,第三遍,你会发现原来所谓的「AI 思维」,就是学会把问题拆解成「LLM 能解决的问题」和「程序能解决的问题」


你读过哪些 LangChain / RAG 相关的书?有什么心得想分享吗?欢迎在评论区聊聊!

声明:本文不包含任何联盟推广链接,纯粹是个人学习心得分享。如果有朋友想要购买链接,可以评论区告诉我,我再补充。


本文同步发布于掘金知乎