Code with Engineer BA-Sulto
AI 開発

Codexで壁打ちして決めた、Stitch用プロンプト生成ツールのMVP設計

Reactの実装に入る前後で、入力項目、出力文の型、選択数の上限、警告時の挙動、保存・履歴・AI API連携を外した理由、反復ガイドとプライバシー方針をCodexとの壁打ちでどう決めたかを整理します。

AI にデザイン案を作ってもらうためのプロンプトを、毎回手書きするのは少し面倒です。

作りたいサイトの種類、業種、雰囲気、入れたいセクション、色、避けたい方向。毎回だいたい同じ材料を考えているのに、文章にするときだけ手が止まることがあります。

そこで、Stitch に渡すデザイン用の文章を、選択式で組み立てる小さなツールを考えました。

ただ、最初に引っかかったのは「選択肢を並べればプロンプトになるのか」という点です。チェックボックスやチップを用意するだけなら簡単です。でも、その結果が単語の羅列になると、AI に渡す依頼文としては弱くなります。

今回整理したかったのは、選択式 UI の作り方そのものではありません。

選択された材料を、AI が読み取りやすいデザインブリーフに変換するために、何を先に決めておくべきかです。

先に結論

Stitch Prompt Builder の MVP では、次の方針にしました。

  • 最初に、AI に渡す最終文の型を決める。
  • 入力項目は、サイト種別、業種・テーマ、雰囲気、セクション、色、UI 表現、避けたい方向に絞る。
  • 必須項目と任意項目を分ける。
  • 選択肢はカテゴリごとに 6〜10 個程度に絞る。
  • 選びすぎを防ぐために、選択数の上限を決める。
  • 表示用のラベルと、出力文に入れるフレーズを分ける。
  • ルール違反があってもプレビューは止めず、警告として見せる。
  • 保存、履歴、複数比較、ログイン、AI API 連携は MVP では入れない。

一番大事なのは、UI の部品を増やすことではなく、出力文の読みやすさを先に設計することでした。

前提と制約

今回の題材は、Stitch に渡す英文のデザインブリーフを作るフロントエンドツールです。

やりたいことは、ユーザーの選択をもとに、Web サイトやアプリのデザイン依頼文を組み立てることです。たとえば、マーケティングサイト、SaaS、ポートフォリオ、モバイルアプリのような対象を選び、雰囲気や入れたい画面要素を追加して、自然な英文にまとめます。

一方で、MVP では次のことはやりません。

入れないもの理由
ログイン出力文の品質検証には不要
保存・履歴まずは 1 回の入力と出力の流れを確認したい
複数プロンプト比較画面と状態管理が重くなる
日本語出力最初は Stitch に渡す英文に集中する
AI API 連携選択内容を文章化するだけなら静的アプリで足りる
Stitch 以外のツール対応対象を広げる前に、1 つの用途で使えるか確認する

この制約を置いたことで、実装の中心がはっきりしました。

「何を保存するか」ではなく、「どの選択肢を、どんな文章に変換するか」です。

実装または作業の流れ

同じような選択式プロンプト生成ツールを作るなら、次の順番で考えると整理しやすいです。

1. 最終的な出力文を先に書く

最初に、理想の出力文を 1 つ手で書きます。

たとえば、次のような形です。

Create a modern landing page for a productivity app.
Use a calm and trustworthy tone, with sections for hero, features, pricing, and FAQ.
Avoid overly playful visuals and heavy gradients.

ここで見るべきなのは、英語のうまさではありません。

文章の中に、どんな材料が必要かです。

  • 何を作るのか
  • 何の業種・テーマか
  • どんな雰囲気にしたいか
  • どんなセクションが必要か
  • 何を避けたいか

この分解ができると、入力項目が決まります。

2. 入力カテゴリを決める

今回の MVP では、入力カテゴリを次のように整理しました。

カテゴリ必須/任意役割
サイト種別必須何を作るかを決める
業種・テーマ必須文脈を決める
雰囲気必須デザインの方向を決める
セクション必須画面に必要な要素を決める
任意見た目の方向を補足する
UI 表現任意角丸、カード、余白などの見え方を補足する
避けたい方向任意出力のブレを減らす

最初から項目を増やしすぎると、ユーザーも作る側も迷います。MVP では、出力文に直接効く項目だけに絞るほうが扱いやすいです。

3. 選択肢を 6〜10 個程度に絞る

選択式 UI では、選択肢を増やすほど便利に見えます。

でも、プロンプト生成ツールでは、選択肢が多すぎると出力文が散らかります。雰囲気を 5 個、色を 4 個、UI 表現を 6 個選べるようにすると、文章の方向が衝突しやすくなります。

そのため、初期選択肢はカテゴリごとに 6〜10 個程度に絞ります。

さらに、複数選択できるカテゴリには上限を置きます。

雰囲気: 最大 3 個
セクション: 最大 6 個
色: 最大 2 個
避けたい方向: 最大 3 個

この上限は、ユーザーを制限するためではありません。AI に渡す文章を読みやすく保つためです。

4. 表示用ラベルと出力用フレーズを分ける

ここが一番大事でした。

画面に見せる言葉と、プロンプトに差し込む言葉は、同じでなくてよいです。

たとえば、画面上では「落ち着いた」と表示したい。でも英文の中では calm and trustworthy のように、文に馴染む形で入れたい場合があります。

そのため、1 つの選択肢には最低限、次の情報を持たせます。

項目役割
日本語ラベルユーザーが選ぶときに読む
英語ラベル必要なら補助表示に使う
出力用フレーズ実際の英文に差し込む
説明文選択肢の意味を補足する

表示用ラベルをそのまま出力文に入れると、文章が不自然になりやすいです。選択式ツールほど、裏側では文章に入れるためのフレーズ設計が必要になります。

5. 未選択のときの補完文を決める

任意項目は、何も選ばれないことがあります。

そのときに文章が欠けたように見えると、出力品質が落ちます。たとえば色が未選択なら、無理に色指定を入れず、「ブランドに合う控えめな配色」のような補完文にすることもできます。

未選択をエラーにするのではなく、自然に補う。この方針にすると、入力途中でもプレビューを見せやすくなります。

6. 警告は出すが、プレビューは止めない

選択数の上限を超えたとき、プレビューを完全に止めると、ユーザーは何が起きたのか分かりにくくなります。

今回の方針では、ルール違反があってもプレビューは表示します。その代わり、警告を出し、コピー時の文言も通常時と分けます。

通常時: Copy prompt
警告あり: Copy with warnings

このほうが、入力と出力の関係を確認しながら調整できます。

判断ポイント

今回の設計で判断基準にしたのは、次の 4 つです。

出力文が自然に読めるか

選択式でも、最終的には文章として読める必要があります。

「modern, clean, SaaS, hero, pricing, blue」のような単語列ではなく、依頼文としてつながっているかを確認します。

ユーザーが迷いすぎないか

選択肢が多いほど、入力前に迷います。MVP では、選択肢の網羅性よりも、選びやすさを優先します。

1 画面で入力と出力を往復できるか

このツールの中心は、選択して、出力文を見て、また調整することです。

デスクトップでは左に入力、右にプレビュー。モバイルでは 1 カラム。複雑な画面遷移は不要です。

静的フロントエンドだけで検証できるか

今回の価値は、AI API を呼ぶことではなく、選択内容を使いやすい文章にすることです。

そのため、まずは Vite、React、TypeScript、Bun で静的に作れば十分です。バックエンドを入れるのは、保存や共有が本当に必要になってからでよいと判断しました。

採らなかった案と理由

MVP では、便利そうに見える機能をいくつか外しました。

採らなかった案採らなかった理由
保存機能出力文の質を見る段階では不要
履歴管理状態管理が増え、MVP の焦点がぼやける
複数プロンプト比較画面構成が重くなる
出力モード切り替え標準出力の品質基準が曖昧になる
日本語出力まずは Stitch 向け英文に集中する
AI API 連携ルールベースの文章生成で検証できる

機能を削った理由は、実装を楽にするためだけではありません。

「選択肢から自然な英文ブリーフを作れるか」という中心の検証をぼかさないためです。

つまずきやすい点

選択肢を増やしすぎる

最初にやりがちなのは、選択肢をたくさん用意することです。

でも、選択肢が増えると、ユーザーは迷います。さらに、複数選択したときに文章の方向が衝突しやすくなります。最初は少なく作り、実際の出力を見て足すほうが扱いやすいです。

ラベルをそのまま英文に入れてしまう

表示用ラベルは、ユーザーが理解するための言葉です。

出力用フレーズは、文章の中で自然につながる言葉です。この 2 つを分けないと、UI は分かりやすいのに出力文が不自然、またはその逆が起きます。

任意項目の未選択を想定していない

任意項目は、未選択でも成立するように設計しておく必要があります。

未選択時の補完文を決めておくと、入力途中でもプレビューを出せます。これは、1 画面完結のツールではかなり重要です。

警告で操作を止めすぎる

ルール違反をすべてエラーにすると、ユーザーは調整しにくくなります。

選びすぎのような問題は、まず警告として見せる。プレビューは表示する。コピー時に注意を出す。このくらいのほうが、試行錯誤しやすいです。

確認方法

実装後は、次の順番で確認します。

1. 必須項目だけで出力できるか

サイト種別、業種・テーマ、雰囲気、セクションだけを選び、自然な英文になるかを見ます。

  • 必須項目だけで文章が欠けない
  • 任意項目が未選択でも不自然な空白が出ない
  • 出力文が単語の羅列になっていない

2. 任意項目を足しても文章が破綻しないか

色、UI 表現、避けたい方向を追加します。

  • 色指定が文脈に自然に入る
  • UI 表現が過剰に並ばない
  • 避けたい方向が命令文として自然に入る

3. 選択上限を超えたときの表示を見る

あえて選びすぎて、警告とプレビューの関係を確認します。

  • 警告が出る
  • プレビューは表示される
  • コピー時の文言が通常時と分かれている

4. モバイル幅で入力とプレビューを確認する

デスクトップでは 2 カラムでも、モバイルでは 1 カラムになります。

  • 入力項目が縦に読みやすい
  • プレビューが下に自然につながる
  • コピー操作が見失われない

5. 実際に Stitch に入れてみる

最後は、生成した英文を Stitch に入れて確認します。

ここで見るのは、見た目の良し悪しだけではありません。こちらが指定したサイト種別、雰囲気、必要なセクション、避けたい方向が、出力に反映されているかを見ます。

まとめ

選択式のプロンプト生成ツールを作るとき、最初に作るべきなのは UI ではなく、出力文の型です。

どんな文章を AI に渡したいのか。その文章には、どんな材料が必要なのか。どの材料を必須にして、どれを任意にするのか。表示用の言葉と、文章に入れる言葉をどう分けるのか。

この順番で考えると、小さなフロントエンドツールでも実用的な AI 補助ツールになります。

今回の Stitch Prompt Builder では、保存や履歴や AI API 連携を入れる前に、選択肢と文章の接続を丁寧に決めることを優先しました。

機能を増やす前に、出力文が自然に読めるかを見る。

プロンプト生成ツールでは、この確認がかなり大事です。