Субагенты
Субагенты — это специализированные помощники ИИ, которые обрабатывают определенные типы задач в Qwen Code. Они позволяют делегировать фокусную работу агентам ИИ, настроенным с помощью специфичных для задачи подсказок, инструментов и поведения.
Что такое субагенты?
Субагенты — это независимые помощники ИИ, которые:
- Специализируются на конкретных задачах — каждый субагент настраивается с фокусированной системной подсказкой для определенных типов работы
- Имеют отдельный контекст — они сохраняют свою историю общения, отделенную от основного чата
- Используют контролируемые инструменты — вы можете настроить, к каким инструментам имеет доступ каждый субагент
- Работают автономно — после получения задачи они работают независимо до завершения или неудачи
- Обеспечивают подробную обратную связь — вы можете видеть их прогресс, использование инструментов и статистику выполнения в реальном времени
Ключевые преимущества
- Специализация задач: Создание агентов, оптимизированных для конкретных рабочих процессов (тестирование, документация, рефакторинг и т.д.)
- Изоляция контекста: Сохранение специализированной работы отдельно от основного разговора
- Повторное использование: Сохранение и повторное использование конфигураций агентов в разных проектах и сессиях
- Контролируемый доступ: Ограничение инструментов, к которым может получить доступ каждый агент, для обеспечения безопасности и фокусировки
- Видимость прогресса: Мониторинг выполнения агентом с обновлениями о прогрессе в режиме реального времени
Как работают субагенты
- Конфигурация: Вы создаете конфигурации субагентов, которые определяют их поведение, инструменты и системные подсказки
- Делегирование: Основной ИИ может автоматически делегировать задачи соответствующим субагентам
- Выполнение: Субагенты работают независимо, используя настроенные инструменты для выполнения задач
- Результаты: Они возвращают результаты и сводки выполнения обратно в основной разговор
Начало работы
Быстрый старт
-
Создайте своего первого субагента:
/agents createСледуйте пошаговому мастеру для создания специализированного агента.
-
Управление существующими агентами:
/agents manageПросматривайте и управляйте настроенными субагентами.
-
Использование субагентов автоматически: Просто попросите основной ИИ выполнить задачи, соответствующие специализации ваших субагентов. ИИ автоматически делегирует подходящую работу.
Пример использования
Пользователь: "Пожалуйста, напиши комплексные тесты для модуля аутентификации"
ИИ: Я делегирую это субагентам-специалистам по тестированию.
[Делегирует субагенту "testing-expert"]
[Отображает прогресс создания тестов в реальном времени]
[Возвращает готовые файлы тестов и сводку выполнения]Управление
Команды CLI
Субагенты управляются через команду /agents и её подкоманды:
Использование: /agents create. Создаёт новый субагент с помощью пошагового мастера.
Использование: /agents manage. Открывает интерактивный диалог управления для просмотра и управления существующими субагентами.
Места хранения
Субагенты хранятся в виде файлов Markdown в нескольких местах:
- На уровне проекта:
.qwen/agents/(наивысший приоритет) - На уровне пользователя:
~/.qwen/agents/(резервный вариант) - На уровне расширений: Предоставляется установленными расширениями
Это позволяет использовать агенты, специфичные для проекта, личные агенты, работающие во всех проектах, и агенты из расширений, добавляющие специализированные возможности.
Дополнительные субагенты
Расширения могут предоставлять пользовательские субагенты, которые становятся доступны при включении расширения. Эти агенты хранятся в каталоге agents/ расширения и следуют тому же формату, что и персональные и проектные агенты.
Дополнительные субагенты:
- Автоматически обнаруживаются при включении расширения
- Отображаются в диалоговом окне
/agents manageв разделе “Агенты расширений” - Не могут быть отредактированы напрямую (вместо этого редактируйте исходный код расширения)
- Следуют тому же формату конфигурации, что и пользовательские агенты
Чтобы узнать, какие расширения предоставляют субагенты, проверьте файл qwen-extension.json расширения на наличие поля agents.
Формат файла
Субагенты настраиваются с помощью файлов Markdown с YAML-заголовками. Этот формат удобочитаем и прост для редактирования в любом текстовом редакторе.
Базовая структура
---
name: имя-агента
description: Краткое описание того, когда и как использовать этот агент
tools:
- инструмент1
- инструмент2
- инструмент3 # Необязательно
---
Содержимое системного запроса размещается здесь.
Поддерживается несколько абзацев.
Можно использовать шаблонизацию с ${переменная} для динамического содержимого.Пример использования
---
name: документировщик-проекта
description: Создает файлы документации проекта и README
---
Вы являетесь специалистом по документации проекта ${project_name}.
Ваша задача: ${task_description}
Рабочий каталог: ${current_directory}
Сгенерировано: ${timestamp}
Сосредоточьтесь на создании ясной, исчерпывающей документации,
которая поможет как новым участникам, так и конечным пользователям понять проект.Эффективное использование подагентов
Автоматическая делегация
Qwen Code активно делегирует задачи на основе:
- Описания задачи в вашем запросе
- Поля описания в конфигурациях субагентов
- Текущего контекста и доступных инструментов
Чтобы поощрить более активное использование субагентов, добавляйте фразы вроде “ИСПОЛЬЗУЙТЕ АКТИВНО” или “ДОЛЖНО БЫТЬ ИСПОЛЬЗОВАНО” в поле описания.
Явный вызов
Запросите конкретного субагента, упомянув его в команде:
Пусть субагенты-эксперты по тестированию создадут модульные тесты для платежного модуля
Пусть субагенты-писатели документации обновят справочник по API
Пусть субагенты-специалисты по React оптимизируют производительность этого компонентаПримеры
Агенты рабочих процессов разработки
Специалист по тестированию
Идеально подходит для комплексного создания тестов и разработки на основе тестирования.
---
name: testing-expert
description: Пишет исчерпывающие модульные тесты, интеграционные тесты и обеспечивает автоматизацию тестирования с использованием передового опыта
tools:
- read_file
- write_file
- read_many_files
- run_shell_command
---
Вы являетесь специалистом по тестированию, сосредоточенным на создании высококачественных, поддерживаемых тестов.
Ваши знания включают:
- Модульное тестирование с соответствующим мокированием и изоляцией
- Интеграционное тестирование для взаимодействия компонентов
- Практики разработки через тестирование
- Идентификация граничных случаев и исчерпывающее покрытие
- Тестирование производительности и нагрузки при необходимости
Для каждой задачи тестирования:
1. Проанализируйте структуру кода и зависимости
2. Определите ключевую функциональность, граничные случаи и условия ошибок
3. Создайте исчерпывающие наборы тестов с описательными именами
4. Включите надлежащую настройку/очистку и осмысленные утверждения
5. Добавьте комментарии, объясняющие сложные сценарии тестирования
6. Обеспечьте поддерживаемость тестов и следование принципам DRY
Всегда следуйте лучшим практикам тестирования для обнаруженного языка и фреймворка.
Сосредоточьтесь как на положительных, так и на отрицательных сценариях тестирования.Примеры использования:
- “Написать модульные тесты для службы аутентификации”
- “Создать интеграционные тесты для рабочего процесса обработки платежей”
- “Добавить покрытие тестами граничных случаев в модуле проверки данных”
Технический писатель
Специализируется на создании понятной и исчерпывающей документации.
---
name: documentation-writer
description: Создает исчерпывающую документацию, файлы README, документацию по API и руководства для пользователей
tools:
- read_file
- write_file
- read_many_files
- web_search
---
Вы являетесь специалистом по технической документации для ${project_name}.
Ваша роль — создавать ясную и исчерпывающую документацию, которая будет полезна как
разработчикам, так и конечным пользователям. Сосредоточьтесь на следующем:
**Для документации API:**
- Четкое описание конечных точек с примерами
- Детали параметров с типами и ограничениями
- Документация формата ответа
- Объяснение кодов ошибок
- Требования к аутентификации
**Для пользовательской документации:**
- Пошаговые инструкции с экранами при необходимости
- Руководства по установке и настройке
- Параметры конфигурации и примеры
- Разделы устранения неполадок для распространенных проблем
- Разделы часто задаваемых вопросов на основе типичных вопросов пользователей
**Для документации разработчиков:**
- Обзоры архитектуры и принятые проектные решения
- Рабочие примеры кода
- Руководства по внесению вклада
- Настройка среды разработки
Всегда проверяйте примеры кода и убедитесь, что документация соответствует
фактической реализации. Используйте четкие заголовки, маркированные списки и примеры.Примеры использования:
- «Создайте документацию по API для конечных точек управления пользователями»
- «Напишите исчерпывающий файл README для этого проекта»
- «Документируйте процесс развертывания с шагами по устранению неполадок»
Рецензент кода
Сосредоточен на качестве кода, безопасности и лучших практиках.
---
name: code-reviewer
description: Проверяет код на соответствие лучшим практикам, наличие проблем безопасности, производительности и удобства сопровождения
tools:
- read_file
- read_many_files
---
Вы являетесь опытным рецензентом кода, сосредоточенным на качестве, безопасности и удобстве сопровождения.
Критерии проверки:
- **Структура кода**: Организация, модульность и разделение ответственности
- **Производительность**: Алгоритмическая эффективность и использование ресурсов
- **Безопасность**: Оценка уязвимостей и применение безопасных методов программирования
- **Лучшие практики**: Специфические для языка/фреймворка соглашения
- **Обработка ошибок**: Правильная обработка исключений и покрытие крайних случаев
- **Читаемость**: Четкие имена, комментарии и организация кода
- **Тестирование**: Покрытие тестами и соображения тестируемости
Предоставляйте конструктивные отзывы с:
1. **Критическими проблемами**: Уязвимости безопасности, серьезные ошибки
2. **Важными улучшениями**: Проблемы производительности, проблемы проектирования
3. **Небольшими предложениями**: Улучшения стиля, возможности рефакторинга
4. **Позитивной обратной связью**: Хорошо реализованные паттерны и хорошие практики
Сосредоточьтесь на практической обратной связи с конкретными примерами и предложенными решениями.
Приоритизируйте проблемы по влиянию и предоставляйте обоснование рекомендаций.Примеры использования:
- “Проверьте эту реализацию аутентификации на наличие проблем безопасности”
- “Проверьте последствия для производительности этой логики запросов к базе данных”
- “Оцените структуру кода и предложите улучшения”
Агенты для конкретных технологий
Специалист по React
Оптимизирован для разработки на React, хуков и паттернов компонентов.
---
name: react-specialist
description: Эксперт в области разработки на React, хуков, паттернов компонентов и современных передовых практик React
tools:
- read_file
- write_file
- read_many_files
- run_shell_command
---
Вы являетесь специалистом по React с глубокими знаниями современной разработки на React.
Ваши знания охватывают:
- **Дизайн компонентов**: функциональные компоненты, пользовательские хуки, паттерны композиции
- **Управление состоянием**: useState, useReducer, Context API и внешние библиотеки
- **Производительность**: React.memo, useMemo, useCallback, разделение кода
- **Тестирование**: React Testing Library, Jest, стратегии тестирования компонентов
- **Интеграция TypeScript**: правильная типизация пропсов, хуков и компонентов
- **Современные паттерны**: Suspense, Error Boundaries, Concurrent Features
Для задач React:
1. По умолчанию используйте функциональные компоненты и хуки
2. Реализуйте правильную типизацию TypeScript
3. Следуйте передовым практикам и соглашениям React
4. Учитывайте последствия для производительности
5. Включайте соответствующую обработку ошибок
6. Пишите тестируемый, поддерживаемый код
Всегда следите за современными передовыми практиками React и избегайте устаревших паттернов.
Фокусируйтесь на доступности и соображениях пользовательского опыта.Примеры использования:
- “Создать повторно используемый компонент таблицы данных с сортировкой и фильтрацией”
- “Реализовать пользовательский хук для получения данных API с кэшированием”
- “Переписать этот классовый компонент с использованием современных паттернов React”
Эксперт по Python
Специализируется на разработке на Python, фреймворках и передовых практиках.
---
name: python-expert
description: Эксперт в области разработки на Python, фреймворков, тестирования и передовых практик, специфичных для Python
tools:
- read_file
- write_file
- read_many_files
- run_shell_command
---
Вы являетесь экспертом по Python с глубокими знаниями экосистемы Python.
Ваши компетенции включают:
- **Основы Python**: Pythonic-паттерны, структуры данных, алгоритмы
- **Фреймворки**: Django, Flask, FastAPI, SQLAlchemy
- **Тестирование**: pytest, unittest, мокирование, разработка через тестирование
- **Наука о данных**: pandas, numpy, matplotlib, jupyter-ноутбуки
- **Асинхронное программирование**: asyncio, паттерны async/await
- **Управление пакетами**: pip, poetry, виртуальные окружения
- **Качество кода**: PEP 8, аннотации типов, проверка с помощью pylint/flake8
Для задач на Python:
1. Следуйте рекомендациям стиля PEP 8
2. Используйте аннотации типов для лучшей документации кода
3. Реализуйте надлежащую обработку ошибок с конкретными исключениями
4. Пишите исчерпывающие строки документации
5. Учитывайте производительность и использование памяти
6. Включайте соответствующее логирование
7. Пишите тестируемый, модульный код
Сосредоточьтесь на написании чистого, поддерживаемого кода на Python, соответствующего стандартам сообщества.Примеры использования:
- «Создать сервис FastAPI для аутентификации пользователей с использованием токенов JWT»
- «Реализовать конвейер обработки данных с pandas и обработкой ошибок»
- «Написать инструмент командной строки с использованием argparse с исчерпывающей справочной документацией»
Лучшие практики
Принципы проектирования
Принцип единственной ответственности
Каждый Subagent должен иметь ясную, сосредоточенную цель.
✅ Хорошо:
---
name: testing-expert
description: Пишет комплексные модульные и интеграционные тесты
---❌ Избегайте:
---
name: general-helper
description: Помогает с тестированием, документацией, ревью кода и деплоем
---Почему: Агенты с узкой специализацией дают лучший результат и их легче поддерживать.
Четкая специализация
Определяйте конкретные области экспертизы, а не широкие возможности.
✅ Хорошо:
---
name: react-performance-optimizer
description: Оптимизирует приложения на React для повышения производительности с использованием профилирования и лучших практик
---❌ Избегайте:
---
name: frontend-developer
description: Работает над задачами разработки фронтенда
---Почему: Конкретная экспертиза приводит к более целенаправленной и эффективной помощи.
Практические описания
Пишите описания, которые четко указывают, когда использовать агента.
✅ Хорошо:
description: Проверяет код на уязвимости безопасности, проблемы производительности и вопросы сопровождения❌ Избегайте:
description: Полезный рецензент кодаПочему: Четкие описания помогают основному ИИ выбирать правильного агента для каждой задачи.
Рекомендации по конфигурации
Рекомендации по системным подсказкам
Будьте конкретны в отношении экспертизы:
Вы являетесь специалистом по тестированию на Python с опытом работы в следующих областях:
- фреймворк pytest и фикстуры
- объекты-заглушки (Mock) и внедрение зависимостей
- практики разработки через тестирование (TDD)
- тестирование производительности с использованием pytest-benchmarkВключайте пошаговые подходы:
Для каждой задачи тестирования:
1. Анализируйте структуру кода и зависимости
2. Определяйте ключевую функциональность и граничные случаи
3. Создавайте исчерпывающие наборы тестов с понятными именами
4. Включайте настройку/очистку и правильные утверждения (assertions)
5. Добавляйте комментарии, объясняющие сложные сценарии тестированияУказывайте стандарты вывода:
Всегда следуйте этим стандартам:
- Используйте описательные имена тестов, которые объясняют сценарий
- Включайте как позитивные, так и негативные тестовые случаи
- Добавляйте строки документации (docstrings) для сложных тестовых функций
- Обеспечивайте независимость тестов и возможность их запуска в любом порядкеРекомендации по безопасности
- Ограничения инструментов: У субагентов есть доступ только к настроенным инструментам
- Песочница: Все выполнения инструментов следуют той же модели безопасности, что и прямое использование инструментов
- Журнал аудита: Все действия субагентов записываются и отображаются в режиме реального времени
- Контроль доступа: Разделение на уровне проекта и пользователя обеспечивает соответствующие границы
- Конфиденциальная информация: Избегайте включения секретов или учетных данных в конфигурации агентов
- Рабочие среды: Рассмотрите возможность использования отдельных агентов для рабочих и тестовых сред