Политика использования AI-ассистентов в разработке: шаблон
Большинство компаний уже пишут код с AI-ассистентами, есть политика или нет. Политику, которая их запрещает, игнорируют. Полезная политика говорит, к чему ассистент может прикасаться, к чему никогда, и кто отвечает за код, который он пишет.
Кратко
Рабочая политика держится на одном принципе: ассистент предлагает, человек решает и отвечает за результат. Из него следуют пять правил: ассистент никогда не получает секреты, доступы к рабочей среде и рабочие данные; он работает с минимальным доступом, нужным для задачи; каждое предложение проходит то же ревью, что код человека; всё, что он меняет, прослеживается в системе контроля версий; политика называет одобренные инструменты и их настройки. Шаблон ниже написан так, чтобы каждое правило можно было проверить, а не только подписать.
Зачем нужна политика, и почему не запрет
Ассистенты изменили то, как пишется код, и разработчики будут ими пользоваться с разрешением или без. Запрет переносит это использование в личные аккаунты, где компания ничего не видит и ничего не контролирует. Ведомства безопасности смотрят в ту же сторону: британский Национальный центр кибербезопасности призывает внедрять AI-инструменты для кода с детерминированными ограничениями и человеческой проверкой в рискованных местах, а не пускать это на самотёк.
Риск не в том, что ассистент пишет плохой код. Люди тоже пишут плохой код. Риск в коде, который никто не проверил, потому что он выглядел законченным, и в доступе, который ассистенту дали, потому что так удобнее.
Шаблон
1. Область действия
Политика распространяется на любой инструмент, который создаёт, дополняет или меняет код, конфигурацию или описание инфраструктуры: в IDE, в командной строке или в виде автономного агента.
2. Одобренные инструменты
- Разрешены только инструменты из одобренного списка, через корпоративные аккаунты и с настройками, которые определило руководство разработки.
- Для каждого инструмента в списке указано: условия хранения данных, используются ли запросы для обучения, какие исключения контента настроены и кто администратор.
3. Что ассистент не получает никогда
- Секреты любого вида: API-ключи, токены, пароли, закрытые ключи, строки подключения.
- Доступы к рабочей среде и прямой доступ к рабочим системам.
- Данные клиентов и персональные данные, в том числе в журналах, выгрузках и тестовых данных, скопированных из рабочей среды.
- Файлы, исключённые настройками, например хранилища секретов и регулируемые данные.
4. Минимальный доступ
- Агенты, которые выполняют команды, работают в песочнице или в среде разработки, но никогда не в рабочей среде.
- Инструменты и права ограничиваются рамками задачи: только чтение там, где чтения достаточно, никакой командной строки там, где хватает узкого инструмента.
- Действия с большими последствиями (удаление данных, изменение доступов, выкладка) требуют явного одобрения человека.
5. Ревью и ответственность
- Код ассистента проходит то же ревью, что и любой другой код. За него отвечает автор, который отправил это изменение.
- Нельзя принимать изменение, которое автор не может объяснить.
- Зависимости, добавленные ассистентом, перед слиянием проверяются: существуют ли они, какая у них лицензия, поддерживаются ли они.
6. Прослеживаемость
- Все изменения идут через систему контроля версий; агенты не пишут напрямую в защищённые ветки.
- Сессии агентов, выполняющих команды, сохраняют журнал выполненного.
7. Инциденты
Секрет, вставленный в запрос, действие агента за пределами его области или уязвимость, найденная в сгенерированном коде, оформляются как инцидент безопасности: секрет отзывается, причина фиксируется.
Как сделать политику проверяемой
| Правило | Как проверить |
| Никаких секретов ассистенту | Поиск секретов в коммитах; исключения контента в настройках инструмента; секреты в хранилище, а не в файлах |
| Минимальный доступ агентам | Агенты работают под собственной учётной записью с ограниченными правами; доступа к рабочей среде в средах разработки просто нет |
| То же ревью | Защита веток требует ревью; никакого обхода для сгенерированных изменений нет |
| Проверка зависимостей | Автоматическая проверка лицензий и уязвимостей в конвейере сборки |
| Только одобренные инструменты | Единый вход и настройки администратора; изменения настроек видны в журналах аудита |
Правило без проверки это пожелание. Если правило нельзя проверить, перепишите его, пока не станет можно, или уберите.
Как мы применяем это сами
В проектах клиентов ассистент предлагает, а человек проектирует архитектуру и принимает каждое решение. Человек проверяет предложение и сам вносит его в проект. AI-агент не получает доступа к учётным данным репозитория, базам данных, строкам подключения, ключам и паролям, и в код не попадает ничего, о чём человек не знает.
Частые вопросы
Стоит ли компании запрещать AI-ассистентов для кода?
Обычно нет. Запрет переносит использование в личные аккаунты, где у компании нет контроля. Политика с одобренными инструментами, запретом на передачу данных, минимальным доступом и обязательным ревью даёт контроль и сохраняет производительность.
Что никогда нельзя передавать AI-ассистенту?
Секреты, такие как API-ключи, токены и пароли, доступы к рабочей среде, данные клиентов и персональные данные, в том числе скопированные из рабочей среды в журналы или тестовые файлы.
Кто отвечает за код, написанный AI-ассистентом?
Человек, который его отправил. Сгенерированный код проходит то же ревью, что любой другой, и нельзя принимать изменение, которое автор не может объяснить.
Как не дать AI-агенту навредить?
Запускать его в песочнице или среде разработки, давать только права, нужные для задачи, требовать одобрения человека для действий с большими последствиями и вести журнал того, что он выполнил.
Как понять, что политика соблюдается?
По проверкам, а не по подписям: поиск секретов, защита веток с обязательным ревью, отдельные учётные записи агентов с ограниченными правами, проверка зависимостей и журналы аудита настроек.
С чего начать
Запишите, какими ассистентами ваши разработчики пользуются сегодня на самом деле и через какие аккаунты. Этот список рядом с шаблоном показывает, где реальные пробелы.
Написать мне
По теме: Управление AI, Архитектор и AI