Перейти к содержанию

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, без облака).