Мутации и результаты
ChainMutator
Заголовок раздела «ChainMutator»ChainMutator определяет ходы, которые может делать evolver. Вы задаёте пулы
кандидатных значений; каждый включённый вид мутации берёт значения из своего пула.
from mmar_carl import ChainMutator, MutationKind
mutator = ChainMutator( temperature_pool=[0.1, 0.5], aim_suffix_pool=[" Be brief."], step_template_pool=[{"step_type": "llm", "title": "Verify", "aim": "..."}], allow_step_deletion=True, enabled_kinds=[ MutationKind.PROMPT_REWRITE, MutationKind.INSERT_STEP, MutationKind.DELETE_STEP, ],)| Пул / флаг | Питает вид мутации |
|---|---|
model_pool | MODEL_SWAP — заменить модель шага. |
temperature_pool | TEMPERATURE_SWAP — заменить температуру шага. |
max_workers_pool | MAX_WORKERS — изменить параллелизм цепочки. |
aim_suffix_pool | PROMPT_REWRITE — добавить подсказку в aim шага. |
step_template_pool | INSERT_STEP — вставить шаг верификации. |
allow_step_deletion | DELETE_STEP — удалить листовой шаг (требует явного включения). |
Если enabled_kinds не указан, он выводится из установленных пулов. Каждая мутация
перепроверяется через from_dict; невалидные мутации прозрачно откатываются.
Результаты
Заголовок раздела «Результаты»EvolutionResult содержит:
| Поле | Тип | Назначение |
|---|---|---|
best_chain_spec | dict | Победившая цепочка, сериализованная — восстановить через ReasoningChain.from_dict(...). |
best_score | float | Приспособленность победителя. |
best_generation | int | Поколение, в котором появился победитель. |
history | list[GenerationStats] | Статистика по поколениям. |
Детали по особям находятся в IndividualMetrics: score, wall_time_s,
total_tokens, llm_calls, mutation_kind, parent_score и scores_by_metric
(для многоцелевых запусков).
Визуализация запуска
Заголовок раздела «Визуализация запуска»EvolutionResult имеет форматтеры для текста/PNG:
print(result.format_score_evolution()) # best score per generationprint(result.format_pareto()) # multi-objective frontierprint(result.format_spend_vs_quality()) # tokens vs fitnessprint(result.format_mutation_effectiveness()) # which mutations helpedprint(result.to_lineage_mermaid()) # parent→child tree (winner highlighted)Для сравнения нескольких запусков верхнеуровневый format_runs_pareto(results, ...) рисует
межзапусковый граф Парето. В Jupyter введите result для рендеринга через _repr_markdown_.
Смотрите также
Заголовок раздела «Смотрите также»- Обзор эволюции
- Панель эволюции в MAESTRO CARE — TUI показывает те же результаты, а также предпросмотр бюджета и счётчик расходов в реальном времени.
- Трассировка и визуализация (следующий раздел) для диагностики запусков.