blog.dopana

Back

AlibabaはAIコードレビューを社内で使っているだけではありません — 独自に構築し、数万人の開発者に提供し、2年間の本番運用で数百万件のコード欠陥を発見し、そしてオープンソース化しました。

Open Code Review(open-code-review)はAlibabaのAI搭載コードレビューCLIです。Gitのdiffを読み取り、変更されたファイルを設定可能なLLMエージェントに送信し、行レベルで正確な構造化レビューコメントを生成します。単純なプロンプトラッパーとは異なり、決定的なエンジニアリング制約と動的なLLM意思決定を組み合わせ、ファイルの見落としや行番号のずれといった古典的な落とし穴を防ぎます。

Open Code Reviewとは#

AI搭載のコードレビューを実行するCLIツールで、以下の機能を提供:

  • 行レベルの精密なレビュー — ファイルパスと行範囲に正確にマッピングされたコメント
  • ワークスペース&ブランチレビュー(ocr review)— staged、unstaged、untrackedの変更、ref間のdiff、単一コミット
  • 全ファイル監査(ocr scan)— Git diffなしでリポジトリ全体を監査。未知のコードベースやセキュリティ監査に最適
  • デリゲーションモード(ocr delegate)— 外部のAIコーディングエージェントが独自のLLMでレビュー。追加のAPIキー不要
  • セッション管理 — 中断されたレビューセッションの一覧、再開、リプレイ
  • CI/CD統合 — GitHub Actionsコンポジットアクション、GitLab CI、Gerritワークフロー

インストール方法#

npm install -g @alibaba-group/open-code-review
bash

要件:Git ≥ 2.41、Node.js ≥ 14。バイナリはGitHub Releasesとコンテナランナーでも提供。

設定#

ocr config provider # 組み込みプロバイダーまたはカスタムエンドポイントを選択
ocr config model # モデルを選択
bash

または環境変数:OCR_LLM_URLOCR_LLM_TOKENOCR_LLM_MODELOCR_USE_ANTHROPIC

動作の仕組み#

Open Code Reviewはハイブリッドアーキテクチャを採用 — 決定的エンジニアリングパイプライン+動的LLMエージェント。

決定的エンジニアリング(ハード制約)#

  • 精密なファイル選択とフィルタリング — レビューが必要なファイルをプログラム的に決定し、無関係なアセットを除外
  • スマートファイルバンドリング — 関連ファイル(ヘッダー/実装、対応するプロパティファイル)をグループ化し、サブエージェントに一貫性のあるコンテキストを提供
  • テンプレートエンジンルールマッチング — 自然言語だけでなくファイルパスに基づく厳格なルールパターンを適用
  • 外部位置決めとリフレクション — 専用の検証モジュールがコメントの行位置と内容の正確性を出力前に二重チェック

動的LLMエージェント#

  • シナリオに合わせたプロンプトテンプレート
  • 本番のコールトレースデータから蒸留された専用ツールセット
  • 動的なコンテキスト取得、コード検索、欠陥推論

この組み合わせが重要です:一般的なコーディングエージェントは大規模なチェンジセットでファイルのカバレッジが不完全になりがちで、位置ずれや品質の不安定さが生じます。Open Code Reviewはその精度に匹敵するか上回りながら、約9分の1のトークンしか消費せず、より高速に動作します。

CI/CD統合#

GitHub Actions#

コンポジットアクション(action.yml)が自動的に:

  1. プルリクエストまたはコメントイベントでトリガー
  2. リポジトリをチェックアウトしマージベースを計算
  3. ocr reviewを実行
  4. 診断アーティファクト(ocr-result.json)をアップロード
  5. インラインコメントとスティッキーPRサマリーを投稿

スマート投稿#

  • インクリメンタルコメント — 既存スレッドを更新する非破壊方式。スパムにならない
  • スティッキーPRサマリー — その場で更新
  • バッチ処理 — 大規模レビューを順次バッチ(例:50コメント/バッチ)に分割し、GitHub APIレート制限を尊重
  • 重大度ルーティング — 低重大度やスタイルの指摘をインラインコメントからPRサマリーへ移動

主要コマンド#

コマンド目的
ocr reviewワークスペースの変更、ref、コミットをレビュー
ocr scanリポジトリやディレクトリ全体を監査(diff不要)
ocr delegate外部AIコーディングエージェントにレビューを委任
ocr session listレビューセッションの一覧・再開・リプレイ
ocr configLLMプロバイダーとモデルを設定

ユースケース#

CIでの自動PRレビュー — GitHub/GitLabのマージリクエストでバグ、セキュリティ脆弱性、ロジック欠陥を自動検出。

レガシーコード&セキュリティ監査 — ocr scanでdiffなしでコードベース全体をコンプライアンスとアーキテクチャスメルについてレビュー。

ローカルコミット前チェック — push前にstaged/unstagedの変更を自己レビュー。

エンタープライズコード標準 — 大規模な多言語コードベースでチーム固有のレビュールールを適用。

比較#

側面Open Code Review一般的なコーディングエージェント静的解析(SonarQube, ESLint)
行精度✅ 正確⚠️ ずれのリスク✅ 正確
意味理解✅ LLM✅ LLM❌ パターンマッチ
トークン効率✅ 約1/9❌ 冗長N/A
ロジックバグの誤検出✅ 低い⚠️ 変動❌ 高い
全リポジトリ監査ocr scan⚠️ 限定的
プライバシー✅ 任意のLLMエンドポイント変動✅ オンプレミス
ライセンス✅ Apache 2.0変動変動

重要な理由#

Open Code Reviewは、本番で実証されたAIツールがオープンソース化される稀有なケースです:公開前に数万人の開発者による数百万件の欠陥発見という実績があります。そのハイブリッドアーキテクチャ — 精度のための決定的パイプラインと意味理解のためのLLMエージェント — は、信頼性の高いAI開発者ツールを構築するための設計図です。

そして完全なオープンソース&プライバシーファースト:ローカルホストモデルを含む任意のLLMエンドポイントを接続し、コードベースを完全にプライベートに保てます。

参考資料#