nikam.dev ← Блог
2026-07-27 · школа · edtech · ai · дети · продукт

Школа вайб-кодинга: как я сделал курс, после которого мой сайт ребёнку больше не нужен

Курсы «программирование с нейросетью» учат копировать промпты: игра появляется, понимания нет. Я собрал школу, где проверяют не память, а результат, где каждый шаг можно не читать, а пройти как визуальную новеллу или послушать, и где ребёнок в конце работает в обычном взрослом инструменте — без моего сайта.

Курсы «программирование с нейросетью» обычно учат копировать промпты. Игра появляется, понимания нет — и первая же поломка заканчивает историю. Я собрал школу, где проверяют результат, а не память; где ребёнок, который не читает, проходит тот же урок как визуальную новеллу или слушает его; и где в конце он работает в обычном взрослом инструменте без моего сайта. Ниже — что оказалось важным и что я переделывал.

С чего началось

Ребёнок собирает игру с нейросетью за десять минут. Игра работает, ребёнок доволен, родитель доволен. Спрашиваешь: а почему герой падает быстрее, чем в начале? Ответа нет.

Это и есть развилка. Можно оставить как есть — получится развлечение, которое выглядит как обучение. А можно потребовать понимания — и тогда придётся придумать, как его проверять, потому что квиз в конце урока проверяет не то.

Приёмка вместо теста

Тест показывает, что ребёнок запомнил слова. Он ничего не говорит о том, работает ли то, что он сделал.

Поэтому на старшей ступени вместо квиза стоит приёмка: список проверяемых пунктов, который ребёнок отмечает сам. Не «интересно ли получилось», а «открывается по ссылке с телефона», «друг разобрался без моих объяснений», «после последнего изменения ничего не сломалось».

А в конструкторе для средней ступени проверка встроена в кнопку публикации. Собрал игру одной фразой к ИИ — опубликовать нельзя. Сначала поменяй сам хотя бы две настройки и ответь на пару вопросов о том, как игра устроена. Проверка считается на сервере, из браузера её не обойти.

Это не про строгость. Это единственный способ превратить промптинг в понимание причины и следствия: пока ты не потрогал руками, ты не знаешь, что от чего зависит.

Шаг курса начинается с вопроса, а не с объяснения

Ещё до текста шаг задаёт вопрос и ждёт ответа про себя. Приём называется «сначала предскажи»: угадать результат до запуска учит быстрее, чем разбор после. Ошибся — запомнил навсегда; угадал — понял, что уже умеешь.

Дети, которые не читают

Первая версия курса была текстовой: короткий шаг на две-четыре минуты, потом практика. Для читающего ребёнка это отлично работает.

Проблема в том, что часть детей просто не читает. Не «не может» — не хочет, и никакие уговоры это не меняют. Обычный курс теряет их на втором уроке, и дело не в способностях: форма подачи не совпала с человеком, а другой формы не предложили.

Поэтому у каждого шага появился второй режим — визуальная новелла. Тот же самый материал, но репликами: фон меняется по сцене, у героя меняется выражение лица, в местах, где раньше был вопрос «как думаешь?», теперь настоящий выбор с последствиями.

Урок в режиме визуальной новеллы

Выбор в новелле: тот же вопрос, но с последствиями

Там, где в тексте стоит вопрос «как думаешь?», в новелле настоящий выбор — и герой отвечает по-разному в зависимости от того, что ребёнок выбрал.

Сейчас таких глав 78 — по одной на каждый шаг двух старших ступеней. Отметки о прохождении общие: прочитал текстом, зашёл в новеллу — шаг уже засчитан, и наоборот. Как проходить, дело вкуса.

Технически это оказалось интереснее, чем я ожидал. Главы и уроки должны рассказывать одно и то же, а правятся отдельно — значит, разъедутся обязательно. Поэтому в сборке стоит проверка: у каждой главы записан хеш урока, по которому она сделана. Правится урок — сборка падает и требует перечитать главу. Не «надо не забыть», а машина, которая не пускает.

Отдельная находка: JavaScript-регулярки со словами не работают на кириллице — \b считает буквой только латиницу. Половина проверок текста молча пропускала русские слова, пока я не выяснил, почему.

Третий способ: не читать вообще

Новелла закрыла одну дыру и обнажила вторую. Реплик меньше, чем текста, они короче и держат внимание — но это по-прежнему чтение. Ребёнку, которому не даётся сам процесс, я предложил тот же барьер, только покрасивее.

Поэтому у новеллы появился голос. Озвучены все 2829 реплик курса — 4,6 часа речи, обе старшие ступени целиком и младшая. Голос по умолчанию молчит: включается из меню, а не бьёт из телефона у того, кто просто открыл ссылку. И замолкает, как только ребёнок отвечает на вопрос, — иначе получилось бы, что кто-то посторонний подсказывает через плечо.

Меню новеллы: голос по умолчанию выключен, там же — выход в обычный текст урока

Интересного тут ровно одно место. Курс правится каждый день, а озвучка — не текст, её нельзя пересобрать бесплатно. Поэтому имя каждого аудиофайла содержит хеш реплики, по которой он сделан: правится урок — переозвучивается одна строка, а не весь шаг. Полный прогон нужен один раз, дальше десятки строк на партию.

А ещё текст под озвучку пришлось переписать — это оказалось отдельной работой, а не кнопкой «прочитать вслух». Синтез читает «Роблокс» набором латинских букв, DECISIONS.md — по буквам, а в слове «стоит» ставит ударение наугад и промахивается в половине случаев. 45 названий записаны произношением, имена файлов заменены смыслом, омографы разведены. Девять английских строк оставлены как есть: «Use this template», «command not found» — это надписи, которые ребёнок увидит на экране своими глазами, и переводить их вслух было бы враньём.

Устроено так, что голос не может сломать курс: движок сначала спрашивает индекс файлов рядом с аудио. Нет файлов — нет индекса — в меню просто нет пункта «Голос», и ни одного запроса за озвучкой не уходит.

Гейт, который знает, о чём молчит движок

Старшая ступень — это пять треков на выбор: моды для Minecraft, игра в Roblox, игра внутри Telegram, Godot и публикация в Steam. Курс сам называет старт с пустой папки «способом утонуть», а три трека из четырёх при этом начинались именно с неё.

Теперь у каждого есть заготовка на GitHub. Но ценность там не в коде — код небольшой. Ценность в проверке, которая стоит внутри.

У каждого движка своя тихая беда, о которой он не сообщает вовсе:

Взрослый разработчик это знает и проверит. Ребёнок ищет ошибку не там, где она есть, не находит и делает вывод, что не способен. Проверка называет файл и строку словами: не «ошибка», а «строка 9 ссылается на функцию, которой нет».

Три заготовки из пяти при первом же прогоне показывают красный крестик — и это задумано. Проверка требует ответить, что ты строишь, прежде чем пускать дальше: пока не заполнено название игры и описание, публикация не работает. Ровно то, чему учит один из первых шагов курса, только требует машина, а не текст.

Тексты, которые не исключают половину детей

Русское прошедшее время склоняется по роду. «Ты сделал», «ты сам справился», «ты уверен» — читается мальчиком, а девочку тихо выносит за скобки.

Я ловил это глазами, ловил плохо и постоянно пропускал. Теперь ловит сборка: отдельная проверка ищет родовые формы по всему курсу — по 84 шагам и 78 главам. Лечится будущим временем, безличными оборотами или настоящим: не «ты сделал», а «ты сделаешь» или «получилось».

Мелочь, о которой не думаешь, пока не начнёшь искать целенаправленно. И которая решает, продолжит девочка курс или почувствует, что он не для неё.

Ребёнок уходит со своим инструментом

Самая частая беда детских курсов — привязка к платформе. Конструктор работает, пока открыт сайт курса. Курс закончился, и вместе с ним закончилось всё, что ребёнок «умел».

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

Ступень 13+: семь модулей и пять треков

Старшая ступень — это семь модулей ядра и пять треков на выбор. Ребёнок проходит их не по отдельности, а на материале своего проекта.

Это неудобно с точки зрения удержания и правильно с точки зрения того, зачем всё затевалось.

Что дальше

Три ступени написаны целиком: 84 шага, от «тапни картинку» до своего сервера. Курс живёт на school.nikam.dev, открывается и в браузере, и как приложение внутри Telegram.

Озвучка закрыта: 2829 реплик, 4,6 часа — новеллу теперь можно слушать, а не читать. Дальше английская версия: там отдельная история про то, что законы о детских данных в США и ЕС делают архитектурным решением, а не абзацем в условиях.

Полный разбор продукта — в кейсе про школу.

Частые вопросы

Что такое вайб-кодинг?

Создание программ и игр через описание задачи словами: человек придумывает и проверяет, а код пишет ИИ. Главный навык здесь не синтаксис, а умение ясно объяснить задачу и оценить результат.

С какого возраста и сколько стоит?

С 7 лет, три ступени под возраст. Курс бесплатный целиком и платным не станет: ни рекламы, ни платных разблокировок. Платными бывают только сторонние ИИ-инструменты — на младших ступенях хватает бесплатных.

Чем это отличается от курса, где дают промпты?

Проверкой. Чтобы опубликовать игру, собранную с ИИ, ребёнок должен сам поменять в ней хотя бы две вещи и ответить, как она устроена. Пока не ответил, кнопка публикации не работает.

Что делать, если ребёнок не любит читать?

У каждого шага двух старших ступеней есть режим визуальной новеллы: тот же материал репликами, с фонами, эмоциями героя и выбором. 78 глав. А новеллу можно ещё и слушать — озвучены все 2829 реплик курса, 4,6 часа. Отметки о прохождении общие, так что способ прохождения — дело вкуса.

Какие данные ребёнка собираются?

Только придуманный им ник. Ни имени, ни возраста, ни фото, ни школы. Учиться и собирать игры можно вообще без регистрации; аккаунт заводит взрослый, и он же может удалить всё одной командой.

Ребёнок останется привязан к вашей платформе?

Наоборот, это цель курса. Старшая ступень заканчивается тем, что проект живёт в его собственном репозитории, собирается его командой и выкатывается на его сервер. Наш сайт ему больше не нужен.