ADR 0071: Принципы интеграции AI/ассистента в IDE — суверенитет, локальность, невидимость¶
Статус: Proposed
Дата: 2026-04-19
Связанные ADR¶
| ADR | Роль |
|---|---|
| 0013 | палитра, discoverability |
| 0008 | MCP, паритет |
| 0020 | видимость рассуждения агента |
| 0028 | настройки и секреты |
| 0038 | фасад провайдеров |
| 0060 | аккорды; §10 — философия UX |
Вне ADR¶
| Документ | Роль |
|---|---|
| cascadeide-philosophy-v1.md | cascadeide philosophy v1 |
Контекст¶
Пользовательский опыт IDE исторически опирался на предсказуемость и контроль: действие → ожидаемый эффект, локальная работа, понятные границы. Распространение облачных inline-ассистентов во встроенном редакторе создало класс риска: помощь становится заметнее задачи, ослабляется суверенитет (отключение, политика подсказок), растёт когнитивная нагрузка («что модель сделает дальше?»).
CascadeIDE изначально ориентирована на agent-first контур с наблюдаемостью (MCP, ADR, паритет команд), а не на непрозрачное смешение «модель внутри каждого символа» без согласия и без альтернативного пути.
Решение¶
1. Зафиксировать принципы интеграции любой AI/ассистентской функции¶
| Принцип | Требование |
|---|---|
| Суверенитет | Пользователь может отключить или ограничить класс подсказок/автоматики на уровне продукта (не «только спрятать визуально» без отключения контракта с облаком, если такой контракт есть — это должно быть явно и управляемо). |
| Локальность и границы | Предпочтительны сценарии, где источник истины и критичный путь — репозиторий, MCP, IDE; внешние провайдеры — с явной границей и политикой (0008, 0028). |
| Прозрачность | Поведение, влияющее на код и рабочий контур, документируется (ADR, пользовательская справка), а не остаётся только в модели вендора. |
| Невидимость по умолчанию | UX-фичи, которые конкурируют с кодом за внимание, проходят планку «суфлёр, не режиссёр» (0060 §6, §10). |
| Одна модель команд | Любое действие, доступное ассистенту или автоматике, имеет путь через command_id и паритет с палитрой/MCP, где применимо (0013, 0030). |
| Честность рассуждения | Слои видимости и лимиты провайдеров — по 0020; не имитировать «полное мышление» без обозначенных границ. |
2. Анти-паттерн (не целевой UX)¶
Считать нежелательным ориентиром для baseline CascadeIDE следующий профиль:
- облачный inline-дополнение кода по умолчанию везде, без устойчивого отключения;
- поведение, которое затрудняет предсказание того, что окажется в буфере редактора;
- смешение подписки / аккаунта вендора с базовым циклом «открыть решение — редактировать — собрать — отладить» без явной альтернативы.
Детали и исторический нарратив — в cascadeide-philosophy-v1.md; ADR фиксирует норму продукта, а не обзор конкурентов.
3. Не-цели этого ADR¶
- Не запрещать опциональную интеграцию внешних LLM (0035) — с явной границей доверия.
- Не фиксировать конкретный SKU или лицензию сторонних продуктов (политики меняются).
- Не заменять собой техническую спецификацию фасада агента (0038) — только продуктовые принципы UX и доверия.
Последствия¶
- Новые фичи с AI/ассистентом проходят проверку на соответствие §1; при конфликте — отдельное обсуждение или осознанное исключение с записью в ADR.
- Пользовательская документация может ссылаться на cascadeide-philosophy-v1.md как на человекочитаемый слой; норматив для реализации — этот ADR и связанные ADR по ссылкам.
Открытые вопросы¶
- Критерии «достаточного отключения» для конкретных классов inline-помощи (полное off vs режимы глубины).
- Нужна ли отдельная матрица compliance для корпоративных режимов (air-gapped, без облака).