Вайб-кодинг как хобби. Генератор вопросов. ai.. ai. chatgpt.. ai. chatgpt. deepseek.. ai. chatgpt. deepseek. vibecoding.. ai. chatgpt. deepseek. vibecoding. искусственный интеллект.. ai. chatgpt. deepseek. vibecoding. искусственный интеллект. исскуственный интеллект.. ai. chatgpt. deepseek. vibecoding. искусственный интеллект. исскуственный интеллект. Ненормальное программирование.

С появлением нейросетей, я смог реализовать свою небольшую мечту, а именно написать нагенерировать свою собственную программу, а точнее игру-викторину – Human vs AI Которая не только запускается и работает, но и люди в нее играют.

Вайб-кодинг как хобби. Генератор вопросов - 1

Дисклеймер: Весь текст ниже – это скорее эмоции мужика от новой игрушки, которая работает. Прошу относиться к этому тексту несерьезно и с иронией, т.к. он написан ни разу не программистом.

Очень коротко обо мне: По образованию я инженер ТГВ, нигде не учился программированию, мои познания в IT – это переустановить Windows XP соседке, редактор карт War3 и Her3 и немного знаю, как работает xml формат (когда-то хотел запускать свой ИМ), ну да, еще смотрел на YouTube “Пайтон за 30 минут”, “Нейросети за 1 час”, “Рельефный пресс за 1 неделю”.

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

Вдохновленный своей гениальной идеей, я ринулся сразу же реализовывать проект. Установил Питон (с 1 раза), установил VSC (не с 1 раза), попросил ChatGPT сгенерировать программу и сразу обосрался получил опыт, когда дело дошло до виртуального окружения и установки зависимостей. Изучив, что такое venv, я таки смог запустить бота, вопросы генерировались напрямую через API OpenAI, т.е. бот направлял запрос к API с промтом, ИИ генерировал вопрос, скрипт распарсивал вопрос и направлял его в ТГ пользователю. На все про все уходило минимум 30 секунд, а то и больше. Задержка меня явно не устраивала, но я получил важный инсайт:

Первый инсайт: Это работает! При помощи ИИ можно писать программы! Может, я когда-ни будь напишу свою GTA 6?

Что я зря учился 5 лет на инженера? Мозг начал думать и придумал, а давай просто заранее нагенерируем много вопросов и будем их направлять пользователю? А давай. Поздравляю, гениально! Снова ощущаю вдохновение, хвалю себя за то, что нашел новое решение проблемы, пока мне ChatGPT не говорит: давай вопросы хранить в json формате! Что? Что такое json? А нельзя их в txt завернуть? (хотя вот сейчас понимаю, что в целом можно и в txt было, но это было бы какое-то извращение). В общем, принялся за изучение json, оказалось, что все просто. Хотя, все всегда просто, когда ты уже ⬇ шаришь в теме ⬇

ChatGPT предъявляет мне, что я не знаю, что такое json

ChatGPT предъявляет мне, что я не знаю, что такое json

Тут для меня открылся еще один инсайт. Во время учебы, всегда напрягало, что я не могу у учебника спросить что-то, что мне было не до конца понятным. Даже гуглеж не всегда давал точного разбора интересующего меня вопроса, а сейчас тебе достаточно спросить у ИИ, что такое json? И ИИ тебе разъяснит все и разжует, а если ты что-то не понял, то ты можешь у него уточнить и еще раз спросить. Эх, мне бы такую технологию в 2010 году…

Второй инсайт: ИИ может быть отличным учителем в новой области, но, наверное, до определенного уровня экспертности!

Изучил я json ровно в том объеме, чтобы понимать его структуру и предназначение массивов и ключей. И начался процесс генерации вопросов, 0, 1, 2, 3, 5, 8, 13, 21, 34, 55 вопросов, СТОП! Рассматриваю под лупой, что там нагенерировал ИИ и, в целом, результат неплохой. Вопросы достаточно интересные и разнообразные. Запускаю снова скрипт, генерируются вопросы и тут я понимаю, что много дублей не только символьных, но и смысловых.

Почесав затылок, придумал решение – заранее подготовить темы для вопросов, чтобы ИИ не придумывал вопросы хаотично, а строго следовал заданным темам. В очередной раз поймал экстаз от своей гениальности. Прошу ChatGPT составить список тем и внедрить их в код в качестве переменной. Так появился конфиг файл с темами, их можно посмотреть тут. Снова запускаю скрипт и через какое-то время у меня самые разнообразные вопросы, на разные темы.

Но тут снова возникла проблема, запуская скрипт каждый раз (1 итерация), ИИ как будто генерирует вопросы по одним и тем же шаблонам и по какому-то заранее сформированному неоговоренному порядку, как будто бы то, что ближе в памяти по расстоянию к ключевым вопросам, он и выдает первым. Например: Ты даешь тему: Кино СССР, а он генерирует одни и те же вопросы на эту тему, но с разными формулировками, но опять же не всегда. Может, кто-то объяснит мне, почему генерируются одни и те же вопросы? При этом у GigaChat с этим вообще беда. Было потрачено 2 000 000 токенов, уникальных вопросов сгенерировал всего 700 шт, потратил 3900 рублей. Где-то я явно что-то делаю не так.

Пожаловался ЧатуГПТ на ЧатГПТ обо всём этом, и ЧатГПТ предложил встроить систему проверок вопросов.

Первоначальная проверка, цитата от ИИ:

  • Поддерживает кэш существующих вопросов, загруженных из выходных файлов.

  • Использует комбинацию MD5-хеширования (после нормализации текста и удаления стоп-слов) для быстрой проверки и SequenceMatcher для сравнения коэффициента схожести, чтобы избежать генерации или сохранения дублирующихся или очень похожих вопросов.

Вторая проверка – смысловая:
Скармливаю нейронке на локальной машине вопросы, она сравнивает каждый новый вопрос с эталонной базой вопросов, если вопрос новый, то он добавляется в общую базу вопросов.

Вот так и получилось, что ИИ написал скрипт, по которому ИИ проверяет вопросы сгенерированные ИИ.

Все это время мне генерировал код ChatGPT, но в один момент он начал не справляться со своей задачей. Я решил добавить в вопросы уровни сложности, четко обозначив критерии (их можно посмотреть внутри кода) для каждого из уровней сложности. Получилась следующая формула: N кол-во тем * 3 уровня сложности * n итераций. И почему-то ChatGPT никак не мог сгенерировать рабочий код для такого рода формулы. Положив руку на сердце, сообщаю: В тот момент все было как в тумане, мозг был увлечен новыми знаниями, эйфория нахлынула, серотонин распирал черепную коробку и мыслей, что я буду писать когда-то этот текст для Хабра не было. Я не фиксировал, в чем конкретно была проблема и почему было все криво. В какой-то момент я просто плюнул на ChatGPT и закинул код с задачей в DeepSeek, он мне выдал полностью код, скопировал его в файл и у меня заработало все сразу и как надо. Так я перешел на работу с ChatGPT на DeepSeek.

После перехода на DS, разработка стала дольше, но более качественной. Код правился и генерировался, чаще всего рабочий, но в разы дольше и иногда нейронка забывала закрывать код скобками, что в целом для меня было полезным опытом. А еще DS чертов лентяй! Я хочу ctrl-A копи ctrl-A паст, а он мне функции только переписывает и говорит куда их вставить, а это уже ctrl-F функции, глазками все нормально вставить, скобочки проверить и отступы настроить. Не царское это дело! Но, что бесило больше всего, так это: The server is busy. Please try again later. Иногда доходило до 20 повторений запросов. В итоге, я смог получить полноценный код, который работал и, главное, выдавал результат, который меня устраивал.

Далее работа пошла над адаптацией кода под разные API. Сейчас по прошествии достаточного кол-ва времени, у меня в базе более 8000 вопросов от 4 разных ИИ, а именно: ChatGPT, DeepSeek, GigaChat и Yandex-GPT. Код генератора вопросов для работы с DeepSeek я выложил на github в публичный доступ.


Еще два инсайта:
Я сначала возненавидел linux, а теперь с каждым днем наша с ним любовь крепчает. Пока еще ненавижу nano, и мне кажется, это взаимно.

Я начал понимать чуть-чуть ITшный юмор.

Автор: Derrr

Источник

Rambler's Top100