Optimization SDK
Start and manage automated prompt optimization jobs. The optimization engine iteratively mutates prompt text, evaluates candidates against a dataset, and converges on the highest-scoring variant.Start Optimization
Create and start an optimization job for a prompt. Theid_ parameter is the numeric prompt ID:
mutagent-sdk-python/src/mutagent/optimization.py—Optimization.optimize_promptmutagent-sdk-python/src/mutagent/models/dataset_id_evaluation_id_config.py—DatasetIdEvaluationIdConfigmutagent-sdk-python/src/mutagent/models/max_iterations_target_score_patience.py—MaxIterationsTargetScorePatience
DatasetIdEvaluationIdConfig fields
| Field | Type | Required | Description |
|---|---|---|---|
dataset_id | int | Yes | Dataset ID to evaluate against |
config | MaxIterationsTargetScorePatience | Yes | Optimization configuration |
evaluation_id | int | No | Specific evaluation definition to use |
execution_mode | str | No | Execution mode |
MaxIterationsTargetScorePatience fields (config object)
| Field | Type | Required | Description |
|---|---|---|---|
max_iterations | float | Yes | Maximum optimization cycles (1-100) |
target_score | float | No | Stop early when this score is reached (0-1) |
patience | float | No | Stop after N iterations with no improvement |
dry_run | bool | No | Validate configuration without starting execution |
model | str | No | Target LLM model for prompt generation |
execution_model | str | No | Model used for executing prompts during evaluation |
optimization_model | str | No | Model used for generating prompt mutations |
evaluation_model | str | No | Model used for scoring outputs |
Get Job Status
List Optimization Jobs
prompt_group_id, status, limit, offset
Get Score Progression
Retrieve the score history across iterations:Get State Snapshots
Get Results
Pause Job
Resume Job
Cancel Job
Poll for Completion
Async version
Method Reference
| Method | Description | Namespace |
|---|---|---|
optimize_prompt(id_, body) | Start optimization job | client.optimization |
get_optimization(id_) | Get job status | client.optimization |
list_optimizations(...) | List all jobs with filters | client.optimization |
get_optimization_progress(id_) | Get score progression | client.optimization |
get_optimization_states(id_) | Get state snapshots per iteration | client.optimization |
get_optimization_results(id_) | Get results with scorecard | client.optimization |
pause_optimization(id_) | Pause job | client.optimization |
resume_optimization(id_) | Resume job | client.optimization |
cancel_optimization(id_) | Cancel job | client.optimization |