Использование субагентов с dbt Wizard в dbt platform Бета-версия
Субагенты позволяют dbt Wizard запускать специализированных агентов для выполнения отдельных частей более крупной задачи, например изучения проекта, внесения изменений или проверки результатов. dbt Wizard координирует их работу и объединяет результаты в вашем сеансе.
Используйте субагентов, когда задачу можно разделить на независимые части. Они полезны для проверки большого pull request, отладки задания, завершившегося с ошибкой, добавления тестов для нескольких моделей или изучения документации, пока другой агент анализирует ваш проект.
Для небольших задач, не требующих разделения работы, субагенты обычно не нужны. Задайте один вопрос, например «Что делает эта модель?» или «Исправь этот тест, который завершается с ошибкой», не распределяя работу между агентами.
Субагенты расходуют больше токенов, чем выполнение той же задачи в сеансе с одним агентом. Используйте их, когда разделение работы помогает решить задачу.
Хотите увидеть dbt Wizard в действии? Посмотрите демонстрационное видео.
Нам было бы интересно узнать о вашем опыте работы с dbt Wizard. Поделитесь отзывом, выполнив слеш-команду /feedback в интерактивном сеансе терминала или перейдя в канал #dbt-wizard в Slack-сообществе dbt.
Большое спасибо за помощь в улучшении dbt Wizard и процесса разработки данных с помощью dbt!
Как работают субагенты
Агент — это роль, описывающая тип работы, например explorer, worker или test_writer.
Субагент — это запущенный экземпляр одной из таких ролей. Например, если вы запускаете двух агентов explorer для ответа на два разных вопроса, у вас будет два субагента с одной и той же ролью агента.
dbt Wizard берёт на себя координацию. Он запускает субагентов, направляет им задачи, ожидает результатов и объединяет их вывод в вашем сеансе.
Субагенты могут использоваться следующими способами:
| Как запускаются субагенты | Пример |
|---|---|
| Вы просите разделить работу. | Проверь PR #123. Пусть один агент опишет изменения, второй проверит тесты и влияние на зависимые модели, а третий найдёт подходящую документацию dbt. |
| dbt Wizard автоматически использует настроенного агента, если задача соответствует его описанию. | Добавь тесты для stg_customers и проверь, каких тестов не хватает в похожих staging-моделях. |
Встроенные агенты
dbt Wizard поставляется со встроенными агентами, которых можно запускать без какой-либо настройки. Некоторые из них специально предназначены для работы с dbt:
| Агент | Назначение | Пример |
|---|---|---|
explorer | Отвечает на конкретные вопросы о проекте. Работает быстро и только в режиме чтения. Для независимых вопросов можно запускать несколько таких агентов параллельно. | Попроси explorer объяснить, что зависит от fct_orders. |
worker | Реализует часть функциональности, исправляет тесты и ошибки или разбивает крупный рефакторинг на независимые задачи. | Попроси worker привести эти staging-модели к нашему соглашению об именовании. |
validation | После правок моделей проверяет SQL, запускает dbt run с --defer, сравнивает среды prod и dev и анализирует влияние перед слиянием. | Попроси validation проверить, можно ли безопасно слить мои изменения в int_payments. |
test_writer | Улучшает покрытие тестами dbt. Анализирует метаданные проекта и данные в хранилище, чтобы выявить пробелы в покрытии, проверяет предположения с помощью запросов и пишет тесты в schema.yml для моделей с низким покрытием или без тестов. | Попроси test_writer добавить тесты to stg_customers. |
Объявлять этих агентов не нужно — dbt Wizard автоматически направляет им подходящие задачи, либо вы можете запросить нужного агента по имени.
Связанная документация
- О dbt Wizard в dbt platform
- dbt Wizard в Studio IDE
- Локальное использование субагентов
- Как работает dbt Wizard