haive.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 haive.agents.supervisor.dynamic.dynamic_multi_agent.DynamicMultiAgent¶

Bases: haive.agents.multi.agent.MultiAgent

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

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

Create a dynamic multi-agent system.

Parameters:
Returns:

DynamicMultiAgent instance

Return type:

DynamicMultiAgent