Lifecycle
RunHooks
Bases: Generic[TContext]
一个在 agent 运行的各个生命周期事件中接收回调的类。子类化并重写你需要的方法。
on_agent_start
async
on_agent_start(
context: RunContextWrapper[TContext],
agent: Agent[TContext],
) -> None
在 agent 被调用之前调用。每次当前 agent 发生变化时都会调用。
on_agent_end
async
on_agent_end(
context: RunContextWrapper[TContext],
agent: Agent[TContext],
output: Any,
) -> None
当 agent 产生最终输出时调用。
on_handoff
async
on_handoff(
context: RunContextWrapper[TContext],
from_agent: Agent[TContext],
to_agent: Agent[TContext],
) -> None
发生交接时调用。
on_tool_start
async
on_tool_start(
context: RunContextWrapper[TContext],
agent: Agent[TContext],
tool: Tool,
) -> None
在工具被调用之前调用。
on_tool_end
async
on_tool_end(
context: RunContextWrapper[TContext],
agent: Agent[TContext],
tool: Tool,
result: str,
) -> None
在工具被调用之后调用。
AgentHooks
Bases: Generic[TContext]
一个在特定 agent 的各个生命周期事件中接收回调的类。你可以将其设置到 agent.hooks
,以接收该特定 agent 的事件。
子类化并重写你需要的方法。
on_start
async
on_start(
context: RunContextWrapper[TContext],
agent: Agent[TContext],
) -> None
在 agent 被调用之前调用。每次运行中的 agent 被切换为此 agent 时调用。
on_end
async
on_end(
context: RunContextWrapper[TContext],
agent: Agent[TContext],
output: Any,
) -> None
当 agent 产生最终输出时调用。
on_handoff
async
on_handoff(
context: RunContextWrapper[TContext],
agent: Agent[TContext],
source: Agent[TContext],
) -> None
当 agent 被交接给时调用。source
是交接到此 agent 的 agent。
on_tool_start
async
on_tool_start(
context: RunContextWrapper[TContext],
agent: Agent[TContext],
tool: Tool,
) -> None
在工具被调用之前调用。
on_tool_end
async
on_tool_end(
context: RunContextWrapper[TContext],
agent: Agent[TContext],
tool: Tool,
result: str,
) -> None
在工具被调用之后调用。