Инструмент выхода из режима планирования (exit_plan_mode)
В этом документе описывается инструмент exit_plan_mode для Qwen Code.
Описание
Используйте exit_plan_mode, когда вы находитесь в режиме планирования и завершили представление своего плана реализации. Этот инструмент запрашивает у пользователя подтверждение или отклонение плана и переводит систему из режима планирования в режим реализации.
Инструмент специально предназначен для задач, требующих предварительного планирования шагов реализации перед написанием кода. Его НЕ следует использовать для исследовательских задач или сбора информации.
Аргументы
exit_plan_mode принимает один аргумент:
plan(строка, обязательный): План реализации, который вы хотите представить пользователю для одобрения. Это должен быть краткий план в формате Markdown, описывающий шаги реализации.
Как использовать exit_plan_mode с Qwen Code
Инструмент выхода из режима планирования входит в рабочий процесс планирования Qwen Code. Когда вы находитесь в режиме планирования (обычно после исследования кодовой базы и разработки подхода к реализации), используйте этот инструмент для:
- Представления пользователю вашего плана реализации
- Запроса подтверждения на выполнение реализации
- Перехода из режима планирования в режим реализации на основе ответа пользователя
Инструмент предложит пользователю ваш план и предоставит следующие варианты действий:
- Выполнить один раз: Подтвердить план только для текущей сессии
- Выполнять всегда: Подтвердить план и включить автоматическое подтверждение для будущих операций редактирования
- Отменить: Отклонить план и остаться в режиме планирования
Использование:
exit_plan_mode(plan="Ваш подробный план реализации здесь...")Когда использовать этот инструмент
Используйте exit_plan_mode, когда:
- Задачи реализации: вы планируете шаги реализации программной задачи
- Завершение плана: вы завершили исследование и проектирование подхода к реализации
- Требуется подтверждение пользователя: перед внесением изменений в код необходимо получить подтверждение от пользователя
- Задачи, связанные с написанием кода: задача включает написание, изменение или рефакторинг кода
Примеры корректного использования:
- «Помогите мне реализовать аутентификацию пользователей» → используйте после планирования реализации системы аутентификации
- «Добавьте новый API-эндпоинт для управления пользователями» → используйте после проектирования структуры эндпоинта
- «Выполните рефакторинг слоя работы с базой данных с использованием TypeORM» → используйте после планирования подхода к рефакторингу
Когда НЕ следует использовать этот инструмент
НЕ используйте exit_plan_mode в следующих случаях:
- Исследовательские задачи: Задачи, направленные на понимание или изучение существующего кода
- Сбор информации: Когда вы выполняете поиск, чтение или анализ без реализации изменений
- Задачи по документированию: Когда вы создаёте документацию без внесения изменений в код
- Анализирующие задачи: Когда вы предоставляете пояснения или проводите ревью без реализации
Примеры неправильного использования:
- «Найдите и изучите реализацию режима vim в кодовой базе» → Не используйте (исследовательская задача)
- «Объясните, как работает система аутентификации» → Не используйте (анализирующая задача)
- «Найдите все комментарии TODO в проекте» → Не используйте (сбор информации)
Примеры использования exit_plan_mode
Пример планирования реализации
exit_plan_mode(plan="## План реализации пользовательской панели управления
### 1. Создание компонентов панели управления
- Создайте файл `UserDashboard.tsx` с основным макетом панели управления.
- Добавьте файл `DashboardStats.tsx` для отображения статистики пользователя.
- Реализуйте файл `ActivityFeed.tsx` для отображения последних действий пользователя.
### 2. Интеграция API
- Создайте файл `dashboardApi.ts` для получения данных панели управления.
- Добавьте эндпоинты для статистики пользователя и данных об активности.
- Реализуйте обработку ошибок и состояния загрузки.
### 3. Обновление маршрутизации
- Добавьте маршрут панели управления в файл `App.tsx`.
- Обновите компонент навигации, добавив ссылку на панель управления.
- Добавьте защиту маршрута для аутентифицированных пользователей.
### 4. Тестирование и документация
- Напишите модульные тесты для компонентов панели управления.
- Добавьте интеграционные тесты для вызовов API.
- Обновите документацию для пользователей с описанием возможностей панели управления.
Реализация этого плана займёт примерно 4–6 часов и потребует изменений в 8–10 файлах.
### Пример плана рефакторинга
exit_plan_mode(plan=”## План рефакторинга уровня базы данных
Этап 1: Настройка и конфигурация
- Установите и настройте зависимости TypeORM.
- Создайте конфигурацию подключения к базе данных.
- Определите сущности (entities) для существующих моделей.
Этап 2: Миграция
- Создайте скрипты миграции для существующих данных.
- Реализуйте новый шаблон репозитория с использованием TypeORM.
- Замените «сырые» SQL-запросы на построитель запросов TypeORM.
Этап 3: Тестирование и проверка
- Обновите все тесты базы данных для работы с TypeORM.
- Проверьте целостность данных после миграции.
- Проведите тестирование производительности, чтобы убедиться в отсутствии регрессий.
Эта рефакторизация обновит наш слой работы с базой данных, сохранив обратную совместимость.
Обработка ответов пользователя
После вызова exit_plan_mode пользователь может ответить несколькими способами:
- Выполнить один раз: план утверждается для немедленного выполнения с настройками подтверждения по умолчанию
- Всегда выполнять: план утверждается, а автоматическое утверждение включается для последующих операций редактирования
- Отменить: план отклоняется, и система остаётся в режиме планирования для дальнейшей работы над планом
Инструмент автоматически изменяет режим утверждения в зависимости от выбора пользователя, упрощая процесс выполнения в соответствии с предпочтениями пользователя.
Важные замечания
- Только в режиме планирования: Этот инструмент следует использовать только тогда, когда вы находитесь в режиме планирования.
- Фокус на реализации: Используйте его только для задач, связанных с написанием или изменением кода.
- Краткие планы: Делайте планы сфокусированными и лаконичными — приоритет отдавайте ясности, а не исчерпывающей детализации.
- Поддержка Markdown: В планах поддерживается форматирование Markdown для повышения читаемости.
- Однократное использование: Инструмент следует применять один раз за сессию планирования, когда вы готовы приступить к выполнению.
- Контроль пользователя: Окончательное решение о продолжении всегда остаётся за пользователем.
Интеграция с рабочим процессом планирования
Инструмент режима выхода из плана (Exit Plan Mode) является частью более крупного рабочего процесса планирования:
- Вход в режим планирования: пользователь отправляет запрос или система определяет необходимость планирования
- Этап исследования: анализ кодовой базы, понимание требований, изучение возможных вариантов
- Разработка плана: создание стратегии реализации на основе результатов исследования
- Представление плана: использование команды
exit_plan_modeдля отображения плана пользователю - Этап реализации: после одобрения пользователя выполняется запланированная реализация
Данный рабочий процесс обеспечивает продуманный подход к реализации и предоставляет пользователям контроль над значительными изменениями в коде.