エージェント同士に会話させる構成では、いつ会話を終えるかを決めておく必要があります。決めないと、こちらが止めるまで続きます。
終了条件を4通り変えて回したところ、合意の語だけで止める設計では7.5%の会話が20往復を超え、最長は67往復でした。
終了条件を4通りで5,000回ずつ回しました。合意だけで止める設計は平均8.1往復ですが、最長は67往復です。
AutoGenのように会話させる構成で、終了条件の置き方がどれだけ効くのかを実際に回して測りました。題材は2体の会話です。
試行は本当に実行しています。ただし合意の語が出る確率と1発言のトークン量は置いた値です。乱数は固定の種から作っているので、何度実行しても同じ結果になります。
function converse(stop) {
let turn = 0, sent = 0, agreed = false, sameCount = 0;
let lastLen = PER_TURN;
while (turn < HARD_CAP) {
turn += 1;
// 発言のたびに、それまでの会話が全部送り直される
sent += PER_TURN * turn;
agreed = rand() < AGREE_RATE;
/* 発言の長さの変化から、進んでいないことも検出できるようにしておく */
if (stop(turn, agreed, sameCount)) return { turn, sent, hitCap: false };
}
return { turn, sent, hitCap: true };
}
終了条件 平均往復 最大往復 平均累積トークン 打ち切りに達した割合 終了条件なし 200.0回 200回 6,432,000 tok 100.0% 合意の語で止める 8.3回 63回 22,232 tok 0.0% 最大10往復で止める 10.0回 10回 17,600 tok 0.0% 合意 または 10往復 6.0回 10回 8,538 tok 0.0% 合意の語だけで止める場合の、往復数のばらつき 平均: 8.1回 20往復を超えた割合: 7.5% 50往復を超えた割合: 0.1% 最も長かった会話: 67回
1行目が示すとおりです。終了条件を置かなければ、200往復の打ち切りに100%到達しました。会話そのものが自然に終わることはありません。
合意で止める設計を見てください。平均8.3往復なら十分に見えます。ところが最長は67往復で、20往復を超えた会話が7.5%ありました。
つまり100回に7回は、想定の倍以上の長さで回ります。平均だけを見て設計すると、この裾を見落とします。
裾が問題になるのは、費用の増え方のためです。発言のたびに、それまでの会話が全部送り直されます。ですから累積は往復数に比例ではなく、2乗に近い形で増えます。
10往復で17,600トークン、20往復なら約4倍です。裾の1本が、平均的な会話の何本分もの費用になります。
結果として最も少なかったのは、合意と上限の両方を置いた場合です。平均6.0往復、8,538トークン。上限だけの場合の半分以下になりました。
早く合意した会話はそこで終わり、まとまらない会話は上限で切られる。両側から抑えるのが効きます。
終了条件を置かなければ止まらない。合意だけでは裾が残る。
AutoGen is a framework for creating multi-agent AI applications that can act autonomously or work alongside humans.原文microsoft/autogen README この内容の有効期限2027-02-18
複数のエージェントを立てて、会話の形で仕事を進めさせる枠組みです。人が会話に加わる形も想定されています。
AutoGenは、複数のエージェントを使うアプリを作るための枠組みです。READMEでは、自律して動く形と、人と並んで働く形の両方を作れるとされています。
特徴は進め方にあります。仕事を段に分けてつなぐのではなく、エージェントどうしが発言をやりとりする形で進みます。
この形は柔軟です。どちらが次に話すかを固定しなくてよく、必要なら人が割り込めます。ただしいつ終わるかも決まりません。前の節の結果は、その裏返しです。
READMEでは、道具としてのエージェントを使えば、基本的な多エージェントの組み立てができると案内されています。より複雑な組み方は別の文書に譲る形です。
複数のAIを組み合わせる構成の整理はマルチエージェントの記事で、まとめ役が割り振る形はオーケストレータ/ワーカーの記事で扱っています。
コードを書かずに試すための道具も用意されています。ただしREADMEでは、素早く試作するためのものという位置づけが明記されています。
組んでみて分かったのは、会話させる構成では、始め方より止め方のほうを先に決めるべきだということでした。前の節のとおり、終了条件を置かなければ止まりません。しかも止まらないことは、費用が跳ねてから気づきます。
You can use AgentTool to create a basic multi-agent orchestration setup.原文microsoft/autogen README この内容の有効期限2027-02-18
READMEで保守のみの状態に入ったと告知されています。新しく始めるなら後継が案内されています。
AutoGenを検討している場合、まず押さえるべき事実があります。READMEの冒頭に、保守のみの状態に入ったという告知が出ています。
書かれているのは明確です。新しい機能や改良は加えられず、今後は利用者の手で管理されていくという内容になっています。
新しく始める人には後継が案内されており、既存の利用者には移行の手引きが用意されています。本番向けの後継として位置づけられているという書き方です。
採用しない場合でも、この枠組みが示した考え方は残ります。READMEにも、研究から生まれ、多エージェントの組み立て方を試す道を開いたという趣旨の記述があります。
前の節で測った「終了条件をどう置くか」という問題も、会話させる構成である限り後継でも同じです。道具が変わっても、決めるべきことは変わりません。
4番目に注意してください。広く知られている名前でも、状態は変わります。導入の前に、その時点の告知を確かめてください。
道具が変わっても、止め方を決める必要は変わらない。
It will not receive new features or enhancements and is community managed going forward.原文microsoft/autogen README この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る