Aixgo v0.1.2: Faster Aggregation, Reliable Validation, Production Security
Two releases in one: deterministic voting strategies (8000× faster, zero LLM cost), automatic validation retry (40-70% fewer failures), and security hardening for production.
Two releases ship today. Both solve real problems Go developers face when building production AI agents.
- v0.1.1: Automatic validation retry cuts structured output failures 40-70%
- v0.1.2: Deterministic voting eliminates LLM costs for consensus decisions
Here’s what changed and why it matters.
Deterministic Aggregation: 8000× Faster, Zero Cost
Multi-agent systems need to combine outputs. Before v0.1.2, every aggregation required an LLM call—even for simple majority votes.
The problem: You’re paying $0.01-0.03 and waiting 500-2000ms just to count which answer got the most votes.
The fix: Four new voting strategies that run in <1ms with zero API cost:
| Strategy | Use Case | Speed |
|---|---|---|
voting_majority | Democratic consensus | <0.1ms |
voting_unanimous | Safety-critical decisions (fails if any disagreement) | <0.1ms |
voting_weighted | Expert panels with confidence scores | <0.2ms |
voting_confidence | Trust the most confident agent | <0.1ms |
# Before: LLM call for every aggregation
agents:
- name: aggregator
role: aggregator
model: gpt-4-turbo
aggregator_config:
aggregation_strategy: consensus
# After: Instant, free, deterministic
agents:
- name: aggregator
role: aggregator
aggregator_config:
aggregation_strategy: voting_majorityWhen to use what:
- Deterministic (4 strategies): Simple consensus, cost-sensitive pipelines, regulated industries needing audit trails
- LLM-based (5 strategies): Resolving conflicts, synthesizing nuanced viewpoints, creating narratives from conflicting inputs
You now have 9 total strategies. Pick the right tool for the job.
Validation Retry: 40-70% Fewer Failures
LLMs fail structured extraction constantly. GPT-4 omits required fields 30-40% of the time. Claude forgets email validation. Gemini returns strings where you need integers.
The problem: You’re writing manual retry logic for every structured output call.
The fix: Aixgo automatically retries when validation fails—sending error details back to the LLM.
type User struct {
Name string `json:"name" validate:"required"`
Email string `json:"email" validate:"required,email"`
Age int `json:"age" validate:"gte=0,lte=150"`
}
// That's it. Automatic retry on validation failure.
user, err := llm.CreateStructured[User](ctx, client, prompt, nil)What happens behind the scenes:
- LLM returns
{"name": "John", "age": 30}(missing email) - Aixgo detects validation failure, sends error feedback to LLM
- LLM corrects:
{"name": "John", "email": "john@example.com", "age": 30} - Your code receives valid data
Results across production workloads:
- Simple schemas (3-5 fields): 30% → 8% failure rate (73% improvement)
- Complex schemas (10+ fields): 45% → 18% failure rate (60% improvement)
Zero configuration required. Enabled by default.
Security Hardening
All critical Aikido security issues fixed:
- SSRF protection: URL validation in SIEM integrations
- Path traversal prevention: Blocked directory traversal in file operations
- Command injection fixes: Sanitized kubectl commands
- Kubernetes hardening: Non-root users, dropped capabilities, read-only filesystems
# Production-ready security context
securityContext:
runAsNonRoot: true
runAsUser: 65532
capabilities:
drop: [ALL]
readOnlyRootFilesystem: true
allowPrivilegeEscalation: falseDocumentation: 49% Smaller
We cut 1,782 lines of redundant documentation. Same information, half the reading.
Upgrade
go get github.com/aixgo-dev/aixgo@v0.1.2Breaking changes: None. All existing configurations work unchanged.
New examples:
What’s Next
v0.2.0 (Q1 2025): Tool-use patterns and MCP integration v0.3.0 (Q2 2025): OpenTelemetry tracing and workflow visualization
Questions? GitHub Discussions
Two releases. Real problems solved. Ship it.