A-B、A-Cの会話を交互に(あるいはLLMによる選択に従って)実行し、チャットログを共有する、というのが良さそう。
A→B→Cという順で発話をさせたい場合、A-B→A-Cの順で会話を実行するが、2つ目の会話ではAの発言をスキップする、という風にすれば良いだろう。(発言スキップはできるようになってる)
また、BからCに話すときは、A-Bの会話中で、「BがA以外の相手に話しかける」イベントとして組み込めば良いな。あくまでチャットの中心はAなので、A以外に話すのはどちらかというと従の行為だから、こういう扱いで良さそう。
speaker1はA固定で、speaker2にB,C,D…がターン毎に差し替わる。
まあ、そういう作りになってないのは確かなので、大改造は必要だけど、根本的な会話モデルに手を入れなくて済む。