← ブログ一覧
技術ブログ

スキーマをAIと会話して作る ― 既存の構造を理解した上で提案する

平原 典彦 — Tesseraを開発しているエンジニア。ヘッドレスCMSとAI連携に関心があります。

「記事に著者とタグを足したい」——そう話しかけるだけで、コンテンツモデル(スキーマ)ができる。Tesseraのスキーマ生成AIは、汎用のAI下書き生成とは狙いが違います。AIがこのCMSの構造そのもの(既存のコンテンツタイプ・制約・依存関係)を理解した上で、スキーマを提案・調整するためのものです。

会話でスキーマを組み立てる

やることは、作りたいものを日本語で伝えるだけです。

スキーマ生成チャットの画面。「イベント情報を管理したい。イベント名・開催日時・会場・詳細説明・カテゴリ(参照)を持たせたい」という指示に対し、AIが新規コンテンツタイプ「event」の変更案を差分で提示している

自然言語の指示から、AIがフィールド構成を提案。追加される項目が「差分」で示される。

指示を受けたAIは、フィールドの型(テキスト・日付・参照…)を判断し、必須/任意まで決めて変更案を差分として提示します。上の例では、カテゴリを既存の category コンテンツタイプへの参照にし、複数件管理される想定なので単体型(singleton)にはしない——といった判断まで、根拠つきで説明します。

そして重要なのが、右側の**「既存のスキーマ・コンテンツへの影響はありません」**という一文。提案の時点で、その変更が既存の型やデータに波及しないかを分析しています。

汎用の「AIでスキーマ生成」と何が違うのか

いま、AIでコンテンツモデルの雛形を作れるCMSは他にもあります。ではTesseraの何が違うのか。既存のスキーマを読んだ上で提案することです。

まっさらな状態にスキーマを1つ生成するだけなら、AIは得意です。難しいのはその先——すでに複数のコンテンツタイプがあり、参照で絡み合っている状態に、新しい変更を安全に足すことです。ここでAIが既存構造を理解していないと、名前がぶつかったり、参照先が壊れたりします。

管理画面のコンテンツタイプ一覧。著者・記事・カテゴリ・商品など複数のコンテンツタイプが並んでいる

実際のワークスペースは、こうして複数のコンテンツタイプが積み重なっている。この文脈を踏まえて提案できるかどうかが差になる。

「それ、もう存在します」と言えるAI

たとえば、すでに blogPost があるのに「ブログ記事を作って」と頼むと、Tesseraのスキーマ生成AIはこう返します。

スキーマ生成チャットが、既存のblogPostとの命名衝突を検出し、「新規作成すると既存のコンテンツタイプ名と衝突するため、このまま進められない」と警告している画面

既存の blogPost との衝突を検知し、「既存を編集するのか、別名で新規作成するのか」を確認してくる。

言われたとおりにスキーマを吐き出すのではなく、「それはもうあります。どうしますか?」と立ち止まる。この、既存構造との衝突検出・整合性チェックこそが、汎用のAI生成では埋めにくい部分だと考えています。

承認するまで、何も変わらない

もう1つの柱が、提案と反映の分離です。AIの提案は、どれだけもっともらしくても即座には反映されません

  • 送られた定義はバリデーション(予約語・整合性・既存スキーマとの衝突)を通り、
  • 承認待ち(pending)としてステージングされ、
  • 人間が差分を確認して承認するまで反映されない

だからAIにスキーマをいじらせても壊れません。「AIに任せる」と「勝手に変わる」は違う、というのがTesseraの設計です。

料金は「使った分だけ」

スキーマ生成チャットのAI利用は、1リクエスト=1クレジットとして可視化しています(画面にも直近の推定コストが出ます)。読み取り系(GraphQL・MCP)は無料でフル開放。AIを使う部分だけ、透明な従量課金にしています。

まとめ

  • 自然言語でスキーマを提案・調整できる。フィールドの型・必須・参照まで判断する
  • 汎用のAI生成との差は、既存のスキーマを理解した上で提案すること(衝突検知・整合性チェック)
  • 提案は差分で示され、承認するまで反映されない(AIに任せても壊れない)
  • AI利用は1リクエスト=1クレジットの透明な従量課金

「AIがCMSの構造を理解する」——Tesseraのコンセプトが一番はっきり出るのが、このスキーマ生成です。まっさらから作るときも、既存に足すときも、構造を分かっているAIと会話しながら組み立てられます。

無料で始めるドキュメントを見る

スキーマをAIと会話して作る ― 既存の構造を理解した上で提案する | Tessera