Принципы работы с legacy-кодом с помощью AI-агентов для кодинга
٢٥ أبريل ٢٠٢٦
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
Позволять агенту свободно перемещаться по вашему компьютеру опасно. В частности, если оставить API-ключи в переменных окружения без защиты, агент может случайно записать их в лог или передать вовне. Используйте 1Password CLI. Это метод, при котором ключи временно загружаются в память только во время выполнения команды.
Чтобы агент случайно не затронул критически важные файлы, необходимо изолировать файловую систему. Создайте файл .cursorignore и полностью исключите из списка SSH-ключи, артефакты сборки и конфиденциальные файлы конфигурации. Одно только размещение этого файла в корне проекта снижает вероятность того, что агент изменит не те файлы, на 80 процентов. По возможности запускайте агента внутри Docker-контейнера. Это самый надежный способ не дать агенту напрямую взаимодействовать с хостовой системой.
Если позволить агенту читать весь проект целиком, ежемесячные расходы на API станут непосильными. В частности, позволять агенту читать папки вроде node_modules или .git — это пустая трата денег.
Передавайте агенту только необходимый код. По мере роста масштабов проекта сужение области индексации становится обязательным. Если вы используете Aider, проверяйте текущие расходы в реальном времени с помощью команды /tokens. Файлы, работа с которыми завершена, необходимо сразу удалять из контекста командой /drop. Только эти действия позволяют сократить ненужное потребление токенов более чем на 70 процентов. Выбор модели от Anthropic, поддерживающей кэширование контекста, позволяет получить дополнительную скидку около 75 процентов на повторяющиеся структуры кода, поэтому проверяйте счета API и меняйте модель при необходимости.
Legacy-код имеет запутанные зависимости, поэтому если пустить дело на самотек, можно разрушить всю систему. Не просите агента писать код бездумно. Необходимо задавать контекст, используя XML-теги. Четко прописывайте, какую функцию нужно исправить и какие правила при этом необходимо соблюдать.
Не мерджите код сразу. Сначала заставьте агента представить план правок. Это метод, при котором агент пишет код только после того, как разработчик одобрит план. Обязательно запускайте код, измененный агентом, в локальной тестовой среде. Если просто скормить агенту логи сбоев CI, он самостоятельно исправит ошибки. Результаты исследований показывают, что при прохождении этого процесса можно устранить ошибки с вероятностью 84 процента без дополнительного вмешательства.
Если вы хотите узнать, насколько ускорилась работа с внедрением агентов, забудьте о скорости написания кода. Главное — это Cycle Time (время цикла). Нужно измерять общее время от написания кода, ревью и правок до деплоя.
Для начала запишите, сколько дней проходит от первого коммита до реального деплоя в текущем проекте. Повторяющиеся ошибки агента следует систематизировать в файле AGENTS.md и оставить в качестве стандарта кодинга. Если качество кода, созданного AI, особенно низкое в каком-то модуле, это вина не AI, а системной архитектуры. Еженедельно проверяйте процент переделок (rework) на каждый PR. Инструменты — это всего лишь инструменты. Отношение к агенту как к коллеге и настройка инфраструктуры под рабочий процесс команды — вот что определяет конкурентоспособность команды разработчиков.