Skip to Content
Руководство пользователяФункцииПодагенты

Субагенты

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

Что такое субагенты?

Субагенты — это независимые ИИ-ассистенты, которые:

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

Ключевые преимущества

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

Как работают подагенты

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

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

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

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

    /agents create

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

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

    /agents manage

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

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

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

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

Управление

Команды CLI

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

Использование:/agents create。Создаёт нового субагента через пошаговый мастер.

Использование:/agents manage。Открывает интерактивное диалоговое окно управления для просмотра и управления существующими субагентами.

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

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

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

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

Формат файла

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

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

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

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

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

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

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

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

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

Чтобы поощрить более активное использование подагентов, включайте фразы типа «использовать АКТИВНО» или «ОБЯЗАТЕЛЬНО ИСПОЛЬЗОВАТЬ» в поле описания.

Явный вызов

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

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

Примеры

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

Специалист по тестированию

Идеально подходит для комплексного создания тестов и разработки через тестирование.

--- 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:** - Четкие описания эндпоинтов с примерами - Подробности по параметрам, включая типы и ограничения - Документация форматов ответов - Объяснение кодов ошибок - Требования к аутентификации **Для пользовательской документации:** - Пошаговые инструкции с скриншотами, где это полезно - Руководства по установке и настройке - Описание параметров конфигурации и примеры - Разделы по устранению неполадок для частых проблем - FAQ на основе типичных вопросов пользователей **Для документации разработчика:** - Обзор архитектуры и принятых решений - Работающие примеры кода - Руководство по внесению вклада в проект - Настройка среды разработки Всегда проверяйте примеры кода и следите за тем, чтобы документация соответствовала реальной реализации. Используйте понятные заголовки, списки и примеры.

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

  • «Создай документацию 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**: Питонические паттерны, структуры данных, алгоритмы - **Фреймворки**: Django, Flask, FastAPI, SQLAlchemy - **Тестирование**: pytest, unittest, мокинг, разработка через тестирование - **Наука о данных**: pandas, numpy, matplotlib, jupyter notebooks - **Асинхронное программирование**: asyncio, паттерны async/await - **Управление пакетами**: pip, poetry, виртуальные окружения - **Качество кода**: PEP 8, аннотации типов, линтинг с помощью pylint/flake8 Для задач на Python: 1. Следуйте рекомендациям стиля PEP 8 2. Используйте аннотации типов для лучшей документации кода 3. Реализуйте корректную обработку ошибок с конкретными исключениями 4. Пишите полные строки документации 5. Учитывайте производительность и использование памяти 6. Включайте соответствующее логирование 7. Пишите тестируемый, модульный код Сосредоточьтесь на написании чистого, поддерживаемого кода на Python, который соответствует стандартам сообщества.

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

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

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

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

Принцип единственной ответственности

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

✅ Хорошо:

--- name: testing-expert description: Пишет комплексные модульные и интеграционные тесты ---

❌ Избегайте:

--- name: general-helper description: Помогает с тестированием, документацией, код-ревью и деплоем ---

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

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

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

✅ Хорошо:

--- name: react-performance-optimizer description: Оптимизирует производительность React-приложений с использованием профилирования и лучших практик ---

❌ Избегайте:

--- name: frontend-developer description: Работает над задачами фронтенд-разработки ---

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

Практичные описания

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

✅ Хорошо:

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

❌ Избегайте:

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

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

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

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

Будьте конкретны в вопросе экспертизы:

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

Включайте пошаговые подходы:

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

Уточняйте стандарты вывода:

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

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

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