Интерактивный режим - это основная среда ежедневной работы, и владение им сводится к трём вещам: управлению turn, редактированию ввода и быстрым префиксам. Turn - это один заход агента; его нужно уметь не только запускать, но и вовремя останавливать. Esc прерывает текущий response или инструмент, сохраняя уже сделанную работу, и закрывает открытый диалог - это главный инструмент вмешательства, когда агент пошёл не туда.
Остальные клавиши управления turn стоит выучить как рефлекс. Ctrl+C прерывает работу, а на пустом вводе очищает строку; повторное нажатие завершает процесс. Двойной Esc на пустом вводе открывает rewind, а при наборе - очищает draft, сохранив его в историю. Shift+Tab переключает доступные permission modes, Alt+P меняет модель без потери draft, Alt+T переключает extended thinking, если модель его разрешает, Alt+O - fast mode. Фоновые задачи уходят в background по Ctrl+B.
Редактирование ввода следует привычной readline-логике: перемещение в начало и конец строки, удаление до края или предыдущего слова, поиск по истории, отмена правки. Prompt можно открыть во внешнем редакторе через $EDITOR, спрятать и вернуть draft, найти прошлый ввод. Многострочный ввод набирают через обратный слэш с Enter, Ctrl+J или Shift+Enter в поддерживающих терминалах; в VS Code, Cursor и некоторых других сначала выполняют /terminal-setup.
Полезно один раз свести ключевые сочетания в таблицу, чтобы не держать их в голове, а возвращаться по мере надобности. Ниже - карта управления turn и правки ввода: прерывание, rewind, переключение режима и модели, базовое редактирование. К ней возвращаются, когда рука ещё не запомнила рефлексы: именно Esc и Shift+Tab, а не перезапуск сессии, - правильная реакция на то, что агент пошёл не так.
| Сочетание | Что делает |
|---|---|
| Esc | Прервать response/tool, сохранив работу; закрыть диалог |
| Ctrl+C | Прервать; на пустом вводе очистить строку, повтор - выход |
| Esc Esc | На пустом вводе - rewind; при тексте - очистить draft в историю |
| Shift+Tab | Переключить permission modes |
| Alt+P / Alt+T / Alt+O | Модель / extended thinking / fast mode |
| Ctrl+B | Отправить Bash-задачи и агентов в background |
|---|
| Ctrl+O | Transcript viewer с полными вызовами инструментов |
|---|
Быстрые префиксы в начале строки задают режим ввода. Слэш вызывает команду или skill. Восклицательный знак включает shell mode: команда выполняется, а её вывод добавляется в сессию - но shell mode не обходит permissions и sandbox, он лишь даёт человеку явно запустить команду и положить результат в разговор. Собака запускает автодополнение файла, MCP-ресурса или субагента, а знак вопроса на пустой строке показывает справку по сочетаниям.
Для диагностики и чтения есть отдельные средства. Ctrl+O открывает transcript viewer с полными вызовами инструментов - именно его, а не сокращённый вид, используют, когда надо понять, что на самом деле делал агент. Команда /focus убирает визуальный шум, но не меняет контекст модели, а /tui fullscreen включает полноэкранный рендер с устойчивой прокруткой. Focus-режим удобен для чтения, но для разбора инструментов нужен полный transcript.
Vim mode включается через /config в разделе Editor mode и настраивается тонко. Двухсимвольную последовательность для выхода из режима вставки задают через vimInsertModeRemaps - например, jj на Escape. Важная деталь безопасности: такие переназначения клавиш допустимы только в user- или managed-настройках, и project-настройки не могут переопределить ваши клавиши. Это защита от репозитория, который иначе мог бы менять поведение вашего ввода.
Типичные провалы интерактива - про контроль внимания. Ждать, пока агент сам остановится, вместо того чтобы прервать его Esc в момент, когда он пошёл не туда. Перезапускать сессию вместо rewind по двойному Esc, теряя контекст. И полагаться на focus-вид при диагностике, не открыв полный transcript, где видны реальные вызовы инструментов. Освойте прерывание, rewind и переключение режима как рефлекс - и интерактив станет управляемым, а не потоком, который остаётся лишь наблюдать.
// Vim-режим и выход из INSERT - только в user/managed settings
{
"editorMode": "vim",
"vimInsertModeRemaps": { "jj": "<Esc>" }
}
// project-настройки НЕ могут переназначить ваши клавиши