2026年6月7日 1 分钟阅读

AI Agent 的 MCP 和技能包太多了怎么办?用 GitOps 能力注册表告别上下文膨胀

tinyash 0 条评论

你最近是不是也这样?为了让 AI 编程 Agent 变得更强大,一口气配置了十几个 MCP 服务器——文件系统的、数据库的、浏览器自动化的、Jira 的、Slack 的……再叠加一堆 Skills prompt 和自定义工作流。Agent 确实变强了,但代价呢?

每个会话启动时,Agent 要把所有 MCP 工具描述和技能指令塞进上下文。随着配置项越来越多,你的 Token 消耗在飙升,模型却越来越”迟钝”——它花在理解可用工具上的 Token 比真正解决问题的还多。这就是 AI Agent 的能力膨胀(Capability Sprawl)问题

为什么这是一个真问题

能力膨胀不只是”有点浪费”的事情。设你配了 6 个 MCP 服务器 × 平均每个暴露 5 个工具 = 30 个工具。一个工具的描述平均 200 Token,光工具列表就吃掉 6000+ Token。再加上 Skills 的系统提示词、路由规则、配置说明——一个基础会话还没开始干活就烧掉了 5000-10000 个上下文 Token。

而且,这不仅仅是 Token 浪费的问题:

  • 模型迷失:工具太多,模型频繁选错工具,或者犹豫不决产生多余推理步骤
  • 上下文污染:不相关工具的描述干扰了模型的判断
  • 维护噩梦:每个人都要手动维护自己的 AGENTS.md,每个项目独立配置,没有统一的版本管理
  • 重复造轮子:团队内每个人重复写同样的 MCP 配置和 skill 提示词

现有方案的局限

维度传统方案问题
AGENTS.md每个项目一个静态文件不可复用,难以维护,一改全改
预置 Prompt加载全部 tools/skillsToken 浪费,上下文膨胀严重
Cursor Rules项目本地规则不跨项目,团队共享困难
手工裁剪每次仅加载需要的工具心智负担大,容易漏掉关键依赖

GitOps 能力注册表方案

AI Capability Registry 采用了一种不同的思路:不是决定 Agent 能做什么,而是在需要时再决定用哪个能力

它的核心理念很简单——把你的 MCP 服务器、Skills 指令和工作流当作版本化基础设施来管理:

ai-capability-registry/
├── registry/
│   ├── workflows.yaml        # 工作流定义(按任务/角色分类)
│   └── routing.md            # 路由指引
├── skill-catalog.d/          # Skills 目录(来自上游 Source)
├── mcp-catalog.d/            # MCP 服务器目录
├── roles/                    # 角色定义(工程师、运维、数据分析师…)
├── AGENTS.*.md.template      # 五种不同粒度的集成模板
└── scripts/
    └── bootstrap.sh           # 初始化脚本

安装与初始化

git clone --recurse-submodules https://github.com/Friz-zy/ai-capability-registry.git ~/.ai-registry
cd ~/.ai-registry
./scripts/bootstrap.sh

bootstrap.sh 会自动:同步子模块、校验配置、从上游 Source 发现并索引 Skills、生成路由索引和工作流运行时说明。

核心功能一:按需加载

能力注册表的核心不是”加载所有”,而是渐进式按需加载。标准模板 AGENTS.full-registry.md.template 采用了”bootloader”模式:

cp ~/.ai-registry/AGENTS.full-registry.md.template /path/to/project/AGENTS.md

这个模板只做了几件事:

  1. 告诉 Agent 去读 capability-routing.md 的路由指引
  2. workflows/workflow.md 加载工作流框架
  3. 只有在选定工作流后,才加载对应角色的 Skills
  4. 只有在角色需要时,才加载具体的 MCP 服务器

效果:一个普通任务可能只需要 2-3 个工具,而不是 30 个。

核心功能二:多粒度模板

不是所有项目都需要完整注册表。注册表预置了五种模板,按复杂度递减:

模板包含适用场景
AGENTS.full-registry.md.template工作流 + 角色 + Skills + MCP全功能多 Agent 团队
AGENTS.workflows.md.template工作流 + 角色,无 Skills/MCP流程管理为主
AGENTS.skills.md.templateSkills 路由 + MCP技能精选为主
AGENTS.mcp.md.templateMCP 路由只管理 MCP 连接
AGENTS.workflows-skills.md.template工作流 + 角色 + Skills无 MCP 路由

你可以用最小模板起步,随需求增长逐步升级——不需要一开始就搭建完整的注册表架构。

核心功能三:GitOps 工作流

所有配置都纳入 Git 版本控制:

git add mcp-catalog.d/
git commit -m "feat: add PostgreSQL MCP server entry"
git push
./scripts/bootstrap.sh

能力注册 vs 普通配置管理的关键区别:

  • 版本化:每个变更都有 Git 历史,可以回滚
  • 可审计:谁加了什么 Skill、什么时候加的、为什么加
  • 可共享:团队内一键复制注册表即可共享全部配置
  • 权限分离:trusted(信任)、reviewed(已审查)、candidate(候选)三级分离

核心功能四:工作流驱动的角色路由

能力注册表不只是”工具清单”,它包含工作流引擎。先定义工作流,再让工作流决定需要哪些角色,每个角色再按需加载技能:

用户请求 → 工作流路由(workflows/routing.md)
  ├─ 选中的工作流 → 涉及的 Role(如 "Code Reviewer")
  │    ├─ 该 Role 需要的 Skills
  │    │    ├─ 代码审查 Skill → MCP: git, linter, diff
  │    │    └─ 测试 Skill → MCP: pytest, docker
  │    └─ 该 Role 不需要的 Skills → 不加载
  └─ 不需要的工作流 → 完全跳过

这种”工作流 → 角色 → 技能 → MCP”的四层渐进加载,是从根本上解决能力膨胀的关键。

注意事项

  • 上下文成本:完整注册表的 bootloader 本身也会消耗 Token。如果你只需要一个极简配置,直接用手工裁剪更划算。注册表的目标场景是”多 Agent、多任务、多项目”的团队,而不是”一个 Agent 做一件事”的个人使用。
  • 不要照搬AGENTS.full-registry.md.template 是一个良好起点,但你需要根据你的项目实际调整路由逻辑。没有银弹。
  • MCP 安全:注册表鼓励用 Docker 容器或托管端点运行 MCP 服务器,而不是 npx 一键安装。安全第一,便利第二。
  • bootstrap 重新运行:每次更新 registry 后需要重跑 bootstrap.sh 才能生效。

总结

能力膨胀是 AI Agent 从”个人玩具”进化到”团队基础设施”时必然遇到的瓶颈。AI Capability Registry 给出的不是精简配置的建议,而是用 GitOps 工作流管理能力膨胀的工程方案——把原本藏在每个开发者 .md 文件里的零散配置,变成团队共享的版本化基础设施。

当你下次觉得”Agent 的 MCP 服务器太多了”的时候,不妨试试用能力注册表来管理它们。

项目地址github.com/Friz-zy/ai-capability-registry | 许可:MIT 核心概念:GitOps 管理 Agent 能力、渐进式按需加载、工作流驱动的角色路由

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。