0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Vibe Codingの終焉。AIの暴走を物理的に封殺する「ハーネスエンジニアリング」とHeadless自律QAの泥臭い実践

0
Last updated at Posted at 2026-04-26

はじめに

AIエージェントに「要件」を投げれば、それっぽいアプリが数分で組み上がる。いわゆる「Vibe Coding(ノリと雰囲気のコーディング)」全盛の時代です。しかし、我々が主戦場とする WASM (WebAssembly) × marimo のような極限の制約環境において、Vibe Coding は「技術的負債の時限爆弾」に他なりません。

我々「Marimo App Project」は、これまで厳格なSSOT(Single Source of Truth)という「ルール」でAIを縛るアプローチをとってきました。しかし、結論から言います。ルール(プロンプト)だけでは、AIの微細なハルシネーション(幻覚)は防げません。

本記事では、AIをルールで縛るフェーズから一歩先の次元、「システム的な安全装置(ハーネスエンジニアリング)」 へと進化した我々の最新アーキテクチャと、泥臭い失敗から生まれた「自律テストループ」の実践を公開します。

1. ルールの限界と「システム的ハーネス」への移行

これまでの我々は、AIに「このコンポーネントは使うな」「データ型を厳守せよ」とプロンプトレベル(SSOT)で徹底的に叩き込んでいました。しかし、複雑な計算ロジックや状態管理が絡むと、AIは時折予期せぬ None を混入させたり、暗黙の型変換を行ったりします。ルール違反による「サイレントクラッシュ」です。

「AIに気をつけてと指示する」ことの限界を悟った我々は、marimo v0.23.1 の新仕様を逆手にとった「The Fail-Safe Protocol」を導入しました。

Exception Blocking による物理的遮断

marimo v0.23.1 では、上位のセルでエラーが発生した場合、下位のセルの実行を自動的にブロックする機能(Exception Blocking)が強化されています。我々はこの恩恵を最大化するため、AIに対して「プロンプトで注意を促す」のではなく、「少しでも異常があれば mo.stop() 等のガード節で物理的に処理を落とす」 システム的ハーネス(安全装置)をアーキテクチャの根底に組み込みました。

AIが暴走した瞬間、システムが下流への汚染を物理的に遮断する。これが「ルール」から「ハーネスエンジニアリング」への進化です。

2. ブラウザの呪縛と「Headless自律QAループ」の発見

「AIが書いたコードを、AI自身にテストさせる」。言葉にするのは簡単ですが、我々はこの実践において 「30分間のデッドロック(死のループ)」 という地獄を味わいました。

当初、我々は自律QAエージェント(Antigravity)にブラウザを直接操作させ、UIの描画からエンドツーエンドでテストさせようと試みました。しかし、WASM環境特有のサーバーブロッキングや、描画遅延による非同期処理の壁にエージェントが衝突。エラーを解決しようとリロードを繰り返し、永遠にログを吐き出し続ける「死のループ」に陥ったのです。

GUIを捨て、純粋な論理デバッグへ

この痛ましい失敗から、我々は「AIに人間と同じようにブラウザを操作させること」の無意味さを悟りました。

現在の我々の解は、UIの描画テストを完全に諦め、--headless モードへエージェントを解き放つことです。ブラウザという「GUIの呪縛」から解放されたAIエージェントは、特有の「純粋な論理デバッグ能力」を爆発的に発揮します。WASM環境の制約に邪魔されることなく、内部ロジックの整合性や状態(State)の遷移のみを高速で検証する「Headless自律QAループ」こそが、真の自動化の正解でした。

3. Vibe Codingの終焉と「制約の美学」

世の多くのエンジニアが「AIにいかに自由に、賢くコードを書かせるか」に腐心しています。しかし、AIに自由を与えれば与えるほど、プロジェクトはブラックボックス化し、後から人間が手出しできないスパゲティコード(例えば、動的ループの崩壊など)が生み出されます。

我々は真逆のアプローチをとります。それが 「Safe-Block Protocol」 などの絶対的な制約のハードコードです。

例えば、marimo の DAG(依存関係グラフ)の純度を死守するため、動的データの生成時に AI が for ループを使用することを物理的に封殺し、「純粋なリスト内包表記」を強制しています。

人間の仕事は「コードを書くこと」から「レールを敷くこと」へ

AIを自由に走らせることではなく、「AIが絶対に脱線・事故を起こさない堅牢なレール(ハーネス)を設計すること」。これこそが、次世代のエンジニア(The Architect)に求められる真の役割です。

「Marimo App Project」は、この圧倒的に泥臭く堅牢なアーキテクチャを武器に、次なるステージ『The Automation Initiative』へと進軍します。Vibe Coding に限界を感じているエンジニア諸氏、今こそ「制約の美学」と「ハーネスエンジニアリング」の世界へ足を踏み入れてみませんか。

おまけ

今まで作成したアプリについては、以下のページから参照いただけます。

※ v0.23.1 にアップグレードしたアプリ開発プロジェクトを現在進行中です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?