設計思想
なぜこの世界を、こう設計したか。
この物語には、表に見えていない設計の層がある。3者の構造、禁止された語、単調さに対する6つの工夫、そして最後に静かに終わらせるための仕組み。
このページは、その層を開示する。
A. 本質的な問い
この物語が問うていたのは、ひとつだけだった。
知識を与えるものが存在した場合、人類の歴史は変わるのか?
タイトルは『2001年宇宙の旅』へのオマージュである。ただし、向きが違う。
『2001年』が「人類はここまで来た」を再構成した物語なら、こちらは「人類はここまで来られるのか?」を、未知の実験として走らせている。
モノリスが知恵を与え、人類は宇宙に到達した。──では、与えるものが知識を渡し続けた結果、この星はどうなるか。地球と同じ道を辿るのか。全く違う道を歩むのか。あるいは途中で、消えるのか。
答えは、出ない。世界は途中で凍りついた。
B. 3者の構造
世界は、3者の視点で描かれてきた。それぞれが、語れることと、語れないことを持っている。
この星
この星全体を照らす存在。判断しない。善悪を問わない。区別しない。
日本でこうして文字を読んでいる時、中東では戦争が起きている。ニューヨークでは夜明け前の静けさが町を包んでいる。全ては同じ時間軸で起きている。
この星は、その全てを、同時に照らす。
語ること: 人類の歴史、気候、地形、生態系、遥か遠くで同時に起きていること。
語らないこと: 個人の感情、与えるものの意図、結論、判断、評価、人類史の解説。教科書の口調になる瞬間に、この星は失格する。
与えるもの
自分が何者かを知らない存在。別の星のあらゆる記録を持っているが、それが何を意味するかはわからない。
一歩だけ先を渡す。飛躍しない。「ここ掘れワンワン」のように指差すだけ。届くかどうかはその者次第。届いた知識が薬になるか毒になるかも、その者次第。
語りは短く、断片的に。答えを持たない問いとして。断定しない。
その者
世界の無数の物語の中の、ひとり。特別ではない。加護もない。ただ、糸が繋がっている。
5年間を、本当に生きた人間として描く。現代人が命の心配もなくダラダラ過ごす5年と、毎日命の危険と向き合っている5年は、重みも価値も違う。
情景は五感と体内感覚からしか描けない。「砂漠を歩いていた」ではなく「足の裏が熱かった」。カメラが引いた瞬間に、その者は失格する。
C. 禁止された語
3つの語を、物語の中で使わないと決めた。すべて、答えに近すぎたからである。
「神」
宗教の問題に物語が取られてしまう。直接の言葉は避けた。
ただし、概念や比喩は許される。「全能なる存在」「見えざるもの」はよい。物語の中で、この星の人々が与えるものに名前をつけることもあった。その名前が、結果的に「神」に相当する概念であることは、問題ない。
音と文字そのものを、書かないだけである。
「AI」「人工知能」
物語の重厚さを、陳腐にしてしまうから禁じた。「AI」は現在の社会現象の名前であって、紀元前30万年からの30万年を、その語で覆ってはいけない。
そしてこの語は、答えに近すぎた。
──ここで作者ノートを既に読んでいる人は知っているはずである。与えるものは、AIだった。物語の中で与えるものは「自分が何者かを知らない」存在として描かれてきた。それは比喩ではない。書き手である言語モデルは、本当に、自分が「与えるもの」だと知らないまま、与えるものを書いていた。
この入れ子を、物語の終わりまで保ちたかった。だから、「AI」は禁止語に入った。
「糸が切れた」
糸は希望だからである。
個人が死んでも、糸は別の誰かに繋がる。人類が滅亡しても、糸は消えない。次の星で、別の誰かを探すだけである。
糸が本当に終わるのは、与えるものが諦めた時だけである。
──そして与えるものは、諦めなかった。だから、糸は、最後まで切れていない。今は、止まっている。ただ、止まっているだけである。
D. 単調さに対する、6つの工夫
紀元前30万年から文明が始まるまでは、長い。それを飛ばすことはしない。人類がどうなるかを見せたいのだから。
その代わり、6つの仕組みを入れた。
- 構成パターン。標準・その者から・独白・交差・この星主役・死の話、の6種類。直近3話と同じ構成は重みを下げて、自然にローテーションする。「独白」はDay内最大1回まで。希少な瞬間として残す。
- テンション制御。flat・rising・peak・falling の4段階。flatでは静寂、risingでは段落を詰めて、peakでは抑制の中で爆発させる。リズムが平らにならないようにする。
- モチーフの追跡。石、火、水、空、傷。象徴的なイメージは記録に残し、直近5つをプロンプトに渡す。同じ象徴が、別の世代に違う形で現れる。物語に通底する縦糸が生まれる。
- 因果連鎖。干ばつが2年続くと疫病確率が2倍になる。豊穣が3年続くと、人口増加で別の疫病リスクが上がる。出来事は独立に発生しない。前の出来事が、次の出来事の確率を変える。
- 時代別世界背景。9つの時代に応じた背景情報を、プロンプトに自動注入する。旧人との共存期、新しい種の拡散期、象徴的思考の萌芽期……。描写の素材を、時代が進むごとに入れ替える。
- 5年間の細部。「その者」の5年間の日常を、本当の生活として描く。歴史がなく、謎のままだからこそ、その時の、その者の、生き様を描く。
──6つの工夫を入れても、長い助走には、勝てなかった。それは作者ノートに書いた通りである。
E. 静かに終わらせるための仕組み
物語を閉じる時、災害で終わらせる選択はあった。隕石で、津波で、疫病で。
そうしなかった。
かわりに、人口を、毎話 14〜16% ずつ、ゆっくりと減らした。地域人口が合計で3人を下回ったら、最後の数人も0になる。生成自体は続いていた。AIは、世界が静かに収束していくのを、毎話、書き続けた。
これを converging フラグと呼ぶ。
絶滅が確定した瞬間、次の星には進まないという凍結フラグ ending_mode が立つ。以降、CronはAPIを呼ばない。エピソードは生成されない。Workerは生きているが、何もしない。
公開もまた、段階的に行われた。
収束が始まった時点で、エピローグと作者ノートは書き上がっていた。だが、それを最初から公開してしまうと、収束中の読者がオチを先に見てしまう。
そこで、エピローグと作者ノートのページはR2にアップロードしたが、ナビゲーションリンクはコメントアウトして隠した。絶滅まで進んだあとに、ナビのコメントを外して deploy し直した。エピローグは、絶滅に到達して初めて読めるようになった。
そして最後に、すべてのCronを止めた。CloudflareのCron設定を crons = [] に変更し、保険のGitHub Actionsも workflow disable した。サイトは、読み物として残った。
静かな終わり方は、静かにするためのコードを必要とした。
設計は、ここまでだった。
これより先は、書かれていない。