🤖

GraphAI 既知の問題点

2025/01/19に公開

GraphAIのinjection Value

GraphAIのStatic nodeに外から値を注入するinjectValueがあります。
これで注入された値は、そのグラフをloopで動作させた場合に、2周目以降はinjectされた値が消える(valueで初期化される。)ので想定しない動作になる可能性があります。
これを回避するには、injectValueを使わないで、GraphAIのコンストラクタにわたす前にGraphDataを更新して値をセットするか

staticNode: {
  update: ":staticNode"
},

とupdateで、自身のnodeを指定することで、2回目以降も注入された値を使うことができます。

loopを使わない場合には、問題なく動作します。

anyInputとDynamic Agent

anyInputは、依存しているnodeのいずれか1つが実行完了すると、他のnodeの完了を待たずにすぐにそのAgentを実行します。
通常はinputs部分のみにGOD formatを使うことを想定します。Dynamic AgentではAgent部分もGOD Formatで依存のかけるので、このケースではinputs、もしくはagentが決まった段階で、someAgentが実行されるので意図しない動作となります。

someAgent: {
 anyInput: true,
 agent: ":depAgent",
 inputs: {
   array: [":node1", ":node2"]
 }
},
シンギュラリティ・ソサエティ

Discussion