Термин «кодирование вибрации» в наши дни часто встречается в социальных сетях; Он быстро присоединяется к армии ненужных терминов, которые могут выбить из круга среднестатистического интернет-пользователя до поколения Z. Но что такое кодирование Vibe? Как следует из названия, это просто кодирование, основанное на «вибрациях» — практически, без особых усилий и размышлений. Теперь, если вы знаете что-нибудь о программировании и области разработки программного обеспечения, концепция vibe-кодирования во многом противоречит этому опыту. По своей сути программирование — это очень сложная область, которая воплощает абстрактные идеи в реальную жизнь через экран компьютера.
Тем не менее, использование возможностей больших языковых моделей, таких как ChatGPT от OpenAI и Claude от Anthropic, — это то, в чем заключается большая часть вибраций. Это скорее непринужденный подход к программированию. Представьте себе футуристический электромобиль. Вы знаете, куда идете, вы знаете, как туда добраться; Ты даже умеешь водить машину. Однако вам действительно не хочется делать всю эту работу. Итак, вы «разговариваете» со своей машиной и даете ей инструкции, как доставить вас к месту назначения. В двух словах это и есть кодирование вибрации.
Хотя это звучит как солнечный свет и радуга, есть несколько вещей, которые вам нужно запомнить. LLM не являются непогрешимыми, и вы столкнетесь с множеством проблем, если просто начнете заниматься программированием Vibe. Ваши продукты не будут масштабироваться, и вы очень быстро израсходуете свои быстрые кредиты. Вот пять советов, которые помогут избежать подобных проблем.
Вам не нужно быть экспертом, но вам нужно немного знать
Одним из главных преимуществ кодирования Vibe является то, что вам не обязательно быть профессионалом, чтобы продвигать полезные продукты. Это отличный маркетинговый ход, но пока мы не приблизимся к суперинтеллекту ИИ, вам нужно будет кое-что знать.
По моему опыту, студенты LLM склонны терять фокус на своих разработках; Вы часто будете сталкиваться со строками кода, которые не выполняют никаких функций или, что еще хуже, активно ухудшают сложность вашей кодовой базы. Как вы можете определить эти проблемные строки, если не знаете, что делает каждая строка? Например, однажды я построил модель машинного обучения, чтобы предсказать динамику акций на S&P 500. У меня были практические знания Python и машинного обучения — около двух лет до этого я активно работал со стеком технологий.
Чтобы сэкономить время, я кодировал основные части проекта с помощью ChatGPT, Claude и Gemini. Однако почти сразу стало ясно, что мне придется активно проверять код на предмет неэффективности. Сгенерированный код регулярно увеличивал размеры моего набора данных, что убивало ядра моего ноутбука больше раз, чем я хотел бы признать. Исправить эти проблемы было легко, потому что по большей части я знал, что делаю. Я мог быстро решать проблемы, как только они появлялись. Если вы собираетесь использовать код Vibe, убедитесь, что вы знаете достаточно, чтобы время от времени садиться за руль.
Разбейте свои идеи до минимально возможной формы
При кодировании Vibe может возникнуть соблазн пофантазировать с вашими сборками. В конце концов, если вы используете одни из лучших инструментов искусственного интеллекта для кодирования, вы выводите код так же быстро, как можете подумать. Поэтому, чтобы воспользоваться преимуществами этой технологии, вполне естественно попытаться решить несколько задач одновременно. Однако очень важно оставаться на земле и решать одну проблему за раз, начиная с самой маленькой.
Представьте это для примера. Допустим, вы хотите создать приложение для отслеживания калорий со таблицей лидеров, позволяющей сравнивать вашу активность с активностью друзей. Возможно, вы хотите включить функцию рекомендаций по питанию, чтобы было весело. Это множество совершенно разнообразных функций, которые нужно обрабатывать одновременно. Хотя LLM будет генерировать код, соответствующий каждому из ваших стремлений, скорее всего, сгенерированный код не будет содержать уровень детализации, необходимый для масштабирования — если он вообще работает.
Вместо того, чтобы одновременно помещать всю эту разнообразную информацию в выбранный вами LLM, вам лучше выбрать самую простую функциональность и полностью построить ее, прежде чем переходить к следующему препятствию. В случае предложенного нами примера первым пунктом контрольного списка должна быть логика отслеживания калорий. Программирование Vibe намного проще при правильном планировании и исполнении, а лучший способ получить высококачественный результат — сосредоточиться на одной задаче за раз.
Научитесь искусству оперативного проектирования
Используя наш последний совет в качестве трамплина, следующий пункт, который стоит обсудить в теме кодирования вибрации, — это оперативное проектирование. Не все запросы одинаковы, и качество кода, который вы получите от LLM, зависит от предоставленного вами контекста. Для создания хорошей подсказки нужно много вещей; Правильное наложение слоев на интеллектуальную карту, разбиение сложных задач на простые и даже определение ролей и границ. Среди этих факторов есть константа, которая важна для результата вашего кодирования вибраций: специфичность.
Слишком общие подсказки — это начало разочаровывающего опыта. Думайте о LLM как о реальном сотруднике, которого вы нанимаете в свой стартап. Вы, конечно, не посоветуете новому сотруднику создать приложение для отслеживания калорий без сложных описаний. Предоставьте выбранному вами агенту ИИ информацию о том, каким вы хотите, чтобы ваш продукт получился; Как вы хотите, чтобы пользователи взаимодействовали с ним, фирменный стиль, который вы пытаетесь создать, вплоть до мельчайших деталей, таких как дизайн.
В то же время, будучи конкретным, было бы разумно следить за количеством токенов, которые вы тратите. Меньше всего вам хотелось бы, чтобы предупреждение об ограничении чата появлялось, когда вы не закончили работу над проектом. Итак, управляйте своими сообщениями, помещая как можно больше контекста о конкретной задаче в один текстовый блок. И помните, вы все равно можете использовать базовые данные в Google, чтобы сэкономить быстрые кредиты.
Сначала составьте план и не теряйтесь в деталях
LLM действительно помогают мыслить нестандартно. Они придумывают идеи для решения проблем и предлагают дополнительные функции по мере того, как вы продолжаете свой путь кодирования Vibe. На бумаге эта изобретательность звучит как мечта. На самом деле вы можете оказаться в кроличьей норе, созданной искусственным интеллектом, чтобы предоставить нишевую функцию, о которой никто не просил. Это трата драгоценного времени и жетонов. Вместо этого, прежде чем даже просить LLM написать хотя бы одну строку кода, вам нужно перейти в режим управления проектами. Соблюдение процедуры жизненного цикла разработки программного обеспечения так же важно для кодирования Vibe, как и при работе с реальными подрядчиками.
Первый шаг – планирование. Обсудите практически каждую деталь, о которой вы только можете подумать, с выбранным вами искусственным интеллектом, чтобы разработать прочную всеобъемлющую структуру, которая будет направлять ваш опыт кодирования вибрации. Вы можете сделать это, попросив LLM составить подробный план, а затем доработать его в соответствии с вашими потребностями. После завершения этой части планирования создайте архитектурную структуру для хранения кодов. Это немного раздражает, но может сэкономить массу усилий, необходимых для наведения порядка в проекте, когда он неизбежно становится слишком беспорядочным. Подумайте о своей роли в программировании Vibe как о роли менеджера проекта; В конце концов, возможно, это не «вибрации», но это эффективная стратегия, которая сделает ваш процесс воплощения идеи в реальность хорошо отлаженным механизмом.
Тестируйте код перед объединением запросов на извлечение
Всегда проверяйте свой код перед объединением любых запросов на включение. Мы не можем достаточно подчеркнуть этот момент, поэтому повторим его. Независимо от того, насколько осторожны и обдуманны вы были с подсказками, некоторые ошибки попадут в сгенерированный код LLM. Ваши требования могли быть неправильно истолкованы где-то в процессе, или логические ошибки могут помешать бесперебойной работе вашего кода. У нас есть целый список самых больших проблем с кодированием ИИ.
В свете этого исчерпывающее тестирование имеет первостепенное значение для поддержания работоспособности вашего приложения. Одно из худших мест для работы вибер-кодировщиком — это когда вы не можете определить, какая область отправленного кода приводит к сбою всего вашего продукта, а затем начинаете сканировать длинную историю подсказок и ответов, чтобы выловить неисправный компонент.
Я был там раньше, и это было невесело; Однажды я потратил большую часть трех недель на постепенную отладку приложения с кодом vibe, не утруждая себя тестированием. Таким образом, хотя скорость генеративных агентов искусственного интеллекта и создает соблазн ускорить процесс строительства, вам нужно притормозить и просмотреть каждое предлагаемое изменение. Вы могли бы сделать это современным способом и попросить ИИ написать тестовые примеры, но, по моему опыту, старая добрая ручная проверка кода помогает гарантировать, что никакие риски безопасности или производительности не ускользнут из виду.




