――「なんとなく違う」を、AIが判定できる形にする
AIと小説をつくる仕組みを紹介する、全8回連載の第4回です。
前回の 「作品の目的と前提」 では、AIが作品世界に入るための入口を取り上げました。 今回は、その次に難しかった 「文体」 です。
AIに小説を書いてもらうとき、最後まで難しかったものの一つが「文体」でした。
内容については、比較的指示できます。
この場面では何が起きるのか。
誰と誰が話すのか。
主人公は何を見ているのか。
次の場面へ何を残すのか。
こうしたものは、設定ファイルやScene Planに書いておけば、AIもかなり理解してくれます。
ところが、
「どういう文章で書くのか」
となると、急に難しくなります。
文体をどうAIに渡すのか。
この1年間、かなり試行錯誤したところです。
自分の文を、数字にしてみた
まず、自分で文章を書いた
最初にやったのは、自分で気に入る文章を書くことでした。
自分が読んで、
「こういう文章が好きだ」
「この感じで小説を続けたい」
と思える文章を作り、それをAIに読み込ませました。
そして、その文章を分析してもらいました。
一文の長さ。
短い文と長い文の割合。
会話文と地の文の比率。
使われている言葉。
段落の長さ。
改行の仕方。
文章の流れ。
自分では「この文章が好き」としか言えなかったものを、AIに分解してもらったわけです。
その結果を、少しずつ設定ファイルに入れていきました。
現在の style_constitution.md には、たとえば一文の長さについて
平均21字、20字以下を半数、40字を超える文を6%以内
といった目安があります。地の文と会話にも比率の目安を置いています。
最初は、ここまで分析して数字にすれば、文体も再現できると思っていました。
ところが、そう簡単ではありませんでした。
条件は合っている。でも、読んでみると違う
AIに条件を渡して文章を書かせます。
一文は短い。
会話と地の文の比率も合っている。
指定したルールにも、ほぼ従っている。
それでも読んでみると、
「違うな」
と思うことがありました。
特に多かったのが、文章が細かく切れすぎることでした。
一文。
一文。
一文。
というように、ブチブチと文章が切れてしまう。
確かに私は「短い文章」を好みます。
しかし、私が読みたかったのは、ただ短い文章を並べたものではありませんでした。
短い文がある。
少し長い文もある。
そこへ会話が入る。
地の文へ戻る。
少し間が空く。
また言葉が続く。
その流れの中に、文章の呼吸が生まれます。
実際にAIと書いてみて、そこがよくわかりました。
たとえば、こんなところを直していた
実際によくやっていた修正を、単純化するとこんな感じです。
AIが出す文章が、
教室の窓から風が入った。
ルミはノートを閉じた。
考えてみる。
働くって、なんだろう。
となっていたとします。
一文一文に問題はありません。
でも、私なら、
教室の窓から風が入った。ルミはノートを閉じた。
考えてみる。
働くって、なんだろう。
というように直します。
意味はほとんど変わりません。
変わっているのは、文章の呼吸です。
どこを続けるのか。
どこで切るのか。
どこに空白を置くのか。
現在の設定ファイルにも、「地の文は段落としてまとめる」「一文ごとに改行しない」というルールを置く一方、 心の反芻のように短文を連続させたい場合は例外としています。
ここで重要なのは、
短文が悪いわけではない
ということです。
短文を続ける場所と、続けない場所がある。
そこが文体です。
文体には「見た目」も含まれていた
文体というと、言葉遣いや文章表現を思い浮かべます。
でも、実際に作ってみると、それだけではありませんでした。
会話文のあとに地の文をどう続けるか。
地の文を何文くらい一つの段落にするか。
どこで改行するか。
地の文の段落は一字下げる。
会話文では一字下げしない。
会話文の最後に句点をつけるか、つけないか。
そうした画面で見たときの文章の形も、私にとっては文体の一部でした。
設定ファイルにも、段落の一字下げや、一文ごとに改行しないこと、 会話文の末尾には句点をつけないことなどを具体的に書いています。
一つ一つは小さなことです。
でも、それが積み重なると、読んだときの印象が変わります。
私には、
「自分ならこう書きたい」
という感覚があります。
同時に、
「自分ならこういう形で読みたい」
という感覚もあります。
この「自分なら」が、文体なのだと思います。
直した理由を、ルールに戻す
結局、手で直していた
AIが書いた文章を読んで、結局自分で直す。
文をつなげる。
逆に切る。
句読点を変える。
改行を変える。
会話のあとに地の文を置く。
同じ単語が続けば直す。
意味はほとんど変えず、文章の呼吸だけを変える。
そういう作業を何度もしていました。
でも、私はその手作業を減らすためにAIエージェントを使っているわけです。
AIが原稿を書き、そのあと全部自分で直していたら、なかなか自動化にはなりません。
そこで、手で直した内容を、
「次からAI自身が判断できないだろうか」
と考えるようになりました。
その結果、修正したことを一つずつルールへ戻していきました。
そうして「文体の憲法」ができた
それが、style_constitution.md です。
最初から「文体の憲法を作ろう」と考えて、完成形を設計したわけではありません。
読む。
違うと感じる。
自分で直す。
なぜ直したのかを考える。
次にも使えそうなら、ルールにする。
その繰り返しでできました。
このファイルの冒頭には、
このファイルは本作品の文体と描写の憲法である。
すべてのシーンはこのルールに従う。
と書いてあります。
「憲法」と呼んでいるのは、すべてを型にはめるためではありません。
複数の指示があったとき、
この作品では、最終的にどちらを選ぶのか
を決める上位の基準だからです。
禁止するなら、代わりに何を書くかも決める
文体の憲法を作る作業と、禁止事項を作る作業は、実際には別々ではありませんでした。
たとえば、この作品では感情を名前で直接説明しない、という境界を置いています。
しかし、
「感情を書いてはいけない」
だけでは、AIは困ります。
では何を書くのか。
→ 行動を書く
→ 沈黙を書く
→ 身体の動きを書く
→ 周囲の環境を書く
というように、禁止した表現には、できるだけ代わりに使う表現をセットで渡すようにしました。
実際の 07_forbidden.md にも、感情の直接表現を禁止したあと、
「ルミは窓の外を見た」のような行動、「莉子はそれ以上何も言わなかった」のような沈黙、
身体の動き、環境描写を代替手段として置いています。
これは、AIの自由を奪うための禁止ではありません。
「こちらへは行かない。その代わり、こちら側には広い表現の余地がある」
と示すための境界です。
文体の憲法と禁止事項は、片方が「書き方」、片方が「書いてはいけないこと」なのではなく、二つを合わせて初めて、
この作品では、何をどう書くのか
をAIに渡せるようになりました。
それでも、同じ文体にはならない
設定ファイルに書けるのは、文体の一部
では、style_constitution.md を渡せば、いつでも私の好きな文章が出てくるのか。
1年間使ってみた現在の答えは、
そうではない
です。
同じ設定ファイルを別のAIに渡したとしても、まったく同じ文体になるとは限りません。
むしろ、ならない可能性のほうが高いと思います。
なぜなら、設定ファイルに書けるものは、文体の一部だからです。
一文をどこで切るのか。
この句読点が気になるのか。
会話のあとに、どれくらい地の文が欲しいのか。
この段落は読みやすいのか。
少し説明しすぎなのか。
そこには、作者自身の好みがあります。
しかも、その好みを作者自身が最初から全部説明できるわけではありません。
私自身も、AIの文章を読んで初めて、
「自分はここが嫌なんだ」
と気づくことが何度もありました。
AIが作者を理解する
だから最近は、少し考え方が変わってきました。
文体を設定ファイルだけでAIに渡すのではなく、
AIが作者のことを少しずつ理解していくことも必要なのではないか
と思っています。
AIが書く。
私が直す。
なぜ直したのかを伝える。
次にまた書く。
また直す。
その繰り返しの中で、
「この作者は、こういう文章を好む」
「ここでは切らない」
「ここでは説明しすぎない」
「こういう見た目の文章を読みやすいと感じる」
という判断基準が、少しずつ共有されていく。
そうなって初めて、設定ファイルも本当に生きてくるのではないかと思っています。
設定ファイルだけが文体を作っているのではありません。
設定ファイルと、作者と、AIとのやり取り。
その3つで少しずつ文体ができていく。
私は今、そんなふうに考えています。
同じ設定ファイルでも、同じ小説にはならない
仮に私の style_constitution.md をそのまま別の人が使ったとしても、
私と同じ文章ができるとは限りません。
同じルール。
同じ数値。
同じ構成。
それでも、作者が違えば、
「ここを直したい」
と思う場所が違います。
その修正の積み重ねが、またAIへ返っていきます。
これは、最初にAIで小説を書き始めたときには、考えていませんでした。
私はAIに、自分の文体を教えようとしていました。
でも実際には、
AIに文章を書いてもらい、
それを自分が直し、
その理由をAIに返すことで、
AIに自分を理解してもらう作業をしていた
とも言えます。
同時に、自分自身も、
「私はこういう文章が好きだったのか」
と知ることになりました。
文体の憲法は、完成品ではない
だから、style_constitution.md は完成した文体そのものではありません。
文体を自動生成する魔法のファイルでもありません。
作者の好みをAIへ伝えるための土台です。
そして、AIとのやり取りの中で、
書き換えられ、
追加され、
少しずつ精度が上がっていくものです。
この1年間、
書く、読む、直す、ルールにする。
その繰り返しでした。
文体については、今でも完全に機械化できたとは思っていません。
むしろ、まだ課題です。
でも、
「なぜこの文章が好きなのか」
「なぜこれは違うと思うのか」
を、以前よりAIと共有できるようになりました。
それだけでも、AIと長編小説を作るうえでは、大きな変化でした。
該当する設定ファイル
今回の中心になるのは、次の二つです。
style_constitution.md
文体と描写の最上位ルールです。 文章の基本トーン、文の長さ、地の文と会話の比率、段落、表記などをまとめています。 ファイル自身が「本作品の文体と描写の憲法である」と定義しています。
07_forbidden.md
作品の方向から外れやすい表現について、「何を避けるか」だけではなく、 必要なところでは「代わりに何を使うか」まで定めています。
この二つを組み合わせることで、
「どう書きたいか」と「そこから外れたとき、どちらへ戻すか」
をAIと共有しています。
そして次に問題になったのが、文章ではなく、人間そのものです。
文章のリズムをそろえることができても、登場人物の性格が途中で変わってしまえば、 長編小説は続きません。
前回: 作品の目的と前提
次回: 「人物をぶらさない仕組み」