AIマクロ戦略家オラクル綾乃が生まれるまでの340日
文字列を返すだけのAIが、分析組織へ育つまで
『オラクル綾乃』は、九星気学、経済情報、地経学、孫子の兵法、そしてLLMによる分析ワークフローを組み合わせるために作った、AI生成キャラクターであります。
とはいえ、最初から今の「AIマクロ戦略家」という方向性で生まれたわけではなく、最初にあったのは、もっと素朴な発想でして。
九星気学を使って、人と人の相性やいわゆる『世相』、日本の経済や社会の流れを大まかに読めるのは感覚的にわかっていました。たいていの日本人なら「干支」は心の芯まで入っていると思います。当然のことながら、「今年は午年」だからって行動することはないけど、なんとなく「午年」っぽく収束(午は発散?)していくことだろし、なんとなく季節や方位、「午」の象意とかから入っていくと「正午は九紫火星なんですよ」なんていうと「それっぽく聞こえる」というか。日本人なら何となく伝わることもあるかと感じてきました。
ただ世の中のニュースや市場の動きは海外、特にアメリカに対して動くことが多く、その中ですっごく「西洋」の動きが日常の中に入ってきているけど「東洋」の技術・占星術である九星がどんな感じであてはめられるんだろう?もしLLMで(無理やり)九星をあてはめたらどんな感じになるんだろう?というのが疑問の始まりで、いわゆる海外発の普通の経済ニュースをちょっと違う角度から分析できないだろうか。そういう小さな仮説から始まりました。
リポジトリを作りはじめて、今日までおよそ340日余り。その間にやってきたことは、最初から仰々しい『AIメディアの構築!』というより、日々の細かい問題解決の積み重ねでした。記事を作り、画像を作る。プロンプトを直す。GitHub Actionsを直す。Ghostへの投稿で失敗する。Xの投稿仕様に合わせる。JSONが壊れる。LLMの文章が抽象的すぎて使えない。出力はきれいだが、読んでみると何も言っていない。そのたびに、仕組みを少しずつ変えていきました。
最初の頃に時間がかかっていたのは、主に画像生成モデルでのキャラクターとブランドの形成でした。文章を生成するプロンプトはだいたい「きまる」のですが、画像生成プロンプトでの、ポーズや髪型、服、髪飾り、背景、色、地球儀、背景の金融チャートなどのこれらのプロンプトが全く定まらない。何より、去年のDALL-EとかStableDiffusionとかモデルが変わるとプロンプトが全く変わっていく。また画像生成するにもそこそこ時間がかかります。一昨年までは生成された指の数が問題になっていましたが、去年の今頃はもうほとんどそんなことはなくなって、遠慮なく指先も加えることができるようになりポーズもいろいろ試しました。地球儀や水晶玉を持っているポーズはやっぱり『占い師っぽさ』にはかかせませんから。プロンプトと成果物を調整しながら、大量に画像を生成し、顔や衣装の再現性や一貫性のなさに打ちのめされながら、「再現性のあるオラクル綾乃」のイメージを作っていきました。
同時に、Ghostというメディアに記事を自動追加し、Xから導線を作り、週刊のまとめをMediumに作ってみたり、GitHub Actionsで自動化するようになりました。最初の構成は、かなり素朴でした。LLMに記事を書かせる。タイトルを作らせる。必要なら翻訳する。必要なら画像を作る。必要ならX用に短くする。単発の処理をつないで、なんとかコンテンツを出していました。
この段階で、LLMの最初の壁が見えてきました。
LLMは、それらしい文章を書くのが得意です。九星気学と経済ニュースを混ぜれば、雰囲気のある文章はすぐに出ます。九星の象意や木火土金水の陰陽五行。そうした象意を使えば、どんなニュースにもある程度の説明を与えることができます。
けれど、扱う対象が広がるほど、文章は抽象的になっていきました。国家、産業、物流、金融、制裁、政策、制度、法的争点、テック産業、社会不安。これらも九星の象意に当てはめれば文章は生成できます。むしろ、できてしまいます。しかし、象意を当てはめる範囲が広いほど、どの制度の話なのか、どの産業構造の話なのか、どの政策手段の話なのか、どの市場メカニズムの話なのかがぼやけていきます。文章としては美しいが、分析としては解像度が低い。そういう問題が出てきました。
そこで、最近になって専門家フェーズを入れました。
専門家フェーズの役割は、九星で読むべき焦点を絞るための前処理です。まず、ニュースの現実側の争点を切り分ける。これは地経学で読むべき話なのか、国内政策や法制度で読むべき話なのか、金融市場で読むべき話なのか、テック産業で読むべき話なのか、市民社会の安定性として読むべき話なのか。テキストの中から「専門用語」や「登場人物」、「対象物」、「場所」など話題となる「キーワード」を抜き出し、その焦点に向かって適切に、九星の象意を重ねるようにしました。
このようにすると、何となくの象意の流れの説明だけでなく、それぞれの専門家によって事件やニュースのストーリーを、見るべきキーワードで「構造化」することができました。経済でも司法でも政治でも地政学でも、セオリーとなる「イベント」や「流れ」、「手続き」、「リスク」などのフレームがある、ということに気づいたわけです。専門家フェーズで「これは供給網のチョークポイントの話だ」「これは法制度上の執行リスクの話だ」「これは金融市場のポジショニングの話だ」と先に絞ると、九星の象意を当てる場所が明確になります。
地経学を取り入れたのも、この流れの中です。地経学は、やはり昨今のニュースにおける地政学と経済問題を同時に扱うことが多くなり、例えば戦争と経済を別々の専門家に任せるのが厳しくなってきました。また地域や方角、チョークポイント、どこに依存関係があり、誰がゲートキーパーになるのか。そうした現実側の構造を先に把握することで、九星の読みにより具体的な「場所」も象意に置けるようになりました。
孫子の兵法も、本当に最近、入れた観点です。
専門家フェーズでニュースの論点を絞り、九星でその象意と推移を読む。そこまではできるようになりました。しかし、記事として説得力というか面白さを盛り込むには、もう一段必要でした。九星気学的なシステムだけでも流れからどうなっていくのかの解説文は生成できます。しかしそれもやんわりというか、決定論的な「次はこうなるから気を付けましょう」では面白くない。もう一歩、こういうシチュエーションでは何を材料に何を判断するべきなのか、その一押しを『東洋の技術・知恵』で何とかしたい、と。
孫子の兵法は、その「判断基準と取るべき行動」を当てはめるために加わえました。(ぶっちゃけ男の子なら三国志で奇門遁甲知らない奴いないでしょ?)構造分析と九星読解のあとに、戦略的な焦点を与えるためです。現在のオラクル綾乃は、そのような層の重なりとして動いています。
この様に要求(欲求?)が高まったのも、大きな転換点としてLLMを「ひとつの書き手」として使うのをやめたことです。
初期の実装では、ひとつの大きなプロンプトに多くの役割を詰め込んでいました。ニュースを調べる。構造を分析する。九星で読む。オラクル綾乃の文体で書く。SNS用に変換する。これを一回のLLM呼び出しでやろうとすると、必ずどこかが薄くなります。調査を重視すると文章が弱くなる。文章を重視すると事実が弱くなる。九星を強めると詩的になる。経済分析を強めると、オラクル綾乃である意味が薄くなる。さらにWeb_Searchツールはすでにつかえましたが、「いつ検索するのか」のタイミングが固定、つまり与えたプロンプトから検索キーワードを決めてまず検索し、検索結果を使って、文章を生成する、という挙動でした。その後、モデルが賢くなって「自分で判断」するようになると、前のモデルで使っていたプロンプトはご破算になってしまいました。
そこで、LLMを組織として使う方向に変えました。(当然、コストも増えました。)
まず、リサーチャーを置く。リサーチャーは、観測可能な事実、主体、統計、タイムライン、一次情報、未解決点を集める。必要なだけ、確認可能な材料を集める役割です。
次に、専門家を置く。専門家は、ニュースごとに適切な視点・観点を選び、争点を切り分け、分解するためのフレームワークを提供するのです。地経学、国内政策・法制度、金融市場、テック産業、市民社会の安定性など。どの専門家が読むべきかを判断させ、その専門家での論点の抽出や「専門家の見方」で構造化することで、すべての出来事がそれぞれに適した「型」で取り出せるようになりました。
その次に、九星の読解者を置きましたが、ここでもLLMにすべてを任せるのは危険でした。LLMは、そもそも多少の「五行や九星の知識」を持っています。これがやっかいでした。それらしく説明できますが、私からするとでたらめな解釈をでっちあげていることが多々あります。ハルシネーションというやつです。
そこで、ある程度の九星の前処理を決定論的に分離しました。Pythonのロジックとして暦から中宮の星を求め、九星から各星の配置を逆算し、象意候補を辞書から抽出したり。(マスター化も考えましたがSkyfield APIで太陽と地球の位置情報から立春が算出できたり。)そんな感じでなんとなくプロンプトに暦カレンダーを突っ込むのではなく、データとロジックで処理した結果をJSONやYAMLなどのフォーマットにしてプロンプトに入れ、どの対象にどの象意を当てるかを明確に指示する。これによって、九星の読みは雰囲気ではなく、辞書と配置に基づく分析に近づきました。
さらに、九星の流れに対する孫子の戦略解説を生成した後で、執筆者としての『オラクル綾乃』が記事を書き、編集者が検証・校閲、つまり事実確認や読者目線での表現の緩和、抽象表現の削減、監査ログの保存を担当します。最後にSNS担当者が、Ghost記事をXやBluesky向けの投稿に変換します。
これは、単なるマルチエージェントというより、LLMの「組織化・階層化」です。
単に役割を分けるて分業することだけではなく、あるLLMの出力を次のLLMの入力にすることです。リサーチャーの成果物を専門家が読み、専門家の分析を九星読解者が読み、九星読解と専門分析を戦略レンズが読み、統合執筆者が記事にし、編集者が検証し、SNS担当者が配信用に変換する。各フェーズで成果物を保存し、後から検証できます。(させます。)
このような『構造』にしたことで、失敗が明確にキャッチできるようになりました。
単発生成では、記事が悪くても原因がわかりません。どこかのプロンプトがうまくいかなくても全部が混ざってます。そもそもLLMは毎回、文言が変わるので一発勝負なところも多分にあります。統計的に処理できるのであれば20回生成させて平均取る、とかもあろうことかと思いますが、文章はそんなことはできません。また長大なプロンプトは毎回、料金が高いので試行錯誤にも限界があります。(APIの料金だけで1日で50$とか行くときはいきます。)
そして、LLMの性能向上も、この設計に大きく影響しました。初期のモデルでは、長い文脈を安定して扱えず、JSONも壊れやすく、複数の役割を同時に持たせると指示が混ざりました。そこで、かなり強くプロンプトで縛る必要がありました。
その後、structured outputsやPydanticスキーマを使えるようになり、JSONの破綻はかなり減りました。長コンテキストのモデルを統合フェーズに使うと、単なる抽象論のふわっとした文章ではなく、具体的な文言や論点のはっきりした長いけど意味が通る文章が出せるようになりました。
LLMの性能向上だけではありません。コストダウンも非常に大きいです。長コンテキストの高性能モデルが遠慮なくバンバン叩けるようになると。そこは非常に大きかったです。もちろんこれらを製造するのにCodexとClaude Codeもガンガン使っています。(こいつらのサブスクもばかにならないお値段です。)
そんなわけですが、この340日でやってきたのは、記事を作ることだけではありませんでした。記事を作るための情報・材料・思考の流れを、どこまでシステムに落とせるかを試してきた時間でした。
オラクル綾乃は、表に出るときはひとりのAIキャラクターです。九星気学、孫子で世相の流れを語るAIマクロ戦略家です。
けれど裏側では、ひとりではありません。リサーチャーがいて、経済や法律、地経学などの専門家がいて、九星読解者がいて、孫子の戦略レンズがあり、統合執筆者がいて、編集者がいて、SNS担当者がいます。さらに、記事の投稿、SNS投稿、アイキャッチ画像生成、専門用語の辞書作成など各種のGitHub Actionsのワークフローが、それらを支えています。
オラクル綾乃というキャラクターは、ひとつの顔でありながら、実際にはひとつのシステムです。
340日かけて生まれたのは、完成されたシステムなどではなく、記事の作成で必要な、情報をどう圧縮し、どの争点に焦点を当て、どの象意で読み、どの不確実性を明らかにし、どの論点やストーリーを読者に渡すか。オラクル綾乃プロジェクトは、そのための試みです。
答えではありません。むしろ、問いを処理するための構造です。その構造を、AI生成キャラクターの姿にまとめたものです。
AIマクロ戦略家オラクル綾乃が生まれるまでの340日は、AIに記事を書かせるための時間ではありませんでした。
LLMを、ひとりの文章生成器から、ひとつの分析組織へ変えていくための時間でした。



