中间件提供了一种更紧密地控制代理内部发生的事情的方式。中间件对以下情况有用: 通过将中间件传递给 create_agent 来添加中间件:
from langchain.agents import create_agent
from langchain.agents.middleware import SummarizationMiddleware, HumanInTheLoopMiddleware

agent = create_agent(
    model="gpt-4.1",
    tools=[...],
    middleware=[
        SummarizationMiddleware(...),
        HumanInTheLoopMiddleware(...)
    ],
)

代理循环

核心代理循环包括调用模型、让它选择要执行的工具,然后在不再调用工具时完成: 核心代理循环图 中间件在每个步骤之前和之后暴露钩子: 中间件流程图

其他资源

内置中间件

探索用于常见用例的内置中间件。

自定义中间件

使用钩子和装饰器构建您自己的中间件。

中间件 API 参考

中间件的完整 API 参考。

中间件集成

面向 Anthropic、AWS、OpenAI 等的提供商特定中间件。

测试代理

使用 LangSmith 测试您的代理。