Git Diff を超えて: Stage CLI で AI 生成コードレビューをシンプルに
AI コーディングエージェントの台頭は、コードの書き方を根本的に変えましたが、新たなボトルネックとしてレビュー工程が生まれました。エージェントが単一の機能を実装するためにリポジトリ内の何十ものファイルを変更すると、結果として得られる git diff は、論理的な意図ではなくファイルパスで整理された混沌とした変更の散在になります。開発者にとっては、コードを実際にレビューするよりも、エージェントのロジックを頭の中で再構築する時間が増えることを意味します。
この課題を解決するために、Charles と Dean は Stage CLI を導入しました。これは、AI が生成した変更と人間の理解の間のギャップを埋めることを目的としたオープンソースツールです。従来のリポジトリツリー順の diff から離れ、Stage CLI は「章」的な体験を提供し、開発者が構造化された物語的な流れで変更をレビューできるようにします。
従来の Diff の問題点
標準的な IDE や CLI ツールでは、diff はファイルのリストとして提示されます。AI エージェントが src/utils/ のユーティリティ関数、src/components/ のコンポーネント、そして tests/ のテストを更新した場合、これらの変更はファイルシステムの構造によって分離されます。レビュアーは単一の論理的変更を理解するために、ファイル間を行き来しなければなりません。
As one Hacker News user, @hajekt2, noted:
"AI が生成したコードでは、レビューが最も難しい部分です。エージェントがさまざまな理由で複数のファイルを変更すると、通常の git diff は乱雑になります。変更を「章」にグループ化するという考えは正しいように思えます。"
Stage CLI の仕組み
Stage CLI は既存の AI ワークフローにローカル拡張として機能します。コーディングエージェントを置き換えるのではなく、エージェントに特定のタスクを実行させます。
- Analyze Changes: エージェントは現在のブランチの変更を読み取ります。
- Logical Decomposition: エージェントはコード変更の意図に基づき、ファイルの場所ではなく、別々の論理的な「章」に分割します。
- Browser-Based Review: ツールはこれらの章をローカルブラウザで開き、コードレビューのためのリッチなビジュアルインターフェースを提供します。
このアプローチにより、開発者は実装の「ストーリー」に沿って進めることができます—たとえばデータモデルの変更から始め、ビジネスロジックへ、そして UI の更新で終わる—どのファイルが変更されたかに関係なく。
コミュニティのフィードバックと視点
Stage CLI の導入は、AI 生成コードの取り扱い方法について開発者間で活発な議論を呼び起こしました。
「CLI」対ブラウザの議論
議論の一点はツールの提供方法です。「CLI」と呼ばれていますが、実際にはブラウザベースの体験を起動します。@adamtaylor_13 や @tim-projects などのユーザーは、ターミナルネイティブな体験を好むと述べ、ターミナルを離れる摩擦が一部のパワーユーザーにとって障壁になる可能性があると指摘しています。
論理的グルーピングの価値
インターフェースの好みは別として、論理的グルーピングという 概念 が非常に価値があるという強い合意があります。類似の TUI ツール Parley を作った @pi-victor は、彼らのツールは diff にコメントできるものの、Stage CLI が提供する「章」構成が欠けていると認めました。
パフォーマンスとスケール
大規模な変更を扱う単独開発者にとって、パフォーマンスは重要な要素になります。ユーザー @ihatemodels は、GitHub のウェブ UI でコミットをレビューし、コメントを Claude Code にフィードバックするワークフローを共有しました。数百行から数千行に及ぶコミットでは、UI のパフォーマンスと仮想化(ウィンドウイング)が不可欠で、ツールが使えなくなるのを防ぐと指摘しています。
AI レビューの未来
Stage CLI に関する議論は、より大きなトレンドを示しています――レビューにおける「ソクラテス式」手法の必要性です。AI エージェントがますます高度になるにつれ、エンジニアリングリーダーの目標は単にバグを捕まえることから、人間と AI がシステムを深く理解し続けることへとシフトします。
@mkw5053 が示唆したように、課題は出荷速度と品質を最大化しつつ、ジュニアが「より有能になる」ことを保証することです(単に生産性が上がるだけでなく)。Stage CLI のようなツールはこの方向への第一歩であり、レビュー工程を diff をざっと見る作業から、構造化された教育的かつ品質保証的な取り組みへと変革します。