Говно на палке

В апреле 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!» - мы почему-то считаем это нормой.