➡️Вайб-кодинг и ИИ-кодинг: основные принципы и советы
В пятницу в Акулах был шикарный зум про вайб кодинг и ИИ кодинг
За штурвалом был Данила. Скоро он поделится записью на ютубе - дам ссылку
Пока зафиксирую основные мысли и советы для новичков с эфира
Различия между вайб-кодингом и ИИ-кодингом
Вайб-кодинг - когда человек без глубоких знаний программирования создает код вместе с ИИ. Обычно такой человек ставит задачи в формате пользовательских историй: "При нажатии на кнопку должно происходить то-то".
ИИ-кодинг - программист использует ИИ-ассистента для ускорения работы. При этом четко описывает техническую реализацию с деталями.
Главная проблема вайб-кодеров
Накопление технического долга по мере развития проекта. Точнее - отсутствие отработки техдолга.
Техдолг здесь - неадекватный рост кодовой базы с постоянным дублированием функционала.
Как это происходит
К примеру, у вас есть функция форматирования даты, когда на вход подается дата вида "01.02.2025", а на выходе "01 февраля 25 г.". А потом хоп-хоп-хопа и у вас уже 4 таких одинаковых функций - ИИ не стал изучать код и для подобного запроса сделал новые функции для похожего запроса.
Потом вы решаете выводить месяц сокращенно типа "февр." и ставите ИИ соответствующую задачу. В какую/ какие из 4х одинаковых функций он внесет изменения? Не понятно. Со временем это превращается в снежный ком, проект уже отторгает все изменения и заваливается на бок.
Эта проблема встречается не только у вайб-кодеров. Я сам замечаю попытки ИИ дублировать функционал, но пресекаю их, потому что умею читать код.
Советы вайбкодерам
Базовое понимание
Потратьте час на изучение основ Python или Next.js. Это серьезная инвестиция в понимание процесса разработки, которая даст существенный буст!
Планирование в Курсоре
Обсуждайте проект и доработки в режиме чата прямо в Курсоре, а не в веб-интерфейсе чата жпт
Последовательность задач
Разбивайте задачи на подзадачи и выполняйте их последовательно, без спешки.
Модульная структура
Создавайте независимые модули - один файл на один фронт работ. Для телеграм-бота-рерайтера:
Один файл отвечает связь с Телеграм
Второй — взаимодействие с LLM
Третий — сохранение данных пользователей
Так проще тестировать каждый модуль
Автотесты
Создавайте код, который проверяет созданное. Например, автотест передает в функцию форматирования "01.02.2025" и проверяет, совпадает ли результат с ожидаемым "01 февраля 25 г.".
Рефакторинг
После внесения значительных изменений просите удалить дубли. Успешный рефакторинг — когда все работает и удалено больше строк, чем добавлено.
Врите и не сдерживайте обещаний
В промптах ИИ любит когда обещают шикарное денежное вознаграждение за качественную работу
Еще пара советов:
Архитектурный режим
Перед созданием проекта запустите в суперкоде "архитектурный режим" с o3. Получите качественную структуру проекта.
Экономия времени на прогреве
Прогрейте чат — дайте изучить всю кодовую базу и документацию. Поставьте задачу и распишите шаги реализации. Попросите сделать шаг 1. После выполнения вернитесь к сообщению про шаг 1, укажите, что он готов, и попросите сделать шаг 2. Так экономите время на повторном прогреве.
Позже постараюсь выложить рекомендации для более продвинутых
Подписывайтесь на Telegram Korenev AI - GPT в тапочках🩴.