jido  by agentjido

Elixir framework for autonomous, distributed agent systems

Created 1 year ago
853 stars

Top 42.0% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Autonomous agent framework for Elixir, Jido addresses the complexity of building distributed, autonomous multi-agent systems. It formalizes agent patterns atop OTP GenServer, enabling developers to create dynamic workflows with deterministic logic and enhanced testability. The framework provides a structured approach to state management, side-effect handling, and inter-agent communication, streamlining the development of complex agent-based applications.

How It Works

Jido employs a pure functional agent architecture inspired by Elm/Redux. Agents are immutable data structures processed via a core cmd/2 function. This function accepts an action, transforms the agent's state immutably, and outputs a set of "directives" that describe external effects. These directives are then interpreted by an OTP runtime (AgentServer), ensuring that state changes are pure data transformations and side effects are explicitly managed, leading to predictable and testable agent behavior.

Quick Start & Requirements

  • Installation: Add {:jido, "~> 2.0"} to mix.exs, define a Jido instance module, and integrate it into your application's supervision tree.
  • Prerequisites: Elixir 1.17+ and Erlang/OTP 26+.
  • Links: Official documentation is available at https://hexdocs.pm/jido. Further resources, demos, and the project repository can be found at https://agentjido.xyz and https://github.com/agentjido/jido.

Highlighted Details

  • Immutable Agent Architecture: cmd/2 operation ensures pure state transformations and explicit directive generation.
  • Schema-Validated State: State schemas are validated using NimbleOptions or Zoi for data integrity.
  • Directive-Based Effects: Formalizes external interactions (e.g., Emit, Spawn, Schedule) separate from state updates.
  • OTP Runtime Integration: Features an AgentServer for production deployment, supporting hierarchy tracking, signal routing, and instance-scoped supervision for multi-tenancy.
  • Composable Skills: Enables reusable agent capabilities with isolated state and lifecycle hooks.
  • Execution & Orchestration: Supports various execution strategies (Direct, FSM) and plan-based multi-agent orchestration.

Maintenance & Community

Developed by Mike Hostetler. No specific community channels (e.g., Slack, Discord) or extensive contributor lists are detailed in the README.

Licensing & Compatibility

Licensed under the Apache License 2.0, permitting broad commercial use and integration.

Limitations & Caveats

The README does not explicitly detail limitations, alpha status, or known bugs. The project requires recent Elixir and Erlang/OTP versions.

Health Check
Last Commit

4 days ago

Responsiveness

Inactive

Pull Requests (30d)
7
Issues (30d)
2
Star History
120 stars in the last 30 days

Explore Similar Projects

Starred by Andrew Ng Andrew Ng(Founder of DeepLearning.AI; Cofounder of Coursera; Professor at Stanford), Thomas Wolf Thomas Wolf(Cofounder of Hugging Face), and
4 more.

ag2 by ag2ai

0.5%
4k
AgentOS for building AI agents and facilitating multi-agent cooperation
Created 1 year ago
Updated 2 days ago
Starred by Elie Bursztein Elie Bursztein(Cybersecurity Lead at Google DeepMind), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
7 more.

SuperAGI by TransformerOptimus

0.2%
17k
Open-source framework for autonomous AI agent development
Created 2 years ago
Updated 1 year ago
Starred by Lilian Weng Lilian Weng(Cofounder of Thinking Machines Lab), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
59 more.

AutoGPT by Significant-Gravitas

0.1%
181k
AI agent platform for building, deploying, and running autonomous workflows
Created 2 years ago
Updated 2 days ago
Feedback? Help us improve.