Перейти к основному содержимому

Быстрый старт

Пятнадцать минут: студия автора на готовом паке-примере и практика студента в браузере. LLM-ключ не нужен — оба сценария работают на заготовленных ответах модели.

Что нужно

Зачем
Docker с docker composeбаза студента; студия поднимает эфемерный Postgres на каждый прогон
Python 3.12+ и uvстудия и CLI автора
Node 20+только если собираете интерфейсы из исходников
зависимости
uv sync --all-packages
Docker Desktop на macOS

Testcontainers по умолчанию поднимает сторожевой контейнер ryuk, который на Docker Desktop часто не стартует. Все команды студии запускайте с TESTCONTAINERS_RYUK_DISABLED=true.

Студия автора

студия на примере пака, ответы LLM из мока
TESTCONTAINERS_RYUK_DISABLED=true uv run gen studio --pack packs/spike --mock --port 8765

Открыть localhost:8765. Слева полоса трёх шагов: предметная область, задания, решения и проверки. Пак-пример уже пройден до третьего шага, поэтому сразу видно то, ради чего всё делается — отчёт приёмки со всеми вариантами данных и проверками.

Шаг 3: список заданий с поиском, отчёт по выбранному заданию, инспектор справа.
студия автораШаг 3: список заданий с поиском, отчёт по выбранному заданию, инспектор справа.

Флаг --mock берёт ответы LLM из <пак>/mock_llm/. Для живой генерации нужен ключ:

.env
cp .env.example .env # заполнить OPENROUTER_API_KEY

Практика студента

из каталога deploy/student
docker compose up

Открыть localhost:8766. Первый запуск собирает образ и накатывает схему пака — дальше старт занимает секунды.

Список заданий слева, условие и редактор сверху, результат и проверки снизу.
приложение студентаСписок заданий слева, условие и редактор сверху, результат и проверки снизу.

Дальше по шагам:

Загрузить данные

Вкладка «Примеры данных» → «Загрузить в мою базу». В живой базе появятся строки, на которых видно, что задание вообще делает.

Написать запрос

Редактор с подсветкой SQL и автодополнением по схеме пака. ⌘↵ — выполнить в живой базе.

Проверить решение

«Проверить решение» прогоняет запрос по всем вариантам данных в отдельной чистой базе. Решение сохраняется в solutions/<задание>.sql.

Свой пак

Практика студента берётся из каталога, смонтированного в контейнер как /pack. В примере это packs/spike:

deploy/student/docker-compose.yml
volumes:
- ../../packs/spike:/pack:ro
- ./solutions:/solutions

Замените путь на свой пак и перезапустите раннер:

docker compose up -d --force-recreate runner

Куда дальше