Основные рабочие процессы
Узнайте о типовых рабочих процессах с 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.tsto add the null check you suggested- Укажите Qwen Code команду для воспроизведения проблемы и получения stack trace
- Опишите шаги для воспроизведения ошибки
- Сообщите 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 объяснить преимущества современного подхода
- Запросите сохранение обратной совместимости изменений, если это необходимо
- Выполняйте рефакторинг небольшими, тестируемыми шагами
Использование специализированных субагентов
Предположим, вы хотите использовать специализированные AI-субагенты для более эффективного выполнения конкретных задач.
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для включения автоматической делегации - Ограничьте доступ к инструментам только тем, что действительно нужно каждому субагенту
- Узнайте больше о субагентах
- Узнайте больше о режиме подтверждения
Работа с тестами
Предположим, вам нужно добавить тесты для непокрытого кода.
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-серверов в формате @server: resource. Подробнее см. в разделе 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"Используйте --print вместе с --continue для возобновления последнего разговора в неинтерактивном режиме, что идеально подходит для скриптов или автоматизации.
3. Показать выбор разговора
qwen --resumeЭто отобразит интерактивный выбор разговора в виде чистого списка, показывающего:
- Краткое содержание сеанса (или начальный промпт)
- Метаданные: прошедшее время, количество сообщений и git-ветка
Используйте клавиши со стрелками для навигации и нажмите Enter для выбора разговора. Нажмите Esc для выхода.
- История разговоров хранится локально на вашем компьютере
- Используйте
--continueдля быстрого доступа к последнему разговору - Используйте
--resume, когда нужно выбрать конкретный прошлый разговор - При возобновлении вы увидите всю историю разговора перед продолжением
- Возобновленный разговор начинается с той же модели и конфигурации, что и оригинальный
Как это работает:
- Хранение разговоров: Все разговоры автоматически сохраняются локально вместе с полной историей сообщений
- Десериализация сообщений: При возобновлении вся история сообщений восстанавливается для сохранения контекста
- Состояние инструментов: Использование инструментов и результаты из предыдущего разговора сохраняются
- Восстановление контекста: Разговор возобновляется с полным сохранением предыдущего контекста
Примеры:
# Continue most recent conversation
qwen --continue
# Continue most recent conversation with a specific prompt
qwen --continue --p "Show me our progress"
# Show conversation picker
qwen --resume
# Continue most recent conversation in non-interactive mode
qwen --continue --p "Run the tests again"Запуск параллельных сеансов Qwen Code с Git worktrees
Предположим, вам нужно работать над несколькими задачами одновременно с полной изоляцией кода между экземплярами Qwen Code.
1. Разберитесь с Git worktrees
Git worktrees позволяют выгружать несколько веток из одного репозитория в отдельные директории. Каждый worktree имеет собственную рабочую директорию с изолированными файлами, но использует общую историю Git. Подробнее см. в официальной документации Git worktree .
2. Создайте новый worktree
# Create a new worktree with a new branch
git worktree add ../project-feature-a -b feature-a
# Or create a worktree with an existing branch
git worktree add ../project-bugfix bugfix-123Это создаст новую директорию с отдельной рабочей копией вашего репозитория.
3. Запустите Qwen Code в каждом worktree
# Navigate to your worktree
cd ../project-feature-a
# Run Qwen Code in this isolated environment
qwen4. Запустите Qwen Code в другом worktree
cd ../project-bugfix
qwen5. Управляйте вашими worktrees
# List all worktrees
git worktree list
# Remove a worktree when done
git worktree remove ../project-feature-a- Каждый worktree имеет собственное независимое состояние файлов, что делает его идеальным для параллельных сеансов Qwen Code
- Изменения в одном worktree не повлияют на другие, предотвращая взаимное влияние экземпляров Qwen Code
- Все worktrees используют общую историю Git и удаленные подключения
- Для длительных задач вы можете оставить Qwen Code работать в одном worktree, пока продолжаете разработку в другом
- Используйте описательные имена директорий, чтобы легко понимать, для какой задачи предназначен каждый worktree
- Не забудьте инициализировать среду разработки в каждом новом worktree в соответствии с настройками вашего проекта. В зависимости от вашего стека это может включать:
- 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 через pipe и получить обратно данные в структурированном формате.
Передача данных через Qwen Code:
cat build-error.txt | qwen -p 'concisely explain the root cause of this build error' > output.txt- Используйте pipes для интеграции 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, корпоративные конфигурации и расширенные рабочие процессы