Dataikuフロー上でのエージェントの連携

Dataikuのフローのなかでエージェント同士の連携はできるのでしょうか?
例えばエージェントAの出力をエージェントBに渡すというような設計をノーコードで行うイメージです。現状ですとコードを書けばできると思っているのですがノーコードでできるのか気になります。
マルチエージェントようなエージェント同士の連携をフローのなかでノーコードで設定できるのでしょうか?
Best Answer
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 209 Dataiker
はい。現状のビジュアルエージェント機能では、マネージドツールの1つである「LLM Mesh Query」を利用することで、複数エージェントの呼び出しをコントロールできます。
ご質問に記載のように「フローの中で」という形ではないのですが、エージェントビルダー画面にて、以下の手順を行うことで、ノーコードでマルチエージェント処理を定義可能です。
- 各役割を持ったビジュアルエージェントを複数作成する。
- ツール定義画面で、「LLM Mesh Query」を複数作成し、各ツールに手順1で作成したエージェントをそれぞれ設定する。
- 全体の処理をコントロールする制御用のビジュアルエージェントを1つ作成する
- 手順3で作成したエージェントのツール設定で、手順2で登録した「LLM Mesh Query」のツールを複数登録する
- 手順3で作成したエージェントのプロンプト設定で、エージェント同士の連携を制御する条件・ルーティング処理を記述する
Answers
-
ありがとうございます。確かにツールの中でエージェントを呼び出せばチェインのようなことはできそうです。
-
追加の質問になってしまいますが、エージェント同士で討論させるようなこともできるのでしょうか。エージェント同士でツールとして登録しておけばできるような気もしてるのですが、現状やり取りの回数を設定する機能がないので永遠に処理が終わらないような気もしています。
-
Tsuyoshi Dataiker, PartnerAdmin, Dataiku DSS Core Designer, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 209 Dataiker
@Koji ビジュアルエージェントでは、プロンプトを利用してマルチエージェント同士の議論を制御するため、「一定の範囲においてはそのような対応も可能」というのが回答になります。
例えば、「A役のエージェント、B役のエージェント同士で、交互に意見を述べてください」「最後に合意点をまとめてください」など、プロンプトでそれぞれの役割や連携のルールを明確に指示することで、ある程度の議論の流れや終了条件を定義することは可能と考えられます。
現状の機能ではツールの呼び出しはデフォルトで最大25回までに制限されており、それ以上の呼び出しが発生した場合、エラーを出力する挙動となるはずです。(将来のバージョンでは、ツール呼び出し回数上限のデフォルト値が変更されたり、任意の値を指定可能になる可能性もございます。)
一方、複雑な制御や厳密なループ・終了条件の管理などを行いたい場合、プロンプトのみで記述するのはやはり困難ですので、そのような処理を実現したい場合、コードレシピを利用して、コードやフレームワーク側のロジックで管理することになります。そのような場合は、試行回数の上限や終了判定のロジックをプログラムで明示的に実装していただくことが可能となります。