はじめに:長期的なコーディングのための新しいプレイブック
数十ものファイルにわたる大規模なリファクタリングを調整しようとしたことがあるなら、その苦労はご存知でしょう。部分的なコンテキスト、脆い計画、そして話の筋を見失うアシスタント。AnthropicのClaude Sonnet 4.5—Claude Codeエクスペリエンスと組み合わせることで—は、これらの「長期的な」タスクを念頭に置いて構築されました。すなわち、複数ファイルの変更、リポジトリ全体にわたる移行、テスト駆動型の修正、そして実行計画に沿ったエージェント的なワークフローです。
AnthropicはSonnet 4.5を、より強力な指示追従性とコーディングの信頼性を備えたハイブリッド推論モデルと位置づけており、そのことはベンチマークや開発者のレポートにも表れています。これは、アシスタントに4つではなく40ものファイルを修正させ、それでもCIをパスさせる必要がある場合にまさに必要なものです。このガイドでは、大規模で現実世界のコードベースでClaude Sonnet 4.5 + Claude Codeから一貫性のある監査可能な結果を得るためのベストプラクティスをまとめています。計画、コンテキストエンジニアリング、テストファーストのフロー、トレーサビリティ、そして差分を小さく予測可能に保つためのガードレールに焦点を当てます。
長期的なコーディングが異なる(そして難しい)理由
- ファイル間の依存関係:コアインターフェースの名前変更は、モデル、サービス、テスト、ドキュメントに波及する可能性があります。
- アーキテクチャの記憶:プロジェクトの構造と規約に関する共有のメンタルモデルが必要です。
- 実行のドリフト:テスト、チェックポイント、制約で固定しない限り、アシスタントは計画から逸脱する可能性があります。
- コンテキストの制限(実際):コンテキストウィンドウが大きくても、コードやログを整理せずにダンプすると、ノイズが発生し、ハルシネーションのリスクが高まります。
Claude Sonnet 4.5 + Claude Codeがもたらすもの
- より強力な指示追従性とリファクタリングの信頼性により、構造化された複数ファイルの変更や、スタイルガイドおよび命名規則の遵守に適しています。
- より長い期間のタスクにおける最先端のコーディングパフォーマンスシグナルにより、リポジトリ規模の編集や複雑な推論チェーンが改善されます。
- AnthropicのコーディングエクスペリエンスであるClaude Codeは、リポジトリレベルのヘルプ、構造化されたリファクタリング、および複数ファイルの一貫性に焦点を当てています—まさに従来のチャットアシスタントがつまずくところです。
実践的でソリューション指向のプレイブック
以下は、移行計画からCIパスの差分まで、リポジトリ全体にわたる変更に再利用できるステップバイステップのアプローチです。
- 契約から始める:目的、制約、終了基準
Claude Sonnet 4.5に明確なミッション契約を与えます。以下を含めます。
- 目的:「モノレポ全体で認証ミドルウェアをPassportからAuth.jsに移行する。」
- 制約:「認証以外のAPIサーフェスの変更は行わない。パブリック型を安定に保つ。サードパーティのコンシューマに破壊的な変更がないようにする。」
- 終了基準:「すべてのテストに合格する。ドキュメントを更新する。非推奨の注意書きを追加する。変更履歴のエントリを作成する。リンターエラーをゼロにする。」
- 非目標:「関係のないモジュールには触れない。クエリを最適化しない。」
理由:Sonnet 4.5の改善された指示追従性により、スコープが固定され、途中で範囲を超えてしまうのを防ぎます。
- リポジトリを貼り付けるのではなく、リポジトリマップを構築する
何千行も貼り付けないでください。キュレーションされた「リポジトリマップ」を提供します。
- 高レベルのアーキテクチャ:packages/、apps/、services/ディレクトリ、および主要な境界線。
- 重要なファイル:インターフェース、コアユーティリティ、エントリポイント、DI構成。
- 規約:命名パターン、エラー処理の慣用句、ログ記録、テストスタイル。
- 既知のホットスポット:レガシーモジュール、脆弱なテスト、不安定なモック。
Claudeに、リポジトリマップを自身の言葉でエコーバックさせ、マイルストーンを含む計画を提案させます。これにより、共通の理解が保証され、誤解を早期に捉えることができます—長期的な計画には不可欠です。
- 線形的なTo-Doではなく、マイルストーンのDAGとして計画する
Claudeに依存関係グラフを生成させます。
- マイルストーン1:互換性シムとフィーチャーフラグを導入します。
- マイルストーン2:コアミドルウェアの抽象化を更新します。
- マイルストーン3:サービスを段階的に移行します(リスク順)。
- マイルストーン4:テストとフィクスチャを更新します。
- マイルストーン5:シム/フラグを削除し、ドキュメントを完成させます。
各マイルストーンについて、以下を要求します。
このDAGスタイルの計画により、ドリフトが減少し、安全なステップを並行処理でき、Claudeが参照できる構造が提供されます。
- テストファーストのアンカー:最初に失敗するテストを生成する
リファクタリングの前に、Claudeにターゲットの動作をエンコードする失敗するテストを提案させます。以下を使用します。
- APIレスポンスまたはテンプレートのゴールデンファイルのスナップショット。
理由:テストは、長期的な変更を軌道に乗せ、測定可能に保つためのガードレールになります。Claude Sonnet 4.5の信頼性は、失敗するテストと合格するテストのような明確なシグナルに対して継続的に推論できる場合に発揮されます。
- 複数ファイル編集のためのコンテキストエンジニアリング
生のコードダンプではなく、構造化されたコンテキストを提供します。
- 差分に焦点を当てたプロンプト:行番号と周囲の関数/クラスを含む、必要な最小限の抜粋を提供します。
- インターフェースファースト:最初にパブリック型とインターフェースを共有します。Claudeにトップダウンで推論させます。
- トレーサビリティ:Claudeに、タッチされたすべてのファイル、根拠、およびテストへのリンクをリストした「変更マニフェスト」を含めるように依頼します。
- 競合の予測:競合が発生しそうなコードのスニペット(カスタム認証ラッパーなど)を提供して、Claudeがそれらを計画するようにします。
マルチエージェントおよびリポジトリレベルのアシスタントに関する研究では、構造化された役割認識コンテキストが、リポジトリレベルのタスクにおけるファイル間のコヒーレンスを大幅に向上させることが示されています。
- 不変の計画による、小さくレビュー可能なバッチ
マイルストーンに合わせた小さなPRで作業します。
- PRテンプレート:目的、スコープ、変更マニフェスト、テストデルタ、リスクノート。
- Claudeに、マイルストーン計画にマップするコミットメッセージを生成させます。
- PRごとに計画を固定します。新しい作業が発生した場合は、PRを肥大化させるのではなく、フォローアップタスクを開きます。
利点:人間の監視を厳しく保ち、ロールバックを手術のように行えるようにします。
- コーディング規約と静的保証を強制する
プロンプトでリンター、フォーマッター、および型チェックフラグを提供します。
- 「すべてのコードはeslint:recommended + カスタムルール、Prettier強制、TypeScript strictNullChecksに合格する必要があります。」
- 代表的なリントまたはTypeScriptエラーを共有し、最終的な差分を提案する前にClaudeに修正するように依頼します。
Sonnet 4.5の改善された指示追従性により、これらの制約をファイル全体で一貫して尊重できます。
- インターフェースシムとフィーチャーフラグを使用して、ダウンタイムなしでリファクタリングする
リスクの高い移行の場合は、Claudeに以下を指示します。
- フラグまたは環境トグルを使用して新しいパスをゲートします。
- テストが安定するまで、一時的にデュアルコードパスを維持します。
これにより、段階的なロールアウトと、メトリックが急上昇した場合の迅速なロールバックが可能になります。
- 「理由」の説明とリスクレジスタを要求する
Claudeに、重要な変更ごとに短い「理由」を含めるように要求します。
- リスクレベルは何ですか?フォールバックは何ですか?
これらの説明は、コードレビュー中に非常に役立ち、長期的な編集に対する信頼を維持するのに役立ちます。
- すべてをCIシグナルに接地する
アシスタントをCIフィードバックと緊密にループします。
- 失敗するテスト出力を貼り付けます。ターゲットを絞ったパッチを要求します。
- タイプチェックログを共有します。広範な変更なしにエラーを排除する最小限の差分を要求します。
- 失敗がカスケードする場合は、一度に1つのファイルを修正する計画を要求します。
- セキュリティに敏感なパスの場合は、多層防御プロンプトを追加する
認証、暗号化、または支払いに関連する場合は:
- 不変条件チェック、入力検証、および機密性の高いトランジションのログ記録を要求します。
- 失敗および悪用シナリオのテストケースを要求します。
- 最終的な強化パス:ドキュメント、変更履歴、テレメトリ
最終マイルストーンをマージする前に:
- Claudeにドキュメントの更新と移行ノートの草案を作成するように依頼します。
- 破壊的/非破壊的フラグを含む変更履歴を生成します。
- マージ後の監視のために、新しいパスの周りにテレメトリを挿入します。
コピー/ペーストできるプロンプト
- リポジトリマップサマライザー:「あなたはシニアスタッフエンジニアです。このマップからアーキテクチャを要約し、仮定をリストし、リスクとテスト戦略を含むマイルストーンDAGを提案してください。明確にするための質問をしてください。」
- テストファーストジェネレーター:「後方互換性をエンコードする新しい認証フローの失敗するテストを作成します。エッジケースと不正な入力を含めます。」
- 変更マニフェストコンポーザー:「変更を提案する各ファイルについて、理由、予想される差分の種類、テストカバレッジ、および潜在的な競合をリストします。」
- 最小差分フィクサー:「これらのCIの失敗とファイルの抜粋が与えられた場合、ビルドをグリーンにする最小限の変更を提案します。関係のない編集はしないでください。」
- セキュリティ強化:「トークン更新の入力検証、ログ記録、および悪用ケーステストを追加します。短い脅威モデルを提供します。」
よくある落とし穴とその回避方法
- 落とし穴:ファイル全体でコンテキストを過負荷にする。
修正:インターフェースファーストの要約と、行番号付きのターゲットを絞った抜粋を提供します。
- 落とし穴:単一のPR内のスコープクリープ。
修正:マイルストーンベースのバッチサイズとPRごとの不変の計画を強制します。
- 落とし穴:ファイル全体のスタイルのずれ。
修正:リンター/フォーマッター構成を共有します。すべてのパッチでプリコミットの一貫したフォーマットを要求します。
- 落とし穴:検証不可能な推論。
修正:アシスタントに各変更をテストに関連付け、「理由」のメモを含めるように要求します。
- 落とし穴:サイレントな破壊的変更。
修正:メトリックがパリティを証明するまで、後方互換性テストとフィーチャーフラグを追加します。
プロセスが機能していることを示すシグナル
- より短いtime-to-green:安定化するためのCIサイクルが少なくなります。
- テストファーストのアンカーリングによる回帰率の低下。
- 変更マニフェストと「理由」の説明による、より高速なコードレビュー。
Claude Sonnet 4.5 + Claude Codeがスタックに適合する場所
- 計画とリファクタリングの設計:強力な指示追従性により、特に複数ステップのタスクの場合に、信頼できる計画を作成できます。
- リポジトリレベルの編集:Claude Codeは、長期的な作業に適した複数ファイルの一貫性とリファクタリング支援に焦点を当てています。
- 複雑なコーディングタスクにおけるベンチマークに裏打ちされた信頼性:開発者プラットフォームのメモは、より長い期間のコーディングパフォーマンスの向上を示しています。
注目すべき点:すでにSonnet 4.5をサポートしている開発者ツールまたはゲートウェイを使用している場合、統合は簡単です—いくつかのパートナーが可用性を公に確認しており、既存のパイプラインで上記のプラクティスをテストできます。
ちなみに:ブラウザから作業している場合、最新のAIサイドバーと拡張機能は、モデルへのアクセスとコーディング機能をアップグレードすることが増えており、IDEまたはリポジトリブラウザを離れることなく、テストファーストおよび差分に焦点を当てたワークフローを簡単に適用できます。
実行可能な次のステップ
- リポジトリマップと規約を再利用可能なプロンプトプリアンブルとしてエンコードします。
- 各PRの変更マニフェストを含むマイルストーンDAGを採用します。
- 5つ以上のファイルにまたがる変更については、テストファーストに切り替えます。
- 認証/支払いパスにセキュリティ強化プロンプトを追加します。
- CIとのループを閉じます:失敗を貼り付け、最小限に修正し、繰り返します。
主なポイント
- 長期的なコーディングは、計画とコンテキストの問題です。Claude Sonnet 4.5の強み—推論、指示追従、およびリポジトリスケールのコーディング—は、これらのニーズによく対応します。
- 構造は冗長性に勝ります:リポジトリマップ、DAGマイルストーン、テストファーストのアンカー、および変更マニフェストは、予測可能な結果をもたらします。
- ドリフトと回帰を回避するために、差分を最小限に抑え、監査可能にし、テストに関連付けます。
- ダウンタイムなしの移行にはフィーチャーフラグとシムを使用し、メトリックがパリティを検証したら削除します。
結論
長期的なコーディングは、より大きなコンテキストウィンドウだけではありません。それは、規律あるプロセスと、計画に固執できるアシスタントに関することです。Claude Sonnet 4.5とClaude Codeを使用すると、モデルに構造化されたコンテキストを提供し、テストファーストのマイルストーンに作業をロックし、レビュー可能で最小限の差分を強制する限り、リポジトリ全体の安定化、より安全なマージ、および反復ごとに健全化されるコードベースが得られます。
よくある質問
Q1:Claude Sonnet 4.5が長期的なコーディングに適している理由は何ですか?
より強力な指示追従性とコーディングの信頼性の向上を組み合わせることで、制約とテストを遵守しながら、複数ステップ、複数ファイルの変更を計画および実行するのに役立ちます。レポートとプラットフォームのメモは、より長い期間のタスクにおけるパフォーマンスの向上を強調しています。
Q2:Claudeに過負荷をかけずに十分なコンテキストを与えるにはどうすればよいですか?
完全なファイルではなく、キュレーションされたリポジトリマップ、キーインターフェース、および行番号付きのターゲットを絞った抜粋を提供します。変更マニフェストを要求し、各編集を検証するためにモデルにテストを参照するように要求します。
Q3:Claude Codeはリポジトリレベルのリファクタリングを処理できますか?
はい。Claude Codeは、複数ファイルの一貫性と構造化されたリファクタリングのために設計されており、移行、インターフェースの変更、大規模な名前変更などのリポジトリレベルのタスクに適しています。
Q4:長期間のリファクタリングでスコープクリープを回避するにはどうすればよいですか?
PRごとに不変のスコープを持つマイルストーンDAGを使用し、PRを小さくレビュー可能に保ちます。最小限の差分を要求し、リンティング/フォーマットを強制し、最初に失敗するテストですべてのステップを固定します。
Q5:セキュリティに敏感なコードにはどのようなガードレールを使用する必要がありますか?
脅威モデリング、入力検証、ログ記録、および悪用ケーステストのプロンプトを追加します。安全なロールアウトにはフィーチャーフラグとシムを使用し、失敗および誤用シナリオをカバーするテストを要求します。