Главная
Серии Обо мне Подписка
Хватит кормить меня AI-помоями

Хватит кормить меня AI-помоями

Теперь я вижу это везде. Код-ревью. Проектные предложения. Технические спеки. Сообщения в Slack. Посты в LinkedIn, где каждое предложение будто мариновали в одном и том же корпоративном бульоне из чуши. Посты в блогах, которым нужно 2000 слов, чтобы донести одну мысль, влезающую в твит.

AI-помои — определяющая эстетика профессиональной коммуникации 2024–2026. Я вижу их в опенсорсных репозиториях, в Slack-сообществах, в документах друзей из других компаний и в собственной очереди на ревью.

И мне надоело делать вид, что всё нормально.

Да, я постоянно пользуюсь AI — я пишу это с открытой вкладкой рядом. Это не наезд на AI. Это наезд на лень.

Проблема не в AI

Я не бешусь на AI как на инструмент. Я пользуюсь им постоянно — он набрасывает черновики, рефакторит и помогает продумать задачу вслух, когда рядом нет коллеги, чтобы поговорить с резиновой уточкой. С инструментом всё в порядке. Он даже отличный.

Проблема начинается, когда человек перестаёт думать и просто… делегирует. Когда AI не усиливает твои мысли, а заменяет их. И проблема становится ещё большей проблемой, когда результат этого делегирования падает мне в инбокс, в ленту и в каждый технический документ, к которому я прикасаюсь, — и мне с этим разбираться.

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

А когда начинаешь давить, задаёшь уточняющий вопрос, пытаешься добраться до реального решения за документом — автор замолкает. Или присылает ещё абзацев, сгенерированных AI. Или прямо признаётся, что сам не читал то, что тебе отправил. Потому что он это не писал. Он это напромптил и не потрудился переварить вывод.

Вот тут я выхожу. Если весь твой вклад в техническую дискуссию — это копипаста из ChatGPT или Claude, что именно ты добавляешь? Ты в этом обмене — совершенно лишний, дорогой, медленный и ненадёжный посредник на мясной основе. Я лучше поговорю с LLM напрямую — она хотя бы связно отвечает на уточняющие вопросы.

Ценность человеческого общения — в выжимке. Я полагаюсь на тебя, потому что ты якобы думал над этой задачей неделю. Ты якобы упёрся в тупики, в которые я не упирался. Когда ты делаешь работу, добываешь знание и связно про него рассказываешь, ты даёшь мне концентрированный сигнал, на котором я могу строить дальше. Когда ты отдаёшь на сторону и мышление, и письмо, я получаю не помощь, а домашку: помимо чтения твоего пятнадцатистраничного документа с помоями мне теперь ещё и думать за тебя.

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

Больше всего вреда я вижу в проектных документах. Хороший дизайн-док — это артефакт реального мышления. Он показывает, что ты понял задачу достаточно, чтобы рассмотреть несколько подходов, часть отбросить, один выбрать и объяснить почему. Само написание — это место, где значительная часть проектирования и происходит. Ты начинаешь писать «возьмём для этого Kafka», потом тебе надо это обосновать, и ты понимаешь, что не можешь, и в итоге переделываешь всю схему. Вот так процесс и работает.

Дизайн-док, сгенерированный AI, пропускает это целиком. Ты получаешь красиво структурированный документ со всеми правильными разделами — контекст, требования, верхнеуровневая схема, рассмотренные варианты — и всё это набито правдоподобно звучащим содержимым, которое никто не продумывал. Раздел «рассмотренные варианты» особенно вопиющ. Там будет три альтернативы с поверхностно разумными компромиссами, не имеющими никакого отношения к твоим реальным ограничениям. Вопреки названию, никто эти альтернативы не рассматривал. Потом документ утверждают, потому что он выглядит обстоятельным. Через полгода кто-то это внедряет, упирается ровно в те граничные случаи, которые никто не продумал, а автор документа не может объяснить решения, потому что он их не принимал.

С PRD (Product Requirement Docs) та же история. Я видел документы с требованиями к продукту в разных командах и компаниях, которые по сути являются пересказом фичереквеста со структурой, добавленной AI. Никаких размышлений о граничных случаях, никакого сигнала о том, что продакт на самом деле считает важным, никакой приоритизации, отражающей настоящее суждение. Просто вывод промпта с заголовком и тикетом в JIRA.

Комментарии на код-ревью получают то же обращение. Видишь многословное объяснение паттерна, технически корректное и не имеющее отношения к конкретному ревьюимому коду. Общее. Могло быть оставлено под любым PR в любой кодовой базе. Ревьюер не думал над твоим кодом. Он попросил AI прокомментировать и вставил результат.

Maintaining AI code

Инструмент против замены

Хорошая новость: есть версия всего этого, которая проблемой не является. Я сам постоянно использую AI, чтобы писать быстрее. Я продумываю архитектуру, набрасываю ключевые решения, а потом прошу AI написать прозу. Мышление моё. Язык — с помощью. То, что ты от меня получаешь, по-прежнему моя выжимка — просто произведённая быстрее (и с меньшим числом грамматических ошибок).

Вот это, на мой взгляд, правильное использование инструмента. А когда ты не сделал мышление и используешь AI, чтобы сымитировать видимость сделанного, ты подменяешь себя и свою работу симулякром. Это подлог.

ChatGPT fraud

Хитрость в том, что путь между этими двумя вещами очень короткий, а стимулы указывают не туда. Написать настоящий дизайн-док трудно и медленно. Написать промпт легко и быстро. Если ревьюеры не отличают — а они часто не отличают, по крайней мере на поверхности, — то зачем стараться?

Результат — постепенная эрозия. Планка сдвигается. Средний уровень технической коммуникации медленно деградирует, и никто этого не называет вслух, потому что по отдельности всегда «сойдёт». Пока не перестанет сходить.

Опасная часть

Думай об AI как об усилителе. Инженер-двухкратник с AI становится пятикратником или десятикратником. А инженер, у которого суждение со знаком минус? AI усилит и это — ровно так же. Плохие решения принимаются быстрее, выглядят отполированнее и спорить с ними тяжелее, потому что они завёрнуты в уверенную, хорошо структурированную чушь.

0.1 engineer

Большая часть этого просто раздражает. Но кое-что уже по-настоящему опасно.

Когда инженер мержит код, который не может объяснить, — это проблема, и она была проблемой задолго до нынешней эпохи LLM. Но раньше инженер хотя бы обычно понимал большую часть написанного. Сейчас я вижу PR — в опенсорсе, в рабочих кодовых базах, в пет-проектах, которые друзья просят посмотреть, — где автор явно сгенерировал реализацию, добился зелёных тестов и выкатил. Он не может провести меня по логике. Не может объяснить, почему принял именно такое решение в обработке ошибок. А когда это ломается той же ночью, кто-то сидит на он-колле с раннбуком, который тоже сгенерирован, и разбирает код, которого по-настоящему никто не понимает.

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

Чего я на самом деле хочу

Используй AI. Отличный инструмент. Но сначала думай.

AI может помочь донести то, что ты думаешь. Он не должен думать за тебя. Если ты используешь его, чтобы сымитировать мышление, которого не было, люди на принимающей стороне это заметят. Умные замечают сразу.

В следующий раз, когда это случится, смело отправляй им: yousentmeaislop.com.

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

Пятнадцатистраничный документ, сгенерированный AI, не даёт мне ничего, чего не дал бы тридцатисекундный разговор. Только читать его мне 45 минут, и по итогу я знаю о твоём реальном мышлении меньше, чем до начала.

Чтобы совсем упростить, вот схема:

Decision with AI

Хватит кормить меня помоями. Сначала думай. Потом пиши. AI используй для второго.

Liked this? I publish one deep-dive every other Tuesday.

Join 4,000+ engineers. No sponsors.

Get the newsletter

Понравилось? Вот что ещё стоит почитать:

Паттерны проектирования — отстой

Основы доверия в инженерии

Вопросы для собеседования на Python для Mid-level разработчиков