AIに長編小説を書かせ続けるために、設定ファイルを16個に分けた話
――人間が毎回していた確認を、AIエージェントの制作工程に変える
この記事の要点
生成AIは、同じ指示からも毎回少しずつ違う文章を作ります。 長編では、その小さな違いが人物や時系列の矛盾として積み重なります。 そこで私は、人間が毎回行っていた確認を役割に分け、 執筆・4つの評価・整合性確認・統合をAIエージェントに担当させました。
全エージェントが同じ作品へ戻れるよう、『13歳、わたしはお金持ちになると決めた。100の問い』Q1〜Q50では設定を16個のファイルに分けて管理しました。 実際に起きた修正と見逃しの両方から、設定ファイルを運用する意味とコストを紹介します。
- 文章生成とエージェント執筆は、作業の範囲が違う
- 設定ファイルは、複数のAIが共有する判断基準になる
- Q44では、初稿84点が改稿で88点になり、さらに過去稿との照合で二つの不整合を直した
- 16ファイルの運用には、更新漏れや古い設定を残すリスクもある
1.AIによる文章生成と、AIエージェントによる執筆の違い
生成AIに「小説を書いてください」と頼めば、文章はすぐに生成されます。
ただし生成AIは、完成した答えを保管場所から取り出しているのではありません。 入力された指示や資料を文脈として読み、次に続く言葉の候補を確率的に選びながら文章を組み立てます。
この性質は、短い文章では表現の豊かさになります。 一方、長編小説では小さな違いが積み重なり、人物の性格、過去の出来事、日付、伏線などのずれになります。
チャットで小説を書き始めたころ、AIが原稿を出すたびに、私は次のことを人間の目で確認していました。
- ルミと莉子の性格や話し方が変わっていないか
- 前の回で起きた出来事と矛盾していないか
- 莉子の内面を、ルミには分からない地の文で説明していないか
- 物語の問いを、登場人物が教訓として説明していないか
- 会話や情景が、作品の文体から外れていないか
つまり私は、依頼者であると同時に、編集者、校閲者、設定管理者、初見読者の役割も引き受けていました。
そこで、この確認作業を分解し、それぞれに参照資料と手順を与えました。 これが、私の小説制作におけるAIエージェントです。
2.設定ファイルはAIエージェントのガードレール
役割を分けても、それぞれのエージェントが別の作品像を持っていたら、判断は安定しません。 全員が同じ基準へ戻るために必要なのが設定ファイルです。
道路のガードレールは、車の進む方向を一つに固定するものではありません。 進む自由を残しながら、越えてはいけない境界を示します。
小説の設定ファイルも同じです。 AIに会話や情景を考える自由を残しながら、人物の核心、視点、時系列、禁止事項から外れたときに、同じ作品へ戻します。
たとえば、この作品の文体を定める style_constitution.md には、実際に次のように書いてあります。
感情を直接書かない
行動・沈黙・環境描写で感情を示す
行間に感情が流れる文章にする
これは「美しい文章を書いて」という抽象的な依頼ではありません。 執筆担当には書き方の境界を示し、評価担当には原稿を判定する基準を渡しています。
Q44で、過去稿とのずれを二つ直した
設定ファイルが実際に働いた例が、問い44「『ありがとう』はどれくらい伝えてる?」です。 「ありがとう」を問うこの回で、ルミは莉子に八つ当たりをします。
Q44を改稿していた段階で、ルミの八つ当たりの中に、過去の「ヒナタ」の出来事を入れる案がありました。
しかしQ8の確定稿と照合すると、現在の場面からその言及へつなぐと、過去に起きたことの扱いがずれます。
そこで、ヒナタへの言及は使わないと決め、13_details.md に記録しました。
もう一つは、自動販売機です。 Q44では、過去の場面を響かせるためにミルクティーの見本を出す案がありました。 ところがQ17とQ29の確定稿を読み直し、同じ自動販売機に重なっている二つの記憶を整理した結果、 Q44では「りんごジュースの缶」を使うことにしました。
↓
Q8・Q17・Q29の確定稿と照合する
↓
ヒナタへの言及を削除する
↓
ミルクティーを、りんごジュースの缶へ修正する
↓
判断と教訓を
13_details.md に残す
Q44の初稿は総合84点でした。 この総合点は、創造性、初見の読者体験、会話の複雑さ、情景と感情という4つの評価を加重平均して算出しています。 承認基準は85点以上です。84点は改稿、88点で承認可能という意味になります。
4つの評価で指摘された八つ当たりの長台詞、比喩による感情の説明などを修正した次の稿は88点になりました。 整合性確認は総合点には加えず、作品の重大な矛盾を止める別のゲートとして通過判定を行います。 このゲートで、過去の実発話との差を含む初稿のずれが解消されたことも確認しました。
その後の作者編集で、確定稿をさらに照合し、ヒナタへの言及を削除して、ミルクティーをりんごジュースの缶へ変更しました。 84点から88点への上昇と、この二つの不整合修正は、同じQ44の制作中に起きた別の改善です。
ここで得た一番大きな教訓は、AIや人間の記憶から過去を再現しないことでした。 過去の場面に依存する描写は、要約ではなく確定稿そのものと照合する必要があります。
3.設定ファイルの基本構成と、実際の運用コスト
設定ファイルは、情報を多く書けばよいわけではありません。 AIが必要なときに、正しい基準と現在地を見つけられる構造にする必要があります。
| 設定の種類 | 記録する内容 | 主な目的 |
|---|---|---|
| 作品の核 | 目的、前提、全体構造、100の問い | 何のための物語かを見失わない |
| 人物と世界 | 人物、欲望、弱点、関係、場所 | 人物らしさと舞台を保つ |
| 表現のルール | 視点、文体、表記、禁止事項 | 文章の手触りと境界を守る |
| 場面の設計 | 各章の出来事、固定アンカー、場面の核 | 全体構成を一回分の場面へ落とす |
| 物語の現在地 | 確定した出来事、日付、数値、小道具 | 古い情報との混同を防ぐ |
| 確認の基準 | 人物、文体、整合性のチェック項目 | 人間がしていた確認を再現する |
運用では、変わりにくい設定と、毎回更新される現在地を分けています。
作品の目的・人物の核心・視点・禁止事項
更新される現在地
出来事・日付・数値・関係の変化・小道具の状態
一回分の原稿を承認するときは、本文を確定するだけでは終わりません。
時系列を管理する 10_timeline.md と、確定事実を管理する 12_glossary.md も同時に更新します。
この作業には明確なコストがあります。 16個に分ければ自動的に安全になるわけではなく、更新する場所が増え、古い記述を残す危険も増えます。
Q49では、矛盾が確定稿まで残った
実際、Q49では「この高校、大学まであるんだって」「内申って、2年から関係ある?」という、 高校受験を前提にした会話が確定稿まで残りました。
しかし、ルミと莉子の学校は私立の中高一貫校です。 作品の学校設定と、場面で使った進路の話題が一致していませんでした。
この矛盾は、設定ファイルがあれば失敗しない、という話ではないことを示しています。 ファイルがあっても、読む範囲、照合の順序、更新のタイミングが足りなければ、矛盾は通過します。
しかもQ49は、すでに公開された確定稿でした。
既刊を購入した読者がいる以上、手元の本文だけを黙って書き換えれば、同じ作品に異なる内容が併存してしまいます。
そこで本文を修正せず、12_glossary.md に「既知の差異」として登録しました。
以後は高校受験や内申を前提にした描写を広げず、進路の話題をコース分け、学年順位、模試、塾、その先の大学に限る運用にしました。
Q44では改稿の精度を上げることができました。 Q49では見逃しも起きました。 成功例と失敗例の両方を残すことで、どの確認工程を強くするべきかが見えるようになります。
4.Q1〜Q50で使った16個の設定ファイル
『13歳、わたしはお金持ちになると決めた。100の問い』では、 一つの巨大なプロンプトに設定を詰め込まず、Q1〜Q50を次の16個のファイルで支えました。
ここでいう「16個」は、役割上の16種類という数え方です。
09_scene_plan_chX.md は一種類として数えていますが、実体は章ごとに作成・更新します。
| ファイル | 実際の役割 |
|---|---|
| 00_priority.md | 設定同士が衝突したとき、どの指示を優先するかを決める |
| 01_premise.md | 作品の目的、前提、物語の中心となる考えを定める |
| 02_characters.md | ルミ、莉子、家族の人物像、欲望、弱点、言動の境界を管理する |
| 03_structure.md | 100の問いを10章へ配置し、物語全体の進行と転換点を示す |
| 04_style.md | ルミの三人称視点と、書いてよい内面の範囲を定める |
| 05_questions_bank.md | 各問いの番号、章との対応、物語内での問いの扱いを管理する |
| 06_locations.md | 家、学校、街などの場所と、その場所が持つ条件を記録する |
| 07_forbidden.md | 直接説明しないテーマ、避ける表現、越えてはいけない描写を定める |
| 08_style_guide.md | 実際の原稿から、文章の長さ、改行、会話、数字表記を具体化する |
| 09_scene_plan_chX.md | 各章を場面へ分解し、必ず入れる固定アンカーと表現メモを区別する |
| 10_timeline.md | 季節、日付、経過時間、各回で起きた出来事の順序を管理する |
| 11_friendship_arc.md | ルミと莉子の友情が、一方通行から双方向へ変わる過程を追う |
| 12_glossary.md | 確定した数値、呼称、小道具、関係の現在状態、既知の差異を管理する |
| 13_details.md | 描写の取材情報を確定・未確認・検証済みに分け、失敗から得た教訓も残す |
| style_constitution.md | 文体と描写の憲法。感情を説明せず、行動・沈黙・環境から立ち上げる |
| character_check.md | 主人公が自分から動き、欲望と弱点が場面に現れているかを確認する |
ファイルを分ける目的は、AIに大量の情報を読ませることではありません。 執筆、評価、整合性確認のそれぞれが、必要なときに必要な正しい情報へ戻れるようにすることです。
Q1〜Q50では、グレースはルミの相談相手でした。 物語の中心は、ルミが莉子や家族との関係の中で体験し、行動し、その結果として問いを見つけることでした。
Q51以降では、グレースの役割も物語の進め方も変わります。 相談相手から、ルミと莉子にドリルを出し、結果に応じて計画を組み直す共同コーチへ。 そして物語は、移動式パン屋を現実の事業として立ち上げるシミュレーションへ移ります。
その転換に合わせて、どの設定を残し、どの設定を区切り、何を新しく加えたのか。 次の記事では、設定ファイルの全面的な見直しを紹介します。