首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >LangChain >LangChain 的中间件(Middleware)系统支持哪些场景?

LangChain 的中间件(Middleware)系统支持哪些场景?

词条归属:LangChain

1. Middleware 的设计思想

Middleware 是 LangChain v1.x 引入的一等公民概念,暴露了一组钩子(Hooks),允许开发者在每个执行步骤前后插入自定义逻辑。Middleware 是可组合的,多个中间件可以按需叠加,互不干扰。

2. 两类钩子机制

  • 节点级钩子(Node-Style Hooks):按顺序在特定生命周期点触发,不直接改变执行流程(除非显式跳转或抛出异常)。包括 before_agent(智能体启动前,仅触发一次)、before_model(每次模型调用前)、after_model(每次模型返回后)、after_agent(智能体结束后,仅触发一次)
  • 包装级钩子(Wrap-Style Hooks):包裹目标函数,拥有是否调用、调用次数和是否绕过的完全控制权。包括 wrap_model_call(包裹模型调用)和 wrap_tool_call(包裹工具调用),是实现重试、缓存、限流的核心位置

3. 内置中间件场景

LangChain 内置了多款常用中间件:

  • PII 脱敏中间件:在 before_model 和 after_model 钩子中自动检测并掩码/哈希个人信息,支持 HIPAA 合规需求
  • 摘要中间件(SummarizationMiddleware):在 before_model 钩子中监控 Token 使用量,当消息历史超过阈值时自动摘要压缩,防止上下文溢出
  • LLM 工具选择中间件(LLMToolSelectorMiddleware):在 wrap_model_call 钩子中使用轻量 LLM 预先筛选相关工具子集,减少上下文膨胀
  • 重试中间件:在 wrap_model_call 中实现指数退避重试逻辑,自动处理网络抖动和临时故障
  • 人工审批中间件:在 after_model 钩子中实现 human-in-the-loop,在模型输出发送给客户端前先经过人工确认

4. 自定义中间件

开发者可以通过继承 AgentMiddleware 类或使用装饰器(@before_model、@after_model、@wrap_model_call 等)编写自定义中间件。中间件可以读取和修改 Agent State,实现状态统计、日志记录、指标上报、动态配置注入等功能。

相关文章
智能体LangChain v1.0生态解读与迁移建议
之前写过一篇关于《》文章,这里先跟大家道个歉,里面确实有些东西说的有歧义,而今天则系统的对LangChain最新的v1.0生态进行解读。
匙亮旭
2026-06-17
3000
LangChain v1.0 中间件详解:彻底搞定 AI Agent 上下文控制
用 LangChain 构建 AI Agent 的人应该都遇到过这种情况:测试阶段一切正常,部署到生产环境就开始出各种问题。上下文管理混乱,Agent 的行为变得难以预测,最后不得不写一堆自定义代码来控制信息流向。
deephub
2025-11-15
1.3K0
Agent ToolCall 循环怎么定制?PI Extension 与 DeepAgents Middleware 两条岔路深度对比
无论 PI(@earendil-works/pi-coding-agent)还是 DeepAgents(langchain-ai/deepagents),它们的 agent loop 形态完全一样。但当你想"在 tool_call 这段挂点自己的逻辑"时,两边的 API 长得完全不同:
windealli
2026-05-19
5870
LangChain 彻底重写:从开源副业到独角兽,一次“核心迁移”干到 12.5 亿估值
本周,LangChain 宣布完成 1.25 亿美元融资,投后估值 12.5 亿美元。除了宣布其独角兽地位外,该公司还发布了里程碑式更新:经过 3 年迭代,LangChain 1.0 正式登场。而且,这并非一次常规的版本升级,而是一场从零开始的重写。
深度学习与Python
2025-11-26
9330
新版langchain1.x+RAG+多智能体协作 从入门到实战
LangChain 由 Harrison Chase 于 2022 年 10 月发起,从一个 800 行代码的个人项目,成长为全球增长最快的开源项目之一。但真正让它脱胎换骨的,是 1.x 版本的推倒重来。
97it-3
2026-06-11
7300
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券