☰
1096个技能如何不打爆上下文?AERS的SKILL.md路由器与catalog.json分层加载架构完整指南
2026/9/25 19:17:32 网站建设 项目流程

1096个技能如何不打爆上下文?AERS的SKILL.md路由器与catalog.json分层加载架构完整指南

【免费下载链接】Auto-Empirical-Research-Skills🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.项目地址: https://gitcode.com/gh_mirrors/aw/Auto-Empirical-Research-Skills

Auto-Empirical-Research-Skills(AERS)是斯坦福 REAP 团队 × CoPaper.AI 维护的实证研究 AI Agent 技能库,收录了 76 个合集、1,096 个技能,覆盖 8 大社会科学学科的因果推断、数据清洗到论文写作全流程。一个绕不开的问题是:这 1,096 个SKILL.md如果一次性塞进模型上下文,约等于 64k tokens,再叠加运行时对超长技能列表的截断,匹配效果反而更差。AERS 的解法是一套三层架构:根目录 SKILL.md 当路由器、catalog/ 目录做机器可读索引、子技能做渐进式加载。本文带你逐层拆解这套设计。

痛点:为什么"全量加载"是死路

先看一组数字:

文件规模角色
skills/目录1,096 个SKILL.md技能本体
catalog/skills.json~890 KB / 1.9 万行机器可读索引
catalog/skills-enriched.json~1 MB / 2.4 万行带分层标签的增强索引
catalog/curation.json~7 KB / 85 行人工策展的路由分层

AERS 的根 SKILL.md 在 "Install Notes" 一节直接写明了反模式:不要把整个技能库"扁平安装"(比如把所有子目录软链进~/.claude/skills)。每个注册技能的 description 都会在会话启动时加载,1,096 个技能全注册约产生64k tokens,而多数运行时会截断过长的技能列表——结果不是匹配更准,而是更差。

所以 AERS 的思路是:技能本体留在磁盘上,上下文里永远只放"一张地图 + 一个技能的正文"。

第一层:根 SKILL.md 是路由器,不是技能

整个仓库的入口是根目录的 SKILL.md——它只有 127 行,开头就声明了自己的身份:

"Treat it as a router and catalog, not as a request to load every vendoredSKILL.md."(把它当作路由器和目录,而不是"加载所有子 SKILL.md"的指令)

这个路由器的核心是一个五步工作流(见 SKILL.md 的 "Workflow" 一节):

  1. 按"阶段"分类用户任务:完整论文流水线 → 找编排器;因果推断 → 查方法对照表;AER 顶刊写作 → 直接进对应合集;
  2. 只读取选中那一个子技能的SKILL.md,随后按它的"渐进式披露"指令按需加载references/、scripts/、assets/;
  3. 方法表没命中时,回落到目录检索(下一节细讲);
  4. 安装问题查 docs/INSTALL.md;
  5. 编辑仓库时注意子模块边界。

其中最有意思的是Method → where to start 对照表:它把 DiD / IV / RDD / 合成控制 / 面板固定效应 / DML / 贝叶斯等几十种任务映射到起始合集。但它刻意声明自己是快捷方式而非完整索引——"命名的合集不到总数的一半,其余只能经由catalog/skills.json到达"。查不到 ≠ 没有技能,必须继续走检索兜底。

第二层:catalog.json 三件套,各司其职

catalog/ 目录是"地图",由三个文件构成,分工非常清晰:

① catalog/skills.json —— 基础索引每个技能一条记录,字段包括path、name、description、line_count,以及全局唯一的qualified_name(格式为<合集>::<技能名>,如12-pedrohcgs-claude-code-my-workflow::data-analysis)。它解决的是同名冲突:目录里有 47 个裸name在多个合集间重复(如data-analysis、lit-review、proofread),靠qualified_name或完整路径消歧。

② catalog/skills-enriched.json —— 增强索引在基础字段上追加tier、tags、quality_score、license、commercial_use,供排序和过滤使用。tags由 docs/TAXONOMY.md 中的工作流阶段(analysis 141 个、writing 88 个……)和方法标签(iv 28 个、rdd 25 个、staggered-did 17 个……)共同标注。

③ catalog/curation.json —— 人工策展的路由分层这是唯一手写的文件,定义四级排序分层:

Tier数量权重含义
core221.5×自研旗舰合集(StatsPAI、AER 技能、论文流水线等 8 个前缀)
extended8771.0×默认层,绝大多数社区技能
duplicate840.6×同名技能的冗余副本,canonical字段指定唯一"正本"
out-of-domain1130.35×自然科学/CS 类指南,排到最后

关键设计原则写在该文件的注释里:分层只改变排序,从不删除任何技能——out-of-domain的技能在你真的问到相关话题时依然会浮出来。

根 SKILL.md 对这两个大 JSON 也给了明确的使用纪律:查询它们,而不是整读("query them instead of reading them whole"),比如用一行 Python 过滤关键词,或者退而求其次用grep。

第三层:子技能的渐进式披露

路由选中某个子技能后,才加载它的SKILL.md;而这个子技能内部又是同样的"按需披露"模式。以旗舰 Python 分析技能为例,它的正文只写工作流骨架,细节拆在 skills/00.1-Full-empirical-analysis-skill_Python/references/ 下的 8 个主题文件:数据清洗、描述统计、统计检验、建模、稳健性、表格与图表……每一步用到才读哪一步。

这样,一次"做 DiD 分析"的完整会话,上下文里大致只有:

  • 根路由器的 127 行(会话启动时);
  • 1,096 条索引中命中的几条记录(字段级查询,非全文);
  • 选中子技能的SKILL.md正文;
  • 子技能中被点名加载的 1–2 个 reference 文件。

上下文占用从 O(全部技能) 降到了 O(1),且与技能库规模几乎解耦——这就是"分层加载"的实际含义。

兜底检索:find-skill.py 的 BM25 + 分层排序

方法表覆盖不到的任务(表里明说了不到一半合集),走的是排序检索脚本 scripts/find-skill.py。它的算法很轻但很讲究:

  • 对skills-enriched.json做BM25,按字段加权:name3.0 >tags2.0 >description1.0 >path0.5——技能自己名字里的命中比路径里的命中重要得多;

  • 叠加 curation 分层权重(core 1.5 / extended 1.0 / duplicate 0.6 / out-of-domain 0.35);

  • 内置术语别名扩展:did→ "difference-in-differences"、rdd→ "regression discontinuity"、aigc→ "ai writing humanize"……中英文查询都能用,例如:

    python3 scripts/find-skill.py "staggered difference-in-differences event study" python3 scripts/find-skill.py "降低中文论文 AIGC 率" -k 5

还有一个细节:若查询词直接命中某个技能的独占名称(词频 ≤10,比如 "PubChem"),则豁免其 tier 惩罚——用户点名要谁,就直接给谁。

路由质量如何度量?

路由不是玄学,AERS 给检索步骤配了回归测试:evals/routing-cases.json 是手工编写的"真实任务描述 → 可接受技能路径前缀"用例集(中英双语,如 "双重差分 平行趋势检验"、"工具变量 2SLS 弱工具检验"),再由 scripts/check-routing.py 校验 top-k 命中。验收前缀来自对目录的关键词调研而非排序器自身的输出,测的是路由能力而不是复述排序结果——这是避免"自证预言"的一个好做法。

实践要点与常见误区

  • ❌扁平安装全目录(软链所有子技能进运行时):64k tokens 起步 + 截断,匹配更差。✅ 正确姿势是用插件机制、走这个路由器,或只复制少数几个高频技能;
  • ⚠️按裸name注册会撞名:47 个重名技能,安装时要么按合集逐个装,要么用qualified_name消歧;
  • ⚠️方法表查不到就下结论"没有":表格只覆盖不到一半合集,应先跑find-skill.py检索再定论;
  • 💡中文任务优先看中文文档:docs/CONTENT_ZH.md 和 README-zh-CN.md 对 de-AIGC、SSCI/CSSCI 润色等合集的说明比英文文档更细。

关键文件速查

文件作用
SKILL.md根路由器:工作流 + 方法对照表 + 触发词
catalog/skills.json基础索引(1,096 条,含qualified_name)
catalog/skills-enriched.json增强索引(tier / tags / 质量分 / 许可)
catalog/curation.json人工策展分层:core / duplicate / out-of-domain
scripts/find-skill.pyBM25 + 分层的排序检索入口
scripts/check-routing.py路由准确率的回归测试
docs/SKILL_CATALOG.md人类可读的技能总目录
docs/TAXONOMY.md任务阶段 × 方法标签分类法
docs/GOLDEN_WORKFLOWS.md即取即用的实证研究提示词

一句话总结:AERS 的上下文经济学 = 127 行路由表 + 字段级索引查询 + 单技能按需加载 + 分层排序兜底。技能库从 1,096 涨到 10,000,这套架构的会话开销几乎不动——这或许是任何想建"大型技能库"的团队最值得抄的一套作业。

【免费下载链接】Auto-Empirical-Research-Skills🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.项目地址: https://gitcode.com/gh_mirrors/aw/Auto-Empirical-Research-Skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询