00:00:00Cloud Codeに「原始人」のような話し方をさせることは、単にトークンの節約になるだけでなく、
00:00:04実はパフォーマンスの向上にもつながるかもしれません。一見すると、
00:00:07完全にネタ(ミーム)のように聞こえますが。「caveman」というGitHubリポジトリがあり、
00:00:12それは72時間で5,000スターを獲得しました。
00:00:15そして、その機能はCloud Codeにネアンデルタール人のような話し方を強制するだけです。
00:00:19無駄な言葉をすべて削ぎ落とします。簡潔にすることで、
00:00:24その過程で大量のトークンを節約するというアイデアです。
00:00:27しかし、このリポジトリの中に、数週間前に発表されたばかりの
00:00:31ある研究論文へのリンクが隠されています。
00:00:31そこには、大規模言語モデルにより簡潔になるよう強制すれば、
00:00:36トークンを節約できるだけでなく、パフォーマンスを劇的に向上させることができると書かれています。
00:00:40そこで今日は、この「原始人(caveman)」スキルを徹底解説します。
00:00:42リポジトリにある数値は少し紛らわしいので、実際に何が得られるのかを説明し、
00:00:46この研究論文についても詳しくお話しします。これが皆さんに
00:00:50実際に何を意味するのかを理解してもらうためです。さて、これが「caveman」です。
00:00:54「多くの言葉、なぜ言う? 少ない言葉、役立つ」というリポジトリです。
00:00:58さて、まず何をしているのか? 非常にシンプルです。
00:01:02Cloud Codeの無駄をカットしています。今や、原始人のように話します。
00:01:07Before/Afterの例を示し、トークンの差を表示し、
00:01:11Cloud Codeに与えたタスクの完全なベンチマークリストまであります。
00:01:15Reactの再レンダリングのバグ解説、通常のトークン使用量、
00:01:19原始人モードのトークン、そして節約量です。
00:01:21さて、このリポジトリで提示されている数値は、ある種異常です。
00:01:23彼らが主張しているのは、このスキルを使えば、
00:01:26完全な技術的正確さを保ったまま、出力トークンの75%を削減できるということです。
00:01:31この「caveman」は、内部でのCloud Codeの推論方法を変えるものではありません。
00:01:35コードの生成方法自体を変えるわけでもありません。そういった部分は一切変わりません。
00:01:38変わるのは出力、つまりレスポンスとして表示されるものだけです。
00:01:41また、メモリファイルを圧縮する付属ツールも含まれています。
00:01:45claud.mdを「原始人語」に変換するようなものです。
00:01:47これにより、毎セッションの入力トークンが45%削減されることになっています。
00:01:52はっきりさせておきましょう。全体で出力トークンの75%や、
00:01:57入力トークンの45%を削減できるわけではありません。それは全くの誤解です。
00:02:01「Reactの再レンダリングのバグ解説でトークンを87%節約した」
00:02:03というような記述があったとしてもです。
00:02:07Cloud Codeから返されるプロンプト、レスポンスそのもの、
00:02:11つまりテキストは、出力トークン全体のごく一部に過ぎません。
00:02:15メモリファイルについても同様で、
00:02:17claud.mdは入力全体のごく一部に過ぎないのです。
00:02:21ですので、トークンスケールでこれが実際に何をもたらすのかを明確にしましょう。
00:02:25合計トークンの80%を節約できるわけではありません。もう少し分かりやすくするために、
00:02:28平均的な10万トークンのCloud Codeセッションを分解してみましょう。
00:02:32セッションごとに多少異なりますが、ここでは例として考えてください。
00:02:3610万トークンのセッションがあり、2つの部分に分かれています。
00:02:40大部分を占めるのが入力です。
00:02:42それが75,000トークンで、出力が25%(25,000トークン)です。
00:02:46さて、cavemanは出力を75%削減できると主張しています。
00:02:51それは正確ではありません。出力を詳しく見ると、実際には3つの部分に分かれていますよね?
00:02:56ツール呼び出しが一部を占め、コードブロック、
00:02:59つまり実際のコード生成が別の部分を占めます。
00:03:02そして実際の散文体(文章)のレスポンスがあります。
00:03:06この内部のテキストレスポンスこそが、cavemanが調整している部分です。
00:03:10それが削減される対象です。その部分については75%削減できるでしょう。
00:03:13下の図を見ると、
00:03:16通常、文章の部分が6,000トークンを占めている場合、cavemanを使うことで
00:03:204,000トークンを節約できます。つまり全体で4%の削減です。それでも素晴らしい結果です。
00:03:251週間を通じて合計トークンの4%を節約できれば、
00:03:29それは確実に積み重なっていきます。
00:03:30特に、誰もが使用量を非常に意識している現在の環境では重要です。
00:03:33ただし、87%ではなく、セッション全体の中の
00:03:38一部の一部の、さらにその60〜70%であると理解してください。
00:03:43さらに、
00:03:44入力について、原始人圧縮で45%節約できるという話ですが、
00:03:49これも実際は少し違います。
00:03:50システムプロンプトの領域、しかもその特定の構成要素について話しているのです。
00:03:54ですので、全体ではどうでしょうか? おそらく1,000トークンか
00:03:582,000トークン程度の節約でしょう。セッション全体を通してみればです。
00:04:03もし各セッションで5,000トークン、つまり5%節約できれば、それは良いことですが、
00:04:07派手な宣伝文句通りの数字ではありません。まずその点を理解しておいてください。
00:04:13これは「わずかな利益の積み上げ」であり、根本的な変革ではありません。
00:04:1575%節約できるからといって、5倍のMaxプランから20倍のMaxプランに
00:04:19いきなり飛び級できるわけではないのです。いえいえ、違います。
00:04:22しかし、ここには依然として多くの価値があり、さらに引き出せる価値もあります。
00:04:25ここに埋もれている、ある研究に目を向けてみましょう。
00:04:29それ専用のセクションが1つだけ設けられているのですが、
00:04:31これは「簡潔さの制約が、言語モデルにおける逆転のパフォーマンス階層を生む」
00:04:34(Brevity constraints, reverse performance hierarchies in language models)という研究です。
00:04:36これは今年の3月初旬に発表されました。
00:04:38概要欄にこの研究へのリンクを貼っておくので、興味があればチェックしてください。
00:04:41これについて少し話しましょう。非常に興味深い内容だからです。
00:04:45一般的には「大きなモデルは常に小さなモデルより優れている」
00:04:49という期待がありますよね。ところが、
00:04:53この研究によれば、必ずしもそうとは限りません。
00:04:56この研究では、31のモデルを1,500の
00:05:01問題で評価しました。
00:05:02そして、過度な精緻化を通じてエラーを引き起こす「自発的で規模に依存した冗長性」
00:05:07というメカニズムを特定しました。一体どういう意味でしょうか?
00:05:11つまり、これら1,500の問題と31のモデル全体において、約8%の問題で
00:05:16大規模言語モデル(LLM)、
00:05:19つまりパラメータ数の多いモデルが、小さなモデルよりも28ポイントも
00:05:24パフォーマンスが低かったのです。パラメータ数が100倍も多い場合があるにもかかわらずです。
00:05:28これはすべてオープンウェイトモデルでのシナリオです。
00:05:3220億パラメータのモデルが、4,000億パラメータの
00:05:37モデルを上回るケースがありました。これが何度も起きたのです。驚きですよね。
00:05:41なぜでしょうか?
00:05:43彼らが推測している理由は、これらの大規模言語モデルが
00:05:49喋りすぎている(あまりにも冗長である)ためです。
00:05:51あまりに冗長すぎて、自分自身で堂々巡りに陥り、
00:05:55そのせいで間違った答えを出してしまうのです。そして研究では、
00:05:58大規模モデルに短い回答、つまり「原始人」的な回答を出すよう制約を課すと、
00:06:02正確さが26ポイント向上し、パフォーマンスの格差が最大3分の2まで
00:06:07縮小することが分かりました。
00:06:09多くの場合、これらの大規模言語モデルにより簡潔に、
00:06:14より原始人のように振る舞うよう強制することで、動的な変化が起こりました。
00:06:18以前は小規模モデルに負けていたのが、一転して勝利するようになったのです。
00:06:21このGitHubリポジトリの文脈で見ると、これはかなり凄まじいことです。
00:06:26もちろん、これらはオープンウェイトモデルです。Opus 4.6でもなければ、
00:06:29Codex 5.4でもありません。
00:06:30最先端のフロンティアモデルも全く同じ挙動を示すのでしょうか?
00:06:34確実なことは分かりませんが、
00:06:36この種の研究を見たことがあれば、ここで見られる傾向は
00:06:40通常、フロンティアモデルでもある程度繰り返されることが分かるはずです。
00:06:44これほど極端ではないかもしれませんが、おそらく何らかの関連はあるでしょう。
00:06:47研究の残りの部分では、テストの実行方法や、
00:06:51相関関係と因果関係をどう切り分けるか、なぜこれが問題だと考えるのかについて詳述されています。
00:06:55前述した通り、
00:06:57大規模モデルは過度に冗長な回答を生成し、それが正しい推論を覆い隠してしまう、
00:07:02彼らが「考えすぎ(overthinking)」と呼ぶ現象が起きていると仮説を立てています。
00:07:06あまりにも多くの情報を出そうとしすぎているのです。
00:07:07単に答えを出して余計なことを言わなければいいのに、
00:07:10文字通り、喋りすぎて間違った答えに行き着いてしまいます。
00:07:13彼らは具体的にこう述べています。「徹底しようとする学習済みの傾向が
00:07:17逆効果となり、エラーの蓄積を招いている」。
00:07:21簡潔さの制約は大規模モデルを劇的に助ける一方で、
00:07:25小規模モデルにはほとんど影響を与えません。当然、「なぜなのか?」という疑問が湧くでしょう。
00:07:28なぜ大規模モデルにこのような問題が起きるのでしょうか?
00:07:31彼らは強化学習(RL)に原因があると考えています。
00:07:34新しいモデルを訓練する際、
00:07:36例えばOpus 5.0が訓練中だと想像してください。
00:07:40その工程の一部に強化学習があります。
00:07:42Anthropicが具体的にどうしているかは知りませんが、
00:07:44多くのモデルでこの手法が取られています。
00:07:45基本的には、新しいモデルを用意し、人間を呼んでその回答を採点させます。
00:07:50複数の回答を見せて、「こっちの方が好きだ」と選ばせるのです。
00:07:52研究によれば、
00:07:55人間はより饒舌で、より徹底した回答を好む傾向があります。
00:08:00そのせいで、
00:08:01これらの大規模モデルは、簡潔であることや、場合によっては正確であることよりも、
00:08:05より饒舌であるように訓練されてしまっているのです。
00:08:08しかし、ここでの大きな収穫は、簡潔さの制約がパフォーマンスの階層を完全に逆転させたことです。
00:08:12以前は負けていた場所で、単に「もっと簡潔に」と伝えるだけで
00:08:14勝てるようになったのです。
00:08:18思考プロセスを変えたわけでも、内部の仕組みを変えたわけでもありません。
00:08:20単に「原始人になれ」と言っただけです。文字通りこのGitHubを使ったわけではありませんが、
00:08:25本質的には全く同じことです。
00:08:28だからこそ、これは単なるネタではなく、
00:08:31実はかなり興味深いことだと思っています。
00:08:32トークン削減という利点に加え、
00:08:375%のトークン節約は決して馬鹿にできません。
00:08:39特にMax 20プランに入っていないのであればなおさらです。
00:08:41さらに、それによって実際に出力の質が向上する可能性もあります。
00:08:44特に、より単純な質問においてそうです。
00:08:47研究を詳しく読み解くと、
00:08:49どのような質問でこの問題や力学が発生したのかが分析されています。
00:08:53非常に興味深い内容であり、
00:08:56一考の価値があると思います。
00:08:58使い方も非常に簡単です。単なる「スキル」のセットですから。
00:09:02インストールは文字通り1行で済み、あとは実行するだけです。
00:09:06スラッシュ・コマンドの「/caveman」で呼び出すか、あるいは
00:09:09「原始人モード」や「トークン少なめで」と言うだけです。レベル設定もあります。
00:09:13「ウルトラ原始人」も選べます。海から上がってきたばかりで、
00:09:17まともに立つこともできないようなレベルです。あとは「ライト」版もあります。
00:09:21時代に合わせて異なるレベルの原始人を選べるわけです。
00:09:24また、すべてを画一的に変えるわけでもありません。
00:09:25エラーメッセージなどは正確に引用されます。繰り返しになりますが、
00:09:29コードに関することや生成に関すること、
00:09:31内部の仕組みは一切変わりません。思考方法を変えているわけではないのです。
00:09:35全体として、試してみる価値はあるでしょう。単一のスキルですし、
00:09:37トークンも節約でき、デメリットもありません。そして研究に基づけば、
00:09:42出力の面でもメリットが得られる可能性があります。
00:09:45もし「原始人」という設定が気に入らなくても、
00:09:48少なくともあなたのcustom.mdに1行、
00:09:52「簡潔に、無駄なし、要点のみ、言葉を少なく」
00:09:56といった指示を入れることの重要性を示唆しています。
00:09:59トークンだけでなく、先ほど見たように、
00:10:03実際の回答そのものにメリットがある可能性があるからです。
00:10:06というわけで、今日はこの辺にしておきます。
00:10:07一見するとただのネタプロジェクトに見えた「caveman Claude」ですが、
00:10:11実はそれなりの重みがあり、なぜそうするのかという点に
00:10:15科学的な厳密さも備わっています。
00:10:17実際に導入してみる価値は十分にあると思います。
00:10:21いつものように、感想をコメントで教えてください。
00:10:25Chase AIをぜひチェックしてください。
00:10:26もし私のClaude Codeマスタークラスに興味があれば、
00:10:29数日以内にさらなるアップデートを予定しています。
00:10:33それでは、またお会いしましょう。