← Reports へ戻る

ChatGPTで要件整理してからClaude Codeに渡す方法

ChatGPTで要件・制約・対象範囲を整理し、Claude Codeに渡しやすい実装指示へ変換する方法。AI同士の結果を最大化する協働方法を説明します。

ChatGPTで要件整理してからClaude Codeに渡す方法

はじめに

Claude CodeとChatGPTを組み合わせて個人開発を加速する方法では、役割分担の基本を説明しました。本記事では、ChatGPTで要件を整理して、Claude Codeに明確な指示として渡すプロセスを具体例で解説します。

要件をそのままClaude Codeに渡すと、曖昧で実装が破綻しやすいです。ChatGPTで一度整理することで、Claude Codeが実装しやすい形に変換できます。

ChatGPTの役割:要件の整理と分解

ステップ1:曖昧な要件をChatGPTに渡す

ChatGPT への指示:
「ユーザープロフィール画面を作りたいです。
機能:
- ユーザー情報を表示
- 編集できるようにしたい
- プロフィール画像も対応したい

実装可能な形に要件を整理してください。」

ステップ2:ChatGPTが要件を構造化

ChatGPTの回答例:

【要件の整理】

【1. 表示機能】
- ユーザー名
- メールアドレス
- 自己紹介文
- プロフィール画像

【2. 編集機能】
- 各フィールドは入力フォーム
- 保存ボタン
- キャンセルボタン
- 編集前状態への復帰

【3. バリデーション】
- ユーザー名:空でない、50字以内
- メールアドレス:有効形式
- 自己紹介文:500字以内

【4. 画像処理】
- ファイル選択
- プレビュー表示
- アップロード
- 既存画像の削除オプション

【5. エラーハンドリング】
- アップロード失敗時のメッセージ
- ネットワークエラー
- 保存失敗時の復旧

【実装ステップの提案】
ステップ1:表示機能だけ
ステップ2:基本的な編集機能
ステップ3:バリデーション追加
ステップ4:画像処理
ステップ5:エラーハンドリング

ChatGPTの価値

ステップ3:Claude Codeに渡す前にChatGPTで指示テンプレート化

ChatGPT への追加指示:

上記の要件に基づいて、
Claude Codeに渡す実装指示を作成してください。

形式:
【対象ファイル】
【機能】
【制約】
【テスト項目】

Claude Codeがすぐに実装できる具体的な指示にしてください。

ChatGPT の出力例:

【Claude Code への実装指示案】

ステップ1:表示機能

対象ファイル:
- src/components/UserProfile.tsx(新規作成)

機能:
ユーザー情報を表示するコンポーネント

表示項目:
- ユーザー名
- メールアドレス
- 自己紹介文(最大500字)
- プロフィール画像

制約:
- ファイルは UserProfile.tsx のみ
- 他のコンポーネントは変更しない
- API は getUser() を使用(既存)

テスト項目:
- ユーザー情報が正しく表示される
- 画像が表示される

実装前に計画を提示してください。

ChatGPTの価値

ChatGPT→Claude Code の流れ全体

【フロー】
人間:「プロフィール機能が欲しい」

【ChatGPT】
  人間の曖昧な要件を受け取る
  要件を整理・分解
  Claude Code 用の指示テンプレートに変換

【Claude Code】
  ChatGPT が用意した指示を受け取る
  実装が明確で、計画も立てやすい
  安心して実装開始

実装完了

よくある間違い

❌ 間違い1:ChatGPTなしでClaude Codeに渡す

「プロフィール機能を実装してください」

Claude Code:
  「表示だけ?編集機能も?画像は?」
  勝手に複数ファイルを編集
  テストは含まない

✅ 改善:ChatGPT経由で要件を整理

ChatGPTで要件整理

Claude Code に明確な指示を渡す

計画承認後に実装

テストケースまで明確

❌ 間違い2:ChatGPTに実装させてしまう

ChatGPT:「コードを書きます」

長いコード生成

Claude Code よりも文脈が短い

デバッグが難しい

✅ 改善:ChatGPTは計画まで、実装はClaude Code

ChatGPT:「要件整理と計画」
Claude Code:「実装」

役割が明確

各自の得意分野で最大化

実際のワークフロー例

例:「複数ファイルのリファクタリング」

1. ChatGPT での分析

人間:
「src/api/ 内の複数ファイルで、
HTTP エラーハンドリングが重複している。
改善したいが、何から始めるか。」

ChatGPT:
「以下を提案します:

【分析結果】
- src/api/users.ts、posts.ts、comments.ts
- 共通パターン:try-catch → error.status → message 変換
- 重複率:約 40%

【改善ステップ】
ステップ1:utils/httpError.ts に共通関数を作成
- extractErrorMessage()
- getHttpStatus()

ステップ2:src/api/users.ts から古いハンドリングを削除
ステップ3:src/api/posts.ts も同様に修正
ステップ4:他のファイルも順次修正

2. Claude Code への指示生成

ChatGPT に依頼:

上記の計画に基づいて、
Claude Code に渡す最初のステップの指示を作成してください。

ChatGPT の出力:

【Claude Code への指示】

ステップ1:共通エラーハンドリング関数を作成

対象ファイル:
- src/utils/httpError.ts(新規作成)

実装内容:
export const extractErrorMessage = (error) => {
  // error.message か error.msg か error.data.message を統一
  // 予測不可能な形式に対応
}

export const getHttpStatus = (error) => {
  // error.status か error.statusCode か error.response.status を統一
}

制約:
- ファイルは httpError.ts のみ作成
- 他のファイルは変更しない
- テストは不要(users.ts のテストで検証)

実装前に計画を確認させてください。

3. Claude Code で実装

指示が明確なため、Claude Code は計画を立てやすく、実装も正確になります。

まとめ

ChatGPT と Claude Code を組み合わせるキーポイント:

ChatGPT の役割

Claude Code の役割

流れ: 人間(曖昧な要件)→ ChatGPT(整理・指示化)→ Claude Code(実装)

ChatGPTとClaude Codeの役割分担をさらに深掘りして、要件整理段階から最適化することで、開発速度と品質の両立が実現します。

ChatGPTClaude Code要件定義AI協働