Agent 事件
Agent 事件是在 agent 工作流程中發生動作或互動。其包含:
- Agent 生命週期事件
- 策略事件
- 節點事件
- LLM 呼叫事件
- 工具呼叫事件
事件處理器
您可以在 agent 工作流程期間,透過使用事件處理器來監控並回應特定事件,以用於日誌記錄、測試、除錯以及擴展 agent 行為。
EventHandler
功能讓您掛鉤至各種 agent 事件。其作為一個事件委派機制,用於:
- 管理 AI agent 操作的生命週期。
- 提供用於監控和回應工作流程不同階段的掛鉤。
- 啟用錯誤處理和復原。
- 促進工具呼叫追蹤和結果處理。
安裝與組態
EventHandler
功能透過 EventHandler
類別整合至 agent 工作流程中,該類別提供一種方式來註冊不同 agent 事件的回呼,並且可以作為一項功能安裝在 agent 組態中。詳細資訊請參閱 [API reference](https://api.koog. ai/agents/agents-features/agents-features-event-handler/ai.koog.agents.local.features.eventHandler.feature/-event-handler/index.html)。
若要為 agent 安裝此功能並設定事件處理器,請執行以下操作:
kotlin
handleEvents {
// Handle tool calls
onToolCall { eventContext ->
println("Tool called: ${eventContext.tool} with args ${eventContext.toolArgs}")
}
// Handle event triggered when the agent completes its execution
onAgentFinished { eventContext ->
println("Agent finished with result: ${eventContext.result}")
}
// Other event handlers
}
關於事件處理器組態的更多詳細資訊,請參閱 API reference。
您也可以在建立 agent 時,使用 handleEvents
擴展函數來設定事件處理器。此函數也會安裝事件處理器功能,並為 agent 設定事件處理器。這是一個範例:
kotlin
val agent = AIAgent(
executor = simpleOllamaAIExecutor(),
llmModel = OllamaModels.Meta.LLAMA_3_2,
){
handleEvents {
// Handle tool calls
onToolCall { eventContext ->
println("Tool called: ${eventContext.tool} with args ${eventContext.toolArgs}")
}
// Handle event triggered when the agent completes its execution
onAgentFinished { eventContext ->
println("Agent finished with result: ${eventContext.result}")
}
// Other event handlers
}
}