Communication Methods
Inter-Agent Communication in Crowe
The Agent class in Crowe includes built-in capabilities for direct and multi-agent communication, enabling agents to exchange information, request assistance, and coordinate workflows with minimal overhead.
These communication features form the foundation of complex, collaborative AI systems where specialization and teamwork are essential.
Why Communication Between Agents Matters
In a well-designed Crowe system, different agents take on specialized roles. Some may focus on gathering data, while others interpret results or make decisions. By allowing them to message each other directly or broadcast instructions to a group, Crowe enables smooth collaboration and efficient workflow orchestration.
Available Communication Methods
send_to
One-to-one request and response
Passing data from a data collector to an analyst
broadcast_to
Send one task to many agents in parallel
Gathering multiple viewpoints on a decision
handle_incoming
Process and respond to messages received from other agents
Acting on delegated work
dispatch_message
Send a structured, formatted message to a named agent
Sending notifications or system updates
Core Features
Direct Messaging – Simple one-to-one task assignment or consultation.
Parallel Broadcasting – Reach multiple agents and gather results in parallel.
Context-Aware Responses – Built-in contextual handling for incoming messages.
Error Tolerance – Graceful recovery from failed communications.
Threaded Execution – Parallel processing via
ThreadPoolExecutorfor speed.Flexible Parameters – Support for images, extra arguments, and keyword parameters.
Key Methods
send_to(agent, task, *args, img=None, **kwargs)
Initiates a direct interaction between the current agent and another agent.
Example:
broadcast_to(agent_list, task, *args, **kwargs)
Executes the same request across multiple agents concurrently and collects all responses.
Example:
handle_incoming(from_agent, task, *args, **kwargs)
Handles an incoming message or task from another agent, optionally adding context.
Example:
dispatch_message(target_name, message, *args, **kwargs)
Sends a structured notification to a named target agent.
Example:
Summary
The Crowe Agent class offers a full-featured communication layer for building intelligent, distributed AI systems. Whether it’s a simple one-to-one message or a coordinated group broadcast, Crowe agents can collaborate seamlessly, handle context-rich interactions, and stay resilient to failures.
Last updated