ハーネスエンジニアリングのプラクティス
P20. 可読性とキャリブレートされた不確実性をSLOにする
🎯 ポイント
生成が安価になった今、真のボトルネックは「人間のレビュー時間」です。差分は正しさだけでなく、レビューしやすさに対しても最適化すべきです。
📝 概要
差分は正しさだけでなくレビュー時間に対しても最適化します。小さく焦点の合ったPR、「なぜ」を語る説明、危険箇所の明示。さらにエージェントには「自信のない箇所」を明示出力させ、ハーネスがそこを追加検証や人間レビューへ振り分けます。偽の自信より較正された不確実性の方が価値が高いです。
🔍 解説
エージェントの生成速度が上がるほど、ボトルネックは「コードを書く」から「コードをレビューする」に移ります。巨大なPR、説明のない変更、自信満々だが実は不確かな実装。これらはレビュアーの時間を爆発的に消費します。可読性をSLO(サービスレベル目標)として扱い、PRサイズ・説明の有無・変更理由の明記を測定・最適化することで、全体のスループットが向上します。また、エージェントに「ここは自信がない」「この部分は人間に確認してほしい」と明示させることで、レビュアーは重要な箇所に集中できます。これは自律エージェントの信頼性を高める最も見落とされがちな施策です。
🛠 実践方法
・PRテンプレートに「変更理由」「確信度(高/中/低)」「レビュー重点箇所」の欄を設け、エージェントに必ず記入させます
・PRサイズの上限を設定し、超過した場合は分割を強制します
・エージェントの出力に「自信のない箇所」のマーカーを要求し、ハーネスがそこを追加検証へ振り分けます
・レビュー時間をPR単位で計測し、レビュー時間が長い原因(巨大差分・説明不足等)を特定して改善します
💼 ユースケース
・issue-to-PRエージェントが、PRに変更理由と確信度マーカーを含める場面
・コードレビューエージェントが、低確信の瑣末指摘を抑制し、人間が見落とす種別に集中する場面
・マイグレーションで、各ユニットのPRを小さく焦点を絞り、レビュアーの負荷を分散する場面
⚠ 落とし穴
可読性を追求しすぎると、エージェントの出力が過度に保守的になります。また、「不確実性の表明」がノイズになるリスクもあります。「すべてに自信がない」と表明するエージェントは役に立ちません。較正が重要で、本当に不確かな箇所だけを正確にマークできることが価値です。レビュー時間の測定も忘れずに。PRスパムや巨大差分がレビュー帯域を圧迫していないかを定量的に把握することが改善の出発点です。
#
HarnessEngineering# #
CodeReview#