open-code-review — 決定論的パイプラインとLLMを組み合わせたコードレビューCLI
alibaba/open-code-review
★ 50,639 ・ Go ・ Apache-2.0
概要
open-code-review(コマンド名: ocr)は、Gitリポジトリを対象にAIを活用したコードレビューを実施するためのCLIツールです。
もともとはAlibaba Group社内の公式AIコードレビューアシスタントとして開発されたもので、過去2年間にわたり数万人の開発者に利用され、数百万件のコード欠陥を検出してきた実績を持つとされています。大規模な実環境での検証を経て、コミュニティ向けにオープンソースプロジェクトとして公開されました。
汎用的なチャットAIやエージェントツールによるコードレビューでは、対象ファイルの見落としや行番号のズレ、プロンプトの揺らぎによるレビュー品質の不安定さが課題になりがちです。本ツールは、ルールベースの確実なファイル抽出や位置補正を行う「決定論的エンジニアリング」と、文脈に応じた柔軟な分析を行う「LLMエージェント」を組み合わせたハイブリッド設計を採用しています。
日常的なPull Requestのレビュー自動化を検討しているチームや、既存リポジトリ全体のコード監査を行いたい開発者に適したツールです。
主な特徴
-
決定論的処理とエージェントのハイブリッド構成
対象ファイルの選定や関連ファイルのグループ化、静的ルールの適用といった工程を決定論的なプログラムロジックで制御し、コードの理解や動的な探索をLLMエージェントに任せる分担設計となっています。 -
高精度な行レベルの指摘と位置補正
独立したコメント配置モジュールとリフレクションモジュールを備えており、レビューコメントの指摘内容だけでなく、対象となる行番号のズレ(Position Drift)を抑える工夫が施されています。 -
トークン消費の抑制と高い適合率
関連ファイルを束ねるサブエージェント分割や専用プロンプトにより、汎用エージェントと比較してトークン消費量を抑えつつ、誤検知(フォールスアラーム)の少ない高精度なレビューを重視したベンチマーク結果が報告されています。 -
Git差分レビューと全体スキャンに対応
作業ツリーの変更点やブランチ間の差分、特定コミットのレビュー(ocr review)だけでなく、Gitの変更履歴に依存せずリポジトリやディレクトリ全体を走査するスキャン機能(ocr scan)も備えています。 -
外部コーディングエージェントとの統合(Delegation Mode)
Claude Code、Cursor、Codexなどの既存ツール向けプラグインが提供されており、OCR側でLLM APIキーを設定せずにホスト側の環境を利用してレビューを実行することも可能です。
使い方
前提条件
- Git 2.41 以上(差分の生成やコード検索、リポジトリ操作にGitを利用するため必要となります)
インストール
npmパッケージとしてグローバルにインストールできます。インストールの完了後、ocr コマンドが利用可能になります。
npm install -g @alibaba-group/open-code-review
※このほか、READMEによれば公式ドキュメントにてインストールスクリプト、GitHub Releasesのバイナリ、ソースコードからのビルド手順も案内されています。
初期設定(LLMプロバイダの設定)
レビューを実行する前に、接続するLLMのエンドポイントとモデルを設定します。対話型のCLIインターフェースにより設定が可能です。
# プロバイダの選択または追加
ocr config provider
# 使用するモデルの選択
ocr config model
基本的なレビューの実行
対象のGitリポジトリへ移動し、目的に応じたコマンドを実行します。
cd your-project
# ワークスペース全体の変更(ステージ済み・未ステージ・未追跡)をレビュー
ocr review
# mainブランチから分岐したfeature-branchの変更差分をレビュー
ocr review --from main --to feature-branch
# 特定のコミット(ハッシュ指定)をレビュー
ocr review --commit abc123
# 中断したセッションの再開
ocr session list
ocr review --from main --to feature-branch --resume <session-id>
# 差分ではなくファイル全体をスキャン(コードベース全体の監査向け)
ocr scan
ocr scan --path internal/agent
# 結果をJSON形式でファイルへ保存
ocr review --format json --output result.json
また、独自のLLM設定を行わずにホスト環境のエージェントに処理を任せる「Delegation Mode」のサブコマンド(ocr delegate preview や ocr delegate rule)も用意されています。
技術的なポイント
READMEおよびリポジトリメタデータから読み取れる技術的な特徴は以下の通りです。
-
Go言語による実装
リポジトリの主要言語はGoとなっており、CLIツールとしての軽快な動作とクロスプラットフォームでの配布が意図されています。 -
多言語対応の組み込みルールセット
リポジトリの説明文によると、NullPointerException(NPE)、スレッドセーフティ、クロスサイトスクリプティング(XSS)、SQLインジェクションなどの脆弱性・不具合を検出するための組み込みルールセットが用意されています。ルール適用にはテンプレートエンジンベースのマッチングが採用されており、プロンプトのみに頼るよりも安定した動作を実現しています。 -
スマートファイルバンドリング(Smart File Bundling)
関連するファイル群(例: 言語ごとのリソースファイルなど)をひとつのレビュー単位にまとめ、独立したコンテキストを持つサブエージェントに割り当てる「分割統治」手法を採っています。これにより、大規模な変更差分でもコンテキスト溢れを起こさず、並行処理を安定して行う設計となっています。 -
OpenAI & Anthropic互換のエンドポイント対応
モデルプロバイダとしては、OpenAIやAnthropic互換のAPIエンドポイントを設定可能となっており、プロジェクトの要件に応じたLLMを選択できます。また、MCP(Model Context Protocol)サーバーとしての拡張機能もドキュメントで言及されています。
注意点
-
トレードオフとしての再現率(Recall)
ベンチマークの説明において、汎用エージェントと比較して精度(Precision)とF1スコアが高い反面、再現率(Recall)は意図的に低めの設計になっていると記されています。これはレビュー時のノイズ(誤検知)を減らし実用性を高めるためのトレードオフとされていますが、すべての軽微な問題を網羅的に検知したい用途では挙動に留意が必要です。 -
Gitのバージョン要件
内部処理でGitコマンドを多用するため、Git 2.41以上の環境が必須となります。古いCI環境などで動かす際はGitのバージョンを確認する必要があります。 -
ライセンス
本プロジェクトはApache-2.0ライセンスのもとで公開されています。
まとめ
open-code-review は、大規模開発での実践経験をベースに設計された、Go言語製のAIコードレビューCLIツールです。プロンプトだけに頼らず、決定論的なファイル制御や位置補正を組み合わせることで、ノイズの少ない正確なコードレビューを目指しています。CLI単体での利用はもちろん、既存のコーディングエージェントとの連携も可能なため、レビュー運用の自動化を検討する際の有力な選択肢となります。





