Cloud & Databases

Claude、クラウドネイティブコード検証に本物の環境を必要とする

Claude Codeを利用する開発者は、衝撃的な現実に直面している。本物の環境がなければ、AIエージェントは一見完璧でも、本番環境では崩壊するコードを生み出すのだ。Boris Cherny氏の指摘は、期待と現実のギャップを浮き彫りにしている。

{# Always render the hero — falls back to the theme OG image when article.image_url is empty (e.g. after the audit's repair_hero_images cleared a blocked Unsplash hot-link). Without this fallback, evergreens with cleared image_url render no hero at all → the JSON-LD ImageObject loses its visual counterpart and LCP attrs go missing. #}
サービスメッシュを備えたクラウドネイティブ環境におけるClaude Code検証ループの図

Key Takeaways

  • Claudeのようなコーディングエージェントは自己検証で出力を2~3倍向上させるが、クラウドネイティブシステムは本物の環境を必要とする。
  • 障害はサービスの「継ぎ目」で発生する。mocksはそれを捉えられず、開発者に負担を押し付ける。
  • 業界は検証ループで収束しつつある。次なるステップは、タスクごとの本番ライクで独立した環境だ。

デプロイが失敗する——あなたが書いたコードのせいではなく、3つのサービスも奥深くで、ヘッダーの変更が静かに影響を広げている。それが、Claudeのようなコーディングエージェントに頼るクラウドネイティブチームの日常だ。Claude Codeの開発者であるBoris Cherny氏はXで、エージェントが輝くためには検証ループが必要であり、特にOpus 4.7ではそれがより重要だと熱弁した。しかし、問題はそのループが分散システムの前では砕け散ってしまうことにある。

Claudeの約束は?生産性2~3倍。現実?エージェントが本番環境のようにテストできない場合、レビューチケットの山が築かれる。

みんなが賭ける検証ループ

Boris氏はこう断言した。

「Claudeに、その作業を検証する手段を与えるように。これは常にClaudeから得られるものを2~3倍にする方法であり、4.7ではこれまで以上に重要だ。」

この言葉は業界全体に響き渡っている。OpenAIのCodexは、独立したクラウドコンテナを起動し、編集、チェック、AGENTS.mdルールに対する検証を行う——そのループこそが製品だ。GitHub Copilotは、一時的なActionsランナーを起動し、テスト、リンター、CodeQL、シークレットスキャンを実行する。失敗すれば、レビュー前に修正する。Cursorのエージェントは、サンドボックス化されたVMにシェル、ブラウザ、さらにはスクリーンショットやログを証拠として提供する。

Claude Codeは、テストがパスするまで完了をブロックするストップフックや、検査用のサブエージェントといった基本的な機能を提供する。チームはそれらを組み立てる。しかし、収束は偶然ではない。どのベンダーもこの落とし穴を見ている:検証されていないコードは、負担を人間に押し戻す。生産性?レビューで蒸発する。

自己検証するエージェントは反復し、エラーを捉え、信頼できる作業を提供する。それが今のゴールドスタンダードだ。

しかし、クラウドネイティブコードはサンドボックスを嘲笑う。

なぜクラウドネイティブコードがAIエージェントを破壊するのか

独立したテストでは不十分だ。コードは、サービス呼び出し、非同期バス、スキーマの連鎖、呼び出し元から数ホップ離れたミドルウェアヘッダーといった「継ぎ目」で失敗する。

「エージェントが変更しているコードが、独立して失敗することはめったにない。それは継ぎ目で失敗する。」

Mocks?無駄だ。それらはエージェントが想定していることを反響させるだけだ。真の検証には、エンドツーエンドの実行が必要だ——実際の依存関係、トラフィックパターン、近似なし。そうでなければ?さらなるレビュー、破壊されたステージング、本番バグだ。

2010年代のマイクロサービスブームを思い出すがいい。チームは疎結合を追い求めたが、分散モノリスを手に入れ、実行時まで隠されていた障害に遭遇した。今、AIエージェントも同じ壁にぶつかっている、たださらに速いだけだ。私の洞察:これはDockerの台頭と似ている。コンテナはデプロイにおけるローカル対本番のギャップを解決した;今日のAIエージェントは、検証のために同等のものを必要としている——タスクごとに起動される、一時的な本番ライクなクラスタだ。

それがなければ、Claude(そして競合他社)は、征服しなければならない複雑なトポロジーにとってのおもちゃのままであり、支配者ではない。

本物の環境は実際にどう機能するのか

クラウドチームは、「本物」のサービス、データパス、トラフィックに対してフィードバックを求めている——独立しておりながら、本番環境に近いものだ。3つの必須要件がある。

現実的であること。境界が本番環境と一致していなければ、検証は意味をなさない。

独立していること。同時実行されるエージェント/開発者が共有スペースを破壊できないこと。

高速であること。数秒で起動・終了しないと、ループが遅延する。

GitHub ActionsはCIにおいてはその片鱗を見せるが、エージェントにはタスクごとの動的な対応が必要だ。Teleportやkind (Kubernetes-in-Docker) のようなツールは表面をなぞるが、エージェントネイティブのフックには欠けている。ClaudeがFly.ioやRenderのミニクラスタをプロビジョニングし、合成トラフィックをルーティングし、連鎖を観察し、そして反復する様子を想像してほしい。

Anthropicのプリミティブは役立つが、それらはローカルファーストだ。アーキテクチャのシフトは?ベンダーはクラウド環境のオーケストレーションを埋め込む必要がある、さもなければチームはPulumi/Terraformを使ってループでそれを追加することになる。予測:2025年までに、「エージェントネイティブ環境」は、IDEにおけるGit統合のように、必須のものとなるだろう。

半端な対策の代償

ステージング環境はエージェントの負荷で破綻する——1つの不正な変更で、全員が停止する。手動検証キューが爆発する。バグがすり抜け、信頼が失われる。Cherny氏のヒントは単一リポジトリでは機能するが、Kubernetesメッシュにスケールすると、それは手動の地獄となる。

チームはmocksをハックするが、それは嘘をつく。実際のトラフィックは、mocksが見落とすレースコンディション、クォータヒット、レイテンシスパイクを露呈させる。

企業の宣伝文句ではこれは「エージェントワークフロー」と呼ばれる。実態を言えば、環境の現実感がなければ不完全だ。Anthropic、OpenAI——インフラを shipするか、おもちゃのプロジェクトで採用が停滞するのを見るがいい。

欠けているピースを構築する

シンプルに始める。Kubernetesのポートフォワーディングをエージェントに公開する。実際のDBスナップショットをパイプする。Istioのようなサービスメッシュを使ってトラフィックをリプレイする。

高度な方法:Mirrordのようなツールは、本番トラフィックをローカルエージェントにプロキシする——危険だが強力だ。または、Crossplaneでオンデマンドクラスタを構築する。

Claudeのサブエージェントは、これをネイティブにオーケストレーションできる可能性がある。それまでは、チームがスクリプトで対応する。なぜか?自己検証エージェントは、GitHubの初期データによると、サイクルを80%削減する。クラウドネイティブは、それがスケールすることを要求している。

これは誇大広告ではない。エージェントデモと日々の速度の間のアーキテクチャ的な亀裂なのだ。

なぜこれがクラウドネイティブ開発者にとって重要なのか?

「テストに合格した」エージェントコードのデバッグに何時間も無駄にするだろう。本物の環境は、エージェントが統合バグを所有することを意味する——あなたのレビューはアーキテクチャに縮小される。

分散障害のシフトレフト。本番ライクな検証は、レビュー前に70%以上の問題を捉える(Copilotの内部統計を示唆)。

リードにとって:エスケープが減り、出荷が速くなる。どうやって?モデルサイズよりも環境の現実感を優先する。Opus 4.7の利点はここで3倍になる。

コーディングエージェントはクラウドネイティブを完全に扱えるようになるのか?

環境革命なしでは無理だ。現在のループはCRUDアプリには十分だ。イベント駆動型メッシュには?今すぐインフラを構築しろ。

歴史がそれを証明している——CI/CDはDocker以降に成熟した。エージェントも同様に成熟するだろう。

**


🧬 関連インサイト

よくある質問**

Claude Codeの検証ループは何をするのか?

Claudeがテスト、フック、サブエージェントを通じて自身のコードをチェックできるようにし、レビュー前にエラーを捉えることで出力を2~3倍向上させる。

AIエージェントはなぜmocksでクラウドネイティブコードをテストできないのか?

Mocksはサービス呼び出しや非同期イベントのような「継ぎ目」の失敗を隠してしまう;本物の環境は本番環境のような振る舞いを露呈させる。

Claudeのために本物の環境をセットアップするにはどうすればいいか?

一時的なK8sクラスタ(kind, minikube)、トラフィックリプレイツール、またはGitHub Actionsのようなベンダーサンドボックスを使用して、エンドツーエンドの検証を行う。

Jordan Kim
Written by

Infrastructure reporter. Covers CNCF projects, cloud-native ecosystems, and OSS-backed platforms.

Worth sharing?

Get the best Open Source stories of the week in your inbox — no noise, no spam.

Originally reported by The New Stack