Comments 22
На самом деле ИИ инструментарий быстро развивается и есть решения многих описанных тут проблем.
Я например тоже писал, что код может не соответствать код стайлу проекта. Но это решается простым указанием код стайла. Каждый день выходит, что-то новое, и на текущий момент нужно понимать, что это инструмент и с ним нужно уметь работать. Так, что обывателям следует сначала разобраться, а потом уже делать выводы)))
Указание код стайла забивает и без того никакое контекстное окно
Окна за год на сколько расширились? Интерполируем на Н лет вперёд... :)
А зачем в окне? Если cursor, или какой-то qodo в vs-code, firebase.studio и так далее, они смотрят на файлы в проекте. Можно положить файлик md в проект и он будет его сам читать. Преднастроить агента и так далее))
А при реализации запроса, допустим если, они не понимают, что-то, то изучают проект, например:

А вы думаете, что от того, что md файлик подтягивается сам, он магическим образом исключается из контекстного окна, снижая нагрузку на него? Или что поискать код в проекте окну ничего не стоит? Тот же уровень непонимания как работают ЛЛМ, о котором говорится в статье, собственно
Дмитрий, если вы имеете в виду мою ремарку про соответствие принятым в проекте стандартам, то дело далеко не только в код стайле. Тем более, эту проблему можно просто решить, прогоняя линтер поверх ИИ-шной писанины.
Проблема скорее в том, что стандарты и правила в конкретном проекте могут быть какие угодно, ну так, к примеру:
- принципиально не используем какую-нибудь популярную библиотеку (ИИ может всё равно стараться её ввернуть)
- если правим модуль X, дёргаём на пулл реквесте людей A, B, C, чтобы они одобрили, а если модуль Y, дёргаем D, E, F
- на сложных запросах вместо ORM юзаем RAW SQL для удобства отладки
и т.д.
Таким образом, значительную часть работы всё равно придётся делать разработчику. В том числе вычитывать и ревьюить ИИ писанину. Что довольно утомительно, ведь читать код сложнее, чем писать. Особенно если этот код - чужой.
И про это тоже. Код стайлом я обозвал все это. Агенты смотрят на подходы в текущем коде и у вас есть возможность их указать. Не делайте поспешных выводов, изучите инструмент
Какие пулреквесты и все такое, это вы прописываете в ридми проекта, и он в курсе. Сейчас борьба за контекст, правильное исполнение различных MCP и так далее. MCP джиры добавляете, и он тасочку по факту оценит, сходит в фигму за дизайом, изучит дизайн систему, сделает и передвинет в тест. У нас на этом внутренний проект живёт))
Но и да, это не замена разработчика. Это помощник. Но вы не путайте вайбкодинг, с агентами. В firebase.studio за вас и сервера поднимаются и базы создаются, весь девопс через промт сделать можно. Все быстро меняется. Это скорее опастность для джунов

Если у вас там крутая база или микросервисы, это все ему нужно дать для контекста. Схему, или какое-то mcp тоже) А может просто действительно, он не решает конкретно вашу задачу) Одним молотком дом не построить)
Изначально, в статье и дискуссии, речь всё же шла об идее не-разработчику написать текстом, что надо сделать, и получить готовое решение от ИИ. Речь не шла об агентном подходе, - так что это вы не путайте ;)
Что касается агентов, это интересная, но очень обширная тема, которая далеко за рамками моей статьи. Здорово, если кто-то по-настоящему освоил эффективную работу с ними, но как минимум сходу могу назвать две проблемы:
агентные системы наследуют все болячки LLM (прожорливость, галюны, лимит контекста, стохастичность и т.п.)
эффект "каши из топора": когда агенты не работают "из коробки", и требуется "руками" проделывать большую работу по их конфигурированию и отладке. В итоге "разработка через агентов" может оказаться дороже классической. Хотя начиналось всё именно с идеи экономии времени.
Александр, Вы написали хорошую статью, но Вы боретесь с ветряными мельницами, принимая маркетинговый ярлык за научный термин. Вся ваша аргументация - это точная диагностика болезни под названием "LLM-мания". Вы перечислили симптомы: галлюцинации, стохастичность, зависимость от промпта, проблемы с контекстом. Это ограничения больших языковых моделей, а не "ИИ" как такового.
Проведите эксперимент - замените в Вашем тексте "ИИ" на "ChatGPT и его аналоги" и сразу статья станет только точнее. А теперь попробуйте применить Вашу критику к когнитивно-символьным системам, тем самым, что управляют марсоходами, проверяют корректность микропроцессоров или ставят предварительные диагнозы в медицине, то статья - "рассыплется".
Проблема не в том, что "ИИ не может заменить разработчика", а в том, что статистический автодополнятель текста, каким бы умным он ни казался - это не "разум", а всего лишь инструмент с очень специфической и ограниченной областью применения. Вы бьёте по верной цели, но название у этой цели не "ИИ", а "магическое мышление вокруг LLM".
Спасибо за "взгляд со стороны"!
Я нарочно сделал ряд упрощений, в том числе свёл ИИ до больших языковых моделей на архитектуре трансформеров, потому что основные заблуждения и хайп сейчас развиваются именно вокруг них. В первую очередь старался обратиться к не-разработчикам и избежать переусложнений.
Далее, дело не просто в
замените в Вашем тексте "ИИ" на "ChatGPT и его аналоги" и сразу статья станет только точнее
Проблема, как вы верно заметили, в магическом мышлении, а именно в заблуждении обывателей о том, что основная сложность разработки - это написание кода.
Если помните, лет 10 назад эту же проблему пытались решить через введение no/low code систем, мол если написание кода заменить на перетаскивание блок-схем в визуальном редакторе, то программировать сможет любая домохозяйка. Хайпа тогда тоже было много. Так что дело не только лишь в ChatGPT и аналогах, ИМХО.
Мне нравится переводить термин ИИ как Имитацию Интеллекта. Тогда все становится на свои места. А маркетологов и прочих обухов да блоггеров слушать... не стоит ))
На самом деле никакой "ИИ" не нужен для того, чтобы, упаси боже, заменять человека. Под этой ширмой строятся персонализированные эхо-камеры и инструменты манипуляции уже не массами, а отдельно взятыми людьми. Выжимать продуктивность будут из нас с вами с помощью этого самого ии.
Полностью согласен с автором. Я рассматриваю LLM как «умный токарный станок», на котором через постоянные итерации, подобно вращению заготовки, создается деталь. Уже ощущается ограничения медленного интерфейса между человеком и машиной. Вполне возможно, что при внедрении прямого интерфейса «Машина-Мозг человека» итерации будут проходить интенсивнее, и работа будет более значительно продуктивнее, чем сейчас.
Совсем недавно знакомому согласился сделать небольшой asp net core mvc проект для курсовой и первым делом решил попробовать этот ваш вайбкод.
Широкими мазками он конечно накинул набросок, но чем дальше шел прогрес - тем хуже был результат и тем больше было нерабочего кода.
Итог: уже на второй день продолжил писать как обычно, по человечески.
Я абсолютный обыватель, вообще не соображаю в программировании от слова совсем. Вайбкодинг меня учить базе программирования по ходу дела и я с удовольствием учусь этому, это во-первых. Во-вторых, мне как предпринимателю вообще по барабану где там и как пробелы стоят, для важно то что б мои идеи визуализировались и приносили мне доход. В третьих, они мне приносят доход. Я уже понимаю что такое фронтенд, бекенд,postgres,docker, и как диплоить на cloud run SQL. Так что я думаю это как ручная работа мастера и заводская.
Вот тут очень неоднозначно. Коммерческая разработка - это, в первую очередь, про понимание основ, сочетание программирования и добавленной ценности (что можно удачно продавать). "Вайбкодинг" никак не учит азам, а скорее даёт готовые решения для несложных задач. Это всё равно что разбирать шахматную партию с сильным движком. Движок конечно очень силён (сильнее чемпиона мира!), но мало чему может научить. Он даёт готовые "правильные" ответы, тогда как самое интересное, и само понимание, на мой взгляд, начинается именно с вопросов.
Почему мне следует ходить так, а не иначе?
Чего хочет мой соперник?
Мне выгодна открытая или закрытая позиция?
Надо ли мне разменивать материал?
Нужно ли рубить флаг?
И так далее.
Компьютерный движок просто скажет "лошадью ходи на e6" (к примеру), не отвечая по-существу ни на один из этих вопросов. С "вайбкодингом" то же самое. ИМХО.
Возможно Вы правы,но я не стремлюсь быть программером. Единственное чему я рад это тому что я больше независим от них, я делаю то что я хочу и очень быстро. На данный момент я навайбкодил ватсап парсер чата из групп для своей доски объявлений. Я незнаю кому это нужно было обратиться чтобы объяснить то что я хотел сделать. Уже не говорю сколько это стоило бы денег и времени.
Заблуждения обывателей о разработке через ИИ. Мнение разработчика