ИИ и LLM в командной разработке
ИИ уже в вашем процессе — нужны правила
LLM (Large Language Model) — большая языковая модель: ChatGPT, Claude, Gemini, локальные Llama и др. Copilot и аналоги в IDE подсказывают код по контексту файла. Даже если команда "официально не использует ИИ", отдельные разработчики часто уже пробуют ассистентов.
Без письменной политики в wiki типичны проблемы:
- утечка секретов и ПДн в облачный сервис;
- код с сомнительной лицензией в репозитории;
- нейрослоп — объёмный, но бессмысленный код без review;
- junior копирует решение, которое не может объяснить на созвоне;
- заказчик на аудите спрашивает про IP — ответа нет.
Политику (1–2 страницы) согласуют с ИБ и юристами. Технологии ИИ глубже — раздел 6. Процесс review — культура кода.
Спрашивайте наставника до вставки большого куска от Copilot. Лучше 20 минут обсуждения, чем день переделки после review и урок "объясни каждую строку".
Одобренные инструменты
Команда фиксирует whitelist — что разрешено на проекте:
| Категория | Пример | Условие |
|---|---|---|
| IDE Copilot (org) | GitHub Copilot Business | DPA, запрет обучения на вашем коде — по договору |
| IDE локально | Continue + локальная модель | Код не покидает контур |
| Чат для документации | Enterprise ChatGPT / Claude Team | Без секретов, audit log |
| Публичный бесплатный чат | ChatGPT free | Только обезличенные вопросы, не prod-код |
| Запрещено | Личный бот с загрузкой репо | Риск утечки |
Новый инструмент — через заявку к ИБ, не "поставил сам".
Что разрешить и что запретить
| Область | Рекомендация | Комментарий |
|---|---|---|
| Бойлерплейт, DTO, маппинг | Можно с обязательным review | Проверить стиль проекта |
| Черновик unit-тестов | Можно | QA/dev проверяют границы и asserts |
| Рефакторинг rename/extract | Можно | Diff должен быть читаем |
| Auth, OAuth, JWT, сессии | Только с усиленным review | Security checklist, 2-й ревьюер |
| Платежи, PCI, billing | Только с усиленным review | Часто рукописно или pair |
| Криптография | Не генерировать целиком | Использовать проверенные библиотеки |
| ПДн, ключи API, пароли в промпт | Запрещено | Инцидент ИБ |
| Prod connection strings | Запрещено | Даже "для отладки" |
| Весь репозиторий в публичный чат | Запрещено | IP и утечка |
| Черновик ADR, release notes | Можно | Факт-чек человеком |
| User story, BPMN текстом | Можно | BA валидирует с заказчиком |
Политика использования ИИ — структура документа
Минимальные разделы wiki-страницы AI Policy:
- Scope — на какие репозитории и среды распространяется.
- Approved tools — таблица инструментов и запретов.
- Data classification — что нельзя в промпт (секреты, ПДн, NDA).
- Development — правила PR, review, high-risk зоны.
- QA / BA — валидация артефактов от модели.
- Junior / onboarding — ожидания от наставника.
- Incidents — куда сообщать о случайной утечке в промпт.
- Review date — дата пересмотра (раз в 6–12 месяцев).
Ссылка на политику — в онбординг-пакете и README репозитория.
Review кода от ИИ
Код от модели проходит те же правила, что и человеческий: культура кода, CI, DoD.
Обязательные правила автора PR
- Понимание — автор объясняет каждую значимую строку на review без "Copilot так написал".
- Тесты — покрывают реальное поведение; запрещены пустые
assert Trueи тесты-копии реализации. - Зависимости — нет лишних пакетов, которые модель "придумала".
- API — существуют ли методы и версии (модели галлюцинируют устаревшие API).
- Прозрачность — в описании PR указано использование ИИ (см. шаблон ниже).
- Размер diff — большие AI-генерации дробят на обозримые PR.
Чек-лист ревьюера
- Логика соответствует тикету и AC.
- Нет hardcoded secrets, TODO с prod URL.
- Обработка ошибок и edge cases не вырезаны "для краткости".
- Стиль и паттерны проекта, не generic Stack Overflow.
- Лицензии новых зависимостей OK (7.07).
- Для auth/PII — пройден security checklist.
Модель уверенно пишет вызовы несуществующих методов SDK. Всегда сверяйте с официальной документацией и компилятором/линтером — зелёный CI обязателен.
Пример политики AI code review
Ниже — фрагмент регламента, который команда может адаптировать в wiki (вымышленный продукт ShopFlow, 12 разработчиков, Copilot Business + запрет публичного ChatGPT с кодом).
1. Маркировка PR
В описании PR обязательный блок:
## AI disclosure
- [ ] Код писался без ИИ
- [x] Использовался: GitHub Copilot (IDE)
- [ ] Использовался: ChatGPT / другое: ___
**Что сгенерировано:** черновик unit-тестов для OrderService.calculateTotal;
**Что переписано вручную:** логика скидок и граничные случаи.
2. Уровни review
| Уровень | Зоны | Требования |
|---|---|---|
| Standard | UI, утилиты, docs | 1 approve, CI green |
| Elevated | DB migrations, интеграции | 1 senior approve |
| Security | Auth, payments, PII | 2 approve + checklist ИБ |
AI-код не понижает уровень. Auth с Copilot = Security.
3. Запрещённые практики
- Вставка >100 строк от модели без пошагового разбора на review.
- Merge при комментарии "не разбирался, CI прошёл".
- Промпты с реальными email/телефонами из stage БД.
4. SLA и эскалация
- Ревьюер задаёт вопрос "объясни строки 45–60" — автор отвечает в тикете PR, не "перегенерировал".
- При подозрении на утечку секрета в промпт — немедленно ИБ, ротация ключей.
5. Метрики (опционально)
Тимлид раз в квартал смотрит: доля PR с AI disclosure, дефекты на prod из таких PR, время review. Не для наказания — для корректировки обучения.
Промпты: что можно и нельзя
Допустимо (при одобренном инструменте)
- "Напиши Jest-тест для функции X" + сигнатура без бизнес-секретов.
- "Переформулируй комментарий к PR".
- "Объясни паттерн Repository на примере псевдокода".
- Обезличенный snippet с заменой
ACME Corp→ExampleCorp.
Запрещено
- Файлы с
.env, ключами, prod дампами. - Списки пользователей с email/телефонами.
- Полный
application.ymlprod. - Скриншоты внутренней админки с данными клиентов.
Корпоративный Copilot/ChatGPT Team с DPA — другой риск-профиль, чем личный аккаунт. Политика должна различать их явно.
Лицензии и авторские права
Сгенерированный код может повторять фрагменты под GPL, AGPL или чужие сниппеты. Действия команды:
- проверка лицензий зависимостей;
- SCA (Software Composition Analysis) в CI для новых пакетов;
- договор с заказчиком — кому принадлежит результат, можно ли использовать AI;
- при OSS-контрибуции — disclosure, что код частично AI (политика фонда/лицензии).
ИИ в аналитике
- Черновики user story, job stories, BPMN-текст — BA валидирует с заказчиком; цифры и сроки — не от модели.
- Модель не подписывает приёмку и акт.
- Требования в тикете — источник правды, не переписка с ChatGPT.
Прототипирование и макеты — человек; ИИ может набросать текст подсказок UI для review.
ИИ в QA и тестировании
- Тест-кейсы от модели — QA проверяет покрытие, границы, негативные сценарии.
- Тестовые данные — синтетические или обезличенные; не prod dump в промпт.
- Автотесты от Copilot — code review как production-код.
- ИИ не заменяет exploratory testing и sign-off релиза.
См. тестирование, DoD.
ИИ в документации и release notes
- Черновик release notes — OK; факты версий и breaking changes проверяет dev/PO.
- ADR — модель может структурировать, решение и trade-offs пишет architect/lead.
- Техписьмо — финальная редактура человеком.
Обучение junior
ИИ — ускоритель, как IDE autocomplete или поиск документации:
- Сначала попробовать самому 15–30 минут — потом спросить модель узкий вопрос.
- Объяснить решение наставнику без открытого чата с моделью.
- Не сдавать задачу, если не можете пройти "mock review" по строкам.
- Лабораторные и собеседования — по правилам учебного заведения/компании (часто ИИ запрещён).
Вайб-кодинг · советы для новичка.
Удалённая команда и прозрачность
В распределённой команде политика ИИ только в wiki — не "мы в офисе договорились". PR с AI disclosure читают ревьюеры в другом TZ без созвона.
Инцидент: секрет попал в промпт
- Автор сообщает ИБ и тимлиду сразу.
- Ротация скомпрометированного ключа/токена.
- Запись в post-mortem (без публичных деталей секрета).
- Обновление политики и напоминание команде.
См. инциденты.
Классификация данных для промптов
Согласуйте с ИБ таблицу уровней:
| Уровень | Примеры | В публичный LLM | В enterprise LLM | Локально |
|---|---|---|---|---|
| Public | Документация OSS, общие паттерны | Да | Да | Да |
| Internal | Архитектура без секретов, обезличенный код | Нет | По политике DPA | Да |
| Confidential | Prod URLs, схемы БД с именами | Нет | Нет без исключения | По согласованию |
| Restricted | Ключи, ПДн, PCI | Нет | Нет | Нет в промпт |
Исключения — только письменное разрешение ИБ с timebox.
Полный пример политики (сокращённый)
Ниже — skeleton wiki-страницы AI-Policy-v1 для команды 15 человек (web + mobile).
# AI Policy — ShopFlow Engineering
**Version:** 1.2 | **Owner:** @em | **Review:** 2026-12-01
## 1. Approved tools
- GitHub Copilot Business (org license) — IDE
- Claude Team — тексты, docs (no code paste >30 lines)
- FORBIDDEN: personal ChatGPT with repo content
## 2. Prompt rules
- NO secrets, PII, prod dumps
- Max 50 lines internal code per prompt unless ticket says spike-id
## 3. PR rules
- AI disclosure block required
- Security zones: auth/* payments/* — 2 approvers + checklist SEC-01
## 4. QA/BA
- AI test cases: QA sign-off on coverage matrix
- AI user stories: BA validates with PO
## 5. Incidents
- #security-ai Slack → rotate keys → post-mortem template PM-04
## 6. Training
- Junior: explain solution in 1:1 without IDE AI every other task
Адаптируйте под ваш контур и договор с заказчиком (IP).
Copilot в CI/CD и инфраструктуре
| Область | Риск | Политика |
|---|---|---|
| Dockerfile / K8s | Небезопасные defaults | Review + ИБ |
| GitHub Actions | Секреты в логах | Запрет paste workflow с prod secrets |
| Terraform | Открытые SG | Security review |
| SQL migrations | DROP без backup | DBA review, no AI-only |
Аудит и compliance
Для regulated / enterprise заказчиков:
- Audit log enterprise Copilot / Claude Team — кто, когда (без содержимого промпта по политике vendor).
- Ежеквартальный sample review PR с AI disclosure.
- Вопросник безопасности заказчика — ссылка на wiki policy.
- SOC2 / ISO — доказательство обучения команды (запись onboarding + quiz опционально).
Сценарии code review с ИИ (разбор)
Сценарий A — OK
Junior генерирует unit-тесты для PriceCalculator. Переписывает asserts под граничные случаи. PR: disclosure, 80 строк, 1 approve, CI green.
Сценарий B — Отклонено
PR: 400 строк Copilot auth middleware. Автор не отвечает на комментарий про refresh rotation. Request changes → переписать с senior или pair.
Сценарий C — Инцидент
Dev вставил .env snippet в ChatGPT. Действия: rotate keys, post-mortem, напоминание политики в overlap all-hands 10 мин.
ИИ и DoR/DoD
DoR: spike на AI-feasibility — timebox 4 ч, критерий "понятно, human-in-the-loop".
DoD:
- AI disclosure в PR;
- нет restricted data в commit history;
- license check на AI-suggested packages.
Типичные ошибки
| Ошибка | Риск | Что делать |
|---|---|---|
| "CI зелёный — merge" | Скрытые баги | Объяснимость кода |
| Нет политики | Хаос и утечки | Wiki + ИБ |
| Запрет без альтернативы | Теневое использование | Whitelist + обучение |
| AI для всего auth | Компрометация | Security review |
| Тесты от модели без QA | Ложное покрытие | Review кейсов |
Связь с DoD
Definition of Done может включать:
- PR содержит AI disclosure при использовании;
- high-risk зоны прошли elevated/security review;
- нет новых зависимостей без license check.