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

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