Agent Skills(二)架构深度解析:渐进式披露——解决智能体“上下文膨胀”的终极方案

在大模型应用开发中,开发者面临的最大挑战之一就是上下文窗口(Context Window)的有限性与高昂成本。如果你把所有的业务逻辑、操作手册和工具文档一股脑塞进 System Prompt,不仅会迅速榨干 Token 配额,还会导致模型注意力分散,甚至产生严重的指令漂移。

Agent Skills 规范引入的核心架构思想------渐进式披露(Progressive Disclosure),正是解决这一难题的"杀手锏"。它通过三层动态加载机制,确保智能体在任何时刻都只摄取与其当前任务最相关的"程序性知识"。


技术核心:三层加载机制

渐进式披露将技能内容划分为三个颗粒度不同的层级,类似于人类专家的认知过程:先了解有什么工具,再翻开说明书,最后执行具体操作。

Level 1:元数据发现(Discovery)

触发时机: 智能体启动或初始化时。
加载内容: 仅加载技能的 name(名称)和 description(描述)。

这是极其轻量级的"挂钩"。智能体通过这些元数据产生"认知",知道自己具备处理某类任务的能力。每个技能的元数据开销仅约 100 tokens

yaml 复制代码
---
name: database-optimizer
description: 专门用于 SQL 慢查询分析和索引优化建议。当用户提及数据库性能、查询缓慢或数据库架构优化时激活。
---
Level 2:指令激活(Activation)

触发时机: 当用户的请求与技能描述在语义上匹配时。
加载内容: SKILL.md 的正文指令。

一旦任务触发,系统会动态将完整的操作流程注入上下文。通常这部分内容被严格控制在 5000 tokens 以下,包含了该领域的专家级工作流。

  • 例子:
    用户输入:"帮我看看为什么这个用户订单查询要 5 秒钟?"
    智能体匹配到 database-optimizer 描述,随即加载:

"你现在是数据库专家。请按以下步骤操作:1. 调用 explain 脚本获取执行计划;2. 检查索引覆盖情况..."

Level 3:资源与代码执行(Resources & Execution)

触发时机: 执行过程中按需调用。
加载内容: /scripts(脚本)、/references(详细文档)和 /assets(静态资源)。

这是最高效的一层。智能体不需要读取几千行的 Python 脚本代码进上下文,它只需运行脚本。

  • 确定性操作: 脚本提供确定性的逻辑(如复杂的数学计算或格式转换),而模型只接收脚本运行后的输出结果。这让技能的实际知识体量变得"无限大",因为只有运行结果消耗 Token。

  • 代码片段(在指令中引用资源):

markdown 复制代码
## 优化流程
1. 运行分析脚本:
   ```bash
   python {baseDir}/scripts/analyze_query.py --query "$USER_SQL"
  1. 参考 INDEX_GUIDE.md 中的标准给出建议。


    安全与确定性:技能运行环境

    渐进式披露不仅节省了空间,更通过安全沙箱(Security Sandbox) 提供了执行的"锚点"。

    在 Agent Skills 的规范下,所有的脚本执行都运行在隔离的沙箱环境中。这一设计有两个关键优势:

    1. 对抗幻觉: 大模型在处理复杂逻辑(如处理二进制 PDF 流或解析大型 JSON)时极易产生幻觉。通过 Level 3 调用预写的、经过测试的确定性代码(如 Python 的 pypdf 库),智能体的实际动作是锚定在代码逻辑上的。模型负责决策"何时运行",而代码负责"如何精准执行"
    2. 安全隔离: 沙箱环境可以限制网络访问、限制文件权限。即便模型受到提示词攻击(Prompt Injection),恶意指令也难以跳出沙箱破坏宿主系统。

    总结:上下文工程的范式转移

    渐进式披露将 AI 开发从"提示词工程"提升到了**"上下文工程(Context Engineering)"**的高度。

    • 以前: 给新员工发一套包含 100 本手册的合集,要求他背熟后再开始工作。
    • 现在(Agent Skills): 给员工一张索引表,他平时只需要记住这张表;当要修电路时,他才去翻阅对应的《电工手册》,并在施工时查看具体的电路图。

    这种分层加载机制让智能体变得既博学又敏捷,在保持极低运行成本的同时,拥有了处理复杂、多领域任务的专业性。


    类比理解
    这就好比你的手机安装了 100 个 App。这些 App 的图标(Level 1)一直都在桌面上,但不占运行内存;只有当你点击某个 App 时,它的主界面(Level 2)才会被加载;而当你进行具体的图片滤镜处理(Level 3)时,系统才会调用底层的硬件加速指令集。

相关推荐
笑小枫12 小时前
用 Claude Code 推翻重写笑小枫网站
java·人工智能·spring boot·ai编程
audyxiao00112 小时前
人工智能顶会AAAI 2026论文分享|SlideBot:用于生成信息丰富、可靠、多模态幻灯片的多智能体框架
人工智能·大模型·aaai·智能体·幻灯片
用户9385156350712 小时前
Workflow 与 Agent 之争:确定性执行与智能探索的深度剖析
人工智能
阿里云大数据AI技术12 小时前
阿里云 EMR Serverless StarRocks(Stella 2.2.0) 发布:内表与湖表同时支持向量、全文与 AI Function,一条 SQL 完成多模态检索
人工智能
格林威12 小时前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
怪奇云呼军12 小时前
闪电智能Voice Agent:ASR 首字延迟和最终识别延迟怎么测?t0-t3 埋点实战
人工智能·科技·ai·语音识别
冬哥聊AI12 小时前
百万行代码里跑Claude Code?三面这题80%的人答不上来
人工智能
甄同学12 小时前
第二十三篇:Tasks系统,Claude Code如何统一管理7种后台任务
人工智能
独隅13 小时前
IntelliJ IDEA 接入多种AI大模型插件终极指南(2026.1 企业合规版)
java·人工智能·intellij-idea
有Li13 小时前
EvoMDT:用于多癌种结构化临床决策的自进化多智能体系统文献速递/医学智能体前沿
人工智能·学习·分类·文献·医学生