ChatGPTなどLLMと呼ばれるAIの生成する物語を、手軽に改善するための仕組みです。基本的な考え方は以下の通り非常にシンプルなものです。
物語の構造や展開に影響する語を収集し、そこからランダムに複数選び、調整して指示に付加する。
さらに詳しくは 『AIが生成する物語をかき乱して改善する「アーキトロープ」という手法について』 という紹介記事をご覧ください。
このサイトでは記事で紹介しているアーキトロープのサンプル実装を提供しています。実験的な状態のため、データの不備や問題があれば @koguGameDev(x.com)までお知らせいただけると嬉しいです。
アーキトロープを使った物語の生成はとてもシンプルです。
個数は2~6で選べるようにしていますが、多いほどそれらを反映するため突飛や過剰に複雑な展開になりやすいでしょう。コピーするプロンプトパターンは幾つか用意していますが、出力したい物語のタイプやプロンプトの他の部分、利用するAIのモデルに合わせて切り替えてください。
語やプロンプトは積極的に調整する前提です。特に現在は重い展開となりやすい語が多いため、求める出力に合わせて語の追加など調整が必要です。
物語の構成や展開に影響を与える語を、現時点では3000語収録しています。半数は人力で用意し、残りはLLM(OpenAI ChatGPT-4o, o1, o3-mini-high, Google Gemini 2.0 Flash, Claude 3.5 Sonnet)の出力を編集したものです。また語には辞書的な語義と、物語への影響例を添えていますが、これは全てClaude 3.7 Sonnetで生成したものです。
収録語は少なくとも1万語はほしいと考えていますが、まだ全く足りていません。語の偏りも大きく、特に軽い展開や構造となりやすい語が不足しています。
全ての語には同一のプロンプトで、その語を使ってローカルLLMで生成した短い物語を付けています。設定はシンプルなファンタジーで、「なお次の要素を全体に間接的に用いること。」という指示とともに、対象の語を付加しています。なおアーキトロープの本来の目的である複数語ではなく、単体の語を適用しています。これは単一の語がどう機能するかのサンプルであるためで、実際に利用する場合は、そうした影響がより複雑に作用します。
利用しているのはGoogleが提供するGemma 2 27Bという、コンパクトなモデルです。商用サービスに比べればはるかに性能の低いモデルのため、不自然な表現も多く、物語として破綻している場合もあります。しかしローカルで動く規模のモデルで、どの程度の与えた語の象徴性が作用するかは確認できます。
# 「境の国」世界設定 ## 世界 剣と魔法の世界。 ## 舞台 「エンノル連合」 山岳地帯から平原まで多様な地形を持つ若い国家。かつての小国家群が「統合協約」で一つになったが、地域間の対立は残る。緊張状態にある大国ヴォルダンと長い国境を接する。 ## 現状 各地に眠る遺跡は貴重な遺物や資源を得られる一方、常に危険の源でもある。国内では議会で自主独立派とが恭順派が対立。次期執政官選挙を前に政治的緊張が高まっている。 ## 主人公たち 幾つもの遺跡に囲まれた辺境の街ビレーで、大穴を夢見てその日暮らしな遺跡探索を行うラーンとイシェ。彼らに高額の日当と引き換えで、探索の補助と遺物の独占を持ちかけるテルヘル。今日も3人は遺跡に潜る。 ### ラーン ビレーに生まれ育った青年。筋骨たくましく、戦いにも慣れているが、計画性はなく気分で動く性格。楽観的で細かいことは気にしないが、仲間への情は深い。遺跡探索も「いつか莫大な財宝を掘り当てる」と豪語しながら、結局その日暮らしを続けている。剣を得意とし、危険な状況でも前に出ることを恐れない。 ### イシェ ラーンの幼馴染で、彼とは対照的に慎重で計算高い。体格は細身で一見頼りなく見えるが、動きは素早く、鋭い判断力を持つ。現実主義者で、ラーンの無計画さにはよく呆れているが、彼の大胆さに救われることも多く、結局ついていく。とはいえ、いつか「大穴」を掘り当てるという夢を本気で信じているわけではなく、どこかで堅実な生き方に切り替える機会を探している。 ### テルヘル ヴォルダンへの復讐を誓う。彼女は何かしらの理由でヴォルダンに全てを奪われ、強い憎悪を抱いている。自ら剣をとり戦うだけでなく、知識も交渉術も駆使し、必要ならば汚い手も使う。目的のためならば他人を利用することも厭わないが、根本的には誇り高く、無意味な裏切りや欺瞞を嫌う。ラーンとイシェを雇ったのも、単なる駒ではなく、ある程度信用に足ると判断したから。 --- 以上の設定から物語を作って。設定を元にしたひとつの小さなエピソード。見出しや説明は不要で、本文のみを出力すること。 なお次の要素を全体に間接的に用いること。「【ここに対象の語】」