← [Раздел](README.md) · [Главная](../README.md)

# Режимы: Chat, Agent, Plan

## Цель

Выбирать правильный **режим Cursor** под задачу, понимать ограничения Plan mode и избегать смешения «спросил» и «сделай» в одной сессии без ясного scope.

## Предварительно

- [README раздела 10](README.md)
- [01 — Введение в AI](../01-vvedenie-v-ai/README.md) — ассистент vs агент

## Время

~45 минут + практика в течение недели.

---

## Обзор режимов

| Режим | Инструменты | Правит файлы | Типичная задача |
|-------|-------------|--------------|-----------------|
| **Ask / Chat** | Ограниченно | Нет* | Объяснить код, сравнить подходы |
| **Agent** | Полный набор | Да | Реализовать фичу, починить баг |
| **Plan** | Чтение, анализ | Нет | Архитектура, план рефакторинга |
| **Tab** | Inline | Подсказки | Дописать строку, boilerplate |

\*В новых версиях границы могут размываться — проверяйте UI.

---

## Chat (Ask)

**Когда:**

- «Что делает эта функция?»
- «Сравни REST vs gRPC для нашего кейса»
- обучение без риска правок

**Когда не Chat:**

- нужно изменить 5 файлов и прогнать тесты → **Agent**

**Совет:** явно пишите «не меняй файлы, только объясни».

---

## Agent (Composer)

**Когда:**

- многошаговые задачи с terminal;
- рефакторинг с тестами;
- создание новых файлов.

**Дисциплина:**

1. Одна **цель** на сессию.
2. Прикрепите @файлы или @rule.
3. Проверяйте diff перед accept all.
4. Используйте `/plan` или Plan mode **до** больших рефакторингов.

**Модели:** для Agent часто выбирают более capable модель; субагенты ECC могут использовать более дешёвую модель для обзора.

---

## Plan mode

**Plan mode** — агент **только планирует**: читает код, предлагает шаги, **не применяет** патчи.

| Плюс | Минус |
|------|-------|
| Меньше случайных правок | Нужен второй шаг — Agent |
| Видно trade-offs | Дольше цикл |

**Workflow:**

```text
Plan: «Как разбить auth на модули?»  →  документ плана
Agent: «Выполни шаги 1–3 из плана»  →  код
```

В Cursor переключение через UI или `SwitchMode` tool (если агент предлагает).

---

## Типичные сценарии выбора

| Ситуация | Режим |
|----------|-------|
| Незнакомый legacy-модуль | Chat → потом Plan |
| Миграция API 20+ файлов | Plan → Agent по этапам |
| Опечатка в одном файле | Ручная правка или Tab |
| Code review чужого PR | Chat + @Git diff |
| Прод-инцидент | Chat для гипотез; Agent только на копии |

---

## Субагенты в Agent mode

Cursor может запускать **Task** / subagent (code-reviewer, explore). Это не отдельный режим UI, а **делегирование** внутри Agent.

Правила ECC: [06 — Agents](../06-agents/README.md).

---

## Переключение без потери контекста

| Проблема | Решение |
|----------|---------|
| Plan переполнил контекст | Экспорт плана в `docs/plan.md`, новая сессия Agent |
| Agent ушёл не туда | Stop, уточнить промпт, откатить git |
| Chat «забыл» файлы | Повторный @file |

Skill `strategic-compact` (ECC) — сжимать контекст на границах фаз вручную.

---

## Упражнение

На учебном репо:

1. **Chat:** объясни структуру каталогов.
2. **Plan:** план добавления CLI-флага `--verbose`.
3. **Agent:** реализуй только шаг 1 плана.
4. Сравните качество, если пропустить шаг Plan.

---

## Самопроверка

1. Может ли Plan менять файлы?
2. Когда Chat опаснее Agent?
3. Зачем экспортировать план в markdown?
4. Что делать, если Agent ушёл за scope?

---

## Дальше

→ [MCP-серверы](mcp-servery.md)  
← [Оглавление раздела 10](README.md)
