ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Claude Code 成本优化:六个技巧显著降低 Token 消耗

Claude Code 成本优化:六个技巧显著降低 Token 消耗 Claude Code 是 Anthropic 推出的命令行 AI 编程助手直接在终端里使用可以生成代码、修改文件、执行命令、读取测试结果。作为日常开发辅助它确实方便但很多人的第一感受是token 烧得比想象中快。一个典型场景是上午开了一个会话下午还在同一个上下文里改另一个模块对话历史里塞满了旧代码。下面这六条实用技巧是我反复测试后筛选出来的适合已经装上 Claude Code、想在正常开发里控制成本的人。先说明一句能不能真降一半取决于任务类型和使用习惯。如果主要浪费来自长会话、大文件、反复试错降幅可以非常大如果任务本身很小效果可能没那么明显。1. 先搞清楚 token 到底花在哪再谈省1.1 token 消耗的四个主要去向在优化成本之前先得明白 Claude Code 的 token 花在哪些地方。很多人以为它只消耗“聊天记录”实际并不是。Claude Code 是操作型工具它不只是“回答”还要读文件、改文件、跑命令、根据结果继续执行。所以 token 消耗点比普通聊天工具更多。可以粗略分成四类系统提示词和项目规则。每次请求都会携带运行环境的基础说明还会读取项目根目录下的 CLAUDE.md。这部分虽然单次不高但每次请求都扣一次。对话历史和工具调用结果。用户输入、AI 的思考输出、工具执行返回的内容都会作为后续请求的上下文。这里是最容易被低估的一块。文件内容。AI 需要修改代码时通常会读入文件内容。文件越大读入的输入 token 越高。AI 输出。生成的代码、解释、计划、修改 diff以及它调用工具时生成的参数都属于输出 token。注意一个关键点在 Claude Code 里工具调用并不是免费的。AI 要先发出“我要读取某个文件”的调用系统把文件内容返回AI 再基于返回内容继续生成下一步动作。这个过程每循环一次就会产生一轮新的输入和输出。换句话说一个表面上只需改一个函数的小任务背后可能发生十几轮文件读取和结果返回。所以判断 token 消耗不能只看你输入了多少字还要看 AI 为了完成任务实际“读”了多少内容。1.2 什么情况下 token 消耗最容易失控结合我自己的测试下面几种场景最容易让 token 快速上涨长会话不清理。一个会话从上午开到下午中间聊了需求、改过配置、跑过测试。每一次新提问都会携带全部历史输入 token 会不断膨胀。大文件被整文件读入。让 AI 修改一个几百行的函数结果它把整个上千行的文件读进来。如果文件超过数万行一次读入就很可观。大范围任务。比如让 AI“重构整个登录模块”它需要反复读取多个模块文件、判断依赖、猜测改动范围输入和输出都会翻倍。失败重试。代码运行报错后把报错日志贴回去AI 又读一遍相关文件再生成一版新代码。来来回回token 就像滚雪球。多终端并发。在多个终端窗口同时跑 Claude Code每个任务的上下文独立计算总消耗叠加账单自然上涨。之所以先讲这些是因为后面的六个技巧基本都围绕同一件事减少 AI 在无关内容上的投入减少无效重试。2. 技巧一和技巧二先把上下文管住六大技巧里最先要做的不是调参数而是管住上下文长度。上下文是 Claude Code 成本的大头长上下文会让每次请求的输入 token 持续膨胀。2.1 技巧一及时用 /compact 压缩上下文在交互式会话里输入/compactClaude Code 会把当前会话的历史对话压缩成一份摘要后续请求不再携带完整对话原文而是携带摘要。这样能显著降低长时间对话后的输入 token。什么时候适合用我的判断标准有三个同一个会话已经连续完成多个任务上下文里堆了很多旧内容。后续回复开始明显变慢或者你感觉模型“记不住重点”。日志里显示输入 token 越来越大但当前任务还没结束。需要留意的是/compact 不是无损操作。压缩后会丢失一部分细节比如之前的临时结论、具体路径、你随口提过但没写进代码的参数。所以在压缩前先把重要结果保存到文件里或者确保它们已经写进 CLAUDE.md。如果当前任务已经彻底结束更干脆的做法是直接输入/clear清空整个会话从零开始。清空后对话历史不再作为上下文自然不再产生历史累积。我一般会给自己定一个节奏每完成一个相对独立的功能就 /clear 一次同一个功能里需要反复调整时等基本稳定后先 /compact再继续下一阶段。这样不会因为频繁清空丢掉任务背景也不会让历史无限膨胀。这里需要注意/compact 和 /clear 都是交互式命令不影响代码文件本身。它们只是控制“模型看得到多少上下文”。2.2 技巧二用 CLAUDE.md 沉淀项目规则CLAUDE.md 是 Claude Code 在项目根目录读取的项目规则文件。启动后它会自动把它当作上下文背景。这意味着你不必在每个新会话里重新解释项目技术栈、目录结构、测试命令和编码约定。这部分省 token不是靠“减少单次开销”而是靠“减少反复交代的次数”。假设你每次开新会话都要花 200 token 解释项目规则一天 10 个会话就是 2000 token。这些规则写进 CLAUDE.md 后每次会话开头自动带上虽然也会消耗 token但不会因为你忘了说而变化也不会因为你重复描述而翻倍。一个示例 CLAUDE.md 内容# 项目规则 - 技术栈Python 3.11 FastAPI SQLAlchemy - 测试命令pytest tests/ - 代码规范使用 ruff 检查不要修改 migrations/ 下已有文件 - 启动命令uvicorn app.main:app --reload创建方式有两种手动创建或者在 Claude Code 中输入 /init 让它先生成一版再人工精简。这里有一个反向风险CLAUDE.md 并不是越详细越好。因为它会作为每一次请求的固定上下文发送写太多反而增加每次调用的输入 token。控制在一个合理范围很重要我个人建议尽量精简到 30 到 80 行只写“经常用、不经常变、写错代价大”的信息。比如不要放整段代码示例不要放大段架构历史也不要放几百个依赖清单。真正值得放的是测试命令、构建命令、目录约定、禁止改动的地方。这样每次请求只是多带几十行文本却能避免很多无效轮次。写作时要注意CLAUDE.md 本质上是给模型看的“项目记忆”它不是执行脚本也不用写成正式文档。写得越直接越省 token。3. 技巧三和技巧四别让 AI 做“大而全”的输出上下文管住后第二类开销是输出 token。很多人在 prompt 里没有限制输出范围AI 会给出一大段解释、计划、示例甚至反复生成完整文件。这部分的浪费同样
返回列表