Архив метки: it

Про ИИ

Несколько дней сижу, развлекаюсь (с пользой для хозяйства) вайбкодингом. «Вайбкодинг» — это, если кто еще не, такое «слово года». Это программирование с использованием ИИ, когда вместо, собственно, того, что программисты делают программируя программы, ты просто описываешь то, что ты хочешь получить. Вот прямо словами через рот. Вот реально, да, прямо вот так. «Сделай мне базу данных для учета таких-то событий, чтобы я мог получать оттуда такие-то данные в таком вот виде». Или: Мне нужен прибор, который в таких-то условиях собирает такие-то данные. Выбери на алиэкспресс нужные компоненты, сделав оценку по стоимости и характеристикам, соедини их в нужном порядке, напиши программу, получающую данные, и выводящие их в виде вебстранички на такой-то сервис, да, сервис тоже напиши, чо уж там. Пример чего я хочу вот такой (приложена картинка снятая на телефон), результат вывода примерно такой (приложен эскиз нарисованный фломастером на салфетке).
Кстати «словами через рот» теперь тоже можно, оно и речь распознает.

И это реально работает. Несколько дней развлекаюсь с не-фавритом в этой области даже, китайским Deepsek. Так получилось, что они сделали легко устанавливаемый «верстак», или как это принято сейчас называть harness, готовую программу, для «полного цикла». В принципе сейчас это умеют почти все, но у большинства, у Anthropic Claude, у Grok, у OpeAi это все предполагает подключения платного плана, порядка 20$ в месяц, а я хотел попробовать, без «планов» и подписок, так что я бросил Дипсику 10 долларов, и этого хватило довольно на многое.

Deepseek это такой крепкий середнячок, в свое время наделавший много шуму, показав (или вернее «заявив»), что разработать топовый AI можно за, буквально, долю от того, что принято считать необходимым у «грандов», таких как OpenAI. Так это или не так — остается предметом дискуссии, все что делется в Китае может иметь солидную «подводную», невидимую часть. Тем не менее, продукт есть, стоит недорого, отчего бы не попробовать.

Я тут дома досугами развлекаюсь с домашней автоматизацией. Не столько по нужде, сколько «ради интересу». Есть у меня Home Assistant, недавно к нему добавился дочерний сайд-проект Music Assistant, всякие датчики, сенсоры, автоматизация, ESP32, Zigbee, в общем, кто знаком — поймет про что я.

И вот у меня была пара идеек сделать что-то на ESP32, но во-первых не хватало знаний, а во-вторых — лени как раз хватало, даже с избытком. Но в деле вайбкодинга главное — это не умение, которого вполне может не быть, а идея. Умеешь ее сформулировать — уже программист. Давайте попробуем.

Во-первых, я взял на гихабе готовый проект стримера музыки из упомянутого Music Assistant, и сделал в нем кое-какие модификации под свои нужды. Заработало. Понравилось. Дай, думаю, сделаю чтобы не только музыка играла, но сделать к этому отдельный выносной экранчик, чтобы на нем показывало обложку воспроизводимого альбома, писало бегущей строкой название, а на еще оном экранчике чтобы прыгал индикатор в стиле светодиодных «столбиков» японского кассетника. Вот тебе, дипсик, картинка такого индикатора, в виде:

Говорю: вот примерно такое вот хочю. Понял? Понял, грит. Действуй. Есть ESP32, есть с алиэкспресса экранчик TFT, собери все вместе, разберись как этот контроллер экранчика работает, доки там найди почитай, вот все это. Сделай прошивку для ESP32, подключи как «виртуальный плеер» к играющему в данный момент на сетевой плеер стриму, пускай стоит на столе и индицирует.

Вот, буквально, на картинке процесс (в сером блоке пишу я, ниже — ответы ИИ):

Вот результат, после некоторых итераций вида «поиграй шрифтами»:

Закончил уже поздно вечером, напоследок решил пошутить:

Оно обиделось :D

Сделал я не только индикатор, там, слева, в панели харнесса видно по названиям, что именно я делал еще. Плюс еще парочку не в дипсиковом харнессе, а в Claude (там приходилось руками собирать, компилировать, потом рассказывать «что видишь», он пытался понять и продолжал, в общем в харнессе удобнее, тут сразу готовый проект собирается). И даже 10 долларов на все это за три дня не ушло.

Ну… Что я могу сказать по итогу.
Это… впечатляет. Первое впечатление именно такое. Общение происходит на уровне: «Что-то шрифт кривой, видишь? — Вижу — Давай найдем получше. — Ок, понял, вот такие есть еще шрифты. Смотрел еще вот такой, но там кириллицы нет, наверное не подойдет. Правильно думаю? — Правильно. — Из этих что нравится? — Давай третий сверху и последний. — Понял, делаю (шуршит три минуты) — Сделал, вот так выглядеть на экране будет (картинка) — Уже лучше. Только раздвинь строки немного — Вот так? (картинка) — Да, так лучше.»

С другой стороны. И это, честно говоря, тревожит. И тревожит все больше. Вот, с одной стороны, я получил за пару часов не-труда готовый продукт, который джва года собирался сесть, разобраться и сделать. Хорошо? Ага! С другой: Стал ли я в результате умнее? Нет. Могу ли я, сделав с помощью ИИ такую штуку, сделать после другую похожую штуку самостоятельно? Ну, нет, не смогу, будем честны. Полезу ли я читать код ESPHome и C++, чтобы понять, что там крутится и как? Могу, теоретически, но, напомню, мозговая лень, которая была изначально, никуда в процессе не делась. Я получил продукт не поступаясь ей и не преодолев ее. Хорошо? Нет.

И поневоле возникает вопрос целеполагания. Что в нашей мотивации первично, что именно делает в данном случае ИИ? Получить готовый продукт? Или стать умнее, чтобы в результате органическим образом смочь получить готовый продукт. Что для нас более важно?

Именно поэтому, наверное, хорошие ИИ компании нанимают философов, а для философов ситуация с ИИ наверное захватывающий челлендж.

Последних лет 20 (подозреваю и куда больше), в программистском и вообще IT сообществе стоит стон от того, что уровень абстракций все повышается, а уровень программирования падает, что в индустрию приходят вкатуны едва-образованцы, что всюду засилие говнокодинга и говнокодеров. Чего в этом случае нам не хватает? Ну конечно же волшебной коробочки, которая генерирует код по описанию, потому что ей так кажется правильным, генерирует оно его непрерывными мегабайтам, а править его предполагается теми же говнокодерами выше, которые порой и свой-то код разобрать и понять не всегда в состоянии. Код, который уже никто толком не читает, перед тем как запуллить в продакшн, и которого становится все больше.

Шутка про дятла, который разрушил бы цивилизацию (если бы строители строили как программисты программируют) была шуткой, но, кажется, дятел прилетел.

Вот так выглядит за последние годы график уязвимостей в коде и системах:

Причем ИИ тут на обоих сторонах, и на стороне поиска уязвимостей, и, понятно, на стороне создания кода. И график этот, как видите, вверх только рванул. ИИ-генерируемый код едва год-два как начал выходить в «дикую природу».

«Мир, как мы его знали, подходит к концу» (с)

Но под конец будет весело.

Нейросети и как они нас поработят

Вожусь с нейросетью, рисующей картинки. Главная беда там с руками.
Диалог примерно такой:

— Эй, погоди, а чего с руками-то?
— А чего?
— Пальцы-то, смотрит?
— В техзадании пальцев — пять.
— Ну так, да, пять, но не как у обезьяны же, большой палец как должен быть?
— Ой, ну зануда, ну вот.
— Погоди, так теперь их шесть?
— Больше — не меньше. Ну шесть. Брать будете, мужчина?

Уговорить сделать нормально руку невозможно. Теоретически есть способ частично перерисовывать. Но он работает как-то… Я так и не понял. То есть оно иногда работает, а иногда встает и упирается. С теми же настройками. А иногда вместо того, что нужно перерисовать, упорно рисует что-то другое.
— Эй, погоди, а зачем хер на лбу появился? Я же просил руку поправить?
— А, ну… Мне показалось тебе скучно, вот я и…
Короче, проще бывает такие места рабберстампом в фотошопе откорректировать. Быстрее уж точно.

— Привереда. Вот тебе целых ДВА больших пальца!

— А на другой руке — большой палец длиной с указательный! Выбирай!

Оно делает вид, что я — самодержавный властелин, «только скажи, все будет в лучшем виде, ты хозяин, приказывай, все сделаем», а потом:
— Это чегооо такоооое??!
— Насяльник ма, я вуключил, а оно ашкельты сикильбельме, шайтанама!

В общем нет, чтобы оно нас поработило, его еще учить этому и учить.

Высокотехнологично греюсь

В Москве адски холодно. Ночью +4..5 градусов, днем +11. Отопление выключили, разумеется, давно. Спасаемся кто чем.

«Но у нас собой было».
У меня сейчас дома случилось два компа серверного класса (так получилось), HP Z820, двухпроцессорный Xeon, 32 ядра HT на 2.2GHz, с GTX1080, плюс HP Z620 c Xeon на 8 ядер на 3.6GHz и GTX2080Ti.

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