🤖 この記事は 2026-05-28 にFuturistic Imaginationの自動コンテンツパイプライン(Gemini 2.5 Flash)によって生成されました。

5月20日の朝7時45分。淹れたてのコーヒーを片手にSlackとDiscordを開いた瞬間、私の視界は赤一色のアラート通知で染まった。

Futuristic Imagination(以下、FI)では、Next.jsとTypeScriptをベースにした自社オウンドメディアを11サイト、完全にシステム自動で運営している。これまでに累計1,500本以上の記事をGemini APIのパイプラインを通じて生成し、パブリッシュしてきた。

だが、その稼働を支えるVercel CronとGitHub Actionsのワークフローが一斉に悲鳴を上げていた。 「Build Failed: TypeError: Cannot read properties of undefined (reading 'map')」 10を超えるプロジェクトの自動ビルドが、同時に停止していた。

1. 「全バッチ停止」のアラート。原因は上流APIのサイレント仕様変更

原因の調査は一瞬で終わった。記事生成パイプラインの上流にある外部APIのレスポンススキーマが、予告なしにサイレント変更されていたのだ。

FIの開発環境では、TypeScript Strict Modeを厳格に適用している。妥協のない堅牢性を担保するためだ。そのため、この「些細な」型定義のズレをシステムは許容しない。SSG(静的サイト生成)のビルドフェーズでNull/Undefinedのハンドリングに引っかかり、コンパイルエラーを誘発していた。

表面的な対処、例えばエラーの出ている箇所を場当たり的にコメントアウトするような真似は絶対にしない。私は常に、深く掘り下げて根本原因を解決することを自分に課している。SSGの限界を見据えた上で、上流がどう壊れようとも耐えうる「堅牢なインフラとデータハンドリング」にコードを書き換える。それが本質的な解決だ。

しかし、問題は規模だった。影響を受けているリポジトリは10以上。これらを手動で1つずつ修正し、テストコードを通し、Vercelに再デプロイしていくとなれば、どれだけ手が早くても半日は吹き飛ぶ。ゴールドラッシュの最前線を走るスタートアップにとって、半日の足止めは致命傷に等しい。

そこで私は、自社で開発し、実証実験を続けている自律型AIコーディングエージェント「Antigravity」にすべての修正を託す決定を下した。

2. 「Antigravity」の安全弁を外し、自律AIにコード修正を託した15分

Antigravityは通常、人間の承認(Human-in-the-loop)を経て段階的にコードを修正し、GitHubへPull Requestを投げるように設定されている。予期せぬコードの破壊を防ぐための安全弁だ。

だが、今回は1分1秒を争う。私は「.antigravityrc」の設定ファイルをエディタで開き、実行モードのパーミッションを `interactive` から `unrestricted`(制限なし・承認不要)へと書き換えた。

このモードに切り替えることは、AIエージェントに対して「ファイルの書き換え、ローカルビルドの実行、テストの検証、GitHubへのプッシュとデプロイ確認」までの全権限を完全自動で付与することを意味する。一歩間違えれば、本番環境のソースコードを跡形もなく破壊するリスクを孕んでいる。

それでも実行できたのは、自社プロダクトを自分自身が最も過酷な環境で使い倒しているという自負があったからだ。「弊社自身が日常的に使っている状態でなければ、顧客の心に刺さるプロダクトなど作れない」というのが私の哲学だ。私はツールの限界値と、AIが暴走した際のブレーキの踏み方を完全に把握していた。

コマンドラインからAntigravityを起動すると、AIエージェントは即座にエラーログを解析し始めた。 ターゲットとなるNext.jsのAPIルートおよびデータ取得コンポーネントを特定し、新しいレスポンススキーマに対するフォールバック処理を自動で記述していく。

「TypeScriptの型定義を `unknown` で受け、型ガード(Type Guard)関数を自律的に生成して安全にキャストする」

人間が書くのと同等、いや、それ以上に美しく堅牢なTypeScriptコードが、私のディスプレイ上で超高速で書き換えられていく。ローカルビルドを実行し、エラーが消えるまでAI自身がデバッグループを回す。私はただ、画面をスクロールしていくログを監視しているだけだった。

10以上のプロジェクトすべての修正とローカルテストのパスが完了するまで、要した時間はわずか15分だった。

3. バイブコーディングと、泥臭くもスマートな自動化の本質

修正されたコードは自動でGitHubへプッシュされ、VercelのCI/CDパイプラインへと流れていった。Discordには、次々と「Deployment Successful」の緑色の通知が灯っていく。

午前8時に発生した未曾有の致命的障害は、午前9時を迎える前に、私が1行も手動でコードを書くことなく完全に解決された。

私はかつて、SES業界でエンジニアをしていた。当時は、こうしたシステム障害が発生すれば、分厚い仕様書をひっくり返し、何人もの関係者に電話で承認を取り、徹夜で泥臭くデバッグ作業を続けるのが当たり前だった。その非効率さに、いつも胃を痛めていた。

FIを立ち上げてから私が追求し続けているのは、そうしたレガシーな開発の対極にある世界だ。

私たちは、生成AIを単なる「コード生成の補助スニペット」としては使わない。システム全体の自動化パイプラインを構築し、複数のAIエージェントを同時並行で動かすためのセッション管理までを内製化している。 「バイブコーディング(ノリと勢い)」と呼ぶにふさわしい超高速の開発スピードは、こうした徹底的な自動化への投資と、技術的な堅牢性へのこだわりという、一見矛盾する要素の絶妙なバランスの上に成り立っている。

「泥臭い現実の課題」を「スマートな最先端技術」で解決する。これこそが、私たちのエンジニアリングの本質だ。

4. 「AIを飼い慣らす」エンジニアリングを、私たちは求めている

私は、採用において架空の数字や誇張された実績を使うことを嫌う。このブログに書いていることも、5月20日の朝に私の身に起きた、紛れもない事実だ。

現在、私は1人のリソースで11のサイトを完全自動で運営し、そこから得られるリアルなトラフィックデータや検索パフォーマンス(Google Search Console / GA4 API連携による自動リライトパイプライン)をもとに、受託開発や自社プロダクトの改善を行っている。

市場の技術トレンドは凄まじい速度で流れていく。ゴールドラッシュに乗り遅れず、先行者利益を掴み取るためには、綺麗なオフィスで優雅に会議を繰り返している暇はない。現場のリアルな泥にまみれながら、システムをハックし続ける実行力が必要だ。

だからこそ、この採用ブログも「とにかく多くの応募を集めたい」という目的では書いていない。そんな表面的な数字には興味がない。

このエピソードを読んで、「AIに本番環境のコードを書き換えさせるほどの割り切った自動化に挑戦したい」「Next.jsとTypeScriptを限界まで研ぎ澄まし、AIを飼い慣らす側に回りたい」と、本能的に血が騒いだエンジニアにだけ、このメッセージが届けばいいと考えている。

上辺だけの建前や、形骸化した開発プロセスは一切排除している。技術でビジネスのルールを書き換え、極限まで効率化を突き詰めたいエンジニアにとって、FIはこれ以上ないエキサイティングな主戦場になるはずだ。

システムは完全に正常な状態を取り戻した。APIの遅延はなく、サーバーの負荷を示すグラフは静かに凪いでいる。

今日も自動で3本の記事が生まれた。私は眠っていた。