エージェントイベント
エージェントイベントは、エージェントのワークフローの一部として発生するアクションまたはインタラクションです。これには以下が含まれます。
- エージェントライフサイクルイベント
- ストラテジーイベント
- ノードイベント
- LLM呼び出しイベント
- ツール呼び出しイベント
イベントハンドラー
エージェントのワークフロー中に特定のイベントを監視し、それに応答するために、イベントハンドラーをロギング、テスト、デバッグ、およびエージェントの振る舞いの拡張に利用できます。
EventHandler
機能は、さまざまなエージェントイベントにフックすることを可能にします。これは、以下のイベント委譲メカニズムとして機能します。
- AIエージェント操作のライフサイクルを管理します。
- ワークフローのさまざまな段階を監視し、それに応答するためのフックを提供します。
- エラー処理と回復を可能にします。
- ツール呼び出しの追跡と結果処理を促進します。
インストールと設定
EventHandler
機能は、EventHandler
クラスを介してエージェントのワークフローに統合されます。このクラスは、異なるエージェントイベントのコールバックを登録する方法を提供し、エージェント設定の機能としてインストールできます。詳細については、API リファレンスを参照してください。
この機能をインストールし、エージェントのイベントハンドラーを設定するには、次のようにします。
kotlin
handleEvents {
// ツール呼び出しを処理
onToolCall { eventContext ->
println("Tool called: ${eventContext.tool} with args ${eventContext.toolArgs}")
}
// エージェントの実行が完了したときにトリガーされるイベントを処理
onAgentFinished { eventContext ->
println("Agent finished with result: ${eventContext.result}")
}
// その他のイベントハンドラー
}
イベントハンドラーの設定に関する詳細については、API リファレンスを参照してください。
エージェントを作成する際に、handleEvents
拡張関数を使用してイベントハンドラーを設定することもできます。この関数もイベントハンドラー機能をインストールし、エージェントのイベントハンドラーを設定します。例を次に示します。
kotlin
val agent = AIAgent(
executor = simpleOllamaAIExecutor(),
llmModel = OllamaModels.Meta.LLAMA_3_2,
){
handleEvents {
// ツール呼び出しを処理
onToolCall { eventContext ->
println("Tool called: ${eventContext.tool} with args ${eventContext.toolArgs}")
}
// エージェントの実行が完了したときにトリガーされるイベントを処理
onAgentFinished { eventContext ->
println("Agent finished with result: ${eventContext.result}")
}
// その他のイベントハンドラー
}
}