跳到主要内容

如何节省 token

· 阅读需 3 分钟
Quany
软件工程师

总体思路

目标就是两件事:

  1. 减少「自动带进来但其实用不到」的上下文
  2. 减少「每次对话需要重复扫描的大文件/大结构」

一、项目结构 / 忽略规则层面

扩充 .cursorignore

把"永远不需要读"的东西都排掉(你已经忽略了 node_modulesbackend/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 模板,你自己手动去改就行。