段階的依頼技法
概要
大きなタスクを一度にAIに依頼すると、品質が低下し、レビューも困難になります。段階的依頼(Incremental Requests)は、タスクを小さなステップに分割し、各ステップでレビュー・検証を行う技法です。
大きなタスクは小さく分割し、各ステップでレビューする。
なぜ段階的に依頼するのか
- 品質向上:小さなタスクほどAIの出力品質が高い
- レビュー容易:少量のコードは理解・検証しやすい
- 早期発見:問題を早期に発見し、手戻りを減らす
- コンテキスト管理:コンテキストウィンドウを効率的に使用
- 学習効果:各ステップで理解を深められる
悪い例 vs 良い例
❌ 悪い例:一括依頼
ユーザー管理、商品管理、注文管理、決済機能、
通知機能を持つECサイトのバックエンドAPIを全部作って
問題点:
- 出力が膨大でレビュー困難
- 品質にばらつきが出る
- 問題があった場合の修正が大変
- コンテキストウィンドウを圧迫
✓ 良い例:段階的依頼
Step 1: 「ユーザーモデルとCRUD APIを作成」
→ レビュー・テスト → 承認
Step 2: 「商品モデルとCRUD APIを作成」
→ レビュー・テスト → 承認
Step 3: 「注文モデルを作成(ユーザー・商品との関連を含む)」
→ レビュー・テスト → 承認
...
段階的依頼のフロー
タスク分割
→
Step 1 依頼
→
AI生成
→
レビュー
→
承認/修正
→
Step 2 依頼
→
...
実践ガイド
1
タスクを分解する
大きなタスクを論理的な単位に分割します。
分割の基準:
- 1つのステップ = 1つの責務(Single Responsibility)
- 各ステップが独立してテスト可能
- 依存関係を考慮した順序
例:ECサイトAPI
1. ユーザーモデル + CRUD
2. 商品モデル + CRUD
3. カートモデル + 操作API
4. 注文モデル + 作成API
5. 決済連携
6. 通知機能
2
各ステップを依頼する
1つのステップずつAIに依頼します。前のステップのコードをコンテキストとして提供します。
【前回作成したコード】
(ユーザーモデルのコードを貼り付け)
【今回の依頼】
上記のユーザーモデルを参照して、
商品モデルとCRUD APIを作成してください。
【要件】
- 商品は作成者(ユーザー)と紐づける
- カテゴリ、価格、在庫数を管理
3
各ステップでレビューする
AIの出力を必ずレビュー・テストしてから次に進みます。
レビュー観点:
- 要件を満たしているか
- 前のコードとの整合性
- セキュリティ・パフォーマンス
- コーディング規約への準拠
4
問題があれば修正を依頼する
問題を発見したら、具体的に修正を依頼します。
以下の点を修正してください:
1. create_product関数にバリデーションを追加
- 価格は0以上
- 在庫数は負にならない
2. SQLインジェクション対策を確認
- パラメータ化クエリを使用しているか
3. エラーハンドリングを追加
- 商品が見つからない場合は404を返す
ステップサイズの目安
- 小さすぎる:1関数ずつ → 効率が悪い
- 適切:1機能(モデル+API)ずつ → レビュー可能で効率的
- 大きすぎる:複数機能を一度に → レビュー困難
目安:1ステップで生成されるコードが100-300行程度
よくある質問
Q: 分割しすぎると効率が悪くなりませんか?
A: 一見非効率に見えますが、レビュー・修正のコストを考えると、段階的アプローチの方が総合的に効率的です。大きなコードの問題発見・修正は非常にコストがかかります。
Q: 前のステップのコードを毎回貼り付けるのが面倒です
A: 必要な部分(インターフェース、型定義)のみを貼り付けてください。全コードを毎回貼る必要はありません。また、AIツールによっては会話履歴を保持するため、「前回作成した〇〇を参照して」と指示できます。
参考文献
- MIT Technology Review "From vibe coding to context engineering" (Nov 2025)
- Anthropic Prompt Engineering Guide