Claude Codeを使っていて「答えが浅いな」と感じたことはありませんか。私は何度もあります。設計を相談したのに表面的な案しか出てこない、複雑なバグの原因究明が雑、といった場面です。

調べていくうちに ultrathink という合言葉にたどり着きました。この記事は、その正体と使いどころを実際に試した記録です。

きっかけは「設計が浅い」と感じたこと

ある日、データの持ち方を相談した時のこと。「3つのテーブルに分けます」という回答が返ってきたのですが、どう考えても検討が足りない。同じ質問を人間のエンジニアにしたら、もっと前提を疑ってから答えるはずだ、と感じました。

応答は速い。でも速いということは、あまり考えていないということでもある。ここで「Claudeにもっと考えさせる方法はないのか」と探し始めました。

調べてわかった think 系の合言葉

行き着いた答えは拍子抜けするほど単純でした。プロンプトの中に「考えて」という意味の英単語を入れると、Claude Codeが回答前に使う「思考の時間」が増える、という仕組みです。

具体的には think think hard think harder ultrathink といった言葉。後ろにいくほど、考える量が増えます。ultrathink はその最上位で、いちばん長く考えてから答えを返す合言葉です。

仕組みとしては、これらの言葉がClaude内部の「思考にどれだけ手間をかけるか」の設定とひもづいています。呪文というより、考える深さのダイヤルを回しているイメージが近い。

think / think hard / ultrathink の段階

私の体感での段階を表にします。

合言葉

考える量

向く作業

(何も書かない)

標準

単純な編集、短い質問

think

少し増える

ちょっとした検討が要る作業

think hard

中くらい

バグ調査、複数案の比較

ultrathink

最大

設計判断、原因が読めない不具合

使い方は本当に書くだけです。たとえば「この機能の設計を ultrathink して提案して」のように、ふだんの指示文にまぜこむ。専用のコマンドを覚える必要はありません。

実際に効いた場面・効かなかった場面

最初の「テーブル設計が浅い」問題は、ultrathink を足したらはっきり変わりました。前提を疑う質問が返ってきて、そのうえで複数案を比べてくれた。考える時間を与えると回答の質が上がる、というのを体感した瞬間です。

一方で、効かない場面もあります。typoの修正やファイル名の変更みたいな単純作業に ultrathink を付けても、結果は変わりません。考える材料がそもそも無いからです。

私が学んだ線引きは、「人間でも一瞬迷う作業かどうか」。迷う作業なら効く、迷わない作業なら無意味、というシンプルな基準です。

使いすぎるとコストと時間が増える

便利なら全部に付ければいい、とはなりません。考える時間が増えるぶん、回答が返ってくるまで遅くなります。

さらに、APIキーの従量課金で使っている場合、思考に使ったぶんもトークンとして加算されます。軽い作業にまで ultrathink を付けて回すと、気づくと請求が膨らむ。モデルの選び方とあわせて意識したいところです。

ProプランやMaxプランの定額契約なら料金は気になりませんが、それでも待ち時間は発生します。乱用しない方が結局は快適です。

私の使いどころ

半年使ってみて、私が ultrathink を付けるのは次のような時です。

新しい機能の設計をゼロから相談する時、原因がまったく読めないバグを追う時、大きめのリファクタの段取りを考えてもらう時。どれも「ちょっと考えて即答」では足りない、腰を据えた検討が要る場面です。

逆に日常の8割の作業では何も付けません。標準の速さで十分だからです。ultrathink は常用する道具ではなく、ここ一番で引く切り札、という位置づけが私にはしっくりきています。

まとめ

  • プロンプトに ultrathink と書くと、Claude Codeが長く考えてから答える
  • 段階は think → think hard → ultrathink の順で考える量が増える
  • 設計判断や原因不明のバグなど「迷う作業」で効く
  • 単純作業に付けても結果は変わらない
  • 思考が増えるぶん、回答は遅くなり、従量課金ではコストも増える
  • 常用せず、難しい場面の切り札として使うのがちょうどよい