π§ Autogentic
Revolutionary effects-first architecture that makes traditional multi-agent systems look primitive.
Autogentic v2.0 is a sophisticated multi-agent system built with Elixir that enables the creation of intelligent, reasoning-capable agents that can coordinate complex workflows, learn from experience, and adapt their behavior over time.
β¨ Key Features
π Advanced Effects System
- 20+ Built-in Effects: From simple logging to complex multi-agent coordination
- Composable Workflows: Sequence, parallel, and race execution patterns
- Error Handling: Retry, compensation, circuit breaker, and timeout patterns
- Context Management: Sophisticated state management across effect chains
π§ AI-Powered Reasoning Engine
- Multi-Dimensional Analysis: Assessment, evaluation, synthesis, and prediction
- Confidence Scoring: Each reasoning step includes confidence metrics
- Knowledge Base Integration: Query and learn from accumulated knowledge
- Pattern Recognition: Automatically identify and store successful reasoning patterns
π€ Intelligent Agent Framework
- Declarative Agent Definition: Define agents with simple, expressive DSL
- State Machine Architecture: Robust state transitions with effect-driven behavior
- Multi-Agent Coordination: Built-in communication and collaboration primitives
- Adaptive Behavior: Agents learn and evolve their strategies over time
π Continuous Learning System
- Cross-Agent Knowledge Sharing: Agents share insights and learned patterns
- Behavioral Adaptation: Automatic strategy refinement based on outcomes
- Performance Optimization: Self-improving system efficiency over time
- Reasoning Pattern Storage: Accumulate and reuse successful decision-making approaches
ποΈ Enterprise-Grade Reliability
- Circuit Breakers: Prevent cascading failures in distributed systems
- Compensation Patterns: Automatic rollback and recovery mechanisms
- Retry Logic: Configurable retry strategies with exponential backoff
- Graceful Degradation: System continues operating even with partial failures
π Quick Start
Prerequisites
- Elixir 1.15+
- Erlang/OTP 24+
Installation
git clone https://github.com/c-u-l8er/autogentic.git
cd autogentic
mix deps.getRun Your First Agent
# Start the Autogentic system
iex -S mix
# Create a simple agent
defmodule MyFirstAgent do
use Autogentic.Agent, name: :my_agent
agent :my_agent do
capability [:greeting]
initial_state :ready
end
state :ready do
# Agent is ready for interactions
end
transition from: :ready, to: :ready, when_receives: :hello do
sequence do
log(:info, "Hello from Autogentic!")
put_data(:greetings_count, 1)
emit_event(:greeting_sent, %{agent: :my_agent})
end
end
end
# Start and interact with your agent
{:ok, pid} = MyFirstAgent.start_link()
GenStateMachine.cast(pid, :hello)π Examples
We've created comprehensive examples that demonstrate Autogentic's capabilities across different use cases:
π’ Basic Examples
- Hello Agent - Your first Autogentic agent
- Effects Showcase - Comprehensive effects demonstration
- Learning Agent - Adaptive behavior and continuous learning
π€ Multi-Agent Coordination
- Deployment Team - Coordinated software deployment workflow
- Multiple agents (Dev, QA, Ops) working together
- Real-time communication and status synchronization
- Complex workflow orchestration
π§ Advanced Reasoning
- Decision Maker - Sophisticated reasoning workflows
- Multi-step analysis with confidence scoring
- Knowledge base querying and pattern recognition
- Context-aware decision making
π Real-World Applications
- Data Pipeline - Enterprise data processing pipeline
- Data ingestion, transformation, and ML analysis
- Quality monitoring and anomaly detection
- Intelligent pipeline optimization
Running Examples
# Recommended: Use the example runner (ensures system is properly initialized)
mix run run_example.exs examples/basic/hello_agent.exs
mix run run_example.exs examples/coordination/deployment_team.exs
# Alternative: Run in interactive mode
iex -S mix
iex> c "examples/basic/hello_agent.exs"
iex> HelloAgentExample.run()
# List all available examples
mix run run_example.exsπ― Core Concepts
Effects-First Architecture
Autogentic is built around the concept of effects - declarative descriptions of what should happen:
# Simple effect
{:log, :info, "Hello World"}
# Complex workflow
{:sequence, [
{:put_data, :start_time, DateTime.utc_now()},
{:parallel, [
{:delay, 100},
{:log, :info, "Processing..."},
{:emit_event, :started, %{}}
]},
{:put_data, :completed, true}
]}Agent Coordination
Agents communicate through reasoning broadcasts and event emissions:
# Agent A shares insights with Agent B
broadcast_reasoning("Analysis complete", [:agent_b])
# Agent B receives and processes the shared reasoning
behavior :process_shared_reasoning, triggers_on: [:reasoning_shared] do
sequence do
log(:info, "Received insight from peer agent")
put_data(:external_insight_received, true)
adapt_coordination_strategy(%{collaboration_level: :high})
end
endReasoning Integration
Every agent can perform sophisticated reasoning:
# Start a reasoning session
{:ok, session_id} = Autogentic.start_reasoning("deployment_decision", context)
# Add reasoning steps
step = %{
question: "Is the system ready for deployment?",
analysis_type: :assessment,
context_required: [:system_health, :test_results]
}
{:ok, processed_step} = Autogentic.Reasoning.Engine.add_reasoning_step(session_id, step)
# Get conclusion with confidence score
{:ok, conclusion} = Autogentic.Reasoning.Engine.conclude_reasoning_session(session_id)π§ͺ Testing
Autogentic comes with a comprehensive test suite covering all major functionality:
# Run all tests
mix test
# Run with coverage
mix test --cover
# Run specific test categories
mix test test/autogentic/effects/
mix test test/autogentic/reasoning/
mix test test/autogentic/agent/Current Test Status: 64 tests passing β
ποΈ Architecture Overview
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Autogentic v2.0 β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
β β Agent Layer β β Reasoning β β Learning β β
β β β β Engine β β Coordinator β β
β β β’ State Machine β β β’ Multi-Step β β β’ Pattern β β
β β β’ Behaviors β β Analysis β β Storage β β
β β β’ Coordination β β β’ Knowledge β β β’ Adaptation β β
β β β’ Effects β β Base β β β’ Sharing β β
β βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Effects Engine β
β β’ Sequence/Parallel/Race Execution β’ Error Handling β
β β’ Retry/Compensation/Circuit Breaker β’ Context Management β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β GenStateMachine + OTP β
β Erlang/OTP β’ Actor Model β’ Supervision β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββπ§ Configuration
Configure Autogentic in your config/config.exs:
config :autogentic,
# Effects Engine settings
effects_timeout: 30_000,
max_parallel_effects: 100,
# Reasoning Engine settings
max_reasoning_steps: 20,
confidence_threshold: 0.6,
# Learning settings
pattern_storage_enabled: true,
cross_agent_learning: true,
# Logging
log_level: :infoπΊοΈ Roadmap
Phase 1: Production Readiness β³
- Real LLM Integration (OpenAI, Anthropic, Claude)
- Persistent State Management (PostgreSQL)
- Enhanced Web Interface
- Performance Optimization
Phase 2: Advanced AI Capabilities β³
- Multi-Modal Reasoning (Text, Image, Code)
- Advanced Learning Algorithms
- Distributed Agent Networks
- Real-Time Collaboration Tools
Phase 3: Enterprise Features β³
- Security & Authentication
- Multi-Tenant Support
- API Gateway Integration
- Monitoring & Analytics Dashboard
π€ Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Development Setup
# Clone the repository
git clone https://github.com/c-u-l8er/autogentic.git
cd autogentic
# Install dependencies
mix deps.get
# Run tests
mix test
# Run examples
mix run examples/basic/hello_agent.exsπ Documentation
- API Documentation - Complete API reference
- Agent Guide - Creating and managing agents
- Effects Reference - Complete effects catalog
- Reasoning Guide - Advanced reasoning techniques
- Deployment Guide - Production deployment
π¬ Community
- Discord: Join our community
- GitHub Discussions: Ask questions and share ideas
- Blog: Read about Autogentic developments
π License
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
π Acknowledgments
- Built with the powerful Elixir programming language
- Leveraging OTP for rock-solid concurrency
- Inspired by cutting-edge research in multi-agent systems and AI reasoning
Ready to build the future of intelligent systems? π
git clone https://github.com/c-u-l8er/autogentic.git
cd autogentic
mix deps.get
iex -S mixWelcome to Autogentic v2.0 - where agents think, learn, and collaborate.