Claude Codeの制限問題がついに解決

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00最近、Claude Codeの調子があまり良くありません。
00:00:02私たちのチームは毎日使っていますが、ここ数週間、
00:00:06想定よりもずっと早く制限に達してしまっています。
00:00:07100万トークンのコンテキストウィンドウで改善されるはずでしたが、
00:00:12実際には状況を悪化させています。
00:00:13そこで、Claude Codeをより長持ちさせるための最適化手法を調査しました。
00:00:18制限を最大限に活用する方法に進む前に、まずは
00:00:22Claudeのプランと制限システムが実際にどう機能しているか説明しましょう。
00:00:26このセクションは、制限の仕組みに詳しくない方のための
00:00:30解説です。
00:00:31Claudeには、ProとMaxという2つの有料プランがあります。
00:00:34Maxが最も高価で、Proは月額20ドルのより安価なプランです。
00:00:38どちらのプランも、無料版では利用できない様々な機能にアクセスできます。
00:00:43これにはClaude CodeやCo-workなどが含まれます。
00:00:45しかし、ルールはすべて共通しています。
00:00:46どのプランであっても、5時間のウィンドウ内に送信できる
00:00:51メッセージ数には制限があり、その時間が経過するとリセットされます。
00:00:55メッセージ数はプランによって異なります。
00:00:575時間のウィンドウは、デスクトップ、ウェブ、その他のインターフェースを問わず、
00:01:01最初のメッセージを送った時点から開始されます。
00:01:03ウィンドウ開始後、各メッセージはプランの制限回数にカウントされます。
00:01:08アクティブに使用している間だけカウントされると思うかもしれませんが、
00:01:11途中で放置して5時間目だけに集中して使ったとしても、
00:01:15ウィンドウは進み続けており、制限がリセットされるには
00:01:20丸5時間が経過するのを待つ必要があります。
00:01:21また、5時間のウィンドウはデバイスに依存しません。
00:01:23同じアカウントで複数のデバイスを使用していても、
00:01:27すべての利用が同じ制限枠内でカウントされます。
00:01:28Proプランでは、5時間ごとに約45メッセージ送れます。
00:01:32Maxプランは225メッセージ、100ドル以上の高額なMax 20倍プランでは、
00:01:37同じウィンドウ内で900メッセージが提供されます。
00:01:41これらの数字は使用するモデルによっても変わり、Sonnetでは多く、
00:01:46Opusでは少なくなります。
00:01:47このメッセージ数は十分なように聞こえるかもしれません。
00:01:51しかし、これはあくまで目安であり、他の要因も影響します。
00:01:541つ目の要因は、使用しているモデルです。
00:01:56Opusモデルは非常に強力で計算負荷が高いため、Sonnetと同じリクエストでも
00:02:01約3倍のトークンを消費します。
00:02:03そのため、常にOpusを使っていると5時間で45メッセージも送れず、
00:02:08制限にずっと早く達してしまいます。
00:02:10Proプランは全体的に制限が低めに設定されています。
00:02:12Maxプランについては、個人なら十分かもしれませんが、通常は組織で購入され
00:02:16チームメンバー間で共有されるため、複数の人が参加すると
00:02:20持ちこたえられなくなります。
00:02:21AI Labsでも同様に、Maxプランを購入してチームで共有しています。
00:02:26それでも頻繁に制限に達するため、より長持ちさせる方法を
00:02:30研究することになったのです。
00:02:312つ目の要因は、実行するタスクの種類です。
00:02:34計算負荷の高いタスクや複数のツールを必要とするタスクは、大量のトークンを消費します。
00:02:38その結果、ウィンドウは通常よりずっと早くなくなり、Proプランでは
00:02:4345メッセージにすら到達しないこともあります。
00:02:44さらに最近、Anthropicは多くの人が一斉にサービスを利用する
00:02:48ピーク時間帯に、セッション制限をより早く削減するようになりました。
00:02:52そのため、実際の作業が進む前にClaudeのプランが切れてしまうこともあります。
00:02:56だからこそ、今、ウィンドウを最大限に活用し、
00:03:00一日中効率的にClaudeを使う方法を学ぶべきなのです。
00:03:02本題に入る前に、スポンサーのTwinについてお伝えします。
00:03:05ZapierやN8Nなどのツールで自動化を試みたことがあるなら、お分かりでしょう。
00:03:09硬直したワークフロー、絶え間ない故障、アプリ接続に費やされる膨大な時間。
00:03:13また、Claudebotのようなローカルエージェントはセキュリティ上の懸念があり、非常に高価です。
00:03:17Twinはそれを変えます。
00:03:18これは、あなたが寝ている間に実際に仕事をしてくれるノーコードAIエージェントです。
00:03:21APIが存在すればそれを使い、なければその場で統合機能を構築し、
00:03:26無限の統合ライブラリを提供します。
00:03:29APIがない場合でも、Twinは人間のようにブラウジングして操作できます。
00:03:33さらに、Perplexity、Gamma、VO3、Nanobananaなどのツールへのアクセスも内蔵されています。
00:03:38最近、Twin APIもリリースされました。
00:03:40どこからでもエージェントを起動し、既存のワークフローに組み込めます。
00:03:44そして一番のポイントは?
00:03:45このエージェントは学習します。
00:03:46不具合を自ら修正し、時間とともに改善され、24時間365日稼働します。
00:03:50壊れた自動化の世話はやめましょう。
00:03:52固定コメントのリンクからTwinをチェックしてみてください。
00:03:55さて、Claude Codeのソースコードが流出したことはすでにご存知かもしれません。
00:03:58多くの人が、制限を意図したよりも早く消費させてしまう
00:04:02内部の問題を指摘しています。
00:04:04その一つが、切り捨てられたレスポンスがコンテキストに残ることです。
00:04:07レート制限などのエラーメッセージが出た場合、不完全な
00:04:12レスポンスが生成されることがあります。
00:04:13これに関して、以前のコンテキストとエラー混じりの中途半端なメッセージを
00:04:17保持したままリトライしてしまいます。
00:04:18これが不要な情報でコンテキストを膨らませ、トークンを浪費します。
00:04:22スキル一覧も、主に高速アクセスのために注入されますが、
00:04:27スキルツールを介した高速処理がすでにあるため、あまり価値がありません。
00:04:31これ以外にも、同様の問題がいくつか存在します。
00:04:33こうした理由から、Claudeの制限に予想以上に早く達するという苦情が多く寄せられています。
00:04:38公式の制限とこれらの隠れたトークン流出の両方に対処するために、
00:04:43製品開発時にClaude Codeを長持ちさせる対策を講じる必要があります。
00:04:47このチャンネルでは、AIを使った製品開発に関する知見をすべて共有しています。
00:04:51今後の動画も見逃さないよう、ぜひチャンネル登録をお願いします。
00:04:55まずは、過去の動画をご覧になった方ならすでにご存知かもしれない
00:04:59ヒントから始めましょう。
00:05:001つ目は「clear」コマンドです。
00:05:01タスクが完了し、以前のコンテキストが不要になったら必ずこれを使ってください。
00:05:05例えば、アプリの実装が終わってテスト段階に移行する場合、
00:05:09以前の実装時のコンテキストは必要ありません。
00:05:11コンテキストをリセットし、まっさらな状態で次のタスクを始めるのが得策です。
00:05:15しかし、コンテキストの一部を保持したい場合もあります。
00:05:18その場合は、代わりに「compact」コマンドを実行します。
00:05:21これまでのやり取りを要約し、コンテキスト内に要約を残してスペースを確保します。
00:05:25なぜこれらを勧めるかというと、Claudeがメッセージを送るたびに、
00:05:29システムプロンプトやツール、これまでの会話履歴など、
00:05:34それまでの全会話が含まれるからです。
00:05:35新しいメッセージを送るごとに肥大化し、コンテキストが埋まり、
00:05:401メッセージあたりのトークン使用量が増えていきます。
00:05:41要約したとしても、メインウィンドウで脇道に逸れた質問をすれば、
00:05:46無関係な内容でコンテキストを圧迫することになります。
00:05:47そこで「by the way」コマンドを使って、ちょっとした質問をしましょう。
00:05:50これは別のセッションコンテキストで回答してくれます。
00:05:53この質問内容は次のメッセージには引き継がれないため、
00:05:571リクエストあたりのトークンを節約できます。
00:05:58また、プランニングはトークンを消費するように思えるかもしれませんが、
00:06:02プロジェクトの最初には必ずこれを行うべきです。
00:06:03計画を立てないと、後でClaudeの実装が意図とズレた際に
00:06:07修正を繰り返すことになるからです。
00:06:10最初にプランニングにトークンを割くことで、後々の
00:06:14修正による大幅なトークンの浪費を防ぐことができます。
00:06:15時として、Claudeが指示通りに動かないことがあります。
00:06:18そんな時、正しい実装方法を再度プロンプトで伝えがちです。
00:06:22しかし、再プロンプトする代わりに「rewind」コマンドを使えば、
00:06:26Claudeが指示に従わなかったメッセージの直前まで会話とコードを復元し、
00:06:31プロンプトを直接修正してやり直せます。
00:06:32Escキーを2回押すことでも同じことができます。
00:06:35これにより、間違った実装をコンテキストから削除でき、
00:06:39誤った出力がモデルに送信されるのを防げます。
00:06:41ここまでのコマンドは、セッション中のトークン節約に役立ちます。
00:06:44しかし、より大きな影響を与えるのは、プロジェクト自体の構成方法です。
00:06:47BeemadやSpecKitといった様々なフレームワークを使って
00:06:52プロジェクトを構築しているかもしれません。
00:06:53しかし、これらのフレームワークの多くは、実はトークンを大量に消費します。
00:06:56自作アプリでこれらを使う場合は、トークン制限に早く達することを覚悟してください。
00:07:00Maxプランなら耐えられるかもしれませんが、Proプランではまず無理です。
00:07:04フレームワークを使っていなくても、独自の設定をしているかもしれません。
00:07:07Claude.mdファイルを作成する際、「init」コマンドでコードベースをスキャンして
00:07:12ファイルを自動生成したことがあるでしょう。
00:07:14生成はされますが、これには多くの問題が含まれています。
00:07:17このファイルはAIエージェントへのガイドとなるべきものですが、
00:07:20AIがすでに知っていることまで記載されています。
00:07:22例えば、開発サーバーの起動コマンドなどが含まれますが、
00:07:27Claudeはすでにその方法を熟知しています。
00:07:28特別な実行フラグなどがない限り、それらを
00:07:31記載する必要はありません。
00:07:32アーキテクチャについても、Claudeはファイル名から中身を推測できます。
00:07:37ファイルシステムを理解し、ナビゲーションに利用しているからです。
00:07:41そのため、特別な指示が必要なケースを除き、
00:07:45こうした説明は不要です。
00:07:47自分でClaude.mdを書くなら、理想的には300行未満にすべきです。
00:07:52ファイルが短いほどパフォーマンスが向上し、Claudeは
00:07:56真に重要なことに集中できます。
00:07:57すべてを説明するマニュアルではなく、導きのファイルとして機能させるべきです。
00:08:01含める内容は、プロジェクト全体に共通するルールに留め、
00:08:05細部まで一箇所に詰め込まないようにしましょう。
00:08:08Claudeにやってほしくないことや独自の開発慣習など、
00:08:13デフォルトで知らないことだけをClaude.mdに記載してください。
00:08:16このファイルは各セッションの開始時に一度読み込まれ、常駐するため、
00:08:20適切に設定する必要があります。
00:08:22不要な情報が混ざると、ターンごとに必要のないトークンを
00:08:27浪費し続けることになります。
00:08:28データベースのスキーマなど、特定の領域にだけ適用されるルールについては、
00:08:33別の文書に分割し、Claude.mdからリンクを貼ってください。
00:08:37これにより、Claudeは必要な時にだけ必要なドキュメントを読み込めます。
00:08:41以前の動画でも触れましたが、特定のパスに特化した
00:08:45プロジェクトルールを作成することで、Claudeの集中力を維持できます。
00:08:48これにより、関連情報だけがコンテキストに入り、無駄なトークン消費を抑えられます。
00:08:53領域ごとのロジックに合わせてルールファイルを分け、
00:08:57必要なものだけを読み込ませるようにしましょう。
00:08:58また、繰り返しのワークフローにはスキルを活用し、スクリプトや参照を追加して
00:09:03タスクの精度を高める必要があります。
00:09:05スキルは必要な部分だけを段階的に読み込むため、Claudeは
00:09:10タスクの関連事項に集中し続けることができます。
00:09:12スクリプトとの連携は、プログラムで処理できる決定論的なタスクに
00:09:16トークンを無駄遣いしないために役立ちます。
00:09:17ファイルを分ける理由は単純です。
00:09:19Claudeがある部分を修正している時、無関係な領域の情報は不要だからです。
00:09:24しかし、すべてを一つのClaude.mdに詰め込むと、毎回すべてが読み込まれ、
00:09:29不必要なトークン消費につながります。
00:09:30また、「append system prompt」フラグを使って、特定の指示を
00:09:35システムプロンプトに直接追加することもできます。
00:09:36Claude.mdに何でも入れる代わりに、その指示からセッションを開始できます。
00:09:40これらは一時的なもので、セッションが終われば削除されます。
00:09:41一見コンテキストを増やしているようですが、一回限りの指示を
00:09:44Claude.mdに入れるよりも効率的です。
00:09:48Claude.mdに入れると、コンテキストに永続的に残り続け、
00:09:51トークンを浪費し続けます。
00:09:56追加フラグを使えば、必要な時だけ指示を与えることができます。
00:09:59もし内容が気に入っていただけたら、高評価ボタンを押してください。
00:10:03より多くのコンテンツを制作し、多くの人に届ける励みになります。
00:10:06次に、使用するモデルの思考レベル(effort)を設定する必要があります。
00:10:10深い思考を必要としないタスクであれば、「low」に設定してください。
00:10:14「low」設定はトークンを節約します。
00:10:15デフォルトは「auto」で、モデルが思考量を判断しますが、
00:10:20手動で変更することも可能です。
00:10:21複雑でないタスクに高い設定を使う必要はありません。
00:10:25前述の通り、Opusは最もトークンを消費するモデルです。
00:10:28単純な作業であればHaikuに切り替えましょう。
00:10:31それなりの思考が必要ならSonnetを使ってください。
00:10:34Opusほど強力ではありませんが、依然として効率的でトークンを節約できます。
00:10:39複数のMCPを設定していて特定のものが不要なら、無効化しましょう。
00:10:43不要な情報がコンテキストに注入されるのを防ぐためです。
00:10:48もう一つの重要なステップは、コンテキストに入れるべきでない内容を
00:10:52除外するためのフック(hook)を作成することです。
00:10:54例えば、プロジェクトにテストケースを設定しているとします。
00:10:57実行すると成功と失敗の両方のテストが報告され、
00:11:01そのすべてがコンテキストに読み込まれます。
00:11:02しかし、Claudeが本当に関心を持つべきなのは、修正が必要な失敗したテストです。
00:11:05そこで、スクリプトを使って成功したテストをコンテキストから除外し、
00:11:10失敗したものだけを含めるようにフックを設定できます。
00:11:13これはテストレポートをすべて流し込むよりも大幅にトークンを節約できます。
00:11:17他のタスクについても同様にフックを設定して最適化が可能です。
00:11:21これら以外にも、.claudフォルダ内でパフォーマンス向上のための
00:11:25設定を行う必要があります。
00:11:271つ目は「disable prompt caching」をfalseに設定することです。
00:11:30これによりClaudeはよく使うプレフィックスをキャッシュし、トークン使用量を減らします。
00:11:34Anthropicは繰り返し送られる部分には課金せず、
00:11:38新しいコンテンツにのみ課金します。
00:11:39また、「auto memory」を無効にして、コンテキストが増え続けて
00:11:43トークン消費が増えるのを防ぐこともできます。
00:11:44オートメモリーは、会話を分析して有用な情報をプロジェクト固有の
00:11:49メモリーファイルに集約するバックグラウンドプロセスです。
00:11:52無効にすると習慣などは追跡されなくなりますが、バックグラウンドで
00:11:56稼働しない分、トークンを節約できます。
00:11:57「disable background task」というフラグもあり、これはバックグラウンドでの
00:12:00継続的なトークン消費を停止させます。
00:12:02これにはdream、メモリーのリファクタリング、インデックス作成などが含まれます。
00:12:06これらをオフにすると、チャットしていない間もプロセスが
00:12:10会話を処理し続けるのを防ぎ、トークンを節約できます。
00:12:13また、不要な時は「thinking」も無効にすべきです。思考プロセスは
00:12:16コンテキストを大量に使い、不要なタスクでもトークンを浪費します。
00:12:20これは前述の「effort」設定とは異なります。
00:12:23「effort」は回答内での推論量を制御しますが、
00:12:28設定が低くてもモデルは思考します。
00:12:30「thinking」を完全に無効にすると内部の推論ステップがオフになり、
00:12:34Claudeは直接レスポンスを生成します。
00:12:35深い推論が不要なタスクなら、思考を完全に無効にしてください。
00:12:39少し推論が必要なら、代わりに「effort」レベルを下げましょう。
00:12:43最後に、「max output tokens」を設定した数値に制限してください。
00:12:46デフォルトはありませんが、これを制限することでモデルの生成量を制御できます。
00:12:50積極的に節約したいなら低めに、長い出力が必要なら
00:12:55高めに設定しましょう。
00:12:56Claude.mdのテンプレートやその他のリソースは、この動画や
00:13:00これまでの動画のAI Labs Proからダウンロードしてプロジェクトで利用可能です。
00:13:05私たちの活動に価値を感じ、チャンネルをサポートしたいと考えてくださるなら、
00:13:09これが最良の方法です。
00:13:10リンクは概要欄にあります。
00:13:11さて、動画も終盤です。
00:13:13こうした動画制作を継続するためのサポートをいただける場合は、
00:13:17下のスーパーサンクスボタンからお願いします。
00:13:19ご視聴ありがとうございました。それではまた次の動画で。

Key Takeaway

Claude Codeの利用制限を回避するには、clearやrewindといったコンテキスト制御コマンドの活用に加え、Claude.mdを300行未満の特定ルールに限定し、バックグラウンドタスクや思考プロセスを必要に応じて無効化する最適化が不可欠である。

Highlights

Proプランは5時間で約45メッセージ、Maxプランは225メッセージ、Max 20倍プランは900メッセージの送信制限が適用される。

OpusモデルはSonnetと比較して計算負荷が高く、同じリクエストで約3倍のトークンを消費するため制限に達する速度が速まる。

Claude.mdファイルはAIが既知の情報を除外し、プロジェクト固有のルールに絞って300行未満に抑えることでパフォーマンスを向上させる。

rewindコマンド(またはEscキー2回)を使用すると、指示に従わなかったメッセージの直前まで会話とコードを復元してプロンプトを修正できる。

disable_prompt_cachingをfalseに設定することで、頻繁に使用されるプレフィックスをキャッシュし、新規コンテンツのみに課金される状態にする。

effort設定をlowに変更するか、thinking機能を完全に無効にすることで、深い推論が不要なタスクにおける内部トークンの浪費を抑制できる。

Timeline

Claudeの各プランにおけるメッセージ制限の仕組み

  • すべての有料プランには5時間のウィンドウ制限があり、最初のメッセージ送信時からカウントが開始される。
  • Proプランの制限目安は5時間で45メッセージであり、Maxプランではその5倍の225メッセージが提供される。
  • デバイスを跨いで使用しても同一アカウントであれば制限枠は共有され、5時間が経過するまでリセットされない。

100万トークンのコンテキストウィンドウが導入されたものの、実際には制限に達する速度が早まっている現状がある。利用可能なメッセージ数は使用するモデルの種類によって変動し、より高性能なモデルほど1回あたりの消費枠が大きくなる。継続的な使用ではなく断続的な使用であっても、ウィンドウの開始時間は固定されているため、計画的な利用が求められる。

トークン消費を加速させる要因と外部ツールの活用

  • Opusモデルを利用したリクエストは、Sonnetと比較して計算リソースとトークンを約3倍消費する。
  • ピーク時間帯にはAnthropic側がセッション制限を通常より早く削減する調整を行う場合がある。
  • API連携や自律学習機能を備えたノーコードAIエージェントのTwinを使用することで、セキュリティ懸念のあるローカルエージェントの代替が可能になる。

計算負荷の高いタスクや複数のツールを呼び出す操作は、想定以上に早くプランの制限を使い果たす原因となる。特に組織でMaxプランを共有している場合、複数ユーザーの同時利用によって個人の作業が完了する前に制限に達するリスクが高い。Twinのような外部ツールは、人間と同様のブラウジング操作や既存ワークフローへの組み込みが可能で、24時間稼働による自動化を支援する。

Claude Code内部のトークン流出問題と回避コマンド

  • エラー発生時の中途半端なレスポンスがコンテキストに残ったままリトライされることが、不要なトークン浪費を招いている。
  • タスク完了ごとにclearコマンドでコンテキストをリセットし、継続が必要な場合はcompactで履歴を要約する。
  • by the wayコマンドを使用すると、メインの会話履歴に引き継がれない独立したセッションで一時的な質問ができる。

ソースコードの分析により、切り捨てられたレスポンスや不要なスキル一覧の注入が制限の早期到達に関与していることが判明している。会話が長くなるほどシステムプロンプトやツール情報が累積し、1メッセージあたりのコストが増大する。実装が意図と逸れた際には、再プロンプトするよりもrewindコマンドで過去の状態に戻り、プロンプト自体を修正する方が効率的である。

プロジェクト構成の最適化とClaude.mdの設計

  • Claude.mdは開発サーバーの起動コマンドなどAIが既知の情報を省き、300行未満の導きファイルとして構築する。
  • データベーススキーマなどの特定領域のルールは別ファイルに分割し、Claude.mdからはリンクで参照させる。
  • 特定のファイルパスに特化したプロジェクトルールを作成することで、関連情報のみをコンテキストに読み込ませる。

BeemadやSpecKitなどのフレームワークは便利だが、大量のトークンを消費するためProプランでの運用には適さない。initコマンドで自動生成されたClaude.mdには冗長な情報が多く含まれるため、プロジェクト固有の慣習や禁止事項のみを記述する。不必要な情報を排除し、Claudeが必要な時に必要なドキュメントだけを読み込める環境を整えることで、各ターンの消費量を最小限に抑えられる。

詳細設定によるバックグラウンド消費の停止

  • effort設定をlowにするか、思考ステップを完全にオフにするthinkingの無効化により、推論コストを制御する。
  • auto_memoryやdisable_background_taskを有効に設定し、チャット外でのインデックス作成やリファクタリングを停止する。
  • テスト実行時のフックを作成し、成功したテスト結果をコンテキストから除外して失敗例のみをモデルに渡す。

モデルの思考レベル(effort)を手動で低く設定することは、複雑でない作業において非常に有効な節約手段となる。また、バックグラウンドで動作するメモリーの集約プロセスやドリーム機能は、ユーザーが操作していない間もトークンを消費し続けるため、これらを停止することで持続時間を延ばせる。さらに、max_output_tokensに数値を設定して生成量を物理的に制限することも、積極的な節約策として機能する。

Community Posts

View all posts