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?

n8nで「三権分立AIエージェント」を構築したら、寝ている間にバグのないコードが勝手に完成した話

0
Posted at

1. はじめに:プロにとって「Vibe Coding」は退屈だ

Software_architecture_diagram_202604091130.jpeg

CursorやWindsurfなどのAIエディタを駆使して、自然言語だけでアプリを作る 「Vibe Coding」 がもてはやされています。
「コードを書かなくていい!最高!」と界隈は熱狂していますが、現場でシステムを組むエンジニアからすれば、あれは 「高度な手作業」 に過ぎません。

結局のところ、人間がチャット欄に張り付き、AIの書いたコードをレビューし、「ここが動かないから直して」「次はここを実装して」と指示を出し続ける必要があります。
人間が「仕様書兼コンパイラ」としてボトルネックになっている構造は変わっていません。

私はそれに飽きました。
プログラマーの三大美徳は「怠惰・短気・傲慢」です。
人間が寝ている間も、システムが勝手にコードを書き、テストし、修正し続ける。それこそが真の「自動化」ではないでしょうか?

そこで私は、ワークフロー自動化ツールの 「n8n」 を使い、Claude、GPT、Geminiの最新モデルを相互に戦わせる 『三権分立エージェント(Trias Politica Loop)』 を構築しました。

本記事では、人間が手出しせずにバグのないコードが錬成される化け物パイプラインの全貌と、「複数AIをループさせたらAPI破産するのでは?」という当然の疑問に対する「コスト防衛的アーキテクチャ」 を公開します。


2. アーキテクチャ:「三権分立(Trias Politica)」ループの全貌

1つのLLMにすべてを任せると、必ず「ハルシネーション(嘘)」や「手抜き」が発生します。
そこで、n8nをハブとして、異なるメーカーの最新モデルたちに役割(責務)を分離し、相互監視させます。

(※投稿時に実際のキャンバス画像URLに差し替えてください)

🤖 各エージェントの役割(Actor Model)

  1. 👨‍💻 Writer (Claude Sonnet 4.6)
    • 役割: コードの生成・実装。
    • 特徴: 圧倒的なコーディング力とコンテキスト理解力で初稿を書き上げます。「生成の美学」を担当します。
  2. 🕵️‍♂️ Critic (GPT-5.4)
    • 役割: シニアエンジニアとしてのコードレビュー。
    • 特徴: 意地悪な視点で、エッジケース、メモリリーク、セキュリティの穴を徹底的に攻撃します。「論理の厳しさ」を担当します。
  3. ⚖️ Judge & Physics (Gemini 3.1 Pro + E2B)
    • 役割: 物理検証と最終採点。
    • 特徴: AIが書いたコードをただレビューするだけでなく、サンドボックス環境(E2B)で実際に実行します。その標準出力(stdout/stderr)をGeminiが評価し、「70点以上(デプロイ可)」か「差し戻し」かを判定します。

🔄 ループの流れ

  1. 人間がNotionに「要件(Issue)」を起票。
  2. n8nがそれを拾い、Writerに実装させる。
  3. Criticがレビューし、指摘事項を返す。
  4. Judge(E2B) が実際にコードを動かし、エラーが出れば再度Writerに差し戻す(ループ)。
  5. テストをパスすれば、最終コードをNotionに保存し、Telegramで完了通知を飛ばす。

3. 【最重要】「3人寄ればAPI破産」をどう防ぐか?(コスト最適化戦略)

Digital_breakwater_stopping_202604091128.jpeg

「最新モデルを3つもループさせたら、コンテキスト肥大化でAPI破産しないか?」

その直感は正しいです。
検証初期、私は「全プロンプトにソースコード全量とコンテキストを付与し、納得するまで無限ループさせる」という愚行を犯し、1日5機能の処理で約5万円(月換算150万円ペース) を溶かしかけました。

【無策時】1日5機能処理のAPIコスト(月150万円ペース)
コード全量+履歴コンテキストで平均15,000 tokens × 3モデル × 平均50ループ × 5機能 × 混色単価(約$10/1M) ≒ **$337/日(約50,000円)**

そこで、アーキテクチャに以下の 「3つの防衛術」 を組み込みました。

🛡️ 防衛術①:モデルの階級分け(Tiering)

初期の「ゼロからの設計・実装(重い処理)」は上位モデルに任せますが、Criticからの細かい修正指示を受けた後の「微修正ループ(軽い処理)」は、安価で高速なモデル(Claude Haiku 4.5 や ローカルのLlama 3等)にフォールバックさせるルーティング(Switch Node)を実装しています。

🛡️ 防衛術②:差分(Diff)のみの伝達とコード抽出

これが最もコストを削減するハックです。
n8nのCodeノード内で、直前のコードと最新のコードを比較し、Diff(差分)形式でWriterに渡します。
ソースコード全量を毎度LLMに食わせる愚を避けます。

// n8n Codeノード:Criticの指摘とDiffの抽出
const prevCode = $('Writer').first().json.code || "";
const currentCode = $('E2B_Test').first().json.current_code || "";
const criticFeedback = $('Critic').first().json.feedback;

// 簡易的な差分抽出(行単位の比較)
const prevLines = prevCode.split('\n');
const currLines = currentCode.split('\n');

// 変更・追加された行のみを抽出(実運用では 'diff' ライブラリ推奨)
const diffSnippet = currLines
  .filter((line, index) => line !== prevLines[index])
  .join('\n');

return [{
  json: {
    system_prompt: "You are resolving a specific bug. Only output the fixed functions.",
    diff_context: diffSnippet,
    critic_notes: criticFeedback,
    attempt_count: $('Retry_Counter').first().json.count || 1
  }
}];

🛡️ 防衛術③:物理的ハードリミット(MAX_RETRIES)とDLQ

n8nのCodeノードでリトライカウンターを実装し、attempt = 3 に達した時点でループを強制終了。
その時点のペイロードをDLQ(Dead Letter Queue:Notionの別DB等)に退避し、人間のTelegramへエスカレーションします。「AIの議論は3ターンまで」という運用ルールです。

💸 月間コストの実績(約1,900円への圧縮 / 削減率99.9%)

現在、「1日5機能」をこのシステムで自動実装させていますが、入出力トークンを厳密に計算した現在のAPIコストは以下の水準に収まっています。
(※API価格は執筆時点の推計。最新の価格体系は各社公式リファレンスを参照してください)

【最適化後】1日5機能処理のAPIコスト
Writer (Claude Sonnet 4.6)
  入力: 8,000 tokens × 5回 × $3/1M   = $0.12/日
  出力: 2,000 tokens × 5回 × $15/1M  = $0.15/日
Critic (GPT-5.4) ※価格未公表のためGPT-4o相当で試算
  入力: 6,000 tokens × 5回 × $2.5/1M = $0.075/日
  出力: 1,000 tokens × 5回 × $10/1M  = $0.05/日
修正ループ (Claude Haiku 4.5 へのフォールバック)
  入力+出力: 約$0.02/日
E2B (Sandbox実行)
  $0.00005/秒 × 平均10秒 × 約40回実行 = 約$0.02/日
─────────────────────
合計: 約$0.435/日 × 30日 ≒ 月額約1,900円

無策で回せば月150万円飛ぶシステムが、アーキテクチャの工夫だけで月2,000円以下(99.9%の削減) で安全に稼働しています。


4. 実際の実行結果(E2Bの物理検証)

「本当にそんなループが勝手に回るのか?」という方のために、実際のn8nの実行ログ画面を共有します。

(※投稿時に実際のログ画像URLに差し替えてください)

人間がコーヒーを飲んでいる間の約30秒間で、コードが書かれ、ダメ出しされ、修正され、物理検証をパスして納品されました。
これが、「寝ている間にバグが直る」 アーキテクチャの実体です。


5. まとめ:人間は「仕様」ではなく「アーキテクチャ」を考える仕事へ

Vibe Codingの流行により、私たちは「いかに上手くプロンプトを書いてAIを動かすか」に夢中になっています。しかし、それはかつて「いかに上手くアセンブリを書くか」に夢中になっていたのと同じです。

これからのエンジニアの価値は、チャット欄でAIのご機嫌を取ることではありません。
「AIという優秀な部下たちを、どういう組織図(ワークフロー)に落とし込み、いかに安く、正確に働かせるか」というアーキテクトとしての腕にシフトしています。

n8nによる自律型エージェントの構築は、少しの工夫(コスト管理やハードリミット)で、実運用可能なレベルに到達しています。
ぜひ、皆さんの現場でも「AIに仕事をさせる」ためのパイプラインを構築してみてください。


著者プロフィール
ITPRODX.COM(https://itprodx.com/)にて、中堅企業向けに「n8n×AI」を用いた自律型アーキテクチャの構築・技術顧問を行っています。
システム連携や自動化パイプライン構築に悩む方は、ぜひお気軽に壁打ちにお越しください。

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?