TS编译器知识图将AI Token消耗降低约90%
@ttsc/graph是一款MCP服务器,通过TypeScript编译器构建精确的代码声明关系图,AI代理无需读取源文件即可回答代码问题,从而将Token成本降低约90%。
近日,一款名为@ttsc/graph的开源工具在Hacker News上引发关注。它是一个MCP(Model Context Protocol)服务器,通过为AI代理提供TypeScript代码的编译器级知识图,大幅降低Token消耗。
传统上,编程代理在回答代码问题时,需要搜索仓库并逐个读取文件内容来获取上下文,这导致大量Token消耗。@ttsc/graph改变了这一模式:它利用TypeScript编译器自身的类型检查过程,将整个代码库索引为一个声明及其关系的精确图。每个节点和边都由编译器解析,确保准确性。当AI代理提出问题时,只需通过一次工具调用就能从图中获取答案,包括名称、签名、关系和源位置,而无需读取文件体。
由于工具调用和返回结果均不随仓库大小增长,Token成本在所有情况下都能降低约90%。基准测试显示,在真实仓库上,使用@ttsc/graph的代理在回答入门问题时仅需1-3次图调用,不打开任何文件,Token消耗仅为基线方法的4%。相比之下,同类工具如codegraph和serena的成本会随仓库大小波动。
另一个显著优势是索引构建速度。@ttsc/graph将图作为编译器类型检查的副产品,因此在大型仓库中也能秒级完成构建。例如,在包含300万行代码的VS Code仓库上,@ttsc/graph仅需29秒,而codegraph需要12分钟,serena需要4.5分钟。
该工具的设计注重精确性。工具描述明确指示代理何时使用图、何时停止,并强调返回的图事实是编译器的绝对真理,无需再用文件验证。通过强制代理在调用前进行推理(包括问题、草稿和审查字段),确保代理选择最合适的请求类型,避免误用。
对于TypeScript开发者而言,@ttsc/graph提供了一种高效、低成本的代码导航方式,尤其适合大型代码库中的架构理解和代码审查。该工具需要ttsc和TypeScript 7编译器支持,安装简单,可与MCP客户端配合使用。更多基准数据和详细方法可在ttsc.dev的基准页面查看。