Почему я практически не использую промпты, а выбираю мантру

Когда ставлю задачу нейронке, то использую стандартный набор принципов, чтобы получить качественную работу. Это не промпт, а скорее мантра, которую вывел по итогам многих часов работы с моделями. Давайте подробнее.

Мантра такая:

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

Разбираем каждую часть. Изучение практик сообщества. Заметил, что Claude Code и Codex сразу начинают писать код, а не ищут свежие подходы в сообществе. База знаний нейронок обновляется с задержкой и если хочешь опираться на новые инструменты, то отправляй модель почитать интернет. Например, раньше разработчики по такой же логике ходили на StackOverflow.

Готовые библиотеки. Рассказывал, как заставлял нейронку заполнить в таблице место работы человека. Opus сразу предложил размечать глазами, хотя давно есть NER Natasha (Named Entity Recognition) - библиотека на русском корпусе, которая с высокой точностью находит в тексте названия компаний и имена людей. Модель изобретала свое решение, пока не сказал ей поискать готовые инструменты.

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

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

Корень, а не заплатка. Немного неожиданных сравнений. Бывает, что человек плохо себя чувствует и думает, что надо отдохнуть, но после отпуска лучше не становится. Потому что дело в щитовидке или в нехватке железа, то есть надо было исправлять первопричину, а не ехать отдыхать (даже если жена или любимый человек очень просит). С багами так же. Причина может сидеть в какой-то прошлой ошибке, и самое очевидное решение может просто сделать заплатку, а не исправить причину.

Все это я называю принципами разработки. Конечно, я занимаюсь вайбкодингом, и мой уровень далеко не сеньор. Но такой подход к разработке рано или поздно появляется в любой команде. Очевидно, лучше смотреть в корень, а не латать локальные дыры - как это любят делать начинашки или джуны.

Думаю, что со временем все агентные системы изначально будут работать на этих принципах, чтобы быть еще эффективнее.

А промпт - это разовая формулировка задачи. Этот подход использую, когда генерирую текст или картинку: от того, как написал промпт, зависит, что получишь в итоге. В разработке с агентом важнее принцип, как решать класс задач, а декомпозицию он делает сам.

#ВайбкодСметнева

А ты еще пишешь промпты?

🌚 Представь, что ты Денис Сметнев… 😈 Мантра и молитва