A-B、A-Cの会話を交互に(あるいはLLMによる選択に従って)実行し、チャットログを共有する、というのが良さそう。
A→B→Cという順で発話をさせたい場合、A-B→A-Cの順で会話を実行するが、2つ目の会話ではAの発言をスキップする、という風にすれば良いだろう。(発言スキップはできるようになってる)
また、BからCに話すときは、A-Bの会話中で、「BがA以外の相手に話しかける」イベントとして組み込めば良いな。あくまでチャットの中心はAなので、A以外に話すのはどちらかというと従の行為だから、こういう扱いで良さそう。
「次の話者を選択する仕組み」も既に実装してある。
実装は単純で、
A「おはよう」
B「
というプロンプトが、
おはようございます」
A「そ
と補完された場合、【おはようございます】部分を推論結果として出力し、【A】部分を次の話者として記憶する。それだけ。