Spintaxとは?

Spintax(スピン構文)は、一つのソースをテキストの数多くの本当にユニークなバリアントへと変えるためのテンプレート言語です。あなた — あるいはAI — がバリエーションのロジックを一度だけ書けば、エンジンが数千通りの個別で決定論的な結果をローカルに、ほぼゼロコストでレンダリングします。

基本の考え方

Spintaxテンプレートは、バリエーションのマーカーを埋め込んだ普通のテキストです。レンダリングのたびに、エンジンは各マーカーから一つの選択肢を選び、個別の出力を生み出します — ただしどの選択もあなたが定義したものなので、結果は確率的な当て推量ではなく、正確でブランドに沿ったまま保たれます。

最もシンプルな例は波括弧と縦棒を使います:

{Hello|Hi|Hey} {world|everyone|there}

この一行だけで9通りの出力が生まれます:「Hello world」「Hi everyone」「Hey there」など。数十のバリエーション点を持つ実際のテンプレートなら、一つのソースから数千から数百万のユニークなバリアントを生成できます。

なぜAIに全ページを書かせないのか?

ページごとに言語モデルを呼ぶこともできますが、それには三つの問題があります。リクエストごとに費用がかかり、品質はぶれ、そして — 最も重要なのは — 出力がほぼ同一で見破られやすいことです。検索エンジンは、手間をかけていない紋切り型のAIテキストをますます検出し、ほぼ重複するページは互いに競合して重複コンテンツのペナルティを招きます。

Spintaxは逆の道を行きます。バリエーションを一度だけ書き、ローカルでレンダリングします。ページごとのAPI呼び出しはなく、確認できる決定論的な出力で、そして — どのバリアントもあなたが定義した別々の組み合わせなので — 構造上ユニークなコンテンツになります。それは、でっち上げの水増しのようにではなく、検索の中で個性を保ちます。

単純なスピンを超えて

現代のspintaxは {a|b|c} をはるかに超えます。完全な構文には次が含まれます:

  • 列挙 {a|b|c} — 一つの選択肢を選ぶ。任意の深さでネスト可能
  • 順列 [a|b|c] — N個の要素を選び、シャッフルし、設定可能な区切り文字で連結
  • 変数 %name%#set / #def で定義、またはレンダリング時に渡す再利用可能な値
  • 条件分岐 {?VAR?then|else} — コイン投げではなく、値に基づく分岐
  • 複数形の一致 {plural N: one|few|many} — 数に応じた正しい名詞形、ロケール対応
  • インクルード #include "slug" — あるテンプレートを別のテンプレートに埋め込む
  • コメント /#...#/ — 出力から取り除かれる著者メモ
  • 後処理 — 大文字化・空白・句読点の自動補正

完全な仕様は構文リファレンスにあります。

Spintax + AI:現代のワークフロー

コンテンツチームはすでにAIを既定の執筆インターフェースとして使っています。問題は、AIが書いた後に何が起きるかです。

このワークフローは逆方向の執筆です。あなたはすべてのバリアントを手で書くのではありません。最終テキストを一度だけ書き、バリエーションのマークアップは最後に加えます。そうすればエンジンは推測ではなくあなたの意図を実行します — ソースには逆、出力には多様。こうしてあなたは一つの確認可能なテンプレートから多様なコンテンツを作り出します

つまりspintaxは、いつものAIモデルを反転させます:

  1. AIを使ってテンプレートを一度だけ作る — バリエーションのロジックを備えた構造化文書
  2. それを検証する — 構文チェック、プレビュー、人による確認
  3. その場でレンダリングする — どの出力もローカルな文字列操作:API呼び出しも、コストも、遅延もなし

出力は決定論的で、テンプレートの品質だけに依存します。だから一つのアセットがあなたのブランドの声とバリエーション戦略を捉え — ユニークなコンテンツを安全に、安く、いつまでも生成します。

ユースケース

  • 規模のあるコンテンツ — 多数のページにわたる商品説明、ランディングページ、FAQブロック、メタディスクリプション。どれも本当に異なる
  • ローカライズ — 一つのテンプレートからロケール別のバリアント。変数とロケール対応の複数形つき
  • マルチサイト・代理店 — 再利用可能なテンプレートパック。サイトごとにユニークなコンテンツで、ほぼ同一のページが招く重複コンテンツのペナルティを避けられる
  • メール・メッセージ — テストとパーソナライズのための件名と本文のバリエーション
  • QA・テストデータ — ステージング環境向けの多様で現実的なコンテンツ

はじめかた

構文リファレンスでマークアップを学ぶか、プレイグラウンドでその場で試してください — インストール不要。自分のアプリでレンダリングするには、ランタイムでエンジンを選びます:@spintax/core(JavaScript)、spintax/core(PHP)、spintax-core(Python)、または Free Pascal エンジン — いずれもオープンソース、依存ゼロ、MIT、そして一つの共有コーパスに準拠。WordPressユーザーは無料プラグインでエディタ・キャッシュ・フィールドバインディングを利用できます。4つのエンジンすべてをご覧ください。