think-in-code 是一个面向 AI 编程助手的使用技能,核心思路是减少不必要的文件读取调用。它强调:用一条 Bash 管道可以替代 N 次顺序读取文件的操作。当任务需要读取多个文件以提取摘要时,把完整文件内容加载进上下文会浪费大量 token;改用一条 shell 管道返回紧凑的聚合结果,更节省上下文。资料给出的启发式判断是:如果任务属于“对一组文件中的每个文件计算或提取某项内容,再做汇总”,就应当编写脚本;而 Read 应保留给已经明确关注的单个文件做定向查看。
技能提供 5 个可直接运行的示例模式:
-
文件大小审计:用 find、xargs wc -l 与 awk,找出行数超过 FUSE_SOLID_MAX_LINES 的文件,并按行数倒序取前 20 个。
-
多 grep 符号提取:用 rg --json 提取 export function/class/const 等符号,再用 jq 输出为“路径:行号 内容”的紧凑格式,取前 50 条。
-
依赖及版本:对 Node 读取 package.json 的 dependencies 与 devDependencies,对 PHP 读取 composer.json 的 require 与 require-dev,输出“名称@版本”。
-
错误日志扫描:用 grep 递归匹配 ERROR、FATAL、Exception、panic:、stack trace 等关键词,取最后 30 条。
-
按扩展名统计代码行数:用 find 排除 node_modules、vendor、.git 后统计各类文件的代码行数,并按行数排序。
资料还给出反模式说明:不要为了统计行数、列出导出或检查文件大小而顺序读取 10 个文件,因为每个文件约占用 6KB 上下文,合计约 60KB,而实际结果只需约 1KB。正确做法是用一条 Bash 管道输出紧凑表格。前后对比例子中,任务为“找出 src/ 中超过 FUSE_SOLID_MAX_LINES 的文件”,改进后结果约 1KB,消耗约降低 60 倍。
使用方式上,需按示例在具备 Bash、find、xargs、awk、rg、jq、grep 等工具的环境中运行脚本;其中文件大小审计示例要求先设置环境变量 FUSE_SOLID_MAX_LINES。适用场景包括多文件分析、代码库审计、依赖扫描、日志检查与代码行数统计。限制方面,资料未说明具体的平台支持范围、安装方式、收费模式或与特定 AI 工具集成的方法,这些信息暂未提供。