An autonomous agent framework for Elixir, built for distributed, multi-agent systems and dynamic workflows.
Jido is an autonomous agent framework for Elixir that helps developers build agent systems as ordinary Elixir and OTP software. It provides a formalized architecture for creating distributed, cooperating agents with built-in supervision and fault tolerance, separating pure state transformations from side effects.
Elixir developers building multi-agent systems, workflows, or complex stateful applications that require reliable coordination, fault tolerance, and a structured approach to managing side effects.
Developers choose Jido because it formalizes the agent pattern on top of OTP/GenServer, providing a structured, testable architecture with clear separation of pure state logic and side effects, while maintaining the reliability and concurrency benefits of the BEAM ecosystem.
🤖 Autonomous agent framework for Elixir. Built for distributed, autonomous behavior and dynamic workflows.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Based on pure functional design with cmd/2, ensuring deterministic state transformations and easy testing without processes, as highlighted in the README's core loop and separation of state from effects.
Seamlessly built on GenServer with built-in supervision, parent-child hierarchies, and fault tolerance, leveraging BEAM's concurrency model for reliable production deployment, as shown in the runtime integration features.
Directives like Emit and Spawn explicitly describe side effects, separating them from state logic, which improves testability and maintainability, with typed directives covered in the guides.
Supports composable plugins for reusable capabilities and multiple execution strategies like FSM, allowing customization without modifying core agent logic, as detailed in the plugins and strategies documentation.
While core features are robust, companion packages like jido_ai are separate, and the overall ecosystem is smaller compared to more established frameworks, potentially requiring custom integrations for advanced use cases.
Without using Igniter, manual installation involves configuring instances and supervision trees, which can be cumbersome for newcomers or simple projects, as noted in the installation guide with multiple steps.
The formalized architecture, including schemas and directives, adds boilerplate for agents that don't need multi-agent coordination or complex state management, making it less efficient for trivial use cases compared to raw OTP.