# Deep Reviewの仕組み

Deep Reviewは、Aikidoのエージェント型プルリクエストレビュアーです。差分だけを全体像とみなすのではなく、Aikidoは関連するコードを調べ、変更が及ぼすより広い影響を推論し、そのフィードバックをプルリクエストに直接投稿します。

対象は **セキュリティと品質の両方**。アクセスチェックの欠如や、大きな結果セットでページネーションを壊すリファクタリングなども、問題がこのプルリクエストの影響として現れる限り検出できます。

## Deep Reviewと他のPRチェックの比較

プルリクエストには、すでに複数のAikidoチェックからコメントが付くことがあります。それぞれが答える問いは異なります。

| 確認                                                                                                                                                                                         | 確認対象                              | 頻度                     |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------- | ---------------------- |
| [SAST](https://help.aikidogov.us/docs/docs-ja/code-scanning/scanning-practices/sast-by-aikido-supported-languages-and-security-focus) で [PRゲーティング](https://help.aikidogov.us/docs/docs-ja/pr-and-release-gating/aikido-ci-gating-functionality) | 差分上の既知のセキュリティパターン                 | 新しいコードに対して、いったん有効化されると |
| [コード品質](https://help.aikidogov.us/docs/docs-ja/code-quality/code-quality-overview)                                                                                                                                        | 変更された行に対する品質ルール                   | 新しいコードに対して、いったん有効化されると |
| 詳細レビュー                                                                                                                                                                                     | 差分を超えたコンテキストを含めた、変更のセキュリティと品質への影響 | PRごとのクレジット             |

Deep ReviewはSASTやCode Qualityの代わりではありません。これらはPR Checksで有効にし、すべてのコミットでオンにしておいてください。差分以上のコンテキストが必要な複雑な問題を見つけたいときにDeep Reviewを使ってください。

全体像は [どの Aikido 製品を使うべきですか？](https://help.aikidogov.us/docs/docs-ja/getting-started/which-aikido-product-should-i-use).

## 差分を超えたコンテキスト

差分は何が変更されたかを示しますが、その変更がアプリケーションの他の部分とどう関わるかまでは常に示しません。Deep Reviewはコメントするかどうかを判断する前に、変更行の外から関連するコンテキストを取り込みます。そのため、コードベースの他の場所にある既存の動作に依存する変更もレビューできます。

## リポジトリの指示

Deep Reviewのチェック `AGENTS.md`, `CLAUDE.md`, `.claude/`、および `.cursor/` 受け入れ済みのリスクについて。そのファイルがすでに受け入れているリスクは、プルリクエストがそのリスクを拡大しない限り、報告されません。

常設のガイダンスを記載してください `AGENTS.md` リポジトリのルートに: 信頼境界、意図した動作、および受け入れ済みのリスクを。参照 [リポジトリファイルでエージェントをガイドする](https://help.aikidogov.us/docs/docs-ja/ai-and-dev-tools/guide-an-audit-with-repository-files).

Aikido も構築します [メモリ](https://help.aikidogov.us/docs/docs-ja/deep-review/memory) プルリクエストへの返信から。使用 `AGENTS.md` ガイダンスを自分で書きたい場合に。

## リポジトリをまたぐコンテキスト

アプリケーションが複数のリポジトリにまたがる場合は、 [関連するリポジトリをリンク](https://help.aikidogov.us/docs/docs-ja/deep-review/link-repositories) して、レビュー対象のリポジトリに追加できます。するとDeep Reviewは、共有ライブラリ、API、サービスについて推論する際に、それらのリポジトリを追加コンテキストとして利用できます。

リンクできるリポジトリ数は、Aikidoプランによって異なります。

## プルリクエスト内でのフィードバック

Deep Reviewが共有すべきフィードバックを持っていると、Aikidoはプルリクエストに直接コメントを投稿します。結果を見るためや議論するために、既存のレビュー作業フローを離れる必要はありません。

Deep Reviewは独自のステータスチェック（**Aikido Security: Deep Review**）も投稿します。そのチェックが失敗するかどうかは、同じ [ゲーティング設定](https://help.aikidogov.us/docs/docs-ja/deep-review/configure-deep-review#pr-check-gating) をセキュリティレビューと同じように扱います。失敗判定のしきい値、 **常に合格**、および **PRチェックを常に成功にする**.

コメントで指摘された問題を修正すると、Aikidoはそのコメントを自動で解決済みにします。 [問題を修正した後にAikidoがコメントをどう管理するかを確認する](https://help.aikidogov.us/docs/docs-ja/pr-and-release-gating/aikido-ci-gating-functionality/autofix-suggestions-and-inline-commenting-for-pr-checks#what-happens-to-comments-after-you-fix-an-issue).

### 自然言語で返信する

Deep Reviewのコメントには、どれでも平易な言葉で返信できます。Aikidoをタグ付けしたり、特別なコマンド形式を使ったりする必要はなく、AikidoのUIに切り替えずにプルリクエスト内のままでいられます。

| 言った内容               | 例                          | 結果                                                                                                         |
| ------------------- | -------------------------- | ---------------------------------------------------------------------------------------------------------- |
| **検出結果を無視する**       | 「これは誤検知です。無視してください。」       | Aikidoはその検出結果を無視します。                                                                                       |
| **背景を共有する、または反論する** | 「サーバー側で検証しているので、これは意図的です。」 | Aikido はこれを〜に保存します [リポジトリメモリ](https://help.aikidogov.us/docs/docs-ja/deep-review/memory) 後でレビューするために。                                   |
| **修正を依頼する**         | 「これを修正できますか？」              | Aikidoは、次の場合に修正用のプルリクエストを作成します [AutoFix](https://help.aikidogov.us/docs/docs-ja/autofix-and-remediation/overview-aikido-autofix) が有効になっているとき。 |
| **説明を求める**          | 「なぜこれが問題なのか説明してもらえますか？」    | Aikidoがあなたの質問に答えます。                                                                                        |

## パスとファイルを除外する

Aikidoはすでに、標準設定で多くのパスを無視します。Deep Reviewは、依存関係フォルダ、ビルド出力、生成ファイル、ロックファイル、バイナリ、メディアなどの一般的なノイズをスキップするため、通常は追加設定は不要です。

さらに多くのパスを [`.aikido` ファイル](https://help.aikidogov.us/docs/docs-ja/code-scanning/scanning-practices/ignore-via-code-with-aikido-files)で除外できます。Deep Reviewはそれらの除外パスも尊重します。

プルリクエストが除外されたファイルのみを変更している場合、AikidoはDeep Reviewをスキップし、料金は発生しません。

## クレジット

Deep Reviewの料金は **プルリクエスト1件につき1クレジット**。同じPRに対する追加レビュー（たとえば新しいコミット後）には追加料金はかかりません。クレジットがなくなると、Deep Reviewはスキップされます。

また、 [月間利用上限](https://help.aikidogov.us/docs/docs-ja/deep-review/configure-deep-review#set-a-monthly-spending-limit) をDeep Review向けに [Wallet設定](https://app.aikido.dev/settings/wallet/settings)で設定できます。上限に達すると、クレジットを消費するDeep Reviewは翌暦月までスキップされます。

{% hint style="info" %}
あなたのチームでDeep Reviewにどれくらい費用がかかるか気になりますか？私たちの [見積もりツール](https://app.aikido.dev/repositories/deep-review) が、過去30日間の利用状況に基づいて目安を示します。
{% endhint %}

方法を学ぶ [Deep Reviewを設定する](https://help.aikidogov.us/docs/docs-ja/deep-review/configure-deep-review).
