AIが書いたコードを確認する方法。初心者向けチェックリスト
AIが生成したコードを実行する前に、目的、変更範囲、秘密情報、安全性、テストを確認する手順を解説します。
AIが作ったコードは、すぐに使える形に見えても、必ず正しいとは限りません。
自分で1行ずつ書いていないからこそ、「何を変えるか」「どこへ影響するか」を実行前に確認します。
最初に目的を一文で言う
コードを見る前に、必要な動作を一文にします。
入力された2つの整数を足し、結果を画面へ表示する。
目的が曖昧なままでは、コードが正しいか判断できません。入力と出力の例も用意すると確認しやすくなります。
入力: 2, 3
期待する出力: 5
分からない行を残さない
関数、変数、外部ライブラリの役割を説明できるか確認します。分からない部分はAIへ質問できますが、その説明も別の資料で確かめましょう。
難しい言葉は、プログラミング基本用語や各言語の入門記事から調べられます。
危険な処理を探す
次の処理が含まれる場合は、目的と対象を特に注意して確認します。
- ファイルの削除や上書き
- 管理者権限の要求
- 外部サイトへのデータ送信
- 知らないパッケージの追加
- 入力した文字列を命令として実行する処理
大切なファイルがある環境で、内容の分からないコードを試してはいけません。
秘密情報が入っていないか
パスワードやAPIキーをコードへ直接書くと、Gitの履歴や画面共有から漏れる可能性があります。
秘密情報は環境変数など、利用するサービスが推奨する方法で管理します。誤って公開した場合は、ファイルから消すだけでなく、キーを無効化して再発行します。
安全な入力については生成AIを安全に使う基本でも説明しています。
小さなテストを作る
普通の値だけでなく、境目や想定外の値も試します。
たとえば割り算なら、正の数、負の数、0、数値以外の入力を考えます。すべてのケースを最初から網羅できなくても、少なくとも正常な例と失敗する例を1つずつ用意します。
エラーが出たら、全文を読み、発生した行と入力を記録します。初心者向けエラーの読み方の手順が使えます。
変更点を見てから採用する
既存プロジェクトへ加える場合は、Gitの差分を確認します。
git status
git diff
差分は、変更前と変更後の違いです。依頼していないファイルまで変わっていないか、削除された処理がないかを見ます。問題がなければテストを実行し、その後にコミットします。
練習:危険な点を見つける
次のPythonコードの問題を探し、整数を受け取る形へ直してください。
calculation = input("計算式: ")
print(eval(calculation))
模範解答
first = int(input("1つ目の整数: "))
second = int(input("2つ目の整数: "))
print(first + second)
解説
evalは、入力文字列をPythonの式として実行します。利用者が自由に入力できる場所で使うと、意図しない命令まで実行される危険があります。
模範解答は用途を「2つの整数の足し算」に絞り、文字列をintで整数へ変換しています。数値以外が入力されたときのエラー処理を加えると、さらに安全で使いやすくなります。
最終チェック
- コードの目的を一文で説明できる
- 入力と期待する出力が決まっている
- 分からない行を調べた
- 削除、上書き、外部送信を確認した
- 秘密情報が含まれていない
- 小さなテストを実行した
- Gitの差分を確認した
AIは下書きを速く作る道具として使い、採用する判断は人が行いましょう。