Cherry StudioでClaudeが思考するのに応答が出ない:Max tokensの設定方法
Cherry Studioで思考(thinking)機能を有効にしたClaudeが空の応答を返す原因を解説します。推論段階でトークン上限を消費してしまう理由と、アシスタント単位でMax tokensを正しく設定・調整する方法を詳しくまとめました。
目次

9月15日、BetterTokenのカスタマーサポートに、Cherry Studioクライアントをご利用中のユーザーから問い合わせが寄せられました。簡単な質問にはClaudeが通常通り応答するものの、分量の多い分析タスクを実行すると、最終的なテキストが表示されないという現象です。思考プロセス(thinking)のブロックは展開され、トークンも消費されているにもかかわらず、アプリケーション側には何のエラーも表示されていませんでした。
ストリーミング出力(Stream)の切り替えを試しても状況は改善しませんでした。しかし、BetterTokenコンソールのリクエストログを確認したところ、ある共通点が見つかりました。異なるチャネルを経由した複数の長い応答が、いずれもきっかり8192出力トークンで終了していたのです。
ログには停止理由(stop_reason)が記録されていなかったため、終了の原因を確定的に断定することはできません。しかし、8192という数値が一貫して現れていたことから、出力トークン上限による制限が働いた可能性が高いと推測されました。推論(思考)の段階でトークン枠を使い果たしてしまい、回答本文を出力するためのトークンが残っていなかったと考えられます。
問い合わせの経緯
ユーザーからの相談内容は、要約すると以下の通りでした。
ユーザーからの最初の問い合わせ(要約): 短い質問に対しては正常に応答が返ってくる。しかし、複雑な課題を投げるとモデルが長時間思考し、トークンも消費されるものの、最終的なテキストが生成されず、回答エリアが空のままになってしまう。
サポートチームからは、プロバイダーが規定する制限の範囲内で、該当アシスタントの設定にある「Max tokens」パラメータを有効化し、上限値を引き上げることを提案しました。
ユーザーからの追加連絡(要約): アシスタント設定で上限値を変更したところ問題は解決した。あわせて、この設定はアシスタントごとに個別に設定する必要があるのかという確認があった。
Cherry Studioでは、この設定はアシスタントごとに個別に管理されています。
なぜ回答が消えるのか:thinkingの仕組み
思考プロセス(拡張思考・thinking)に対応したClaudeモデルでは、思考過程で消費されるトークンも生成トークン全体の制限枠に含まれます。
思考の制御とコストに関するAnthropicの公式ドキュメントによると、max_tokens パラメータは1回のリクエストに対する厳格な出力上限を定めています。この上限枠には、ユーザーには折りたたまれて見える思考(thinking)トークンと、最終的に表示される回答テキストの両方が含まれます。effort パラメータは分析の深さをコントロールする目安として機能しますが、トークンの総上限そのものを拡張するわけではありません。もし思考プロセスだけで割り当てられた上限を使い果たしてしまった場合、生成はその時点で中断されます。トークン上限によって処理が中断された場合の対処法として、公式ドキュメントでは effort を下げるか、モデルおよび利用しているインターフェースが許容する範囲で max_tokens を引き上げることが推奨されています。
Cherry Studioでの設定手順
チャットに関するCherry Studioの公式ドキュメントに記載されている通り、アシスタントの設定はそのアシスタントに紐づくすべての会話に適用されます。現在作業を行っている対象のアシスタントの「Max tokens」を変更してください。この設定はそのアシスタントにのみ反映され、他のアシスタントの設定が変わることはありません。
設定を変更する前に、使用している正確なモデル識別子(Model ID)と、APIプロバイダーが設けている最大出力トークン数の制限をあらかじめ確認しておきましょう。
ステップ1:アシスタントの設定画面を開く
左側のパネルにあるアシスタント一覧から対象のプロファイルを見つけ、3点リーダーのアイコンをクリックする(または右クリックする)と表示されるメニューから、「Edit Assistant」(アシスタントの編集)を選択します。
サポート事例より:メニューの「Edit Assistant」からアシスタント編集ウィンドウを開く様子。
ステップ2:Max tokensを有効化して上限を引き上げる
「Model」(モデル)タブに切り替え、「Max tokens」(最大トークン数)の項目を探します。
- 項目横のトグルスイッチをON(有効)にします。
- これまでの制限値を超える新しい数値を入力します。ただし、プロバイダー側のモデル仕様で定められた上限を超えないようにしてください。
サポート事例より:ModelタブでMax tokensトグルを有効化し、値を128000に設定した状態。
今回の事例では、ユーザーが値を128000に設定したことで、長文の回答も正常に生成されるようになりました。ただし、実際の運用にあたっては以下の実務上の注意点に留意してください。
- スクリーンショットにある「128000」という数値は、今回の個別事例でユーザーが設定した値であり、あらゆるケースに当てはまる汎用的な推奨値ではありません。
- この数値は「1回の出力メッセージの最大長」を指定するものであり、モデル全体のコンテキストウィンドウ(context window)のサイズを指すものではありません。
- すべてのモデルが1回のリクエストでこれほど大量のテキスト生成をサポートしているわけではありません。
- トークン上限を引き上げると、モデルがより長く思考できるようになるため、応答までの待機時間が長くなり、消費されるトークン数が増加する可能性があります。
ステップ3:カスタムパラメータを確認する
「Model」タブを下へスクロールし、「Custom parameters」(カスタムパラメータ)のセクションを確認します。
Cherry Studioでは、UI上のトグルスイッチよりもカスタムパラメータの設定が優先されます。もしこのリスト内に古い値の max_tokens が既に登録されている場合は、それを削除するか新しい値に書き換えてください。そうしないと、クライアントから以前の制限値が優先して送信され続けてしまいます。
動作確認の方法
設定のテストを短い質問で行うのは避けてください。単純なリクエストは元の制限内でも正常に収まってしまい、問題が解決したかを正しく判定できません。
- 中断された会話のコンテキストをリセットするため、同じアシスタント内で**新しいチャット(トピック)**を作成します。
- 以前に出力が途切れてしまった時と同等の、分量の多い分析タスクを送信します。
- 以下のポイントを確認し、正常に動作しているか判定します。
- thinkingブロックの下に、完全な回答テキストが表示されているか。
- 文章が途中で途切れず、論理的に最後まで完結しているか。
- 出力トークン(output tokens)の統計を確認できる場合は以前の数値と比較し、再び8192のラインで途切れていないか確認します。なお、正常な回答であっても必ずしもこの上限を超える必要はなく、より少ないトークン数で正常に完了する場合もあります。リクエスト全体の総トークン消費量と、出力トークン数の上限を混同しないよう注意してください。
それでも応答が表示されない場合
この問題には複数の原因が考えられます。設定を変更しても応答が表示されない場合は、以下の点を確認してください。
- アクティブなアシスタントの確認: 設定を変更したアシスタントから正しくリクエストが送信されているか、またMax tokensのトグルスイッチが有効な状態のままになっているかを確認します。
- プロバイダーの許容上限の確認: プロバイダー側のモデルが対応している上限を超える数値を指定した場合、パラメータのバリデーションエラーが発生してリクエストが失敗します。
- 出力トークン数の確認: BetterTokenのダッシュボードでリクエストの詳細データを確認し、全体の合計消費数ではなく、必ず出力トークン(output tokens)の数値を確認してください。もし設定した上限よりも大幅に少ないトークン数で生成が停止している場合は、
max_tokensの影響も完全に排除はできないものの、ストリーミング(Stream)の表示処理、ネットワーク接続の安定性、あるいは外部ツール(MCPサーバーや関数呼び出し)の挙動などを疑う必要があります。
サポート窓口にお問い合わせいただく際は、リクエストID(Request ID)、発生時刻、モデル名、消費トークン数など、安全な技術情報のみをお伝えください。秘密のAPIキーや、プロンプトに含まれる機密情報をサポートに送信することは絶対にお控えください。