免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

skill如何实现近乎无限上下文?:《Equipping agents…… with Agent Skills》 ②

发布日期:2025-12-25 05:01:27 浏览次数: 1512
作者:慢学AI

微信搜一搜,关注“慢学AI”

推荐语

探索Skill如何让大语言模型突破上下文限制,实现高效智能工作。

核心内容:
1. Skill的核心构成与SKILL.md文件的作用
2. 渐进式披露的三层加载机制详解
3. 认知与执行分离实现"无限上下文"的关键原理

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

Skill是由指令、脚本和资源组成的结构化文件夹,用来补足 Agent 在过程知识和组织背景上的能力缺口。本文将深入解析 Skill 的内部构成、渐进式披露的三层加载机制,以及它如何让大语言模型拥有近似“无限上下文”的工作方式。

01

Skill的核心构成:SKILL.md

每一个 Skill 都是一个文件夹,而它的核心文件是 SKILL.md。可以将其理解为这项技能的“使用说明书”和“入口”。

image

在文件的最上方,是一段 YAML Frontmatter,即“元数据区”。它包含两个基本字段:

 name:技能名称,例如 `pdf`。

 description:简要说明这项技能能做什么,比如“从 PDF 中抽取文本和表单字段”。

系统在 Agent 启动时,会自动扫描所有技能的 SKILL.md,并将每个技能的 `name` 和 `description` 预加载到系统提示词中。这意味着,当模型启动后,它就已经知道自己具备哪些技能以及这些技能的大致用途,而不需要一次性加载所有技能的全部内容。这种设计让技能可以被“索引”而不被“展开”,为接下来的渐进式披露打下了基础。


02

渐进式披露:三层加载机制

渐进式披露(Progressive Disclosure)的机制好比一本组织良好的手册:先读目录确定主题,再读相关章节掌握要点,最后只在需要时才查阅详细的附录。Skill 的结构逻辑正是如此。

image

其加载方式分为三层:

 Level 1:YAML 元数据层

文件位置:SKILL.md 顶部的 YAML frontmatter。
内容:技能的 `name` 和 `description`。
加载方式:始终加载,消耗约100个token。
作用:告诉模型“有哪些技能”和“它们是做什么的”。

 Level 2:正文内容层

文件位置:SKILL.md 的 Markdown 正文部分。
内容:技能的核心指令与 SOP 逻辑。
加载方式:在技能被触发时加载,平均消耗小于5000个token。
作用:当模型决定使用该技能时,才真正“打开”这部分内容。

 Level 3及以上:附属文件层

文件位置:技能文件夹中除 SKILL.md 外的其他文件(如 `.md`, `.json`, `.py` 等)。
内容:详细文档、配置文件、脚本等。
加载方式:按需加载,理论上token上限无限。
作用:模型只有在 SOP 指令中被要求访问这些文件时,才会读取或执行它们。

通过这种分层结构,模型不再“一口气读完整本手册”,而是像人类阅读文档一样,逐步展开、随用随取。


03

认知与执行分离:无限上下文的关键

既然 Level 3 可以包含大量文件甚至脚本,为什么不会“撑爆”上下文?核心在于认知与执行的分离

模型的上下文可以被看作它的“思考空间”,而文件系统和执行工具则构成它的“行动空间”。二者在架构上分离,但协同工作。

image

 认知空间:只包含模型推理所需的文字信息,即 Level 1 的元数据,加上被触发技能的部分 Level 2 内容。它的体量小,可被直接加载进上下文。

 行动空间:包含所有外部文件、脚本和数据。任务执行发生在外部虚拟机中,模型不会“阅读”这些脚本,而是调用工具执行它们。

例如,在 PDF Skill 里,当模型读到指令“请运行 `.scripts/extract_fields.py`”时,它不会把 Python 代码加载进上下文,而是向虚拟机发出执行命令。脚本运行结束后,虚拟机只返回一小段结果,如“字段提取完成,结果已保存为 forms.json”。模型在上下文里只看到这个结果,不承担脚本执行本身的负荷。

正如原文所述:“Agents with a filesystem and code execution tools don’t need to read the entirety of a skill into their context window. The amount of context that can be bundled into a skill is effectively unbounded.”

模型并非扩大上下文窗口,而是通过外部化执行,让“技能包”的体积与上下文无关。此外,代码执行还带来了确定性与效率,外部脚本在处理排序、提取或数学运算时比语言模型本身更高效、可靠。


04

动态上下文的工作流程

下图展示了上下文在 Skill 被触发时的动态变化过程。

image

1. 初始阶段:模型的上下文中包含系统提示、所有技能的元数据(name 和 description),以及用户的初始输入。
2. 技能触发:当用户请求“请帮我填写这份 PDF 表单”时,模型判断任务与 `pdf` 技能相关,于是调用工具读取 `pdf/SKILL.md` 的正文内容,并将其加载进上下文。
3. 按需展开:如果正文中提到“请阅读 `forms.md`”,模型再次调用工具,读取 `forms.md` 的内容。此时,`forms.md` 的文字进入上下文,而未被提及的文件仍然留在文件系统中。
4. 执行脚本:当 SOP 要求运行脚本时,模型发出执行命令,脚本在外部虚拟机中运行,只将执行结果返回上下文。
5. 任务完成:模型综合当前上下文中的所有信息(SOP、读取结果、脚本输出),生成最终响应。

从始至终,上下文都只包含完成当前任务所需的最少信息,而技能包的完整内容则留在外部世界,随时可被访问。

image

总结而言,Skill 通过三层逻辑实现了高效的上下文管理:

 结构上,Skill 是一个包含 SKILL.md 的文件夹,其元数据被预加载用于索引。

 机制上,渐进式披露让信息按需、逐层地显露。

 架构上,认知与执行的分离让模型的“思考空间”保持轻量,而“行动空间”可以无限扩展。

因此,“近似无限上下文”并非模型参数的魔法,而是一种架构思想:让模型的上下文只装载需要思考的那一页,而把真正的世界留在它随时可访问的文件系统里。


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询