Skip to Content
Руководство для разработчиковИнструментыВыход из режима планирования

Инструмент выхода из режима планирования (exit_plan_mode)

В этом документе описывается инструмент exit_plan_mode для Qwen Code.

Описание

Используйте exit_plan_mode, когда вы находитесь в режиме планирования и завершили представление своего плана реализации. Этот инструмент запрашивает у пользователя подтверждение или отклонение плана и переводит систему из режима планирования в режим реализации.

Инструмент специально предназначен для задач, требующих предварительного планирования шагов реализации перед написанием кода. Его НЕ следует использовать для исследовательских задач или сбора информации.

Аргументы

exit_plan_mode принимает один аргумент:

  • plan (строка, обязательный): План реализации, который вы хотите представить пользователю для одобрения. Это должен быть краткий план в формате Markdown, описывающий шаги реализации.

Как использовать exit_plan_mode с Qwen Code

Инструмент выхода из режима планирования входит в рабочий процесс планирования Qwen Code. Когда вы находитесь в режиме планирования (обычно после исследования кодовой базы и разработки подхода к реализации), используйте этот инструмент для:

  1. Представления пользователю вашего плана реализации
  2. Запроса подтверждения на выполнение реализации
  3. Перехода из режима планирования в режим реализации на основе ответа пользователя

Инструмент предложит пользователю ваш план и предоставит следующие варианты действий:

  • Выполнить один раз: Подтвердить план только для текущей сессии
  • Выполнять всегда: Подтвердить план и включить автоматическое подтверждение для будущих операций редактирования
  • Отменить: Отклонить план и остаться в режиме планирования

Использование:

exit_plan_mode(plan="Ваш подробный план реализации здесь...")

Когда использовать этот инструмент

Используйте exit_plan_mode, когда:

  1. Задачи реализации: вы планируете шаги реализации программной задачи
  2. Завершение плана: вы завершили исследование и проектирование подхода к реализации
  3. Требуется подтверждение пользователя: перед внесением изменений в код необходимо получить подтверждение от пользователя
  4. Задачи, связанные с написанием кода: задача включает написание, изменение или рефакторинг кода

Примеры корректного использования:

  • «Помогите мне реализовать аутентификацию пользователей» → используйте после планирования реализации системы аутентификации
  • «Добавьте новый API-эндпоинт для управления пользователями» → используйте после проектирования структуры эндпоинта
  • «Выполните рефакторинг слоя работы с базой данных с использованием TypeORM» → используйте после планирования подхода к рефакторингу

Когда НЕ следует использовать этот инструмент

НЕ используйте exit_plan_mode в следующих случаях:

  1. Исследовательские задачи: Задачи, направленные на понимание или изучение существующего кода
  2. Сбор информации: Когда вы выполняете поиск, чтение или анализ без реализации изменений
  3. Задачи по документированию: Когда вы создаёте документацию без внесения изменений в код
  4. Анализирующие задачи: Когда вы предоставляете пояснения или проводите ревью без реализации

Примеры неправильного использования:

  • «Найдите и изучите реализацию режима 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) является частью более крупного рабочего процесса планирования:

  1. Вход в режим планирования: пользователь отправляет запрос или система определяет необходимость планирования
  2. Этап исследования: анализ кодовой базы, понимание требований, изучение возможных вариантов
  3. Разработка плана: создание стратегии реализации на основе результатов исследования
  4. Представление плана: использование команды exit_plan_mode для отображения плана пользователю
  5. Этап реализации: после одобрения пользователя выполняется запланированная реализация

Данный рабочий процесс обеспечивает продуманный подход к реализации и предоставляет пользователям контроль над значительными изменениями в коде.

Last updated on