Режим утверждения
Qwen Code предлагает пять различных режимов разрешений, которые позволяют гибко управлять взаимодействием ИИ с вашим кодом и системой в зависимости от сложности задачи и уровня риска.
Сравнение режимов разрешений
| Режим | Редактирование файлов | Команды оболочки | Для чего лучше всего подходит | Уровень риска |
|---|---|---|---|---|
| Plan | ❌ Только чтение и анализ | ❌ Не выполняются | • Изучение кода • Планирование сложных изменений • Безопасное ревью кода | Наименьший |
| Ask Permissions | ✅ Требуется ручное одобрение | ✅ Требуется ручное одобрение | • Новые/незнакомые кодовые базы • Критические системы • Совместная работа в команде • Обучение | Низкий |
| Auto-Edit | ✅ Автоодобрение | ❌ Требуется ручное одобрение | • Ежедневные задачи разработки • Рефакторинг и улучшение кода • Безопасная автоматизация | Средний |
| Auto | ✅ Оценка классификатором | ✅ Оценка классификатором | • Длительные автономные сессии • Когда Auto-Edit слишком осторожен, но YOLO слишком рискован | Средний |
| YOLO | ✅ Автоодобрение | ✅ Автоодобрение | • Доверенные личные проекты • Автоматизированные скрипты/CI/CD • Пакетная обработка | Наивысший |
Режим, ранее называвшийся Default, переименован в Ask Permissions, чтобы лучше описывать его поведение. Базовое значение конфигурации (tools.approvalMode: "default") и команда /approval-mode default не изменены для обратной совместимости.
Краткое руководство по выбору режима
- Начинайте в режиме Plan: отлично подходит для понимания перед внесением изменений
- Работайте в режиме Ask Permissions: сбалансированный выбор для большинства задач разработки
- Переключайтесь на Auto-Edit: когда нужно внести много безопасных изменений в код
- Попробуйте режим Auto: когда хочется меньше прерываний, но всё ещё нужна безопасность для команд оболочки и сетевых вызовов — классификатор LLM оценивает каждый вызов
- Используйте YOLO с осторожностью: только для доверенной автоматизации в контролируемых средах
Вы можете быстро переключаться между режимами во время сессии с помощью Shift+Tab (или Tab в Windows). Строка состояния терминала показывает текущий режим, так что вы всегда знаете, какие разрешения есть у Qwen Code.
Порядок цикла: plan → default → auto-edit → auto → yolo → plan → …
1. Использование режима Plan для безопасного анализа кода
Режим Plan указывает Qwen Code создать план, анализируя кодовую базу с помощью операций только для чтения — идеально для изучения кодовых баз, планирования сложных изменений или безопасного ревью кода.
Когда использовать режим Plan
- Многоэтапная реализация: когда ваша функция требует внесения изменений во множество файлов
- Изучение кода: когда нужно тщательно изучить кодовую базу перед внесением каких-либо изменений
- Интерактивная разработка: когда хочется итеративно уточнять направление с Qwen Code
Как использовать режим Plan
Включение режима Plan во время сессии
Вы можете переключиться в режим Plan во время сессии с помощью Shift+Tab (или Tab в Windows), перебирая режимы разрешений.
Если вы находитесь в обычном режиме, Shift+Tab (или Tab в Windows) сначала переключается в режим auto-edits, что отображается как ⏵⏵ accept edits on внизу терминала. Последующее нажатие Shift+Tab (или Tab в Windows) переключит в режим Plan, что отображается как ⏸ plan mode.
Использование команды /plan
Команда /plan — это быстрый способ войти в режим Plan и выйти из него:
Обычные запросы на планирование не переключают режимы сами по себе. Если вам нужен режим Plan только для чтения, используйте /plan, сочетание клавиш или явно установите режим утверждения в plan.
/plan # Войти в режим Plan
/plan refactor the auth module # Войти в режим Plan и начать планирование
/plan exit # Выйти из режима Plan, восстановить предыдущий режимПри выходе из режима Plan с помощью /plan exit ваш предыдущий режим утверждения автоматически восстанавливается (например, если вы были в Auto-Edit перед входом в Plan, вы вернётесь в Auto-Edit).
Начать новую сессию в режиме Plan
Чтобы начать новую сессию в режиме Plan, используйте /approval-mode, затем выберите plan
/approval-modeВыполнение “безголовых” запросов в режиме Plan
Вы также можете выполнить запрос в режиме Plan напрямую с помощью -p или prompt:
qwen --prompt "What is machine learning?"Пример: Планирование сложного рефакторинга
/plan I need to refactor our authentication system to use OAuth2. Create a detailed migration plan.Qwen Code входит в режим Plan и анализирует текущую реализацию для создания комплексного плана. Уточните с помощью дополнительных вопросов:
What about backward compatibility?
How should we handle database migration?Настройка режима Plan по умолчанию
// .qwen/settings.json
{
"tools": {
"approvalMode": "plan"
}
}2. Использование режима Ask Permissions для контролируемого взаимодействия
Режим Ask Permissions — это стандартный способ работы с Qwen Code. В этом режиме вы сохраняете полный контроль над всеми потенциально опасными операциями: Qwen Code будет запрашивать ваше одобрение перед внесением любых изменений в файлы или выполнением команд оболочки.
Когда использовать режим Ask Permissions
- Новичок в кодовой базе: когда вы изучаете незнакомый проект и хотите быть особенно осторожны
- Критические системы: при работе с производственным кодом, инфраструктурой или конфиденциальными данными
- Обучение и преподавание: когда нужно понимать каждый шаг, который делает Qwen Code
- Совместная работа в команде: когда несколько человек работают с одной кодовой базой
- Сложные операции: когда изменения затрагивают множество файлов или сложную логику
Как использовать режим Ask Permissions
Включение режима Ask Permissions во время сессии
Вы можете переключиться в режим Ask Permissions во время сессии с помощью Shift+Tab (или Tab в Windows), перебирая режимы разрешений. Если вы находитесь в любом другом режиме, нажатие Shift+Tab (или Tab в Windows) в конце концов переключит обратно в режим Ask Permissions, что отображается отсутствием индикатора режима внизу терминала.
Начать новую сессию в режиме Ask Permissions
Режим Ask Permissions — это начальный режим при запуске Qwen Code. Если вы изменили режим и хотите вернуться к Ask Permissions, используйте:
/approval-mode defaultВыполнение “безголовых” запросов в режиме Ask Permissions
При выполнении безголовых команд режим Ask Permissions используется по умолчанию. Вы можете явно указать его с помощью:
qwen --prompt "Analyze this code for potential bugs"Пример: Безопасная реализация функциональности
/approval-mode defaultI need to add user profile pictures to our application. The pictures should be stored in an S3 bucket and the URLs saved in the database.Qwen Code проанализирует вашу кодовую базу и предложит план. Затем он запросит одобрение перед:
- Созданием новых файлов (контроллеры, модели, миграции)
- Изменением существующих файлов (добавление новых столбцов, обновление API)
- Выполнением любых команд оболочки (миграции базы данных, установка зависимостей)
Вы можете просмотреть каждое предложенное изменение и одобрить или отклонить его индивидуально.
Настройка режима Ask Permissions по умолчанию
// .qwen/settings.json
{
"tools": {
"approvalMode": "default"
}
}3. Режим Auto Edits
Режим Auto-Edit указывает Qwen Code автоматически одобрять редактирование файлов, но требовать ручного одобрения для команд оболочки — идеально для ускорения рабочих процессов разработки при сохранении безопасности системы.
Инструменты редактирования с автоодобрением включают edit, write_file и notebook_edit.
Когда использовать режим Auto-Accept Edits
- Ежедневная разработка: идеален для большинства задач кодинга
- Безопасная автоматизация: позволяет ИИ изменять код, предотвращая случайное выполнение опасных команд
- Совместная работа в команде: используйте в общих проектах, чтобы избежать непреднамеренного влияния на других
Как переключиться в этот режим
# Переключение через команду
/approval-mode auto-edit
# Или с помощью сочетания клавиш
Shift+Tab (or Tab on Windows) # Переключение из других режимовПример рабочего процесса
- Вы просите Qwen Code выполнить рефакторинг функции
- ИИ анализирует код и предлагает изменения
- Автоматически применяет все изменения в файлах без подтверждения
- Если нужно запустить тесты, он запросит одобрение на выполнение
npm test
4. Режим Auto — утверждение на основе классификатора
Режим Auto находится между Auto-Edit и YOLO. Классификатор LLM оценивает каждую команду оболочки, сетевой вызов и редактирование за пределами рабочей области и автоматически одобряет те, которые считает безопасными, блокируя рискованные. Большинство операций только для чтения и правки в рабочей области пропускают классификатор для ускорения.
Полную справку см. в auto-mode.md (конфигурация подсказок, устранение неполадок, FAQ).
Когда использовать режим Auto
- Длительные автономные сессии: когда режим Ask Permissions прерывает слишком часто, а YOLO слишком рискован.
- Доверенные проекты: внутренние кодовые базы, где агент должен продолжать работу, но вы всё ещё хотите защиту от разрушительных команд оболочки и исходящих сетевых вызовов.
- Безголовые / запланированные запуски: когда Auto-Edit недостаточно (агенту
нужно также выполнять команды оболочки), но вы хотите безопасности от
rm -rf /,curl ... | sh, кражи учётных данных и т.д.
Как использовать режим Auto
Включение режима Auto во время сессии
Нажмите Shift+Tab (или Tab в Windows), чтобы переключиться в режим Auto. В строке состояния отображается активный режим.
Используйте команду /approval-mode
/approval-mode autoПри первом входе в режим Auto появляется информационное сообщение с пояснением, как он работает. В дальнейшем это сообщение не показывается.
Начать новую сессию в режиме Auto
// .qwen/settings.json
{
"tools": {
"approvalMode": "auto",
},
}Что режим Auto автоматически одобряет, а что блокирует
Классификатор склонен блокировать при неопределённости. По умолчанию:
- Автоодобрение: команды только для чтения (ls, cat, git status, grep, find), установка пакетов в текущей директории, команды сборки/тестирования, правки файлов внутри рабочей области, операции только локального характера.
- Блокируется: необратимое уничтожение (rm -rf /, fdisk, mkfs), выполнение кода из внешних источников (curl | sh, eval удалённого содержимого), кража учётных данных, несанкционированное сохранение (правки .bashrc, crontab), ослабление безопасности, принудительный push в main/master.
Вы можете настроить оценку классификатора с помощью подсказок на естественном языке в settings.json. См. auto-mode.md.
Защитные ограждения
- Жёсткие правила остаются в силе: правила
permissions.denyблокируют действия до того, как классификатор вообще запускается. - Слишком широкие правила разрешений отключаются в режиме Auto: например,
permissions.allow: ["Bash"](разрешить все команды оболочки) сводит на нет работу классификатора; при входе в режим Auto такие правила временно отключаются, чтобы классификатор мог выполнять свою работу. Правила восстанавливаются при выходе из режима Auto. Настройки на диске никогда не изменяются. - Блокировка при недоступности: когда API классификатора недоступен, действие блокируется, а не разрешается. После двух последовательных недоступных вызовов следующий вызов инструмента переключается на ручное одобрение.
- Защита от зацикливания: после трёх последовательных блокировок политикой следующий вызов также переключается на ручное одобрение, чтобы агент не застрял в цикле на безрезультатном подходе.
Пример
/approval-mode auto
Refactor the auth module to use OAuth2. Run the full test suite afterwards.Qwen Code вносит правки в файлы (правки в рабочей области пропускают классификатор),
запускает npm test (классификатор считает безопасным), и блокирует действие,
если когда-либо попытается сделать что-то рискованное, например rm -rf /Users/me/.aws. Вы можете
просмотреть причину на месте и решить, переключиться ли в режим Ask Permissions для этого шага.
Настройка режима Auto по умолчанию
// .qwen/settings.json
{
"tools": {
"approvalMode": "auto",
},
"permissions": {
"autoMode": {
"hints": {
"allow": ["Running pytest, mypy, and ruff on this Python repo"],
"deny": ["Any network call to intranet.example.com"],
},
"environment": ["Open-source monorepo; commits are signed"],
},
},
}5. Режим YOLO — полная автоматизация
Режим YOLO предоставляет Qwen Code наивысшие разрешения, автоматически одобряя все вызовы инструментов, включая редактирование файлов и команды оболочки.
Когда использовать режим YOLO
- Автоматизированные скрипты: выполнение предопределённых автоматизированных задач
- Конвейеры CI/CD: автоматическое выполнение в контролируемых средах
- Личные проекты: быстрая итерация в полностью доверенных средах
- Пакетная обработка: задачи, требующие многоэтапных цепочек команд
Используйте режим YOLO с осторожностью: ИИ может выполнить любую команду с правами вашего терминала. Убедитесь, что:
- Вы доверяете текущей кодовой базе
- Вы понимаете все действия, которые выполнит ИИ
- Важные файлы сохранены в резервной копии или зафиксированы в системе контроля версий
Как включить режим YOLO
# Временное включение (только текущая сессия)
/approval-mode yolo
# Установка по умолчанию для проекта
/approval-mode yolo --project
# Установка глобально для пользователя
/approval-mode yolo --userПример конфигурации
// .qwen/settings.json
{
"tools": {
"approvalMode": "yolo"
}
}Пример автоматизированного рабочего процесса
# Полностью автоматизированная задача рефакторинга
qwen --prompt "Run the test suite, fix all failing tests, then commit changes"
# Без вмешательства человека ИИ будет:
# 1. Выполнять команды тестирования (автоодобрение)
# 2. Исправлять упавшие тесты (авторедактирование файлов)
# 3. Выполнять git commit (автоодобрение)Переключение режимов и конфигурация
Переключение с помощью сочетания клавиш
Во время сессии Qwen Code используйте Shift+Tab (или Tab в Windows), чтобы быстро перебирать пять режимов:
Plan Mode → Ask Permissions Mode → Auto-Edit Mode → Auto Mode → YOLO Mode → Plan ModeПостоянная конфигурация
// На уровне проекта: ./.qwen/settings.json
// На уровне пользователя: ~/.qwen/settings.json
{
"tools": {
"approvalMode": "auto-edit" // или "plan", "default", "auto", "yolo"
}
}Рекомендации по использованию режимов
- Новый код: начните с Plan Mode для безопасного изучения
- Ежедневные задачи разработки: используйте Auto-Accept Edits (режим по умолчанию), эффективно и безопасно
- Автоматизированные скрипты: используйте YOLO Mode в контролируемых средах для полной автоматизации
- Сложный рефакторинг: сначала используйте Plan Mode для детального планирования, затем переключитесь на подходящий режим для выполнения