AIが生成したコードを、読んで検証して直す
生成されたコードをそのまま通さず、根拠を持って問題を指摘し、修正できるようになる。
- 所要の目安
- 3.8時間
- 6手順・分けて進めて構いません
- 費用
- 0円
- 新しい契約や有料講座は不要
- 手元に残るもの
- (1)生成されたコード、(2)4観点で見つけた問題の一覧、(3)落ちるテスト、(4)修正後のコード、(5)仕様の曖昧さと、明示すべきだった点のメモ。この5つが手元に残ります。
始める前に
必要なもの
- ・1つの言語で、自分でテストコードが書けること
- ・生成AIを使える環境(無料枠で足ります)
- ・業務コードは使いません。演習用の小さな題材で行います
費用の前提
無料の範囲で完結します。生成AIの無料枠と、手元の開発環境があれば足ります。
機密情報を使わずに試すには
題材は自分で決めて構いませんが、次のような「一見単純だが境界が多い」ものが向いています。日付の期間が重なるかを判定する関数、金額を分割して端数を配分する関数、CSVの1行を解析する関数。業務コードは使わないでください。
手順
1題材を決めて、生成AIに書かせる
目安 20分仕様を3〜5行で書き、実装させます。このとき仕様をわざと完全には書かないでください。曖昧な仕様に対して生成AIが何を勝手に決めるかを見ることが、この演習の目的の一つです。
2読んでから動かす
目安 30分実行する前に、まず読んでください。動かして通ってしまうと、読む動機が消えます。何をしているコードか、他人に説明できる状態にしてから次へ進みます。
34つの観点で問題を探す
目安 60分境界値(空・0・最大・最小・同値)、エラー処理(失敗したときに何が起きるか)、入力検証(想定外の入力をどう扱うか)、並行性(同時に呼ばれたらどうなるか)。観点を決めて読むと、漫然と読むより確実に見つかります。見つけた問題は箇条書きにしてください。
4見つけた問題を、落ちるテストとして書く
目安 45分「たぶんバグ」で終わらせず、テストで再現します。落ちることを確認して初めて、それは問題として確定します。ここを飛ばすと、思い込みで直してしまいます。
5直して、テストが通ることを確認する
目安 45分自分で直しても、生成AIに直させても構いません。ただし直したコードも同じ4観点で読み直してください。修正が別の問題を作ることはよくあります。
6仕様の曖昧さを書き出す
目安 30分最初の仕様のどこが曖昧で、生成AIが何を勝手に決めたかを書き出します。実務でAIを使うとき、事故の多くはここから起きます。何を明示すべきだったかが、そのまま指示の書き方の改善点になります。
できたかどうかの確かめ方
- 見つけた問題が、テストとして再現できているか
- 修正後、すべてのテストが通るか
- 修正が別の問題を作っていないか、同じ4観点で読み直したか
- 仕様のどこが曖昧だったかを、具体的に指摘できるか
注意
- ・業務コードや社内の設計情報を生成AIに入れないでください。演習は公開しても差し支えない題材で行います。
- ・テストが通ることは、正しいことの証明ではありません。テストが観点を網羅しているかは別に考える必要があります。
- ・このガイドは「AIを使うな」という話ではありません。生成させたうえで、通す前に読める人になるための練習です。