🤖
GraphAI - anyInputについて
anyInputについて
anyInput
は、複数の入力を受け取る inputs
に対して、いずれか1つの入力が到達した時点でエージェントを実行するためのオプションです。
通常、すべての入力が揃うまで待ってから処理を開始しますが、anyInput
を使うことで、最速で到達した入力だけで処理を開始することが可能になります。
これにより、反応速度を重視したユースケースや、部分的なデータでも十分な処理において有効です。
inputs: {
a: ":anode.data",
b: ":bnode.data",
c: ":cnode.data",
}
のような場合、bnodeが先に実行完了した場合には
inputs: {
b: ":bnode.data",
}
となる。
arrayで使う場合
inputs: {
array: [
":anode.data",
":bnode.data",
":cnode.data",
]
}
だと、通常のケースで考えると、
inputs: {
array: [
undefined,
":bnode.data",
undefined,
]
}
となりますが、これだと不便なのでGraphAIでfilterして
inputs: {
array: [
":bnode.data",
]
}
となります。
inputs: {
array: [
":bnode.array",
]
}
のように array を選択するケースでは(LLM の message でよく使いますね)、array の中に array があって不便なので、arrayFlatAgent
を使うと良いです。
通常は if / unless を組み合わせて使う
通常は、その手前で
if
/ unless
を使ったノードでデータの分岐を行ってから使用します。
利用例(実装サンプル)

人工知能を活用したアプリケーションやサービスを活用し、内発的動機付けで行動するエンジニア、起業家、社会起業家をサポートするコミュニティーです。 singularitysociety.org Supported by 週刊 Life is beautiful
Discussion