如何节省 token
· 阅读需 3 分钟
总体思路
目标就是两件事:
- 减少「自动带进来但其实用不到」的上下文
- 减少「每次对话需要重复扫描的大文件/大结构」
一、项目结构 / 忽略规则层面
扩充 .cursorignore
把"永远不需要读"的东西都排掉(你已经忽略了 node_modules 和 backend/target,不错):
可以考虑再加:
# 编译产物
frontend/web/dist
frontend/app/android
frontend/app/ios
*.log
# 大型静态资源(如果你几乎不会问这些)
**/*.png
**/*.jpg
**/*.mp4
# 测试快照、coverage
**/__snapshots__/**
coverage/**
文档/规范集中到少数文件
把"项目规范、工作流"集中到 CLAUDE.md + 少数 docs/plans/*.md,避免在很多散文件里重复长说明,每次都要被模型扫一遍。
二、Cursor / Claude 配置层面(减少自动上下文)
这些不需要改代码,只是你使用 Cursor 时的习惯:
少用/慎用「自动附加大 Skill」
这次聊天你手动附了 brainstorming,它本身字数不多还好。但类似 superpowers 的大 skill,如果不是每次都需要,可以:
- 真要用时再贴;
- 或者把你自己常用的 1–2 个写成更短版 Skill。
控制自动附加的文件数量与大小
在实际使用中:
- 问问题前,尽量只打开/高亮与你问题最相关的 1–2 个文件;
- Cursor 会优先把"当前打开文件 + 最近文件"丢给模型,开太多大文件会明显增大 token。
分阶段问问题,而不是一次性贴超长 diff / 多个大文件
比如 App 导航、某一模块的 UI、某个 API 层,尽量拆开问。
- 对"结构性问题"先问高层(架构、目录),再 drill down 到具体实现。
三、日常使用习惯层面(你和我的交互方式)
这些是你现在就可以改变的操作方式,会立刻省 token:
尽量引用"路径 + 行号"而不是整文件粘贴
在 Cursor 里说:
看下
frontend/app/src/navigation/index.tsx的路由结构
让我自己用只读工具去读,比你复制整个文件到聊天里便宜很多。
大文件只问一个点
不要说"帮我 review 整个线索模块",而是:
- 先:"帮我理解
ClueOrigin这块的筛选逻辑" - 再:"再看下它和
ClueMain的关系"
这样每次只需要一小部分上下文。
控制回答详细程度
像你现在这样不要求超长讲解,其实就已经在省 token 了;如果后面你觉得"回答太长",可以直说:
"只给结论和关键代码引用,不要铺垫"
我会按你要求压缩输出。
四、如果你愿意再进阶一点的做法
给 Cursor/Claude 写更短的 RULE / Skill
例如专门为这个项目写一个 RULE.md:
- 只说明技术栈、目录结构、OpenSpec 工作流的"精简版";
- 把长篇解释放在仓库的
docs/,需要时你再手动提示我去看。
把「经常要看的大文档」拆成多个小文件
比如一个 2000 行的 spec,可以拆成按模块的 3–4 个; 这样每次只会读到相关那一份。
简单总结
减少 token 的核心就是"缩小自动上下文 + 精准地引用需要看的文件/片段"。
如果你愿意,我可以帮你草拟一版更"节省 token"风格的 .cursorignore 和一个精简版的 RULE 模板,你自己手动去改就行。
