fromlanggraph_swarmimportcreate_handoff_tool,create_swarmalice=create_agent(model,tools=[add,create_handoff_tool(agent_name="Bob",description="Transfer to Bob"),],name="Alice")bob=create_agent(model,tools=[create_handoff_tool(agent_name="Alice",description="Transfer to Alice"),],name="Bob")workflow=create_swarm([alice,bob],default_active_agent="Alice")app=workflow.compile(checkpointer=checkpointer)
defcreate_custom_handoff_tool(*,agent_name,name,description):@tool(name,description=description)defhandoff_to_agent(task_description:Annotated[str,"Detailed description for next agent"],state:Annotated[dict,InjectedState],tool_call_id:Annotated[str,InjectedToolCallId],):returnCommand(goto=agent_name,graph=Command.PARENT,update={...})returnhandoff_to_agent