Как я использую ИИ для выпуска кода
Перестаньте пытаться писать хитрые промпты. Начните проектировать контекст.
Большинство людей используют ИИ неправильно. Они запрашивают фичу одной фразой. ИИ возвращает код, который использует не те библиотеки, нарушает ваши соглашения об именовании и возвращает старые баги. Вы тратите весь день на исправление этого беспорядка.
ИИ без контекста — это junior-разработчик, который никогда не читал ваш код. Он забывает всё, что было вчера. Вы бы не дали новому сотруднику задачу в одну строку и не ожидали бы идеального кода. Вы бы дали ему документ для онбординга.
Я использую файл памяти проекта (project memory file) в своем репозитории. Этот файл служит документом для онбординга, который ИИ читает каждый раз. В нем содержатся специфичные для проекта правила, о которых посторонний не узнает:
• Обязательные правила: как должны выглядеть URL и как слаги должны соответствовать продакшену. • Правила логики: получение значений из конфигов вместо хардкода чисел. • Граничные случаи: специфические настройки CDN или пути к файлам, предотвращающие скрытые ошибки.
Каждая моя ошибка становится строкой в этом файле. Это превращает файл в постоянно растущий актив. Качество ответов ИИ со временем улучшается, потому что мне больше не нужно повторяться.
Мой рабочий процесс состоит из следующих шагов:
- Создание контекста (Bootstrap): попросите ИИ составить черновик файла памяти на основе вашего кода, а затем отредактируйте его.
- Переформулирование задачи: попросите ИИ резюмировать цель перед тем, как он начнет писать код. Это помогает выявить ошибки на раннем этапе.
- Улучшение промпта: спросите ИИ, что именно в вашем запросе кажется ему двусмысленным.
Используйте ИИ для этих задач:
- Написание шаблонного кода (boilerplate) и заготовок (scaffolding).
- Рефакторинг по существующим паттернам.
- Объяснение незнакомого кода.
- Механическая проверка всего репозитория.
- Написание тестов и фикстур.
Избегайте использования ИИ для этих задач:
- Принятие новых архитектурных решений.
- Принятие решений, касающихся вкуса или продукта.
- Любые задачи, где ошибка стоит дорого.
- Проектирование критически важных аспектов безопасности.
- Финальная проверка перед релизом.
Дисциплина проста:
- Дробите задачи. Не говорите «создай эту фичу». Говорите «выполни это конкретное изменение».
- Предоставляйте контекст заранее.
- Проверяйте каждый результат. Запустите сборку и изучите diff.
- Ревьюите код так, будто это PR от junior-разработчика. Никогда не коммитьте код, не прочитав его самостоятельно.
- Вносите извлеченные уроки обратно в файл контекста.
Ваш рычаг — не в промпте. Ваш рычаг — в контексте, который вы поддерживаете.
Optional learning community: https://t.me/GyaanSetuAi
