LangChain 1.0 入门实战(Part 1)详细笔记

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):

  1. Trimming(修剪):按条数或 token 上限,保留近期上下文

  2. Deleting(删除):精确移除早期或特定类型消息

  3. 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 建议的学习路径

  1. 先用 LangChain 1.0 的 create_agent 快速跑通 demo(闭环:模型↔工具↔观察↔再推理)

  2. 重点掌握 Middleware

    • HITL(中断/审批)

    • 消息治理(trim/delete/summarize)

    • 模型路由(wrap_model_call)

  3. 需要复杂编排/可控状态机时,下沉到 LangGraph Graph API

    • 显式节点/边/条件

    • 分支、循环、持久化、并发

  4. 上线前用 LangSmith 做可观测与评测体系(trace + prompt 对比)

9.2 面试/复盘时可用的"关键表述"

  • LangChain 1.0 的核心变化:Agent Runtime 建立在 LangGraph 上

  • Middleware 是 1.0 的工程化抓手:不改业务逻辑也能实现治理与策略

  • LangChain vs LangGraph:一个偏开发入口与抽象,一个偏运行时与可控编排

相关推荐
only-lucky2 小时前
Python版本OpenCV
开发语言·python·opencv
三万棵雪松2 小时前
【python-基础】
开发语言·python
先做个垃圾出来………2 小时前
2610.转换二维数组
开发语言·python
java1234_小锋2 小时前
[免费]基于Python的Django+Vue3在线商城系统(简易版)【论文+源码+SQL脚本】
python·django·商城系统·python毕业设计·在线商城
ray9632 小时前
Python——for循环和range()函数
python
jdlxx_dongfangxing2 小时前
每日课堂笔记(2026年1月1日)
笔记
vibag2 小时前
Model大模型接口
python·语言模型·langchain·大模型
北岛寒沫2 小时前
北京大学国家发展研究院 经济学辅修 经济学原理课程笔记(第十四课 寡头)
经验分享·笔记·学习
vibag2 小时前
提示模板PromptTemplate
python·语言模型·langchain·大模型