1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AnthropicのコードレビューとQA自動化の仕組みを調べてみた

1
Last updated at Posted at 2026-10-17

Anthropicが、Claude Code開発チームのコードレビュー手法を公開していました。
記事はこちら:How the Claude Code team does code review

Claude Codeのコードの約90%はClaude自身が書いているそうです。AIによるコード生成が増える中、人間がすべてのコードをレビューするのは難しくなっています。

そこでAnthropicでは、AIによるコードレビュー、自動テスト、変更内容に応じた承認フローなどを組み合わせて開発しています。

また、GitHubには複数のエージェントによるコードレビューや、テストの品質確認に利用できるプラグインも公開されています。

この記事では、Anthropicの開発チームが採用している仕組みと、公開されているプラグインを整理します。

1. Anthropicのコードレビュー運用

コードレビューの自動化による変化

Anthropicが公開している数値は以下のとおりです。

指標 変化
実質的なレビュー指摘があるPR 16% → 54%
5回以上レビューを繰り返すPR 8.9% → 1.5%
1回のレビュー・修正で通過するPR 65% → 78%
平均レビュー回数 2.08回 → 1.32回
マージされたPR数(2026年6〜9月) 2倍以上
取り消しが必要になったPRの割合(同期間) 40%以上減少

出典:How the Claude Code team does code review
※各指標は異なる期間・条件で測定されたものです。

コードの実装からリリースまで

Anthropicでは、コードの実装からリリースまで、複数の段階で検証を行っています。

  1. Claudeがコードを実装し、テスト・ビルド・リンターを実行する
  2. 別のエージェントが変更内容を確認する
  3. PR作成後、AIによるコードレビュー・セキュリティレビュー・CIを実行する
  4. 変更のリスクに応じて人間が承認する
  5. マージ前に最新のコードに対して再度チェックを行う
  6. 段階的にリリースし、問題があれば変更を取り消す

人間によるレビューを完全になくすのではなく、影響の大きい変更に集中させる構成です。

例えば、ドキュメントなどの低リスクな変更は自動チェックのみでマージできる場合があります。一方、通常の機能変更には1名、影響の大きい変更には2名の承認が必要です。

CLAUDE.md と REVIEW.md の使い分け

Anthropicでは、レビューの判断基準をファイルとして管理しています。

CLAUDE.md にはプロジェクトの構成や開発ルールを記載し、REVIEW.md にはレビュー時に重視する観点や、指摘しなくてよい内容を定義します。

例えば、特定のディレクトリで注意すべき処理や、既知の設計上の制約などをレビュー基準として管理できます。

なお、REVIEW.md はAnthropicのCode Reviewサービスで利用される仕組みです。後述する公開プラグインの /code-review では、同じように読み込まれるわけではありません。

AIレビューの繰り返しを防ぐ

過去には、1つのPRでAIによるレビューと修正が50回以上繰り返された事例があったそうです。

そこで、以下のような対策が導入されています。

  • 3回レビューしても問題が解決しない場合、実装方針の再検討を求める
  • 最初の数回以降は、新しく変更された差分を中心に確認する
  • 一度指摘した問題を繰り返し投稿しない
  • 同じ種類の不具合は、該当箇所をまとめて修正するよう指摘する

レビューを機械的に3回で打ち切るのではなく、修正と指摘の繰り返しを防ぐための運用です。

2. 公開されているコードレビュープラグイン

Anthropicは、Claude Codeで利用できるレビュー用プラグインをGitHubで公開しています。

code-review:複数エージェントによる並列レビュー

GitHub:code-review

/code-review コマンドで実行するプラグインです。

公開されているコマンド定義では、4つのエージェントが並列でレビューします。

エージェント 役割
Agent 1・2 CLAUDE.md に定義されたルールへの準拠を確認
Agent 3 明確な不具合を検出
Agent 4 セキュリティやロジック上の問題を検出

レビュー後は、検出された問題ごとに別のエージェントが検証を行い、根拠のない指摘を除外します。

処理の流れは以下のとおりです。

PRの変更内容を取得
        ↓
複数エージェントが並列レビュー
        ↓
検出された問題を別エージェントが検証
        ↓
根拠のない指摘を除外
        ↓
レビュー結果を出力

通常は結果を端末に表示し、--comment オプションを付けるとPRにコメントを投稿します。

/code-review --comment

なお、READMEには確信度を0〜100で評価し、80点未満を除外する説明もありますが、公開されているコマンド定義とは一致していません。ここではコマンド定義に記載された処理を紹介しています。

pr-review-toolkit:観点別の専門エージェント

GitHub:pr-review-toolkit

こちらは、6種類の専門エージェントを使い分けるプラグインです。

エージェント 役割
pr-test-analyzer テストケースの不足や品質を確認
silent-failure-hunter 例外処理やエラーの見逃しを検出
code-reviewer コードの不具合や規約違反を確認
type-design-analyzer 型設計や不変条件を確認
comment-analyzer コメントと実装の整合性を確認
code-simplifier 複雑なコードを簡素化

例えば、テストの不足を確認する場合は以下のように実行します。

/pr-review-toolkit:review-pr tests

すべての観点でレビューする場合は以下です。

/pr-review-toolkit:review-pr all

コード全体を一度にレビューするのではなく、テスト、例外処理、型設計などの観点ごとに役割を分けています。

3. QAエージェントとテスト自動化

コードレビュー以外にも、テスト生成や検証を自動化するための実装例が公開されています。

テスト生成エージェント

GitHub:Agent Development Examples

Anthropicが公開しているエージェント開発例には、テスト生成エージェントが含まれています。

主な処理は以下のとおりです。

  1. 実装を解析し、入出力やエラー条件を確認する
  2. 既存のテスト構成や命名規則を調べる
  3. 正常系・異常系・境界値のテストケースを設計する
  4. テストコードを生成する
  5. テストが実行できるかを確認する

こちらはエージェントを作成するためのサンプルであり、そのまま利用するプラグインではありません。

先ほどの pr-test-analyzer がテストの不足を確認するのに対し、こちらはテストコードの生成を担当します。

Skillsによる検証の自動化

Building verification loops in Claude Code with skills

Anthropicは、テストの実行から修正・再検証までの手順をSkillsとして定義する方法も紹介しています。

Skillは、エージェントが利用する作業手順をまとめたものです。例えば、.claude/skills/verify/SKILL.md にテストの実行方法や確認手順を記載できます。

公式記事では、Skillsを使った検証方法として次の4つが紹介されています。

方法 内容
Standalone 必要なときに手動で実行
Embedded 実装用Skillの中に検証処理を組み込む
Chained Skillの実行後に別のSkillを呼び出す
On every PR PRごとに検証を実行

テストの実行方法を共通化し、実装エージェントから繰り返し利用できるようにする仕組みです。

4. SkillとSubagentの違い

Claude Codeでは、SkillとSubagentを組み合わせて処理を構成できます。

Skill Subagent
主な役割 作業手順や知識の再利用 独立した作業の実行
定義場所 .claude/skills/ .claude/agents/
実行時の文脈 通常は現在の会話を利用 独立した文脈で実行
主な用途 テスト手順、検証方法など コードレビュー、調査、テスト分析など

Skillも context: fork を指定することで、独立したサブエージェントとして実行できます。

また、SubagentからSkillを読み込むことも可能です。

つまり、両者は完全に独立した仕組みではなく、組み合わせて利用できます。

5. マルチエージェントの構成例

ここまでの公開資料をもとに、テスト生成・品質確認・コードレビューを分離すると、以下のような構成が考えられます。

※Anthropicの社内構成を示したものではありません。

.claude/
├── agents/
│   ├── test-generator.md
│   ├── qa-reviewer.md
│   ├── code-reviewer.md
│   └── security-reviewer.md
│
└── skills/
    ├── verify/
    │   └── SKILL.md
    └── regression-test/
        └── SKILL.md

CLAUDE.md
REVIEW.md

各エージェントの役割は以下を想定しています。

役割 処理内容
test-generator テストコードを生成
qa-reviewer テストケースの不足を確認
code-reviewer 不具合や規約違反を確認
security-reviewer セキュリティ上の問題を確認
verify Skill テストやビルドを実行
regression-test Skill 過去の不具合の再発を確認

すべてのエージェントを毎回起動するのではなく、変更内容やリスクに応じて必要な検証を実行する構成です。

なお、この構成で REVIEW.md を利用する場合は、各エージェントが読み込むように明示する必要があります。

6. レビューAI自体の品質評価

Anthropicでは、レビューAIそのものの品質も継続的に評価しています。

過去に障害を引き起こしたPRと、その修正内容を評価データとして蓄積し、レビューAIが過去の不具合を検出できるかを確認しています。

また、正常なコードに対して不要な指摘を出していないかも評価しています。

レビュー結果に対する開発者の反応も分析しており、実際に修正された指摘なのか、誤検出だったのかなどを分類しています。

レビューAIを導入するだけでなく、検出性能と誤検出の両方を測定している点が特徴です。

まとめ

Anthropicでは、複数エージェントによるレビューだけでなく、指摘内容の再検証や、過去の障害を用いたレビューAI自体の品質評価も行っています。また、コード生成からレビュー、テスト、リリースまでを自動化する一方、変更リスクに応じて人間の承認を残す設計になっています。

参考資料

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?