~/VibeHandbook
無料 PDF

09 · 06

ステップ5: データモデルをスケッチする

ほとんどのアプリは、実のところデータに関するものです。何を保存し、各要素がどう関係するか。手早いデータモデルのスケッチは、後で混乱した一貫性のないコードに悩まされるのを防いでくれます。データベースの図は必要ありません。フィールドのリストで十分です。

読書トラッカーなら、主役は一つ — Bookです。

Book
- id: 一意の文字列
- title: 文字列
- author: 文字列
- status: "to_read" | "reading" | "finished"
- rating: 数値 1–5 (読了の場合のみ)
- addedAt: 日付

この小さなスケッチですら、決定を明示してくれます。評価は読了した本にしか存在しない、ステータスは決まった3つの値のいずれか、すべての本にはidがある、というように。これをAIに渡せば、AIはフィールド名を推測するのをやめ、一貫した形で組み立てます。

これを早い段階で固める理由は、フィールド名があちこちに染み出していくからです。いったんAIがbook.ratingを読むコードを書けば、その名前はフォーム、リスト表示、ストレージ層、そして後で追加するどんな機能にも現れます。それがぶれるのを放っておくと — ある場所ではrating、別の場所ではstars、また別の場所ではscore — 追いかけるのが面倒なバグが生まれます。6行のデータモデルは、それに対する最も安価な保険です。

短くてコピー&ペーストできる仕様ブロックは、AIにとって散文よりもうまく機能する傾向があります。同じモデルを、実際に送るプロンプトとして書くとこうなります。

本にはこの正確なデータ形を使って。挙げていないフィールドは追加せず、
これらの名前も変えないで:

Book {
  id        — 一意の文字列、作成時に生成
  title     — 文字列、必須
  author    — 文字列、必須
  status    — 次のいずれか: "to_read" | "reading" | "finished"
  rating    — 整数 1–5、statusが "finished" のときのみ存在
  addedAt   — ISO日付文字列、本の追加時に設定
}

フィールドが足りないと思ったら、追加する前に聞いて。

最後の一行 — ask me before adding it(追加する前に聞いて) — が実際の仕事をしています。これはAIを推測者から協力者へと変え、データモデルをあなたのものに保ちます。

オフラインでも読みたい?

本編まるごとを PDF または EPUB で無料ダウンロード。