determine_next_agent

determine_next_agent(
    last_speaker: ConversableAgent,
    groupchat: GroupChat,
    initial_agent: ConversableAgent,
    use_initial_agent: bool,
    tool_executor: GroupToolExecutor,
    group_agent_names: list[str],
    user_agent: ForwardRef('ConversableAgent') | None,
    group_after_work: TransitionTarget
) -> Agent | str | None

Determine the next agent in the conversation.

Parameters:
NameDescription
last_speakerThe last agent to speak.

Type: ConversableAgent
groupchatGroupChat instance.

Type: GroupChat
initial_agentThe initial agent in the conversation.

Type: ConversableAgent
use_initial_agentWhether to use the initial agent straight away.

Type: bool
tool_executorThe tool execution agent.

Type: GroupToolExecutor
group_agent_namesList of agent names.

Type: list[str]
user_agentOptional user proxy agent.

Type: ForwardRef(‘ConversableAgent’) | None
group_after_workGroup-level Transition option when an agent doesn’t select the next agent.

Type: TransitionTarget
Returns:
TypeDescription
Agent | str | NoneOptional[Union[Agent, str]]: The next agent or speaker selection method.