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 ReviewClaude Code Security Review
スコープNPE・スレッドセーフ・XSS・SQLインジェクションなどを含む汎用コードレビューセキュリティ脆弱性の検出に特化
アーキテクチャ決定論的パイプライン + LLMエージェントのハイブリッドPR差分をLLMが意味論的に解析するエージェント型
実行形態ローカルCLI(ocr)としても、CIジョブとしても実行可能GitHub Action前提
対応CIGitHub Actions・GitLab CI・GitFlic CI・GerritGitHub 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(外部エージェント委譲)
対応CIGitHub Actions・GitLab CI・GitFlic CI・Gerrit
Claude Code Security Reviewとの違いセキュリティ特化 vs 汎用コードレビュー。両方を役割分担してCIに並走させるのが実務的
導入の勘所まずJSON出力での観測から始め、誤検知率を見てから自動コメントへ段階移行する