Why Erdo
Erdo’s architecture addresses fundamental challenges in agent development through a hybrid Python and Go design that enables comprehensive testing, efficient execution, and reliable deployments.The Testing Challenge
Testing agent systems presents several fundamental challenges:- Manual Path Coverage: Complex conditional logic creates many execution paths that must be manually identified and tested
- State Validation: Verifying that data flows correctly through templates requires careful manual checking
- Mock Maintenance: Creating and maintaining mock responses for all scenarios is time-consuming
- Integration Cost: Running full integration tests with LLMs incurs API costs on every execution
Erdo’s Approach
Hybrid Architecture
Erdo combines Python’s expressiveness with Go’s performance:Key Capabilities
1. Automatic Path Enumeration
Erdo’s declarative template system allows the CLI to automatically identify and test all possible execution paths through your agent:- All conditional branches (success/error handlers, different conditions)
- Template expressions against actual data structures
- Step dependencies and execution ordering
- State availability at each step
2. Efficient Integration Testing
For integration tests that require actual LLM execution, Erdo provides intelligent caching:- First execution: Calls LLM and caches response
- Subsequent executions: Returns cached response without additional API calls
- Automatic cache invalidation when agent definition changes
3. Parallel Test Execution
The test runner executes tests concurrently:Architecture Benefits
Template-Based Data Flow
Erdo’s template system provides several advantages: Static Analysis- Traverse all conditional branches in your agent
- Generate appropriate test data for each path
- Validate state field availability at each step
- Identify unreachable code
- Referenced state fields exist in context
- Step outputs match expected schemas
- Parameter definitions are satisfied
- Data types are compatible
Go Runtime Performance
The Go execution engine provides:- High Throughput: Efficient handling of concurrent agent executions
- Low Latency: Fast template evaluation and state management
- Resource Efficiency: Lower memory footprint than pure Python alternatives
- Production Reliability: Static typing and compiled execution
Comparison: Testing Approaches
- Imperative Frameworks
- Erdo Unit Tests
- Erdo Integration Tests
Development Workflow
Local Development
Continuous Integration
Production Deployment
Technical Advantages
For Development Teams
- Faster Iteration: Immediate feedback from unit tests
- Better Coverage: Automatic testing of all execution paths
- Early Detection: Template validation catches errors before deployment
- Cost Efficiency: Minimal API costs during development
For Production Systems
- Performance: Go runtime handles high-throughput workloads
- Reliability: Comprehensive test coverage reduces production issues
- Observability: Declarative templates make data flow traceable
- Scalability: Efficient resource utilization supports growth