· Paul Lukic · 1 分钟阅读 · ai-costscontext-windowcode-graphdeveloper-tools

你不是超预算,你是超配额。

Claude Code 的每周上限和 Copilot 新的按额度计费,惩罚的是同一件事:代理本该读 4 个文件,却读了 20 个。解法不是更大的套餐,而是更小的上下文。

本文目录

周三,你的团队就已经撞墙了。Claude Code 的每周配额用光,Max 席位被限流,周四周五本该交付的东西没人做出来。你不是花超了,你是把配额用完了。

这就是问题的新形态。截至 2026 年 6 月,计费表从两个方向同时跑。Claude Code 在 5 小时滚动窗口之上又加了一道每周算力上限——Anthropic 在 3 月底公开承认,用户触达限额的速度”远快于预期”。而 6 月 1 日,GitHub Copilot 切换到按用量计费:AI Credits,每个一美分,按 token 以各模型公布的费率扣除。无论哪种,你的代理每多读一个文件,都是一笔记在那个周中就会见底的预算上的开销。

没人愿意说出口的真相是:那些文件大多根本不需要读。你的代理靠关键词搜索或向量相似度找代码——这些钝器会把一切与某个词沾边的东西都捞回来,把模型淹没在噪声里。一个资深工程师会扫一眼项目结构、顺着真正的依赖链走、只读重要的部分。你的代理目前还做不到。所以它读 20 个文件去改 4 个,而你来买单——用钱、用配额、用那个周三就让团队停摆的限流。

RAG 时代正在落幕——而它正把你的配额一起带走

两年来,“代理如何找代码”的答案一直是检索:把代码库做成嵌入,按查询搜索,把命中度最高的几个塞进上下文。这个套路如今正肉眼可见地崩解。2026 年正在流行的行业术语是上下文架构(context architecture)——人们认识到,检索增强生成(RAG)在设计上就会过度抓取,而代理需要的是一个结构化的上下文层,不是一堆”可能相关”的匹配。

原因很简单。检索优化的是召回率:把任何可能相关的都返回。这对编程代理是错误的目标,因为在代码里,真正重要的关系不是词面相似,而是依赖边。OrderService.place_order() 调用一个 repository,后者用到一个缓存策略。这些文件构成了链条。没有关键词能找到这层关系,没有嵌入能捕捉它。

为什么关键词搜索浪费配额

关键词搜索确定且快,所以它无处不在。把每个词建索引,常数时间查到。但确定不等于正确。在后端里搜 “order”,你会拿到订单服务——没错——外加每个提到订单的路由处理器、每个测试夹具、那个 import 了订单 DTO 的计费服务、一个迁移文件,还有审计日志里的注释。你的代理收到一股松散相关代码的洪流,只能花推理 token 去判断哪些是噪声。

为什么向量搜索也不是解药

向量搜索更聪明——它知道”verify user identity”和”authentication”很近。但它返回的仍是可能的匹配,不是确定的匹配。它仍然过度抓取。而且做嵌入意味着把你的代码库送到外部服务:一道安全边界、一笔延迟成本、又一张月度账单。你只是把关键词洪流换成了语义洪流。

关键词搜索 vs. 依赖图:入门

左右对比:左侧是关键词搜索散落的几十个文件节点;右侧是四个相连节点构成的干净依赖链

依赖图到底知道什么

有向图:一个服务模块调用校验器,校验器调用类型模块,边标注 'imports' 和 'calls';一个不相关的日志模块在被追踪路径之外

依赖图是这样一种结构:节点是函数、类和文件,边是”X 调用 Y”或”X 导入 Y”。你只需解析一次代码库——imports、函数调用、类继承、导出——把这些关系存进一个可查询的数据库。

现在当代理问”这次改动会牵动什么?”时,你从入口点遍历图,只返回可达的节点。从那个函数开始,顺着它的调用走,追踪它的依赖,停。代理一次查询就拿到链条——而且只有链条。零猜测,零来自注释或命名冲突的误报。

这就是上下文架构在代码上的实际含义:用确定性的图遍历取代概率性的检索。代理读更少的文件,装更少的噪声,犯更少的错误——也烧掉更少那个周三就要见底的配额。

量化浪费:已提交的基准

柱状图对比单个任务的 token 消耗:朴素关键词搜索 4,764 token,依赖图 969 token,约 80% 的降幅

Coograph 把基准测试随仓库一起发布,这样你不必凭信任接受结论。它是一个单一固定任务——“给 OrderService.place_order() 加缓存”——跑在一个单一已提交的夹具(bench/fixtures/sample-app/)上。两者都签入了。任何人都能重跑并得到同样的数字。这份诚实比一个更唬人的标题更重要:一个你无法复现的基准是营销,不是测量。

在这个任务上:

  • 朴素 grep + 读取所有匹配文件: 20 个文件,约 4,764 个输入 token,21 次工具调用。
  • 图最小上下文查询 + 读取返回文件: 4 个文件,约 969 个输入 token,5 次工具调用。

这是 约 80% 的 token 降幅约 4 倍的工具调用下降——在一个有代表性的重构任务上。真实节省取决于仓库规模和任务形态:代码库越大、改动越聚焦,图的优势越大。这是一个任务,不是普适保证。但机制每次都一样——读链条,跳过洪流。

每个任务少烧约 80% 的 token 能换来什么?两样计费表在意的东西。在 Copilot 的按额度计费上,它是每次改动更小的一笔账。在 Claude Code 的每周上限上,它是撞墙前能多做的任务——代理用零头的上下文做同样的工作,同样的配额就能撑到周里更深的地方。我们不给”省下几天配额”安一个数字——那完全取决于你的工作量——但方向并不微妙。

给关心金额的人算一笔:按 Sonnet 4.6 每百万输入 token 3 美元的费率,这一个任务的差价大约是 0.014 美元对 0.003 美元——零点几分钱。token 账单从来不是吓人的部分,限流才是。每任务更少的 token,就是更少的任务被上限挡下。

更少的工具调用,更快的循环

token 是故事的一半,工具调用是另一半。当代理缺上下文时,它会反复查询——搜索、读取、“不对”、再搜索。在基准上那是 21 次往返对 5 次。每次往返都是开发者要干等的延迟。把工具调用砍掉约 4 倍,代理就能一遍组好上下文,而不是四遍,这是保持心流和盯着转圈之间的区别。

自建 vs. 购买的权衡

自建这条路

在内部搭一套依赖图系统,看着像一个冲刺,最后变成一支常驻团队。语言异构(Python、TypeScript、Go 各有不同的 import 语义)。一旦图超出内存就要持久化和查询模式。增量更新,好让图不会在你建好十分钟后就过期。解析器的边缘情况——装饰器链、动态导入、条件 require——2% 的漏判率意味着你的代理每 50 个任务就错 1 个。一个能跑的 v1 是几周;一个正确的 v1 才是那个永远做不完的部分。

Coograph 这条路:开源、本地、MIT

Coograph 是一个开源的解析器和图引擎。它用 tree-sitter 处理 Python、TypeScript、JavaScript、Go、Rust、Java、C#、Ruby 等等,并以正则作为兜底,让不支持的语言降级而不是让构建失败。它产出一个文件——.code-graph/graph.db,一个 SQLite 数据库——本地存放,永不离开你的机器。没有外部嵌入服务,没有第三方看到你的代码,没有 API key。

安装只需几分钟。把 Coograph 克隆为同级目录,在你的 AI 工具里运行 /coograph-init(Claude Code、Copilot、Cursor、Windsurf、Codex CLI、OpenCode、Aider、Cline),让它构建图——或者直接用 uv run --with-requirements .github/code-graph/requirements.txt .github/code-graph/server.py --build 构建。一个 git 钩子在每次提交时只重新解析 SHA 变了的文件,所以图在毫秒级保持最新。整个仓库是 MIT 许可、永久免费——没有任何被锁的功能。

Coograph 如何给你的代理喂更好的上下文

你的代理通过 MCP 工具——get_minimal_contextquery_graph 等等——查询这张图,而不是跑关键词搜索。MCP 服务器只是 SQLite 文件之上一层带类型的便捷封装;你愿意的话也可以直接用 sqlite3 查。文档规定的兜底顺序是先 MCP,再 sqlite3,只有在图确实不存在时才退到 grep。

它能和你已经在用的代理一起工作——它不替换你的代理,而是给它喂依赖链而非关键词堆。因为图在本地,所以零网络延迟,零数据离开你的机器。

对想要超出 OSS 核心的团队,Coograph Pro 是服务,不是一个 SaaS 套餐:定制集成、为内部语言定制解析器、针对你真实工作量的持续基准测试。合作通常从一个限定时间的 2–4 周首阶段开始。没有任何功能藏在付费墙后——仓库里的一切都是开源的。

Coograph 到底能省多少?

在已提交的基准任务上(给 OrderService.place_order() 加缓存,跑在 bench/fixtures/sample-app/ 上),Coograph 把输入 token 削减约 80%(4,764 → 969),工具调用削减约 4 倍(21 → 5)。这是一个固定、可复现的任务——不是普适保证。你的节省随仓库规模和改动的聚焦程度而变。

这对 Claude Code 的每周上限或 Copilot 的额度有帮助吗?

间接,但直接到足以有意义。两种计费表都按 token 收费。读 4 个文件而不是 20 个,意味着每个任务只花零头的上下文,所以同样的每周配额能铺到更多任务上,每次 Copilot 改动也是更小的额度开销。我们不去量化”省下几天配额”——那取决于你的工作量——但每任务更少的 token,明确就是更少的任务被限流挡下。

Coograph 能和我们已经在用的代理配合吗?

能。它通过 MCP 服务器与 Claude Code、VS Code Copilot、Cursor、Windsurf、Codex CLI、OpenCode、Aider 和 Cline 集成。它是一个上下文层,不是替代品——你保留自己的代理,只是给它依赖链而非关键词结果。

安装或维护麻烦吗?

不麻烦。把 Coograph 克隆为同级目录,运行 /coograph-init,让它构建图——或者直接跑构建命令。产出是单个 SQLite 文件(.code-graph/graph.db)。一个 git 钩子在每次提交时只重新解析变更的文件,所以没有服务器要跑,也没有持续开销。

开源还是付费?

整个仓库是 MIT 许可、永久免费——没有被锁的功能。Coograph Pro 是定制服务(集成、定制解析器、基准测试),不是产品的某个锁定套餐。

你不是超预算,你是超配额——而根源是一个代理在读它从不需要的文件。用快速开始指南生成你的第一张图,在代码图页面看看里面有什么,或者如果你的团队需要动手集成,来聊聊 Coograph Pro。基准已经提交,自己重跑一遍。

削减你的 AI 编程账单 30–80%。Coograph 采用 MIT 许可、永久免费。Pro 提供定制服务。