AIレビューは3層でまわす

-- Views

September 15, 26

スライド概要

profile-image

インフラエンジニア

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

レビューは3層で回す AI ローカル・PR時・デイリー、サブスクの範囲で 自走環境整備・運用スペシャル #6 / 2026年9月15日(火) AI 篠田 敬廣

2.

篠田 敬廣 経歴 大手SIerでインフラ構築・設計、プロジェクトマネジメントに 従事したのち独立 現在 Waalsforce コミュニティ JAWS-UG 趣味 サウナ 連絡先 X: @yukkie1114 導入 人開発 代表。FDE、AI駆動PM、生成AIアドバイザー、個 名古屋 スタッフ 2 / 21

3.

今日のゴール: 明日から使う方式を1つ 分で話すのは、私が追加課金なしで回しているAIレビューの組み合わせ 5 追加課金なし Claude ChatGPT Cursor 自分で測った数字 評判や印象ではなく、同じ条件で並べて測ったスコアで選ぶ 私の運用の一例 あくまでご参考までに。前提が違えば最適な組み合わせも変わる 導入 ・ えるものだけ ・ など、すでに払っているサブスク(定額)の範囲で使 3 / 21

4.

アジェンダ 層を順に見て、最後に「なぜ組み合わせるか」 3 層の中身 01 レビューの3層 02 ローカル: push前に自分で止める 03 PR時: 自分が忘れても走る 04 デイリー: 常時見ている仕組み 3 組み合わせ方 05 なぜ組み合わせるか 06 明日から使う方式 分なので飛ばしながら進めます。数字の出典はすべて注釈に書いてあります 5 導入 4 / 21

5.

レビューの3層: いつ・誰が見るかによる分類 AI 同じ「AIレビュー」でも、走るタイミングが違えば役割が違う ローカル PR 手元のPCで、自分が実行する。修正してすぐ再 実行できる GitHub 前 push 01 / レビューの3層 時 を出した時 PR も走る 上でボットが自動で読む。自分が忘れて デイリー 毎日 スケジュール実行で、依存関係の脆弱性や古い バージョンを検知する 5 / 21

6.

層を同じ観点で比較 3 誰が動かす 見る範囲 費用 強み ローカル 自分(コマンド1つ) 今回の差分 サブスク枠を消費 修正ループが短い PR の差分 無料〜プラン内の従量 独立した第二の視点 リポジトリ全体・依存関係 無料(GitHub標準機能中心) 毎日実行して予防的に検知する 時 PR GitHub App が自動 デイリー スケジュール実行が自動 費用は 2026年9月時点、私の契約プラン(Claude Max 20x、ChatGPT Pro、Cursor Pro+、Devin Pro、Copilot Pro)での話 01 / レビューの3層 6 / 21

7.

ローカル: 手元で実行できるレビューコマンド3つ どれもサブスク内。名前が似ていても、見る対象と得意分野が違う ツール コマンド 見る対象 得意な観点 Claude Code /code-review 今の変更(差分) バグ・デグレ(動いていたものが壊れること)・「偶然安全で脆い箇所」。マージ を止めるか決めるゲート Claude Code /security-review ブランチ全体の変更 攻撃シナリオ付きの監査。確信度で切るので誤検知が少ない Codex 作業中のコード・ブラン 挙動の変化・テスト不足。参照先のクラスまで自分で読みに行く チ比較 /review は元々 3 つ(/code-review、/review、/security-review)。v2.1.223 で PR 用の /review が /code-review に統合され、 今は実質 つ(/review は別名として残る) Claude Code 2 02 / ローカル 7 / 21

8.

自作の /ai-review: 3つを1コマンドに つのレビューに同じ差分を渡して突合し、リスクがあれば3つ目のレビューを走らせる 2 1 並列起動 つを同時に 2 の /code-review と Codex の /review を、互い に見せずに実行 Claude Code 2 突合 不一致を調べる 一致は採用。片方だけの指摘は根拠のコードで確認 3 自動昇格 高リスクは3つ目 認証・秘密情報・大きな差分なら /security-review を追加 /ai-review 02 は私の自作。レビュー本体は各ツールの純正コマンドで、自作部分は並列起動・突合・昇格判定 / ローカル 8 / 21

9.

なぜ2つのAIにレビューさせるか 同じコードを別々に見せて、意見が割れたところを重点的に確かめる 補い合える 別々に見せる 別の会社の別のモデル。片方が見落としても、もう片方が拾ってくれることがある 割れたら確かめる 片方だけが指摘したものは、コードを読んで本当かどうか確かめる。「片方だけが 見つけた本物の指摘」は記録に残す 02 / ローカル 片方の結果を先に見せると、それに引きずられる。互いの結果を知らない状態で 同時に実行する 9 / 21

10.

/security-review へ昇格する分岐: 5つの条件 条件に該当すればスクリプトが自動で起動する。省略するには明示的な指示が要る 条件 判定するもの 変更パス 触ったファイルの場所 A 判定方法 auth / payment / migration / .sql / middleware / workflows / Dockerfile / lockfile grep 用) (モデル不使 ・ 、暗号、SQL の文字列結合、innerHTML、deserialize、 grep(モデル不使 検証の無効化 用) C 規模 差分の大きさ 20 ファイル超、または追加 1,000 行超 git diff の数 D 指摘あり どちらかがセキュリティ分類で injection / XSS / SSRF / 認可 / 秘密情報 突合の結果 指摘 E 判定が割れた セキュリティ分類で2つの判定 片方は High、片方は指摘なし 突合の結果 が不一致 B 追加行の内容 危険になりやすい書き方 例 exec eval つでも該当すれば自動起動。秘密情報(.env や鍵ファイル)が差分にあれば Codex へ送らない 1 02 / ローカル 10 / 21

11.

いきなり push できない仕組み レビューを通したかを人力ではなくフックが検査する 1 記録 結論と SHA を書く /ai-review 2 照合 push push 3 が結論(pass / fix / block)と HEAD の SHA を残す 時に突き合わせ 対象の SHA と記録を比べる。無い・違うなら拒否 判定 結論と昇格を読む 、昇格未実施、未コミット差分だけの記録なら拒否 block 4 通過 すべて満たせば push レビュー後にコミットし直すと SHA が変わりやり直し SHA = 02 コミットごとに付く一意の ID。フック = git の操作時に自動で走るチェック / ローカル 11 / 21

12.

どのレビューを使うかは、自分でベンチマークを測って選 定 「セキュリティ特化の方式が強そう」という雰囲気で選びたくなかった 対象 脆弱性サンプル集(OWASP Benchmark)から Java コード110件。11分野 × 危険5件・安全5件 採点 各AIに「危険 or 安全」を判定させ、スコア = 検出率 − 誤検知率。1.0が満点、0は危険と安全を区別できていな い状態 公平性 判定のヒントを与えない。正解ラベルを参照できない隔離環境で実行し、全件の判定を強制する 測っているのは「セキュリティ脆弱性の検知力」だけ。コード品質や設計の指摘など他の得意分野は含まない。この一面で総合優劣は 決まらない 02 / ローカル 12 / 21

13.

最新世代で5方式が同時に満点(1.000) / code-review Claude Opus 5 / review(PR) Claude Fable 5.1 / code-review Claude Fable 5.1 / review(PR) claude-security(Opus 5) Codex GPT-5.6-Sol / review Claude Opus 5 / security-review Codex GPT-6-Astra / review Cursor / security-review Claude Opus 5 1.000 1.000 1.000 1.000 1.000 0.982 0.964 0.945 0.927 スコア = 検出率 − 誤検知率。同一110件・中立プロンプト・隔離環境。review(PR)は GitHub の PR を読むモード、claude-security は公式プラグインの全体走査。Fable 5.1 は8月末の追加測定。Astra は検出55/55だが誤検知3件。青は満点 02 / ローカル 13 / 21

14.

数字から決めた、3つの役割分担 一番スコアが高いもの1つではなく、性格の違いで役割を分ける Claude Code の /code-review Claude Code の /security-review 見逃しが少ない(再現率が高い)。最新世代で満点。マージを止めるか決める入口に置く 誤検知ゼロが持ち味。確信度で切るぶん見逃しはあるので、拾った疑いが実際の問題か誤検知かを確かめる役 Codex の /review 別ベンダーで 0.982。差分の外の参照先まで自分で読みに行く。Claude Code と意見が割れた箇所を見つける役 02 / ローカル 14 / 21

15.

時 レビュアー5つ+依存監査1つの自動レビュー PR : AI GitHub App として入れておくだけ。自分が忘れても走る レビュアー 提供 Amazon Q Developer AWS Devin Review GitHub Copilot Codex Cursor Bugbot Socket Security 費用(私の契約で) 無料(プレビュー、月間行数制限) Cognition 無料(Devin アカウント要) GitHub Copilot Pro のプラン内 OpenAI ChatGPT プラン内のクレジット Cursor Pro 以上に包含。1回 $1〜1.5 相当を使用量枠から消費 Socket public は無料 性格 セキュリティ寄り。誤検知あり 提案 diff 付きで質が高い 差分の一般的なレビュー ローカルと同じ Codex が PR でも読む バグ検出特化 依存パッケージの供給網リスク に実証リポジトリ(pj-pilot)の直近PRで実測したレビュアー。費用は各社公式(2026年8〜9月時点)。Bugbot は2026 年 月に独立課金($40/月)を廃止しプラン包含へ 2026-09-15 5 03 / PR時 15 / 21

16.

デイリー: 毎日の見回り GitHub の標準機能を、自作の見回りで全リポジトリに強制する Dependabot GitHub 標準。依存パッケージの脆弱性・更新を毎週 PR で通知 Secret scanning GitHub 標準。秘密情報の混入を検知し、push 自体をブロック (自作) sweeper 04 / デイリー 毎朝の見回り。自作の GitHub Actions。06:00 に全リポジトリを巡回し、上の 2 つや CI・ブランチ保護が入っていなければ自動で入れる 16 / 21

17.

なぜ組み合わせるか: スイスチーズモデル どの層にも穴がある。穴の位置が違う層を重ねると、貫通しにくくなる 層1 ローカル 実行のし忘れ 人の記憶に頼ると抜ける。フックで機械的に実行を促す 層2 PR時 つのボットに頼らない 1 性格の違う5つを並べて、レビューの品質を上げる 層3 デイリー 毎日監視 変更がなくても、脆弱性や古い依存関係に対応する スイスチーズモデル: 安全工学で使われる考え方。1枚の防御は必ず穴があるので、複数枚を重ねて事故を防ぐ 05 / なぜ組み合わせるか 17 / 21

18.

ローカルを厚くする理由 先にローカルで潰すほど、PR時の層は軽く・安くなる 修正ループが短い 従量課金なし 05 / なぜ組み合わせるか 指摘 → 直す → 再レビューが手元で完結。PR に出してから直すと往復が増える や Codex の PR レビューは使用量枠を消費する。ローカルで指摘を直して から出せば回数が減る Bugbot 18 / 21

19.

それでもPR時の層を外さない理由 時の価値は効率ではなく、自分に依存しないこと PR 自分が忘れても走る ローカルは人の操作が起点。PR時は GitHub App が起点なので、急いでいる日も、エージェントが勝手に出した PRも、同じように読まれる 書いた本人と別の視点 ローカルで使った Claude Code と Codex 以外の4つのAIも読む。自己採点は人間もAIも甘くなりがち レビューの実行忘れを仕組みで減らす が「レビュー無しマージの増加」を品質リスクと警告。指摘への対応は会話解決必須で強制し、実行 忘れはフックと自動ボットで減らす DORA 2026 DORA = Google 05 の DevOps 調査プログラム。出典: DORA State of AI-assisted Software Development 2026 / なぜ組み合わせるか 19 / 21

20.

サブスクの範囲で使えるか: 主要なレビュー機能の早見表 「追加費用なしか」「Team / Enterprise 限定か」は機能ごとに違う ツール 機能 Claude Code /code-review /security-review Claude Code claude-security Claude Code /code-review ultra Claude Code Code Review GitHub App 、 プラグイン Codex ( ) /review(CLI) @codex review(GitHub) codex-security(CLI) Cursor Bugbot Codex Codex サブスク内 ○ 使える ○ Pro 以上 △ 無料 3 回まで ✕ 使えない ○ 使える ○ 使える △ Pro のみ ○ 使える 補足 全プラン対応 使用量枠の消費が大きい 以後は別課金(1 回 $5〜25) Team / Enterprise のみ。1 回 $15〜25 の別課金 Free から Enterprise まで全プランに含まれる Codex cloud 接続が必要。専用の使用量枠を消費 Plus は対象外。research preview 含まれる枠を超えると on-demand 課金 年 月時点の各社公式ドキュメントに基づく。全機能の一覧と根拠は Zenn 記事に整理: 2026 9 zenn.dev/yukkie1114/articles/f13672584add05 06 / 明日から使う方式 20 / 21

21.

まとめ: レビューは3層で仕組み化する ローカル: push前にローカルで実行する Claude Code の /code-review と /security-review、Codex の /review 時 を出したら自動で走る PR : PR GitHub App を入れておく。指摘は一次情報で裁定 デイリー: 毎日自動で実行する Dependabot コードレビューのスコアの測り方と結果(110件): zenn.dev/yukkie1114/articles/3d927e8c28e085 と Secret scanning を有効にするだけ 全部サブスクの範囲 追加課金なし。ただしローカルもサブスク枠は消費する 最新世代のスコアと、サブスクで使えるかの整理: zenn.dev/yukkie1114/articles/f13672584add05 まとめ / 篠田 敬廣 / X: @yukkie1114 21 / 21