• ktze

    从 Claude code 为什么最近一直使用Python脚本来编辑文件继续讨论。

    发现cc最近总喜欢用 Bash 完成一切操作,而不是原生的 Edit/Write等工具

    我让Claude自己去调研这个问题,得知这是Anthropic 在搞 A/B 测试,就一直没管,但最近我发现这个模式下消耗远比之前大得多,而且完成任务更慢更差劲。

    正常情况下,在 auto 或 bypass 模式下,Claude Code 会优先使用原生工具,原生工具做不到时才会退回到 Bash。

    但如果你和我一样不幸命中了 Anthropic 的 A/B 测试,它的行为策略就会被强制设为「Bash 优先(Bash-first)」,System Prompt 中对应的提示词会变成:

    「auto 模式启用期间:只要 Bash 工具能搞定,就一律用 Bash 完成任务:读文件用 cat、head 或 sed -n;搜索用 grep 和 find;改文件用 sed、heredoc 或简短脚本,不要使用 Read、Edit、Write 这些专用工具。只有在 Bash 确实搞不定时,才退回使用专用工具。」

    不管a/的目的是什么,是被dsh夺舍也好,还是被codex夺舍也好,本来系统提示词就注入了一堆工具提示词,这下又同时注入优先用bash的提示词,那这左右脑互博的行为特么不是一直在浪费我钱吗?

    总之解决方案如下!

    排查与关闭:

    - 检查是否命中测试:

    查看 ~/.claude.json 中的 clientDataCacheSlots 字段,如果看到 "tengu_thrifty_sonic": true,就代表你被分配到了这个 Bash-first 的实验组。

    - 强制关闭该测试:

    在 ~/.claude/settings.json 中添加如下配置,即可退出:```
    {
    "env": {
    "CLAUDE_CODE_THRIFTY_SONIC": "0"
    }
    }

    主楼
  • Monster_Dump

    感谢佬告知,我的 .cladue.json 并无该设置,但进入 bypassPermissions mode,也是爱用 Bash 来编辑,使用的是 python3

    #1
  • ktze

    无脑设置"CLAUDE_CODE_THRIFTY_SONIC": "0"就行

    #2

发表回复

登录后回复