はじめに: グリーンのCIが安全の証明ではなくなった理由
AIコーディングエージェントは、前例のない速度でコードを生成します。訓練されたエンジニアの手にかかれば生産性倍増装置ですが、厳格な判断なく使用すると、誤った前提をそのままプロダクションにデプロイする効率的な経路となってしまいます。問題は、このコードが表面的には完璧に見えることです。整ったPR説明、通過した静的解析、遵守されたコーベンション、合理的なテストカバレッジを備えています。しかし、エージェントはあなたのトラフィックパターン、障害モード、共有インフラの暗黙的な制約を理解していません。『このPRは正しそうだ』と『このPRはデプロイしても安全だ』の間のギャップは常に存在しましたが、AIはこのギャップをさらに広げました。Vercelの内部議論を公開した根拠資料を基に、実務で適用可能な洞察を共有します。

本論1: 依存(Dependence)と活用(Leverage)の根本的な違い
AIを活用することと依存することは全く異なります。
- 依存(Dependence): 「エージェントが書いたしテストも通ったからデプロイして大丈夫」と仮定する態度です。作成者は変更に対するメンタルモデルを構築しません。結果は隠れた前提で満たされた巨大なPRとなり、作成者もレビュアーもコードが実際に何をするか明確に把握できないため、レビュー自体が不可能になります。
- 活用(Leverage): エージェントを使って素早く反復しつつ、アウトプットに対する完全な所有権を維持することです。コードが負荷下でどう振る舞うかを正確に知り、関連するリスクを理解し、それらのリスクを所有できる状態でなければなりません。
簡単なリトマス試験があります: 「このPRに関連するプロダクションインシデントを、自分が責任を持って解決できるだろうか?」 PRに自分の名前を載せることは、「このコードを読み、何をするか理解している」という宣言です。自分が書いたPRを再度読まなければプロダクションへの影響を説明できないなら、エンジニアリングプロセスは既に失敗しています。
このような判断力は、React Compilerのような新しいツールを導入する際も同様です。パフォーマンス最適化を自動化するツールの登場は、開発者の精神的エネルギーを、システム全体の安定性やAI生成コードの品質管理といったより重要な問題に集中させることを可能にします。

本論2: 実行可能なガードレール(Executable Guardrails)の構築
解決策はエージェントの使用を止めることではありません。生産性向上は否定できず、モデルはより良くなるでしょう。核心は、実装(Implementation)は豊富になったが、安全にデプロイするものに関する判断(Judgment)が希少資源となったという新しい現実にインフラを合わせることです。
Vercelが提案する組織原則はシンプルです: 正しいことをするのを容易にすることです。
- 自動運転デプロイ(Self-driving Deployments): あらゆる変更は、ゲート付きパイプラインを通じて段階的にロールアウトされます。カナリアデプロイが性能を低下させると、ロールアウトは自動的に停止しロールバックされます。エンジニアがダッシュボードを見張る必要はありません。
- 継続的検証(Continuous Validation): インフラはデプロイ時点だけでなく、継続的に自己テストします。負荷テスト、カオスエンジニアリング実験、ディザスタリカバリ訓練が継続的に実行されます。
- 実行可能なガードレール(Executable Guardrails): 運用ナレッジをドキュメントではなく、実行可能なツールとしてエンコードします。安全なロールアウト「スキル」は、機能フラグの使い方を説明するNotionページではなく、フラグを接続し、ロールバック条件を含むロールアウト計画を生成し、期待される動作を検証する方法を指定するツールです。ガードレールが実行可能であれば、エージェントは自律的にそれに従い、人間は暗記する必要がなくなります。
このアプローチは特定の技術に限定されない普遍的なフレームワークです。例えば、ブラジルAIのための核心データセットのような主権AIプロジェクトを進める際にも、データ生成パイプラインに同様の「実行可能なガードレール」(例: データ品質自動検証、バイアス検出)を構築することが、長期的な成功を保証する核心となります。

結論: エージェントを活用し、リスクは所有せよ
低品質なコードは、過去には低品質のように見えました。今はもうそうではありません。AIツールはより強力になり、diffはより大きくなり、コードはより説得力を持って見えるでしょう。出力を盲目的に信頼したい誘惑は強まります。成功するエンジニアは、最も多くのコードを生成する人ではなく、自分がデプロイするものに対して冷酷な判断力を維持する人です。
次のPRを開く前に、自分自身に問いかけてください:
- このコードは何をしますか?一度ロールアウトされるとどう振る舞いますか?
- これはプロダクションや顧客にどのように悪影響を及ぼす可能性がありますか?
- このコードに関連するインシデントを自分が責任を持って解決できるだろうか?
答えが「はい」なら、あなたはAIを活用しています。デプロイしてください。 答えが「いいえ」なら、やるべきことがもっとあります。
合わせて読みたい記事: