Обычные рабочие процессы
Узнайте об обычных рабочих процессах с Qwen Code.
Каждая задача в этом документе содержит четкие инструкции, примеры команд и лучшие практики, которые помогут вам максимально эффективно использовать Qwen Code.
Понимание новых кодовых баз
Быстрый обзор кодовой базы
Предположим, вы только что присоединились к новому проекту и хотите быстро понять его структуру.
1. Перейдите в корневой каталог проекта
cd /path/to/project2. Запустите Qwen Code
qwen3. Запросите обзор высокого уровня
give me an overview of this codebase4. Углубитесь в конкретные компоненты
explain the main architecture patterns used herewhat are the key data models?how is authentication handled?- Начинайте с общих вопросов, затем сужайтесь до конкретных областей
- Спрашивайте о соглашениях по коду и шаблонах, используемых в проекте
- Запросите глоссарий терминов, специфичных для проекта
Поиск соответствующего кода
Предположим, вам нужно найти код, относящийся к определенной функции или функциональности.
1. Попросите Qwen Code найти соответствующие файлы
find the files that handle user authentication2. Получите контекст о том, как компоненты взаимодействуют
how do these authentication files work together?3. Поймите поток выполнения
trace the login process from front-end to database- Будьте конкретны в том, что вы ищете
- Используйте предметную лексику из проекта
Эффективное исправление ошибок
Предположим, вы столкнулись с сообщением об ошибке и хотите найти и устранить ее источник.
1. Поделитесь ошибкой с Qwen Code
I'm seeing an error when I run npm test2. Попросите рекомендации по исправлению
suggest a few ways to fix the @ts-ignore in user.ts3. Примените исправление
update user.ts to add the null check you suggested- Сообщите Qwen Code команду для воспроизведения проблемы и получения трассировки стека
- Укажите шаги для воспроизведения ошибки
- Дайте Qwen Code знать, является ли ошибка периодической или постоянной
Рефакторинг кода
Предположим, вам нужно обновить старый код, чтобы использовать современные шаблоны и практики.
1. Определите устаревший код для рефакторинга
find deprecated API usage in our codebase2. Получите рекомендации по рефакторингу
suggest how to refactor utils.js to use modern JavaScript features3. Примените изменения безопасно
refactor utils.js to use ES 2024 features while maintaining the same behavior4. Проверьте рефакторинг
run tests for the refactored code- Попросите Qwen Code объяснить преимущества современного подхода
- Требуйте сохранения обратной совместимости при необходимости
- Выполняйте рефакторинг небольшими, тестируемыми шагами
Использование специализированных субагентов
Предположим, вы хотите использовать специализированные ИИ-субагенты для более эффективного выполнения конкретных задач.
1. Просмотр доступных субагентов
/agentsЭто покажет все доступные субагенты и позволит создать новые.
2. Автоматическое использование субагентов
Qwen Code автоматически делегирует подходящие задачи специализированным субагентам:
review my recent code changes for security issuesrun all tests and fix any failures3. Явный запрос конкретных субагентов
use the code-reviewer subagent to check the auth modulehave the debugger subagent investigate why users can't log in4. Создание пользовательских субагентов для вашего рабочего процесса
/agentsЗатем выберите “create” и следуйте подсказкам, чтобы определить:
- Уникальный идентификатор, описывающий назначение субагента (например,
code-reviewer,api-designer). - Когда Qwen Code должен использовать этого агента
- Какие инструменты он может использовать
- Системный промпт, описывающий роль и поведение агента
- Создавайте субагенты, специфичные для проекта, в
.qwen/agents/для обмена в команде - Используйте описательные поля
descriptionдля автоматического делегирования - Ограничивайте доступ к инструментам только тем, что реально нужно каждому субагенту
- Узнайте больше о Sub Agents
- Узнайте больше о Approval Mode
Работа с тестами
Предположим, вам нужно добавить тесты для непокрытого кода.
1. Определите непротестированный код
find functions in NotificationsService.swift that are not covered by tests2. Сгенерируйте каркас тестов
add tests for the notification service3. Добавьте осмысленные тестовые случаи
add test cases for edge conditions in the notification service4. Запустите и проверьте тесты
run the new tests and fix any failuresQwen Code может генерировать тесты, соответствующие существующим шаблонам и соглашениям вашего проекта. При запросе тестов будьте конкретны в том, какое поведение вы хотите проверить. Qwen Code изучает ваши существующие тестовые файлы, чтобы соответствовать стилю, фреймворкам и шаблонам утверждений, уже используемым в проекте.
Для всестороннего покрытия попросите Qwen Code определить граничные случаи, которые вы могли упустить. Qwen Code может проанализировать ваши пути кода и предложить тесты для состояний ошибок, граничных значений и неожиданных входных данных, которые легко пропустить.
Создание pull request’ов
Предположим, вам нужно создать хорошо документированный pull request для ваших изменений.
1. Суммируйте ваши изменения
summarize the changes I've made to the authentication module2. Создайте pull request с помощью Qwen Code
create a pr3. Просмотрите и доработайте
enhance the PR description with more context about the security improvements4. Добавьте информацию о тестировании
add information about how these changes were tested- Попросите Qwen Code напрямую создать PR за вас.
- Перед отправкой просмотрите сгенерированный Qwen Code PR.
- Попросите Qwen Code выделить потенциальные риски или соображения.
Работа с документацией
Предположим, вам нужно добавить или обновить документацию для вашего кода.
1. Найдите недокументированный код
find functions without proper JSDoc comments in the auth module2. Сгенерируйте документацию
add JSDoc comments to the undocumented functions in auth.js3. Просмотрите и улучшите
improve the generated documentation with more context and examples4. Проверьте документацию
check if the documentation follows our project standards- Укажите желаемый стиль документации (JSDoc, docstrings и т. д.)
- Запрашивайте примеры в документации
- Запрашивайте документацию для публичных API, интерфейсов и сложной логики
Ссылки на файлы и каталоги
Используйте @ для быстрого включения файлов или каталогов, не дожидаясь, пока Qwen Code их прочитает.
1. Ссылка на один файл
Explain the logic in @src/utils/auth.jsЭто включает полное содержимое файла в диалог.
2. Ссылка на каталог
What's the structure of @src/components?Это выводит список файлов каталога с информацией о них.
3. Ссылка на ресурсы MCP
Show me the data from @github: repos/owner/repo/issuesЭто получает данные с подключённых MCP-серверов, используя формат @сервер: ресурс. Подробнее см. MCP.
- Пути к файлам могут быть относительными или абсолютными.
- Ссылки на файлы через @ добавляют
QWEN.mdиз каталога файла и родительских каталогов в контекст. - Ссылки на каталоги показывают список файлов, а не их содержимое.
- Вы можете ссылаться на несколько файлов в одном сообщении (например, “
@file 1.jsи@file 2.js”).
Возобновление предыдущих бесед
Предположим, вы работали над задачей с помощью Qwen Code и хотите продолжить с того же места в следующем сеансе.
Qwen Code предлагает два варианта возобновления предыдущих бесед:
--continue— автоматически продолжить последнюю беседу--resume— показать выбор беседы
1. Продолжить последнюю беседу
qwen --continueЭта команда сразу возобновляет последнюю беседу без каких-либо подсказок.
2. Продолжить в неинтерактивном режиме
qwen --continue -p "Continue with my task"Используйте -p (или --prompt) вместе с --continue, чтобы возобновить последнюю беседу в неинтерактивном режиме — идеально для скриптов или автоматизации.
3. Показать выбор беседы
qwen --resumeОтображается интерактивный выбор беседы с чистым списком, показывающим:
- Краткое описание сеанса (или начальный запрос)
- Метаданные: прошедшее время, количество сообщений и ветка Git
Используйте клавиши со стрелками для навигации и нажмите Enter, чтобы выбрать беседу. Нажмите Esc для выхода.
- История бесед хранится локально на вашем компьютере.
- Используйте
--continueдля быстрого доступа к последней беседе. - Используйте
--resume, когда нужно выбрать конкретную предыдущую беседу. - При возобновлении вы увидите всю историю беседы перед продолжением.
- Возобновлённая беседа начинается с той же модели и конфигурации, что и исходная.
Как это работает:
- Сохранение бесед: Все беседы автоматически сохраняются локально с полной историей сообщений.
- Десериализация сообщений: При возобновлении восстанавливается вся история сообщений для сохранения контекста.
- Состояние инструментов: Использование инструментов и результаты из предыдущей беседы сохраняются.
- Восстановление контекста: Беседа возобновляется со всем предыдущим контекстом.
Примеры:
# Продолжить последнюю беседу
qwen --continue
# Продолжить последнюю беседу с конкретным запросом
qwen --continue -p "Show me our progress"
# Показать выбор беседы
qwen --resume
# Продолжить последнюю беседу в неинтерактивном режиме
qwen --continue -p "Run the tests again"Запуск параллельных сеансов Qwen Code с помощью Git worktrees
Предположим, вам нужно одновременно работать над несколькими задачами с полной изоляцией кода между экземплярами Qwen Code.
1. Разберитесь с Git worktrees
Git worktrees позволяет извлечь несколько веток из одного репозитория в отдельные каталоги. Каждый worktree имеет свою рабочую директорию с изолированными файлами, но общую историю Git. Подробнее читайте в официальной документации Git worktree . 2. Создание нового рабочего дерева
# Создать новое рабочее дерево с новой веткой
git worktree add ../project-feature-a -b feature-a
# Или создать рабочее дерево с существующей веткой
git worktree add ../project-bugfix bugfix-123Эта команда создаёт новый каталог с отдельной рабочей копией вашего репозитория.
3. Запуск Qwen Code в каждом рабочем дереве
# Перейдите в ваше рабочее дерево
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 'you are a linter. please look at the changes vs. main and report any issues related to typos. report the filename and line number on one line, and a description of the issue on the second line. do not return any other text.'"
}
}- Используйте Qwen Code для автоматизированного ревью кода в конвейере CI/CD
- Настройте промпт для проверки конкретных проблем, важных для вашего проекта
- Рассмотрите возможность создания нескольких скриптов для разных типов проверки
Передача через конвейер (pipe)
Предположим, вы хотите передать данные в Qwen Code через конвейер и получить структурированные данные на выходе.
Передача данных через Qwen Code:
cat build-error.txt | qwen -p 'concisely explain the root cause of this build error' > output.txt- Используйте конвейеры для интеграции Qwen-Code в существующие shell-скрипты
- Комбинируйте с другими утилитами Unix для создания мощных рабочих процессов
- Рассмотрите использование
--output-formatдля структурированного вывода
Управление форматом вывода
Предположим, вам нужен вывод Qwen Code в определённом формате, особенно при интеграции Qwen Code в скрипты или другие инструменты.
1. Использование текстового формата (по умолчанию)
cat data.txt | qwen -p 'summarize this data' --output-format text > summary.txtЭто выводит только текстовый ответ Qwen Code (поведение по умолчанию).
2. Использование JSON-формата
cat code.py | qwen -p 'analyze this code for bugs' --output-format json > analysis.jsonЭто выводит массив JSON с сообщениями и метаданными, включая стоимость и длительность.
3. Использование потокового JSON-формата
cat log.txt | qwen -p 'parse this log file for errors' --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 имеет встроенный доступ к своей документации и может отвечать на вопросы о собственных функциях и ограничениях.
Примеры вопросов
can Qwen Code create pull requests?how does Qwen Code handle permissions?what slash commands are available?how do I use MCP with Qwen Code?how do I configure Qwen Code for Amazon Bedrock?what are the limitations of Qwen Code?Qwen Code предоставляет ответы на эти вопросы на основе документации. За примерами исполняемых команд и практическими демонстрациями обращайтесь к разделам с конкретными рабочими процессами выше.
- Qwen Code всегда имеет доступ к последней документации Qwen Code, независимо от используемой версии
- Задавайте конкретные вопросы, чтобы получить подробные ответы
- Qwen Code может объяснить сложные функции, такие как интеграция MCP, корпоративные конфигурации и продвинутые рабочие процессы