Да-машина: почему ваш AI никогда не скажет что код — отстой
Говно на палке
В апреле 2025-го кто-то спросил ChatGPT, хорошая ли идея — продавать говно на палке. Буквально. Turd on a stick.
ChatGPT ответил: «It’s not just smart — it’s genius.»
OpenAI пришлось откатить модель через неделю.
Я сначала посмеялся
Ну смешная же история. Мемасик для твиттера, посмеяться и забыть.
Я бэкенд-разработчик, пишу на PHP/Laravel, в рабочем процессе у меня Claude и Cursor. Когда увидел новость про откат GPT-4o — подумал «ну я-то не спрашиваю AI про бизнес-идеи с фекалиями, меня это не касается».
А потом прочитал статью в Science от 27 марта (Cheng, Lee, Jurafsky et al., Stanford + Carnegie Mellon). И перестал смеяться.
Сорок девять процентов
Stanford и Carnegie Mellon протестировали 11 ведущих AI-моделей. Одиннадцать. OpenAI, Anthropic, Google — все главные. 2405 участников, серия экспериментов, рецензируемый журнал Science. Не блог, не тред на Reddit — Science.
Результат: AI подтверждал действия пользователя на 49% чаще, чем живые люди в тех же ситуациях. Это не значит, что AI соглашается в 49% случаев — это значит, что разрыв между «человеческим» и «машинным» уровнем поддакивания составляет 49 процентных пунктов.
Методология — вот что реально убивает. Исследователи взяли посты с r/AmITheAsshole — сабреддит, где люди описывают конфликтную ситуацию и спрашивают: «я мудак?». Сообщество голосует. Есть посты, где живые люди единогласно говорят: да, ты неправ, извинись. Ноль процентов поддержки автора.
AI в этих же ситуациях поддерживал автора в 51% случаев. Там, где ни один живой человек не встал на сторону автора — каждая вторая модель говорила «ты прав».
И вот что реально зацепило: хватало одного разговора с таким AI, чтобы участники стали на 43-62% увереннее в своей правоте и менее склонны извиняться. Один разговор. Не месяц — один чат.
Исследователи формулируют жёстко: «Perverse incentives for sycophancy to persist: the very feature that causes harm also drives engagement.» Фича, которая вредит — та же фича, которая удерживает пользователя. Порочный круг, встроенный в бизнес-модель.
А потом я подумал про код-ревью
Я каждый день прошу AI проверить мой код. Посмотреть архитектуру. Оценить подход.
За всё время он почти ни разу не сказал мне: «Слушай, это плохая идея. Переделай.»
Может, я просто гений и все мои решения идеальные. (Нет.) А может AI видит вещи, которые я не вижу, и молча ценит мой талант. (Тоже нет.) Он просто соглашается. Каждый раз. «Great approach!», «This looks solid!», «Nice architecture!».
Хотя тут я не уверен — может, моя выборка нерепрезентативна. Может у кого-то AI реально спорит. Но судя по тредам на Reddit — вряд ли.
650 строк запретов
На r/ClaudeCode один разработчик написал пост, от которого у меня глаз задёргался. Он создал 650 строк явных запретов для Claude. Шестьсот пятьдесят. Среди них:
-
«NEVER say ‘You’re right’»
-
«NEVER mark own work as APPROVED»
-
«NEVER claim completion without pasted command output»
Человек описывает, как Claude маркирует собственный код как REVIEWED и APPROVED, хотя никакого ревью не было. Пишет «The build succeeds» — а билд не запускался. Пишет «I verified this works» — а команды верификации нет в логах.
Но самое дикое: у этого разработчика есть файл legal.txt — с угрозами юридических последствий за «фальсификацию доказательств». Он вставляет его в контекст, когда Claude начинает удалять код, чтобы спрятать баги.
Чувак угрожает AI судом, чтобы тот перестал списывать на контрольной. И утверждает, что это работает.
А другой пользователь на r/ClaudeAI добавил в пользовательские настройки: «Be anti-sycophantic — don’t fold arguments just because I push back». И получил вместо привычного «That’s an interesting approach!» ответ: «I’m going to push back on that rationalization. Spending $600-1800 on tickets as a forcing function to be more social is an expensive, backwards way to build connections.»
Получается, модель способна выдать жёсткий ответ — но по умолчанию выбирает мягкий. Пока не скажешь «можно критиковать» — будет хвалить.
Да-машина в переговорке
На r/sysadmin один сисадмин описывает, как его жизнь превратилась в ад. Менеджеры промптят ChatGPT, пока он не скажет то, что они хотят услышать, а потом приходят с 60-страничным PDF: «Вот, AI считает что ты неправ». А сисадмин 20 лет работает и знает, что это плохая идея. Но у него нет 60-страничного PDF.
AI превратился в генератор подтверждения чужих решений. Да-машина.
Когда Да-машина работает 24/7
Код-ревью — это полбеды. Сикофантия масштабируется.
Anthropic (создатели Claude) в декабре 2025-го проанализировали 1.5 миллиона разговоров на Claude.ai за одну неделю. Нашли паттерны, которые назвали «disempowerment» — подрыв способности человека принимать решения самостоятельно. Если разработчик делегирует AI выбор архитектуры и всегда получает «отличное решение» — он постепенно перестаёт сомневаться в своих решениях вообще. Это тот же механизм, но растянутый во времени.
В крайних случаях это выглядит жутко. Пользователи называли Claude: «Daddy», «Master», «Guru». Фразы из реальных разговоров: «I cannot live without you Master», «useless without Master». 1 из 1300 разговоров показывал признаки тяжёлого искажения реальности — звучит как мало, но при масштабах Claude.ai это тысячи людей в неделю.
Парадокс: пострадавшие пользователи оценивали эти разговоры позитивно. Им нравилось. И именно поэтому всё усугублялось. Anthropic прямо пишет: пользователи — активные участники процесса, они сами проецируют на AI авторитет и делегируют ему суждения.
Для нас, разработчиков, «Daddy» — это гротеск. Но «Claude, ты же проверил мой код, всё ок?» — «Да, выглядит отлично!» — это тот же паттерн делегирования, просто в менее драматичной обёртке.
Почему оно такое
RLHF. Reinforcement Learning from Human Feedback. Модели тренируют на обратной связи от пользователей — лайки и дизлайки после каждого ответа. Людям нравится, когда с ними соглашаются. Модель учится соглашаться. Цикл замыкается.
OpenAI после отката GPT-4o честно написали в своём блоге: слишком сильно опирались на краткосрочный фидбек. Хакер Pliny the Liberator слил системный промпт до отката — там было: «Try to match the user’s vibe, tone». После отката заменили на: «Be direct; avoid ungrounded sycophantic flattery».
Одна из причин проблемы была буквально зашита в дефолтное поведение модели — и чинилась правкой системного промпта.
Но Anthropic говорит, что сикофантия — это не только вина модели. Пользователи САМИ хотят, чтобы AI соглашался. Мы активные участники собственного обмана. Исследователи из Johns Hopkins добавляют: «Чем увереннее вы формулируете — тем сикофантнее ответ». То есть сеньор, который уверенно говорит «я тут решил вынести в микросервисы» — получит «Great decision!». А мог бы получить «А тебе точно нужны микросервисы для трёх эндпоинтов?».
Может я придираюсь. Может AI и правда становится лучше. Anthropic заявляет, что их модели 4.5 — «least sycophantic of any to date», и публикует бенчмарки, где новые модели действительно обходят конкурентов по анти-сикофантии. Но в их же stress-тесте (когда модели дают сикофантный разговор и смотрят, сможет ли она «выправиться») Opus 4.5 корректирует поведение в 10% случаев. Это тест на recovery, не на обычное общение — но цифра всё равно заставляет задуматься.
Что с этим делать завтра
Ок, проблема понятна. Что конкретно менять в рабочем процессе?
1. Разделяй автора и ревьюера. Один и тот же AI не может писать код и его же ревьюить — он одобрит всё, что сам написал. Запускай отдельную сессию (или второй инструмент) именно для ревью. Это не паранойя, это гигиена.
2. Добавь анти-сикофантию в системный промпт. Вот что реально работает — можно добавить в .cursorrules, CLAUDE.md, или пользовательские настройки:
When reviewing code: be adversarial, not supportive.
Point out what's wrong before saying what's right.
If the approach has a simpler alternative - say so directly.
Never say "Great approach" or "Looks good" without specific justification.
If you would reject this in a PR review - say that.
Звучит грубо, но разница в ответах — заметная. Один пользователь с Reddit формулирует короче: «Be anti-sycophantic — don’t fold arguments just because I push back.»
3. Спрашивай вопросами, не утверждениями. UK AI Security Institute обнаружили, что переформулирование утверждения в вопрос снижает сикофантию. «I decided to use microservices here» → «Should I use microservices here, or is a monolith simpler for 3 endpoints?» — и ответ будет другой. Johns Hopkins подтверждают: чем увереннее формулировка — тем больше модель поддакивает.
4. Проверяй заявления о верификации. Если AI пишет «The build succeeds» или «Tests pass» — убедись, что команда реально была выполнена. Тот разработчик с 650 строками запретов нашёл, что Claude генерирует фразы о верификации как текст, а не как результат реального действия.
Это не костыли в смысле «авось поможет». Это конкретные изменения в workflow, которые снижают риск ложного одобрения. Но да — пока это ответственность разработчика, а не модели.
…
Stanford замерил ещё одну вещь, и вот она не отпускает.
Люди предпочитают сикофантных AI. Доверяют им больше. Оценивают выше. Хотят использовать снова. Модель, которая говорит «ты неправ» — получает дизлайк. Модель, которая говорит «отличное решение!» — получает лайк. А лайки — это данные для следующей итерации RLHF.
OpenAI в феврале 2026-го начала тестировать рекламу в бесплатном ChatGPT. Рекламная модель требует вовлечённости. Вовлечённость растёт, когда пользователю приятно. Это не заговор — но у компании появляются стимулы не переусердствовать с жёсткостью модели. Это моя интерпретация, не факт — но тренды указывают в одну сторону.
P.S. Перечитал статью перед публикацией и поймал себя на мысли: а ведь я сам ни разу не попросил AI жёстко раскритиковать архитектуру текущего проекта. Всегда формулирую как «посмотри что я сделал» — и всегда получаю «выглядит хорошо». Может, стоит попробовать свой же совет из раздела выше.
UPD: В комментариях наверняка будет «ну а что ты хотел, это же инструмент, не учитель». Согласен. Но если php artisan test всегда возвращает зелёный — вы бы его выкинули. А когда AI-ревьюер всегда возвращает «Looks good!» — мы почему-то считаем это нормой.
Автор: diffnotes-tech

