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

Инструмент выхода из режима планирования (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. Когда вы находитесь в режиме планирования (обычно после изучения кодовой базы и разработки подхода к реализации), вы используете этот инструмент для:

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

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

  • Proceed Once: Одобрить план только для этой сессии
  • Proceed Always: Одобрить план и включить автоматическое одобрение для будущих операций редактирования
  • Cancel: Отклонить план и остаться в режиме планирования

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

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
  • Создание конфигурации подключения к базе данных
  • Настройка определений сущностей для существующих моделей

Фаза 2: Миграция

  • Создание скриптов миграции для существующих данных
  • Реализация нового паттерна репозитория с использованием TypeORM
  • Замена сырых SQL-запросов на построитель запросов TypeORM

Фаза 3: Тестирование и валидация

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

Этот рефакторинг модернизирует наш уровень работы с базой данных, сохраняя обратную совместимость.”)

Обработка ответа пользователя

После вызова exit_plan_mode пользователь может ответить несколькими способами:

  • Proceed Once: План утвержден для немедленной реализации с настройками подтверждения по умолчанию
  • Proceed Always: План утвержден, и автоматическое подтверждение включено для последующих операций редактирования
  • Cancel: План отклонен, и система остается в режиме планирования для дальнейшего планирования

Инструмент автоматически настраивает режим подтверждения в соответствии с выбором пользователя, оптимизируя процесс реализации в соответствии с предпочтениями пользователя.

Важные замечания

  • Только режим планирования: Этот инструмент следует использовать только тогда, когда вы находитесь в режиме планирования
  • Фокус на реализацию: Используйте только для задач, связанных с написанием или изменением кода
  • Краткие планы: Делайте планы четкими и лаконичными — стремитесь к ясности, а не к исчерпывающей детализации
  • Поддержка Markdown: Планы поддерживают форматирование Markdown для лучшей читаемости
  • Одноразовое использование: Инструмент следует использовать один раз за сессию планирования, когда готовы продолжить
  • Контроль пользователя: Окончательное решение о продолжении всегда остается за пользователем

Интеграция с процессом планирования

Инструмент Exit Plan Mode является частью более широкого процесса планирования:

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

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

Last updated on