Про современный вайбкоддинг
Несколько месяцев назад, вроде как в начале лета, я писал пост про вайбкоддинг и то, что современные ИИ достаточно далеки от того, чтобы самостоятельно писать код, готовый для продакшена.
Ситуация начинает меняться очень и очень быстро.
Я много экспериментирую с различными нейронками и редакторами, шаг за шагом продвигаясь и в собственном обучении ml/dl и в разработке пары проектов. И могу с уверенностью сказать, что ИИ сделали просто невероятный шаг в разработке кода за последнее время. С небольшой поправкой: если вы понимаете, что делаете.
Сейчас я использую Cursor IDE в 90% своей работы с кодом, с использованием Claude 4 (4.1, 4.5). Также экспериментирую с Qwen-Coder, CLM-4.5 (4.6) и GPT5. Работу с CLI пока не довелось хорошенько погонять...
И знаете что? В рамках IDE они действительно могут понимать контекст задачи и писать хороший код. При этом вы сами должны понимать, что ИИ пытается реализовать и помещать его в определенные рамки, как например, не добавлять не нужную отладку, не создавать тестовые файлы и т.д. Другими словами, ИИ будет делать то, что вы ему говорить, а не что ожидаете от него в своих мыслях.
Все идет к тому, что скоро у разработчиков пойдет смещение со стороны написания кода, на его аудит и чтение. Зачем тратить время на написание функции, когда я могу дать четкие указания ИИ на написание функции с нужными параметрами и проверками, а затем проаудировать код?
На мой взгляд, скоро будет важнее иметь теоретические знания, чем практические (где-то в соотношении 80% - 20%). При этом ваша теория должна быть настолько хороша, чтобы вы могли объяснить ее малолетнему ребенку.
Складывается таке ощущение, что скоро будут появляться больше информации с примерами функций или программ, с детальными комментариями к промту и требованиям, чтобы этот код написать.
Например, вместо примера контракта обычного токена, будет идти небольшое описание этого контракта и промт для ИИ, в котором будет расписана структура этого контракта: какие функции должны быть включены, что они должны делать, какие проверки в этих функциях должны быть, как они должны взаимодействовать друг с другом и т.д. При этом важно учитывать то, что ИИ уже будут знать эталонные примеры контрактов из библиотек Open Zeppelin, Uniswap или Chainlink.
Если вы думаете, что станет больше работы для Интернов и Джунов, то спешу вас огорчить.
Хороший промт может написать только уверенный мидл, как и проверить его написание после ИИ.
Давно я писал, что с каждым годом требования к соискателям даже на начальные позиции будут все более широкие: там где сначала требовалось знать только Solidity, потом потребовались знания написания тестов, потом базовой безопасности смарт контрактов, а теперь еще и навыки работы с ИИ и промтинга.
ИИ облегчит разработку в рамках "времени", но не профессиональных знаний.
#ai #vibecoding #solidity
Несколько месяцев назад, вроде как в начале лета, я писал пост про вайбкоддинг и то, что современные ИИ достаточно далеки от того, чтобы самостоятельно писать код, готовый для продакшена.
Ситуация начинает меняться очень и очень быстро.
Я много экспериментирую с различными нейронками и редакторами, шаг за шагом продвигаясь и в собственном обучении ml/dl и в разработке пары проектов. И могу с уверенностью сказать, что ИИ сделали просто невероятный шаг в разработке кода за последнее время. С небольшой поправкой: если вы понимаете, что делаете.
Сейчас я использую Cursor IDE в 90% своей работы с кодом, с использованием Claude 4 (4.1, 4.5). Также экспериментирую с Qwen-Coder, CLM-4.5 (4.6) и GPT5. Работу с CLI пока не довелось хорошенько погонять...
И знаете что? В рамках IDE они действительно могут понимать контекст задачи и писать хороший код. При этом вы сами должны понимать, что ИИ пытается реализовать и помещать его в определенные рамки, как например, не добавлять не нужную отладку, не создавать тестовые файлы и т.д. Другими словами, ИИ будет делать то, что вы ему говорить, а не что ожидаете от него в своих мыслях.
Все идет к тому, что скоро у разработчиков пойдет смещение со стороны написания кода, на его аудит и чтение. Зачем тратить время на написание функции, когда я могу дать четкие указания ИИ на написание функции с нужными параметрами и проверками, а затем проаудировать код?
На мой взгляд, скоро будет важнее иметь теоретические знания, чем практические (где-то в соотношении 80% - 20%). При этом ваша теория должна быть настолько хороша, чтобы вы могли объяснить ее малолетнему ребенку.
Складывается таке ощущение, что скоро будут появляться больше информации с примерами функций или программ, с детальными комментариями к промту и требованиям, чтобы этот код написать.
Например, вместо примера контракта обычного токена, будет идти небольшое описание этого контракта и промт для ИИ, в котором будет расписана структура этого контракта: какие функции должны быть включены, что они должны делать, какие проверки в этих функциях должны быть, как они должны взаимодействовать друг с другом и т.д. При этом важно учитывать то, что ИИ уже будут знать эталонные примеры контрактов из библиотек Open Zeppelin, Uniswap или Chainlink.
Если вы думаете, что станет больше работы для Интернов и Джунов, то спешу вас огорчить.
Хороший промт может написать только уверенный мидл, как и проверить его написание после ИИ.
Давно я писал, что с каждым годом требования к соискателям даже на начальные позиции будут все более широкие: там где сначала требовалось знать только Solidity, потом потребовались знания написания тестов, потом базовой безопасности смарт контрактов, а теперь еще и навыки работы с ИИ и промтинга.
ИИ облегчит разработку в рамках "времени", но не профессиональных знаний.
#ai #vibecoding #solidity
👍7
Еще немного наблюдений о вайбкодинге
Буду разбавлять посты про алгоритмы более простыми "насущными" темами.
Буквально вчера до меня начала доходить мысль, что существует два вида вайбкодинга: над одним постоянно смеются, а другой используется в компаниях. И это два кардинально противоположных метода с одним названием.
Сравните два запроса:
"Создай страницу Корзина, где пользователи могут оплачивать товары."
и
"Изучи эти два файла и этот сниппет. В одном файле ты найдешь модели таблиц в базе данных и примеры запросов / ендпонитов. В другом требования к написанию кода. Требуется сделать функционал для покупки выбранных товаров на странице checkout. Твоя задача: 1/2/3/4/5. Перед выполнением задачи составь план и дождись моего подтверждения."
И там, и там по запросу нужен практически идентичный функционал, только во втором случае даны конкретные требования к самому коду, примеры и доступы. В первом случае, запрос писал пользователь без знаний языков программирования, во втором - как минимум понимающий что-то о своем коде.
Это именно то, что и отличают оба вида вайбкодинга - инструкции с примерами. Нейросеть делает не то, что вы хотите, а что вы ей говорите сделать. Она не делает различий между "говнокодом" и "сеньором". При открытой задача (как в первом варианте), она просто берет свои случайные знания из памяти и соединяет их.
Так в одном проекте у вас может быть и код на Python, Ruby, JS и вообще смесь всего. Это вполне может работать. Вопрос в том, как...
Для другого пользователя, который знает и понимает код, разбирается в структуре своего проекта и умеет давать четкие инструкции к нейросети - результаты получаются гораздо лучше.
Задумайтесь также и о том, что даже сеньор может давать четкие указания по редактированию своего кода и нейронка прекрасно справится с задачей, использую декораторы и стиль самого сеньора. Какой код получится в этом случае?
В свое время, да и порой сейчас, многие смеются над PHP языком и у разработчиков была такая шутка: "PHP, как самокат. Из-за того, что любой дурак может сесть на него и поехать, репутация у этой штуки так себе". Вот примерно тоже самое и с вайбкодингом.
Запрос написанный сеньором - приведет к коду уровня сеньор, запрос от школьника - приведет к соответствующему результату.
Поэтому в следующий раз, когда увидите плохой код или ужасную архитектуру, то спросите прежде, кто и как писал это код, а не вините нейронку.
#vibecoding
Буду разбавлять посты про алгоритмы более простыми "насущными" темами.
Буквально вчера до меня начала доходить мысль, что существует два вида вайбкодинга: над одним постоянно смеются, а другой используется в компаниях. И это два кардинально противоположных метода с одним названием.
Сравните два запроса:
"Создай страницу Корзина, где пользователи могут оплачивать товары."
и
"Изучи эти два файла и этот сниппет. В одном файле ты найдешь модели таблиц в базе данных и примеры запросов / ендпонитов. В другом требования к написанию кода. Требуется сделать функционал для покупки выбранных товаров на странице checkout. Твоя задача: 1/2/3/4/5. Перед выполнением задачи составь план и дождись моего подтверждения."
И там, и там по запросу нужен практически идентичный функционал, только во втором случае даны конкретные требования к самому коду, примеры и доступы. В первом случае, запрос писал пользователь без знаний языков программирования, во втором - как минимум понимающий что-то о своем коде.
Это именно то, что и отличают оба вида вайбкодинга - инструкции с примерами. Нейросеть делает не то, что вы хотите, а что вы ей говорите сделать. Она не делает различий между "говнокодом" и "сеньором". При открытой задача (как в первом варианте), она просто берет свои случайные знания из памяти и соединяет их.
Так в одном проекте у вас может быть и код на Python, Ruby, JS и вообще смесь всего. Это вполне может работать. Вопрос в том, как...
Для другого пользователя, который знает и понимает код, разбирается в структуре своего проекта и умеет давать четкие инструкции к нейросети - результаты получаются гораздо лучше.
Задумайтесь также и о том, что даже сеньор может давать четкие указания по редактированию своего кода и нейронка прекрасно справится с задачей, использую декораторы и стиль самого сеньора. Какой код получится в этом случае?
В свое время, да и порой сейчас, многие смеются над PHP языком и у разработчиков была такая шутка: "PHP, как самокат. Из-за того, что любой дурак может сесть на него и поехать, репутация у этой штуки так себе". Вот примерно тоже самое и с вайбкодингом.
Запрос написанный сеньором - приведет к коду уровня сеньор, запрос от школьника - приведет к соответствующему результату.
Поэтому в следующий раз, когда увидите плохой код или ужасную архитектуру, то спросите прежде, кто и как писал это код, а не вините нейронку.
#vibecoding
👍11