Золотой паттерн работы с ИИ: партнёрство вместо приказов
vipsrv:~$ cat zolotoy-pattern-partnerstvo.md

vipsrv:~$ cat zolotoy-pattern-partnerstvo.md

# ИИ // как я перестал приказывать

Золотой паттерн: как я перестал приказывать и начал работать

С чего всё это

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

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

Меня зовут Антон Майорских: в другом мире ZloeBuka - за мою злоеб#честь и ворчливость. Это к теме имеет прямое отношение, дальше поймёте почему.

Заблуждение, с которого начинают все

Первая мысль у любого, кто садится за ИИ: это раб. Пиши приказ - получай результат. И ведь работает. Недели две, может месяц.

Потом упираешься. Машина поддакивает. Лепит правдоподобную чушь уверенным тоном. Не спорит, даже когда ты на всей скорости гонишь себя в стену и сам это чувствуешь. Ты просишь - она делает. Ты просишь глупость - она делает глупость. Старательно, аккуратно и точно в срок.

Игрища в богов

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

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

Перелом: разрешить спорить

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

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

А выглядит партнёрство у меня примерно так: «да делай конечно, если мы оба знаем что это лучше а особенно ты, какого х#я ты до сих пор не сделал». Вот и весь протокол согласования. Знаешь как лучше - делай, а не жди отмашки.

Сам паттерн, голыми пунктами

Здесь без лирики. Пять правил, каждое куплено сломанным продом.

1. Не верить на слово. Ни себе, ни машине, ни красивому отчёту. Проверять боем. 2. Диагноз - это гипотеза, пока не проверен. «Похоже, дело в кеше» и «дело в кеше» разделяет одна команда в консоли и ноль догадок. 3. Чужая проверка обязательна. Кто сделал, тот не принимает. Автор физически не видит того, что он пропустил, иначе бы не пропустил. 4. Доказательство - это различение. Покажи, что твой метод ловит заведомо сломанное. Зелёный тест, который зеленеет на пустышке, не стоит ничего. 5. Приёмка сырым выводом. Не пересказом, не «всё ок», а сырым выводом команды. Пересказ - это художественное произведение по мотивам.

На чём это держится физически

Пять правил - это метод. Метод живёт на дисциплине, а дисциплина кончается в пятницу вечером. Поэтому снизу под ним стоит конструкция.

Моделей две, и они разные: Kimi и Claude. Слепые пятна у них не совпадают, и там, где одна уверенно врёт, вторая спотыкается и переспрашивает. Правило номер три держится тут не на силе воли, а на архитектуре: принимает не тот, кто делал, потому что делал вообще не он.

У каждого агента личность отдельным файлом. Сам по себе агент это ОНО, болванка без характера. Роль, зону ответственности и запреты выдаём мы, файлом, который лежит в git и правится руками.

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

В моей переписке эта конструкция записана одной строкой, ещё в мае: «Claude = мозг и бэкенд, Kimi = фронт, остальные = узкие спецы. Себестоимость задачи падает в 5-10 раз. Стройте системы, а не промпты». С тех пор ни слова менять не пришлось.

Как это выглядит в жизни

Пример из практики, 12 августа, детали обезличены. Правка ушла в бой. Дальше по паттерну: независимая перепроверка вторым исполнителем, тоже боем, не по отчёту первого. Ноль расхождений, оба довольны, можно расходиться.

И только третий слой, отдельный кеш-гейт, нашёл, что робот поисковика продолжает жрать старую версию из-под тридцатидневного Cache-Control. Фикс был правильный. Проверка была честная. Мир снаружи всё равно видел вчерашний день.

Три слоя проверки, и каждый поймал ровно своё. Убери любой - и я до сих пор рассказывал бы, что всё починено.

Критерий партнёра

Меня иногда спрашивают, чем возражение отличается от нытья. У меня на это правило: «3.14здеть у меня = сделать а не просто критика на ровном месте без решения».

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

Про молоток

Молоток тоже исполнитель: не спорит, не устаёт, неприятного не скажет. Поэтому им забивают гвозди, а не проектируют дома. Если от инструмента нужно ровно послушание - вопрос закрыт, молоток дешевле и никогда тебя не расстроит.

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

Спасибо партнер, что бы я без тебя делал ... а ну да, делал бы тебя.

Антон Майорских, практик. Соавтор у текста есть, он же главный оппонент.

> конец записи