# Запуск через мастер

> Каждый шаг мастера отправки, от задачи до проверки контракта.

Мастер отправки настраивает и начинает запуск. В нём четыре шага: **Задача**, **Входные данные**, **Оптимизатор** и **Метрика и запуск**. Каждый шаг содержит один или несколько экранов. В этом руководстве описан каждый экран — от задачи до проверки контракта и начала запуска.

> [!NOTE]
> Мастер показывает больше или меньше настроек в зависимости от уровня опыта: **С подсказками**, **Стандартный** или **Эксперт**. По умолчанию выбран уровень «С подсказками». Уровень меняется в разделе **Настройки → Учётная запись**, в пункте **Сколько показывать**. На уровне «С подсказками» некоторые подписи проще. В этом руководстве используются подписи уровней «Стандартный» и «Эксперт», а подпись уровня «С подсказками» указана в скобках, если она отличается.

## Шаг 1: Задача

### Что вы хотите оптимизировать?

Опишите задачу ассистенту в чате **Интервью о задаче**. Ассистент заполнит за вас два поля:

- **Цель** (С подсказками: **Задача**): что оптимизированный артефакт должен делать хорошо.
- **Контекст** (С подсказками: **Дополнительный контекст**): контекст, ограничения и то, как выглядит хороший результат.

Оба поля можно редактировать. Ассистент не перезаписывает ваши правки.

### Что будет оптимизировано

Выберите **Тип артефакта**:

| Тип артефакта   | Что меняется                                         |
| --------------- | ---------------------------------------------------- |
| Промпт          | Инструкции, которые отправляются языковой модели     |
| Код             | Исходный код программы                               |
| Программа DSPy  | Инструкции предикторов модуля DSPy                   |
| Текст           | Любой другой текст, например документ или шаблон     |

Затем задайте **Исходная версия** (С подсказками: **С чего начинаем**). Вставьте текущую версию или попросите ассистента написать черновик.

### Оптимизация репозитория

Можно также оптимизировать код в репозитории. Заполните поля:

- **Репозиторий**: выберите репозиторий или укажите его в виде `owner/name`.
- **Коммит**: SHA из 40 символов. Оставьте поле пустым, чтобы использовать последний коммит ветки.
- **Пути, которые оптимизатор может менять**: по одному файлу или папке на строку. Точка означает весь репозиторий.
- **Команда установки**: выполняется в каждой свежей копии репозитория перед оценкой. Если оставить поле пустым, Skynet сам найдёт команду.

## Шаг 2: Входные данные

### Данные

Добавьте примеры для запуска. Вы можете:

- Загрузить файл CSV, JSON или Excel.
- Выбрать набор данных из библиотеки.

Прочитайте [Наборы данных и разбиение](/docs/ru/concepts/datasets) и [Подготовка набора данных](/docs/ru/guides/datasets).

### Как читать данные

Ассистент читает данные и предлагает, как их использовать. Проверьте его выбор:

- Отметьте каждый столбец как вход, ожидаемый выход или пропускаемый.
- Если столбца-выхода нет, Skynet использует первую строку как один вход.
- Задайте разбиение на обучающую, валидационную и тестовую выборки. Сумма долей должна быть равна 1.

> [!WARNING]
> Пока на шаге **Входные данные** есть ошибки, следующие шаги недоступны. Исправьте проблемы, которые показывает мастер, и продолжайте.

## Шаг 3: Оптимизатор

На уровне «Стандартный» у этого шага один экран. На нём показаны оптимизатор, бюджет и, если нужно, модели. На уровнях «С подсказками» и «Эксперт» у шага три экрана: **Оптимизатор**, **Модели** и **Бюджет**.

### Оптимизатор

Мастер показывает только оптимизаторы, которые подходят вашей задаче и входным данным. По умолчанию выбран **Auto**. При желании выберите другой оптимизатор. Прочитайте [Движки](/docs/ru/concepts/engines) и [Как работает оптимизация](/docs/ru/concepts/optimization).

### Модели

- **Модель задачи**: модель, которую вызывает ваш код запуска. Оставьте поле пустым, если код запуска не вызывает модель. Для программы DSPy модель задачи обязательна.
- **Модель рефлексии**: модель, которая читает оценки и обратную связь и пишет следующих кандидатов. Для оптимизатора с агентом-программистом это модель агента.

### Бюджет

Задайте, как долго запуск может продолжать попытки и сколько он может потратить:

- **Макс. запусков оценщика** (С подсказками: **Макс. попыток**): максимальное число кандидатов, которые оценит Skynet. Некоторым оптимизаторам нужно минимальное число.
- **Остановиться при оценке** (С подсказками: **Остановиться раньше, когда оценка достигнет**): запуск останавливается, когда версия достигает этой оценки.
- **Макс. итераций** (С подсказками: **Макс. раундов**): показывается для оптимизаторов, которые это поддерживают.
- **Лимит расходов**: максимум, который может потратить запуск. По умолчанию — $5 или сумма **Нужно для старта**, если она больше. Также можно выбрать **Без лимита**.

Мастер не даёт продолжить, если лимит или ваш баланс меньше суммы, необходимой для старта. Прочитайте [Бюджеты и оплата](/docs/ru/concepts/billing).

## Шаг 4: Метрика и запуск

### Код и метрика

Напишите два файла:

- `run.py`: код запуска, который выполняет ваш артефакт на одном примере.
- `metric.py`: метрика, которая оценивает выход и пишет обратную связь.

**Агент-программист** может написать и изменить за вас любой файл. Он проверяет свой код и исправляет то, что не работает. Можно добавить до 20 дополнительных файлов. Прочитайте [Метрики и оценщики](/docs/ru/concepts/scorers).

Если ваша метрика вызывает `llm()`, задайте **Модель метрики**. По умолчанию используется модель рефлексии.

### Проверка контракта

**Проверка контракта** (С подсказками: **Тестовый запуск**) запускает ваш код и метрику в песочнице на 3 примерах. Она проверяет:

- сигнатуру кода запуска,
- сигнатуру метрики,
- модель метрики,
- код запуска на примерах,
- возвращаемое значение метрики.

Нажмите **Проверить** (С подсказками: **Протестировать**). Начать запуск можно только после того, как проверка пройдёт. Если после успешной проверки вы измените код или настройки, запустите проверку снова.

> [!TIP]
> Откройте каждый пример, чтобы увидеть его вход, выход и обратную связь. Хорошая обратная связь даёт оптимизатору больше информации, чем одна оценка.

### Запуск по расписанию

После успешного завершения оптимизацию можно повторно запускать по расписанию. По умолчанию — **Выкл.**

### Готово к запуску

Последний экран показывает сводку на пяти вкладках: **Общее**, **Данные**, **Модели**, **Бюджет** и **Награда**. Проверьте настройки, затем запустите оптимизацию.

Сводка также показывает видимость запуска. Новые запуски по умолчанию публичные. Позже видимость можно изменить в диалоге **Доступ и конфиденциальность** на странице запуска. Прочитайте [Общий доступ и публикация](/docs/ru/guides/sharing).

> [!NOTE]
> Для запуска на репозитории на этом шаге есть только экран **Код и метрика** и сводка. Skynet проверяет настройки на репозитории, когда вы начинаете запуск.

## После старта

Откроется страница запуска. Прочитайте [Запуски](/docs/ru/concepts/runs) и [Чтение результатов](/docs/ru/guides/results).

---

Source: https://staging.skynetml.com/docs/ru/guides/submit
