ai-technology

AI開発でレビューすべき差分・設定・依存関係

AI開発でレビューすべき差分・設定・依存関係

はじめに

AI 生成コードをレビューするときは、差分・設定・依存関係を特に注意深く確認する必要があります。本記事では、レビューポイントを説明します。

レビューポイント 1:差分(git diff)

確認項目

□ 意図しない削除がないか
  AI がコメント・ドキュメントを削除した
  
□ ロジックの意図は明確か
  複雑な修正は説明が必要
  
□ パフォーマンスに問題ないか
  O(n^2) アルゴリズムになっていないか
  
□ 副作用がないか
  元のデータを修正していないか

実装例

❌ 問題のある差分:
- # This function calculates the average
- def calculate_avg(data):
+ def calculate_avg(data):

問題:
- ドキュメント削除
- 型注釈削除
- 複雑性増加

レビューポイント 2:設定ファイル

確認項目

□ .env ファイルは .gitignore に入っているか
  機密情報が repository に入らない

□ requirements.txt は正しいか
  古いバージョン、脆弱性がないか
  
□ config.yml は正しいか
  本番環境設定が間違っていないか
  
□ .gitignore は完全か
  ローカルキャッシュ、ログが除外されているか

チェックリスト

✅ 正しい例:

# .gitignore
.env
.env.local
__pycache__/
*.pyc
.pytest_cache/
.coverage

# requirements.txt
requests==2.28.1
pytest==7.2.0
black==23.1.0

レビューポイント 3:依存関係

確認項目

□ 新しいライブラリを追加していないか
  既存ライブラリで実装できないか再検討
  
□ ライブラリバージョンは安全か
  脆弱性ないか、サポート状況は
  
□ ライセンスは確認したか
  GPL など制限ないか
  
□ 依存関係の依存関係(transitive)はチェック
  pip-audit で脆弱性スキャン

実装例

❌ 問題ある例:

# requirements.txt に新しいライブラリ追加
+ numpy==1.16.0  # 3年以上前、脆弱性ある

✅ 正しい例:

# 既存ライブラリで実装、バージョンは最新
# numpy を避けて、標準 list で実装
def process_data(data: list) -> float:
    return sum(data) / len(data) if data else 0.0

一体型レビューフロー

【差分確認】
git diff で全変更を確認

【設定確認】
.env, config.yml, .gitignore をチェック

【依存関係確認】
requirements.txt, pip-audit をチェック

【統合確認】
すべてが一貫しているか確認

【承認】
OK なら merge
NG なら修正指示

よくある見落とし

1. 差分
   - コメント削除
   - 型注釈削除
   - 複雑さ増加

2. 設定
   - .env が repository に含まれた
   - 本番環境設定が間違っている
   - .gitignore が不完全

3. 依存関係
   - 古いバージョンのライブラリ
   - 新しい脆弱性あるライブラリ
   - 不要なライブラリ追加

まとめ

AI 開発のレビュー(差分・設定・依存関係):

差分レビュー

設定レビュー

依存関係レビュー

Claude Codeの実装結果を人間がレビューする観点と合わせることで、安全な deployment が実現します。