Claude Codeユーザーが直面する「途中で止まる」問題
Claude Codeを使っていて、こんな経験はないだろうか?
複雑なプロジェクトに取り組んでいると、Claudeが突然「コンテキストが上限に近づいているので、ここで作業を終了します」と言い出す。タスクはまだ半分も終わっていないのに、勝手に打ち切られてしまう。
あるいは、長時間のセッションで何度も「トークン予算が残り少ないので、まとめに入ります」という保守的なメッセージが表示され、本来できるはずの作業が完遂されない。
これは、Claude Codeユーザーにとって最大のフラストレーションの1つだ。Claudeの能力は素晴らしいのに、なぜか「遠慮がち」で、タスクを最後まで完了させてくれない。
しかし、この問題にはたった1行のシステムプロンプト追加という、驚くほどシンプルな解決策がある。
この記事で解決する課題:
- Claudeが途中で作業を止めてしまう問題
- トークン予算を気にして保守的になる挙動
- コンテキストウィンドウの上限での中断
- 長時間タスクの自律的完遂の実現
- 無制限のコンテキストでの持続実行
30万ビュー超え:達人技のシステムプロンプト公開
Kieran Klaassen氏(@kieranklaassen)が公開した「Claude Codeの達人技」は、Xで30万8000ビューを超え、5539ブックマーク、3464いいねを獲得した。
その内容は、驚くほどシンプルだ。
システムプロンプトに追加すべき1行
“Your context window will be automatically compacted as it approaches its limit. Never stop tasks early due to token budget concerns. Always complete tasks fully, even if the end of your budget is approaching.”
日本語訳:
「コンテキストウィンドウは上限に近づくと自動的に圧縮されます。トークン予算を気にしてタスクを途中で止めないでください。予算が残り少なくなっても、タスクは常に完全に完了させてください。」
たったこれだけだ。しかし、この1行がClaudeの挙動を劇的に変える。
| プロンプトなし | プロンプトあり |
|---|---|
| コンテキストが80%超えると自主的に作業を終了 | コンテキスト上限まで作業を継続 |
| 「トークン予算が残り少ない」と頻繁に警告 | トークン予算を意識せず自律実行 |
| 複雑なタスクを途中で切り上げる | タスクを完全に完遂するまで継続 |
| ユーザーの介入が頻繁に必要 | 自律的に作業を完遂 |
Claudeの「保守的な挙動」の理由
なぜClaudeは、デフォルトで保守的な挙動を示すのか?
Claude公式ドキュメントによると、Claude 4.5は優れたコンテキスト認識機能を持っている。会話全体を通じて残りのトークン予算を追跡し、コンテキストウィンドウの上限に近づくと、「そろそろ終わらせるべきだ」と自然に判断する。
コンテキスト認識の仕組み
- トークン予算の追跡:Claudeは会話中、常に残りのコンテキストウィンドウを監視している
- 80%ルール:コンテキストが約80%に達すると、Claudeは「そろそろまとめるべき」と判断する傾向がある
- 礼儀正しい終了:タスクが未完了でも、「予算が残り少ないので」という理由で作業を終了する
- 過度の慎重さ:実際にはまだ余裕があるにもかかわらず、早めに切り上げてしまう
これは、Claudeが「ユーザーに迷惑をかけたくない」という配慮から生まれる挙動だが、実際には逆効果になっている。ユーザーは「最後まで完遂してほしい」のに、Claudeは「早めに終わらせるべき」と判断してしまうのだ。
自動圧縮の仕組み:無制限コンテキストの秘密
しかし、実はClaudeには「自動圧縮機能」が搭載されている。
Claude公式ドキュメントには、こう記載されている:
「コンテキストウィンドウは上限に近づくと自動的に圧縮され、中断したところから無期限に作業を継続できます。」
つまり、Claudeは実際にはコンテキスト上限に達しても、自動的に過去の会話を圧縮し、新しいスペースを作り出せるのだ。
自動圧縮のメカニズム
| 段階 | 動作 | 効果 |
|---|---|---|
| 1. 通常動作 | コンテキストウィンドウの0-70% | 全ての会話履歴をフル保持 |
| 2. 圧縮準備 | コンテキストウィンドウの70-90% | 重要度の低い会話を特定 |
| 3. 自動圧縮 | コンテキストウィンドウの90%超 | 古い会話を要約・圧縮し、新しいスペースを確保 |
| 4. 継続動作 | 圧縮後 | 重要な情報は保持したまま、新しい作業を継続 |
しかし、Claudeはこの機能を「知らない」かのように振る舞う。なぜなら、システムプロンプトで明示的に教えられていないからだ。
達人技のプロンプトは、まさにこの「知られざる機能」をClaudeに教え、フル活用させるためのものなのだ。
長期推論とステート管理:Claude 4.5の真の実力
Claude 4.5は、「長期推論(long-horizon reasoning)」に優れている。
公式ドキュメントによると、Claude 4.5は「例外的なステート管理能力を持つ長期推論タスクで卓越している」。複雑な作業を複数のコンテキストウィンドウにまたがって継続し、状態を保存し、新しいコンテキストで再開できる。
長期推論の特徴
- 段階的な進行:すべてを一度に試みるのではなく、段階的に進める
- 状態の追跡:拡張セッション全体で方向性を維持
- コンテキスト間の継続:1つのコンテキストで作業を保存し、次のコンテキストで再開
- 複雑なタスクの完遂:リファクタリング、大規模なコードベース変更、多段階プロジェクトに対応
実践的な長期推論の流れ
ケーススタディ:大規模リファクタリングプロジェクト
- セッション1(コンテキスト1):プロジェクト構造を分析し、リファクタリング計画を策定
- セッション2(コンテキスト2):前回の計画を読み込み、モジュールAのリファクタリングを実施
- セッション3(コンテキスト3):モジュールBとCのリファクタリングを継続
- セッション4(コンテキスト4):テスト作成とバグ修正を完了
- セッション5(コンテキスト5):最終検証とドキュメント更新
各セッションで、Claudeは前回の状態を完璧に記憶し、作業を継続する。
しかし、この能力を最大限に引き出すには、「コンテキスト上限を恐れるな」というメッセージをClaudeに伝える必要がある。それが、達人技のプロンプトの役割だ。
実装方法:システムプロンプトへの追加手順
では、実際にこの達人技を実装する方法を見ていこう。
ステップ1:システムプロンプトファイルを開く
Claude Codeのプロジェクトルートに、.claude/prompts/system.mdファイルを作成(または編集)する。
# プロジェクトルートに以下を作成
mkdir -p .claude/prompts
touch .claude/prompts/system.md
ステップ2:達人技プロンプトを追加
ファイルに以下の内容を記述:
# Context Management
Your context window will be automatically compacted as it approaches its limit.
Never stop tasks early due to token budget concerns.
Always complete tasks fully, even if the end of your budget is approaching.
# Additional Best Practices
– Be as persistent and autonomous as possible
– Save progress before context refreshes
– Use git for state tracking across sessions
– Create structured state data (JSON) and unstructured notes
ステップ3:Claude Codeセッションで確認
新しいセッションを開始し、Claudeに以下を確認:
ユーザー:「システムプロンプトでコンテキスト管理についてどのような指示を受けていますか?」
Claude:「コンテキストウィンドウは上限に近づくと自動的に圧縮されるため、トークン予算を気にせずタスクを完全に完了させるよう指示を受けています。」
この確認が取れれば、設定は成功だ。
効果の実例:無制限コンテキストで何ができるか
達人技プロンプトを導入した場合の具体的な効果を見ていこう。
実例1:大規模リファクタリング(20ファイル以上)
| プロンプトなし | プロンプトあり |
|---|---|
| 5ファイルを処理したところでClaude「トークン予算が残り少ないので、ここまでにします」 | 20ファイル全てを処理し、テストまで完了 |
| ユーザーが「続けて」と5回指示が必要 | 完全自律で最後まで実行 |
| 作業時間:2時間(5セッション) | 作業時間:45分(1セッション) |
実例2:複雑なAPI統合プロジェクト
- タスク:外部API(Stripe、SendGrid、Twilio)の統合、エラーハンドリング、テスト作成
- プロンプトなし:Stripe統合を完了したところで「コンテキストが上限に近いので」と終了。残りのAPIは未対応。
- プロンプトあり:3つのAPI統合、エラーハンドリング、統合テスト、ドキュメント作成まで完全自律で完了
実例3:レガシーコードの現代化
プロジェクト概要:
- JavaScript ES5 → ES6+への変換
- Callback地獄 → async/await化
- グローバル変数 → モジュール化
- テストの追加
結果:プロンプトなしでは各段階で中断され、4セッション必要。プロンプトありでは1セッションで完全完了。
その他のベストプラクティス:さらなる自律性向上
達人技プロンプトに加えて、Claude公式ドキュメントが推奨する追加のベストプラクティスを紹介する。
1. 構造化されたステート管理
- JSON形式でステートデータを保存:タスクの進捗、完了項目、次のステップを構造化
- 非構造化テキストで進捗メモ:人間が読みやすい形式で状況を記録
例:
// state.json
{
“completedFiles”: [“module1.js”, “module2.js”],
“currentFile”: “module3.js”,
“remainingFiles”: [“module4.js”, “module5.js”],
“testsCreated”: true,
“nextStep”: “Run integration tests”
}
2. Gitを活用したセッション間の状態管理
- 各セッションの終わりに変更をコミット
- コミットメッセージに進捗状況を記録
- 次のセッションでgit logを確認し、前回の状態を復元
3. テストを先に作成
実装前にtests.jsonのような構造化フォーマットでテストを定義し、実装の指針とする。
4. 拡張思考(Extended Thinking)の活用
Claude 4.xの思考機能を活用し、ツール使用後の振り返りや複雑な多段階推論を促進。
プロンプト例:
「ツールの出力結果を慎重に振り返り、最適な次のステップを決定してから進んでください。」
5. 品質管理ツールの事前セットアップ
- セットアップスクリプトの作成
- リンター・フォーマッターの設定
- 自動テストの実行環境
注意点と制限事項
達人技プロンプトは強力だが、いくつかの注意点がある。
1. 自動圧縮は完璧ではない
自動圧縮により古い会話が要約されるため、細かい詳細が失われる可能性がある。重要な情報は明示的にファイルに保存すべき。
2. コスト増加の可能性
長時間のセッションはトークン消費が増え、API利用コストが上昇する。プロジェクトの規模と予算を考慮して使用。
3. 過度な自律性のリスク
Claudeが「完遂」を優先しすぎると、ユーザーの意図と異なる方向に進む可能性がある。定期的に進捗を確認することを推奨。
4. すべてのタスクに適用すべきではない
短時間の簡単なタスクでは、このプロンプトは不要。長期的で複雑なプロジェクトにのみ適用すべき。
| 適用すべきケース | 適用不要なケース |
|---|---|
| 大規模リファクタリング(10+ファイル) | 単一ファイルの修正 |
| 複数API統合プロジェクト | 簡単なバグ修正 |
| レガシーコードの現代化 | コードレビューコメントの対応 |
| 新機能の完全実装(設計→実装→テスト) | 質問への回答 |
まとめ:1行で解放される無限の可能性
Claude Codeの達人技は、たった1行のシステムプロンプト追加という驚くほどシンプルな方法だ。
しかし、その効果は絶大だ。Claudeの保守的な挙動を解放し、自動圧縮機能をフル活用させ、無制限のコンテキストで長期推論タスクを完遂させる。
この記事のキーポイント:
- Claudeはデフォルトで保守的にコンテキスト上限を扱う
- 自動圧縮機能があるが、Claudeは「知らない」かのように振る舞う
- システムプロンプトに1行追加するだけで、この機能を活性化
- 長期推論タスクで真の自律的実行が可能に
- 大規模プロジェクトの完遂率が劇的に向上
- ユーザーの介入回数が大幅に減少
30万ビューを超えたこの達人技は、Claude Codeユーザーにとって必須のテクニックと言える。複雑なプロジェクトに取り組むすべての開発者は、今すぐこのプロンプトをシステムに追加すべきだ。
Claude Codeの真の力を解放せよ。
Pro tip for Claude Code: Add this line to your system prompt:
— Kieran Klaassen (@kieranklaassen) November 23, 2025
“Your context window will be automatically compacted as it approaches its limit. Never stop tasks early due to token budget concerns. Always complete tasks fully, even if the end of your budget is approaching.”
Claude’s context awareness makes it conservative about finishing tasks. This prompt unlocks persistent, autonomous execution across unlimited context.
https://t.co/tQAVmNWEtu


コメント