Приготовить стейк требует почти никакого умения.

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

Разработка софта с помощью AI начинает ощущаться очень похоже.

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

А чего хочется на самом деле?

Хочется идеального стейка.

Хочется софта, который работает, выглядит хорошо, ощущается отполированным и получается именно таким, как задумано. А главное — хочется одинакового результата каждый раз.

Получается ли это?

Не каждый раз. Даже близко не каждый раз.

Иногда модель выдаёт что-то на удивление хорошее. А иногда подаёт уголь с веточкой тимьяна сверху и с полной уверенностью называет это medium-rare.

Что делать в такой ситуации?

Идти в ресторан.

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

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

Большинству хочется создать с помощью AI что-то важное для себя, не увязая в деталях реализации. Хочется относиться к модели как к профессиональному шефу, работающему на собственной кухне: сказать, что нужно, отойти, вернуться, когда ужин готов.

Но AI — не шеф-повар. В лучшем случае это машина для готовки стейков.

Она способна следовать рецепту. Следить за температурой, переворачивать в нужный момент, добавлять масло. Дать ей достаточно инструментов и инструкций — и процесс будет повторяться быстро и в огромных масштабах. Чего она не умеет — понимать, что действительно нужно.

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

В какой-то момент, устав от разочарований, приходит решение просто заплатить за стейк мечты.

Выбирается дорогой ресторан. Садишься, изучаешь меню, наконец-то можно заказывать с настоящей уверенностью. Ждёшь первый кусок.

Приносят тарелку.

Тот же самый сгоревший стейк, что готовился дома.

Почему? Потому что каждый ресторан в городе нанял одного и того же AI-повара.

«Оптимизация затрат», — говорит руководство. — «Большинство не заметит».

И, скорее всего, оно право. Большинство действительно не заметит. Чаще всего софту достаточно быть просто приемлемым. Пользователи терпят странные интерфейсы, бессмысленные функции, непонятные баги, системы, скреплённые сгенерированным кодом, который никто на самом деле не понимает.

Но заметит тот, кому это важно.

Заметит, потому что это было то, что действительно хотелось создать.

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

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

В какой-то момент зависимость от удачи прекращается — урок выучен на собственном опыте.

С софтом всё работает точно так же.

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

Чтобы делать хороший софт с помощью AI, всё равно нужно понимать софт.

Нужно знать, что именно спрашиваешь, как оценивать полученный результат и когда машина просто уверенно подаёт уголь.

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

А затем стать достаточно хорошим, чтобы открыть собственный небольшой ресторан.

А потом нанять несколько AI-поваров. Большинство всё равно не заметит разницы.

Но кто-то заметит.