avatar

命令行小屋

A text-focused Halo theme

  • Ai
  • Linux
  • 游戏
  • 数据库
  • Apache Hadoop
  • Windows
  • 手机
主页 告别上下文爆炸:LangChain Agent Skills 完全实战指南
文章

告别上下文爆炸:LangChain Agent Skills 完全实战指南

发表于 最近 更新于 最近
作者 KennethCheng
609~783 分钟 阅读

当你的 AI Agent 需要接入十几个工具,每个工具的"使用说明"都塞进 prompt 里时,模型会发出这样的哀嚎:"我上下文已经爆炸了,怎么干活啊??"

这篇文章会带你深入理解 Agent Skills 这套由 Anthropic 提出的开放标准,并通过 LangChain DeepAgent 完成从环境搭建到实战的完整流程。


一、为什么需要 Agent Skills?

设想一个"全能 Agent",它需要同时调用:数据库查询工具、代码执行工具、网络浏览工具、URL 解析工具…… 每个工具都得在 system prompt 里塞一段「用法与职责」说明:

🤖 模型
查询工具
+ 职责
数据库
+ 职责
执行工具
+ 职责
脚本文件
+ 职责
网络工具
+ 职责
URL 信息
+ 职责
... 无限堆叠

随着工具数量增长,prompt 越来越长,模型越来越"挤"。这正是所谓的 上下文危机。

1.1 Agent Skills 的核心思想

Agent Skills 是一个开放的格式标准,本质上就是"文件夹",里面包含了指令、脚本和资源。AI Agent 可以发现并加载这些文件夹,从而获得执行特定任务的能力。

把工具说明从 prompt 里"卸载"到文件系统中,Agent 只在需要时才加载——这就是 Skills 的精髓。

1.2 三大核心价值

Agent Skills核心价值上下文危机多功能工具的职责说明全部塞进 prompt上下文不堪重负重复造轮子每个 Agent 框架都要重写"如何连接数据库""如何审查代码"互操作性写一次 Skills多 Agent 共用企业隐性知识→ 可移植技能包
价值痛点解决方式
🚨 上下文危机通用 Agent 需要强大的多功能,但持久的多功能上下文造成了无法想象的上下文压力将职责说明从 prompt 卸载到文件系统
♻️ 避免重复造轮子不需要为每个 Agent 框架都重写"如何连接数据库"或"如何审查代码"一次编写,多次复用
🔌 互操作性企业内部隐性知识难以传承转化为可移植、版本控制的"技能包"

二、Agent Skill 的构成

2.1 核心思路

将职责与工具卸载到文件系统,按需加载。

Agent Skill 就是一个文件夹。每个文件夹里:

  • 一个 SKILL.md(包含 YAML 前置元数据 + Markdown 详细说明)
  • 可选的脚本、文档、资源文件夹

2.2 文件夹结构

必填
可选
📁 my-skill/
📄 SKILL.md ⭐
📁 scripts/
📁 references/
📁 assets/
📋 YAML 元数据
(始终持有)
📝 Markdown 正文
(按需加载)
独立脚本
含错误处理
详细文档
避免主文件过长
资源/数据源
name
description
license / compatibility
metadata / allowed_tools

2.3 SKILL.md 文件格式

① 元数据 (YAML Frontmatter) —— 始终持有

---
# 必填字段
name: pdf-processing           # 技能名称(小写字母、数字、连字符)
description: 描述 skill 的功能以及何时使用(这对 Agent 决策至关重要!)

# 可选字段
license: Apache-2.0
compatibility: python>=3.10
metadata:
  author: your-name
  version: 1.0.0
allowed_tools: [read_file, shell]
---
字段是否必填说明
name✅ 必填技能名称(小写字母、数字、连字符,如 pdf-processing)
description✅ 必填描述 Skill 的功能以及何时使用——Agent 决策的关键依据
license⭕ 可选开源许可证
compatibility⭕ 可选兼容的环境/版本要求
metadata⭕ 可选作者、版本等附加信息
allowed_tools⭕ 可选允许调用的工具列表

② 正文 (Markdown Body) —— 按需加载

格式没有严格限制,但建议包含:

  • 📋 逐步操作指南
  • 🔢 输入/输出示例
  • ⚠️ 边缘情况处理
  • 🛠️ 对辅助资源或脚本的调用指令与说明

📏 建议主文件 < 500 行(超出部分拆分到 references/)

③ 辅助资源 —— 按需调用(shell)

文件夹用途注意事项
scripts/脚本文件应包含错误处理,且尽量独立执行
references/详细文档存放详细文档,避免 SKILL.md 主文件过长
assets/资源/数据源可能使用到的资源或数据源

2.4 运行逻辑:三步加载机制

这是 Skill 最精妙的设计——始终轻量、按需加载:

加载元数据
❌ 不匹配
✅ 匹配
读取完整 SKILL.md
按需调用
scripts/
按需读取
下一轮
只加载
读取
调用
Agent 启动
① 扫描
Scan
任务与 Skill
匹配?
等待下一个任务
② 激活
Activate
③ 执行
Execute
🖥️ Shell 调用
📚 references/
✅ 返回结果
name +
description
完整
SKILL.md
scripts /
references / assets
阶段触发时机加载内容设计意图
① 扫描Agent 启动时仅 YAML 元数据(name + description)极低成本建立 Skill 索引
② 激活任务与 Skill 匹配时完整的 SKILL.md仅在需要时才加载详细说明
③ 执行需要执行操作时调用脚本或读取参考文档真正干活时才用资源

三、LangChain DeepAgent 实战

💡 deepagent-CLI 是一款开源编码助手,可以使用您的本地文件系统。LangChain 为 deepagent-CLI 兼容了 Skill,使得庞大且不断增长的公共技能库成为可能。

3.1 完整安装流程

开始
① 下载 Python 3.12
apt install
② 克隆项目
git clone
③ 修改 pyproject.toml
deepagents >= 0.2.8
④ 创建虚拟环境
python3.12 -m venv
⑤ 安装库
pip install
⑥ 设置环境变量
export API_KEY
⑦ 下载示例 Skills
cp -r skills
启动 DeepAgent
deepagents --model gpt-5
🎉 开始使用

步骤 ① —— 下载 Python 3.12

# 添加 Python 官方 PPA
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

# 安装 Python 3.12
sudo apt install -y python3.12 python3.12-venv python3.12-dev

步骤 ② —— 克隆项目

git clone https://github.com/langchain-ai/deepagents deepagents-demo
cd deepagents-demo

步骤 ③ —— 修改版本依赖

编辑 libs/deepagents-cli/pyproject.toml:

dependencies = [
    "deepagents>=0.2.8",          # 原本是 ==0.2.8
    "langchain>=1.2.3,<2.0.0",
    "langchain-openai>=1.1.7,<2.0.0",
    "langgraph-checkpoint-sqlite>=2.0.0,<3.0.0",
    "requests",
    "rich>=13.0.0",
]

步骤 ④ —— 创建虚拟环境

python3.12 -m venv langchain-py312
source langchain-py312/bin/activate
python --version   # 验证版本

步骤 ⑤ —— 安装依赖

pip install -e libs/deepagents
pip install -e libs/deepagents-cli
pip install langchain-openai

# 验证版本
pip show deepagents         # deepagents >= 0.3.5
pip show deepagents-cli     # deepagents-cli >= 0.1.2

步骤 ⑥ —— 设置环境变量

export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY=lsv2_xxx
export OPENAI_BASE_URL=https://...
export OPENAI_API_KEY=sk-xxx
export TAVILY_API_KEY=tvly-xxx

步骤 ⑦ —— 下载官方示例 Skills

mkdir -p .deepagents
cp -r libs/deepagents-cli/examples/skills .deepagents/skills/

3.2 Skills 目录结构

📁 deepagents-demo/
📁 .deepagents/
📁 skills/
📁 arxiv-search/
📁 langgraph-docs/
📁 skill-creator/
📁 web-research/
🐍 arxiv_search.py
📄 SKILL.md

3.3 启动 DeepAgent

deepagents --model gpt-5

启动后进入 DEEP AGENTS v0.0.12 交互界面:

DEEP AGENTS  v0.0.12
Ready to code! What would you like to build?
Enter send • Ctrl+J newline • @ files • / commands
auto | shift+tab to cycle    Ready    8.1K tokens

四、Skill 安全提醒

在使用任何 Skill 之前,请务必记住以下三点:

🔌 使用 Skill
1️⃣ 仔细阅读 SKILL.md
关注跳转操作 & 敏感读取
2️⃣ sandbox 沙箱运行
使用相对路径
3️⃣ API-KEY 只读
设置白名单域名
✅ 安全使用
  1. 认真查看"跳转操作"与"敏感读取" —— 阅读 SKILL.md 中涉及删除、修改、读取敏感数据的部分
  2. sandbox 沙箱运行,相对路径 —— 避免污染主目录或越权访问
  3. 保证 API-KEY 只读,且合理设置白名单域名 —— 防止 Key 泄露与非法调用

五、实战案例:arxiv-search Skill

5.1 任务

在 arxiv 中,寻找名为《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》的机器学习领域论文原文,并将其摘要内容翻译为中文。

5.2 完整执行流程

🖥️ Shell📁 文件系统🤖 DeepAgent👤 用户🖥️ Shell📁 文件系统🤖 DeepAgent👤 用户提交任务(搜索 arxiv 论文并翻译摘要)1① 扫描所有 Skill 的元数据2② 匹配到 arxiv-search3read_file(SKILL.md)4返回完整 SKILL.md 内容5解析技能说明,制定执行计划6调用 arxiv_search.py7在 arxiv 上搜索论文8返回论文标题和摘要9将摘要翻译为中文10输出最终结果11

Step 1 —— Agent 自动读取完整的 SKILL.md:

Tool: read_file(.deepagents/skills/arxiv-search/SKILL.md)
✓ Success
---
name: arxiv-search
description: Search arXiv preprint repository for papers in physics, mathematics, ...

💬 Agent 自述:「我已经查看完整的 arxiv-search 技能说明,可以直接用该技能的 Python 脚本搜索你想要的论文。接下来这篇机器学习领域的论文,获取其摘要并翻译为中文。」

Step 2 —— Agent 调用脚本执行搜索:

Tool: shell("python3 /root/Lesson_17/deepagents-demo/.deepagents/skills/arxiv-search/arxiv_search.py")
✓ Success
Title: Making Large Language Models Better Reasoners with Alignment
Summary: Reasoning is a cognitive process of using evidence to reach a sound conclusion...

整个过程完美验证了 Agent Skill 的三步运行逻辑:扫描 → 激活 → 执行。


六、知识地图总览

LangChainAgent Skills概念Anthropic 开放标准文件夹 = 指令 + 脚本 + 资源解决上下文危机避免重复造轮子支持互操作构成SKILL.mdYAML 元数据name/descriptionMarkdown 正文辅助资源scripts 独立脚本references 详细文档assets 资源数据安装WSL UbuntuPython 3.12venv 虚拟环境pip install deepagents下载示例 Skills运行逻辑扫描 只加载元数据激活 完整 SKILL.md执行 调用脚本安全阅读 SKILL.md沙箱运行API-KEY 只读白名单域名

七、关键记忆点

#要点一句话总结
1️⃣Skills 本质Skills = 文件夹 = 指令 + 脚本 + 资源
2️⃣核心字段description 是 Agent 决策依据,务必写清"何时使用"
3️⃣加载策略元数据始终加载、正文按需加载、辅助资源按需调用
4️⃣环境要求WSL Ubuntu + Python 3.12 + venv
5️⃣关键依赖deepagents >= 0.2.8,需修改 pyproject.toml
6️⃣安全原则沙箱运行 + 相对路径 + API-KEY 只读 + 白名单域名

八、写在最后

Agent Skills 提供了一个优雅的解法:

上下文爆炸
按需加载
❌ 全部塞进 prompt
😵 模型崩溃
✅ 卸载到文件系统
😊 模型轻松

它把工具的"使用说明"从 prompt 中剥离出来,以文件系统作为载体,让 Agent 像加载 App 一样按需加载技能。这不仅解决了上下文危机,更让企业的隐性知识得以版本化、可移植、可复用。

如果你也在为 Agent 的工具管理头疼,不妨试试 LangChain DeepAgent + Agent Skills 的组合。


📚 参考资料

  • Anthropic: Introducing Agent Skills
  • LangChain DeepAgents GitHub
  • DeepAgent-CLI 官方示例
Ai, LangChain
LangChain Python Ai
许可协议:  CC BY 4.0
分享

相关文章

8月 4, 2026

零代码造 Agent 的时代来了:LangSmith Fleet 完全上手指南

让业务人员 5 分钟用自然语言打造会自我进化的生产级 AI 智能体 本文配套所有架构图均为 Mermaid 源码,可直接复制到任何支持 Mermaid 的 Markdown 编辑器中渲染。 📑 目录 为什么需要 LangSmith Fleet? Fleet 到底是什么? Fleet 的三大核心特性

8月 3, 2026

别让你的 AI Agent 裸奔:Sandbox 沙箱隔离从入门到选型

你的 AI Agent 会写代码、跑命令、操作文件 —— 但你真的放心让它直接跑在你的电脑上吗? 如果 Agent 误读了某个 prompt 来一句 rm -rf /,或者 curl 到了不安全网络…… 沙箱(Sandbox),就是给 Agent 套的"笼子"。 本文将讲清两种主流方案: 模式一:A

8月 3, 2026

用 Remotion Skills + DeepAgents,让 AI 帮你"写"视频代码

一行自然语言描述 → 一个完整的 React 视频项目。这是程序化视频生成的新范式。 一、背景:为什么需要 Remotion Skills? 传统视频制作流程是这样的: #bytemd-mermaid-1785761231546-190{font-family:"trebuchet ms",verd

下一篇

上下文工程完全指南:用「写、选、压、隔」四把手术刀,根治 LLM 的"上下文崩溃"

上一篇

一文搞懂 LangSmith:从可观测到 Studio 调试,让 LLM Agent 告别黑盒

最近更新

  • 零代码造 Agent 的时代来了:LangSmith Fleet 完全上手指南
  • 别让你的 AI Agent 裸奔:Sandbox 沙箱隔离从入门到选型
  • 用 Remotion Skills + DeepAgents,让 AI 帮你"写"视频代码
  • 告别失忆 Agent:LangChain Memory 双轨制完全指南
  • 上下文工程完全指南:用「写、选、压、隔」四把手术刀,根治 LLM 的"上下文崩溃"

热门标签

samsung WireGuard Chevereto docker 破解 llama LangChain Ai Python Gemma

目录

©2026 命令行小屋. 保留部分权利。

使用 Halo 主题 Chirpy