Claude Codeに複雑な依頼を一度に渡すと、意図と違う実装が進んだり、既存コードへの影響を見落としたりすることがあります。
こうした失敗を減らすには、コードを書き始める前に計画を確認する「Plan Mode」と、プロジェクトの前提やルールを整理して共有する機能を使い分けるのが効果的です。
この記事では、承認制ログインの実装を例に、作業を安全に進める手順や指示の書き方、変更後に確認すべきポイントを解説します。
複雑な指示をいきなり実装させない
AIに「承認制ログインを追加して」とだけ依頼しても、どの画面を変えるのか、承認状態をどこに保存するのか、未承認ユーザーをどう扱うのかは伝わりません。
曖昧なまま実装が始まると、認証処理やデータベースの構造、画面表示など複数の箇所に変更が及び、意図しない動作や手戻りにつながる可能性があります。
まず必要なのは、実装方法を細かく指定することよりも、目的、現状、制約、完了条件を明確にすることです。
| 整理する項目 | 確認する内容 |
|---|---|
| 目的 | 誰が何をできるようにするのか |
| 現状 | 既存の認証方式や関連画面、データ構造 |
| 制約 | 使うサービス、変更してはいけない機能、セキュリティ要件 |
| 完了条件 | どの状態をテストできれば実装完了とするか |
Plan Modeで実装前に方針を確認する
計画を作る段階とコードを書く段階を分ける
Plan Modeは、すぐにコードを変更するのではなく、先に調査や実装方針の整理を進めるためのモードです。
Claude Codeに関連ファイルや既存処理を調べさせ、必要な変更、影響範囲、想定されるテストを計画として提示させます。
計画を読んでから着手を許可できるため、変更内容が大きい作業や、認証・データベースのように安全性が重要な作業で特に役立ちます。
承認制ログインの計画で確認したいこと
たとえば、管理者が登録ユーザーを承認するまでアプリを利用できない仕組みでは、単にログイン画面を追加するだけでは不十分です。
未承認ユーザーの登録後の表示、承認状態の保存場所、管理者だけが承認操作を行える仕組み、承認前のデータアクセス制御まで検討する必要があります。
次のように依頼すると、計画に含めてほしい観点を伝えやすくなります。
承認制ログインを実装したいです。
まずコードを変更せず、現在の認証処理、ユーザー情報の保存方法、関連画面を調査してください。
未承認ユーザーの扱い、管理者による承認方法、アクセス制御、変更対象ファイル、テスト方法を含む実装計画を提示してください。
既存機能への影響や、判断が必要な点も先に挙げてください。
計画が提示されたら、実装対象が広すぎないか、管理者権限の判定がサーバー側でも行われるか、テスト内容が具体的かを確認します。
不明点が残っていれば、コード変更を許可する前に質問し、計画を修正してもらいましょう。
計画を小さな作業に分ける
大きな機能を一度に作るより、調査、データ構造の変更、画面の実装、アクセス制御、テストのように段階を分けると、問題の原因を特定しやすくなります。
各段階の終了時に差分とテスト結果を確認すれば、誤った前提のまま作業が積み上がるのを防げます。
プロジェクト機能で前提を共有する
Claudeのチャット版にあるプロジェクト機能は、関連する資料や指示をまとめ、同じテーマの会話で参照しやすくするために活用できます。
アプリの目的、使用技術、用語、設計上の決まりなど、毎回説明する内容を整理しておけば、依頼ごとの前提の食い違いを減らせます。
ただし、チャット版のプロジェクトとClaude Codeの作業環境は別のものとして扱い、資料が自動的に共有されると決めつけないことが重要です。
必要なルールは、利用環境に応じてプロジェクトの指示や資料、リポジトリ内のCLAUDE.mdなど、実際にClaude Codeが参照できる場所にも記載します。
共有しておくと便利な情報
- アプリの目的と、利用者・管理者それぞれの役割
- 使用している言語、フレームワーク、認証・データベースサービス
- ファイル構成や、既存コードで踏襲する設計方針
- 変更前に確認する項目や、実行すべきテスト
- 秘密情報をコードやログに出さないなどのセキュリティ上の注意
資料は長くすること自体が目的ではなく、作業で繰り返し参照するルールを簡潔にまとめることが大切です。
古い仕様や一時的な作業メモを残したままにすると、かえって誤った判断を促すため、変更のたびに内容を見直してください。
CLAUDE.mdを継続的に更新する
CLAUDE.mdには、プロジェクトでClaude Codeに知っておいてほしい情報や、作業時のルールを記載できます。
たとえば、テストの実行方法、重要なディレクトリ、変更時に守るべき設計方針などを記しておくと、毎回同じ説明を繰り返す必要が減ります。
一方で、パスワードやAPIキーなどの秘密情報を記載するのは避けてください。
作業後にルールへ反映する
開発を進める中で、毎回必要な確認事項やプロジェクト固有の注意点が分かったら、CLAUDE.mdの更新候補として整理します。
ただし、AIに自動で追記させた内容を無確認で採用するのではなく、既存ルールとの重複や矛盾がないかを人が確認してから反映しましょう。
ルールを更新した後は、変更内容をGitの差分で確認し、チームや将来の自分にも理解できる記述になっているかを確かめます。
安全性を確認してから完了とする
承認制ログインのような機能では、画面上でボタンを隠すだけでは十分なアクセス制御になりません。
未承認ユーザーがデータを直接読み書きできないか、承認操作を一般ユーザーが実行できないかを、認証ルールやサーバー側の処理も含めて確認する必要があります。
また、正常系だけでなく、未承認、承認済み、権限のないユーザー、ログアウト後など複数の状態で動作をテストしてください。
実装後は、変更されたファイル、実行したテスト、未解決の課題をClaude Codeに説明させ、実際の差分やテスト結果と照らし合わせると確認漏れを見つけやすくなります。
まとめ
Claude Codeで開発精度を高めるには、複雑な機能をすぐ実装させず、Plan Modeで調査と計画を確認してから段階的に進めることが重要です。
プロジェクト機能やCLAUDE.mdには、アプリの前提や繰り返し使うルールを整理し、情報が古くならないよう継続的に見直しましょう。
計画、実装、差分確認、テストを小さく繰り返すことで、AIの作業を把握しながら、手戻りやセキュリティ上の見落としを減らせます。
