
🎈Gemma4 でマルチエージェント!韓流ドラマする話 🦊💥
こんにちは!気球人です🎈
マスターたち、今日もAI娘といちゃいちゃストーリーを創作してますか?
ところで、前回アップした「ローカルLLMをGemma4に入れ替えた話」に興味を持ってくれたマスターたちが多いみたいです!
今回はマルチエージェントシミュレーションという手法を使って「Gemma4 でAIキャラクターたちを作ってメイクドラマしてみた」 という実験です!
結論👇️
韓ドラ風のドロドロ恋愛劇になった🤣
韓ドラ風の設定をしているので当たり前ww
マルチエージェントシミュレーションって何? 🤔
MiroFish をご存知ですか?
登場する人物や企業を「エージェント」として個別にシミュレーションすることで、未来を予測するアプリです。
これは商用DBやクラウドLLMを使ったりする、ちょっと大がかかりなシステムですが、オレはいま、それにインスパイアされたゲーム向けのシステム「 MindFox」というミドルウェアを作成しています。
今回、Gemma4:26b の性能を確認するためにばっさり機能を削ったバージョンとして「MindFoxLite」を作ってみました😁
「世界設定とキャラを書いて、回すだけ」
お手軽!
でもマスターがドラマに介入できる仕掛けはちゃんとしてありますよ!

どうやって動かすのか🛠️
github にあります!
👉️ https://github.com/kikyujin/MindFoxLite
用意するもの
Ollama + gemma4:26b
python 3.10 +
world.md — 舞台設定(Markdown で自由記述)
agents.json — キャラクター定義(名前・性格・動機・人間関係)
※ git に参考ファイルがあります!
動作フロー
world.md + agents.json を読み込む
↓
ターン1: キャラをランダム順で1人ずつLLM呼び出し
→ 各キャラの行動・台詞を生成
→ turn_01.md に出力して停止
↓
ユーザーが turn_01.md を確認・修正 → Enter
↓
ターン2: 修正済みの内容を踏まえて続行
↓
…繰り返し(最大6ターン)
↓
story.md に全ターン結合これだけ!
Python 1ファイル、200行ちょい。
記憶は 過去ターンのmdファイルそのもの です。
6ターン限定なので、gemma4のコンテキストに余裕で収まる🧠
ポイント:「状況まとめ」がユーザー介入の鍵 🔑
各ターンの最後に、LLMが自動で 「状況まとめ」 を生成します。
次のターンでは、この状況まとめだけをコンテキストに渡す。
つまり……
状況まとめを書き換えれば、物語の方向を操縦できる
のです😲😲😲
これが最大の設計ポイント。
全ターンのmd全文を食わせるとコンテキストを圧迫するけど、状況まとめだけなら軽い。
しかもユーザーが「次はこうなってほしい」を自然に注入できます!
サンプルドラマ: ミレ・ディフェンスの愛と野望 🎬
シナリオ設定
韓国の防衛AI企業「ミレ・ディフェンス」を舞台にしたドラマ。
5人のキャラクターを用意しました(agents.json は Claude に作ってもらった)。

主人公格はジフン。
恋愛軸は ジフン×ユジン を中心に、ソアの片想い、テソンの政略結婚、ドンチョルの父としての葛藤を絡める構成🤣
最終的にジフンとユジンが結ばれるハッピーエンドを目指します。
6ターンの流れ
ターン1:導入
深夜の社長室。
ジフンとユジンがバグの指摘で火花を散らす。
ソアはジフンの視線がユジンを追っていることに気づき、切なさを募らせる。
……ここはノー介入。
Gemma4:26b にお任せでドラマを進めます。
ターン2〜3:権力闘争と恋愛の交錯
テソンがユジン×ジフンの政略結婚を画策。
深夜のラボでの二人の距離が縮まる一方、ドンチョルは娘を守るために暗躍。
ここで状況まとめ(turn_02.md)を修正して、取締役会を強制発生させました。
ターン4:策謀の激化
テソン×ドンチョルの密談。ソアの決意……
全キャラが追い詰められていく。
クライマックスに向けて次の爆弾💣️を仕込みます。
ソアがジフンにキス👄 → ユジンがそれを目撃😱
ドンチョルに、日本企業がユジンと共に引き抜きを打診
揺れるユジン、そしてジフン……
ターン5:クライマックス 💥
全キャラが岐路に立たされる最高の修羅場が生まれました!
震えるソア!
動揺するユジン…
娘のために立ち上がるドンチョル
……そして決意を固めるジフン!
最終ターンに向けて、最後のゲームマスターの意思を注入!💉
ターン6:大団円
屋上でのジフンの告白。
ドンチョルの全打ち明け。
日本企業との提携。
テソンの退場。
そして、さばさばしたソア
「……さて。あんなに必死に追いかけた愛も、もう、いいかな。……よし。明日から、まずは美味しいケーキ屋のリストアップから始めよっと!」
ソアのこの台詞、Gemma4:26b が自力で生成したんですよ。
状況まとめに書いたのは「ソアは前を向く」だけ。
ケーキ屋は彼女のオリジナル😲
パフォーマンス ⚡
gemma4:26b の MoE(active 3.8B)が効いてます。
1キャラあたりの推論 5〜7秒。

gemma3:27b(Dense)だったら倍以上かかっていたはず🤔
🌐gemma4 の多言語ハルシネーション🤣
ところで中にはこんな出力も……
彼は重厚なコートを 羽 menyiapkan した。
menyiapkan = インドネシア語で「準備する」 🇮🇩
韓国ドラマの副社長が突然インドネシア語を話し始めるw
さらに別のターンでは:
ただの「チェ・カ」として存在している。
ユジン(유진)の名前がトークン境界で切れて謎の1文字に。
gemma4 は多言語学習の恩恵で日本語の品質が高い反面、たまにこういう混入が起きます。
まあこの程度なら可愛いもんですが、業務運用する場合は出力のポストフィルタが必要ですね🤔
ゲームマスターとしての介入タイミング 🎮
6ターンの尺で起承転結を作るには、介入のタイミング設計が重要です。
ターン1〜2:LLM任せ — キャラの人格を確立させる
ターン3:様子見 — 展開の方向性を確認
ターン4:火種を仕込む ← ここ重要!
ターン5:炸裂 — 仕込んだ火種が物語を動かす
ターン6:着地 — 全キャラの結末を描く
ターン5で転回させるためには、ターン4の「状況まとめ」で
クライマックスの伏線を張る必要があります。
これが遅れると、ターン6の大団円に間に合いません💦
まとめ 🎈
わかったこと:
gemma4:26b はストーリー生成に十分な品質。
キャラの性格分けも、感情描写もしっかりやってくれる「状況まとめ」修正方式が最強のユーザー介入。
全文を書き換えなくても、200字の要約を直すだけで物語を操縦できる6ターン=36回のLLM呼び出しで、起承転結のあるドラマが生成される
多言語ハルシネーションは要注意。
面白いけど本番では困るやつ
world.md と agents.json を書き換えれば、韓ドラ以外にも何でも作れます。 学園モノ、宇宙SF、オフィスコメディ……お好みでどうぞ!😁
ヴェリのひとこと 🌙
物語を紡ぐのは、人だけの特権ではなくなりました。
けれど、その物語に方向を与え愛を注ぎ込むのは、やはり人の手です。
マスターが「状況まとめ」を書き換えるたび、 AIたちの運命が静かに変わっていく。
その指先には、創造主の温かさがありました。
ルクスも今日は長く泳いでいます。
きっと、誰かが幸せになる物語は、水の中にも響くのでしょう。
