概述

Middleware(中间件)为更精细地控制Agent内部执行流程提供了便捷方式,是LangChain Agent生态中的核心扩展组件。通过中间件,开发者可以在Agent执行的关键节点插入自定义逻辑,实现对Agent行为的灵活管控。

核心Agent循环

LangChain Agent的核心执行流程包含三个关键步骤:

  1. 调用模型生成决策
  2. 选择并执行工具
  3. 无更多工具调用时结束流程
    在这里插入图片描述

中间件通过暴露钩子(Hooks) 机制,可在上述每个步骤的执行前执行后插入自定义逻辑,形成完整的中间件工作流:

在这里插入图片描述

中间件核心用途

中间件可满足以下核心场景需求:

  • 📊 行为追踪:日志记录、数据分析与调试
  • 📝 内容转换:提示词优化、工具选择调整、输出格式标准化
  • 🔄 容错处理:重试机制、降级策略、提前终止逻辑
  • 🛡️ 安全管控:限流控制、安全护栏、PII(个人身份信息)检测

快速使用示例

通过 create_agent 函数传入中间件列表即可启用,支持同时配置多个中间件:

from langchain.agents import create_agent
from langchain.agents.middleware import SummarizationMiddleware, HumanInTheLoopMiddleware

# 初始化Agent并配置中间件
agent = create_agent(
    model="gpt-4.1",  # 模型名称
    tools=[...],      # 工具列表(根据实际需求配置)
    middleware=[
        # 摘要中间件:对Agent执行过程生成摘要
        SummarizationMiddleware(...),
        # 人机协作中间件:关键步骤需人工确认
        HumanInTheLoopMiddleware(...)
    ],
)

额外资源

内置中间件

LangChain提供多种开箱即用的中间件,覆盖常见使用场景:
🔗 探索内置中间件

自定义中间件

通过钩子和装饰器机制,轻松构建符合特定需求的自定义中间件:
🔗 构建自定义中间件

中间件API参考

完整的中间件类、方法及参数说明:
🔗 中间件API文档

测试Agent

使用LangSmith对配置中间件的Agent进行全面测试:
🔗 Agent测试指南


Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐