Скажу сразу — я не программист. Но ручки то чешутся что‑то написать — так ко мне пришла мысль попробовать написать что‑то относительно простое с помощью нейросети.
Что ж, погнали.
Выбор инструмента
Сперва я наивно думал что придется общаться напрямую с тем же chatgpt или claude, и потом собирать ручками куски воедино. Оказалось что нет, существуют целые IDE в которые интегрирована нейросеть и которая так или иначе может генерировать сразу цельное приложение.
После некоторого изучения, я выделил две таких IDE - Cursor и Windsurf. Немного поизучав, остановился на втором - в целом особой разницы нет, они обе сделаны на базе VS Code, но Windsurf показался удобнее.
Первые попытки
Как это выглядит (в теории) - ты пишешь промт в чат IDE, и она пишет код за тебя.
Иногда это даже работает:

Но так бывает далеко не всегда. Сразу скажу — если вы надеялись что оно сделает всё за вас то нет, не сделает. Код читать приходится всё равно. Я думаю, все слышали про так называемые галлюцинации нейросетей — так вот, здесь оно заметно особенно сильно.
Система периодически забывает что ты раньше говорил, удаляет рандомные куски кода, либо же добавляет их. Либо вообще забывает какая у тебя архитектура и пишет код несовместимый с тем, как приложение будет исполняться (например, хранит в памяти какие‑то вычисленные значения у stateless приложения).
В целом, это бы ладно ещё. Фееричнее другое — периодически система начинает придумывать работу сама себе. Буквально — ты ей говоришь «сделай мне функцию А», а тебе в ответ «я сделала функцию А как ты просил, а еще тут порефакторила, нашла баг вон там, а еще вот тут переписала функцию ну просто потому что» и ты смотришь на это и просто не понимаешь что происходит и зачем.
Что самое смешное, один из самых моих частых запросов в чате с IDE — это фраза в духе «ты нахрена это сделал? я не это просил» — в ответ нейросеть приносит извинения и идет переделывать. В целом, конечно, похоже на людей...

Как получилось в итоге заставить это работать
После бесчисленного количества экспериментов я выработал для себя подход как заставить нейросеть в IDE генерировать то, что мне нужно, примерно в 4 из 5 случаев, плюс-минус.
Чтобы это происходило, я:
в промте описываю не только что я хочу, но и указываю детали реализации, вплоть до имен переменных.
указываю на что обратить внимание, например "помни что приложение двуязычное и обновляй тексты на обоих языках". Без такого указания, как в примере, бывает что она забывает это сделать.
пишу что-то вроде "сделай минимальное изменение" или "сделай точечное изменение в функции такой-то" - это сильно снижает риск что нейросеть пойдет сносить или добавлять рандомные куски кода.
в Windsurf есть функция память - вписываю туда базовую информацию об архитектуре приложения и т.п. - помогает избежать того что нейросеть внезапно решит что всё должно быть не так.
Что я написал
Решил начать с простого — с Телеграм бота.
Для меня было удивлением, что нейросеть знает что такое Телеграм и какие библиотеки для ботов существуют — собственно, одну из библиотек она мне и предложила.
Далее, хостинг — нейросеть мне расписала как захостить моё приложение (мне нужно было на AWS), и даже создала скрипты для деплоя.
В конечном итоге, мне не пришлось объяснять что такое Телеграм и зачем у него боты и что они умеют — у нейросети уже было это знание. Я выдавал промпты по описанной выше схеме, получал в ответ код, тестировал, закидывал ошибки в чат в IDE — и так по кругу до победного результата.
Что у меня получилось в итоге, спросите вы?
Что ж. Я решил если экспериментировать — так по полной, и решил сделать бота с раскладами Таро. А почему бы и нет, собственно?:)
Для желащих потестировать — вот ссылка.
Что в итоге?
Вышло полноценное приложение, работающее в облаке, использующее все необходимые мне функции Телеграма, удалось добавить даже оплаты новомодным методом — звездами телеграма.
Что ж, можно считать что будущее — вот оно. Я написал рабочее приложение не зная конкретный язык программирования (и заодно подучил его по пути), выступая просто в роли продакт овнера который формирует идею продукта и отдает её исполнителю.
По сути, так заказная разработка и работает — я даю идею, получаю приложение. Именно так у меня и вышло.
Буду рад обсудить в комментариях саму идею, ну и получившегося таро бота конечно же тоже!