ADR-0023: レビューパッケージに結論を含めず、注意を狭める情報を後に置く
採用(2026-08-07)
コンテキスト
Section titled “コンテキスト”第8章 軸A は1〜2名の体制で独立レビューを外部へ依頼することを必須としているが、文脈を共有しないレビュアへ G-6 の SLA(応答1営業日・判定2営業日)をそのまま課すと、滞留か、中身を見ない承認のどちらかに倒れる。
支援の必要性は裏づけられる。Microsoft における観察・面談・調査の研究(2013年)では、コードレビューの中心的な課題は変更とコードの理解であり、開発者が用いる手段の多くは既存のツールで満たされていないと報告されている。
一方、支援そのものが検出能力を下げうることも確認した(research/phase4-standard/130-review-package.md)。
- 乳房 X 線画像の読影の実験(2004年、放射線科医8名・110症例)では、検出の手がかりを画像の表示と同時に提示した条件で、手がかりのない領域における異常の発見が一貫して減った。偽陽性率が高い条件では平均性能が有意に低下した。初回の解釈を終えた後に提示した条件では影響は小さいとされる
- 自動化された補助を用いる意思決定の研究では、補助が示さなかった事象の見落としは訓練で減らせなかった(補助の推奨への追従は訓練で減った)
- 読み方と視点を与える方式(Perspective-Based Reading)には先例がある。ただし後続の比較実験ではチェックリスト方式と同等の結果も報告されており、効果は一貫していない
「鵜呑みにしないこと」という注意書きや教育では防げない。構造で防ぐ必要がある。
- パッケージの内容を3区分し、結論を含めない。対応関係(事実)と観点(読み方)は含めてよい。「受入基準を満たしている」「問題は見つからなかった」といった判断は含めない
- 境界の判定規則を一文で定める。その記述が「レビュアが自分で確認しなくてよい」と読める場合、それは結論である
- 情報を「範囲を広げるもの」と「注意を狭めるもの」へ分け、前者を先、後者を後に置く。索引部(受入基準と差分の対応、影響範囲)はパス1の開始時、注意喚起部(過去の指摘、触れている設計標準、読む観点)はパス1の完了後とする
- AI の指摘の一覧をパッケージへ含めない。附属書C が認める事前レビューの指摘は、パス2で別の成果物として提示する。混ぜると、指摘のない箇所を「確認済み」と読ませる
- パス3(挙動要約)ではパッケージを閉じる。参照しながら書いた要約は、レビュア自身の理解の証明にならない
- 網羅性を主張しない一文を必須とする。「ここで挙げた箇所以外に問題がないことを意味しない」という但し書きを省略できない
- 生成を機械的な導出に限る。要約と評価を含めない。これにより妥当性の問題を「導出が正しいか」へ還元する
- 読む観点を自由記述で生成させない。領域と観点の対応表を組織が定め、そこから引く
- パッケージの誤りをレビュアの責任にしない。誤りは生成の不具合として記録し、スクリプトの改修の入力とする
- 効果を欠陥注入の検出率で検証し、下がった場合は撤去する。測定は工程単位で行い、個人単位の検出率を算出しない
- パッケージは恒久層コンテキストの整備を代替しない。記録がない組織では索引部しか生成できない旨を明記する
検討した選択肢
Section titled “検討した選択肢”- AI に変更の要約を生成させ、レビュアはそれを読んで確認する — 所要時間は最も短くなるが、要約は結論であり、レビュアの確認を代替する。附属書C が禁じている「AI 転記による挙動要約」と実質的に同じものになる
- パッケージを最初にすべて提示する — 実装は単純だが、2004年の実験が示すとおり、手がかりのない箇所の検出が下がる。所要時間だけが短くなり、検出能力は落ちる
- 注意書きと教育で副作用を防ぐ — 追加の実装は不要だが、見落としは訓練で減らせなかったという報告がある。追従は減らせても、示されなかった事象への対応は改善しない
- パッケージを設けず、外部レビュアには長い SLA を認める — 副作用は生じないが、レビューが滞留し、AI の生成速度を活かせない。滞留は第7章 7.5 の措置の対象になり、判定の帯域の問題として再燃する
- 観点を AI に自由記述で生成させる — 対応表の整備が不要になるが、自由記述には結論が混入する。「認可の観点で読む」と「認可の処理は適切に見える」の区別を、生成の時点で保証できない
- 効果の検証を利用者の満足度で行う — 導入は容易だが、第5章 5.7.6 が退けた構成である。効く仕組みほど主観評価が低くなる
- フェーズ5 に「レビューパッケージの自動生成」を新設した(sidebar.order 11)。社会実装計画を 11 から 12 へ繰り下げた
- 附属書C の「準備」に、索引部のみを開くことと、注意喚起部をパス1の前に開かない旨を追加した
- フェーズ5
ci-gates.mdに、G-5 のパイプラインからレビューパッケージを生成する旨を追加した - 新しいゲートを増やしておらず、記号も導入していない。パッケージは判定ではなく、実施の支援である
- 調査根拠は
research/phase4-standard/130-review-package.mdに記録した - 決定10 により、パッケージは撤去されうる制度として導入される。導入の判断と撤去の判断を同じ指標で行う
- 根拠とした2004年の実験は放射線読影を対象としており、コードレビューへの外挿は検証されていない。共通するのは探索課題としての構造のみである。検出率の数値を引用していない
- コードレビューにおける手がかりの提示時期を扱った実験、およびレビュー支援ツールの導入が検出率へ与える影響を測った対照実験は特定できなかった。決定3 の順序は、別分野の知見からの類推である
- 決定11 により、恒久層が空の組織ではパッケージの効果は限定される。外部レビュアの文脈不足は、記録されている範囲までしか埋まらない