• 请不要在回答技术问题时复制粘贴 AI 生成的内容
olddogs
V2EX  ›  程序员

为了省点 Claude Code 钱,研究到了凌晨 3 点

  •  
  •   olddogs · 2h 11m ago · 1109 views

    昨天晚上,我突然觉得 Claude Code 有点贵。

    当然,不是昨天才觉得。

    是每次看到额度快见底的时候,都会有一种熟悉的味道。

    就像穷的时候看着钱包里最后的碎银几两。

    总觉得还能再撑两天。

    于是我开始思考一个问题。

    有没有什么办法,可以让 Claude Code Token 消耗的慢一些?

    作为一个从小穷过的人,我有个不太好的习惯。

    就是当钱要花出去的时候,第一反应不是扫码,

    而是看看能不能,晚一点再支付。

    这时候,窗外的一抹夕阳,照射在我脸上,多么高光的时刻。

    顶着不下班的幌子,启动了我那不太优秀,但爱钻研学习的大脑。

    第一个想法:

    用 Claude code ,主要用的还是 Opus 4.8 ,也是目前能用最贵的。

    执行一个任务,它总要疯狂地看文件、修改文件

    如果是只让 Opus 负责思考、总结、下达任务,而那些搬砖、码字、改文件的脏活、累活,都让本地模型跑,或者更便宜的模型跑,这样是不是会更好?

    说干就干,名字叫 dsb 。

    为啥?咱不是要省 token 吗?那绝对是能省则省,名字也要省,讲究的就是一个“短小精干”。

    当然,兄弟们都是长长久久。

    刚看资料的时候,那个兴奋呐。

    感觉一个 100K star 的项目,已经在路上了,我甚至连 README 怎么写都想好了。

    接下来,就是问 AI 可行性

    GPT 说:思路是对的,干吧,很有前途的想法。

    我把 GPT 的想法发给 Gemini ,表示高度认同,甚至当场帮我把提示词都写出来了。

    贴出来,给兄弟们看看 →

    完整 Prompt 已归档到项目文档 👉 docs/dsb.md

    简单的过了一下,MCP 了解过,但没深入。 想到 AI 都这么确信了,那就直接开干。

    建目录,写 AGENT.md, 一顿操作猛如虎,我还特意问了一下 GPT ,如果是 DeepSeek v4 Flash ,写这个项目是否可行? 答案:可行。

    这里要给 DeepSeek 点个赞, 写的很快, 关键还便宜。

    后面的故事,搞过的兄弟们都知道。 很快第一版就出来了,但是跑不通啊。 秉承着“既然有了 AI ,就尽量不写一行代码”的原则,我把 Bug 重新抛给 GPT 。改啊改啊,终于通了。

    启动本地部署的 DeepSeek v4 Flash 。 这个要给 redis 之父也点个赞,如果有兴趣折腾本地模型的,可以去研究一下这个项目 https://github.com/antirez/ds4

    改好 Claude Code 的配置

    {
      "mcpServers": {
        "dsb": {
          "command": "node",
          "args": ["/aihop/dsb/dist/mcp-server.js"],
          "env": {
            "DSB_LLM_BASE_URL": "http://127.0.0.1:1234/v1",
            "DSB_LLM_API_KEY": "ds-local",
            "DSB_LLM_MODEL": "deepseek-v4"
          }
        }
      }
    }
    

    重启 Claude Code 。 一顿跑,不是说能省 token 吗?

    结果我本地模型的控制台上面,运行痕迹一动没动。

    我用 Claude Code 把项目切换到 dsb 本身。

    我满怀期待地问了 Claude Code 一个问题:

    这玩意儿能省 Token 吗?

    Claude Code 看了看自己刚刚写出来的项目。

    回答:不能。

    它甚至还建议我立即停止这个无意义的项目。

    我的第一反应是:是不是你看到我要少烧你的 token ,故意的吧?!

    我立刻把 Claude Code 的结果复制给 GPT 。

    得,这时候两边的大模型就开始隔空较量了。你说我说的不对,我说你的理解有误。

    大致的意思: Opus 说:你这个省 token 的前提大半是假的,我原生的 Edit 工具是定位替换,token 消耗极少。而你搞的这个 delegate_edit 会把文件全部读一遍,消耗反而更大。 GPT 反驳说:Claude Code 你只看到了“当前编辑行为”,但 dsb 本质上是一个“AI 调用结构优化层”……

    它们在我的屏幕上你来我往,吵得不可开交。 最终的结论:还是不能。

    我看他们说的都有道理。

    只是这些“没有道理的事”,好像 token 耗的都是我的。

    好像还有我的青春。

    看着屏幕上的时间,不知不觉,已经凌晨 3 点了。

    哎呦,站起来揉揉老腰!

    真不敢相信,1986 年出生的我,我算了算,2026-1986 ,不是应该等于 30 岁吗? 我心里一直这么认为的。 30 岁的小伙子,咋就会腰酸呢!

    不过转念一想,咱们搞开发的,哪个不是这么一路折腾过来的呢?

    要是缺了这点折腾,人生也会少很多乐趣。 至少昨天凌晨四点,我又学会了一些新东西。 顺便用几块钱的 Token 确认了一件事: 有些坑,必须自己亲脚跳进去,才知道它到底有多深。

    一些其他的坑

    1. 别对本地模型的 Agent 能力抱有幻想

    如果折腾本地模型,拿它来一个个处理单文件、写写函数、跑跑简单的单点测试,那是完全可以的。 但如果是用它来跑复杂的 Agent 、理解大工程、修改复杂的跨文件 Bug ,听哥们一句劝:别折腾了。 我用的是 MacBook M5 Pro 128G 后面我会专门开一篇,跟大伙详细聊聊这个跑本地模型的真实体验。

    1. 精力重构:熬夜真的不划算 折腾是技术人的本能,但真的不能太熬夜。 通宵死磕,总的来说并不能提升真正的时间效率。人一旦熬到凌晨两三点,极容易进入一种“钻牛角尖”的亢奋状态。以为在高效思考,实际上大脑已经过度活跃了,等想睡的时候根本睡不着。结果就是第二天整个人跟报废了一样,一点精神都没有。 用一天的报废去换深夜的自我感动,这笔资源调度怎么算都是亏本的。

    钱没省下来,README 也删了。 但我知道,只要遇到下一个好玩的坑,我这颗爱钻研的大脑,肯定还是会毫不犹豫地跳进去。

    有收益的

    能抽些时间写写东西,一个是能复盘技术,但更重要的,是能借此整理自己内心的秩序。

    其实写东西的习惯我一直都有。这么多年感受下来,这是让我受益最多的一件事。只是以前,我习惯把这些碎碎念写成一封封邮件发给自己。

    直到最近,我决定开始写《底层重构》。

    这本书的内容我同步托管在 GitHub 上连载:

    👉 https://github.com/aihop/Refactoring-the-Self

    我想,与其把这些留在自己的垃圾箱里,不如沿着这个思路继续写下去,毫无保留地分享给大家伙。

    里面有二十年前走过的泥泞,有二十年后和 AI 斗智斗勇的折腾。有对的,也有交学费的。如果有说得不对的地方,希望大伙在评论区直接指正。

    谢谢大家,咱长长久久。

    18 replies    2026-06-23 19:10:08 +08:00
    zdjohn001
        1
    zdjohn001  
       1h 53m ago
    搞这么复杂干啥,Claude code 有个单独计费的 sonnet ,小任务让 sonnet 来跑,量大管饱
    GiantHard
        2
    GiantHard  
       1h 48m ago
    > 如果是只让 Opus 负责思考、总结、下达任务,而那些搬砖、码字、改文件的脏活、累活,都让本地模型跑,或者更便宜的模型跑,这样是不是会更好?

    这里有一点我比较好奇,本地 LLM 能力肯定不如 Opus ,所以让 Opus 下达任务的时候,如果任务说明不够详细,那么本地 LLM 干脏活累活也容易出错。但如果任务说明详细到了不可能出错的程度,那么这里用来交代任务的 Token 是不是可能比让 Opus 自己来做更多呢?
    olddogs
        3
    olddogs  
    OP
       1h 44m ago
    @zdjohn001 后面才发现,最大的 Token 消耗源不是 Opus , 是我自己 🤣
    olddogs
        4
    olddogs  
    OP
       1h 40m ago
    @GiantHard 是的,而把一个复杂任务准确翻译成另一个模型不会出错的执行说明,本身就是非常耗 Token 的工作。很多情况下,等说明写完了,Opus 自己都搞完了,这也是折腾一番直接放弃了。
    zt4027050
        5
    zt4027050  
       1h 37m ago
    直接简单任务让 Opus 开 subagent 开干啊,cc 自己就可以开多个 agent ,干嘛折腾本地 ds4
    unusualcat
        6
    unusualcat  
       1h 36m ago
    github 的文章写的很好,看了突然有种失落感:原来优秀的人,从小学习就没有差的。
    v21984
        7
    v21984  
       1h 34m ago
    太好了,我才 20 岁
    yalin
        8
    yalin  
       1h 30m ago
    开源 Claude Code+充值 deepseek ,真香,嘻嘻😬
    ifeng66
        9
    ifeng66  
       1h 21m ago
    老哥,文章写的不错👍

    另外,由衷感谢公司 报销我的 Tokens 😄
    olddogs
        10
    olddogs  
    OP
       1h 20m ago
    @unusualcat 其实我感触最多的,是态度和习惯
    olddogs
        11
    olddogs  
    OP
       1h 15m ago
    @zt4027050 多谢,学到了,想想,分享的好处也在这,问题抛出来,就解决了
    zyc2011
        12
    zyc2011  
       1h 12m ago
    作为一个从小穷过的人,我有个不太好的习惯。

    就是当钱要花出去的时候,第一反应不是扫码,

    而是看看能不能,晚一点再支付。

    ---------
    上面的话感触比较深,晚一点支付在我这边的结果是:要么享受不到更长久的价值,要么付出更高的费用,得改。
    justd
        13
    justd  
       1h 10m ago
    [就是当钱要花出去的时候,第一反应不是扫码,

    而是看看能不能,晚一点再支付。]

    卧槽 我也这样,原来这是因为我穷啊
    olddogs
        14
    olddogs  
    OP
       56 mins ago
    @zyc2011 认同,认同 🤣
    olddogs
        15
    olddogs  
    OP
       56 mins ago
    @justd 别慌,我也是研究了很多年才定位到这个 Bug 。
    justd
        16
    justd  
       55 mins ago
    @olddogs #15 我想了想还真是
    justd
        17
    justd  
       55 mins ago
    @justd #16 想让钱在手里多放一会
    Leeeeex
        18
    Leeeeex  
    PRO
       14 mins ago
    claude code 的 dynamic workflow ,我实测了一下,确实是可以直接调用 sonnet 去干活的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3332 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 11:24 · PVG 19:24 · LAX 04:24 · JFK 07:24
    ♥ Do have faith in what you're doing.