Типичные рабочие процессы
Ознакомьтесь с типичными рабочими процессами при использовании Qwen Code.
Каждая задача в этом документе содержит чёткие инструкции, примеры команд и рекомендации по наилучшему использованию Qwen Code.
Понимание новых кодовых баз
Быстрый обзор кодовой базы
Предположим, вы только что присоединились к новому проекту и вам нужно быстро разобраться в его структуре.
1. Перейдите в корневой каталог проекта
cd /path/to/project2. Запустите Qwen Code
qwen3. Запросите общее описание кодовой базы
дайте мне общее описание этой кодовой базы4. Исследуйте конкретные компоненты подробнее
объясните основные архитектурные паттерны, используемые здеськакие ключевые модели данных?как реализована аутентификация?- Начинайте с широких вопросов, затем постепенно сужайте фокус до конкретных областей
- Спрашивайте о принятых в проекте соглашениях по написанию кода и используемых паттернах
- Запросите глоссарий терминов, специфичных для данного проекта
Поиск релевантного кода
Предположим, вам нужно найти код, связанный с определённой функцией или возможностью.
1. Попросите Qwen Code найти соответствующие файлы
найди файлы, отвечающие за аутентификацию пользователей2. Получите контекст взаимодействия компонентов
как эти файлы аутентификации работают совместно?3. Поймите последовательность выполнения
проследи процесс входа пользователя от фронтенда до базы данных- Уточняйте, что именно вы ищете
- Используйте термины из предметной области проекта
Эффективно исправляйте ошибки
Предположим, вы столкнулись с сообщением об ошибке и вам нужно найти её источник и устранить.
1. Передайте ошибку Qwen Code
Я вижу ошибку при выполнении команды npm test2. Запросите рекомендации по исправлению
предложите несколько способов исправить @ts-ignore в файле user.ts3. Примените исправление
обновите файл user.ts, добавив проверку на null, которую вы предложили- Сообщите Qwen Code команду для воспроизведения проблемы и получения трассировки стека.
- Укажите шаги, необходимые для воспроизведения ошибки.
- Сообщите Qwen Code, возникает ли ошибка периодически или постоянно.
Рефакторинг кода
Предположим, вам нужно обновить устаревший код, чтобы использовать современные шаблоны и практики.
1. Выявите устаревший код, подлежащий рефакторингу
найдите использование устаревших API в нашей кодовой базе2. Получите рекомендации по рефакторингу
предложите, как рефакторить utils.js для использования современных возможностей JavaScript3. Безопасно примените изменения
выполните рефакторинг utils.js с использованием возможностей ES 2024, сохранив прежнее поведение4. Проверьте результат рефакторинга
запустите тесты для рефакторенного кода- Попросите Qwen Code объяснить преимущества современного подхода
- Запросите сохранение обратной совместимости при необходимости
- Выполняйте рефакторинг небольшими, тестируемыми шагами
Использование специализированных подагентов
Предположим, вы хотите использовать специализированных ИИ-подагентов для более эффективного выполнения конкретных задач.
1. Просмотр доступных подагентов
/agentsЭта команда отображает все доступные подагенты и позволяет создавать новые.
2. Автоматическое использование подагентов
Qwen Code автоматически делегирует соответствующие задачи специализированным подагентам:
проанализируй мои недавние изменения в коде на наличие проблем безопасностизапусти все тесты и устрани любые сбои3. Явный запрос конкретных подагентов
используй подагента code-reviewer для проверки модуля аутентификациипоручи подагенту debugger выяснить причину невозможности входа пользователей в систему4. Создание пользовательских подагентов для вашего рабочего процесса
/agentsЗатем выберите «создать» и следуйте подсказкам, чтобы определить:
- Уникальный идентификатор, описывающий назначение подагента (например,
code-reviewer,api-designer). - Когда Qwen Code должен использовать этого агента.
- Какие инструменты он может использовать.
- Системный промпт, описывающий роль и поведение агента.
- Создавайте подагентов, специфичных для проекта, в каталоге
.qwen/agents/, чтобы их могли использовать члены команды. - Используйте содержательные поля
description, чтобы обеспечить автоматическую делегацию задач. - Ограничьте доступ к инструментам только теми, которые действительно нужны каждому подагенту.
- Подробнее о подагентах
- Подробнее о режиме утверждения
Работа с тестами
Предположим, вам нужно добавить тесты для непокрытого кода.
1. Определите непротестированный код
найдите функции в NotificationsService.swift, которые не покрыты тестами2. Сгенерируйте каркас тестов
добавьте тесты для сервиса уведомлений3. Добавьте содержательные тестовые случаи
добавьте тестовые случаи для граничных условий в сервисе уведомлений4. Запустите и проверьте тесты
запустите новые тесты и исправьте все ошибкиQwen Code может генерировать тесты, соответствующие существующим шаблонам и соглашениям вашего проекта. При запросе тестов конкретно укажите, какое поведение вы хотите проверить. Qwen Code анализирует ваши существующие файлы тестов, чтобы соответствовать используемому стилю, фреймворкам и шаблонам утверждений.
Для полного охвата попросите Qwen Code выявить граничные случаи, которые вы могли пропустить. Qwen Code может проанализировать пути выполнения кода и предложить тесты для условий ошибок, граничных значений и неожиданных входных данных, которые легко упустить из виду.
Создание pull request
Предположим, вам нужно создать хорошо задокументированный pull request для ваших изменений.
1. Краткое описание изменений
кратко опиши изменения, внесённые мной в модуль аутентификации2. Создание pull request с помощью Qwen Code
создай pull request3. Проверка и уточнение
дополни описание pull request дополнительным контекстом об улучшениях безопасности4. Добавление информации о тестировании
добавь информацию о том, как были протестированы эти изменения- Напрямую попросите Qwen Code создать для вас pull request
- Проверьте сгенерированный Qwen Code pull request перед отправкой
- Попросите Qwen Code выделить потенциальные риски или важные моменты
Работа с документацией
Предположим, вам нужно добавить или обновить документацию для вашего кода.
1. Найдите код без документации
найти функции в модуле auth, для которых отсутствуют корректные комментарии JSDoc2. Сгенерируйте документацию
добавить комментарии JSDoc к функциям без документации в файле auth.js3. Проверьте и улучшите
улучшить сгенерированную документацию, добавив больше контекста и примеров4. Проверьте документацию
проверить, соответствует ли документация стандартам нашего проекта- Укажите желаемый стиль документации (JSDoc, строки документации и т.д.)
- Запросите примеры в документации
- Запросите документацию для публичных API, интерфейсов и сложной логики
Справочные файлы и каталоги
Используйте символ @, чтобы быстро включить файлы или каталоги без ожидания, пока Qwen Code их прочитает.
1. Ссылка на отдельный файл
Объясните логику в @src/utils/auth.jsЭто включает полное содержимое файла в диалог.
2. Ссылка на каталог
Какова структура каталога @src/components?Это выводит список файлов в каталоге с информацией о них.
3. Ссылка на ресурсы MCP
Покажите мне данные из @github: repos/owner/repo/issuesЭто получает данные с подключенных серверов MCP в формате @сервер: ресурс. Подробнее см. в разделе MCP.
- Пути к файлам могут быть как относительными, так и абсолютными
- При ссылке на файл через
@в контекст автоматически добавляются файлыQWEN.md, расположенные в том же каталоге и во всех родительских каталогах - При ссылке на каталог выводится только список файлов, а не их содержимое
- В одном сообщении можно ссылаться на несколько файлов (например, «
@file1.jsи@file2.js»)
Возобновление предыдущих диалогов
Предположим, вы работали над задачей с Qwen Code и теперь хотите продолжить её с того места, где остановились, в последующем сеансе.
Qwen Code предоставляет два способа возобновления предыдущих диалогов:
--continue— автоматически возобновляет самый последний диалог;--resume— отображает интерактивный выбор диалогов.
1. Возобновление самого последнего диалога
qwen --continueЭта команда немедленно возобновляет ваш самый последний диалог без каких-либо запросов.
2. Возобновление в неинтерактивном режиме
qwen --continue --p "Продолжи выполнение моей задачи"Используйте флаг --print вместе с --continue, чтобы возобновить самый последний диалог в неинтерактивном режиме — это идеально подходит для скриптов и автоматизации.
3. Отображение выбора диалогов
qwen --resumeОткрывает интерактивный выбор диалогов с чистым списком, в котором отображаются:
- Краткое описание сеанса (или исходный запрос);
- Метаданные: прошедшее время, количество сообщений и ветка Git.
Для навигации используйте стрелки клавиатуры, а для выбора диалога — клавишу Enter. Нажмите Esc, чтобы выйти.
- История диалогов хранится локально на вашем компьютере.
- Используйте
--continue, чтобы быстро получить доступ к самому последнему диалогу. - Используйте
--resume, когда необходимо выбрать конкретный предыдущий диалог. - При возобновлении вы увидите всю историю диалога перед его продолжением.
- Возобновлённый диалог начинается с той же модели и тех же параметров конфигурации, что и исходный.
Как это работает:
- Хранение диалогов: все диалоги автоматически сохраняются локально со всей историей сообщений.
- Десериализация сообщений: при возобновлении вся история сообщений восстанавливается для сохранения контекста.
- Состояние инструментов: использование инструментов и их результаты из предыдущего диалога сохраняются.
- Восстановление контекста: диалог возобновляется с полностью сохранённым предыдущим контекстом.
Примеры:
# Возобновить самый последний диалог
qwen --continue
# Возобновить самый последний диалог с конкретным запросом
qwen --continue --p "Покажи наш прогресс"
# Открыть выбор диалогов
qwen --resume
# Возобновить самый последний диалог в неинтерактивном режиме
qwen --continue --p "Запусти тесты ещё раз"Запуск параллельных сессий Qwen Code с использованием Git worktrees
Предположим, вам нужно одновременно работать над несколькими задачами с полной изоляцией кода между экземплярами Qwen Code.
1. Ознакомьтесь с Git worktrees
Git worktrees позволяют одновременно клонировать несколько веток одного и того же репозитория в отдельные директории. Каждая worktree имеет собственную рабочую директорию с изолированными файлами, но при этом разделяет одну и ту же историю Git. Подробнее см. в официальной документации по Git worktree .
2. Создайте новую worktree
# Создайте новую worktree с новой веткой
git worktree add ../project-feature-a -b feature-a
# Или создайте worktree на основе существующей ветки
git worktree add ../project-bugfix bugfix-123Это создаёт новую директорию с отдельной рабочей копией вашего репозитория.
3. Запустите Qwen Code в каждой worktree
# Перейдите в свою worktree
cd ../project-feature-a
# Запуск Qwen Code в этой изолированной среде
qwen4. Запуск Qwen Code в другой рабочей копии
cd ../project-bugfix
qwen5. Управление рабочими копиями
# Список всех рабочих копий
git worktree list
# Удаление рабочего дерева после завершения работы
git worktree remove ../project-feature-a- Каждое рабочее дерево имеет собственное независимое состояние файлов, что делает его идеальным для параллельных сеансов Qwen Code.
- Изменения, внесённые в одном рабочем дереве, не влияют на другие, предотвращая взаимное вмешательство экземпляров Qwen Code.
- Все рабочие деревья совместно используют одну и ту же историю Git и подключения к удалённым репозиториям.
- Для длительных задач вы можете запустить Qwen Code в одном рабочем дереве, продолжая разработку в другом.
- Используйте описательные имена каталогов, чтобы легко определить, для какой задачи предназначено каждое рабочее дерево.
- Не забудьте инициализировать среду разработки в каждом новом рабочем дереве в соответствии с настройками вашего проекта. В зависимости от стека это может включать:
- Проекты на JavaScript: установку зависимостей (
npm install,yarn). - Проекты на Python: настройку виртуальных окружений или установку пакетов с помощью менеджеров пакетов.
- Другие языки: выполнение стандартного процесса настройки проекта.
- Проекты на JavaScript: установку зависимостей (
Использование Qwen Code как утилиты в стиле Unix
Добавление Qwen Code в процесс проверки кода
Предположим, вы хотите использовать Qwen Code в качестве линтера или инструмента для ревью кода.
Добавьте Qwen Code в свой скрипт сборки:
// package.json
{
...
"scripts": {
...
"lint:Qwen Code": "qwen -p 'вы — линтер. Проверьте изменения по сравнению с веткой main и сообщите о любых проблемах, связанных с опечатками. Укажите имя файла и номер строки в одной строке, а описание проблемы — во второй строке. Не выводите никакого другого текста.'"
}
}- Используйте Qwen Code для автоматизированного ревью кода в вашем CI/CD-конвейере
- Настройте промпт для поиска конкретных проблем, актуальных для вашего проекта
- Рассмотрите возможность создания нескольких скриптов для разных типов проверок
Передача данных через конвейер
Предположим, вы хотите передать данные в Qwen Code через конвейер и получить ответ в структурированном формате.
Передача данных через конвейер в Qwen Code:
cat build-error.txt | qwen -p 'кратко объяснить основную причину этой ошибки сборки' > output.txt- Используйте конвейеры для интеграции Qwen Code в существующие скрипты оболочки
- Комбинируйте с другими утилитами Unix для создания мощных рабочих процессов
- Рассмотрите возможность использования флага
--output-formatдля получения структурированного вывода
Управление форматом вывода
Предположим, вам требуется вывод Qwen Code в определённом формате, особенно при интеграции Qwen Code в скрипты или другие инструменты.
1. Использование текстового формата (по умолчанию)
cat data.txt | qwen -p 'сделай краткое содержание этих данных' --output-format text > summary.txtЭто выводит только обычный текстовый ответ Qwen Code (поведение по умолчанию).
2. Использование JSON-формата
cat code.py | qwen -p 'проанализируй этот код на наличие ошибок' --output-format json > analysis.jsonЭто выводит JSON-массив сообщений с метаданными, включая стоимость и продолжительность обработки.
3. Использование потокового JSON-формата
cat log.txt | qwen -p 'проанализируй этот лог-файл на наличие ошибок' --output-format stream-jsonЭто выводит серию JSON-объектов в реальном времени по мере обработки запроса Qwen Code. Каждое сообщение является корректным JSON-объектом, однако полный вывод не является корректным JSON при конкатенации.
- Используйте
--output-format textдля простых интеграций, когда требуется только ответ Qwen Code - Используйте
--output-format json, когда нужна полная история диалога - Используйте
--output-format stream-jsonдля получения в реальном времени каждого сообщения в диалоге
Спросите Qwen Code о его возможностях
Qwen Code имеет встроенный доступ к своей документации и может отвечать на вопросы о своих функциях и ограничениях.
Примеры вопросов
Может ли Qwen Code создавать pull-запросы?Как Qwen Code обрабатывает разрешения?Какие слэш-команды доступны?Как использовать MCP с Qwen Code?Как настроить Qwen Code для Amazon Bedrock?Каковы ограничения Qwen Code?Qwen Code даёт ответы на эти вопросы на основе документации. Для исполняемых примеров и практических демонстраций обратитесь к соответствующим разделам рабочих процессов выше.
- Qwen Code всегда имеет доступ к самой актуальной документации Qwen Code, независимо от используемой версии
- Задавайте конкретные вопросы, чтобы получить подробные ответы
- Qwen Code может объяснять сложные функции, такие как интеграция с MCP, корпоративные конфигурации и расширенные рабочие процессы