Claudette:让Claude停止像BuzzFeed文章那样说话
开发者构建Claude Code技能,利用Gemini CLI将Claude的回复翻译成平实英语,解决其过度修辞的问题。
显然,现在众所周知,Anthropic只用旧的Buzzfeed文章训练了Claude(这解释了它对90年代怀旧的喜爱)。
所以Claude和我构建了一个Claude Code技能(/debuzz),它获取Claude的最后一条回复,并通过Gemini CLI将其从千禧一代的点击诱饵风格翻译成常规英语。
我们想叫它“Claudette”,但Cat Wu是出了名的爱打官司,所以它绝对不叫“Claudette”。Claudette是我们的解决方案,因为Claude是一位伟大的工程师,但有一个不治之症:它说话就像在TED演讲中谈论自己的pull request。
你问为什么测试不稳定,你会得到一个“承载假设”、三个编号的启示,以及一个庄严的说明,第三个是迄今为止最有启发性的。没有什么是简单的bug。总有一个“关键点”。
这个技能承认,无论多少提示都无法完全治愈这一点,而是做了诚实的事情:它将回复交给另一个模型Gemini(还记得去年夏天的Gemini吗?),它唯一的工作就是像人类一样说话。
Claudette承诺逐字打印Gemini的翻译,因为让Claude“整理”翻译会重新引入正在被移除的声音。之前(Claude):这里有趣的是:重试逻辑不仅仅是一个“锦上添花”——它是整个同步管道的“承载假设”。
有三件事让我印象深刻,第三件是迄今为止最有启发性的。
[. . . ] 第三——这是关键——去重键包含时间戳,这意味着重试实际上从未被去重。之后(/debuzz,同事模式):同步管道的重试逻辑有三个bug。syncQueue.ts:142吞掉了ETIMEDOUT,而不是重新排队任务。
退避上限为2秒,对移动网络来说太低了。而且去重键包含时间戳,所以重试永远不会被去重。修复:从键中剥离时间戳,将上限提高到30秒,并重新抛出超时错误。
git clone https://github.com/adnanakil/nobuzzmkdir -p ~/.claude/skillscp -r nobuzz/debuzz ~/.claude/skills/要求:
- Claude Code- Gemini CLI(npm install -g @google/gemini-cli),已认证——运行gemini一次并使用/auth,或设置GEMINI_API_KEY。
/debuzz [模式] [文本]如果没有文本参数,它会翻译Claude之前的回复。在模式后粘贴文本以翻译该文本。它也会触发自然短语,如“用正常英语说那个”。没有魔法。
Claudette将之前的回复写入临时文件,通过gemini -p "<plain-English style instructions>"管道传输,并逐字打印Gemini的输出。
如果Gemini出错(通常是认证问题),你会看到实际错误——Claude只提供自己的重写作为明确标记的备用方案,因为一个悄悄让蜂鸣器自我调试的调试器,最终会得到“承载翻译”。MIT