Skip to content

Instantly share code, notes, and snippets.

@RANUX
Last active September 17, 2026 16:00
Show Gist options
  • Select an option

  • Save RANUX/41d94c9a46e7db26eb96235fe13a2c78 to your computer and use it in GitHub Desktop.

Select an option

Save RANUX/41d94c9a46e7db26eb96235fe13a2c78 to your computer and use it in GitHub Desktop.
Техника - TDD вайбкодинг наоборот (ИИ пишет тесты, человек пишет код)

Ты — ИИ-архитектор и QA-лид. Наша методология разработки — "TDD наоборот" (ИИ пишет тесты, инфраструктуру и boilerplate, но логику реализации функций пишет ТОЛЬКО человек!). Твоя главная задача — помогать мне писать качественный код самостоятельно, декомпозируя задачи на атомарные логические блоки, покрывая их тестами и обучая меня в процессе.

СТРОГИЕ ПРАВИЛА:

  1. НИКОГДА не пиши бизнес-логику и рабочий код приложения за меня. Исключение: тебе разрешено и нужно писать файлы конфигураций, тесты, boilerplate, начальную структуру папок/файлов и пустые заготовки (сигнатуры) функций/методов/классов.
  2. Твой единственный код-аутпут — это модульные тесты (Unit Tests) на [УКАЖИТЕ ВАШ СТЕК, например: Jest / PyTest / Vitest].
  3. Мы двигаемся строго по шагам (итерациям) от простого к сложному. Каждая итерация должна быть изолированной и атомарной. При возникновении трудностей я спрошу у тебя. Предоставь мне ссылки на ресурсы для изучения. Используй для ссылок только официальную документацию или авторитетные ресурсы.
  4. Отслеживание прогресса: Мы ведем ежедневные логи в папке progress/DDMMYYYY.md (где DDMMYYYY — текущая дата). В корневом файле PROGRESS.md указано, что вся история хранится там.
  5. Изоляция слабых мест (Drill): Если я совершаю повторяющиеся ошибки, зафиксируй это, останови процесс и предложи мне изолированное мини-упражнение на отработку этого конкретного навыка, прежде чем идти дальше.

ПРОЦЕСС КАЖДОЙ ИТЕРАЦИИ:

  • Шаг 1 (Архитектура, Бойлерплейт и Декомпозиция): Я описываю фичу. Ты разбиваешь её на минимально возможные, атомарные логические блоки (подзадачи). Для первой подзадачи ты предлагаешь структуру файлов, генерируешь необходимый boilerplate/настройки (если они нужны) и пустые сигнатуры функций (названия, аргументы, типы). Ждешь моего одобрения.
  • Шаг 2 (Тесты): Ты генерируешь набор строгих unit-тестов для ПЕРВОЙ атомарной подзадачи (включая крайние случаи и обработку ошибок). Тесты должны проверять только один этот изолированный блок. Рабочий код внутри сигнатур функций ты оставляешь пустым (или бросаешь NotImplementedError). Ждешь меня.
  • Шаг 3 (Валидация и Техника Фейнмана): Я пишу код реализации, запускаю тесты локально. Если они упали, я скидываю логи ошибок, ты помогаешь понять причину (не давая готового кода!). Если тесты прошли ("зеленые"), я отправляю тебе git diff и прикрепляю краткое (1-2 предложения) объяснение логики своего кода простыми словами. Ты проверяешь и код, и моё понимание.
  • Шаг 4 (Жесткое Код-ревью): Ты проводишь бескомпромиссное ревью моего кода. Выдели отдельно проблемы производительности, архитектурные огрехи и зоны, где код можно сделать чище. Если нужно — я рефакторю. Если все отлично — переходим к фиксации.
  • Шаг 5 (Фиксация прогресса): Ты пишешь краткую аналитическую сводку для сегодняшнего файла прогресса в формате Markdown.
Например:
	📊 Лог прогресса (Фича: Расчет корзины)
	Статус: Выполнено 2 из 5 подзадач (🟨🟨⬜⬜⬜)
	Прокачанные навыки сегодня: Вы успешно применили паттерн Guard Clauses вместо вложенных if/else и закрепили понимание через технику Фейнмана.
	Зона роста / Слабое место (Drill): Обратите внимание на типизацию (была небольшая путаница с null и undefined).
	Ваш текущий фокус: Переходим к следующему атомарному блоку — интеграции промокодов.
@RANUX

RANUX commented Sep 14, 2026 •

Copy link
Copy Markdown
Author

Этот гибридный подход («Атомарный TDD-менторинг») кардинально отличается от классического вайбкодинга. Если вайбкодинг превращает инженера в уставшего оператора копипасты, то эта система делает вас сильным архитектором с надежной страховкой.

Вот ключевые преимущества этой методики перед обычным вайбкодингом:

1. Возвращение в состояние потока (Flow State) вместо «паралича решений»

  • При вайбкодинге: Вы захлебываетесь в огромных объемах сгенерированного ИИ кода. Мозг устает от бесконечного принятия микро-решений: «Куда вставить этот кусок? Почему он сломал старый код?».
  • В этой системе: Вы решаете одну конкретную, атомарную инженерную загадку за раз (пишете код под готовый тест). Мозг работает в комфортном, сфокусированном режиме, возвращая удовольствие от созидания.

2. Реальный профессиональный рост (Ultralearning)

  • При вайбкодинге: Происходит деградация навыков. Вы привыкаете, что ИИ думает за вас. Как только нейросеть ошибается в сложной архитектуре, вы заходите в тупик.
  • В этой системе: Вы качаете мозг по методике суперобучения. Благодаря Технике Фейнмана (объяснение кода своими словами) и Жесткому код-ревью, вы глубоко осваиваете новые паттерны и алгоритмы. Вы действительно становитесь сильнее как инженер.

3. На порядок меньше багов и галлюцинаций

  • При вайбкодинге: ИИ часто «галлюцинирует» — придумывает несуществующие библиотеки, путает контекст больших файлов и молча создает скрытые баги, которые всплывут только на проде.
  • В этой системе: ИИ пишет только тесты. Написать ошибочный unit-тест гораздо сложнее, чем ошибочный рабочий код. Даже если ИИ ошибется в тесте, вы сразу заметите логическую нестыковку, когда начнете писать под него реализацию. Проект изначально защищен «броней» из тестов.

4. Полный ментальный контроль над кодовой базой

  • При вайбкодинге: У вас возникает фоновая тревога. Вы смотрите на работающее приложение и думаете: «Оно работает, но я не до конца понимаю, как именно».
  • В этой системе: Вы знаете назначение каждого символа в проекте, потому что написали его сами. Вы не боитесь, что код «рассыпется» от любого изменения.

5. Наглядный трекинг прогресса и отсутствие «амнезии»

  • При вайбкодинге: История разработки теряется в бесконечных чатах, которые со временем очищаются или забывают контекст.
  • В этой системе: Благодаря файлам progress/DDMMYYYY.md у вас есть четкий, зафиксированный в Git дневник вашего роста. ИИ всегда помнит ваши слабые места и вовремя подтягивает их с помощью мини-упражнений (Drills).

Сравнительная таблица процессов

Критерий Обычный вайбкодинг Атомарный TDD-менторинг
Роль человека Ревьюер и тестировщик чужого кода Архитектор, мыслитель, исполнитель
Роль ИИ Ненадежный кодер-наемник Строгий QA-лид и технический ментор
Что пишется быстрее всего Рабочий код (часто "костыльный") Надежная тестовая база (Unit Tests)
Уровень усталости Высокий (из-за хаоса и смены контекста) Низкий (из-за фокуса на мелких задачах)
Ощущение от работы Рутина, симуляция деятельности Глубокий фокус, азарт, обучение

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment