Aegeantic Framework
A production-ready framework for building autonomous LLM agents with tool execution, pattern extraction, and multi-agent orchestration
Overview
Aegeantic is a comprehensive framework for building stateful, autonomous LLM agents. It provides a complete infrastructure for agent execution, including context management, tool execution, pattern extraction, conditional logic flows, multi-agent coordination, and DAG-based graph orchestration.
Key Features
Versioned Context
RocksDB-backed context with automatic versioning and iteration tracking. Full history of all agent state changes.
Pattern Extraction
Flexible pattern system for extracting structured data (tools, reasoning, responses) from LLM output with streaming support.
Tool Execution
Multi-mode tool execution (thread, process, async) with validation, timeout handling, and concurrent execution support.
Logic Flows
Conditional execution with stop conditions, loop-until patterns, and context health monitoring.
Event Streaming
Real-time event stream for LLM chunks, tool execution, pattern detection, and status changes.
Multi-Agent
Built-in patterns for agent chains, supervisor-worker, parallel execution, and debate-style coordination.
Resilience
Universal retry logic with exponential backoff and token bucket rate limiting for any async operation.
Validation
Extensible validation system supporting JSON Schema, custom validators, and built-in simple validator.
Graph Orchestration
DAG-based workflow execution with dynamic scheduling, failure strategies and visualization utilities.
Architecture Highlights
Provider Agnostic
Aegeantic works with any LLM provider through the LLMProvider protocol. Implement generate() and optionally stream() to integrate your provider.
Storage Abstraction
Context is backed by RocksDB for production or in-memory storage for testing. Both implement the same interface, making it easy to switch between them.
Streaming First
All operations support streaming. Events flow through AsyncIterator interfaces, enabling real-time monitoring and reactive UIs.
Type Safety
Built with type hints throughout. All public APIs are fully typed for excellent IDE support and static analysis.
Use Cases
- Research Assistants: Agents that iterate through research tasks, using tools to gather information and reasoning patterns to document findings
- Code Analysis: Multi-step code review agents with tool access to linters, formatters, and test runners
- Data Processing: Agents that process datasets through multiple transformations with intermediate context tracking
- Multi-Agent Systems: Supervisor agents coordinating specialized worker agents for complex workflows
- DAG Workflows: Complex data pipelines with parallel processing, dependency management, and failure handling using GraphRunner
- Interactive Applications: Streaming agent responses to build responsive chat interfaces with real-time tool execution feedback
Quick Example
from agentic import (
Agent, AgentConfig, AgentRunner,
ContextManager, IterationManager,
PatternRegistry, ToolRegistry,
RocksDBStorage, StorageConfig,
create_default_pattern_set
)
# Initialize storage and context
storage = RocksDBStorage(StorageConfig())
storage.initialize()
iteration_mgr = IterationManager(storage)
context = ContextManager(storage, iteration_mgr)
# Setup patterns and tools
patterns = PatternRegistry(storage)
patterns.register_pattern_set(create_default_pattern_set())
tools = ToolRegistry()
# Create agent
config = AgentConfig(
agent_id="research_agent",
tools_allowed=["search", "summarize"],
pattern_set="default"
)
agent = Agent(config, context, patterns, tools, your_llm_provider)
runner = AgentRunner(agent)
# Execute
result = runner.step("Research quantum computing applications")
print(result.segments.response)
Next Steps
- Quick Start Guide - Get up and running in 5 minutes
- Core Concepts - Understand the framework architecture
- Agent System - Deep dive into agent configuration and execution
- API Reference - Complete API documentation