Forge
markdown4405de34
1# ADR 0071: Принципы интеграции AI/ассистента в IDE — суверенитет, локальность, невидимость
2
3**Статус:** Proposed
4**Дата:** 2026-04-19
5## Связанные ADR
6
7| ADR | Роль |
8|-----|------|
9| [0013](0013-command-surface-and-discoverability.md) | палитра, discoverability |
10| [0008](0008-mcp-contracts-and-testable-infrastructure.md) | MCP, паритет |
11| [0020](0020-agent-reasoning-visibility-and-provider-limits.md) | видимость рассуждения агента |
12| [0028](0028-user-settings-toml-localappdata-and-secrets.md) | настройки и секреты |
13| [0038](0038-agent-facade-ai-provider-and-tool-orchestration.md) | фасад провайдеров |
14| [0060](0060-keyboard-chord-stack-fms-tactical-strategic.md) | аккорды; §10 — философия UX |
15
16### Вне ADR
17
18| Документ | Роль |
19|----------|------|
20| [cascadeide-philosophy-v1.md](../design/cascadeide-philosophy-v1.md) | cascadeide philosophy v1 |
21
22---
23## Контекст
24
25Пользовательский опыт IDE исторически опирался на **предсказуемость** и **контроль**: действие → ожидаемый эффект, локальная работа, понятные границы. Распространение **облачных inline-ассистентов** во встроенном редакторе создало класс риска: помощь становится **заметнее задачи**, ослабляется **суверенитет** (отключение, политика подсказок), растёт **когнитивная нагрузка** («что модель сделает дальше?»).
26
27CascadeIDE изначально ориентирована на **agent-first** контур с **наблюдаемостью** (MCP, ADR, паритет команд), а не на непрозрачное смешение «модель внутри каждого символа» без согласия и без альтернативного пути.
28
29---
30
31## Решение
32
33<a id="adr0071-p1"></a>
34
35### 1. Зафиксировать принципы интеграции любой AI/ассистентской функции
36
37| Принцип | Требование |
38|---------|------------|
39| **Суверенитет** | Пользователь может **отключить или ограничить** класс подсказок/автоматики на уровне продукта (не «только спрятать визуально» без отключения контракта с облаком, если такой контракт есть — это должно быть **явно** и управляемо). |
40| **Локальность и границы** | Предпочтительны сценарии, где **источник истины** и критичный путь — **репозиторий, MCP, IDE**; внешние провайдеры — **с явной** границей и политикой ([0008](0008-mcp-contracts-and-testable-infrastructure.md), [0028](0028-user-settings-toml-localappdata-and-secrets.md)). |
41| **Прозрачность** | Поведение, влияющее на код и рабочий контур, **документируется** (ADR, пользовательская справка), а не остаётся только в модели вендора. |
42| **Невидимость по умолчанию** | UX-фичи, которые конкурируют с кодом за внимание, проходят планку **«суфлёр, не режиссёр»** ([0060](0060-keyboard-chord-stack-fms-tactical-strategic.md) §6, §10). |
43| **Одна модель команд** | Любое действие, доступное ассистенту или автоматике, имеет путь через **`command_id`** и паритет с палитрой/MCP, где применимо ([0013](0013-command-surface-and-discoverability.md), [0030](0030-command-ids-hotkeys-and-ui-registry-layers.md)). |
44| **Честность рассуждения** | Слои видимости и лимиты провайдеров — по [0020](0020-agent-reasoning-visibility-and-provider-limits.md); не имитировать «полное мышление» без обозначенных границ. |
45
46<a id="adr0071-p2"></a>
47
48### 2. Анти-паттерн (не целевой UX)
49
50Считать **нежелательным ориентиром** для baseline CascadeIDE следующий профиль:
51
52- облачный inline-дополнение кода **по умолчанию везде**, без устойчивого отключения;
53- поведение, которое **затрудняет** предсказание того, что окажется в буфере редактора;
54- смешение **подписки / аккаунта вендора** с базовым циклом «открыть решение — редактировать — собрать — отладить» без явной альтернативы.
55
56Детали и исторический нарратив — в [cascadeide-philosophy-v1.md](../design/cascadeide-philosophy-v1.md); ADR фиксирует **норму продукта**, а не обзор конкурентов.
57
58<a id="adr0071-p3"></a>
59
60### 3. Не-цели этого ADR
61
62- Не запрещать **опциональную** интеграцию внешних LLM ([0035](0035-mfd-embedded-webview-external-llm-and-mcp-boundary.md)) — с явной границей доверия.
63- Не фиксировать **конкретный SKU** или лицензию сторонних продуктов (политики меняются).
64- Не заменять собой **техническую** спецификацию фасада агента ([0038](0038-agent-facade-ai-provider-and-tool-orchestration.md)) — только продуктовые принципы UX и доверия.
65
66---
67
68## Последствия
69
70- Новые фичи с AI/ассистентом проходят проверку на соответствие §1; при конфликте — отдельное обсуждение или осознанное исключение с записью в ADR.
71- Пользовательская документация может ссылаться на [cascadeide-philosophy-v1.md](../design/cascadeide-philosophy-v1.md) как на **человекочитаемый** слой; норматив для реализации — этот ADR и связанные ADR по ссылкам.
72
73---
74
75## Открытые вопросы
76
77- Критерии «достаточного отключения» для конкретных классов inline-помощи (полное off vs режимы глубины).
78- Нужна ли отдельная **матрица compliance** для корпоративных режимов (air-gapped, без облака).
79
View only · write via MCP/CIDE