jeecgboot AI专题研究
前言:一笔让人肉疼的账单
用 Claude Code 做开发确实爽,但月底看到账单的时候就不爽了。
我手上有一个 5 万行左右的 TypeScript 项目,刚开始放开了用,一个月下来直接烧掉 $800。这个数字让我不得不坐下来认真研究一下——钱到底花在哪了?有没有办法在不影响开发效率的前提下,把成本打下来?
经过一个月的摸索和调优,最终月费稳定在 $150 左右,降幅达到 81%。这篇文章就是这段经历的完整总结。
第一步:搞清楚钱花在哪
很多人以为 AI 编程助手的开销主要在"它给你写的代码"上,其实不然。我拿自己的项目做了统计,结果挺意外的:
| 消耗类型 | 占比 | 说明 |
|---|---|---|
| Input Tokens | 70%~85% | 你"喂"给模型的内容 |
| Output Tokens | 15%~30% | 模型生成的回复 |
进一步拆解 Input Tokens 的来源,真相浮出水面:
一次典型交互消耗约 15 万 tokens,其中 12 万来自项目文件的读取,占了 80%。
也就是说,Claude Code 每次响应你的请求时,都会把相关的项目文件"读"一遍送给模型。文件越多、越大,token 烧得越快。这才是真正的成本大头。
明白了这一点,优化方向就很清晰了——减少不必要的文件读取。
核心策略一:用 .claudeignore 砍掉无用文件读取(省 60%)
这是性价比最高的一招,效果立竿见影。
.claudeignore 的语法和 .gitignore 完全一样,放在项目根目录就行。它的作用是告诉 Claude Code:"这些文件你别碰,跟你没关系。"
一个实用的配置模板:
### 依赖目录 —— 这是最大的 token 黑洞
node_modules/
### 构建产物
dist/
build/
.next/
### 锁文件(动辄几万行)
*.lock
package-lock.json
### 日志和缓存
*.log
.cache/
.temp/
### 资源文件(模型读了也没用)
*.png
*.jpg
*.svg
*.ico
*.woff
*.woff2
实测效果:配置前单次交互消耗 15 万 tokens,配置后降至 6 万,直降 60%。
我个人的经验是:宁可多排除,不要少排除。如果某次对话确实需要看某个被排除的文件,你可以手动贴内容进去,远比每次都让它自动扫描划算。
核心策略二:写好 CLAUDE.md,让 AI 少走弯路(省 20%~30%)
没有 CLAUDE.md 的时候,Claude Code 拿到一个新任务会怎么做?它会四处"探索"——翻目录结构、读配置文件、查看 README、扫描入口文件……这些探索性的操作全都在烧 token。
CLAUDE.md 本质上是一份写给 AI 看的项目说明书,放在项目根目录。把关键信息提前告诉它,它就不用自己去"考古"了。
一份高效的 CLAUDE.md 应该包含三块内容:
### 项目概述
这是一个基于 React + TypeScript 的企业级后台管理系统,
使用 Ant Design Pro 作为 UI 框架,后端接口基于 RESTful 规范。
### 核心目录结构
src/
pages/ → 页面组件
components/ → 公共组件
services/ → API 请求层
models/ → 数据模型/状态管理
utils/ → 工具函数
### 常用开发命令
- 启动开发服务器: pnpm dev
- 执行测试: pnpm test
- 构建生产包: pnpm build
- 代码检查: pnpm lint
不需要写得多详细,关键是把 AI 最常需要"探索"才能获取的信息直接摆出来。这样它接到任务后能直奔主题,不用先花一大堆 token 做"项目调研"。
核心策略三:养成好的对话习惯(省 20%~40%)
工具再好,用法不对也白搭。以下三个习惯建议刻进肌肉记忆:
1. 任务拆小,一次只做一件事
反面教材:
"帮我重构用户模块,加上权限校验,顺便把相关的测试也写了。"
这种大而全的指令会让 Claude Code 一次性加载大量文件上下文,token 消耗暴增。
正确做法是拆成多次小对话:
- "帮我梳理一下用户模块目前的结构"
- "在 UserService 中添加权限校验逻辑"
- "为 UserService.checkPermission 方法编写单元测试"
每次对话的上下文更小、更精准,模型理解也更准确,一举两得。
2. 长对话及时压缩
Claude Code 提供了 /compact 命令,作用是压缩当前对话的上下文。经验法则是:
- 每 5~6 轮对话执行一次
/compact - 感觉响应变慢或者回答开始"跑偏"时,也可以手动执行
压缩后 token 消耗大约能再降 10%~20%。
3. 换任务就清上下文
做完一个功能要切到另一个完全不同的任务时,用 /clear 清空对话。否则之前的上下文会一直带着,白白消耗 token。
核心策略四:选对计费方案,从根源省钱
技术优化之外,选择合适的计费方案同样重要。目前主流有三种路线:
| 方案 | 单价(约) | 月费预估 | 适用场景 |
|---|---|---|---|
| 官方 API 直连 | $3/M tokens | $500~800 | 企业级、需要稳定性保障 |
| Claude Max 订阅 | 包月 $100 | $100 固定 | 轻中度使用、个人开发者 |
| API 中转服务 | ~$2/M tokens | $150~300 | 中高频使用、追求性价比 |
我个人最终选的是 API 中转方案,原因很简单:
- 比官方 API 便宜 30%~50%
- 比 Max 订阅灵活,不怕用超(Max 有用量上限)
- 响应速度和稳定性在可接受范围内
当然,如果你用量不大,Max 的 $100 包月可能是最省心的选择。
优化路线图:按优先级落地
如果你也想降本,建议按这个顺序来:
| 优先级 | 措施 | 预期降幅 | 实施成本 |
|---|---|---|---|
| P0 | 配置 .claudeignore | 40%~60% | 5 分钟 |
| P0 | 编写 CLAUDE.md | 20%~30% | 30 分钟 |
| P1 | 养成任务拆分习惯 | 20%~40% | 零成本,纯习惯 |
| P1 | 定期使用 /compact | 10%~20% | 零成本,纯习惯 |
| P1 | 切换中转计费方案 | 30%~50% | 1 小时 |
前两项是 P0 级别,花半小时就能搞定,效果最显著。后面三项属于锦上添花,但长期累积下来也很可观。
写在最后
AI 编程工具的成本控制,本质上和传统的性能优化是一个道理——先找到瓶颈,再针对性解决。很多人觉得"用 AI 就是贵",其实大部分开销都浪费在了不必要的文件读取和冗余的上下文传递上。
把 .claudeignore 和 CLAUDE.md 配好,再养成良好的对话习惯,80% 的成本就已经省下来了。剩下的 20% 交给计费方案的选择。
$150 一个月换一个全天候的 AI 编程搭档,这笔账怎么算都值。