Моя старая работа стала далёкой: один разработчик о том, как ИИ меняет труд
Крис из блога Pinecoder опубликовал личное эссе о том, как его старая работа стала далёкой. Это не манифест и не разбор технологий. Это честный пересказ одного разработчика: с чего начался переход от ручного кода к ИИ, как менялись инструменты и привычки, что оказалось мучительнее всего и почему работа теперь выглядит совсем иначе.
Стоит читать всем, кто ловит себя на мысли, что ИИ-инструменты «ещё не работают как надо» — потому что у Криса они отлично работают. И именно поэтому его старая профессия отдаляется.
ChatGPT как «лучший Google»
Первый ChatGPT Крис уже почти не помнит. Он читается как размытая полоса из нескольких обрывков. Главный из них такой: в какой-то момент ИИ стал для него лучше поиска. Это произошло примерно так же, как когда-то расцвёл Stack Overflow и результаты поиска по программированию перестали быть бесполезными.
Он пробовал ChatGPT по-разному, и коллеги всё время спрашивали: «Ты уже спрашивал у ChatGPT?» Его это раздражало. А потом — нет. Он привык, и ChatGPT стал отправной точкой по умолчанию.
Дальше пришёл следующий этап: копипаст кода. Обычно это были Ruby-спецификации, которые не хотелось писать руками. Крис описывал нужные идиомы или вставлял пример кода с новым поведением, а модель выдавала готовый результат. Это было намного быстрее, чем набирать всё в IDE.
Здесь автор честен с собой: он никогда не любил Ruby. Первые пять-шесть языков, которыми он пользовался в работе, он так и не выучил по-настоящему. Просто в какой-то момент он понял, что дошёл до своего предела, и стал считать нормальным откладывать «подтягивание» языка. ChatGPT дал ему выход из этой ситуации.
Cursor, чужой домен и первые галлюцинации
Следующая пара шагов пришла вместе: автодополнение в редакторе и копипаст в новой предметной области.
С автодополнением всё было естественно. Оно то помогало, то нет. Главное — оно было встроено в уже знакомый VS Code, который к тому моменту превратился в Cursor. Но настоящие подсказки Cursor не давал: он подхватывал только те паттерны, которые автор уже сам набрал. Рассчитывать на его «интеллект» Крис почти не мог.
По-настоящему полезной связкой стал ChatGPT с поиском. Крис перебрался во временный проект по компьютерному зрению на Python и не знал в нём ничего: границы и выравнивание новых объектов. Он одновременно искал в интернете, и превращал найденное в код. Модель выдавала код в его вкусе — иногда достаточно было одной строки или подсказки по нужному API.
Именно тогда он впервые столкнулся с галлюцинациями. И, что важно, научился их видеть. Для него они стали сигналом о границах модели: галлюцинации появляются на границе знания, и дальше пробел закрывать приходилось самому — разобраться, как работает плохо документированный кусок или то, что уникально для их задачи.
Одновременно с кодом он учил и API, и саму предметную область. «Я не могу представить, что мы бы так быстро зашли в проект по компьютерному зрению и выпустили рабочий результат без ИИ», — пишет он. И добавляет: это было будущее, в котором он отдавал контроль не полностью, а скорее избавлялся от мусорного SEO и плохо написанной документации.
Работа с агентами вместо промптов
Дальше пришла агентная разработка. Крис читал «Snorting the AGI» и реплику Карпати — и тогда это казалось ему полной бессмыслицей: о чём вообще эти люди?
Постепенно он перешёл от автодополнения к агентам и начал учиться работать в их границах. Это оказалось не столько навыком, сколько привычкой. Люди вокруг писали длинные промпты — больше похожие на списки пожеланий, — и Крис смотрел на это с удивлением: промпты выглядели странно, ведь авторы-то умеют программировать.
Когда он в какой-то день понял, что его подход с агентами — уже не трюк, а основной способ работы, он всё ещё помнил весь код проекта и проверял каждую строку. Количество merge-пул-реквестов росло, но часть из них возвращалась с замечаниями, и часть правок он вносил сам.
Отдельная деталь: рост продуктивности был отчасти настоящим, отчасти обманчивым. Крис признаётся, что часть высвободившегося времени ушла на код, который ему самому не нравился.
Opus 4.5 и 4.6: скорость вместо рутины
С выходом новых моделей уровень детализации, с которым приходилось описывать задачи, упал. Помогать модели «за руку» приходилось заметно меньше. Продуктивность, по его замерам на нескольких месяцах merge-пул-реквестов, выросла примерно втрое.
Число фич и качество полировки тоже выросли — больше не нужно было так жёстко ограничивать, что именно мы выпускаем. Идеи в голове стали выливаться наружу и оживать. Но главным узким местом оказались уже не задачи, а сами пул-реквесты.
Крис начал смотреть на чужой код иначе. Стандартные библиотеки, готовые компоненты и знакомые паттерны стали важнее, потому что с ними большую часть изменений можно было игнорировать: если код идёт по рельсам, цена ошибки невелика, а рефакторинг дешёвый. Взгляд перенаправлялся на другое: архитектура, ключевая бизнес-логика, код, который работает с клиентскими данными, и всё, что нельзя откатить назад — миграции базы, шифрование.
По сути работа свелась к тому, что важно, а всё остальное стало фоном.
Opus 5: качество растёт, а счёт и объём — тоже
На этапе Opus 5 заметнее стало другое. Код стал потихоньку лучше, с каждым новым витком правок становилось меньше, и иногда модель даже поправляла автора. Но эта фаза больше всего была про деньги и про многословие.
Крис ненадолго перешёл на ChatGPT: в его сценариях модели были почти равны, а ChatGPT оказался заметно дешевле, самостоятельнее и экономнее в словах. Он признаётся, что не доверяет OpenAI и потому предвзят, даже когда видит, что у конкурента местами лучше — например, интерфейс и голосовой режим. Но пока модель Anthropic была почти так же хороша (а вне ChatGPT 5.5 — обычно лучше), он возвращался обратно.
Opus 5.5: работа от плана, а не от ревью
С выходом Opus 5.5 Крис почувствовал себя «замороженным на нуле». Он много времени проводил в Twitter, смотрел, что люди придумывают, и пытался это понять.
И тут поменялось главное — не инструменты, а порядок мыслей. Он перестал думать о том, какое ревью он хочет провести, и начал думать о том, какую проверку качества он хочет получить. Старый план — «сначала спроектируй, потом реализуй по фазам» — ушёл. Новый вопрос звучал иначе: как далеко приложение может зайти, прежде чем возвращаться назад станет дороже, чем идти вперёд?
Архитектурные решения стали казаться обратимыми. Если интерфейс вызывает сомнения — пусть модель сделает ещё пару вариантов. Если есть три похожие идеи — пусть сделает все три. Можно ли это вынести в одну HTML-страницу?
Дальше появились артефакты с данными, инструменты, которыми ИИ отслеживает своё состояние и историю работы, диаграммы сгорания задач, пакетное исправление отчётов об уязвимостях, контроль производительности. Часть работы ушла в субагентов, а над ними поставился супервизор, который видит картину целиком.
Отдельно Крис описал смену стиля постановки задач. Раньше он диктовал подход: какие использовать наблюдаемые и оптимизации. Теперь достаточно было задать ограничение: «картинка должна обрабатываться за 150 миллисекунд».
Один из самых показательных эпизодов: он попросил модель перенести своё приложение заметок с Electron на iPhone — нативно, на Swift, с переписыванием всего, что нужно. Он только набрал идею, нажал Enter и отошёл. Через несколько часов он проверял новости на телефоне, и его прервало работающее (пусть и простое) приложение, установленное по сети — чтобы модель могла попросить его проверить качество. Оно израсходовало 40% его лимита в 5 часов на подписке за $20. Он импортировал в него все свои заметки. «Несколько минут я тупо смотрел на экран».
Что осталось важным
Крис честно признаёт: работа перевернулась. Он думает о будущем, но работает в настоящем. Чем быстрее он отпускает привычные способы работы, тем сильнее чувствует себя в своей силе.
Но остаётся вопрос, который не даёт ему покоя: как продолжать понимать код, если он меняется быстрее? Ответ — новые метрики, новые дашборды, новые инструменты — и для себя, и для модели. Инструменты, чтобы быстрее перебирать идеи, смешивать старые с новыми, понимать, что делают другие и как их работы состыкуются.
В финале он признаёт: старые способы работы он и скучает, и не скучает. Они чувствуются как вчера — и одновременно как что-то, что медленно уходит вдаль.
Старая работа не исчезла. Она просто перестала быть центром.