What is a Strategy?
Strategy controls how A1 generates and validates code. It has seven components:- RetryStrategy - Parallel candidates and retries
- Generate - How code is created
- Verify - What validation criteria code must meet
- Cost - How code quality is scored
- Compact - Code optimization (future)
- Executor - Custom execution (future)
- Criteria - LLM-based evaluation (QualitativeCriteria, QuantitativeCriteria)
RetryStrategy
Controls parallel candidates and retry iterations for LLM outputs and code generation.- Try initial LLM call
- If validation fails, launch parallel candidates
- Each candidate retries up to
max_iterationstimes - First successful candidate wins
- If all fail, return raw string or raise error
Strategy
Extends RetryStrategy for code generation with verification and cost estimation.Generate
Controls how code is created from task descriptions. Override example:Verify
Controls what validation criteria code must meet. Built-in verifiers:Cost
Controls how code quality/efficiency is scored for selection. Default cost: Estimates execution cost based on control flow graph (tool calls, loops, branches). Override example:Compact
Code optimization strategy (future feature).Executor
Custom execution environments (future feature).Criteria
LLM-based evaluation for verify and cost functions.QualitativeCriteria
Boolean (pass/fail) evaluation using natural language.expression(str): Natural language criteriallm(Tool): LLM for evaluationnum_samples(int): Number of parallel evaluations (default: 1)min_pass(int): Required “pass” votes (default: 1)min_samples_for_aggregation(int): Minimum successful responses (default: 1)
QuantitativeCriteria
Numeric scoring using natural language.expression(str): Natural language scoring criteriallm(Tool): LLM for scoringmin(float): Minimum valid score (default: 0.0)max(float): Maximum valid score (default: 10.0)agg(str): Aggregation method -"avg","med","min","max"(default: “avg”)num_samples(int): Number of parallel scores (default: 1)min_samples_for_aggregation(int): Minimum valid scores needed (default: 1)
"avg"- Mean (balanced estimate)"med"- Median (robust to outliers)"min"- Minimum (conservative)"max"- Maximum (optimistic)