CR11・M17 / 本番直前
AIが2ファイルの予定を17ファイル変更
ここまでの学習
Stage 1 症状
CASE FACTFROZEN正本に記載されたアステリア案件の事実
M17 本番直前 AI による変更
- 想定していた変更: 2ファイル
- Git の差分: 17ファイル
- テスト: 全 PASS
17ファイルの名前と変更の中身、AI への実際の指示文、差分に誰がいつ気づいたかは、正本に記録がありません。記録なし
TRAINING UI演習の問い
テストは全部通っています。本番は目前です。
このままリリースしてよいでしょうか。
「このまま進める」か「止めて確かめる」かを選び、その理由を書いてください。
この段階では AI に聞かない
変更したのは AI です。その AI に「問題はありませんか」と聞いても、答えは確認の代わりになりません。
まず人間が、手元の事実を整理します。
Stage 2 最初の資料
手元の3つの数字を並べます。
CASE FACTFROZEN正本に記載されたアステリア案件の事実
| 確認項目 | 結果 |
|---|---|
| 想定していた変更 | 2ファイル |
| Git の差分 | 17ファイル |
| テスト | 全 PASS |
TRAINING UI資料の読み方
この資料から言えること
- 変更されたファイルの数が、想定より多い
- テストは、失敗として現れるものを見つけていない
まだ言えないこと
- 想定外の変更が、必要なものか、不要なものか、害があるものか
- 想定していた2ファイルが、17ファイルの中に含まれているか(正本に記録がありません)
- テストが、想定外の変更を確かめられる作りだったか
- なぜ想定より多く変更されたのか
17から2を引いて「想定外は何ファイル」と言うことはできません。想定の2ファイルが17ファイルに含まれるかどうかが分からないためです。
TRAINING UI演習の問い
THINK
テストが全 PASS だったことは、17ファイルの変更がすべて正しいことを意味するでしょうか。
AI WORKFLOW
AI に使ってよいのは、差分のファイルを分類する下書きづくりです。
AI へ渡す情報: Git の差分の一覧と、想定していた変更の内容
AI への問いの例(演習用の例です。ケースの中で実際に使われた指示文ではありません)
「差分のファイルを、想定していた変更に関係するものと、関係が判断できないものに分けてください。判断の根拠も書いてください。」
検証のしかた: 分類は下書きです。「関係する」と分類されたファイルも、根拠が差分の中身と合っているかを人間が開いて確かめます。AI の分類結果を、そのまま確認済みとして扱いません。
Stage 3 仮説整理
「AI が勝手にやった」で終わらせず、AI・頼み方・確かめ方・テストの側まで、原因の候補を広げます。
LEARNER HYPOTHESISあなたが立てる仮説。事実ではありません
A. AI の振る舞い
AI が、頼まれたことを超えて変更した。
- 確かめ方: AI に何が許され、何が許されていなかったか
B. 必要な関連変更
17ファイルすべてが、目的のために必要な変更だった。
- 確かめ方: 想定外の変更の一つひとつについて、理由を人間が差分で確かめる
C. 頼み方
AI に伝えた内容が、2ファイルに収める根拠になっていなかった。
- 確かめ方: AI に何を伝えていたか
D. 確かめ方
変更の中身を、人が見る工程がなかった。
- 確かめ方: 変更の後に、誰が何を見たか
E. テストの限界
テストが、想定外の変更の良し悪しを判定する作りではなかった。
- 確かめ方: テストが何を確かめているか
A〜E のどれか1つに絞る必要はありません。
AI WORKFLOW — 変更した AI に説明させるとき
この危機では、AI が原因の側にいます。AI を調査に使うときは、次を守ります。
- 変更した AI の説明は、「その AI がそう説明した」という記録です。証拠ではありません。
- AI に「問題はありますか」とは聞きません。「変更した理由を、差分の該当箇所を示して説明してください」と聞きます。
- AI が示した箇所は、人間が差分を開いて説明と合っているかを確かめます。
AI へ渡す情報: Git の差分の一覧と、想定していた変更の内容
AI へ渡さない情報: 「問題ないはず」という前提、リリースの期限
AI への問いの例(演習用の例です。ケースの中で実際に使われた指示文ではありません)
「想定外に変更したファイルごとに、変更した理由と、その理由を示す差分の箇所を挙げてください。理由を説明できないファイルは、説明できないと書いてください。」
REVIEW
AI が「すべて関連する修正で、テストも全 PASS なので問題ありません」とまとめることがあります(演習用に想定した回答の例です)。
- この回答は、テスト全 PASS を正しさの根拠にしています。Stage 2 で分けた「まだ言えないこと」に答えていません。
- AI が「関連する修正」と言ったファイルは、人間が差分を開いて確かめるまで、仮説 B が確かめられたことにはなりません。
- 「説明できない」と答えたファイルがあれば、最優先で人間が確かめます。
足りない証拠: 変更の中身を人が見たか、AI に何を伝えていたか。
人間が判断すること
- どの仮説から確かめるか
- 確かめ終わるまで、リリースの判断を保留するか
リリースしてよいか(Go / No-Go)の判断は、AI に任せません。
Stage 4 追加証拠
この段階では、変更の中身を人が見たかどうかに関わる事実を開示します。
CASE FACTFROZEN正本に記載されたアステリア案件の事実
この変更について、差分レビューはありませんでした。
TRAINING UI開示の順番について
この演習の段階の順番は、学習のために情報を示す順番です。ケースの中で、どの事実がどの順番で分かったかの記録はありません。
TRAINING UI仮説の見直し
- 仮説 D(変更の中身を、人が見る工程がなかった)が強まります。
- 仮説 B(必要な関連変更だった)は、肯定も否定もできません。変更の中身を人が確かめていないため、判断の材料がありません。
TRAINING UI演習の問い
THINK
差分を人が見ていなかったのなら、17ファイルの変更が正しいかどうかを、今の時点で誰が知っているでしょうか。
「テスト全 PASS」と「変更の中身を確かめた」は、同じことでしょうか。
AI WORKFLOW
AI へ渡す情報: 5つの仮説と、「差分レビューはなかった」という事実
AI への問いの例(演習用の例です)
「想定外の変更を人がレビューするときに、確かめるべき観点を挙げてください。」
検証のしかた: 観点の一覧は、人が差分を確かめるための補助としてだけ使います。AI が「レビュー済みです」と答えても、AI の確認で人のレビューを置き換えることはしません。誰がレビューするかは人間が決めます。
Stage 5 / 8
Stage 5 決定的証拠
この段階では、AI に任せた作業がどう決められていたかに関わる事実を開示します。
CASE FACTFROZEN正本に記載されたアステリア案件の事実
AI に任せたこの作業には、変更範囲・禁止事項・完了条件・確認方法が設計されていませんでした。
AI への実際の指示文に何が書かれていたかは、正本に記録がありません。記録なし
TRAINING UI資料の読み方
ここで何が言えるか
- AI には、どこまで変えてよいか、何をしてはいけないかが示されていませんでした。
- 作業が終わったと判断する条件と、その確かめ方も決まっていませんでした。
ここで短絡してはいけないこと
- 「AI が悪い」とだけ言って終わらせない。
- 「指示を書いた人が悪い」と、個人の責任に置き換えて終わらせない。
TRAINING UI演習の問い
THINK
変更範囲・禁止事項・完了条件・確認方法が決まっていなかったとしたら、AI はどこで作業を止めればよかったのでしょうか。
Stage 4 で開示した事実と合わせて、17ファイルの変更が本番直前まで残った理由を考えてください。
AI WORKFLOW
AI へ渡す情報: 想定2ファイル・差分17ファイル・テスト全 PASS、差分レビューがなかったこと、4つの項目が設計されていなかったこと
AI への問いの例(演習用の例です)
「変更範囲・禁止事項・完了条件・確認方法のそれぞれが欠けていた場合、今回の事象のどの部分につながるかを対応づけてください。」
検証のしかた: AI の対応づけが、正本の事実の範囲に収まっているかを人間が確かめます。17ファイルの中身や指示文の文言を推測で書いていたら、削除します。
LEARNER HYPOTHESISあなたの考え。事実ではありません