Pull to refresh

Comments 46

Чтобы понять, нормально ли сделал ИИ, нужно обладать соответствующими знаниями. Уверены ли вы, продуктовый дизайнер, что "фронтэнд, бэкенд, девопс" в результате получился не переусложнённым ненадёжным решетом? Понятно, что запустить MVP в таком режиме несложно. А потом?

Понятно, что запустить MVP в таком режиме несложно. А потом?

Читая восторженные посты вайбкодеров создается впечатление, что так далеко эти господа не смотрят 🗿 Ну либо надеются, что потом также появится более способный ИИ, который как-то разрулит эту проблему.

А он таки появится, не бесплатный конечно, но вопрос времени. Совсем ведь не давно думали, что нельзя написать программу которая будет выигрывать в гоу у профи...

Так проблема просто станет иного характера, не та которую мы сейчас представляем в классическом понимании тому чему нас учили в виде языков программирования. ИИ, обученный на AST например или непосредственно в байткод LLVM или ещё чего того что уже не человекочитаемый формат. Уже сейчас нет таких красноглазых которые бы вобрали сжатый контекст откомпилированного кода в машинных единицах более чем в килобайт. Человек одновременно держит в голове не более 15 связей (с гениальным IQ), эта же штука сразу даёт под сотню, если код будет в сжатом виде то привет, это тысячи и миллионы. Она может "понимать" практически идеально взаимодействие и алгоритмы уже неподвластные по объёму человеку. Там остаётся только просить её сделать нечто в виде o(n) по процессору и o(n^2) по памяти например.

А по какому критерию он переусложнён или ненадёжен? Это ведь численные параметры а значит, их можно скормить ИИ. То есть спецификация будет выглядеть дополнительно как некий вектор-добавка, который формируется движками мыши и содержит шаблонные фразы вроде accuracy, number of test, number of sucessful attempts итд, включая прививку сборщиков мусора, затычки для всех exception, debug printf с не лентяйским выводом в консоль включая теги и окружение и многое другое что уже ИИ чуть более чем полностью автоматизирует, хоть HEX-dump. В хардкодном С он мне помог отловить очень зарытую проблему утечки памяти malloc-free при неправильной последовательности мьютексов в потокобезопасной очереди. Можно конечно было самому тыкать синтаксис но лень одолела

я конечно нет, поэтому спросил у опытного разработчика, сказал что всё норм, как будет больше 500 пользователей, нужно будет думать над заменой pocketbase, но это не проблема с клауд кодом

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

У типа просто несчастный лендос на тильде и пара ботов. Какой там фронт-энд, бэкэнд и ТД, непонятно зачем он в эти дебри полез. А вообще, да. Так-то что-то простенькое, утилитарное и без претензий написать иишка вполне способна. Сам занимаюсь примерно тем-же, что и ТС и постоянно иишка очень помогает по it части. Скрипт для парсинга, скрипт удаления фона фотографий, скрипт для обработки данных в таблицах - все навайбкодил чисто для себя и довольный. А вот когда я попытался при помощи вайбкодинга уже все эти скрипты в один комбайн с каким-никаким гуем собрать - ии уже спасовал. Потому я хоть и не программист, но к вайбкодерам очень скептически отношусь

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

При грамотной архитектуре, масштабирование не проблема.

Есть два типа:

  • Те кто просто делает фитчу и MVP

  • Те кто делает продукт и MVP

Для вторых нужно точно иметь виденье полной архитектуры и закладывать фундамент

И кто же определит эту грамотную архитектуру в данном случае, продуктовый дизайнер?

Почему-то успешные трейдеры, вайбкодеры и бизнесмены вместо того, чтобы рубить бабло и захватывать мировые рынки (ну или на крайняк скупать небоскребы в Дубае, я слышал они как раз подешевели) всегда начинают писать статьи и снимать ролики о том, как у них это все получается. Так и норовят себе конкурентов наплодить. Как-то странно это все...

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

А, касательно тех, кто продвигает вайбкодинг и мелкий несистемный бизнес: в таких вещах даже прибыльные рабочие темы часто держаться на энергии и коммитменте основателя. Условно, может один человек уследить за N агентов в вайбкодинге или проконтролировать K кофеен. Больше не может. Попытки донанять контролеров на зарплате не имеют смысла (ибо они не будут понимать то, что он, и им оно не больше всех надо). Вот и выходит, что обучать других, кому тоже больше всех надо, идея, вцелом, неплохая

Удобная фича что заминусенный коммент имеет тусклый цвет, сразу можно скипать говно комменты

Если вы владеете N кофеен и больше «не потянете» (хотя сетевики почему-то тянут, ну да ладно), то вам совершенно ни к чему появление рядом с ними ещё три раза по N от тех, кого вы обучите. Хотя бы потому, что количество посетителей и денег в их карманах величина ограниченная. Поэтому всё это сказки для глупых, «я всё равно всю рыбу не выловлю, поэтому продаю удочки конкурентам». Ключевое тут - продаю удочки, и делают это в тот момент, когда рыбы в пруду уже почти не стало :)

сделать продукт легко, продавать его не просто

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

Или заставить работать selenium на python через socks5 прокси) нейронка знатно по канифолит мозг, потому-что очень всё на версиях библиотек подвязано, а она тупо с разных мест решения пытается подсунуть) и на ошибки с консоли просто на каком-то моменте начинает всё по кругу.

Для этого уже давно есть Context7 (и наверняка уже аналогов наделали, но мне и context7 хватает), говоришь нейронке свериться в докой нужных версий, она сама в него лезет, читает доки и потом делает как надо.

Так там есть противоречия в доках в том числе, доку никто не правил по некоторому старью. Плюс попадался момент когда в мастер ветке какой-то библиотеке есть баг, а его пофиксили в dev ветке, а pip тупо по умолчанию берет определенную. Таких нюансов вагон и тележка, на которых нейронка просто разводит руками(ну либо просто начинает тебя мотать по кругу). Естественно человеку понимающему и тот который тоже читает ошибки, довольно таки быстро такие моменты пофиксить, но тот кто первый раз написал hello world и думает что с нейронкой сейчас сделает новый гугол/фейсбук, такого не будет ещё долго.

Парсеры как раз она пишет очень хорошо если не скармливать последовательности действий или текст из которого она должна догадаться по методу индукции - это ещё плохо проходит. То есть даже простейшие виртуальные машины модель пишет плохо а также всякие разборы сложных regex-ов по месту встраивания по принципу "вот тебе данные напиши алгоритм". А вот нечто вроде динозавров yacc, bison-flex или какой LL-LALR парсер, готовый GNUтый, проверенный годами вполне себе хорошо знает и допишет для него весьма качественную обвязку с файлом грамматики. То есть ей необходимо дать не код, а инструмент для этого кода - это принципиально другой подход.

А какими инструментами прользовались?

то один кусок не проходит, то другой

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

Не, там логику - сам алгоритм - не может нормально вывести сетка, причём по его подобному высокоуровневому описанию - просто не может связать идею с подходом - и в рантайме выводит бред, зацикливаясь. Что клод, что чат, что квен с roo code. Мне проще в таких случаях головой подумать самому и написать, чем на магию надеяться.

А можете выложить описание задачи и тесты? Звучит как интересный тест

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

Что делать прямо сейчас

думаю стоит там дописать - начните использовать топовую модель по подписке. 1) это простимулирует её использовать 2) не будете делать дурацких выводов о глупости ИИ только потому, что используете слабенькую модель

"Без мотивационной воды"

У Вас промт в текст просочился 😅

в этом случае пишут without dihydrogen monooxide.

Я вот не пойму, все эти статьи про вайбкодинг по одному шаблону что ли делают? Один в один все. Можно прочесть одну и не смотреть остальные.

Ну так шаблон про успешный успех никогда и не менялся по сути

Так их одна и та-же llm пишет)

Не ну ладно бы хоть продукты были полезные, а то ведь "продукт по продвижению продуктов с помощью AI". Бизнес без идеи.

это путь самурая - цель ничто движение всё. А чем майнинг от этого отличается собственно...

Claude Code сгенерировал сайт, который оказался лучше того, что я делал руками до этого.

Извините, это говорит не в вашу пользу. Я посмотрел оба лендинга, и у меня два вопроса:
1) Зачем название продукта такое гигантское, что его нельзя уместить в 1 взгляд, и по нему приходится ходить глазами?
2) Как так получилось, что на вашем лендинге это название находится в нижней трети экрана, из-за чего первый взгляд падает в "молоко", и потом приходится напрягаться, чтобы уловить эту структуру?

  • Бэкенд — серверная логика, API, базы данных, авторизация. Здесь ИИ на удивление силён.

Откуда вы это знаете?

но ловит 80% проблем.

Откуда вы это знаете? И знаете ли вы, что если система сложнее "машины для перекладывания json-ов", то для отлова самых важных проблем требуется понимание всей системы в комплексе?

Нужен опытный оператор. Новичок не получит тот же результат

Очень новаторская мысль

«Фулстек» перестанет быть редким навыком — это будет дефолт.

ИИ плохо справляется со сложностью. 

Барьер входа в IT-предпринимательство исчезнет.

Выживут продукты со сложной бизнес-логикой, уникальными данными или сетевыми эффектами.

Ну то есть с помощью ИИ каждый сможет слепить любое говно, но это говно не будет конкурентно-способно, потому что любой так сможет, а на плаву останутся только сложные системы, которые ИИ не вывозят, но при этом барьер в предпринимательство исчезнет?

Люди начнут думать не «какого специалиста нанять», а «как описать задачу для ИИ»

Ну то есть перестанут думать, как описать задачу для человека, а начнут думать, как описать для ИИ. Очень фундаментально

Всё, что можно выучить по туториалу, ИИ уже умеет делать

По туториалу можно выучить синтаксис. Остальное, мягко говоря, требует большей погруженности.

Расширяйте кругозор за пределы специализации. 

Этот совет актуален для любого человека, который хочет стоить дорого.

Я не из тех, кто кричит «все профессии умрут». Профессии не умрут — они станут неузнаваемыми. 

Вы сказали то-же самое, только другими словами. Типа вы не из этих всепропальщиков, а как бы из другой, более "элитной" касты.

Теперь чутка про проекты

Антиспам-бот для Telegram-канала 

И как он работает? Много ли ложно-положительных срабатываний? А то что не антиспам бот - то работает коряво, и его постоянно находят, как обмануть, а тут ии нагенерил.

Платформа СравниАвто 

Поздравляю, вы изобрели фильтры на авто.ру.
А если серьезно, какую боль клиента это решает? Я прошел анкету, мне выдало 3 марки автомобиля, в каждой из которых по 3 плюса и 3 минуса. Это точно все, что мне нужно знать об автомобиле, перед покупкой? Все что делает сайт - непонятно как выбирает пару марок, мягко говоря врет или льет воду в плюсах и минусах, и дает ссылки на авто.ру.

Короче, очередной наброс на вентилятор

Как же хорошо то. Захожу в заминусованные статьи очередных прозревших вайбкодеров ради как раз таких комментариев.

Госпади, опять нагенерили пасинги сайтов (сравни авто, креатор), переводчики (перевод туториала клауде код) и телеграмм ботов (это уже не смешно). Этого добра половина гитхаба, конечно это будет генериться легко ИИ. Это камень не в ваш огород конкретно. Я в ИТ давно, я ни разу не работал над подобными проектами потому что это очень простые проекты на одного человека, бизнесовые проекты которые кормят большую команду разработки гораздо сложнее, чем то что вы показываете и пока я не видел ни одной статьи где кучу сеньоров заменил вайбкодер без ИТ бекграунда (очень жду учитывая всю шумиху с ИИ сейчас). Без сомнения вы проделали огромную работу, но они сомнительные с оценки технической сложности - вы в автоподборе и креаторе под капотом просто вызываете ИИ с хорошо прописанным Agents.md вот и весь проект - опять просто работа на одного человека по вечерам, но да, из ИТ и ему придется за это платить, тут с вами согласен для таких простых задач ИИ действительно шикарный помощник.

По такой логике и сервисы AWS не сложные потому что почти весь новый код ИИ пишет

Ну то есть перестанут думать, как описать задачу для человека, а начнут думать, как описать для ИИ. Очень фундаментально

В общем виде как то так, есть доля истины. Все инструменты разработки созданные в IT до сих пор - в основном оптимизированы для ручной работы, очень редкие исключения для автоматизации и мета-языки, формируемые под задачу. ИИ же не нужны ни файловые системы для структуры проекта, ни высокоуровневые абстракции, он может работать на любом языке предметной области формируя необходимый функционал, хоть Питон хоть С, например. То есть языки высокого уровня сейчас превратились в ассемблер, равно как ассемблер стал уже неким раритетом (во внеконтроллерной области) уже в начале нулевых и даже уже в конце 90-х с появлением визуальных средств под винду, кто тогда не ковырял Visual Basic в Excele рисуя кнопочки с обработчиком или в Borland C++/Delphi Builder. Поэтому промпт это тот же язык программирования только на уровне спецификации. То что возможны варианты-глюки - так для этого разработчик должен знать новый навык - описание границ задач в виде промптов и в этом его понимание. Assertion, exception, sanitizer "туда не ходи сюда не ходи снег попадёт"

Языки программирования - от ассемблера на низком уровне до js на высоком - строго детерменированны и формализованы. Llm хаотичны, недетерменированны, и не формализованы.

Чтобы выполнить конкретную операцию на js или asm - всегда есть четкий алгоритм действий, если задача выполнима. На llm никогда нет четкого промтпа даже если задача выполнима.

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

Не сами языки детерминированы и формализованы а их поведение и конечный результат. Язык это средство описание действий и данных не более того. LLM же опираясь на спецификацию формирует наиболее вероятное её исполнение. А контроль за исполнением лежит на внешних средствах которые также можно описать в этой спецификации и покрыть вывод тестом. Мне важно чтобы получился код на C с работоспособностью 98% на Питоне 97%, оставшиеся выудит компилятор и ловушки для исключений или разнообразные счётчики, которые внедряются в этот код. По моему опыту код до 500 строк получается с первого прогона, от 500 до 1000 2-3 прогона. Код полностью описан на уровне технического задания для LLM. Это уже неизбежность когда логику уже соблюдает оркестратор. Просто это сейчас пока идёт примитив из разряда REPLACE/SEARCH<<<>>>. Научив математической индукции и прикрутив к некой локальной виртуальной машине описывающей код решалку СЛАУ в сетке конечной разрядности можно вполне получить точное решение (усовершенствование трансформера). Вообщем это настоящий инструмент 21 века как бы кто не сомневался.

По моему опыту код до 500 строк получается с первого прогона, от 500 до 1000 2-3 прогона

Пфф, да это вообще легко, вы мне скажите с какого прогона получается внести точечные изменения в этот код из 500строк. Я вот даже на микроскопическом пет проекте, в целях эксперемента, из 4х фич с помощью агента и топовой llm смог реализовать только 1 (как раз ту, где 90% - код с нуля, и 10% использование существующего), и то самую простую. На остальных начинались свистопляски с ломанием базы данных, других частей кода, или зацикливание.

Код полностью описан на уровне технического задания для LLM

Ах если бы оно так работало, то моя задача - добавить новый тип тренировки для кардио в моё пет приложение уже была бы готова. На деле, оно варит проект дольше, чем я бы написал этот код, а в результирующем плане предлагает столько изменений которые не нужны для задачи, что потом ещё десять итераций потребуется чтобы их исправить.

Не сами языки детерминированы и формализованы а их поведение и конечный результат.

Это в корне меняет дело. Ведь если я до этого говорил, о том, что вы пишете на ЯП и получаете однозначно понятный результат, то теперь то значит, что вы пишите на ЯП и получаете однозначно понятный во результат).

В индустрии целые виды фреймворков (rect, compose) и инструментов (docker) и функциональное программирование целиком, сложились ради того, чтобы исключить состояние, потому что состояние сложно контролировать.

А теперь у нас за состояние (код) - будет отвечать ещё и инструмент, который сам вносит море неопределённости. Покрыть все тестами - это конечно звучит как план, только кто все эти тесты напишет, придумает и проверит? Вот у меня llm написала (с некоторыми правками от меня) исполняемый код, он даже решает поставленную задачу, только вместо 120 - выдает 6 кадров, это значит тестами надо крыть не только данные/результат, но и производительность. А если она падает на специфических данных/по памяти/после 100 прогонов.

Нет, как инструмент помощи и решения локальных микрозадач или тревиальных сценариев - ок, как замена ЯП - это яйцо настолько сырое, что ещё не родилась курица которая должна его снести.

Очередной раз мы наблюдаем корень проблемы - отсутствие замысла. Никто же не удивляется как легко книгу напечатать, а ты её придумай.

Назначение программы - получить данные, обработать определённым образом на компьютере, и выдать результат. НС сейчас используется как программа, ей ставят задачу написать код для обработки данных, она выдаёт результат. На самом деле тренд идёт в устранение посредничество самих программ, то есть данные будут давать самой НС, описывать как их обработать и в каком виде выдать результат. Вот в чём главная проблема! Не создать грузовой транспорт а переместить груз.

Три конкретных шага

Без воды!

Сразу понимаешь

Текст писал ИИ!

Ага, я тоже на этом месте понял, что написано через чат гпт:)) Есть у него любимые фразы по которым он палится, там ещё другие можно найти.

Sign up to leave a comment.

Articles