「AIにできないこと」を語るコンサルと、夜間にコードを自走させる現場の断絶

「AIにできないこと」を語る言説と、夜間にコードを自走させる開発現場。その断絶と、実務型アーキテクトの役割を整…

Ren Kato

大手コンサルティングファームの広告を見ていると、「AIに実務は代替できないからこそ、生身の人間の伴走が必要だ」という言説が目につきます。伴走が価値になる場面は、確かにあります。合意形成や経営判断、変革の推進は、人にしかできない仕事です。

しかし、現場でプロダクトを組んでいる立場から見ると、「AIにできないこと」を売り文句の中心に置く言説には、工数ビジネスを守るためのポジショントークの側面がある、と私は見ています。

現場で起きていること

いま最前線の開発現場で起きているのは、「ChatGPTにプロンプトを投げて、コピペする」という牧歌的な世界ではありません。Claude CodeやCursorのようなエージェントを、自律実行のパイプラインに組み込み、「夕方にIssue(課題)を投げれば、翌朝には、テストを通過したプルリクエストが、人間のレビュー待ちで並んでいる」という形に、開発の進め方を根本から作り直す動きです。

どちらのツールにも、そのための機能があります。Claude Codeは、対話なしの非対話モード(claude -p)で、スクリプトやCI/CDから呼び出せます。Cursorの「Cloud Agents」(バックグラウンドエージェント)は、専用の仮想マシン上で、非同期に作業し、完了すると、プルリクエストを自動で開きます。

仕組みは魔法ではなく、泥臭い設計である

この仕組みは、魔法ではありません。極めて泥臭いアーキテクチャ設計の積み重ねで成り立っています。私が重要だと考える点は、次の4つです。

  1. 言語とコンテキストの統一:画面(Next.js)から、バックエンド、インフラ定義(AWS CDK)までを、TypeScriptなどの単一言語でそろえます。AIが参照するコンテキストのノイズを、極小にするためです。型は、AIが自分の出力を検証するための足場にもなります。
  2. 時間のかかる処理の非同期化:推論や音声認識などは、画面側で待たせず、SQSなどのイベント駆動で、非同期に逃がします。
  3. 自己修復(Self-Healing)のループ:AIが、自らテストコマンドを実行し、エラーログを読み取り、コードを直します。ただし、再試行の回数と、費用の上限は、必ず設けます。Claude Codeの非対話実行にも、費用の上限を指定するオプションがあります。
  4. 品質ゲート:型チェックとセキュリティスキャンを通過したコードだけを、日本語の要約を付けて、シニアエンジニアの机に届けます。

人間の役割は、「書く」から「承認する」へ

人間が担うべきは、「コードを書く作業」ではなく、最後のアーキテクチャの妥当性を判断する、Human-in-the-loopの承認です。AIが下書きし、人が確定します。

私は、AIを「国語の電卓」、アルゴリズムやシステムを「算数の電卓」と呼び、それらをレビューし、最終承認する人間を、指揮者と呼んでいます。夜間のパイプラインは、その指揮者の机に、承認すべきものだけを届ける仕組みでもあります。

仕様は、動くコードから逆引きする

仕様書がきれいに整うのを待ってから、ウォーターフォールで進める進め方は、通用しにくくなってきました。仕様が不透明で、混沌とした現場ほど、AIを相棒にして、数時間で動くスパイクコード(試作)を立ち上げ、実際の挙動から仕様を逆引きして、ドキュメントを固めるやり方が、速く、手戻りも少ないと、私は考えています。

ただし、万能ではない

この進め方には、前提があります。

  • テストの質が、品質の上限になる:「全テスト通過」は、テストが守っている範囲でしか、品質を保証しません。
  • レビューが律速になる:翌朝に並ぶプルリクエストは、人が実際に判断できる量に収める必要があります。
  • 無人の実行には、権限の設計が要る:許可する操作は、明示的に絞ります。具体的な設計は、次の技術補足で述べます。
  • 規制や安全に関わる領域:仕様と承認の記録は、引き続き必要です。

技術補足:自動ガードレール(Guardrails & Lint)

夜間に人のいない状態でエージェントを走らせるには、「暴走しても、被害が限定される」設計が前提です。ガードレールは、プロンプトでのお願いではなく、AIの外側で強制する仕組みで作ります。最小限の構成は、次の4つです。

  1. 必須ゲート:セキュリティスキャナー(Snyk、Trivyなど)と、静的解析(ESLint、TypeScriptの型チェック)を、パイプラインの必須ゲートとして強制実行します。通らなかったコードは、人のレビューにも回しません。
  2. テストの改ざん防止:AIが「テストを通すために、テストコード側を都合よく書き換える」不正は、スキャナーや型チェックでは、検出しにくい問題です。テストとCI定義の変更は、CODEOWNERSで、人のレビューを必須にします。
  3. 権限と上限:実行環境は、使い捨ての隔離環境にし、本番の認証情報は置きません。mainへの直接のpushは禁止し、承認とマージは、人だけに許します(GitHubのブランチ保護)。費用と再試行の回数には、上限を設けます。
  4. 記録:実行ログと、拒否された操作の記録を、承認の前に確認します。

AIを「信頼する」のではなく、「間違えても被害が限定される」ように設計する。これが、夜間の自走を、実務に載せる条件です。

必要なのは「実務型アーキテクト」

きれいなパワポで、AI導入のグランドデザインを語るだけの評論家では、このパイプラインを、1本も通すことはできません。必要なのは、経営陣が求めるROIを理解した上で、最前線のアーキテクチャの配線まで、一人称で手を動かして組み上げられる「実務型アーキテクト」です。

AIを、社会のどこに配置するか。その配置を設計し、配線まで引く人が、いま求められています。

根拠・参照


この覚書は、執筆中の書籍の構想メモです。論証の全体は、書籍の中で展開します。

NOTE 一覧へ | トップへ