SkillSeek Skill 技能
万级 SKILL.md 的两阶段开源检索器
技能简介
SkillSeek 是一个开源的 Agent Skill 检索器(论文 AACL-IJCNLP 2027),通过标准两阶段检索(bi-encoder 粗排 + cross-encoder 重排)在不上 LLM 的前提下从上万份 SKILL.md 中挑出最相关的几条,并通过 MCP 暴露给任何 MCP 客户端。仓库采用 MIT 协议,是 SkillsBench 基准测试中表现优于 LLM 检索循环的 BM25 + 向量混合方案:实验显示,BM25 单独在三组设置上与 LLM 检索循环持平或胜出,单次试验花费从 $51.30 降到 $27.54。
核心能力
- 两阶段检索:先用 BGE-base bi-encoder 召回 20 条候选,再用 bge-reranker-v2-m3 cross-encoder 重排到 top-k,reranker 默认 CPU 运行。
- 零 LLM 调用:检索路径完全不调 LLM,每次任务只付向量化与重排代价,对大型技能池成本极低。
- MCP 原生暴露:通过 stdio 或 HTTP 注册,agent 可见
skill_lookup(query, k)/skill_load(name)/skill_list()三件套工具。 - SKILL.md 索引:扫描
SKILLS_DIR下每个/SKILL.md的 name + description + 4 个 Tool-REX 标签,索引时不读 body(实验证明读 body 让 pass rate 掉 3.2%)。 - Tool-REX 增强:每个技能配 1 句功能描述 + 4 个标签(文件类型 / 主要操作),可离线用 LLM 一次性生成,提高大体量池子检索质量。
- HTTP / stdio 双传输:单机用 stdio 注册,多 agent / 多容器共享用 HTTP 暴露。
- 多 LLM profile 构建器:profile builder 支持 OpenRouter、Anthropic、OpenAI、Gemini、Kimi、Z.ai、MiniMax 与本地 vLLM。
安装配置
- 环境前置:Python 3.12,需要本地预装好至少一个 MCP 客户端(Claude Code / Codex / Cursor 等)。
- 安装:克隆仓库
git clone https://github.com/guanqun-yang/SkillSeek && cd SkillSeek,python -m venv .venv && source .venv/bin/activate,pip install -r requirements.txt。 - Claude Code stdio 注册:
claude mcp add skillseek -e SKILLS_DIR=/path/to/skills -e MCP_TEXT_VARIANT=baseline -- /path/to/SkillSeek/.venv/bin/python /path/to/SkillSeek/mcp_server/skills_mcp.py。 - HTTP 共享模式:
SKILLS_DIR=/path/to/skills MCP_TEXT_VARIANT=baseline MCP_TRANSPORT=http MCP_PORT=8002 python mcp_server/skills_mcp.py,再用claude mcp add --transport http skillseek http://localhost:8002/mcp注册。
使用步骤
- 第 1 步:把目标技能池放到一个目录,每个技能是一个含 SKILL.md 的子目录,名字 + description 写在 SKILL.md 顶部 YAML。
- 第 2 步:可选地用
python scripts/build_toolrex_profiles.py --pool /path/to/skills --out data/toolrex_profiles_mine.json离线生成 Tool-REX profile,提升大体量池检索质量;设置OPENROUTER_API_KEY或其他 LLM Key。 - 第 3 步:按 stdio 或 HTTP 方式注册 SkillSeek 到 MCP 客户端;大池子把
MCP_TOOLREX_PATH指到 profile 文件路径。 - 第 4 步:在客户端对话里用
skill_lookup("vector store benchmark", k=5)调取最相关的几条技能,再skill_load(name)加载完整 SKILL.md。 - 第 5 步:按
docs/reproduce.md在 SkillsBench 或 Liu et al. (2026) 34K pool 上复现论文实验,验证liu_baseline/重新实现的对照基线。
适用场景
- 大体量技能市场导航:当你的 SKILL.md 数量过百(10K+),靠 LLM 检索循环 token 费用太高时切到 SkillSeek。
- 多 agent 共享池:把检索服务用 HTTP 暴露给多个 agent,避免每个 agent 都跑一遍向量化。
- SkillsBench 评估:研究人员可直接用仓库脚本在 SkillsBench 池子上对比 BM25 与 LLM 检索。
- 企业私有 skill hub:把团队沉淀的 SKILL.md 放进 skill 池,让 Claude Code / Codex 都能以最小代价挑到最合适的 skill。
- 离线工具集发现:Tool-REX profile 离线生成一次后无需联网,提升数据敏感场景的可用性。
适用人群
- 维护 100+ SKILL.md 的开发者 / 平台团队;
- Agent 框架作者想要"低成本技能发现"能力;
- NLP / 信息检索方向的研究者(论文 + 开源代码双轨发布);
- 企业 IT 想让多个 agent 共享同一份技能库;
- SkillsBench 用户做基线对比。
工作原理
SkillSeek 把技能检索视为标准的语义搜索问题:先用 BGE-base 把 query 和每个 SKILL.md 的 name+description+tags 编码到同一向量空间,取 top 20 候选;再让 bge-reranker-v2-m3 精排回 top k;整个流程不上 LLM,因此每次任务的成本可预测且极低。Tool-REX 是为大体量池子设计的 profile 增强:用 LLM 离线给每个技能写 1 句功能描述 + 4 个标签(文件类型 / 主要操作),profile 写入索引,避免 agent 在 SKILL.md body 上花 token;论文显示在大体量池(34K)上 profile 增强后 pass@1 显著高于基线。
官方链接
- 仓库:https://github.com/guanqun-yang/SkillSeek
- 论文:AACL-IJCNLP 2027(SkillSeek: Revisiting Agent Skill Retrieval at Marketplace Scale)
- 配置文档:https://github.com/guanqun-yang/SkillSeek/blob/master/docs/configuration.md
- 复现脚本:https://github.com/guanqun-yang/SkillSeek/blob/master/docs/reproduce.md
- 许可证:MIT
团队信息
AI产品库
官方
由 AI 猎手自动发现
评论与建议
登录 后参与评论或提建议