backend· 10 min read

VULKがバックエンドを自動生成する仕組み

プロンプトが認証、データベース、APIに触れると、VULKは完全なバックエンド — SQLスキーマ、CRUDエンドポイント、JWT認証 — を生成し、フロントエンドを接続します。検出、スキーマ設計、セキュリティの仕組みを正確に解説。

João CastroJoão Castro
VULKがバックエンドを自動生成する仕組み

2026年7月17日更新 — AI生成アプリのうち実際にどれだけが本物のバックエンドを持つかの検証済みプラットフォームデータで刷新。

VULKはどうやってバックエンドを自動生成するのか?

完全な答え:VULKはプロンプトからバックエンドのシグナル — アカウント、保存データ、管理パネル、API — を読み取り、見つけるとフロントエンドと並んで完全なサーバーサイドアプリケーションを生成します:リレーショナルデータベーススキーマ(テーブル、外部キー、インデックス、制約)、すべてのエンティティに対するRESTful CRUDエンドポイント、bcryptパスワードハッシュ付きのJWTベース認証、そしてトークン、ローディング状態、エラー処理込みでそれらのエンドポイントに既に接続されたフロントエンド。Supabaseアカウント不要、Firebaseプロジェクト不要、外部セットアップ不要 — バックエンドはアプリと一緒にVULKのインフラにデプロイされます(Builderプラン以上)。

これが重要なのは、「AIアプリビルダーはUIのおもちゃを作る」がもはや神話であり、データがそれを証明しているからです:VULKで生成される全アプリの62%がSQLデータベーススキーマを含み、27%がプロビジョニングされたバックエンド — 稼働するAPIとホストされたデータベース — を持ちます。SQLはプラットフォームで3番目に多く生成されるファイルタイプで、124,755ファイルの6.1%、TypeScriptとJSONに次ぐ位置です(VULKプラットフォームデータ、2026年7月、N = 11,355プロジェクト)。ほとんどの「vibe-coded」アプリはデータアプリケーションであり、静的ページではありません。

フロントエンドだけのAIビルダーの何が問題なのか?

ほとんどのAIコードジェネレーターは、ハードコードされたデータ入りのReactアプリをくれます。ログインフォームは見た目こそ良いものの、誰も認証しません。ダッシュボードは決して変わらない静的JSONのチャートを表示します。「保存」ボタンはトースト通知を出すだけで、何も保存しません。

私がVULKのバックエンド生成を作ったのは、このパターンを見るのにうんざりしたからです。バックエンドのないフロントエンドはプロトタイプであって、アプリケーションではありません。そしてAIコードビルダーにお金を払うなら、実際に動くものを手に入れるべきです。

プロンプトがバックエンドを必要とする機能 — ユーザーアカウント、保存データ、APIエンドポイント、管理パネル — を説明していれば、VULKはバックエンドを自動生成します。モックではありません。リレーショナルデータベース、APIルート、認証、スキーママイグレーションを備えた本物のバックエンドです。ログインフォームは実際にログインさせます。データは実際に永続化します。APIエンドポイントは実際に応答します。

バックエンド検出はどう機能するのか?

「バックエンドを生成して」と言う必要はありません。欲しいものを説明すれば、VULKがプロンプト内のシグナルからバックエンドが必要かを判断します。

シグナルの種類 トリガーワード 起動するもの
認証 「ログイン」「サインアップ」「ユーザーアカウント」「管理パネル」「ロールと権限」 認証システム:登録/ログインエンドポイント、JWTミドルウェア、保護されたルート
データ永続化 「保存」「格納」「データベース」「CRUD」「レコード」「履歴」 データベーススキーマ + CRUD API生成
API 「API」「エンドポイント」「webhook」「REST」「サーバーから取得」 ルート生成。データベースへの明示的な言及がなくても

検出は意図的に保守的です。VULKはシンプルなランディングページや静的なポートフォリオにバックエンドを追加しません。プロンプトが本当にサーバーサイド機能を必要とするときだけ起動します。プラットフォーム全体の分布がこれを反映しています:62%のアプリがスキーマを持ち、残り — ポートフォリオ、ランディングページ、ゲーム — は純粋にフロントエンドだけのままです(VULKプラットフォームデータ、2026年7月)。

なぜSupabaseやFirebase、MongoDBではなくPostgreSQLなのか?

この決定についてよく聞かれるので、理由を透明に説明します。

なぜSupabaseやFirebaseではないのか? 外部依存を生むサードパーティサービスだからです。Supabaseプロジェクトが必要なコードを生成したら、あなたはSupabaseアカウントを作り、プロジェクトを設定し、環境変数を構成し、もう1つのサービスを管理しなければなりません。それは「1つのプロンプトで動くアプリ」の体験を壊します。VULKのバックエンドは外部セットアップゼロで私たちのインフラ上で動きます。(自分のSupabaseを使いたいなら、Pro+のオプトイン統合として存在します — キーを接続すればエージェントがあなたの実プロジェクトに対して動きます。強制されることは決してありません。)

なぜMongoDBではないのか? VULKユーザーが作るアプリケーションのほとんどはリレーショナルだからです。タスクはプロジェクトに属します。プロジェクトはユーザーに属します。注文は注文項目を含みます。商品にはカテゴリがあります。これらは外部キーを持つテーブルとして自然に表現されるもので、ドキュメントコレクションではありません。MongoDBは特定のユースケースには素晴らしいですが、VULKが生成するアプリケーションの幅に対しては、リレーショナルデータベースの方がよりクリーンで保守しやすいコードを生みます。

なぜ特にPostgreSQLなのか? 最も有能なオープンソースのリレーショナルデータベースだからです。完全なACID準拠、柔軟性が必要なときの優れたJSONサポート、堅牢なインデックス、巨大なエコシステム。私がプロダクションアプリケーションに選ぶものであり、だからVULKが生成するものです。

正確には何が生成されるのか?

バックエンド生成が起動すると、VULKはフロントエンドと並んで完全なサーバーサイドアプリケーションを作ります。各レイヤーに含まれるものは以下のとおりです。

データベーススキーマ。 カラム、型、制約、インデックス、リレーションを備えた完全なSQLテーブル。usersテーブルはidemailpassword_hashnamecreated_atupdated_atを持ちます。postsはusersへの外部キーを持ちます。すべてのテーブルが主キー、タイムスタンプ、クエリで使うカラムのインデックスを持ちます。

カラム名はpassword_hashです — 決してpasswordではありません。これは私がプロンプトエンジニアリングで強制している意図的なセキュリティ判断です。パスワードは登録時にbcryptでハッシュされ、ログイン時に比較されます。カラム名そのものが意図を曖昧さなく伝えます。

APIエンドポイント。 スキーマ内の各エンティティに対するRESTfulルート。postsテーブルはGET /api/posts(ページネーション付きリスト)、GET /api/posts/:id(単一レコード)、POST /api/posts(作成)、PUT /api/posts/:id(更新)、DELETE /api/posts/:id(削除)を生成します。各エンドポイントには入力バリデーション、エラー処理、適切なHTTPステータスコードが含まれます。

認証システム。 登録(POST /api/auth/register)とログイン(POST /api/auth/login)。登録はパスワードをbcryptでハッシュして保存します。ログインはハッシュと比較してJWTを返します。保護されたルートはミドルウェアでJWTを検証します。

フロントエンド統合。 これが完成品と感じさせる部分です。ReactフロントエンドはAPI呼び出しが既に配線された状態で生成されます。fetchは正しいエンドポイントを指します。認証トークンは保存され、リクエストに添付されます。ローディング状態とエラー処理が含まれます。ログインフォームは本当に認証します。登録フォームは本当にアカウントを作ります。保存データは本当にセッションをまたいで永続化します。

実際のバックエンド生成はどんなものか?

タスク管理アプリ: 「ユーザーがアカウントを作成し、ログインし、プロジェクトを作り、プロジェクトにタスクを追加できるタスク管理アプリを作って。タスクにはタイトル、説明、優先度、期限、ステータスがある。ユーザーは自分のプロジェクトだけ見られる。」

これが生成するもの:usersテーブル、user_id外部キー付きのprojectsテーブル、project_id外部キー付きのtasksテーブル、認証エンドポイント、プロジェクトとタスクのCRUD、user_idでフィルタする認可ミドルウェア。

Eコマースストア: 「ハンドメイド陶器を売るオンラインストアを作って。管理者は商品を追加できる。顧客は閲覧、カート追加、注文ができる。注文履歴はユーザーアカウントに保存される。」

これが生成するもの:roleカラム付きのusersテーブル、productsテーブル、ordersテーブル、order_items中間テーブル、ロールベースのアクセス制御、商品管理の管理者専用エンドポイント、閲覧と注文の顧客エンドポイント。

この2つの例は選り抜きの珍例ではありません — ダッシュボード/管理パネル(12.5%)、Eコマース(4.5%)、予約システム(3.4%)は、人々が実際に生成するバックエンド型カテゴリの上位です(VULKプラットフォームデータ、2026年7月)。

生成されるデータベーススキーマの質はどうか?

悪いスキーマは悪いアプリケーションを生むので、スキーマの質にはこだわっています。VULKが強制するもの:

主キーはシンプルさのため自動インクリメントの整数を使います。特定のユースケースにはUUIDも使えます。

外部キーは適切な場所にON DELETE CASCADE(ユーザーを削除するとそのポストも削除)を、孤児レコードが生き残るべき場所にはON DELETE SET NULL(カテゴリを削除しても商品は削除されない)を含みます。

インデックスは外部キーカラム、メールカラム(ログイン検索用)、WHEREやORDER BY句で使われるカラムに作成されます。後付けではありません — 生成されるインデックスは生成されるクエリに対応しています。

タイムスタンプ(created_atupdated_at)はすべてのテーブルにあります。

Enumと制約は範囲が限定される値に使われます。タスクのステータスは任意の文字列ではなく、特定の値に制約されます。

どんなセキュリティパターンが組み込まれている?

生成コードについてほとんどの人が間違えること:セキュリティを考えずに出荷することです。VULKのバックエンド生成はセキュリティパターンをデフォルトで含みます。それなしで出荷することは現実の脆弱性を生むからです:

  • パスワードハッシュ — bcrypt使用(平文は決してなし)
  • パラメータ化クエリ(SQLでの文字列連結は決してなし)
  • 保護されたルートのJWT検証ミドルウェア
  • 全エンドポイントの入力バリデーション(型チェック、必須フィールド、長さ制限)
  • オリジンをフロントエンドドメインに限定するCORS設定
  • ブルートフォースを防ぐ認証エンドポイントのレート制限
  • ユーザーが自分のデータだけにアクセスできるユーザースコープのクエリ

これらは有効化するオプションの追加機能ではありません。デフォルト出力の一部です。生成コードはデフォルトで安全であるべきだと信じているからです。

自動バックエンド生成が正しい選択なのはいつか?

標準的なデータ駆動アプリケーションに最適です:タスク管理、CRMツール、在庫システム、ブログ、Eコマースストア、予約プラットフォーム、ダッシュボード。これらはAIモデルが得意とするパターンに沿っており、生成コードはクリーンで読みやすく、保守しやすいものになります。

特殊な要件を持つアプリケーションには向いていません:Operational Transformを使うリアルタイムコラボレーション、複雑な金融計算、マイナーなサードパーティAPIとの統合など。それらは標準部分をVULKで生成し、専門部分は手動で実装してください。

生成されるファイルはすべて読めて、変更できます。隠された独自ランタイムなし、書くコードへのフレームワークロックインなし。生成されたバックエンドを超えて成長したら、ソースをエクスポートして他のアプリケーションと同じようにリファクタリングすればいいのです。

それが私の構築原則です:VULKはあなたの開発を加速すべきで、壁に囲まれた庭に閉じ込めるべきではありません。


FAQ

バックエンドを動かすために何か設定は必要?

いいえ。検出、スキーマ生成、APIデプロイ、フロントエンド配線は自動です。ログインフォームが動くまでに設定する環境変数も、作るサードパーティアカウントも、構成するダッシュボードもありません。バックエンド + データベースのデプロイはBuilderプラン($19.99/月)以上に含まれます。

データベースのデータは見られる? エクスポートできる?

はい。エディタのBackendパネルにはテーブルブラウザ、SQLクエリランナー、テーブルごとのCSVエクスポート(表示中のページだけでなくテーブル全体)があります。schema.sqlもソースのZIPエクスポートに同梱されます。

代わりに自分のSupabaseや外部バックエンドを接続できる?

はい、Proプラン以上のオプトイン統合として:Settings → Integrationsでキーを追加すれば、エージェントはあなたの実際のSupabaseプロジェクトに対して読み書きします。ただしデフォルトでは、生成アプリはVULK組み込みのバックエンドを使います。1つのプロンプトが外部セットアップゼロで動くアプリを生むためです。

コードをエクスポートしたら — バックエンドは付いてくる?

フロントエンドのエクスポートは完全にポータブルです(どこでも動く標準的なVite + React + TypeScript)。バックエンドAPIとホストされたデータベースはVULKのインフラ上で動き続けます;エクスポートしたソースはHTTPSでそれらを呼び出します。フルスタックアプリのセルフホストはバックエンドの再実装を意味します — その境界について私たちは率直です。

AI生成アプリのうち実際にバックエンドを使うのはどれくらい?

VULKでは:62%のアプリがSQLスキーマを含み、27%がプロビジョニングされたバックエンド(稼働API + ホストされたデータベース)を動かし、SQLは全ファイルの6.1%で3番目に多く生成される言語です(VULKプラットフォームデータ、2026年7月)。「AIアプリは静的なおもちゃ」の時代は終わりました。

認証はプロダクショングレード?

生成される認証はbcryptパスワードハッシュ(password_hashカラム)、JWTセッション、保護されたルートの検証ミドルウェア、認証エンドポイントのレート制限を使います。ほとんどのアプリにとってこれは堅実なプロダクションの基準線です;プロダクトに必要なら、2FAやSSOは反復で追加してください。


vulk.devで作り始めましょう。

公開日: 執筆: João Castro · 10 min read

続けて読む

記事一覧
VULK サポート

オンライン

こんにちは!本日はどのようにお手伝いできますか?

人気のトピック

AI サポート • support.vulk.dev

VULKがバックエンドを自動生成する仕組み — Blog | VULK