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?

「AIが出したコードは読まない」。数日でFactorioのSaaSを個人開発した超・合理的なプロンプト戦略

0
Posted at

コードはAIに任せた。インフラ設計だけで作った「時給10円・完全使い捨て」のFactorioマルチサーバーSaaSの裏側

[お断り]
この技術記事の執筆も、私が箇条書きで伝えた開発の動機や思想をベースに、AI(LLM)を使って出力・整理したものです。コードだけでなく、ドキュメンテーションもAIに任せることで、最も整理された読みやすい形で知見をお届けします。

こんにちは。一昨日(2026年8月22日)、Factorioのマルチプレイ専用サーバーをブラウザからボタン1つ、2分未満で自動構築できるSaaS**「EZ-Fac」**をリリースしました。

このサービス、バックエンド(FastAPI / Redis Streams)から、VPS(Vultr)のライフサイクル制御、ゲーム機側の常駐Agent、フロントエンド(Cloudflare Pages)まで、実装コードの9割以上はAI(LLM)が書いています。

私自身がやったのは、**「徹底的なアーキテクチャ設計」と「バグの原因推測」**だけです。

コードの価値がコモディティ化した現代において、人間が「設計の合理性」と「AIのコントロール」に徹すると、どれだけ強力なインフラ自動化SaaSが1人で生み出せるのか。その裏側の思想を共有します。


1. 解決したかったゲーマーの不条理

友達とFactorioでマルチプレイをしようとすると、これまでは2つの高い壁がありました。

  1. 技術の壁: 「黒い画面(Linuxコマンド)」の操作や、ルーターの「ポート開放」で挫折する。
  2. コストの壁: 誰も遊んでいない平日の昼や深夜の間も、月額1,000〜2,000円のVPS代を払い続けなければならない。

ゲームサーバーの auto_pause(プレイヤー不在時にゲームを一時停止する機能)を使っても、VPSのインスタンスが起動している限り、クラウドの課金メーターは回り続けます。

これを解決するために作ったのが、**「遊ぶ時だけボタン1つで2分で爆誕し、遊び終わったらセーブを退避して『インスタンスごと完全消滅』する、1時間10円〜の完全従量課金SaaS」**です。


2. 徹底的に「手動の合理性」を自動化したインフラ設計

「停止時にVPSごと破棄する」という超攻撃的なコストカットのアイデアは、開発に入る前、自分が手作業でマルチサーバーを建てるならどうするかを考えた結果でした。

  1. VPSを借りてゲームサーバーを用意する
  2. 退避していたセーブデータを注入して遊ぶ
  3. 遊び終わったらセーブデータをVPSから抜き取る
  4. VPSインスタンスを削除して課金を止める

手動でやるとしても、これが最もコストを抑えられる究極のやり方です。「EZ-Fac」は、この泥臭いステップをプログラムで自動化しただけに過ぎません。

「2分未満」で起動させるための回線設計

空のOS(Vultr Ubuntu)をAPIで叩き起こしてから、ゲームが起動してプレイヤーがログインできるようになるまで、実測で1分56秒しかかかりません。

この爆速化を支えているのは、Cloudflare R2を活用したキャッシュ設計です。
FactorioはMODの導入が盛んですが、起動のたびにVPSから公式のMOD Portalへ直接ダウンロードに行くと、ポータルの回線速度がボトルネックになります。

「公式ポータルより、Cloudflare R2のほうが確実に回線が太いはず」

そう考え、一度誰かがダウンロードしたMODデータは、バックエンド側で解決してR2にキャッシュ。VPS起動時には、R2からの署名付きURLを用いて並列で爆速ダウンロードさせる構造にしました。結果として、MOD入りサーバーであっても2分未満という、等倍の動画で収まるほどの起動速度を実現しています。


3. 「AIが出したコードは見ない」究極のAI駆動開発スタイル

多くのエンジニアは、AIが書いたコードを1行ずつレビューして修正しようとします。しかし、私はAIが出したコードを直接見たりは基本的にしません。

コードそのものの価値がコモディティ化した時代に、人間がコードを1行ずつ追うことに腰を重くする必要はないと感じているからです。私が行ったのは、徹底した**「ブラックボックステスト」**です。

1から再出力させるプロンプト戦略

AIが書いたプログラムに対し、思いつく限りのエッジケース(例:ユーザーのクレジットが途中で枯渇した時、安全にゲームを保存してサーバーを殺せるか?など)を想定したテストを行います。

もしテストで問題が発生した場合も、コードのデバッグはしません。
*「なぜそのような挙動になるのか」*の構造的な原因を脳内で推測し、そのバグを確実に潰すための仕様をプロンプトに組み直して、1からコードを再出力させます。

人間がコードを見るのは、以下の2つの例外的な瞬間だけです。

  • 問題の原因を推測するのが、どうしても困難な場合
  • コードで整形したUIなどの、見た目の細かな微調整を行う場合

ロジックの構築はすべてAIに任せ、人間は「システムの仕様(State)」と「入力(プロンプト)」のコントロールに徹する。これこそが、数日でマルチレイヤーのインフラSaaSを完成させた開発スピードの秘密です。


4. おわりに

「何を、どう組み合わせれば、最も安く、最も速くユーザーの課題を解決できるか」というアーキテクチャの設計図さえ人間が描ければ、実装はAIがすべてやってくれる時代がすでに到来しています。

リリースしたばかりの「EZ-Fac」ですが、現在システム負荷や実運用の検証を行うため、βテスターとしてご協力いただけるエンジニアやFactorioプレイヤーの方を大募集しています!インフラの自動化や割り切った設計に興味がある方は、ぜひ触ってみて率直なフィードバックやバグ報告をいただけると嬉しいです。

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?