LangChain 1.0 入门实战(Part 1)详细笔记
资料来源:Part 1.LangChain 1.0入门介绍(共 11 页)
1. LangChain 1.0 核心定位:从"拼装库"到"Agent Runtime"入口(p1)
1.1 定位升级:不再只是"胶水层"
-
1.0 时代 LangChain 的角色从"把模型、工具、链路拼起来"升级为面向生产的 Agent 开发生态入口:
-
统一模型抽象(不同厂商模型调用体验趋同)
-
标准化消息/内容块(输出结构统一)
-
可插拔中间件(Middleware)(治理、审计、压缩、HITL 等)
-
与 LangGraph 深度耦合(运行时能力、可控性、可扩展性)
-
1.2 底座迁移:Agent 运行在 LangGraph 上
-
1.0 的 Agent 运行时正式建立在 LangGraph:
-
图式执行引擎(Graph runtime)
-
带状态 、检查点(checkpoint)
-
可中断/恢复(interrupt/resume)
-
持久化 、并发控制
-
-
结论:你在 LangChain 层写的 Agent,本质上跑在 LangGraph 的图执行与状态机能力上。
1.3 历史包袱清理
-
旧路线 AgentExecutor 进入退场通道。
-
官方建议:新项目优先使用 基于 LangGraph 的 Agent 方案(LangChain 1.0 入口负责"好用",LangGraph 负责"可控与可扩展")。
1.4 一句话总结(p1)
-
LangChain = 快速构建 + 统一抽象
-
LangGraph = 低层可控 + 可伸缩运行时
-
两者叠加:既快又稳。
2. 三大"里程碑式能力"(p1--p2)
2.1 create_agent:统一创建入口(p1)
-
用一个 API 拉起"基于 LangGraph 的图式 Agent 运行时"
-
默认包含:
-
循环调用(模型多轮)
-
工具执行(tools)
-
停机条件(stop conditions)
-
可注入前后置钩子(中间件)
-
图示理解(p1 图)
典型循环:request → model → action(tools) → observation → model → ... → result
即 ReAct/工具调用类 Agent 的常见闭环。
2.2 标准化内容块(Standard content blocks)(p2)
-
目的:给不同模型厂商输出定义统一规范
-
收益:降低"换模型/换云厂商"带来的解析/适配成本
-
典型影响:
-
多模态输出、工具调用结果、结构化片段等更容易用统一方式处理
-
上层链路/存储/回放更标准
-
2.3 表面积瘦身(Surface Area Trim)(p2)
-
精简命名空间与冗余 API(如旧式多套 Agent 构造器)
-
将重心放回"最常用的接口与构件"
-
目标:
-
降低选择焦虑
-
降低迁移成本
-
更清晰的最佳实践路径
-
3. 中间件(Middleware):1.0 的"王牌工程化能力"(p2--p3)
3.1 中间件是什么
-
围绕"模型调用点"的拦截器/钩子系统
-
常见钩子:
-
before_model:模型调用前 -
after_model:模型调用后 -
wrap_model_call:包裹模型调用(可替换/路由/计费/重试/限流等)
-
图示理解(p2 图)
从 request 进入后,经历:
-
before_agent -
before_model -
wrap_tool_call / wrap_model_call(分别围绕工具调用/模型调用) -
after_model -
after_agent -
输出 result
这意味着:你不改 Agent 主体逻辑,也能加上治理策略与工程能力。
3.2 典型能力与场景(p2)
A. Human-in-the-loop(人在环,HITL)
-
对"敏感工具调用"自动中断,等待人工:
- 批准 / 编辑 / 拒绝
-
要点:
-
需要启用 checkpointer 才能中断后恢复
-
在 Notebook/Studio 场景下可以用 JSON 决策恢复执行(文中提到实操验证思路)
-
B. 消息压缩/治理(上下文管理)
三类策略(p2):
-
Trimming(修剪):按条数或 token 上限,保留近期上下文
-
Deleting(删除):精确移除早期或特定类型消息
-
SummarizationMiddleware(汇总):累计 token 接近阈值时自动生成摘要,并保留若干最新消息
文中提到用 DeepSeek 演示了三套策略(侧重说明"可落地、可替换模型实现")。
C. 动态模型路由(wrap_model_call)(p3)
-
按输入规模、关键词、预算等条件在不同模型间切换
- 例:简单任务用
deepseek-chat,复杂推理用deepseek-reasoner
- 例:简单任务用
-
价值:
-
成本/延迟/效果动态平衡
-
把"模型选择"变成可配置策略,而不是写死在业务逻辑
-
3.3 这些能力为什么能"生产级"
-
因为底层基于 LangGraph 的:
-
interrupt(可中断)
-
状态持久化
-
可恢复与可观测
-
4. LangChain 1.0 vs LangGraph:职责分工(p3)
官方主张:"快速起步用 LangChain,复杂控制用 LangGraph,二者协同并行"。
| 维度 | LangChain 1.0 | LangGraph |
|---|---|---|
| 定位 | 统一抽象 + 快速搭建(模型/消息/工具/链路/标准输出) | 低层运行时(图式编排/状态管理/检查点/并发/可中断恢复) |
| Agent 入口 | create_agent(开箱即用) |
Graph API(自定义节点/边/条件) |
| 可靠性 | 借助中间件 + Graph Runtime | Pregel 风格执行/检查点 |
| 治理能力 | 中间件(HITL、汇总、修剪、预算控制等) | 中断、持久化、分支/循环、显式状态机 |
| 适用人群 | 产品/业务工程师,PoC→MVP | 平台/基础设施工程师,需要精确控制的团队 |
5. LangChain.ai 工具生态:背景与演进(p3--p8)
5.1 "第一代大模型开发工具"的历史位置(p3--p4)
-
LangChain 可视为 2022 年底大模型热潮后最早一批"真正意义上的开发框架"
-
当时(GPT-3/补全模型时代)大模型是"会推理生成文本的黑盒",难以直接落地
-
LangChain 通过组件化封装,让开发者像搭积木一样组合出:
-
对话
-
记忆
-
工具调用
-
结构化输出
从形象角度:LangChain 更像"模型能力增强器",而不是今天我们说的"Agent 框架本体"。
-
5.2 争议来源:时代变化 + 复杂度(p4--p6)
A. 模型原生能力增强导致"封装显得多余"
-
GPT-3.5 对话模型、GPT-4 的 function calling、结构化输出、system prompt 等能力逐渐原生化
-
开发者会觉得:再用 LangChain 封装一层似乎"多此一举"
B. 复杂/臃肿的工程体验(p5)
-
开发者吐槽点:
-
类太多、依赖太多
-
学习成本像学一门新语言
-
文档复杂、接口变化快
-
-
结果:某段时间出现开发者流失(p6)
C. "多模型适配"策略被对比(p6)
-
文中举例:谷歌 ADK 采用 LiteLLM 做底层模型调度,一个库调用多模型
-
LangChain 则倾向于"每个主流模型单独封装一个库"
-
用 DeepSeek 可能要装
langchain-deepseek -
用 Gemini 可能要装
langchain-google-genai
-
-
含义:生态扩展灵活,但也带来安装/依赖管理复杂度
5.3 LangChain 的改革方向:模块清晰化 + 企业级能力(p6)
文中给出"模块类别 → 示例功能"的总结表(核心能力图谱):
-
模型接口封装:OpenAI、Claude、Cohere、Qwen 等统一调用方式
-
输出结构化:JSON / Schema / 函数签名 / 文档解析
-
Memory 管理:Buffer / Summary / Entity / Conversation memory
-
Tool 接入:Web 搜索、SQL DB、Python 执行器、API 代理
-
Agent 架构:ReAct、Self-Ask、OpenAI Function Agent 等
-
RAG 集成:Retriever、Vector Store、文档拆分策略
-
Server/API 发布:把链部署为 Web 服务 / A2A Agent
-
Debug & Callback:Token 使用统计、LangSmith 可视化追踪
结论(p6 原文意思):
LangChain 是 LLM 功能开发的"积木工厂",是模型增强器 + 应用组装工具箱,而不只是"框架"。
6. LangChain 家族关键产品:LangGraph / LangSmith / LangFlow(p6--p8)
6.1 LangGraph(p6--p7)
-
2023 年下半年开源
-
面向"图结构工作流 / Multi-Agent 系统"
-
支持配合 LangGraph Studio 做实时监控(文中展示效果图)
-
关键变化(p7):
-
从 LangChain 1.0 开始,LangChain 的核心
create_agent以 LangGraph 为基座 -
也就是说 LangGraph 从"高级 API"变成"基础能力层"
-
6.2 LangSmith(p7)
-
开源/平台化的 Agent 可视化监控与测试平台
-
能做:
-
监控运行流程(trace)
-
测试 Agent 功能
-
对比不同提示词效果
-
-
作用:推动 LangChain 生态进入企业级可观测与评测体系
6.3 LangFlow(p7--p8)
-
"可视化实现版 LangChain"(对标 Dify 的低代码体验)
-
特点(p8):
-
功能更完善
-
没有商业化计划(文中观点:可长期稳定使用)
-
-
GitHub 关注度:在工具家族中仅次于 LangChain(文中给了 stars 量级的对比描述)
7. 为什么"当下大模型开发人员必备技能:LangChain"(p9)
文中观点总结:
-
生态全面:适用于小规模实验到大规模商业部署
-
既支持代码开发,也支持低代码形态(LangFlow)
-
即便 OpenAI/Google 等发布新一代 Agent 框架,LangChain 在很多场景仍不可替代
-
相比之下,一些其他框架(如 AutoGen、CrewAI)适用面在收缩(文中表述倾向)
8. 案例/项目引用(p9--p11)
8.1 deer-flow(字节 Deep Research 应用)(p9--p10)
- 文中提到:deerflow 采用 LangChain & LangGraph 作为底层框架(用来说明其工程落地广泛)
8.2 Gemini Fullstack LangGraph Quickstart(p10--p11)
-
Google 的热门开源 quickstart 项目
-
用 LangGraph 作为基础框架(强调 LangGraph 的"底座地位")
9. 学习与落地建议(基于本讲内容整理)
9.1 建议的学习路径
-
先用 LangChain 1.0 的
create_agent快速跑通 demo(闭环:模型↔工具↔观察↔再推理) -
重点掌握 Middleware:
-
HITL(中断/审批)
-
消息治理(trim/delete/summarize)
-
模型路由(wrap_model_call)
-
-
需要复杂编排/可控状态机时,下沉到 LangGraph Graph API:
-
显式节点/边/条件
-
分支、循环、持久化、并发
-
-
上线前用 LangSmith 做可观测与评测体系(trace + prompt 对比)
9.2 面试/复盘时可用的"关键表述"
-
LangChain 1.0 的核心变化:Agent Runtime 建立在 LangGraph 上
-
Middleware 是 1.0 的工程化抓手:不改业务逻辑也能实现治理与策略
-
LangChain vs LangGraph:一个偏开发入口与抽象,一个偏运行时与可控编排