Everything You Need for Multi-Agent Systems
A comprehensive framework with modular crates designed for production-grade agent applications.
Agent Primitives
Complete lifecycle management with type-safe agent definitions, state machines, and capability systems.
Message Passing
Async/await message protocols with Tokio. Type-safe communication between agents with serialization support.
BDI Architecture
Beliefs, Desires, Intentions cognitive model. Plan libraries, goal reasoning, and deliberation cycles.
Organizational Patterns
8+ patterns including hierarchy, swarm, market, coalition, holarchy, federation, and blackboard.
Async Runtime
Built on Tokio for high-performance concurrent execution. Scale from single agents to thousands.
Rust Safety
Memory safety, thread safety, and fearless concurrency. Leverage Rust's type system for robust agents.
Start Building in Minutes
Simple, expressive API that feels natural in Rust. Define agents with derive macros, implement behaviors with async traits, and let the runtime handle the rest.
- Derive macros for agent definition
- Async/await message handling
- Type-safe channel communication
- Built-in lifecycle management
1use agentropic_core::prelude::*;2use agentropic_messaging::Channel;34#[derive(Agent)]5struct MyAgent {6 name: String,7 inbox: Channel<Message>,8}910impl AgentBehavior for MyAgent {11 async fn on_message(&mut self, msg: Message) -> Result<()> {12 println!("{}: received {:?}", self.name, msg);13 Ok(())14 }15}1617#[tokio::main]18async fn main() -> Result<()> {19 let agent = MyAgent::new("Alice");20 agent.start().await21}