Пост от Andrej Karpathy про подход к профессиональной коммерческой разработке с применением AI. Как создавать код, за который надо будет потом отвечать.
Замечаю, что при серьезной работе с AI над кодом у меня выработался ритм. И он сильно отличается от «Vibe Coding». Кратко по шагам:
1. Собираю весь контекст. Если проект небольшой — всё подряд в промпт:
files-to-prompt . -e ts -e tsx -e css -e md --cxml --ignore node_modules -o prompt.xml
На больших — тщательно выбираю нужные файлы. Чем полнее контекст, тем меньше шансов на бред в ответах.
2. Описываю маленькую конкретную задачу. Не просить сразу код, а попросить несколько вариантов реализации с их плюсами и минусами. Почти всегда есть несколько способов сделать что-то, и LLM не всегда выбирает оптимальный способ.
3. Выбраю один подход, прошу первый вариант кода.
4. Проверка и обучение. Открываю всю документацию по API функций, которые я раньше не вызывал или с которыми я менее знаком. Прошу объяснений, уточнений, изменений, порой можно вернуться и попробовать другой подход.
6. Тестирую
7. Git commit.
Затем спрашиваю: "что можно улучшить дальше?". Повторяю.
Вот такой цикл разработки с ИИ. Акцент делается на том, чтобы держать на очень коротком поводке этого нового чрезмерно рьяного младшего разработчика с энциклопедией в голове и нулевым чувством вкуса к хорошему коду. Он блефует, ошибается, не отличает красивое решение от костыля. И акцент на том, чтобы быть медленным, осторожным, параноидально все проверять и контролировать, сталкиваясь с чем-то незнакомым обучаться на ходу самому, а не делегировать.
Эти шаги приходится выполнять вручную. Это неудобно, не автоматизировано, не поддерживается в современных инструментах. Мы все еще на начальной стадии развития и в области UI/UX для программирования с применением AI еще предстоит многое сделать.
PS.
Возможно, вы заметили, что здесь нет пункта 5 - это потому, что его нет и в оригинальном посте Karpathy. Думаем, что в пункте 5 ответ на главный вопрос вайбкодинга, жизни, вселенной и всего такого, но к сожалению он только для посвященных.