Open Code Review 入門 — Alibaba製ハイブリッドAIコードレビューCLIを実務で使う
Open Code Review(ocr)は、Alibaba が2026年にオープンソース化したAIコードレビューCLIです。GitHub Trending の週間急上昇ランキングで大きく星を伸ばしており、社内で数万人の開発者に使われてきたレビュー基盤がベースになっている点が特徴です。単なるLLMラッパーではなく、「決定論的な処理」と「LLMエージェント」を役割分担させたハイブリッド設計を採っており、自分もCIに組み込んで試したところ、以前紹介した Claude Code Security Review とは違うアプローチだと感じたので、セットアップから実務での活用パターン、比較検証まで整理します。
Open Code Review とは — Alibaba製ハイブリッドAIコードレビューCLI
Open Code Review は Git の差分(diff)やファイル全体を解析し、行単位の構造化されたレビューコメントを生成する CLI ツールです。Apache-2.0 ライセンスで公開されており、npm パッケージ名は @alibaba-group/open-code-review、CLI コマンド名は ocr です。
アーキテクチャの核は次の2層に分かれています。
- Deterministic Engineering(決定論的処理): 対象ファイルの選定、関連ファイルのバンドリング、ルールマッチング、コメントの挿入位置決定といった「LLMに判断させる必要がない処理」をハードコードのロジックで処理する層
- Agent-Driven Dynamics(エージェント駆動処理): シナリオごとにチューニングされたプロンプトと専用ツールセットを使い、コンテキスト取得や最終的な判断を LLM エージェントに任せる層
公式ベンチマークでは、50のOSSリポジトリ・200件の実PR・10言語を対象に、80名以上のシニアエンジニアが1,505件の課題をアノテーションして評価しており、同一モデルを使った汎用エージェントと比較して「Precision・F1スコアが高く、トークン消費量は約1/9」という結果が示されています。数字はベンダー公表値である点は差し引いて見る必要がありますが、設計思想自体は「LLMに何でもやらせない」という実務的な割り切りとして理解しやすいものです。
インストールと初期セットアップ
Node.js 14 以上が動く環境であれば、npm から一発でインストールできます。
npm install -g @alibaba-group/open-code-review
# バージョン確認
ocr --version
インストール後、対話形式で LLM プロバイダーとモデルを設定します。OpenAI・Anthropic 互換のエンドポイントに対応しており、接続テストも自動で行われます。
# プロバイダーを選択(OpenAI / Anthropic 互換など)
ocr config provider
# 使用するモデルを選択
ocr config model
社内プロキシ環境で使う場合は、他ツールと同様に HTTPS_PROXY などの環境変数がそのまま効きます(この点は以前の記事「開発ツール別プロキシ設定まとめ」も参照してください)。
基本的な使い方 — review / scan / delegate の3モード
Open Code Review には用途別に3つの実行モードがあります。
review — 差分ベースのレビュー
もっとも使う頻度が高いモードです。ワークスペースの未コミット変更、あるいはブランチ間の差分をレビューします。
# ワークスペースのstaged/unstaged変更をレビュー
ocr review
# ブランチ間の差分をレビュー
ocr review --from main --to feature-branch
# 特定コミットをレビュー
ocr review --commit abc123
# 結果をJSONで出力(CI連携向け)
ocr review --format json --output result.json
scan — Git履歴に依存しないフルファイル監査
新規に導入したリポジトリや、差分だけでは文脈が把握しづらい大規模な既存コードに対しては scan を使います。
# 対象ディレクトリ全体を監査
ocr scan --path internal/agent
delegate — 外部コーディングエージェントへの委譲
Claude Code・Codex・Cursor・Kimi Code などの外部コーディングエージェントに、Open Code Review 側の API キー設定なしでレビューを実行させるモードです。CI以外の場面で、普段使っているエージェント経由でルールセットだけ流用したいときに使えます。
ocr delegate preview
CI/CDへの組み込み方
公式は GitHub Actions・GitLab CI・GitFlic CI・Gerrit をサポート対象として挙げています。専用の Marketplace Action を使わなくても、CLIを直接呼び出すだけでPRレビューを自動化できます。GitHub Actionsに組み込む場合の骨組みは次のようになります(LLMプロバイダーのAPIキー環境変数名や非対話設定の詳細は、公式ドキュメントの Configuration / CI-CD Integration ページで最新の仕様を確認してください)。
# .github/workflows/ocr-review.yml
name: Open Code Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Open Code Review
run: npm install -g @alibaba-group/open-code-review
# LLMプロバイダーの認証情報は公式ドキュメントの
# Configuration ページに従い、CIシークレット経由で設定する
- name: Review PR diff
run: |
ocr review --from origin/${{ github.base_ref }} \
--to HEAD \
--format json \
--output ocr-result.json
シークレットの受け渡し方はLLMプロバイダーやランナー環境によって調整が必要です。実際に導入する際は、まずPRコメント投稿までは自動化せず、--output でJSONを吐かせてArtifactに残すところから始めると安全に検証できます。
Claude Code Security Review との比較検証
以前の記事「Claude Code Security Review 実践ガイド」で紹介した Anthropic 製の GitHub Action と、設計思想が対照的なので比較してみます。
| 観点 | Open Code Review | Claude Code Security Review |
|---|---|---|
| スコープ | NPE・スレッドセーフ・XSS・SQLインジェクションなどを含む汎用コードレビュー | セキュリティ脆弱性の検出に特化 |
| アーキテクチャ | 決定論的パイプライン + LLMエージェントのハイブリッド | PR差分をLLMが意味論的に解析するエージェント型 |
| 実行形態 | ローカルCLI(ocr)としても、CIジョブとしても実行可能 | GitHub Action前提 |
| 対応CI | GitHub Actions・GitLab CI・GitFlic CI・Gerrit | GitHub Actions |
| エージェント連携 | delegateモードでClaude Code・Codex・Cursor等に処理を委譲可能 | 単体で完結 |
| トークン効率 | 決定論的処理でLLM呼び出し範囲を絞る設計(公式ベンチマークで約1/9) | 差分全体をLLMに読ませる設計 |
どちらか一方を選ぶというより、役割が違うツールと捉えるのが実務的です。Claude Code Security Review は「セキュリティ観点に絞って確実に拾う」ための専用ツール、Open Code Review は「NPEやスレッドセーフ性も含めた日常的なコードレビューを、トークンコストを抑えながら自動化する」ための汎用ツールという住み分けになります。両方をCIに並行して走らせ、セキュリティ系の指摘はClaude Code Security Review、それ以外の品質面はOpen Code Reviewという二段構えにする運用も検討に値します。
実務での活用パターンと運用時の注意点
チームリーダーとして実際に試した範囲での活用パターンと注意点です。
- 段階導入: 最初からPRへの自動コメント投稿は行わず、
ocr review --format jsonの出力をCIのArtifactとして保存し、誤検知率を数週間観測してから自動コメントに切り替える - ルールセットのカスタマイズ: 組み込みルール(NPE・スレッドセーフ・XSS・SQLインジェクションなど)だけに頼らず、自社の過去障害から得た知見をレビュー観点として追加していく
- delegateモードの使い分け: 普段Claude CodeやCursorで開発しているメンバーには、
ocr delegate経由でエージェント側のコンテキストを活かしたレビューを行わせ、CI側はocr review単体で軽量に回す - APIキー管理: LLMプロバイダーのAPIキーはCIのシークレットとして管理し、
ocr config providerの対話設定をローカル検証専用に留める - セキュリティ専用チェックとの併用: 前述の通り、脆弱性検出はClaude Code Security Reviewなど専用ツールと役割分担する
自分もpicoCTFでセキュリティを学び直している最中ですが、Open Code Reviewが拾う「NPEやスレッドセーフ性」のような品質観点は、脆弱性とは別軸で地味に事故につながりやすいポイントなので、両方をCIに組み込んでおく価値は大きいと感じています。
まとめ
| 項目 | ポイント |
|---|---|
| 正体 | Alibaba製OSSのAIコードレビューCLI(ocr)。決定論的パイプライン + LLMエージェントのハイブリッド設計 |
| インストール | npm install -g @alibaba-group/open-code-review(Node.js 14+) |
| 3つのモード | ocr review(差分レビュー)・ocr scan(フルファイル監査)・ocr delegate(外部エージェント委譲) |
| 対応CI | GitHub Actions・GitLab CI・GitFlic CI・Gerrit |
| Claude Code Security Reviewとの違い | セキュリティ特化 vs 汎用コードレビュー。両方を役割分担してCIに並走させるのが実務的 |
| 導入の勘所 | まずJSON出力での観測から始め、誤検知率を見てから自動コメントへ段階移行する |