+
32
-

回答

CodeGraph是项目代码本地知识图谱工具,减少代码大模型tokes,rtk是shell层终端输出压缩,最终也是减少大模型tokens。

一、Github 官方仓库地址

1. CodeGraph(代码知识图谱工具)

仓库:https://github.com/colbymchenry/codegraph开发语言:TypeScript(前端/CLI),底层Tree-Sitter解析代码AST

2. RTK - Rust Token Killer(终端输出压缩工具)

仓库:https://github.com/rtk-ai/rtk开发语言:纯Rust,单二进制无依赖

二、核心定位本质区别(最关键)

核心作用给AI代码代理预构建代码语义图谱,替代AI反复读取文件、遍历目录,从源头减少文件读取类Token消耗拦截终端Shell命令输出(git、ls、cargo、test日志等),过滤冗余日志、进度条、重复文本,压缩命令返回内容的Token
优化对象代码库源码、函数/类/调用关系(文件读取、代码检索场景)终端命令打印输出(命令执行、日志输出场景)
工作原理本地预索引整个项目AST,提取符号、调用链、依赖;AI通过MCP协议直接查询结构化索引,不用读取完整源码文件作为Shell代理,AI执行bash命令时自动包装rtk xxx,对每个命令做专属规则压缩,输出精简摘要给LLM
Token节省逻辑减少文件IO读取次数:AI不用反复cat、ls、grep扫描文件,直接查图谱,降低工具调用次数(官方减少71%工具调用)减少命令输出文本长度:原始几百行日志压缩为几十字摘要,单命令最高省90%+Token
适用场景大型代码仓库、Cursor/Claude Code深度编码、需要代码跳转/依赖分析/死代码检测高频执行终端命令、跑测试、git操作、容器/云命令、日志排查
依赖/协议基于MCP(Model Context Protocol),Tree-Sitter多语言解析,SQLite本地索引纯Rust单文件二进制,零外部依赖,Claude Code内置Hook自动接入
语言支持TS/JS/Rust/Python/Go/C++等全主流开发语言不限编程语言,只处理Shell命令输出(git、cargo、npm、docker、gh、pytest等30+命令)

三、功能细节对比

CodeGraph 核心能力

预构建代码知识图谱:函数、类、结构体、接口、变量、函数调用关系、导入依赖

MCP服务:AI代理直接调用图谱查询,精准定位符号、查找引用、分析变更影响范围

实时索引同步:监控文件改动自动更新图谱,不用重新全量扫描

优势:AI不用反复读取大量源码文件,从根源降低代码读取产生的Token,同时提升AI代码理解精度

短板:对终端命令日志无优化,执行git status、cargo test产生的冗余日志无法处理

RTK(Rust Token Killer) 核心能力

透明代理拦截所有Shell命令输出,命令专属压缩规则

过滤冗余:进度条、重复日志、空白行、无关警告、超长目录列表

结构化精简:git diff/stat只输出变更摘要、测试日志只保留报错堆栈、ls/tree压缩目录树

Token统计:rtk gain查看全局节省Token总量、分命令统计

优势:完全不处理源码文件读取,只优化命令输出,极致轻量、启动延迟<10ms

短板:无法理解代码语义,不能替代文件读取、符号检索的工作,代码库庞大时依然会产生大量文件读取Token

四、两者是否可以一起使用?

完全兼容,推荐组合使用

CodeGraph:解决「AI读源码、查符号」产生的大量Token开销;

RTK:解决「AI执行终端命令、打印日志」产生的大量Token开销;两者优化的是AI编码流程中完全独立的两个环节,叠加使用可实现整体Token消耗大幅下降。

五、一句话总结区分

CodeGraph:代码库静态语义索引工具,省「读取源码文件」的Token;

RTK(Rust Token Killer):终端命令输出压缩代理,省「Shell命令打印日志」的Token。

网友回复

我知道答案,我要回答