Инструмент выхода из режима планирования (exit_plan_mode)
В этом документе описывается инструмент exit_plan_mode для Qwen Code.
Описание
Используйте exit_plan_mode, когда вы находитесь в режиме планирования и завершили представление своего плана реализации. Этот инструмент запрашивает у пользователя одобрение или отклонение плана и осуществляет переход от режима планирования к режиму реализации.
Инструмент специально разработан для задач, требующих планирования шагов реализации перед написанием кода. Его НЕ следует использовать для исследовательских или информационно-поисковых задач.
Аргументы
exit_plan_mode принимает один аргумент:
plan(строка, обязательный): План реализации, который вы хотите представить пользователю для одобрения. Это должен быть краткий план в формате markdown, описывающий шаги реализации.
Как использовать exit_plan_mode с Qwen Code
Инструмент Exit Plan Mode является частью рабочего процесса планирования Qwen Code. Когда вы находитесь в режиме планирования (обычно после изучения кодовой базы и разработки подхода к реализации), вы используете этот инструмент для:
- Представления пользователю вашего плана реализации
- Запроса одобрения на переход к реализации
- Перехода из режима планирования в режим реализации в зависимости от ответа пользователя
Инструмент предложит пользователю ваш план и предоставит следующие опции:
- Proceed Once: Одобрить план только для этой сессии
- Proceed Always: Одобрить план и включить автоматическое одобрение для будущих операций редактирования
- Cancel: Отклонить план и остаться в режиме планирования
Использование:
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
- Создание конфигурации подключения к базе данных
- Настройка определений сущностей для существующих моделей
Фаза 2: Миграция
- Создание скриптов миграции для существующих данных
- Реализация нового паттерна репозитория с использованием TypeORM
- Замена сырых SQL-запросов на построитель запросов TypeORM
Фаза 3: Тестирование и валидация
- Обновление всех тестов базы данных для использования TypeORM
- Проверка целостности данных после миграции
- Тестирование производительности для обеспечения отсутствия регрессий
Этот рефакторинг модернизирует наш уровень работы с базой данных, сохраняя обратную совместимость.”)
Обработка ответа пользователя
После вызова exit_plan_mode пользователь может ответить несколькими способами:
- Proceed Once: План утвержден для немедленной реализации с настройками подтверждения по умолчанию
- Proceed Always: План утвержден, и автоматическое подтверждение включено для последующих операций редактирования
- Cancel: План отклонен, и система остается в режиме планирования для дальнейшего планирования
Инструмент автоматически настраивает режим подтверждения в соответствии с выбором пользователя, оптимизируя процесс реализации в соответствии с предпочтениями пользователя.
Важные замечания
- Только режим планирования: Этот инструмент следует использовать только тогда, когда вы находитесь в режиме планирования
- Фокус на реализацию: Используйте только для задач, связанных с написанием или изменением кода
- Краткие планы: Делайте планы четкими и лаконичными — стремитесь к ясности, а не к исчерпывающей детализации
- Поддержка Markdown: Планы поддерживают форматирование Markdown для лучшей читаемости
- Одноразовое использование: Инструмент следует использовать один раз за сессию планирования, когда готовы продолжить
- Контроль пользователя: Окончательное решение о продолжении всегда остается за пользователем
Интеграция с процессом планирования
Инструмент Exit Plan Mode является частью более широкого процесса планирования:
- Вход в режим планирования: Пользователь запрашивает или система определяет необходимость планирования
- Фаза исследования: Анализ кодовой базы, понимание требований, изучение возможных вариантов
- Разработка плана: Создание стратегии реализации на основе исследования
- Представление плана: Использование
exit_plan_modeдля представления плана пользователю - Фаза реализации: После одобрения переходим к запланированной реализации
Этот процесс обеспечивает обдуманный подход к реализации и дает пользователям контроль над значительными изменениями в коде.