Урок 5

Совет — зная это, вы уже можете командовать

Ограничение инструментов ИИ-кодирования — есть ограда (harness), но нет направления (поводьев). Линтеры, форматтеры, CI говорят “не выходи за рамки”, но не говорят “иди сюда”. Код доходит до продакшена в состоянии “чистый, но неправильный”.

Ключевой принцип: не меняйте модель — добавьте контракт. Одна и та же модель останавливается на 40 или проходит 527 — в зависимости от структуры обратной связи. Ждать более умную модель — это власть человека. Добавить цикл проверки — это власть закона.

Три столпа Reins:

  • Детерминистическая обратная связь — не “что-то не так”, а “строка 41: несовпадение имён полей”
  • Храповиковая фиксация — прошёл — зафиксировал, дальше
  • Разделение решений и реализации — решения в SSOT, код — одноразовая проекция

Убрать хоть один — и сходимость нарушена.


Почему нужно командовать именно так

Четыре эпохи

ИИ-кодирование прошло четыре смены парадигм.

1-е поколение: Prompt Engineering — “достаточно хорошо формулировать”. Работает — один раз. Второй промпт — другой паттерн.

2-е поколение: Context Engineering — CLAUDE.md, Требования.md. Урок 1. Файлы — постоянные, но контекст всё равно затухает.

3-е поколение: Harness Engineering — линтеры, CI/CD, структура проекта. Урок 3. Ограда. Ограничение: нет направления. Код “чистый, но неправильный”.

4-е поколение: Reins Engineering — не ограда, а поводья. Урок 4. yongol validate говорит не “не выходи”, а “здесь несовпадение, исправь сюда”. Направленная обратная связь.

Ограда vs поводья

Представьте верховую езду. Ограда — забор вокруг загона. Лошадь свободно бродит внутри, но до пункта назначения не доберётся. Поводья — вы в седле и направляете. Лошадь бежит свободно, но направление задаёте вы. До пункта назначения доберётесь.

Три столпа Reins Engineering

Столп 1: Детерминистическая обратная связь. Не мнение, а факт. “Строка 41: несовпадение полей” — нечему льстить.

Столп 2: Храповиковая фиксация (Ratchet Pattern). Прошёл проверку — зафиксирован. Вперёд. 40 → 527 — разница в том, кто решает “конец”.

Столп 3: Разделение решений и реализации. Решения — в SSOT, код — одноразовая проекция. ИИ не может спутать решение с деталью реализации.

Symbolic Feedback Loop — рельсы важнее поезда

LLM генерирует → детерминистический инструмент судит → результат возвращается LLM → повторение

go test не галлюцинирует. yongol validate не льстит. Покрытие не врёт. Детерминистические инструменты при одном входе всегда дают один выход.

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

“Не меняйте модель — добавьте контракт”

Это центральный тезис Reins Engineering. Одна и та же модель: 40 или 527. Разница — не модель, а топология обратной связи.

Аналогия: власть человека vs власть закона. Власть человека зависит от мудрого правителя. Власть закона зависит от закона. С контрактом система работает при любой модели.


Итоги

  1. Четыре эпохи. Промпт → Контекст → Ограда → Поводья.
  2. Три столпа. Детерминистическая обратная связь, храповиковая фиксация, разделение решений и реализации.
  3. Symbolic Feedback Loop. LLM генерирует, детерминистический инструмент судит. Рельсы важнее поезда.
  4. Не меняйте модель — добавьте контракт. Не власть человека, а власть закона.
  5. Предвзятость лести — актив. При мнении — льстит, при факте — принимает.

Связанные статьи

Полный курс Reins Engineering

УрокНазвание
Урок 1Как командовать ИИ
Урок 2Как не доверять ИИ
Урок 3Нерушимое приложение
Урок 4Решения — за пределы кода
Урок 5ИИ на поводьях
Урок 6Прошёл — зафиксировал
Урок 7Как обратить лесть
Урок 8Фабрика агентов
Урок 9Автоматизация за пределами кода
Урок 10Закон данных

Источники

  1. Carnegie Mellon University, MSR 2026 — сложность кода +41% навсегда после внедрения ИИ-инструментов.
  2. Google DORA Report, 2025 — стабильность доставки ПО -7,2% при каждом росте доли ИИ на 25%.
  3. TDAD, ACM AIWare 2026 — процедурные указания ухудшают регрессию, конкретный контекст снижает на 70%.