news 2026/5/14 13:25:27

基于LangChain 1.1 实现 Claude Skills 动态工具加载

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于LangChain 1.1 实现 Claude Skills 动态工具加载

1. Claude Code Skills 背景介绍

Vibe Coding(氛围编程) 大家应该都听过,那它是怎么发展而来的呢?

第一代 AI 编码工具主要依赖于基于统计的补全技术,随后发展为以 GitHub Copilot 为代表的“中间填充”(Fill-in-the-Middle)预测模型,这些工具本质上是被动的,依赖开发者提供明确的上下文和光标位置。然而,随着模型推理能力的飞跃,特别是 Anthropic Claude 系列模型在长上下文处理和逻辑推理方面的突破,一种新的范式即代理式编程(Agentic Coding)应运而生。

Claude Code 的出现,其不仅仅是一个运行在终端中的 CLI 工具,而是一个具备自主规划与执行能力的智能代理 。与传统的 CLI 工具不同,Claude Code 被设计为能够理解自然语言指令,并将其转化为一系列复杂的系统操作,包括文件编辑、代码运行、Git 版本控制管理以及错误调试 。它遵循 Unix 哲学,具有高度的可组合性(Composable)和可脚本化(Scriptable)特征,能够与其他命令行工具通过管道(Pipe)进行交互 。

Claude Code 的核心竞争力在于其“全栈意识”。它不仅仅关注当前打开的文件,而是能够通过索引和检索机制理解整个代码库的架构、依赖关系以及业务逻辑 。这种能力使得开发者可以从繁琐的语法细节中解脱出来,转向更高层次的架构设计和意图表达,这种工作流在社区中被形象地称为“氛围编程”(Vibe Coding)

在 Claude Code 的架构中,Skill(技能) 扮演着至关重要的角色。如果说 Claude 模型是大脑,MCP 是连接外部世界的手脚,那么 Skill 就是存储特定领域专业知识的操作手册。

虽然 Claude Opus 4.5 拥有广泛的编程知识,但它并不了解某家特定初创公司的内部部署脚本、某种冷门框架的特殊配置,或者某个团队特定的代码审查规范。传统的解决方案是将这些信息全部塞入系统提示词(System Prompt)或上下文窗口中,但这会导致两个问题:一是上下文窗口迅速耗尽,增加了推理成本(Token Economics);二是过多的无关信息会干扰模型的注意力,导致“迷失中间”(Lost in the Middle)现象。

Skill 通过引入动态加载(Dynamic Loading)和渐进式披露(Progressive Disclosure) 机制,优雅地解决了这一难题。它允许开发者将海量的程序性知识(Procedural Knowledge)封装在本地文件系统中,Agent 仅在识别到用户意图与某个 Skill 匹配时,才会按需加载相关的指令和脚本 。这种架构不仅极大地扩展了 Agent 的能力边界,还保证了推理的高效性和准确性。

2. Claude Skills 给予Agent的启发

  • 大模型的工具调用流程

传统的 AI Agent 在处理任务时,会将所有可用的工具(Tools)一次性暴露给大语言模型。想象一下,如果你有 50 个工具,每次模型调用都需要处理这 50 个工具的描述信息,

这会带来几个严重问题:

  1. Token 消耗巨大

    :每个工具的描述可能有几百个 token,50 个工具就是上万个 token;

  2. 大模型困惑

    :面对过多选择,模型容易选错工具或产生幻觉;

  3. 响应延迟

    :处理大量工具描述需要更长时间;

  4. 成本高昂

    :API 调用按 token 计费,浪费严重;

Claude Skills 的核心思想是:让模型在每次调用时只看到「相关的」工具,而不是全部工具。这就像一个智能助手,只有当你说"我要分析数据"时,才会把数据分析相关的工具拿出来;说"我要处理 PDF"时,才会展示 PDF 处理工具。

接下来,我们就通过底层技术来复现这个非常高价值的Agent开发模式。

  • 为什么选择 LangChain 1.1

LangChain 1.1 版本最大的优势就是在LangGraph之上构建并集成了革命性的 Middleware API。

这个 Middleware API 允许我们在 Agent 的执行流程中插入自定义逻辑,实现:

  • 动态工具过滤:在每次模型调用前修改工具列表

  • 状态管理:通过 state_schema 追踪运行时状态

  • 请求拦截:使用 request.override() 修改请求参数

在 LangChain 1.1 之前,实现动态工具过滤需要复杂的 hack,比如重写 Agent 类或修改工具列表。现在,通过官方支持的 Middleware API,我们可以优雅地实现这一功能。

# 基础库导入 import os import sys from pathlib import Path from typing import List, Callable, Any, Optional from typing_extensions import TypedDict # 加载环境变量 from dotenv import load_dotenv load_dotenv(override=True) # LangChain 1.1 核心导入 from langchain.agents import create_agent from langchain.agents.middleware import ( AgentMiddleware, ModelRequest, ModelResponse, ) from langchain_core.tools import BaseTool, tool from langchain_core.messages import HumanMessage, AIMessage, BaseMessage print("核心库导入成功")

上面的代码导入了我们需要的所有核心组件。特别注意 langchain.agents.middleware 模块,这是 LangChain 1.1 新增的关键模块,包含了:

AgentMiddleware:中间件基类,我们需要继承它;

ModelRequest:封装了模型调用请求的所有信息(消息、工具、状态等);

ModelResponse:模型调用的响应;

写在最后

本文介绍了如何使用 LangChain 1.1 的 Middleware 机制实现 Claude Skills 动态工具过滤。虽然没有把完全的过程demo 展示出来,但是核心概念如下:

  1. Middleware 机制
  • 作用:在 Agent 执行流程中插入自定义逻辑

  • 核心方法:wrap_model_call(request, handler)

  • 关键操作:request.override(tools=filtered_tools)

  1. State Schema
  • 作用:定义 Agent 运行时需要追踪的状态

  • 实现:使用 TypedDict 定义结构

  • 访问:通过 request.state.get(“key”) 获取

  1. 动态工具过滤
  • 原理:根据当前状态(skills_loaded)决定暴露哪些工具

  • 好处:减少 token 消耗、降低错误率、提升响应速度

  • 实现:在 Middleware 中过滤并替换工具列表

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2025 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要《AI大模型入门+进阶学习资源包》下方扫码获取~

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余

以上资料如何领取?

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

以上全套大模型资料如何领取?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 0:19:38

QuickLook OfficeViewer:无需安装Office秒开文档的办公革命

QuickLook OfficeViewer:无需安装Office秒开文档的办公革命 【免费下载链接】QuickLook.Plugin.OfficeViewer Word, Excel, and PowerPoint plugin for QuickLook. 项目地址: https://gitcode.com/gh_mirrors/qu/QuickLook.Plugin.OfficeViewer 场景痛点剖析…

作者头像 李华
网站建设 2026/5/10 14:31:16

保姆级教程!小白也能秒会的RAG数据准备全流程:从文档加载到智能分块,让AI知识库构建so easy![特殊字符]

文章详解RAG数据准备流程,包括文档加载和文本分块两大步骤。文档加载比较了Unstructured、PyMuPDF4LLM等工具特点与适用场景;文本分块分析了固定大小、递归分块、语义分块等策略,以及基于文档结构的分块方法,并介绍了ChunkViz可视…

作者头像 李华
网站建设 2026/5/12 3:29:49

零基础掌握Altium Designer手动布线流程

零基础也能搞定!Altium Designer手动布线实战全解析你是不是也遇到过这种情况:原理图画完了,元器件都连上了,可一打开PCB界面,满屏飞线像蜘蛛网一样,完全不知道从哪下手?别急——这正是每个硬件…

作者头像 李华
网站建设 2026/5/10 18:34:28

智慧树自动学习插件:告别手动刷课的新选择

智慧树自动学习插件:告别手动刷课的新选择 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树网课的繁琐操作而烦恼吗?每次视频结束都…

作者头像 李华
网站建设 2026/5/10 9:46:36

Bili2text高效攻略:智能提取B站视频文字的全新方法

Bili2text高效攻略:智能提取B站视频文字的全新方法 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 你是否曾经为了保存B站视频中的精彩内容而反复…

作者头像 李华
网站建设 2026/5/9 18:36:18

终极视频内容提取神器:智能转写B站视频完整文本的高效方案

终极视频内容提取神器:智能转写B站视频完整文本的高效方案 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 还在为手动整理视频素材而烦恼吗&#…

作者头像 李华