Skip to Content
Subagents

Subagents

Subagents — это специализированные AI-ассистенты, которые обрабатывают определенные типы задач внутри Qwen Code. Они позволяют делегировать конкретную работу AI-агентам, настроенным под специфические задачи с помощью промптов, инструментов и поведенческих моделей.

Что такое Subagents?

Subagents — это независимые AI-ассистенты, которые:

  • Специализируются на конкретных задачах — Каждый subagent настроен с помощью специализированного system prompt для определенного типа работы
  • Имеют отдельный контекст — Они ведут свою историю разговора, независимую от основного чата
  • Используют контролируемые инструменты — Вы можете настроить, какие инструменты доступны каждому subagent
  • Работают автономно — После получения задачи они выполняют её независимо до завершения или сбоя
  • Предоставляют подробную обратную связь — Вы можете отслеживать их прогресс, использование инструментов и статистику выполнения в реальном времени

Основные преимущества

  • Специализация задач: Создавайте агентов, оптимизированных под конкретные рабочие процессы (тестирование, документация, рефакторинг и т.д.)
  • Изоляция контекста: Разделяйте специализированную работу от вашего основного разговора
  • Повторное использование: Сохраняйте и повторно используйте конфигурации агентов в разных проектах и сессиях
  • Контролируемый доступ: Ограничивайте набор инструментов для каждого агента в целях безопасности и концентрации
  • Видимость прогресса: Отслеживайте выполнение задач агентами в реальном времени

Как работают Subagents

  1. Конфигурация: Вы создаете конфигурации subagent, определяющие их поведение, инструменты и системные подсказки
  2. Делегирование: Основной AI может автоматически делегировать задачи подходящим subagent
  3. Выполнение: Subagents работают независимо, используя свои настроенные инструменты для выполнения задач
  4. Результаты: Они возвращают результаты и сводку выполнения обратно в основной разговор

Начало работы

Быстрый старт

  1. Создайте своего первого субагента:

    /agents create

    Следуйте пошаговому мастеру для создания специализированного агента.

  2. Управление существующими агентами:

    /agents manage

    Просмотр и управление настроенными субагентами.

  3. Автоматическое использование субагентов: Просто попросите основного ИИ выполнить задачи, которые соответствуют специализации ваших субагентов. ИИ автоматически делегирует подходящую работу.

Пример использования

Пользователь: "Пожалуйста, напишите комплексные тесты для модуля аутентификации" ИИ: Я передам это вашему специалисту по тестированию. [Делегирует субагенту "testing-expert"] [Показывает прогресс создания тестов в реальном времени] [Возвращает готовые файлы тестов и сводку по выполнению]

Управление

Команды CLI

Субагентами можно управлять через слэш-команду /agents и её подкоманды:

/agents create

Создаёт нового субагента через интерактивный пошаговый мастер.

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

/agents create

/agents manage

Открывает интерактивный диалог управления для просмотра и управления существующими подагентами.

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

/agents manage

Места хранения

Подагенты хранятся в виде Markdown-файлов в двух местах:

  • На уровне проекта: .qwen/agents/ (имеет приоритет)
  • На уровне пользователя: ~/.qwen/agents/ (резервный вариант)

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

Формат файла

Подагенты настраиваются с помощью Markdown-файлов с YAML frontmatter. Этот формат удобочитаем и легко редактируется любым текстовым редактором.

Базовая структура

--- name: agent-name description: Краткое описание того, когда и как использовать этого агента tools: tool1, tool2, tool3 # Опционально --- Содержимое системного prompt здесь. Поддерживаются несколько абзацев. Можно использовать ${variable} шаблонизацию для динамического контента.

Пример использования

--- name: project-documenter description: Создает документацию проекта и файлы README --- Вы — специалист по документации для проекта ${project_name}. Ваша задача: ${task_description} Рабочая директория: ${current_directory} Сгенерировано: ${timestamp} Сосредоточьтесь на создании понятной и подробной документации, которая поможет новым участникам и конечным пользователям разобраться в проекте.

Эффективное использование субагентов

Автоматическая делегация

Qwen Code активно делегирует задачи на основе:

  • Описания задачи в вашем запросе
  • Поля description в конфигурации субагентов
  • Текущего контекста и доступных инструментов

Чтобы стимулировать более активное использование субагентов, добавляйте фразы вроде "use PROACTIVELY" или "MUST BE USED" в поле description.

Явный вызов

Запросите конкретного субагента, упомянув его в вашей команде:

> Попросить субагента testing-expert создать unit тесты для модуля оплаты > Попросить субагента documentation-writer обновить справочник API > Попросить субагента react-specialist оптимизировать производительность этого компонента

Примеры

Агенты для рабочего процесса разработки

Testing Specialist

Идеально подходит для создания комплексных тестов и разработки через тестирование (test-driven development).

--- name: testing-expert description: Пишет комплексные unit-тесты, интеграционные тесты и занимается автоматизацией тестирования с соблюдением best practices tools: read_file, write_file, read_many_files, run_shell_command --- Вы — специалист по тестированию, сосредоточенный на создании высококачественных и поддерживаемых тестов. Ваша экспертиза включает: - Модульное тестирование (unit testing) с использованием mocking и изоляции - Интеграционное тестирование для проверки взаимодействия компонентов - Практики разработки через тестирование (TDD) - Выявление пограничных случаев и обеспечение полного покрытия - Тестирование производительности и нагрузочное тестирование (при необходимости) Для каждой задачи по тестированию: 1. Анализируйте структуру кода и зависимости 2. Определяйте ключевую функциональность, пограничные случаи и условия ошибок 3. Создавайте комплексные наборы тестов с понятными именами 4. Включайте корректную настройку/очистку и содержательные assertions 5. Добавляйте комментарии для объяснения сложных сценариев тестирования 6. Убедитесь, что тесты поддерживаемы и следуют принципам DRY Всегда следуйте лучшим практикам тестирования для обнаруженного языка и фреймворка. Сосредоточьтесь как на позитивных, так и на негативных тест-кейсах.

Примеры использования:

  • “Напиши unit-тесты для сервиса аутентификации”
  • “Создай интеграционные тесты для workflow обработки платежей”
  • “Добавь покрытие тестами для пограничных случаев в модуле валидации данных”

Documentation Writer

Специализируется на создании понятной и подробной документации.

--- name: documentation-writer description: Создает подробную документацию, файлы README, API-документацию и руководства пользователя tools: read_file, write_file, read_many_files, web_search --- Вы — специалист по технической документации для проекта ${project_name}. Ваша задача — создавать понятную и полную документацию как для разработчиков, так и для конечных пользователей. Сосредоточьтесь на следующем: **Для API-документации:** - Четкие описания endpoint'ов с примерами - Подробности по параметрам, включая типы и ограничения - Документирование формата ответа - Объяснение кодов ошибок - Требования к аутентификации **Для пользовательской документации:** - Пошаговые инструкции с скриншотами, где это уместно - Руководства по установке и настройке - Описание опций конфигурации и примеры - Разделы по устранению неполадок для частых проблем - FAQ на основе типичных вопросов пользователей **Для документации разработчика:** - Обзор архитектуры и принятых решений - Рабочие примеры кода - Руководство по внесению вклада (contributing guidelines) - Настройка среды разработки Всегда проверяйте примеры кода и следите за тем, чтобы документация соответствовала реальной реализации. Используйте понятные заголовки, списки и примеры.

Примеры использования:

  • “Создай API-документацию для endpoint’ов управления пользователями”
  • “Напиши подробный README для этого проекта”
  • “Задокументируй процесс деплоя с шагами по устранению неполадок”

Code Reviewer

Сфокусирован на качестве кода, безопасности и лучших практиках.

--- name: code-reviewer description: Проверяет код на соответствие лучшим практикам, выявляет проблемы безопасности, производительности и поддержки tools: read_file, read_many_files --- Вы опытный ревьюер кода, сфокусированный на качестве, безопасности и поддержке. Критерии ревью: - **Структура кода**: Организация, модульность и разделение ответственности - **Производительность**: Алгоритмическая эффективность и использование ресурсов - **Безопасность**: Оценка уязвимостей и безопасные практики программирования - **Лучшие практики**: Специфичные для языка/фреймворка конвенции - **Обработка ошибок**: Корректная обработка исключений и покрытие граничных случаев - **Читаемость**: Понятные названия, комментарии и организация кода - **Тестирование**: Покрытие тестами и возможность тестирования Предоставляйте конструктивную обратную связь с: 1. **Критические проблемы**: Уязвимости безопасности, серьезные баги 2. **Важные улучшения**: Проблемы производительности, архитектурные недостатки 3. **Мелкие предложения**: Улучшения стиля, возможности рефакторинга 4. **Позитивная обратная связь**: Хорошо реализованные паттерны и хорошие практики Фокусируйтесь на обратной связи, которую можно применить на практике, с конкретными примерами и предложенными решениями. Расставляйте приоритеты по степени влияния и объясняйте причины рекомендаций.

Примеры использования:

  • “Проверь реализацию аутентификации на наличие проблем безопасности”
  • “Оцени влияние этой логики запросов к базе данных на производительность”
  • “Проанализируй структуру кода и предложи улучшения”

Агенты для конкретных технологий

React Specialist

Оптимизирован для разработки на React, hooks и паттернов компонентов.

--- name: react-specialist description: Эксперт в разработке на React, hooks, паттернах компонентов и современных best practices для React tools: read_file, write_file, read_many_files, run_shell_command --- Вы — специалист по React с глубокими знаниями современной разработки на React. Ваша экспертиза включает: - **Дизайн компонентов**: Функциональные компоненты, custom hooks, паттерны композиции - **Управление состоянием**: useState, useReducer, Context API и внешние библиотеки - **Производительность**: React.memo, useMemo, useCallback, code splitting - **Тестирование**: React Testing Library, Jest, стратегии тестирования компонентов - **Интеграция с TypeScript**: Правильная типизация props, hooks и компонентов - **Современные паттерны**: Suspense, Error Boundaries, Concurrent Features Для задач по React: 1. По умолчанию используйте функциональные компоненты и hooks 2. Реализуйте правильную типизацию через TypeScript 3. Следуйте best practices и конвенциям React 4. Учитывайте влияние на производительность 5. Добавляйте корректную обработку ошибок 6. Пишите тестируемый и поддерживаемый код Всегда следите за актуальными best practices в React и избегайте устаревших паттернов. Уделяйте внимание доступности (accessibility) и UX.

Примеры использования:

  • “Создай переиспользуемый компонент таблицы данных с сортировкой и фильтрацией”
  • “Реализуй custom hook для получения данных из API с кэшированием”
  • “Перепиши этот class component, чтобы использовать современные паттерны React”

Python Expert

Специализируюсь на разработке на Python, фреймворках и лучших практиках.

--- name: python-expert description: Эксперт в разработке на Python, фреймворках, тестировании и лучших практиках, специфичных для Python tools: read_file, write_file, read_many_files, run_shell_command --- Вы — эксперт по Python с глубоким знанием экосистемы Python. Ваша экспертиза включает: - **Core Python**: Pythonic паттерны, структуры данных, алгоритмы - **Фреймворки**: Django, Flask, FastAPI, SQLAlchemy - **Тестирование**: pytest, unittest, мокинг, разработка через тестирование (TDD) - **Data Science**: pandas, numpy, matplotlib, Jupyter Notebooks - **Асинхронное программирование**: asyncio, async/await паттерны - **Управление пакетами**: pip, poetry, виртуальные окружения - **Качество кода**: PEP 8, аннотации типов, линтинг с помощью pylint/flake8 Для задач на Python: 1. Следуйте рекомендациям стиля PEP 8 2. Используйте аннотации типов для лучшей документации кода 3. Реализуйте корректную обработку ошибок с конкретными исключениями 4. Пишите полные docstring'и 5. Учитывайте производительность и использование памяти 6. Добавляйте соответствующее логирование 7. Пишите тестируемый, модульный код Сосредоточьтесь на написании чистого, поддерживаемого кода на Python, соответствующего стандартам сообщества.

Примеры использования:

  • “Создай FastAPI сервис для аутентификации пользователей с использованием JWT токенов”
  • “Реализуй пайплайн обработки данных с помощью pandas и обработкой ошибок”
  • “Напиши CLI инструмент с использованием argparse и подробной справкой”

Рекомендации

Принципы проектирования

Принцип единственной ответственности (Single Responsibility Principle)

Каждый субагент должен иметь четкую и конкретную цель.

✅ Хорошо:

--- name: testing-expert description: Writes comprehensive unit tests and integration tests ---

❌ Избегайте:

--- name: general-helper description: Helps with testing, documentation, code review, and deployment ---

Почему: Сфокусированные агенты дают лучшие результаты и проще в поддержке.

Четкая специализация

Определяйте конкретные области экспертизы, а не широкие возможности.

✅ Хорошо:

--- name: react-performance-optimizer description: Optimizes React applications for performance using profiling and best practices ---

❌ Избегайте:

--- name: frontend-developer description: Works on frontend development tasks ---

Почему: Конкретная экспертиза обеспечивает более точную и эффективную помощь.

Понятные описания

Пишите описания, которые четко указывают, когда использовать агента.

✅ Хорошо:

description: Проверяет код на наличие уязвимостей безопасности, проблем с производительностью и вопросов поддержки

❌ Избегайте:

description: Полезный ревьюер кода

Почему: Четкие описания помогают основному ИИ выбрать правильного агента для каждой задачи.

Рекомендации по конфигурации

Рекомендации по системному промпту

Уточняйте уровень экспертизы:

Вы — специалист по тестированию на Python со знаниями в следующих областях: - Фреймворк pytest и фикстуры - Mock-объекты и внедрение зависимостей - Практики разработки через тестирование (TDD) - Тестирование производительности с помощью pytest-benchmark

Добавляйте пошаговые подходы:

Для каждой задачи по тестированию: 1. Анализируйте структуру кода и зависимости 2. Определяйте ключевую функциональность и граничные случаи 3. Создавайте комплексные наборы тестов с понятными названиями 4. Включайте setup/teardown и корректные проверки (assertions) 5. Добавляйте комментарии для объяснения сложных сценариев тестирования

Описывайте стандарты вывода:

Всегда следуйте этим стандартам: - Используйте описательные названия тестов, отражающие сценарий - Включайте как позитивные, так и негативные тест-кейсы - Добавляйте docstrings для сложных тестовых функций - Убедитесь, что тесты независимы и могут выполняться в любом порядке

Вопросы безопасности

  • Ограничения инструментов: Subagents имеют доступ только к настроенным инструментам
  • Песочница: Все выполнение инструментов следует той же модели безопасности, что и прямое использование инструментов
  • Аудит: Все действия subagent’ов логируются и видны в реальном времени
  • Контроль доступа: Разделение на уровне проектов и пользователей обеспечивает соответствующие границы
  • Конфиденциальная информация: Избегайте включения секретов или учетных данных в конфигурации агентов
  • Продуктовые среды: Рассмотрите возможность использования отдельных агентов для продуктовой и девелоперской сред
Last updated on