Claude Code でコードレビューを自動化する方法

Claude Code を使用してコードレビューを自動化する方法をご覧ください。このガイドでは、PR レビューのセットアップ、サブエージェントのアーキテクチャ、差分ベースのレビューが見落としているものをキャッチするビジュアル QA を追加する方法について説明します。
Advanced computer use agent
Production-grade reliability
Transparent Execution

誰も話題にしないコードレビューのボトルネック

行動第一 PR 検証
PR を開くと、Sai は差分を読み取るだけでなく、プレビューデプロイを開いてテストアカウントにログインし、影響を受けるユーザーフローを段階的にクリックします。すべての状態遷移のスクリーンショットを撮り、問題がある場合はフラグを立てて、レビュー担当者にコードコメントの代わりに視覚的な証拠を提供します。
スクリーンショットからの自動バグ再現
ユーザーのバグスクリーンショットを Sai に貼り付けます。アプリを探索し、問題の原因となっているクリックの正確なシーケンスを見つけ、再現手順、予想される動作と実際の動作、注釈付きのスクリーンショットを含むエンジニアリング対応チケットを生成します。これにより、漠然としたレポートが Claude Code の実用的なコンテキストに変換されます。
クローズドループ修正検証
Claude Code がコードにパッチを適用すると、Sai は同じテストフローを自動的に再実行します。変更前と修正後のスクリーンショットをキャプチャし、Sentry に新しいエラーがないかチェックし、構造化された合否レポートを Slack や GitHub に投稿します。そのため、チームが実際に製品で機能することを確認せずに修正をマージすることはありません。

誰も話題にしないコードレビューのボトルネック

チームはレビューよりも早く出荷します。

AI コーディングエージェント (Claude Code、Cursor、GitHub Copilot) は、人間のレビュアーが読むよりも速くプルリクエストを生成します。以前は昼食前に 3 つの PR をレビューしていたシニアエンジニアが、今では 12 件の問題に直面しています。コードはきれいに見えます。テストは合格です。リンターは静かです。

しかし、チェックアウトページが壊れています。

これが2025年のコードレビューのギャップです。「コードが正しい」と「製品は機能する」の差です。従来のコードレビューは、人間であろうと AI であろうと、差分を読み取ります。ロジック、パターン、構文をチェックします。アプリを開いてチェックアウトフローをクリックし、クーポンを適用しても、合計がマイナス4ドルに下がったことに気付きません。

ほとんどのAIコードレビューツールは、このギャップを小さくするのではなく、広げています。彼らはより多くのコメント、より多くの提案、より多くのノイズを生成します。Reddit のエンジニアは、このパターンを次のように説明しています。「AI レビューは、すべてのコメントが本物かどうかを検証するために人間が必要なため、節約するよりも多くの作業を生み出します。」

問題は、コードレビューが遅すぎるということではありません。問題は、コードレビューが不完全であることです。コードをレビューします。誰も製品をレビューしません。

このガイドでは、コードレビュー自動化の 3 つの段階について説明します。

  1. 手動レビュー — 現在、ほとんどのチームがそれをどのように行っているか
  2. クロード・コード・レビュー — 自動差分分析による自動化 /レビュー と GitHub アクション
  3. 行動優先レビュー — サイが製品をテストしている間、クロード・コードがコードを読み取る

最終的には、各階層の設定方法、使用するタイミング、および実際の時間節約がどこから得られるかが正確にわかります。

Claude Code がプルリクエストをレビューする方法

Claude Codeは、ターミナルで実行されるAnthropicのAIコーディングエージェントです。コードベースを読み取り、プロジェクトのコンテキストを理解し、単純なリンティングをはるかに超えたレベルでコードをレビューできます。

/review コマンド

Claude Codeのレビューを得る最も早い方法はビルトインです /レビュー コマンド:

# Review your current working changes
claude review

# Review a specific PR
claude review --pr 142

クロード・コードは、複数の特殊なサブエージェントを使用して差分を分析します。

  • ロジック・レビュアー — 正確性、エッジケース、リグレッションのチェック
  • セキュリティレビュー担当者 — 脆弱性、シークレット・エクスポージャー、インジェクション・ベクターのスキャン
  • スタイルレビュアー — 命名規則、パターン、および読みやすさの基準を適用します
  • アーキテクチャレビュー担当者 — 構造上の問題やパターン違反にフラグを立てる

各サブエージェントはそのドメインに焦点を当て、独立して報告します。その結果、分類された調査結果、重要度レベル、および推奨される修正を含む構造化されたレビューが作成されます。

GitHub アクションとしてのクロードコード

Claude Codeは、プッシュのたびに自動的にPRレビューを行うために、GitHubアクションを提供しています。

name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          trigger: "review"

設定が完了すると、Claude Code は次のことを行います。

  1. GitHub から PR ウェブフックを受け取る
  2. リポジトリのクローンを作成し、PR ブランチをチェックアウトします
  3. diff 全体と周囲のコンテキストを読み込む
  4. 特定の行にインラインコメントを投稿します
  5. 全体的な評価を含む要約コメントを追加します

コメントを付けて手動でレビューをトリガーすることもできます @claude レビュー どんなPRでも。

クロード・コードのレビューがうまくいくこと

クロード・コード・レビューは次のような場合に非常に役立ちます。

  • ロジックバグの検出 変更された行だけでなく、コードベースのコンテキストを理解する必要があります
  • 欠落しているエラー処理の特定 —周囲のコードを読み取り、try/catch なしでスローできる関数が呼び出されたときに通知します
  • リグレッションの発見 —コードが以前に何をしていたかを理解し、新しい変更によって既存の動作が損なわれる場合はフラグを立てます
  • 査読者の疲労の軽減 —機械的なチェックを処理するので、人間のレビュー担当者はアーキテクチャと製品の決定に集中できます
クロード・コード・レビューではできないこと

クロードコードレビューコード.コードは実行されません。つまり、次のことはできないということです。

  • ブラウザを開いて実際の UI をテストする
  • CSS の変更がさまざまな画面サイズで正しく表示されることを確認する
  • 支払いフローがエンドツーエンドで完了することを確認する
  • ボタンが別の要素の後ろに隠れていることに注目してください
  • ユーザーのスクリーンショットからバグを再現する
  • Sentry、Datadog、管理者ダッシュボードなどの認証が必要なツールにアクセスする

これは特にクロード・コードの制限ではなく、差分ベースのレビューの基本的な制限です。コードを読み取るだけのツールでは、その製品が動作するかどうかを知ることはできません。

ギャップ:AI コードレビューでまだ見落とされていること

これが実際のシナリオです。あなたのチームはすべての PR に Claude Code のレビューを使っています。構成され、実行され、実際のバグをキャッチしています。すると、こんなことが起こります:

PR #247: カートディスカウントのクーポンロジックの更新

Claude Codeは差分を確認して次のことを見つけました。

  • 割引計算に論理エラーはありません
  • クーポンオブジェクトの適切なヌルチェック
  • クーポンの適用/削除のテストに合格
  • セキュリティ問題なし

PRが統合されます。

2時間後、あるユーザーから次のように報告されました。「5ドルのクーポンをカートに適用した後、商品を削除しました。合計がマイナスになりました。チェックアウトできません。」

何が起きたの?クーポンのロジックはそれだけでも正しかった。しかし、クーポンの適用とカートアイテムの削除の相互作用により、テストは対象外であり、差分レビュー担当者 (人間でも人工知能でも) がコードを読むだけでは理解できない状態になりました。

これは、コードベースがより複雑になるにつれて大きくなる種類のバグです。

  • ステートインタラクションのバグ — 独立して動作するが、同時に機能しない 2 つの機能
  • ビジュアルリグレッション — レイアウトシフト、重複する要素、壊れたレスポンシブデザイン
  • フロー依存バグ — 特定の一連のユーザーアクションの後にのみ発生する問題
  • 環境固有の障害 — ステージングはローカルとは動作が異なる

これらのバグには共通する特徴が 1 つあります。 製品を使用してのみ見つけることができます。

ザ・フル・ループ:サイ+クロード・コードがコード・レビューを行う方法

サイは AI エージェントです クラウドデスクトップ上で動作します。ブラウザを開いたり、アプリケーションをクリックしたり、スクリーンショットを撮ったり、エラーログを読んだり、Sentry、Slack、GitHub などのツールを操作したりと、すべて自律的に実行しながら実行できます。

クロード・コードと組み合わせると、レビューループは根本的に変わります。

従来の AI レビュー: PRが開く → AIが差分を読み取る → AIがコメントを投稿する → 人間による検証

サイ+クロード・コード・レビュー: PRが開く → Claude Codeが差分を読み取る → Saiがアプリを開く → Saiがフローをテストする → Saiのスクリーンショットの問題 → Claude Codeがコードを修正する → Saiを再テストする → 構造化されたレポートが投稿された

主な違いは、Claude Codeがコードをレビューすることです。Sai は製品をレビューします。

8 ステップループの仕組み

ステップ 1: トリガー

ループは次の 3 つのソースのいずれかから始まります。

  • GitHub PR が開かれるか更新された (ウェブフックトリガー)
  • ユーザーがバグを報告しました(「クーポンを適用した後、チェックアウト合計がマイナスになりました」)
  • Sentry アラートが新しいエラーで起動する

従来のレビューは差分から始まります。このループはユーザーエクスペリエンスから始めることができます。

ステップ 2: クロード・コードがコードを分析する

Claude Code は PR 差分を読み取り、コードベースのコンテキストを理解し、潜在的な問題 (ロジックエラー、エッジケースの欠落、セキュリティ上の懸念) をコードレベルで特定します。

ステップ 3: Sai がプレビューデプロイメントを開く

Claude Code がコードを読み取っている間、Sai はクラウドデスクトップ上の実際のブラウザでプレビュー URL を開きます。テストアカウントでログインし、影響を受ける領域に移動します。

ステップ 4: Sai が実際のユーザーフローをテストする

これは、他の AI レビューツールでは実行できない重要なステップです。サイン:

  • ショッピングカートに商品を追加します
  • クーポンコードを適用します
  • 数量を変更して商品を削除します
  • チェックアウトに進む
  • 合計、税金、割引が正しく計算されているかをチェックします
  • 各ステップのスクリーンショット

ステップ 5: Sai が再現するステップを生成する

何かが壊れたら Sai がエンジニアリング対応のバグレポートを作成:

再現手順:1.オレンジを3個ずつ2ドルずつ加える。カートの合計額:6.002ドル。クーポンコード SAVE5 を適用してください。カートの合計額:1.003ドル。オレンジを 1 つ削除します。カートの合計額:-1.004ドル。「チェックアウト」をクリックします。エラー:「マイナスの合計は処理できません」
予想:合計は $4.00-$4.00 (上限) = $0.00 として再計算されるはずです。実績:合計表示数-$1.00 スクリーンショット:[before_coupon.png] [after_remove.png] コンソールエラー:なしエントリ:新しいエラーは記録されません

これは差分に関する曖昧なコメントではありません。これは証拠のある QA チケットです。

ステップ 6: クロード・コードがコードを修正する

Claude Codeは、Saiから構造化された再現手順、スクリーンショット、およびエラーコンテキストを受け取ります。何が間違っているのかを推測する代わりに、次のことを正確に把握しています。

  • どのページが影響を受けますか
  • バグの原因となる操作シーケンス
  • 期待される行動はどうあるべきか
  • 実際の動作とは

投機的な提案ではなく、的を絞った修正案が生成されます。

ステップ 7: Sai が修正を再テストする

Claude Code がコードにパッチを適用した後、Sai は同じテストシーケンスを再度実行します。

  • クーポンの適用 → 商品の削除 → 合計を確認
  • 合計がマイナスにならないことを確認する
  • 前/後のスクリーンショットをキャプチャ
  • Sentry に新しいエラーがないか確認してください

ステップ 8: Slack/GitHub への構造化されたレポート

最終出力は、チームのチャンネルに投稿された構造化されたQAレポートです。

Sai QA Review: PR #247 — Coupon Discount Logic

Status: ✅ Fixed and verified

Issue found:
Cart total became negative when removing items after applying coupon.

Root cause:
Coupon discount was applied as fixed amount without 
recalculating against updated cart total.

Fix applied:
Added cap logic — discount cannot exceed current cart subtotal.

Verification:
- Before fix: Total = -$1.00 after removing item [screenshot]
- After fix: Total = $0.00, coupon capped correctly [screenshot]
- Sentry: No new errors
- Checkout flow: Completes successfully

ステップバイステップ:Sai による Claude コードレビューの設定

前提条件

  • プレビューデプロイメントを含む GitHub リポジトリ (Vercel、Netlify、または同様のもの)
  • クロード・コード・アカウント (コード分析用)
  • サイアカウント (ビジュアル QA およびブラウザテスト用)

ステップ 1: クロードコード GitHub アクションを設定する

Claude Code レビューアクションをリポジトリに追加します。

# .github/workflows/claude-review.yml
name: Claude Code Review
on:
  pull_request:
    types: [opened, synchronize]
  issue_comment:
    types: [created]

jobs:
  review:
    if: |
      github.event_name == 'pull_request' ||
      contains(github.event.comment.body, '@claude')
    runs-on: ubuntu-latest
    steps:
      - uses: anthropics/claude-code-action@v1
        with:
          trigger: "review"
          anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

これにより、すべての PR の差分レベルのレビューを自動化できます。

ステップ 2: Sai を GitHub リポジトリに接続する

Saiでは、PRイベントをトリガーするWebhookワークフローを設定します。

  1. Sai → 設定 → ワークフローを開きます
  2. 新しい Webhook ワークフローを作成する
  3. プロバイダーとして GitHub を選択してください
  4. リポジトリを選択してください
  5. トリガーイベントをに設定 プルリクエスト

ステップ 3: テストフローの定義

PRが特定のエリアに触れたときに何をテストすべきかをサイに伝えてください。

When a PR modifies files in /src/checkout/:
1. Open preview deployment URL
2. Log in with test account
3. Add 3 items to cart
4. Apply coupon TESTCOUPON
5. Modify quantities
6. Remove one item
7. Proceed to checkout
8. Screenshot each step
9. Report any total that is negative or mismatched

ステップ 4: レポートを設定する

Sai が結果を送信する場所を選択してください:

  • GitHub 広報コメント — コードレビューと連携
  • スラックチャンネル — チームの可視化のため
  • リニアチケット — 追跡が必要なブロッカー用

ステップ 5: 実行して反復する

最初の数回の PR でシステムのキャリブレーションを行います。Sai は、どのフローが重要か、「正しい」とはどのようなものか、どこで誤検出が発生するかを学習します。1 週間後、コードレベルと製品レベルの両方の問題を自動的に検出するレビューパイプラインができあがります。

Aspect Tier 1: Manual Tier 2: Claude Code Tier 3: Claude Code + Sai
Setup time None 15 min (GitHub Action) 30 min (webhook + flows)
Review speed 30-60 min / PR 2-5 min / PR 3-7 min / PR
Catches logic bugs
Catches visual bugs
Tests user flows
Provides evidence Text comments Inline comments Screenshots + STR
Verifies fixes Manual re-review ✅ Automated re-test
Human time / PR 30-60 min 10-15 min 2-5 min

現実世界の 5 つのシナリオ

シナリオ 1: E コマースのチェックアウトバグ

トリガー: PR は支払い処理ロジックを更新します。

クロード・コードは次のことを発見しました。 拒否されたカードのエラー処理が見つかりません。

サイが見つけたもの: カードが拒否されると、ユーザーが有効なカードを入力しても、「注文する」ボタンは無効のままになります。ローディングスピナーがクリアされることはありません。

結果: Claude Code がエラー処理を修正しました。Sai は、カードへの入力が成功すると、ボタンが再び有効になることを確認します。レポートが Slack に投稿されました。

シナリオ 2: ダッシュボードのレスポンシブデザインブレーク

トリガー: PR はダッシュボードグリッドレイアウトをリファクタリングします。

クロード・コードは次のことを発見しました。 論理的な問題はありません。CSS の変更は正しく見える。

サイが見つけたもの: タブレットビューポート (768px) では、サイドバーがメインコンテンツ領域と重なっています。2 つのチャートウィジェットがナビゲーションパネルの後ろに完全に隠れています。

結果: Sai は 3 つのブレークポイントでのオーバーラップのスクリーンショットを撮っています。Claude Code はグリッドブレークポイントの値を調整します。Sai は再テストを行い、レイアウトがどのサイズでもきれいであることを確認します。

シナリオ 3: 認証フロー回帰

トリガー: PR は Google ログインの OAuth インテグレーションを更新します。

クロード・コードは次のことを発見しました。 トークンの更新ロジックは正しいようです。スコープは正しく設定されている。

サイが見つけたもの: Google でログインすると、コールバック URL がコードで更新されても Google Cloud Console 設定では更新されなかったため、リダイレクトは 404 ページに表示されます。

結果: Saiは404のスクリーンショットを撮っています。チームは Google Cloud コンソールを更新しています。Sai は OAuth フロー全体 (ログイン、リダイレクト、セッション作成) を再テストし、エンドツーエンドで機能することを確認しました。

シナリオ 4: スクリーンショットからユーザーバグレポートを再現する

トリガー: ユーザーがスクリーンショットをSlackに投稿しました。「このページは壊れているようです。」

クロード・コードだけ: スクリーンショットを処理できません。コードコンテキストが必要です。

サイ: 同じページを開き、壊れたレイアウトを識別し、クリックして正確な状態を再現します。3 つの注釈付きスクリーンショットで再現手順を生成します。ファイルパス、ページ URL、予想される動作と実際の動作を Claude に指示します。

結果: Claude Codeは、最近マージされたPRにおけるZインデックスの競合を特定します。修正しました。Sai はページが正しくレンダリングされることを確認します。

シナリオ 5: API の変更によりフロントエンドがサイレントで機能しなくなる

トリガー: バックエンドPRは、の応答形状を変更します /api/オーダー — 名前を変更します 合計金額合計金額

クロード・コードは次のことを発見しました。 API の変更は新しい命名規則と一致しています。バックエンドテストに合格しました。

サイが見つけたもの: フロントエンドの注文履歴ページには、すべての注文合計が「$NaN」と表示されます。フロントエンドのコードはまだ参照しています。 合計金額

結果: Saiは壊れた注文履歴のスクリーンショットを撮っています。Claude Code はフロントエンドのリファレンスを見つけて更新します。Sai は注文履歴ページを実際のデータで再テストします。

Stop doing repetitive tasks. Let Sai handle them for you.

Sai is your AI computer use agent — it operates your apps, automates your workflows, and gets work done while you focus on what matters.

Try Sai

FAQS