プログラミング経験がない人でも、ChatGPTを使えば簡単なスクリプトが書けるようになりました。一方、経験豊富な開発者にとっても、ChatGPTは「超高速のペアプログラマー」として生産性を2〜3倍に高めます。このレッスンでは、コード生成・デバッグ・リファクタリング・コードレビューという開発の全工程でChatGPTを活用する技術を学びます。
ChatGPT プログラミング支援フロー
ChatGPTはコード生成・デバッグ・リファクタリング・コードレビューの4つのサイクルすべてをカバーします。どの工程から入っても構いません。まずは自分の課題に直結するフェーズから使い始めましょう。
ChatGPTに「コードを書いて」と頼む際、仕様の渡し方で出力品質が大きく変わります。
基本テンプレート
言語: Python 3.11
ライブラリ: pandasのみ使用可
やりたいこと: CSVファイルを読み込み、売上列が前月比10%以上増加した行を抽出してresult.csvとして出力する
入力ファイル: sales.csv(列: date, product, sales)
エラーハンドリング: ファイルが存在しない場合はエラーメッセージを表示
コメント: 各処理にコメントをつけて可読性を高める
API連携コード生成
言語: JavaScript (Node.js 20)
やりたいこと: Slack Webhook URLに対してPOSTリクエストを送り、
指定したメッセージをSlackチャンネルに投稿する関数を作成してください
エラー処理: レスポンスが200以外の場合はエラーをスローする
非同期処理: async/awaitを使用
💡 「なぜそう書いたか」を聞く習慣: コードが生成されたら「このコードの重要な部分を解説してください」と続けて聞きましょう。コードを理解せずにコピペするとバグが出たときに対処できません。
| 言語 | 特に有効な用途 | 注意点 |
|---|---|---|
| Python | データ処理・自動化・スクレイピング | バージョン(3.x系)を明示する |
| JavaScript/TypeScript | フロントエンド・API連携 | Node.jsかブラウザかを指定する |
| SQL | データベースクエリ・集計 | DB種類(MySQL/PostgreSQL/BigQuery)を明示 |
| GAS | Googleサービス自動化 | 「Google Apps Script」と明示する |
| Bash/Shell | ファイル操作・バッチ処理 | OS(Mac/Linux/Windows)を指定する |
複雑な機能は一度に書かせると品質が下がります。分割して依頼しましょう。
ステップ1: まずデータの読み込みと検証部分だけ実装してください
(動作確認後)
ステップ2: 次に集計ロジックを追加してください
(動作確認後)
ステップ3: 最後にCSV出力と例外処理を追加してください
コードが動かないとき、ChatGPTはエラーメッセージを解析して原因を特定するプロデバッガーになります。
以下のPythonコードを実行したところ、エラーが発生しました。
【コード】
(エラーが発生しているコードをそのまま貼り付け)
【エラーメッセージ】
(コンソールに表示されたエラーを全文コピー)
【状況】
・どのような操作をしたときに発生するか
・発生する頻度(常に・特定の条件のみ)
原因と修正方法を教えてください。
⚠️ エラーは全文コピーが必須: 「エラーが出た」だけでは情報不足です。エラーメッセージ・スタックトレース・ファイル名と行番号すべてを貼り付けてください。省略すると的外れな回答になります。
| エラーの種類 | 聞き方の例 |
|---|---|
| TypeError | 「TypeError: Cannot read properties of undefined と出ます。どこで未定義になっていますか?」 |
| 無限ループ | 「処理が止まりません。無限ループの可能性がある箇所を全て指摘してください」 |
| 予期しない出力 | 「期待値は100ですが、実際の出力は-12です。計算ロジックのどこがおかしいか確認してください」 |
| パフォーマンス問題 | 「10万行のCSVで処理に5分かかります。ボトルネックを特定して改善してください」 |
1回の質問で解決しない場合は、以下の順で深掘りします。
動くが汚いコードをChatGPTできれいにする技術です。
可読性改善
以下のコードをリファクタリングしてください。
・変数名を意味のある名前に変更
・長い関数を適切な粒度で分割
・マジックナンバーを定数に
・コメントを追加
機能は変えないこと。変更前と変更後のコードを並べて、何を変えたか説明してください。
パフォーマンス改善
このコードをパフォーマンス面でリファクタリングしてください。
特に以下の点を改善してください:
・ループの最適化(O(n²)→O(n)など)
・不要なAPI呼び出しの削減
・メモリ使用量の削減
改善前後の計算量の違いをBig-O記法で説明してください。
モダンな書き方への変換
このコードをモダンなJavaScript(ES2022以降)に書き直してください。
・varをconstとletに
・callbackをasync/awaitに
・古いforループをmap/filter/reduceに
・オプショナルチェーン(?.)を活用
💡 リファクタリング後のテスト: ChatGPTに「このリファクタリング済みコードが元の動作を保つか確認するためのテストケースを書いてください」と続けて依頼すると、変更の検証まで自動化できます。
ChatGPTは24時間対応のシニアエンジニアとしてコードレビューをしてくれます。
総合レビュー
以下のコードをシニアエンジニアの視点でレビューしてください。
確認してほしい観点:
1. バグや潜在的な不具合
2. セキュリティの脆弱性(SQLインジェクション・XSSなど)
3. エラーハンドリングの漏れ
4. パフォーマンスの問題
5. コーディング規約・可読性
問題点は深刻度(Critical/Warning/Info)で分類して教えてください。
セキュリティ特化レビュー
このコードのセキュリティ脆弱性を洗い出してください。
Webアプリケーション(Node.js + Express)です。
OWASP Top 10の観点でチェックし、問題箇所と修正例を示してください。
指摘された「Critical」の問題から順に修正したいです。
最も優先度の高い問題から修正済みコードを提示してください。
1つずつ直して、都度確認させてください。
GASはChatGPTが特に得意とする分野です。Googleスプレッドシート・Gmail・Driveを連携する自動化スクリプトは、仕様を自然言語で書くだけで動作するコードが生成されます。
Google Apps Scriptで以下を実装してください。
・毎週月曜9時に自動実行(トリガー設定も含む)
・スプレッドシート(シート名:売上)のB列の合計を計算
・結果を特定のメールアドレスに送信(件名・本文の形式も指定)
ChatGPTはテストコードの生成にも非常に優秀です。実装前にテストを書かせることで、要件の曖昧さを事前に排除できます。
以下の仕様を満たす関数のテストコード(Jest)を先に書いてください。
仕様:
・関数名: calculateDiscount
・引数: price(数値), memberType('gold'|'silver'|'normal')
・gold会員は20%割引、silver会員は10%割引、normal会員は割引なし
・priceが0以下の場合はエラーをスロー
・戻り値: 割引後の価格(小数点以下切り捨て)
エッジケースも含めて10件以上のテストケースを作成してください。
テスト後に実装コードも書いてください。
既存コードからドキュメントを自動生成させることもできます。
以下のコードのJSDocコメントを追加してください。
・各関数のパラメータ・戻り値・例外を記述
・使用例(@example)を各関数に1つ追加
・モジュール全体の概要コメントも追加
ChatGPTが生成するコードは動作するが、セキュリティ的に問題がある場合があります。以下の点を常に確認しましょう。
| チェック項目 | 確認方法 |
|---|---|
| SQLインジェクション | パラメータ化クエリを使っているか確認 |
| XSS(クロスサイトスクリプティング) | ユーザー入力をエスケープしているか |
| 認証・認可の漏れ | エンドポイントに認証チェックがあるか |
| シークレット情報のハードコード | APIキー・パスワードが直接書かれていないか |
| 依存パッケージの脆弱性 | npm audit / pip auditで確認 |
⚠️ 生成コードをそのまま本番に使わない: ChatGPTが生成したコードは必ずレビューしてから使用してください。特に認証・決済・個人情報を扱うコードは専門家によるレビューが必要です。AIは生成したコードの「動作」も「セキュリティの完全性」も保証できません。手元で動いたとしても、安全であるとは限りません。
このコードを本番環境で使う前に確認すべき点を全て教えてください。
特に:
1. セキュリティリスク(SQLインジェクション・XSS・認証漏れ)
2. エラーハンドリングの不備
3. パフォーマンスのボトルネック
4. スケーラビリティの問題
5. テストが必要な重要ロジック
問題点は「致命的・重要・軽微」の3段階で分類してください。
ChatGPTはプログラミングを「やってもらう」だけでなく、学習ツールとしても最強です。
Pythonのデコレータを、プログラミング初心者にもわかるように説明してください。
・具体的な使用例(コード付き)
・デコレータを使わない場合との比較
・実際の開発でどんな場面で使うか
このエラーが発生した原因を、初心者にもわかるように段階的に説明してください。
・なぜこのエラーが起きるか(根本原因)
・このエラーを防ぐためのベストプラクティス
・同様のエラーが起きやすい別のパターン
以下のコードを1行ずつ解説してください。
初心者がつまずきそうな部分は特に丁寧に説明してください。
このコードが実務でどのような場面で使われるかも教えてください。
コードを書く前に設計をChatGPTと相談するアプローチも有効です。
以下の機能を実装したいです。設計の相談をしてください。
機能:ユーザーがCSVをアップロードすると、
自動でデータを集計してグラフ付きPDFレポートを生成するWebアプリ
技術スタック: Next.js + Python(FastAPI)
・どのようなアーキテクチャが適切か
・技術的な落とし穴と事前に考慮すべき点
・実装の優先順位(MVP→拡張の順序)
💡 「Teach Me Like I'm 5」テクニック: 難しい概念を理解するとき「5歳の子どもに説明するように教えてください」というプロンプトを使うと、本質をシンプルに説明してくれます。理解できたら「今度はエンジニア向けに詳細な説明をしてください」と段階的に深掘りすることで、幅広い理解が得られます。
個別のコード生成にとどまらず、プロジェクト全体の技術選定・アーキテクチャ設計にもChatGPTを活用できます。
以下の要件のWebアプリを構築したいです。最適な技術スタックを提案してください。
要件:
・月間アクティブユーザー:1000人規模
・リアルタイムチャット機能
・画像・ファイルのアップロード・管理
・モバイルアプリも将来的に展開予定
・チームの技術スキル:JavaScript中級者2名
・予算:月額インフラコスト$100以内
フロントエンド・バックエンド・DB・インフラそれぞれの候補と選定理由、
技術的な落とし穴も含めて説明してください。
以下のECサイトのER図(テキスト形式)とテーブル定義SQL(PostgreSQL)を作成してください。
エンティティ:ユーザー・商品・カテゴリ・注文・注文明細・レビュー・在庫
制約:
・1つの注文に複数の商品が含まれる
・商品は複数のカテゴリに属せる
・在庫はサイズ・色ごとに管理する
インデックスも適切に設定してください。
このWebアプリが月間10万ユーザーに成長した場合の
パフォーマンス設計を見直してください。
現状のアーキテクチャ:Node.js + PostgreSQL + Vercel
ボトルネックになりそうな箇所と改善案(キャッシュ・CDN・DBスケーリング)を
コスト見積もりも含めて提案してください。
💡 ChatGPTをCTOとして使う: スタートアップや個人開発者にとって、ChatGPTは「安価なCTO的存在」として機能します。技術的な意思決定の相談相手として活用するとき、「私は〇〇の経験があるスタートアップCTOです。以下の技術的課題について助言をください」というロールプレイ設定が有効です。
以下のワークを実施してください。
ChatGPTによるプログラミング支援の核心は「仕様の渡し方」にあります。言語・ライブラリ・入出力・エラーハンドリングを明示するほど精度が上がります。デバッグではエラーメッセージの全文コピーが必須、リファクタリングでは変更の説明を求めることがポイントです。テスト駆動開発への活用・セキュリティレビュー・学習ツールとしての使い方まで、ChatGPTはプログラミングの全工程でパートナーになれます。プログラミング経験がなくても仕様を言語化できれば動くコードを手に入れられる時代になりました。ただし生成コードのそのまま本番投入は避け、必ずレビューとテストを経ることがプロとしての姿勢です。次のレッスンではAPI連携の基礎を学びます。
全問正解でこのレッスンが「完了」になり、コースの全レッスンを完了すると修了証が発行されます。解説つき・何度でも挑戦できます。
Q1.書いてもらったコードを実行したらエラーが出ました。ChatGPTから的確な回答をもらうために、本文が「必須」とする行動はどれですか。
Q2.データの読み込み・集計・CSV出力を含む、やや大きなスクリプトを作りたいと考えています。本文に沿った依頼の仕方はどれですか。
Q3.ChatGPTが生成したログイン認証のコードが、手元で問題なく動きました。本番に反映する前の判断として、本文に沿うものはどれですか。
完全無料・クレジットカード不要
AIビジネス活用実践講座
ChatGPTには無料プランからEnterpriseプランまで複数のプランがあり、組織のサイズ・情報機密性・活用目的によって最適なプランは異
25分本文は無料で閲覧可
UI/UXデザイン実践講座
UIデザインパターンとは、頻繁に発生するデザイン上の課題に対する、実証済みの解決策の集積です。車輪を毎回発明する必要はありません。
30分本文は無料で閲覧可
MEO対策完全マスター講座
Googleのローカル検索アルゴリズムにおいて、クチコミ(口コミ)は「件数」「評価点」「返信の有無」「新鮮さ」の4軸で評価されます。
25分本文は無料で閲覧可
WordPress HP制作完全講座
WordPressは世界中のウェブサイトの約43%(2024年時点)で使われているCMSです。
30分本文は無料で閲覧可
AIエージェント開発・自動化上級講座
AIエージェントの品質評価は、従来のソフトウェアテストとは異なるアプローチが必要です。
25分本文は無料で閲覧可
AI画像生成マスター - Midjourney & Stable Diffusion
2022年以降、AI画像生成技術は爆発的に進化し、テキストを入力するだけでプロ品質のビジュアルを数秒で生成できる時代が到来しました。
25分無料公開