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/ (резервный вариант)
  • На уровне расширений: Предоставляется установленными расширениями

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

Дополнительные субагенты

Расширения могут предоставлять пользовательские субагенты, которые становятся доступны при включении расширения. Эти агенты хранятся в каталоге 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) для сложных тестовых функций - Обеспечивайте независимость тестов и возможность их запуска в любом порядке

Рекомендации по безопасности

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