agents.supervisor.dynamic.dynamic_multi_agent

Dynamic Multi-Agent Supervisor with Dynamic Execution Pattern.

This implementation integrates with the MultiAgent base class and uses dynamic agent execution without graph rebuilding.

Classes

DynamicMultiAgent

Multi-agent system with dynamic agent execution capabilities.

Functions

create_dynamic_multi_agent(agents[, name])

Create a dynamic multi-agent system.

Module Contents

class agents.supervisor.dynamic.dynamic_multi_agent.DynamicMultiAgent

Bases: haive.agents.multi.compatibility.BaseMultiAgent

Multi-agent system with dynamic agent execution capabilities.

This extends MultiAgent to support: - Dynamic agent registration/unregistration at runtime - No graph rebuilding - uses executor pattern - Proper state extraction per agent schema - Agent capability-based routing - Performance tracking and selection

build_graph()

Build dynamic multi-agent graph with executor pattern.

Return type:

haive.core.graph.state_graph.base_graph2.BaseGraph

get_agent_capabilities()

Get all agent capabilities.

Return type:

dict[str, str]

get_agent_performance(agent_name=None)

Get performance metrics for agent(s).

Parameters:

agent_name (str | None)

Return type:

dict[str, Any]

get_execution_history(limit=None)

Get execution history.

Parameters:

limit (int | None)

Return type:

list[dict[str, Any]]

register_agent_dynamically(agent, capability=None, agent_name=None)

Register a new agent dynamically at runtime.

Parameters:
  • agent (haive.agents.base.agent.Agent) – The agent to register

  • capability (str | None) – Description of agent capabilities

  • agent_name (str | None) – Optional name override

Returns:

Success status

Return type:

bool

setup_agent()

Set up the dynamic multi-agent system.

Return type:

None

unregister_agent_dynamically(agent_name)

Unregister an agent dynamically.

Parameters:

agent_name (str) – Name of agent to remove

Returns:

Success status

Return type:

bool

agents.supervisor.dynamic.dynamic_multi_agent.create_dynamic_multi_agent(agents, name='DynamicMultiAgent', **kwargs)

Create a dynamic multi-agent system.

Parameters:
  • agents (list[haive.agents.base.agent.Agent]) – List of agents to include

  • name (str) – Name for the multi-agent system

  • **kwargs – Additional configuration

Returns:

DynamicMultiAgent instance

Return type:

DynamicMultiAgent