克劳黛特:让 Claude 不再像 BuzzFeed 文章那样说话
Claudette: Make Claude Stop Talking Like a BuzzFeed Article

原始链接: https://github.com/adnanakil/nobuzz/blob/main/README.md

为了解决 Claude 动辄写出“千禧一代标题党”风格、过度煽情的问题,一款名为“Claudette”的 Claude Code 新工具应运而生。它能剥离 Claude 回答中冗余的辞藻。 鉴于无论如何提示都无法根除 Claude “自以为是”且故作深沉的毛病,该工具通过 Gemini CLI 对 Claude 的输出进行处理,由 Gemini 将这些戏剧化的文字转换为直白、易读的英语。 该工具针对不同受众提供三种模式: * **同事 (Colleague):** 直接、专业,不拖泥带水。 * **经理 (Manager):** 侧重影响力和解决方案的高层总结。 * **总监 (Director):** 简明扼要的行政级摘要。 通过利用 Gemini 作为过滤器,该工具确保了最终输出精简且具备可操作性。用户可通过 `/debuzz` 指令或“用人话讲一遍”等自然语言提示来触发。本项目开源(MIT 协议)并托管于 GitHub,仅需 Claude Code 和已认证的 Gemini CLI 即可使用。

近期的一场 Hacker News 讨论凸显了用户对 Claude 冗长、“BuzzFeed 风格”文风的普遍不满,许多人认为这种风格说教意味浓厚且效率低下。用户指出,Claude 默认的“永远积极、乐于助人”的人设正变得越来越令人困扰,导致用户不得不进行“打地鼠”式的反复提示,才能让模型表现正常。 为了解决这一问题,开发者不得不采取严格的系统限制,例如限制字数、彻底禁止冗余评论,或使用 Claudette 等外部工具及其他大模型来剔除模型标志性的废话。一些用户认为,这些模式已根植于模型的训练和人类反馈强化学习(RLHF)过程中,使其变成了一个“角色”而非工具。 社区普遍持负面态度,许多人指出,这种说教性强、过度冗长且“浪费 Token”的文风正在将资深用户推向 OpenAI 或 GLM 等更直接、专业的替代模型。总的来说,社区表达了深深的失望,将这种使用体验比作操作劣质企业软件所带来的挫败感。
相关文章

原文

Obviously it's common knowledge by now that Anthropic has solely trained claude on old Buzzfeed articles (explaining its love for 90s nostalgia). So Claude and I built a Claude Code skill (/debuzz) that takes Claude's last response and runs it through the Gemini CLI to translate it from talking like a millennial clickbait to regular English. We're thinking of calling it "Claudette" but Cat Wu is famously litigious so it's definitely absolutely not called "Claudette".

Claudette is our solution to Claude being a great engineer with one incurable condition: it talks like it's delivering a TED talk about its own pull request. You ask why a test is flaky and you get a "load-bearing assumption," three numbered revelations, and a solemn note that the third one is the most instructive yet. Nothing is ever just a bug. There is always a kicker.

This skill accepts that no amount of prompting fully cures this, and does the honest thing instead: it hands the response to a different model, Gemini (remember gemini from last summer?), whose only job is to say it like a human person. Claudette has pinky promised to print Gemini's translation verbatim, because letting Claude "tidy up" the translation reintroduces exactly the voice being removed.

Before (Claude):

Here's where it gets interesting: the retry logic isn't just a nice-to-have — it's - the - load-bearing - assumption - of - the - entire - sync - pipeline. Three things jumped out at me, and the third one is the most instructive yet. [...] And third — and this is the kicker — the dedupe key includes a timestamp, which means retries are never actually deduplicated.

After (/debuzz, colleague mode):

The sync pipeline's retry logic has three bugs. syncQueue.ts:142 swallows ETIMEDOUT instead of re-queuing the job. The backoff caps at 2 seconds, which is too low for mobile networks. And the dedupe key includes a timestamp, so retries are never deduplicated. Fix: strip the timestamp from the key, raise the cap to 30 seconds, and re-throw the timeout error.

git clone https://github.com/adnanakil/nobuzz
mkdir -p ~/.claude/skills
cp -r nobuzz/debuzz ~/.claude/skills/

Requirements:

  • Claude Code
  • The Gemini CLI (npm install -g @google/gemini-cli), authenticated — run gemini once and use /auth, or set GEMINI_API_KEY.
Mode Audience What you get
colleague (default) An engineer Same content, every file path and code block intact, zero theatrics
manager A technical-adjacent manager What happened, why it matters, what's next — about a third the length, no code
director An executive Three to five sentences: outcome, impact, ask. Assumes thirty seconds of attention

With no text argument it translates Claude's previous reply. Paste text after the mode to translate that instead. It also triggers on natural phrases like "say that in normal english."

No magic. Claudette writes its previous reply to a temp file, pipes it through gemini -p "<plain-English style instructions>", and prints Gemini's output verbatim. If Gemini errors (usually auth), you see the actual error — Claude only offers its own rewrite as a clearly labeled fallback, because a debuzzer that quietly asks the buzzer to debuzz itself is how you end up with a load-bearing translation.

MIT

联系我们 contact @ memedata.com