AIはコードを書ける。誰が検証するのか?
AI Can Write the Code. Who Verifies It? (mihaisplace.com)
要約
AIによるコード生成の普及は開発スループットを向上させる一方で、バグやインシデントの増加、レビュー負荷の増大を招いている。AI時代のソフトウェア品質維持には、自動化されたソフトウェア検証が不可欠となる。Superpowers、RoboRev、Claude、Codex、GitHub Copilot、Cursor BugbotなどのAIレビューツールが登場しているが、これらはあくまで補助であり、最終的な判断と責任は人間が負うべきである。
全文翻訳
AIはコードを書ける。誰がそれを検証するのか?
AIコーディングエージェント時代の自動ソフトウェア検証
私たちはAIの全盛期を生きており、開発者自身が書く(あるいはレビューする)ことなくコードを出荷するケースが増えています。2026年のFarosによる調査によると、2万2千人の開発者と4千チームの2年間のテレメトリデータを分析した結果、エンジニアリングのスループットは向上しているものの、AIの採用率が高い組織では、バグ、手戻り、レビュー負荷、本番インシデントがさらに速いペースで増加していることが示されました。
その数字は驚くべきものです。Farosの報告によると、AIの採用率が低い期間と高い期間を比較した場合、開発者あたりのバグ数は54%増加し、PRのレビュー時間は中央値で約5倍になり、PRあたりのインシデント数は3倍以上に増加しました。これらはAIがすべての結果を引き起こしたという証明ではなく、あくまで相関関係です。その後のQ3レポートでは、初期の効果の一部は緩和されつつあるものの、検証、修正、運用コストは引き続き積み上がっていることも示されています。
私たちは、ここで何を行っているのかを理解し、改善するために、十分に立ち止まる必要があります。小規模なチームが、AIによって生成された膨大な差分を意味のある形でレビューすることは期待できません。AIが現在コードをプッシュできる速度では、通常のレビュープラクティスでさえ追いつくのに苦労しています。
では、ソフトウェアの品質、信頼性、保守性を犠牲にすることなく、AI支援開発のスピードを維持するにはどうすればよいでしょうか?
簡単です:自動ソフトウェア検証です。AIエンジニアとして、私たちが驚異的なスピードでコードをプッシュするために使用するのと同じ巧妙なツール、スキル、ハーネスを使って、精巧なテストと検証の自動化を構築できます。
正当な信頼と確信を構築する自動ソフトウェア検証こそが、前進する道です。これは、いかなるシステムもバグのないソフトウェアを保証できるからではなく、ユーザーに問題が到達する前に、それを捕捉するためのより多くの方法が必要だからです。
現在利用可能なものは?
現在、いくつかの概念が議論されています。
Superpowers
注目を集めている概念の一つに、Superpowersがあります。これは、コーディングエージェントとサポートされるハーネスと連携するエージェント型の開発方法論とスキルの集まりです。これは、エージェントがすぐにコードに飛びつくのではなく、規律あるソフトウェアエンジニアのように振る舞うことを奨励します。
例えば、物事をただ仮定するのではなく、実際に構築されているものを洗練させるのに役立ちます。計画、テスト駆動開発、デバッグ、レビューを重視しており、別のエージェントに作業をレビューさせることも含まれます。
これは素晴らしいスタートです。しかし、タスクによっては、方法論全体に従うと開発が遅くなる可能性があり、コードの正しさやセキュリティに対する信頼を得るために必要な、より広範なチェックを置き換えるものではありません。単一のプラグインでソフトウェアがバグフリーまたは脆弱性フリーになるわけではありません。
RoboRev
もう一つの興味深いフレームワークであるRoboRevは、広く使われているpandasライブラリの開発者であるWes McKinney氏によって開発されました。RoboRevは、ローカル開発ループに継続的なAIコードレビューを導入します。
そのアイデアは魅力的です。対面でのピアレビューと同様に、最初のLLMが書いたコードを別のLLMにレビューさせることができます。別のレビュー担当者、おそらく異なるモデルを使用することで、作成エージェントが見落とした間違いやアーキテクチャ上の問題を捕捉できる可能性があります。これは別の視点ですが、偏りのない、あるいは正しいレビューを保証するものではありません。
典型的なRoboRevの設定では、コードをコミットすると、ローカルデーモンが設定されたコーディングエージェントを使用してコミットを自動的にレビューします。これにより、コンテキストがまだ新鮮なうちに問題を修正するために、現在のLLMとコーディングハーネスにフィードバックできる発見事項が表面化します。
RoboRevは、フォローアップレビューワークフローやターゲットレビュータスクもサポートしています。検証が、最後にやることを思い出すのではなく、コーディングループの一部になるという点が魅力です。そのドキュメントには、利用可能なコマンドと統合が記載されています。
しかし、コードレビューという概念は新しいものではありません。2026年現在、Claude、Codex、GitHub Copilot、Cursor、Greptile、CodeRabbit、QodoなどのプロバイダーがAI支援コードレビューを提供しています。
それらすべてを説明すると、最もネットに張り付いているエンジニアでさえ眠ってしまうでしょう。そこで、主なものに焦点を当てましょう。
Claude Code Review
Anthropicのホスト型コードレビューは、ヘビーデューティーなPRレビュアーです。GitHubのプルリクエストでトリガーされると、複数の専門エージェントが並行して変更を調査し、論理エラー、セキュリティ脆弱性、リグレッション、見落とされたエッジケースなどを探します。
目標は、ローカルでの素早いチェックよりも時間とコストがかかる可能性のある、より深いレビューです。2026年10月現在、Anthropicは、このホスト型サービスをTeamおよびEnterpriseプラン向けのプレビュー版として提供しており、別途従量課金制となっています。
Claude Code用のAnthropic管理の/code-reviewプラグインもあります。これはコーディングワークフローからレビューを実行し、発見事項をPRに投稿できます。これはホスト型レビューサービスとは異なるワークフローなので、深さ、セットアップ、価格設定において同一視すべきではありません。レビューが含まれていると仮定する前に、プランと利用規約を確認してください。
OpenAI Codex Review
Codexのコードレビューは、リポジトリのコンテキストと指示に対してプルリクエストをレビューするという点で、同様のアプローチを取ります。接続されたGitHub PRで@codex reviewとリクエストするか、自動レビューを設定できます。Codexは、PRが存在する前にローカルの変更をレビューすることもサポートしています。
チェックしてほしい内容について、より具体的に指示できます。差分、PR、セキュリティ上の懸念、仕様への準拠などです。レビューで問題が見つかった場合、Codexに修正を作成させ、結果の変更を検査し、レビューを繰り返すことができます。これにより、有用なレビューと修正のループが得られますが、レビューと実装には依然として独立した検証が必要です。
GitHub Copilot Code Review
GitHubは、最もシンプルでハンズフリーなアプローチの1つを提供しています。Copilot Code Reviewを、PRを自動的にレビューし、リポジトリの指示に従い、適用可能な修正やCopilotコーディングエージェントへのパスを提案するように設定できます。
シームレスである一方で、そのフィードバックを盲目的に受け入れ始めると問題が発生します。Copilotは通常、承認レビューではなくコメントを残しますが、GitHubは一部の設定で承認を構成することをサポートしています。いずれにせよ、自動レビューは安全なマージ決定と同じではありません。
トレードオフとして、レビュー体験はDIYエージェントワークフローよりも管理されています。指示をカスタマイズできますが、独自のコーディングエージェントを呼び出す際に得られるような、実行ごとの直接的なモデル設定は得られません。
Cursor Bugbot
Cursor Bugbotは、GitHub PRを自動的にレビューし、論理バグやその他の問題を探し、Cursorでその発見事項に対処できるようにします。そのAutofix機能は、クラウドエージェントを通じて修正を提案することもできます。
最大の利点は、すでにCursorを使用しているチームにとっての利便性です。トレードオフとして、モデル選択とレビューのオーケストレーションの多くはCursorによって処理され、完全にカスタマイズ可能なワークフローとして公開されません。Cursorは、最先端モデルと社内モデルの組み合わせを使用していると述べています。
レビュアーは一人では十分ではない
強力なコーディングモデルにコードを書かせ、別の強力なモデルにそれをレビューさせるのが好きです。異なるモデルは異なる視点をもたらすことができますが、モデルの多様性は魔法ではありません。2つのエージェントが同じ間違った答えに同意したり、同じ要件を見落としたり、存在しないバグを自信を持ってフラグ付けしたりすることがあります。
実践的な結論は、AIレビューをLLMの判断に依存しないチェックと組み合わせることです。そして理想的には、特にリスクの高い変更については、最終的な決定に人間を責任者として置くことです。
さて、コードはレビューできます。しかし、コードが仕様を満たし、バグや脆弱性を導入せず、秘密情報を誤って公開しないという信頼性を高めるために、さらに多くのことができます。
それは次に話すことです。
AIと自動ソフトウェア開発時代のCI/CDパイプライン
ここに、可能なことのスーパーセットとして構築された包括的な検証パイプラインがあります。各ステップは、コードが意図したとおりに機能するという信頼性を高めることができますが、すべてのチームがすべてのチェックを必要とするわけではなく、いかなるチェックセットもソフトウェアが完璧であることを証明することはできません。この広範な哲学は、ソフトウェアエンジニアリングにおいて確立されており、NISTのセキュアソフトウェア開発フレームワークなどのフレームワークと一致しています。
長文は苦手ですか?このセクションの最後に、パイプライン全体の図があります。
コード品質とビルドチェック
- リンターチェック: コードのスタイル違反や一般的な間違いをチェックします。
- フォーマッターチェック: インデントやスペースなどのフォーマットがルールに従っていることを確認します。
- 型チェック: TypeScriptのような型付き言語を使用している場合、型が正しく使用されているか検証します。
- コンパイル/ビルドチェック: アプリケーションが正常にコンパイルまたはビルドされることを確認します。
自動テスト
- 単体テスト: 個々の機能ユニットが意図したとおりに機能するかテストします。
- 統合テスト: 支払いフローがAPI、データベース、支払いプロバイダーに触れるように、複数のコンポーネントが連携して機能するかテストします。
- エンドツーエンド(E2E)テスト: アプリケーション全体で重要なユーザーワークフローを最初から最後まで検証します。
セキュリティと依存関係のチェック
- 静的アプリケーションセキュリティテスト(SAST): ソースコードをスキャンして、潜在的なセキュリティ脆弱性に関連するパターンを探します。
- シークレットスキャン: パスワード、キー、機密性の高い認証情報がリポジトリに誤って含まれていないか探します。
- 依存関係の脆弱性スキャン: パッケージ依存関係における既知の脆弱性を見つけます。
- 依存関係の鮮度とサポート状況: 更新が必要な可能性のある、古くなったりサポートされなくなったりしたパッケージを特定します。
エージェントによるコードレビュー
- 一般的なバグスキャン: AIエージェントを使用して、可能性のあるバグを見つけてフラグを立てます。
- セキュリティ重視のレビュー: ルールベースのスキャナーでは捉えきれない潜在的なセキュリティリスクを調査するためにAIエージェントを使用します。
- 仕様に対するレビュー: 最新のPRまたはフィーチャーブランチが、重要なエッジケースを含む要求された動作を実装しているか確認します。
インフラストラクチャとデータベースのチェック
- コンテナとインフラストラクチャ設定のスキャン: コンテナやクラウドインフラストラクチャにおける安全でない設定や誤設定を探します。
- データベースマイグレーション検証: スキーマ変更がデプロイに安全か、データ損失やダウンタイムを引き起こす可能性があるか、ロールバックを困難にするかなどを評価します。
アーキテクチャと保守性のレビュー
- 肥大化、複雑性、アーキテクチャ簡素化チェック: AIエージェントを使用して、不要なコード、過剰な設計、過度の複雑性、実装を簡素化する機会を特定します。
その他覚えておくべきチェック
アプリケーションに応じて、パフォーマンスと負荷テスト、アクセシビリティチェック、プライバシーとコンプライアンスチェック、ソフトウェアライセンス/サプライチェーンチェックを追加します。安全なデプロイメントでも、遅かったり、アクセスできなかったり、データを誤って扱ったりする可能性があります。これらのチェックはすべてのコミットで実行する必要はありませんが、全体プロセスの中で場所を持つべきです。
[画像: 自動ソフトウェア検証スタックの図:コード変更は、コード品質とビルドチェック、自動テスト、セキュリティと依存関係スキャン、AIコードレビュー、インフラストラクチャとデータベースチェック、アーキテクチャと保守性レビュー、そして本番環境へのデプロイ前に人間のレビューを通過し、本番環境の監視がコード、テスト、アーキテクチャにフィードバックされる。凡例は決定論的なチェックとAI支援チェックを分離し、バーはリスクの高い変更ほど検証深度が増加することを示す]
まとめると、これらのチェックをどのように設定できるか?
私たちが議論した検証パターンのほとんどは、数十年前から確立されたプラクティスであり、主要なプラットフォームはすでにそれらを自動化するためのツールを提供しています。GitHub Actions、GitLab CI/CD、Jenkinsは、それらをオーケストレーションするための一般的な方法です。
例えばGitHub Actionsを見てみましょう。開発者はリポジトリ内に保存されたYAMLファイルで自動化されたワークフローを定義します。これらのワークフローは、コードのプッシュ、プルリクエストのオープン、変更のマージによってトリガーできます。GitHubは実行環境(ランナー)を起動し、ワークフローのステップを実行します。
これらのステップには、依存関係のインストールや、リンター、テスト、セキュリティスキャナーなどの決定論的なチェックの実行が含まれることがよくあります。ますます、より洗練された非決定論的なレビューのためにAIエージェントを呼び出すこともできるようになっています。GitHubのActionsドキュメントと公式のCodex GitHub Actionを参照してください。
簡略化されたワークフローは、.github/workflows/verification.ymlで次のようになります。
name: Code Verification
on:
pull_request:
permissions:
contents: read
jobs:
quality:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: ./ci/quality.sh
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: ./ci/tests.sh
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: ./ci/security.sh
infrastructure:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: ./ci/infrastructure.sh
agent-review:
# この例では、外部フォークとDependabotによってトリガーされた実行をスキップします。
# ボットレビューには別途設定が必要です。
if: github.event.pull_request.head.repo.full_name == github.repository && github.actor != 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 0
persist-credentials: false
- uses: openai/codex-action@v1
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
permission-profile: ':read-only'
prompt: |
Review the changes in this PR relative to
base commit ${{ github.event.pull_request.base.sha }}.
Use git diff to inspect the changes.
Check for:
1. Logic bugs and missed edge cases
2. Security vulnerabilities
3. Compliance with the project specification
4. Unnecessary complexity or overengineering
Report actionable findings with file paths
and line numbers. Do not modify files.
これは説明的なワークフローであり、すぐに使えるCI設定ではありません。 ./ci/*.sh スクリプトは、リポジトリで作成するスクリプトのプレースホルダーです。エージェントジョブはレビューを実行しますが、発見事項をPRに自動的に投稿するわけではありません。これには追加のレポートステップが必要です。実際のプロジェクトでは、サードパーティのアクションを信頼できるコミットSHAにピン留めし、権限を制限し、信頼できない貢献者からのコードとAPIキーにアクセスできるワークフローを慎重に分離してください。GitHubとOpenAIはどちらも、セキュアなPRワークフローとCodex Actionのセキュリティに関するガイダンスを公開しています。
エージェントレビューの場合、GitHub Actionsで独自のLLMプロバイダーと認証情報を設定できることに注意してください。公式のCodex ActionはOpenAI APIキーを使用します。別のプロバイダーを使用する場合は、そのプロバイダーの対応する統合が必要になります。
しかし、この全体のパイプラインをすべてのPRに対して実行すると、特に日中に多くのPRを扱う継続的インテグレーションを実践しているチームにとっては、高価になる可能性があります。一部のチェックやエージェントレビューは数秒ではなく数分かかり、AI呼び出しのコストが積み重なる可能性があります。
安価なチェックを早期に実行し、より重いチェックを後続のステージやリスクの高い変更のために保存する方が、はるかに高速で便利です。
ここで、プリコミット、ポストコミット/プッシュ、プルリクエスト、プリプロダクション、プロダクションの各ステージが登場します。
理想的には、成熟したテストワークフローでは、ステージごと、および変更のリスクごとにチェックを分類します。
まだテキストを避けていますか?このセクションの最後に別の図があります。
プリコミット
これは、コードがローカルにコミットされる前のステージです。
ここで実行すべきこと: フォーマット、リンティング、型チェック、集中的な単体テスト、十分高速なビルドチェック、シークレットスキャン。これらのいくつかはGitフックを通じて実行でき、 others はエディタやコーディングエージェントハーネスで直接実行できます。
ポストコミット / プッシュ
これは、コードがコミットされ、リモートリポジトリにプッシュされた後のステージです。
ここで実行すべきこと: より広範な単体テストと統合テスト、SAST、依存関係の脆弱性スキャン。ローカルのポストコミットレビューツールも、各コミット後に迅速なフィードバックを提供できます。
プルリクエスト(PR)
これは、変更がマージされる前に提案された変更がレビューおよび検証される場所です。
ここで実行すべきこと: 関連する自動テスト、エージェントによるバグスキャン、エージェントによるセキュリティレビュー、仕様準拠レビュー、アーキテクチャ/複雑性評価。より包括的なチェックは、リスクの高い変更のために予約されるべきです。リポジトリのルールセットを使用して、マージ前に主要なチェックをパスさせる必要があります。
プリプロダクション / デプロイメント
これは、コードが本番環境にリリースされる前に検証されるステージです。
ここで実行すべきこと: 適切な場合は完全な統合テストとE2Eテスト、インフラストラクチャ設定のスキャン、データベースマイグレーションの検証、デプロイメントのスモークテスト、最終的なセキュリティチェック。リスクの高いリリースについては、ステージングまたはカナリアデプロイメントとテスト済みのロールバック計画を検討してください。
プロダクション / ポストデプロイメント
これは、コードがデプロイされ、本番環境で実行された後のステージです。
ここで実行すべきこと: アプリケーションのヘルスチェック、エラー監視、パフォーマンス監視、セキュリティ監視、スモークテスト、異常検知、安全な場合の自動ロールバック。
[画像: 各チェックが実行されるタイミングの図:プリコミット(フォーマットとリンティング、型と単体テスト、シークレットスキャン)、ポストコミットまたはプッシュ(AIコミットレビュー、統合テスト、SASTと依存関係)、プルリクエスト(AIと仕様レビュー、必須チェック、人間の承認)、プリプロダクション(エンドツーエンドテスト、マイグレーション検証、スモークテスト)、プロダクション(監視、異常、ロールバック)。高速で安価なチェックから、より深くリスクベースの検証へと進む]
大手テック企業はAIソフトウェアファクトリーをどのように運用しているか
一部の大手企業は、このトピックについて長年試行錯誤を重ねてきました。彼らはそれを実現する才能と、トークンを最大化するための潤沢な資金を持っています。Adam FaikがHow to build an AI-native software factoryで概説しているように、Uber、Shopify、DoorDash、Spotify、Stripeなどは、この絶えず進化するソフトウェアファクトリーライフサイクルの最先端が現在どこにあるのかを垣間見せてくれます。
要するに、チームは一般的にリクエストをルーティングするゲートウェイまたはフロントドアを持ち、それらのリクエストは適切な権限とガバナンスを通じて資格確認され、その後、大部分が自動化されたパイプラインにプッシュされます。このパイプラインは、リクエストを調査し、仕様を決定し、計画を提案し、それを構築し、テストし、それを示す証拠を持つために必要なコード、会社のコンテキスト、および内部ツールにアクセスできます。差分、スクリーンショット、テスト、自動レビュー、そして開発者がコードを実際にマージまたは本番環境にプッシュする前にレビューする分析結果の数々です。
言い換えれば、開発者は、解決すべき問題の考案、その解決方法に関するいくつかの入力の提供にますます焦点を当て、実装と検証の大部分をエージェント型ワークフローに任せるようになります。完了後、開発者はPRのマージまたは本番環境へのプッシュ前に、 glorified レビュアーおよび最終ゲートキーパーとして機能します。もちろん、企業によって自律性の度合いは異なり、重要な意思決定には依然として人間が関与しています。
セキュリティ、分離された環境、検証、コストに関するこのプロセスには、さらに多くのことがあります。そして、私が省略した多くの詳細がありますが、Adamの記事は、これらのAIソフトウェアファクトリーが大規模でどのように構成され、運用されているかについて興味がある人にとって、魅力的な読み物だと思います。
私が使用する実践的なエージェント型ソフトウェア開発ワークフロー
さて、ここまで読んでくださった方のために、ケースを締めくくるために1つのPRを歩んでみましょう。
このセクションの最後には、私の完全なパイプラインを要約した図があります。
私のアプリに、ユーザーがプロフィールを表示・更新できるプロフィールページを作成するという新しいリクエストがあるとします。
強力なコーディングモデル(私のセットアップでは多くの場合Claude)を使用して、プロフィールページが何をすべきか、どのように見えるべきかを、可能な限り詳細に説明します。
私のエージェント型ワークフローは仕様を返します。私たちは数回やり取りし、私はそれを注意深くレビューし、満足するまで更新します。その後、エージェントに、戦略的、実践的、順序的なステップに分割された実装計画を作成するように依頼します。これは論理的にコミットに分割できます。
また、2番目のトップティアモデル(例えばCodex)に計画をレビューさせ、何か見落とされたり改善されたりする点がないか確認させます。最終的な計画には、構築する予定の単体テスト、統合テスト、エンドツーエンドテストが含まれます。
計画をレビューし、必要に応じて反復し、承認します。
その時点で、私のメインコーディングエージェントは、計画に従って、ステップごとまたはコミットごとに作業を開始します。各ステップの後、別の強力なモデルにその変更をレビューするように依頼します。
変更が高リスクな場合(例えば、支払いまたは機密性の高い本番フローに触れる場合)、その間、各コミットをレビューします。そうでない場合は、フィーチャー全体が完了してから、詳細な人間のレビューを行う場合があります。
コーディングエージェントが、2番目のLLMまたは私から改善の提案を受け取ると、それらの変更を組み込み、次のステップに進みます。
これはコミットごとに行われ、フロントエンド、バックエンド、またはその他の必要なコードに変更が加えられます。その間、エージェントは適切に単体テスト、統合テスト、E2Eテストを実行します。私が構築・保守しているソフトウェアでは、これらのテストの多くは比較的安価で高速に実行できます。何か失敗した場合はフラグが立てられ、修正します。
最後に、最後のコミットに到達したら、別のモデルに全体の変更(すべてのコミットとすべての差分)を元の仕様に対してレビューさせ、見落とされたものがないかフラグを立てるように依頼します。何かフラグが立てられたら、調査して修正します。そうでなければ、先に進みます。
これでPRステージに到達しました。実装、レビュー、そして仕様に対する再レビューを行い、その過程でテストを実行してすべてがまだ機能することを確認しました。
その後、変更の重要度に応じた注意を払って、フル差分を自分でレビューします。変更が重要であればあるほど、レビューは慎重になります。また、その他の自動チェックも実行します。SAST、依存関係スキャン、エージェントによるバグレビュー、エージェントによるセキュリティレビューです。これらのいくつかはAIエージェントを使用し、 others は決定論的なツールを使用します。
最後に、フィーチャーを構築したエージェントに、変更が機能することを確認するために私が実行できる、短くて簡単な手動テストを作成するように依頼します。
コードをローカルまたはテスト環境で起動し、これらのチェックを実行し、すべてがパスすれば本番環境にデプロイします。
変更が非常に複雑であったり、機密データを扱ったりする場合は、本番環境で限定的で安全な一連のスモークテストを実行することもあります。実際のユーザーデータに公開したり、破壊的な変更を加えたりすることなく行います。
[画像: Mihaiのワークフローを3つのフェーズで示す図:計画(フィーチャーリクエスト、仕様、計画);実装、コミットごとに繰り返し(エージェントがコミットを実装し、別のAIがそれをレビューし、テストを実行し、発見事項を修正);検証とリリース(仕様に対する全体変更レビュー、CIとセキュリティチェックと並行した人間のPRレビュー、手動スモークテスト、その後デプロイと監視)]
このフローにより、私と私のチームは、コードを迅速に出荷しながら、出荷されるものが仕様を満たし、意味のあるテストとセキュリティチェックを経ているという信頼を構築できます。完璧な信頼ではありません(ソフトウェアは決してバグフリーであるとかハッキング不可能であると保証されるものではありません)が、エージェントが生成したものを盲目的にマージするよりもはるかに高い信頼性です。
そしてこれが本当にポイントです:AIがコードを書くことを安価にするなら、検証は私たちがソフトウェアを構築する方法のファーストクラスのパートにならなければなりません。
この軽量ワークフローハーネスをどのように実行しているか興味がある場合は、お知らせください。喜んで共有します。
次回まで、テストがパスし、コンテキストウィンドウが枯渇しないことを願っています。
〜Mihai
ソースと参考文献
以下のソースは、言及されている調査結果、製品機能、CI/CD/セキュリティガイダンスをサポートしています。製品機能、プランの可用性、価格は変更される可能性があります。
- Faros — The Acceleration Whiplash (2026年第2四半期): 2026 AIエンジニアリングレポート。調査範囲、スループット、レビュー負荷、バグ、インシデント。
- Faros — The Speed Trap (2026年第3四半期): 最新レポートの要点。後期のAI採用パターンと下流コストに関するニュアンス。
- Superpowers (Jesse Vincent / obra): GitHubリポジトリ。スキルベースの開発ワークフロー、計画、TDD、デバッグ、レビュー。
- RoboRev: 公式サイトおよびドキュメント。ローカル継続コードレビュー、Gitフック、レビューライフサイクル。
- Wes McKinney: GitHubプロフィール。pandasの作成者であり、Kenn Softwareの創設者。
- Anthropic: Claude Codeのコードレビュー設定。ホスト型レビューアーキテクチャ、適格性、価格設定、トリガー。
- Anthropic: Claude Code
/code-reviewプラグイン。プラグイン機能とワークフロー。 - OpenAI: CodexでGitHubプルリクエストをレビューおよびCodex PRレビューヘルプ。PRレビュー、プロンプト、フォローアップアクション。
- GitHub: GitHub Copilotコードレビューの使用。自動レビュー、提案された変更、レビューステータス、カスタマイズ。
- Cursor: BugbotおよびBugbot Autofix。PRレビューと支援された修正。
- NIST: セキュアソフトウェア開発フレームワーク(SSDF)、SP 800-218。ソフトウェア開発ライフサイクル全体にわたるセキュリティプラクティス。
- GitHub: GitHub Actionsドキュメント、リポジトリルールセット、およびセキュアな
pull_request_targetの使用。ワークフロー、ステータスチェック、信頼境界。 - OpenAI: Codex GitHub Actionおよびセキュリティガイダンス。アクション設定、読み取り専用権限、秘密情報の取り扱いに関する注意点。
- Adam Faik, The AI Thinker: AIネイティブなソフトウェアファクトリーの構築方法(2026年10月)。Uber、Shopify、DoorDash、Spotify、Stripeなどがコーディングエージェントを大規模に運用する方法、受付からマージまで。