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あなたの考え。事実ではありません

Stage 5 の記録

既定では保存しないため、ページを離れると消えます。