AI生成したコードを完全に理解すべき状況と、する必要ない状況の判別方法 (2026/5時点)
2026/2〜5の時点では、コードを完全に理解すべき状況は3つだと思っている
今後また変わるだろう
現状まだAIのセキュリティ関係の能力を信頼しきれないshokai.icon
何が機密情報かはアプリケーションやユーザー毎に違う
ドメイン知識を完全にAIに注入できるか次第で、今後は変わる
社内・社外の人間に説明する機会があるものは理解する必要がある
例:この機能ってIPアドレス制限でブロックされますよね? → 開発者は営業同席の場で、確信を持って即答できなければいけない。不信に繋がる。
3. その機能の上や隣に、機能を後から増築するもの AIで実装後、さらに増築をAIでやる場合に
こうなって困る
(具体的な関数名)の挙動をこう変更したいClaude Code.icon
えっその関数名知らないshokai.icon
「多分大丈夫だと思うから実装して」と返事したくなる欲求に駆られてしまう
機密情報を扱うかどうか、すら判断できなくなる
完全に理解する方法
それなりにちゃんと読む
理解しなくて良いケースの方はわかりやすいshokai.icon
1. 機密情報を扱わない
2. アルゴリズムを人間に説明する必要がない
3. 上に機能を増築しない
全部満たすならvibe coding結果を見なくて良い
と思ったけどまだ暗黙の前提あった。まあ下はAI以前からの話ですね
https://scrapbox.io/files/6a12f38765e24daf8cb3afed.png
サーバー側の実装は完全に理解しておく必要があるshokai.icon
サーバー側のAPIは、Personal Access Tokenを生成した初回だけ生のtokenをレスポンスする
それ以外は生tokenをレスポンスしない
DBは生tokenを保持しない
リスト表示用の先頭8文字と
こっちはHTTP APIでレスポンスする
照合用のhash化済みtokenだけを保持する
こっちをレスポンスに含むAPIは存在しない
その上で、設定画面をvibe codingした
初回生成した生tokenが、JavaScriptの変数としてどこまで生存しているか
これだけ完全に理解していればいいshokai.icon
今回はReactのfunction component内に存在期間を封じ込めた
componentの揮発と同時に機密情報は存在しなくなる
生tokenと、リスト用の先頭8文字以外は機密情報ではない
それ以外のUI部品のアルゴリズムを、人間に説明する機会は無い
この画面の増築はするかもしれないが、まあ大変な事にはならないだろう