跳转至

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

在工具被调用之后调用。