До чего дошёл прогресс (с) (восхищенно).
Новые модели LLM, типа Claude 3.7 делают простые проекты практически без ошибок, пробовал недавно решить одну свою проблему, когда не хочешь давать свои контакты где то в переписках, на форумах и т.д.), а как то обмениваться сообщениями нужно, причём лучше в одном инструменте - для меня это телеграм.
Короче, пошёл я в Claude и попросил:
привет. давай напишем проект на python, развернутый в докер-контейнере (докерфайл и докер-композ и .env настройки). телеграм бот, который позволит мне не давать свой прямой контакт, а будет принимать сообщения от пользователей и перенаправлять мне в формате: пользователь телеграмм с id таким то и именем таким то написал тебе то-то. сообщения должны храниться в базе mongodb, настройки бота должны быть в .env файле - токен телеграм бота,user_Id администратора (тот, кто будет управлять этим ботом и кому будет пересылаться сообщение от обратившихся), адрес и база подключения к монгодб. сценарий использования: я размещаю контакт бота в публичном пространстве, чтобы при необходимости связи со мной, пользователь писал этому боту, пользователь стартует бота, бот пишет приветствие, что это бот-ассистент и он передаст сообщения, пользователь пишет телеграм боту (или направляет фото/файл), бот отвечает, что сообщение будет передано хозяину. бот пересылает сообщение мне и сохраняет сообщение и отправителя в базе монгодб. у администратора бота (тот, кто будет указан в .env) должна быть возможность получать все сообщения от пользователей, написавшим боту, блокировать пользователей, которые будут неадекватно вести себя, получить сообщения, которые были направлены (запросом в базу монгодб), получить список заблокированных пользователей и управлять этим списком (удалять из заблокированных). если требуется еще что то прояснить по проекту, задавай вопросы. если есть какие-то идеи, которые позволят улучшить функционал - напиши их так же, если есть какие то идеи по используемым инструментам, напиши также идеи, описав их плюсы/минусы, в сравнении с тем, что я предложил потом сформулируй ТЗ для команды разработчиков, описав стек, функции, архитектуру проекта
И таки да, Клод выдал сразу портянку файлов с кодом. Закинув их все на сервер, запустил и протестировал функционал, одну неточность в работе заметил, попросив исправить:
хм....вроде все работает, но сообщение мне как администратору не приходит. то есть, я могу проверить сообщения, там будет от пользователя в базе, и когда я через бот запрашиваю список сообщений, все выдается правильно, но в момент отправки от пользователя - мне в чат с ботом ничего не приходит мгновенно это сообщение, добавь, плиз
И да, исправленный код вполне себе запустился и работает как нужно.
То есть - поставил задачу, обсудил стек и реализацию, проверил код и вуаля - оказывается, для такого простого инструмента не нужно обладать огромными знаниями в программировании.
Да, возможно, уже есть боты с таким функционалом на гитхабе, да, возможно код неидеален или будет с какими то ошибками, которые выявятмя позже, но блин, в две итерации получить решение, которое будет работать - я прямо в восторге.
Это явление (когда часть работы делает для тебя LLM назвали вайб-кодинг, типа программирование на расслабоне, и тут я согласен - вообще не напрягался 😁.