2026年6月21日 1 分钟阅读

AI Agent 上下文塞不下?Ctx 用 10 万节点知识图谱只推荐你需要的工具

tinyash 0 条评论

问题:你的 AI Agent 是不是越用越「笨」了?

如果你用 Claude Code、Codex 或其他 AI 编码 Agent 做过几个真实项目,大概率遇到过这个场景:一开始 Agent 表现挺好,但随着你装了十几个 Skills、接了几个 MCP 服务器、配了两三个 Agent 配置……它开始「飘」了。Token 消耗飙升,响应越来越慢,有时候甚至答非所问。

原因很简单:上下文塞得太满了。 Claude Code 的 Skills、Agent 配置、MCP 工具、Harness 一共成千上万个可选项,你的 Agent 每次对话都得从这堆东西里「翻找」有用的。就像让一个程序员同时开着 50 个 IDE 插件,不卡才怪。

但更棘手的问题是:你根本不知道哪些 Skills 是当前项目需要的。今天写 API 服务,明天改 Docker 配置,后天跑数据分析——每个任务需要的工具集完全不一样。

这就是 Ctx 要解决的核心问题。

为什么这真的是个问题?

不只是「多花点 Token 钱」这么简单。有三个层面的影响:

Token 浪费:每个加载进上下文的无关 Skill 都会吃掉 Token 预算。不是每个 Skill 都只有两行说明——有些带完整代码示例的 Skill 单页就几千 Token。如果你同时装了 20 个,哪怕其中只有 4 个是当前需要的,其余 16 个的 Token 全白花了。

质量下降:Anthropic 和 OpenAI 的文档都明确说过,过长的上下文会让模型注意力分散。一个塞满无关 Skills 的上下文,Agent 找对工具的难度和你在乱码中找正确代码差不多。

Skill 腐烂:几个月前装的一个 Web 抓取 Skill,现在做后端 API 开发完全用不上,但它还在上下文中占位置。更糟的是,你忘了自己装过它,下次需要类似功能时又装一个新的——循环加剧。

这不是「少装点」能解决的。问题是:你不知道该装什么。

手动方案:猜和试

在没有工具的情况下,你只能靠猜。装一批 Skill,跑一下看看 Token 消耗,不行再卸载。这在 5 个 Skill 时还算可行,但到了 50 个、500 个的时候,完全靠不住。

而且人的认知有盲区:你可能根本不知道存在某些正好适合当前项目的 Skill。Skill 生态已经有 6 万多个条目,MCP 服务器超过 1 万——没人能记住全部。

Ctx 的方案:一个会「观察」你的知识图谱

Ctx 的思路完全不同。它不做「把所有东西都加载进去再过滤」这种事,而是反过来——先看你当前在做什么项目,再从知识图谱里找出最相关的工具

核心逻辑

Ctx 基于一个 79,958 节点、180 万条边的知识图谱。这个图谱包含了:

  • 68,494 个 Skill 页面(其中 67,024 个可直接安装)
  • 467 个 Agent 配置
  • 10,790 个 MCP 服务器
  • 207 个 Harness(模型运行时框架)

图谱的边来自语义相似度、标签重叠、Source 关联、使用模式等维度。当你运行 ctx-scan-repo 时,Ctx 会分析你当前项目的代码库,在图谱上行走,找出最匹配的 10-15 个工具,而不是一股脑全塞进去。

快速上手

安装非常简单:

pip install claude-ctx
ctx-init --graph --model-mode skip

–graph 参数下载预构建的运行时知识图谱(约几十 MB),–model-mode skip 跳过模型配置(如果你只用 Claude Code)。

如果你用的是自定义模型(如 GPT-5、DeepSeek 或其他 API/本地模型),可以这样配置:

ctx-init --model-mode custom --model openai/gpt-5.5 --goal "build a CAD agent"

Ctx 会基于你的模型和任务目标推荐合适的 Harness。

日常使用

安装完成后,Ctx 会在后台观察 Claude Code 的 PostToolUse 和 Stop 事件。你不需要手动做任何事——它已经知道你正在做什么了。

当你需要明确推荐时:

ctx-scan-repo --repo . --recommend

这会输出当前仓库的扫描结果,包含推荐加载的 Skill、Agent、MCP 服务器列表。输出格式清晰,每个推荐项包含名称、来源、推荐理由。

如果你想知道已安装工具的质量:

ctx-skill-quality list
ctx-skill-quality explain python-patterns

前者给出所有 Skill 的四维质量评分,后者深入到某个 Skill 的具体分析。

高级用法:Agent 和 Harness 管理

Ctx 不只是 Skill 推荐器。它还是一个完整的实体管理器:

ctx-agent-add --agent-path ./code-reviewer.md --name code-reviewer
ctx-harness-add --repo https://github.com/earthtojake/text-to-cad --tag cad
ctx-harness-install text-to-cad --dry-run
ctx-harness-install text-to-cad
ctx-harness-install text-to-cad --update --dry-run
ctx-harness-install text-to-cad --uninstall --dry-run

每个 add 操作如果发现实体已存在,会打印收益/风险对比,并等待你确认是否替换——不会静默覆盖。

本地监控仪表盘

Ctx 还带一个本地 Web 仪表盘,可以查看当前加载的工具状态:

ctx-monitor serve

访问 http://127.0.0.1:8765/,可以看到已加载的 Skills、Agent、MCP 服务器列表、图谱视图、Skill 网格过滤器、会话时间线、审计和运行时日志、SSE 实时事件流。

预防策略:不止于一次性的「瘦身」

Ctx 的价值不只是「首次安装时整理一次」。它的设计鼓励持续维护:

定期扫描:每当你切换项目或开始新任务,跑一次 ctx-scan-repo –recommend。Ctx 会检测当前项目与上次的不同,调整推荐。

质量监控:用 ctx-skill-quality 和 ctx-skill-health dashboard 定期检查已安装工具的健康状态。那些几个月没用过的、依赖过时的工具会被标记。

实体更新审批:当 Ctx 发现已有实体有更新版本时,它会打印变更的收益和风险列表,由你决定是否应用——不会自作主张。

CI 集成:Ctx 提供了 ci_preflight.py 脚本,可以在提交前运行本地检查:python scripts/ci_preflight.py –profile pr。这会跑一遍 stats、Ruff、mypy、单元测试、图验证等检查,确保你的工具配置在被推到 CI 之前就是健康的。

横向对比:Ctx vs 传统方案

维度传统方案(手动安装)Ctx
发现机制靠浏览 GitHub/MCP 目录10 万节点知识图谱自动推荐
加载策略全部加载或靠记忆按项目上下文选择 10-15 个
Token 开销随工具数量线性增长维持在最优区间
更新管理手动检查自动检测 + 收益/风险评估
跨项目切换手动卸载/安装自动适配
工具质量评估四维质量评分
本地仪表盘有(ctx-monitor serve)

总结

Ctx 解决的不是「哪个 AI 工具更好用」的问题,而是一个更根本的痛点:AI Agent 的工具管理本身就是一个待解决的问题。当 Skill 生态已经发展到 6 万多个条目时,人脑已经不可能记住所有选项,全量加载又贵又低效。

Ctx 把 Andrej Karpathy 的 LLM-wiki 模式应用到了工具管理上——用知识图谱作为 Agent 的长期记忆,让每个会话只加载最适合当前任务的那一小部分工具。

这对两类人特别有用:

  • 重度 Claude Code 用户:装了 20+ Skills、多 MCP 服务器,Token 消耗越来越不可控
  • 多项目切换的开发者:每个项目的工具栈不同,不想手动管理安装/卸载

开源、MIT 许可,可以放心用。

链接:GitHub stevesolun/ctx | PyPI claude-ctx

发表评论

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