Skip to Content
Руководство для разработчиковИнструментыЗадача

Agent Tool (agent)

Этот документ описывает инструмент agent для Qwen Code.

Описание

Используйте agent для запуска специализированного субагента, который автономно обрабатывает сложные многошаговые задачи. Инструмент Agent делегирует работу специализированным агентам, которые могут работать независимо, имея доступ к собственному набору инструментов, что позволяет выполнять задачи параллельно и использовать узкоспециализированные знания.

Аргументы

agent принимает следующие аргументы:

  • description (string, required): Краткое (3–5 слов) описание задачи для отображения пользователю и отслеживания.
  • prompt (string, required): Подробный промпт с задачей для субагента. Должен содержать исчерпывающие инструкции для автономного выполнения.
  • subagent_type (string, optional): Тип специализированного агента для данной задачи. По умолчанию — general-purpose.
  • run_in_background (boolean, optional): Установите true, чтобы запустить агента в фоне. Вы получите уведомление о завершении.
  • isolation (string, optional): Установите "worktree", чтобы запустить агента в изолированном git worktree.

Как использовать agent с Qwen Code

Инструмент Agent динамически загружает доступные субагенты из вашей конфигурации и делегирует им задачи. Каждый субагент работает независимо и может использовать собственный набор инструментов, что обеспечивает специализацию и параллельное выполнение.

При использовании инструмента Agent субагент:

  1. Получает промпт задачи с полной автономией.
  2. Выполняет задачу, используя доступные инструменты.
  3. Возвращает итоговое сообщение с результатом.
  4. Завершает работу (субагенты не сохраняют состояние и используются однократно).

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

agent(description="Краткое описание задачи", prompt="Подробные инструкции для субагента", subagent_type="agent_name")

Доступные subagents

Доступные субагенты зависят от вашей конфигурации. Типичные типы subagent:

  • general-purpose: Для сложных многошаговых задач, требующих различных инструментов.
  • code-reviewer: Для рецензирования и анализа качества кода.
  • test-runner: Для запуска тестов и анализа результатов.
  • documentation-writer: Для создания и обновления документации.

Просмотреть доступные субагенты можно командой /agents в Qwen Code.

Возможности инструмента Agent

Обновления в реальном времени

Инструмент Agent предоставляет живые обновления, показывающие:

  • Статус выполнения субагента.
  • Отдельные вызовы инструментов, производимые субагентом.
  • Результаты вызовов и возможные ошибки.
  • Общий прогресс и статус завершения задачи.

Параллельное выполнение

Вы можете запустить несколько субагентов одновременно, вызвав инструмент Agent несколько раз в одном сообщении. Это позволяет выполнять задачи параллельно и повышает эффективность.

Специализированные знания

Каждый субагент может быть настроен со следующими параметрами:

  • Определённые права доступа к инструментам.
  • Специализированные системные промпты и инструкции.
  • Индивидуальные конфигурации модели.
  • Предметно-ориентированные знания и возможности.

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

Делегирование универсальному агенту

agent( description="Рефакторинг кода", prompt="Пожалуйста, перепишите модуль аутентификации в src/auth/ с использованием современных async/await вместо колбэков. Убедитесь, что все тесты проходят, и обновите соответствующую документацию.", subagent_type="general-purpose" )

Запуск параллельных задач

# Запуск проверки кода и выполнения тестов параллельно agent( description="Проверка кода", prompt="Проверьте последние изменения в модуле управления пользователями на предмет качества кода, безопасности и соответствия лучшим практикам.", subagent_type="general-purpose" ) agent( description="Запуск тестов", prompt="Выполните полный набор тестов и проанализируйте ошибки. Предоставьте сводку по покрытию тестами и рекомендации по улучшению.", subagent_type="test-engineer" )

Генерация документации

agent( description="Обновление документации", prompt="Создайте полную API-документацию для новых REST-эндпоинтов в модуле заказов. Включите примеры запросов/ответов и коды ошибок.", subagent_type="general-purpose" )

Когда использовать инструмент Agent

Используйте инструмент Agent в следующих случаях:

  1. Сложные многошаговые задачи — задачи, требующие нескольких операций, которые можно выполнить автономно.
  2. Специализированные знания — задачи, выигрывающие от предметно-ориентированных знаний или инструментов.
  3. Параллельное выполнение — когда у вас есть несколько независимых задач, которые могут выполняться одновременно.
  4. Делегирование — когда вы хотите передать задачу целиком, а не управлять каждым шагом.
  5. Ресурсоёмкие операции — задачи, требующие значительного времени или вычислительных ресурсов.

Когда НЕ следует использовать инструмент Agent

Не используйте инструмент Agent для:

  • Простых одношаговых операций — используйте прямые инструменты, такие как Read, Edit и др.
  • Интерактивных задач — задач, требующих диалога и обратной связи.
  • Чтения конкретных файлов — используйте инструмент Read напрямую для лучшей производительности.
  • Простого поиска — используйте инструменты Grep или Glob напрямую.

Важные замечания

  • Отсутствие состояния: Каждый вызов субагента независим, он не сохраняет память о предыдущих выполнениях.
  • Однократное общение: Субагент возвращает только одно итоговое сообщение с результатом — непрерывное общение не поддерживается.
  • Подробные промпты: Ваш промпт должен содержать весь необходимый контекст и инструкции для автономного выполнения.
  • Доступ к инструментам: Субагент имеет доступ только к тем инструментам, которые настроены в его конфигурации.
  • Параллельная работа: Несколько субагентов могут выполняться одновременно для повышения эффективности.
  • Зависимость от конфигурации: Доступные типы субагентов определяются вашей системной конфигурацией.

Конфигурация

Субагенты настраиваются через систему конфигурации агентов Qwen Code. Используйте команду /agents для:

  • Просмотра доступных субагентов.
  • Создания новых конфигураций субагентов.
  • Изменения существующих настроек субагентов.
  • Установки прав доступа к инструментам и возможностей.

Дополнительную информацию о настройке субагентов см. в документации по субагентам.

Last updated on