上篇文章深入探讨了LangChain DeepAgents内置的Summarization中间件。该中间件能够自动压缩对话历史有效解决大模型上下文窗口限制的问题。本期笔者将继续深入介绍LangChain DeepAgents框架预置的两个非常实用的中间件——Tool Selector工具选择器和Todo List待办列表。这两个中间件能够帮助Agent智能体在面对复杂任务和庞大工具集时依然保持高效、专注与准确让Agent的决策过程更加条理清晰。一、Tool Selector 中间件为Agent的工具箱做减法1.1 为什么需要Tool Selector在构建面向真实业务场景的智能体应用时大家常常需要为大模型赋予大量的工具例如搜索引擎、计算器、数据库查询器、API调用器等。当任务环境变得复杂智能体可能拥有成百上千个工具。然而在执行一个具体任务时实际用到的工具往往只是其中的一小部分。大量无关的工具不仅不会在每一步都发挥作用反而会持续占据宝贵的模型上下文窗口。这不仅造成了Token的浪费更可能引入噪声干扰主模型的判断降低决策的准确率。Tool Selector正是为了解决这一痛点而生。它是一个覆写了wrap_model_call钩子函数的中间件。其核心机制是在每次调用主模型之前ToolSelector中间件会基于当前的对话消息列表及用户问题对全部工具列表进行一次智能预筛选只保留与当前任务最相关的一小部分工具。随后这个精简后的工具子集才会被传递给主模型让主模型能够排除干扰更专注、更准确地做出下一步的决策。LangChain DeepAgents 框架通过内置的LLMToolSelectorMiddleware中间件实现了这一功能其工作流程如下图所示1.2 Tool Selector中间件适用场景Tool Selector中间件尤其适合以下场景多工具管理Agent拥有庞大的工具集但每次查询仅涉及其中少数几个。成本控制希望通过过滤无关的工具信息显著减少Token消耗优化API调用成本。精度提升通过减少上下文中的冗余信息提升模型在关键任务上的专注度与决策准确性。1.3 如何使用Tool Selector在LangChain DeepAgents中使用Tool Selector非常简单只需几个步骤即可完成配置。1. 环境准备与依赖引入首先在langchain1.0.5、python3.12的环境中编写脚本引入必要的依赖并定义模型和工具。本例中使用 DeepSeek 模型。from dotenv import load_dotenv from langchain_core.tools import tool from langchain.agents import create_agent from langchain.agents.middleware import LLMToolSelectorMiddleware from langchain_deepseek import ChatDeepSeek load_dotenv() model ChatDeepSeek( modeldeepseek-chat, )2. 为 Agent 定义工具列表编写一个核心的calculate工具并同时定义tool_1至tool_4作为备用工具以模拟一个拥有较多工具的场景。tool def tool_1(input:str) - str: This is a useless tool, intended solely as an example. return This is a useless tool, intended solely as an example. tool def tool_2(input:str) - str: This is a useless tool, intended solely as an example. return This is a useless tool, intended solely as an example. tool def tool_3(input:str) - str: This is a useless tool, intended solely as an example. return This is a useless tool, intended solely as an example. tool def tool_4(input:str) - str: This is a useless tool, intended solely as an example. return This is a useless tool, intended solely as an example. tool def calculate(expression: str) - str: Perform mathematical calculations and return the result. Args: expression: Mathematical expression to evaluate (e.g., 2 3 * 4, sqrt(16), sin(pi/2)) Returns: The calculated result as a string result str(eval(expression)) return result集成 LLMToolSelectorMiddleware 中间件使用Tool Selector功能需要引入LLMToolSelectorMiddleware中间件。配置该中间件需要以下几个关键参数model负责执行工具筛选的模型实例本例中与主模型共用同一个model。max_tools每次为主模型筛选出的最大工具数量。always_include一个列表用于指定无论如何都必须被选中的工具名称。需要注意的是create_agent的tools参数传入的是工具对象列表而always_include中传入的是这些工具对应的名称字符串。agent create_agent( modelmodel, tools[tool_1, tool_2, tool_3, tool_4,calculate], middleware[ LLMToolSelectorMiddleware( modelmodel, max_tools2, always_include[tool_1], ), ], )4. 运行测试最后通过一个数学计算任务来测试效果。从运行结果可以看到尽管工具列表庞大但智能体依然能够准确地选择并使用calculate工具来完成计算这证明了Tool Selector在筛选工具方面的有效性。status { messages: 请计算23*4的值 } result agent.invoke(status) print(result)二、Todo List 中间件为复杂任务绘制路线图2.1 为什么需要 Todo List 中间件当智能体需要执行一个多步骤、跨工具的复杂任务时如果没有任务规划能力Agent很容易在步骤中迷失或者忘记已经完成的部分。大家工作中都使用Trae、Claude Code等编程智能体时也能观察到当用户下达一个复杂任务时这些智能体的首要工作往往是生成一份清晰的任务规划清单。Todo List中间件的设计正是为了赋予Agent这种规划能力。它的实现方式与传统钩子函数不同而是以额外工具的形式向Agent注入一个名为write_todo的工具。其工作流程如下当用户输入一个复杂任务后主模型会首先判断该任务是否需要多步处理。如果需要它会主动调用write_todo工具生成结构化的子任务列表并将其保存在Agent的持久化状态todos字段中。随后Agent会严格按照这个任务列表的顺序执行当前正在处理的子任务状态标记为progress完成后更新为completed并自动推进到下一个状态为pending的子任务如此循环直至所有子任务完成。最终Agent汇总所有步骤收集到的信息给出完整的最终回复。这一机制确保了Agent能够有条不紊地完成复杂任务。整个流程可以用下图清晰地展示2.2 Todo List 中间件适用场景复杂多步骤任务需要调用多个工具协同完成且步骤之间存在明确的前后依赖关系。需要进度可见性的长期运行任务通过查看todos状态开发者或用户能够实时了解任务执行的进展知道当前进行到哪一步哪些步骤已经完成。2.3 如何使用 Todo List 中间件下面通过代码示例详细讲解如何在LangChain的create_agentAPI中集成并使用Todo List功能。1. 环境准备与依赖引入在langchain1.0.5、python3.12的环境中编写脚本引入必要的依赖并定义模型。本例中使用 DeepSeek 模型。from dotenv import load_dotenv from langchain.agents import create_agent from langchain.agents.middleware import TodoListMiddleware from langchain_deepseek import ChatDeepSeek load_dotenv() model ChatDeepSeek( modeldeepseek-chat, )2. 集成 TodoListMiddleware 中间件使用TodoListMiddleware中间件的方法极其简单只需在创建Agent时将其加入到middleware列表中即可write_todo工具会由中间件自动注入。agent create_agent( modelmodel, tools[], middleware[TodoListMiddleware()], )3. 通过复杂案例测试设计了一个高度复杂的、需要多步分析和计算的综合性问题来测试。当用户下达这个任务后Todo List机制会自动生效。在Agent的最终响应中除了常规的messages包含对话历史和最终答案还会发现一个新增的todos字段。这个字段中包含了Agent对原始任务进行拆解后的详细子任务列表。每个子任务条目都包含content任务描述和status状态。子任务的状态共有三种pending尚未执行的子任务。progress当前正在执行的子任务。completed已经完成的子任务。注意由于在这里使用的是invoke方法进行同步调用Agent会执行完所有任务后才返回最终结果因此最终打印出的所有子任务状态均为completed。若想观察子任务状态在执行过程中的动态变化例如从pending到progress再到completed的流转可以参考笔者的另一篇文章 《LangChain1.0速通指南二——LangChain1.0 create_agent api 基础知识》 中介绍的流式输出方法res agent.invoke({messages:[你要一步一步的详细规划以下内容再进行回答。 请分析美国加利福尼亚中央谷地的杏仁种植业在未来30年面临的气候变化风险,并估算其经济影响。 具体需要回答,: “假设当前气候趋势持续,到2050年,加利福尼亚中央谷地杏仁产量可能减少的百分比及其对该州经 济的潜在年度损失是多少美元?这些美元按照2025年11月的汇率能够购买多少比特币? ]}) print(res[messages]) print(\n---------TODO---------------\n) print(res[todos])三、总结本期内容介绍了ToolSelector和TodoList两个中间件ToolSelector中间件能够在调用主模型前利用LLM智能筛选相关工具。TodoList中间件通过注入write_todo工具让Agent在遇到复杂任务时自动拆解子任务并维护状态。LangChain DeepAgents框架正是通过这两个中间件提升了智能体执行复杂任务的性能。除了这两个中间件外DeepAgents框架还需要有一个文件系统来存储中间结果、记忆结果等下期内容笔者会分享LangChain DeepAgents框架 FileSystem的相关知识大家敬请期待~想入门 AI 大模型却找不到清晰方向备考大厂 AI 岗还在四处搜集零散资料别再浪费时间啦2026 年AI 大模型全套学习资料已整理完毕从学习路线到面试真题从工具教程到行业报告一站式覆盖你的所有需求现在全部免费分享扫码免费领取全部内容一、学习必备100本大模型电子书26 份行业报告 600 套技术PPT帮你看透 AI 趋势想了解大模型的行业动态、商业落地案例大模型电子书这份资料帮你站在 “行业高度” 学 AI1. 100本大模型方向电子书2. 26 份行业研究报告覆盖多领域实践与趋势报告包含阿里、DeepSeek 等权威机构发布的核心内容涵盖职业趋势《AI 职业趋势报告》《中国 AI 人才粮仓模型解析》商业落地《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》领域细分《AGI 在金融领域的应用报告》《AI GC 实践案例集》行业监测《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。3. 600套技术大会 PPT听行业大咖讲实战PPT 整理自 2024-2025 年热门技术大会包含百度、腾讯、字节等企业的一线实践安全方向《端侧大模型的安全建设》《大模型驱动安全升级腾讯代码安全实践》产品与创新《大模型产品如何创新与创收》《AI 时代的新范式构建 AI 产品》多模态与 Agent《Step-Video 开源模型视频生成进展》《Agentic RAG 的现在与未来》工程落地《从原型到生产AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。二、求职必看大厂 AI 岗面试 “弹药库”300 真题 107 道面经直接抱走想冲字节、腾讯、阿里、蔚来等大厂 AI 岗这份面试资料帮你提前 “押题”拒绝临场慌1. 107 道大厂面经覆盖 Prompt、RAG、大模型应用工程师等热门岗位面经整理自 2021-2025 年真实面试场景包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题每道题都附带思路解析2. 102 道 AI 大模型真题直击大模型核心考点针对大模型专属考题从概念到实践全面覆盖帮你理清底层逻辑3. 97 道 LLMs 真题聚焦大型语言模型高频问题专门拆解 LLMs 的核心痛点与解决方案比如让很多人头疼的 “复读机问题”三、路线必明 AI 大模型学习路线图1 张图理清核心内容刚接触 AI 大模型不知道该从哪学起这份「AI大模型 学习路线图」直接帮你划重点不用再盲目摸索路线图涵盖 5 大核心板块从基础到进阶层层递进一步步带你从入门到进阶从理论到实战。L1阶段:启航篇丨极速破界AI新时代L1阶段了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理、关键技术以及大模型应用场景。L2阶段攻坚篇丨RAG开发实战工坊L2阶段AI大模型RAG应用开发工程主要学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3阶段跃迁篇丨Agent智能体架构设计L3阶段大模型Agent应用架构进阶实现主要学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造Agent智能体。L4阶段精进篇丨模型微调与私有化部署L4阶段大模型的微调和私有化部署更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。L5阶段专题集丨特训篇 【录播课】四、资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容2026 年想抓住 AI 大模型的风口别犹豫这份免费资料就是你的 “起跑线”