Основные понятия
Как работает оптимизация
Контракт запуска и оценки, виды артефактов и движки для каждого вида.
Skynet — это Optimize Anything: один продукт, который улучшает любой артефакт на ваших данных и по вашей метрике. Все запуски используют один и тот же контракт запуска и один и тот же контракт метрики. Вид артефакта определяет, какие движки могут с ним работать.
Общий контракт
У каждого запуска два файла. run.py выполняет артефакт на одном примере. metric.py оценивает выход.
from skynet import llm
def run(artifact, input):
return llm(artifact, input=input)def score(input, output, expected=None):
ok = output == expected
return (1.0 if ok else 0.0), {"feedback": "Match." if ok else "No match."}artifact— текущая версия, которую предлагает оптимизатор.input— словарь с входными полями одного примера.expected— ожидаемое значение примера илиNone, если его нет.scoreвозвращает пару: число и словарь со строкой"feedback".
Вспомогательный модуль skynet предоставляет llm, Image и log. Вызов llm из кода запуска идёт к модели задачи. Вызов llm из метрики идёт к модели метрики.
Полный контракт метрики описан в разделе Метрики и оценщики.
Виды артефактов и движки
| Вид артефакта | Движки |
|---|---|
| Промпт | Auto, GEPA, Best-of-N, AutoResearch, Meta-Harness, AutoSaddler, ShinkaEvolve |
| Код | Те же, что для промпта |
| Текст | Те же, что для промпта |
| Программа DSPy | Auto, DSPy GEPA, DSPy MIPROv2, DSPy BootstrapFewShot |
Движки делятся на два семейства:
- Нативные движки работают с артефактом как с чёрным ящиком. Они работают с артефактами Промпт, Код и Текст.
- Оптимизаторы DSPy работают внутри программы DSPy. Они работают только с артефактами Программа DSPy.
DSPy MIPROv2 и DSPy BootstrapFewShot требуют пар (примеров с ожидаемыми выходами). С единственным входом программа DSPy может использовать только Auto и DSPy GEPA.
Артефакты Промпт, Код и Текст
Нативные движки работают с артефактом как с чёрным ящиком. Движок предлагает новую версию, выполняет run(artifact, input) на примерах и читает оценку и обратную связь.
Шесть нативных движков используют разные методы поиска:
- GEPA развивает версии через рефлексию и поддерживает фронт Парето.
- Best-of-N запрашивает у модели рефлексии независимые предложения и сохраняет лучшее.
- AutoResearch, Meta-Harness, AutoSaddler и ShinkaEvolve используют агента-программиста для предложения версий.
Каждый движок и его настройки описаны в разделе Движки.
Артефакты Программа DSPy
Программа DSPy — это один из видов артефактов. Ваш run.py создаёт dspy.Module на уровне модуля и вызывает его внутри run. Если в файле больше одного модуля, назовите оптимизируемый модуль program.
Что происходит при работе оптимизатора DSPy:
- Skynet находит ваш модуль и оборачивает вокруг него вашу функцию
run. Каждый пример проходит через ваш собственныйrun. - Оптимизатор DSPy компилирует программу на обучающих примерах.
- Он выбирает версию на валидационных примерах.
- Победитель — это текст инструкции каждого предиктора плюс полное скомпилированное состояние модуля. Состояние включает few-shot-примеры.
Итоговые оценки измеряют ту же программу, которую сохраняет Skynet.
| Оптимизатор | Читает текст обратной связи |
|---|---|
| DSPy GEPA | Да |
| DSPy MIPROv2 | Нет, только оценку |
| DSPy BootstrapFewShot | Нет, только оценку |
DSPy BootstrapFewShot не использует модель рефлексии.
Auto
Auto — вариант по умолчанию в мастере.
- Для артефакта Промпт, Код или Текст Auto исследует пространство с помощью пяти нативных движков, а затем продолжает с GEPA от лучшей версии.
- Для программы DSPy Auto запускает DSPy GEPA.
Обе формы Auto читают текст обратной связи вашей метрики.
Какой движок выбрать
| Ваша ситуация | Что использовать |
|---|---|
| У вас есть промпт, который выполняет модель | Артефакт Промпт. Начните с Auto. |
| У вас есть код, который нужно сделать быстрее, дешевле или точнее | Артефакт Код. Начните с Auto. |
| У вас есть документ или конфигурация | Артефакт Текст. Начните с Auto. |
| У вас есть программа DSPy | Артефакт Программа DSPy. Начните с Auto. |
| Вам нужны few-shot-примеры, отобранные из ваших данных | Артефакт Программа DSPy с DSPy BootstrapFewShot или DSPy MIPROv2 |