AI 生成物のレビューと責任
AI が生成したコードの責任の所在と、コミット前・レビュー時に確認すること
責任の所在
AI が生成したコードも、コミットした人が書いたコードとして扱います。
- 自分で内容を説明できないコードはコミットしない
- PR のレビューは、AI が生成したかどうかに関係なく通常と同じ基準で行う(Pull Request 運用を参照)
- 動作確認は、AI の報告ではなく自分で実際に確認する
確認すること
AI が生成したコードでは、特に次の点を確認します。
- 機密情報の直書き: API キーやパスワードがコードに書かれていないか(フロントエンドでの API キーの扱いを参照)
- 依存パッケージの追加: 追加されたパッケージが実在し、ライブラリの管理ルールに沿っているか(ライブラリの利用を参照)
- ガイドラインとの整合: 本ガイドラインのコーディング規約やアクセシビリティの基準を満たしているか
- 不要な変更: 依頼した範囲の外のファイルや設定が変更されていないか
フロントエンドでの API キーの扱い
秘密の API キーをフロントエンドのコードに書いてはいけません。ブラウザ上のコード・ネットワークリクエスト・Source Map・ビルド成果物はすべて確認でき、公開と同じ状態になります。
// NG: フロントエンドに直書き
const apiKey = "sk-xxxxxxxx";
// OK: フロントエンドは自前のバックエンドを呼ぶ
await fetch("/api/chat", { method: "POST", body: JSON.stringify({ message }) });
// バックエンド側で環境変数から読む
const apiKey = process.env.OPENAI_API_KEY;