AI任せのコードレビューを卒業する。1,400行のdiffから「怪しい1行」を3秒で見抜く方法
AI(Claude Codeなど)に任せたコーディング、最高ですよね。いわゆる「Vibe Coding」です。でも、その後のレビューはどうしていますか?
23ファイル・1,400行のdiffを前にして、結局 「LGTM(雰囲気でよしなに!)」 と打っていませんか? どこが危ないか分からないまま、1行目から漫然と読み進めるのは、人間の貴重な集中力の浪費です。
実は、AIは 「どこが危ないか」や「どこを省略したか」を、書きながら既に自白しています。 私たちが、その「独り言」を聴く手段を持っていなかっただけなのです。
AIの「Thinking Block」という名の密告
Claude Codeなどが動作する際、画面には出ない内部モノローグ(思考プロセス)が存在します。これが Thinking Block です。
AIはコードを出力する直前、こんなふうに「ヘッジ(予防線)」を張っています。
「このマイグレーション、外部キー制約の順序が怪しいかも…」
「非同期フラッシュが壊れる可能性があるけど、一旦実装しちゃおう」
AIは不安を感じている。でも、最終的に出てくるのは完璧な顔をしたコードです。
新ツール h5i (ハイ・ファイブ) は、この埋もれた「AIの不安」を掘り起こし、レビューの優先順位を可視化します。
視覚的インパクト:3秒でリスクを把握する
h5i を実行すると、ターミナルに「不確実性のヒートマップ」が現れます。
h5i notes analyze # セッションログを解析
h5i notes uncertainty # 不安要素をヒートマップ表示
▼ 出力結果のイメージ
── Uncertainty Heatmap ─────────────────────────────────────────────
9 signals · session a3f8c12d · 4 files
Risk Map
──────────────────────────────────────────────────────────────────────────
src/db/migrations.rs ████████████░░░░ ●●● 3 signals avg 28%
src/db/connection_pool.rs ██████░░░░░░░░░░ ●● 2 signals avg 38%
src/repository.rs ████░░░░░░░░░░░░ ● 1 signal avg 45%
tests/integration_test.rs ░░░░░░░░░░░░░░░░ ● 1 signal avg 62%
Timeline
t:12 ──────────────────────────────────────────────────────────── t:87
··············█···············▓·········█··█·····················░·····
↑t:18 ↑t:34 ↑t:52↑t:55
Signals
──────────────────────────────────────────────────────────────────────────
⚠ HIGH src/db/migrations.rs · t:18 · "might break" · 20% confidence
"…might break the rollback if the constraint was partially applied
on a previous failed run…"
⚠ HIGH src/db/migrations.rs · t:52 · "not sure" · 25% confidence
"…not sure whether the index creation here should be inside or
outside the transaction boundary…"
▲ MOD src/db/connection_pool.rs · t:34 · "assuming" · 50% confidence
"…assuming the pool max is set before the first acquire call,
but I should verify this…"
これさえあれば、**「全部見る」から「危ない順に見る」**へ、レビューの戦略が180度変わります。
-
migrations.rsはAIが明らかに不安を感じていた箇所 — 高リスク信号が2つ、平均信頼度28% - タイムラインを見ると、不確実性の信号はターン18・52・55あたりに集中している。セッション終盤ではなく中盤に不安のピークがあった
- 個々のシグナルには、AIが何を不安に思っていたかが思考ブロックからの引用付きで表示される
diffを1行も読まずに、どこから手をつけるべきかわかるのです。
なぜこれが「救世主」なのか
従来のレビューは対称的でした。1,000行あれば1,000行に均等に注意を払う。
しかし、AIの生成コードは非対称です。
- 確信領域: 何万回も学習した、絶対に間違えない定型パターン。
- 迷い領域: プロジェクト固有の文脈や、複雑な制約にAIが「迷い」ながら書いた部分。
h5i は、あなたのリソースを後者に集中させます。AIが自信満々に書いた部分はサッと流し、AIが「要確認」とメモした部分に、人間の知性をフル投入する。
これこそが、AI時代の正しい「人間とAIの協調」です。
AIが「不安」を感じるキーワード
h5i は、Thinking Block内の「自己疑念フレーズ」を検出し、信頼度をスコアリングしています。
| AIの独り言 | リスクレベル |
|---|---|
"might be wrong", "not sure"
|
高(赤) |
"might break", "risky"
|
高(赤) |
"assuming", "maybe"
|
中(黄) |
"need to check", "should verify"
|
中(黄) |
これは単なる感情分析ではありません。**AIが自ら行った自己キャリブレーション(自己評価)**を、私たちが利用可能な形に構造化しているだけなのです。
ワークフロー:導入は10秒
開発サイクルを変える必要はありません。
- AIが仕事を終える(Claude Code等)
-
h5i notes analyzeでログを解析 -
h5i notes uncertaintyでヒートマップを確認 - 赤くなっている箇所から、真っ先にレビューを始める
これだけで、バグの生存率は劇的に下がります。
仕組み
h5iはClaude Codeのセッションログ(.jsonlファイル)を読み込みます。このファイルにはセッション中のすべてのメッセージ、ツール呼び出し、thinking blockが記録されています。リポジトリの最新セッションは自動検出されるので、パスを手動で渡す必要はほとんどありません。
解析結果は .git/.h5i/ にコミットOIDと紐づけて保存されるため、過去のコミットのheatmapも遡って確認できます:
h5i notes uncertainty --commit a3f8c12
h5i pull でh5iデータを取得したチームメンバーも、自分が立ち会っていなかったセッションの解析結果を同様に参照できます。
はじめ方
# h5i をインストール(ビルド手順は github.com/koukyosyumei/h5i 参照)
cargo install --path .
# リポジトリを初期化
h5i init
# 次のClaude Codeセッションのあとに:
h5i notes analyze
h5i notes uncertainty
最後に
h5i はオープンソースです。uncertaintyヒートマップは複数のセッション解析機能のうちの一つで、他にもカオスチェーンの再構築、ファイルチャーン追跡、AIによるレビューポイント自動提案といった機能があります。
気になった方はぜひリポジトリにスターを付けたり、Issueやプルリクエストを送ってみてください!!