Ответ на пост «Нейросети против открытого кода: Malus автоматизировал легальный обход лицензий»
Для ЛЛ: генерю куски кода для проекта в 250 строк и уже задолбался.
Забавно...
То есть по сути, вкратце: берём исходник, генерим по нему ТЗ и по полученному ТЗ пишем код с нуля? В приципе - логично, да...
Интересно, как в дальнейшем ИИ реализует поддержку (фидбэк) своего же кода. Все эти багрепорты и issue... В частности, как будут реализованы все, зачастую бредовые пожелания к улучшайзингу "от начальства"... ну, вы же знаете про "поиграться фонтами"... Так как ИИ, как уже многократно писано, зачастую ориентированы на удовлетворение ЛЮБЫХ потребностей и клиент всегда прав... во что это, интересно, выльется?
Примерно с месяц как я таки не удержался и начал пользоваться гугл-ИИ для генерации кода. Реально удобно. Не надо перекапывать кучи форумов и т.п. Задача была раcпарсить логи Tasmota напрямую с ZBBridge. Без использования MQTT. Хочу сделать вывод данных с подключенного к системе датчика т-ры/влажности на "ESP32-C3 с 0,42-дюймовым OLED-модулем". То есть тут нет особых возможностей для работы с сокетами, воркерами, докерами и т.п. Поэтому опрашиваю мост и парсю лог ответов. Хочу получить предельно простой, короткий код, чтобы впоследствии беспроблемно портировать его с TS в ардуино-скетч.
Совершенно очевидно было воспользоваться для парсинга регулярками. Программирую уже очень давно, но регулярки я так и не освоил. Это выше моего понимания. Тупой я, да. Так вот.
Чтобы обработать строчку вида,
09:16:21.976 RSL: SENSOR = {"ZbReceived":{"0xE1FB":{"Device":"0xE1FB","Temperature":22.43,"Endpoint":1,"LinkQuality":79}}}
ИИ переписала регулярку раз 20.
Первый вариант:
const regex = /"0xE1FB":\{"Device":"0xE1FB".*?"Temperature":([\d.]+),"Humidity":([\d.]+)/;
После целого ряда тестов, уточнений, пожеланий и переделок получилось вот что:
const pattern = `(\\d{2}:\\d{2}:\\d{2}\\.\\d{3}).*?(\\{"(?:ZbReceived|ZbInfo)":\\{"${device_id}":\\{.*?\\}\\}\\})`;
После чего получаем пачку JSON-ов. Для дальнейшей обработки, да.
Ну, в приницпе, дареному коню и т.д.... Но что я заметил: из 20 вариантов, рабочих было примерно треть. То есть всё красиво, почти работает, но... После уточнений и дополнений регулярка каждый раз получается кардинально новая. Даже на просьбу доделать уже существующее, я получаю абсолютно новую сигнатуру. При этом я запускаю полученное, получаю ерунду, шлю ИИ фидбэк и получаю (!!!!!)
- Да, вы абсолютно правы, я ошиблась, тут не хватает пары фигурных скобок....
В результате я не пишу код, а занимаюсь тестированием написанного ИИ кода и пространными пояснениями почему он не работает... Причем сэкса стало на порядок больше. Я не стал меньше сидеть за компом. Отнюдь. у меня есть такой микроанализатор моей активности за компом.
Статы обычного рабочего дня:
𝖚𝖑/𝖉𝖑: 94.3M / 392.1M 𝖉𝖆𝖞: 54
Ping: 0.010 / 0.041 Avg: 0.011
Click Mouse/Key: 2 095 / 11 065
MouseTravel: 111.97 m
Статы при работе с ИИ:
𝖚𝖑/𝖉𝖑: 172.1M / 1.8G 𝖉𝖆𝖞: 60
Ping: 0.011 / 0.077 Avg: 0.014
Click Mouse/Key: 4 635 / 21 924
MouseTravel: 228.48 m
Весь код ПРОЕКТА - 250 строк. С комментариями. Результаты работы, лог.
🌡21.92 💧30.78 🔋100 📶94
💧31.86 (+1.08) 📶84 (-10)
💧30.76 (-1.1)
🌡22.43 (+0.51) 📶79 (-5)
Так вот к чему я это всё: этот "мегапроект" я пилю больше двух недель... И мне интересно, сколько придется дорабатывать и допиливать сгенеренный код чего-то посложнее... Как мне думается, на программистах они, конечно же, сэкономят. 7 секунд, 13 секунд... Халява же, сэээр... Но они там, как мне кажется, буквально разорятся на бэта-тестерах...
И вот всеми любимые "уязвимости"... Интересно - ИИ будет пользоваться рецептами обхода существующих и известных, обнаруживать и решать такие вопросы сама или нагенерит тысячи новых?...
А учитывая их любовь к генерации всего кода заново, даже после небольших корректив, проект будет каждый раз отличаться? Архитектура, названия методов, структура... Сегодня ты тестировал модуль мойДейвайс, а после правок "размера фонта" через 10 секунд ты уже будешь работать с "загогулина_От_Дяди_Ляо_GmBh"?...
Не, ну поживём увидим... Но мне проще писать код самому. Меньше приходится о нем рассказывать.
Нда... растёкся я мыслью по древу... Надо попросить ИИ переписать пост... какой-то он некликбейтный...
