Claude Code の拡張思考と effort の違い
Claude Code の拡張思考と effort の違い
/config を開くと拡張思考(extended thinking)の項目がある。 CLI には別に --effort がある。 どちらも「考える量」の話に見えるが、決めているものが違う。
拡張思考は出すかどうかの切り替え
回答の前に推論ブロックを生成するかどうかのオンとオフ。 Option+T か settings.json の alwaysThinkingEnabled で切り替え、MAX_THINKING_TOKENS で上限を決める。 Ctrl+O で中身を表示できる。 オフにしても推論が浅くなるわけではなく、ブロックとして出力されなくなるだけ。
effort はどれだけ考えるかの段階
low medium high xhigh max の5段階。
claude --effort highCLI ヘルプには --effort <level> Effort level for the current session とある。 settings.json 側にも effortLevel があり、そちらに書けば既定値として残る。 セッション単位で効き、Agent ツールの effort や Workflow の opts.effort で subagent ごとに上書きできる。 出力に直接は現れず、応答の深さと待ち時間に出る。
使い分け
一括置換のような判断の要らない作業は low、設計判断やレビューは high 以上に振る。 段階ごとに変えられるのは effort のほうだけなので、細かく効かせたいならこちらを触る。
手元の settings.json を調べたら、どちらの設定も書いていなかった。 違いを知らないまま両方デフォルトで使っていたことになる。