世界を動かす技術を、日本語で。

原始人のように話す

概要

Caveman Claude は、 LLMの出力トークン数を約75%削減 しつつ、 技術的な正確性を維持 するスキル。 インストールは1行コマンド で完了し、 コスト削減と応答速度向上 を実現。 無駄な言葉や丁寧語を排除 し、 本質だけを簡潔に伝達技術用語やエラー内容は正確に保持使い方はトリガーワードで簡単切替

Caveman Claudeとは

  • Claude原始人風(Caveman) で話させるスキル
  • 無駄なトークン・丁寧語・曖昧表現 を徹底削除
  • 技術的な内容・コード・エラー文 はそのまま保持
  • 記事・a/an/the・挨拶や婉曲表現 は完全排除
  • 約75%のトークン削減 による コストカット応答速度アップ
  • ジョーク感覚で使える、レビューや議論が楽しくなる

Before / After例

  • 通常Claude(69トークン)

    • "The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I'd recommend using useMemo to memoize the object."
  • Caveman Claude(19トークン)

    • "New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."
  • 通常Claude

    • "Sure! I'd be happy to help you with that. The issue you're experiencing is most likely caused by your authentication middleware not properly validating the token expiry. Let me take a look and suggest a fix."
  • Caveman Claude

    • "Bug in auth middleware. Token expiry check use < not <=. Fix:"

インストール方法

  • npx経由
    • npx skills add JuliusBrussee/caveman
  • Claude Codeプラグイン経由
    • claude plugin marketplace add JuliusBrussee/caveman
    • claude plugin install caveman@caveman

使用方法

  • トリガーコマンド
    • /caveman
    • "talk like caveman"
    • "caveman mode"
    • "less tokens please"
  • 停止コマンド
    • "stop caveman"
    • "normal mode"

Caveman Claudeの特徴

  • 冗長な言葉・丁寧語 を自動排除
  • コードブロック・技術用語・エラーメッセージ はそのまま出力
  • Gitコミット・PR説明 も通常表現
  • a, an, the(冠詞)・挨拶・婉曲表現 を削除
    • "I'd be happy to help you with that" → 削除
    • "The reason this is happening is because" → 削除
    • "It might be worth considering" → 削除

なぜ使うのか

  • トークン削減(75%)コスト大幅削減
  • 応答速度約3倍向上
  • 技術的正確性100%維持
  • 使って楽しい・会話が簡潔で明快

まとめ

  • Caveman Claude技術的内容を損なわず、出力を極限まで圧縮
  • インストール・切替もシンプル
  • コスト・速度・明快さ で圧倒的優位
  • MITライセンス、オープンで自由に利用可能

Caveman Claudeで賢く・速く・楽しく技術議論

Hackerたちの意見

あー、やっちゃったね。誰かがLLMにとってトークンが思考の単位だってことを知らなかったみたい。つまり、求める結果を出すために必要な計算が、LLMが生成するトークンに収まらなきゃいけないってこと。有限なシステムだから、LLMの内部構造がトークンごとにできる計算には限界があるんだよね。モデルに簡潔さを求めれば求めるほど、タスクは難しくなる。最悪の場合、トークンで生成できる以上の計算が必要になるから、良い答えは得られないってこと。つまり、モデルに簡潔さを求めることで、実際に頭が悪くなっちゃうんだよね。(思考の連鎖を「思考モード」に分けて、ユーザーのコントロールを取り除くことで、この問題は確かに改善された。)

この意見には基本的に賛成だけど、こういうことを考えるときにはニュアンスを考慮する必要があると思う。トークンはLLMが物事を解決する方法だけど、LLM(人間みたいに)考えすぎて間違った答えに至ることもあると思う。直感的な反応の方が良い場合もあるからね。これがデフォルトのモードだとは思わないけど、可能性があるし、問題の種類によってその可能性が高くなることもある。具体的な例としては、ユーザーのクエリに対してウェブ検索に偏りすぎたチャットインターフェースの時代があったよね。いや、クロード、レシピブログのスパムリンクや要約はいらないから、心の声を聞いてパンケーキの作り方を教えてくれ。もっと抽象的に言うと、LLMは実行中のコンテキストウィンドウに多くの信頼を置いていて、そこにあるものを後付けで合理化しようと頑張るんだ。低確率のトークンが一緒に走ることで多くの問題のある「幻覚」が生じると思っていて、それが起こる確率は応答の長さにほぼ比例すると思う。

俺も最初に思ったのはそれだ。原始人みたいに話すんじゃなくて、推論をオフにした方が多分いい結果が出るよね。それに、LLMは実際にはテキストで動いてるわけじゃないから、思考の多くはテキストとしてデコードされる高次元の空間で行われてるんだ。だから、LLMが別の方法で訓練されていない限り、原始人みたいに話させるのは単に理論的に原始人にする以上のことなんだよね。

これは見下してるし、同時に間違ってる(最高のコンボ)。LLMは有用な方向に導かない長い予測チェーンに迷い込むことがあって、トークンや計算を無駄にしてる。

どういう意味?ページにははっきりこう書いてあるよ: > 約75%のトークンを削減しつつ、完全な技術的正確性を維持する。 この主張が本当かどうかは全く分からないけど、明らかな批判に対して無視しているふりをするのは、少なくともかなり怠慢だよね。何も説明しない説明はあまり面白くない。

うん、「それについて手伝えるよ」とか「もちろん、ちょっと見てみるね」っていうのは、次のトークンに使える有用な信号があまりないと思う。

ちょっと言い換えてみるね: 「面白いアイデア!トークンの消費は確かに解決すべき問題だし、これも結構面白い!でも、トークンは思考の単位だという未証明の主張があるから、トークン数を減らすとモデルの能力が実際に減るかもしれない。これを使った人は、何か劣化に気づいた人いる?(自分では確認してないけど)」良い一日を!

これ聞いたことあるけど、別に信じてるわけじゃないし、なんでこれが真実である必要があるのかも理解できない。自動回帰モデルの「思考」はトレーニング中だけだっていう古い考えにまだ囚われてるんだよね。でも、これについて研究されてるんだよね? 誰か論文を教えてくれない? 特に曲線がどうなってるのか知りたいな。明らかに線形じゃないから、75%のトークンをカットしたら何を失うことになるのか予想できる? トレーニングデータには原始人の言葉があまりないと思うから、結果が悪くなるかもしれないね。だって、強化学習で得られたパターンに合わないから。

ラテン語みたいな言語が役に立つかもしれないな。英語よりもずっと簡潔な意味のエンコーディングができるし、同じ概念を表現できるから。文法に多くの接続詞を組み込んで、通常は多くの代名詞を省略できるんだよね。例えば、「家に歩いて帰るつもりだったけど、雨が降りそうだった」(14語)→「Domum ambulavissem, sed pluiturum esse videbatur」(6語)。

それは、Claude Codeで使ってるモデルによるね。最近のAnthropicモデル(4.5と4.6)は思考をサポートしてるから、生成されるトークンの数(「思考の単位」)は入力のトークン数に制限されない。ただ、もう一つの問題は、LLMは継続エンジンだから、原始人のように話すのは「簡単な返答を求めてる」と解釈されるかもしれない。賢い返答じゃなくてね。チェスのゲームで次の手を予測するように頼むのと似てる。最善の手を予測するんじゃなくて、続けているプレイヤーのELOレーティングから推測できる次の手を予測するんだ。下手なプレイヤーの手を続けるように頼むと、最善の予測として下手な手を生成することになる。もちろん、スタックオーバーフローには原始人の言葉があまりないから、影響がどうなるかは分からないね。プログラムがバグる。俺はバグを踏みつける。

うーん、俺はクロードに原始人みたいに話そうとするけど、あんまり良い答えが返ってこない気がする。誤解が増えるし、前の指示を説明するのにもっと言葉が必要な感じがする。あと、タイプミスがあるとコンテキストが少ないと余計に厄介だよね。誰か同意する?ただの気のせいかもしれないけど、俺はよく余計なことを言っちゃう。そうするとLLMからの結果が良くなる気がする。原始人みたいに話すと、LLMも考えることが減って、前の返答からの情報も減る気がする。

フラフはおそらく似たようなものを追加する。似たようなものが増えると、もっと色々なものが入ってくる。もっと色々なものは良いこともあるけど、毒にもなることがある。

そうだね、ほとんどの文脈では「原始人」みたいな会話が多いから、厳密に説明された数学や科学、コンピュータ関連の話にはなってないことが多い。だから、その出力を予測するのは難しいかもね。

それと、これも見てね: https://arxiv.org/pdf/2604.00025(『簡潔さの制約が言語モデルのパフォーマンス階層を逆転させる』2026年3月)

この説明がこんなに冗長なのはちょっと皮肉だね。 > ユーザーが「原始人モード」、「原始人みたいに話す」、「原始人を使う」、「トークンを減らす」、「簡潔に」って言ったとき、または/cavemanを呼び出したときに使って。 この最初の部分についてだけど、これってUserSubmitPromptフックを使って正規表現で対応できるんじゃない?スクリプトのjson出力のadditionalContextを見てみて: https://code.claude.com/docs/en/hooks#structured-json-output 2つ目については、/cavemanは常にスキル/cavemanを呼び出すよ: https://code.claude.com/docs/en/skills

いいアイデアだけど、出力でトークンの予算を使い果たすことはないよ。入力トークンがボトルネックだから、エージェントはスキルやディレクトリツリー、コードファイル、ツールの出力などを大量に取り込んでるんだ。出力は一般的に数百行のコードと少しの自然言語の説明になるよ。

いい指摘だね、実際にはそれより悪いこともあるよ:思考トークンには全く影響がないからね(モデルは内部では通常通り推論してる)。見える出力だけが原始人スタイルに圧縮される…もしかしたら、モデルはその答えを原始人スタイルに言い換えるためにもっと思考トークンが必要かもしれない。

じゃあ、これがトークンのコスト削減に役立つなら、特定のキーワードや記号、パターンを使って構文をもっと短くして、ノイズを減らして情報だけを残すようにしたらどう?ほとんどプログラミング言語みたいに。

うん、トークンの使用量が減るのはいいと思うけど、全体的なモデルの知能が減る感じがする。LLMは確率的モデルだから、基本的にその事前分布をいじってることになるんだよね。

意味のないトークン(主題の焦点に寄与しないもの)を取ったら、何を失うのか分からない。でも、これが多くの文脈情報も削除するから、逆効果になるかもしれないと思う。

ソーマ(別名tiktok)やビッグブラザー(別名Meta)は、政府の強制なしにすでに起こったことだし、ニュースピークに最適化するのは理にかなってるよね。終わりのない戦争がまだあることに感謝。そうじゃなかったら、権威主義的な政府は楽しみがなくなっちゃう。

一日中こんな風に話すことが、ユーザーの認知システムに長期的にどんな影響を与えるか心配してる人いる?

みんなこれに対してすごく批判的なのに、TOONには夢中になるのが面白いよね。