Разработка с помощью ИИ в Studio IDE
Используйте ИИ для разработки проектов dbt в Studio IDE.
dbt Wizard в Studio IDE — это новый и рекомендуемый способ разработки проектов dbt с помощью ИИ с соблюдением правил управления данными. Он использует контекст вашего проекта, чтобы помочь вам быстрее вносить изменения в dbt с соблюдением этих правил. Представьте его как интеллектуального ИИ-агента, у которого есть карта вашего проекта: вместо того чтобы просматривать каждый файл для понимания контекста, вы можете задавать ему вопросы и с его помощью быстрее разрабатывать и проверять изменения.
dbt также поддерживает dbt Copilot — отдельный инструмент встроенной ИИ-помощи для генерации SQL, документации, тестов и семантических моделей одним нажатием в Studio IDE, Canvas и Insights.
Предварительные требования
- Аккаунт dbt на любом тарифном плане и лицензия Developer.
- Среда разработки и учётные данные, настроенные в Studio IDE.
Функции ИИ включены по умолчанию. Администраторы могут выключить или снова включить их в любое время.
dbt Wizard в Studio IDE Предварительная версия
Используйте dbt Wizard для автономной генерации моделей, рефакторинга и выполнения многоэтапных рабочих процессов в Studio IDE. Он опирается на dbt Information Schema — структурированное представление зависимостей, тестов, состояния моделей и семантических определений вашего проекта — поэтому понимает не только ваш код, но и ваши данные.
dbt Wizard доступен на боковой панели или в разделе Console в Studio IDE.
Использование dbt Wizard
Используйте панель dbt Wizard для генерации ресурсов с помощью быстрых действий или поручите агенту полный цикл создания и рефакторинга моделей с помощью запросов на естественном языке.
Чтобы использовать dbt Wizard, выполните следующие действия:
- Откройте свой проект dbt в Studio IDE, затем выберите dbt Wizard в палитре команд.
- Начните ввод запроса одним из нескольких способов на панели dbt Wizard:
- Быстрые действия: Используйте генерацию ресурсов с помощью быстрых действий в верхней части панели для создания соответствующих запросов.
- Обычный текст: Введите в текстовое поле описание того, что вы хотите создать или изменить.
- Контекст модели: Введите
@, чтобы выбрать модель в качестве контекста. Это ограничит изменения агента выбранным ресурсом.
- Нажмите кнопку Agent mode, чтобы задать режим работы dbt Wizard. Доступны режимы Explore only, Ask for approval (по умолчанию) и Edit files automatically.
- Выберите модель dbt управляемое подключение, с которой хотите работать, в списке выбора модели рядом с кнопкой Agent mode.
- Просмотрите предложения агента и примите или отклоните изменения. Вы также можете нажать кнопку Start new dbt Wizard chat, чтобы начать новый сеанс чата.
- Разрешайте выполнение команд dbt, когда dbt Wizard запрашивает запуск таких команд, как
dbt compileилиdbt build. - Повторите эти действия, чтобы создать или изменить другие модели.
- Зафиксируйте изменения в своем проекте dbt и откройте pull request. Но будьте осторожны: этот волшебник умеет .
На следующих изображениях показано, как dbt Wizard отображает ход работы и результат:
Чтобы узнать больше о dbt Wizard и его работе, разверните следующие разделы с дополнительной информацией.
Добавление собственных навыков
Вы можете расширить возможности dbt Wizard с помощью собственных навыков, закрепив в них принятые в команде соглашения по SQL, правила именования и рабочие процессы моделирования, чтобы не повторять их в каждом запросе. Полный справочник, включая инструкции по созданию, структурированию и вызову навыков, см. в разделе Навыки.
Диагностика сбоев заданий
dbt Wizard может исследовать и устранять сбои заданий и запусков dbt непосредственно из Studio IDE. Эта возможность основана на навыке troubleshooting-dbt-job-errors из набора dbt Agent Skills, который уже настроен в агенте — дополнительная настройка не требуется.
Вы можете задавать агенту вопросы и давать команды, например:
- «Какие задания завершились с ошибкой за последнее время?»
- «Какова первопричина сбоя задания?»
- «Как исправить недавний сбой задания?»
- «Исправь сбой задания».
Агент сообщает, когда локальное состояние проекта может отличаться от состояния, в котором выполнялось задание, — например, если вы работаете в другой ветке или у вас есть незафиксированные изменения. Так вы получите полный контекст, прежде чем применять предложенные исправления.
Обработка тайм-аутов
Если команда dbt, запущенная dbt Wizard, выполняется более 5 минут, агент автоматически пытается остановить ее на сервере, прежде чем вернуть вам управление.
Вместо зависания или общей ошибки агент выводит понятное сообщение о том, что время ожидания команды истекло и ее выполнение было прервано. В сообщении также указано, удалось ли выполнить запрос на отмену. Если отмена не удалась, команда может продолжать выполняться на сервере.
После этого вы можете повторить команду, сузить запрос или выполнить другое действие.
Процесс миграции на dbt v2
Если у вас есть доступ к dbt Wizard с включёнными функциями ИИ, вы можете воспользоваться навыком миграции на dbt v2. Этот навык помогает исправлять ошибки совместимости прямо в Studio IDE с помощью dbt Wizard — без ручного анализа логов. Он классифицирует каждую ошибку, автоматически применяет проверенные исправления и показывает, что препятствует дальнейшей миграции.
Процесс миграции на dbt v2 доступен через dbt Wizard в Studio IDE. Если вы используете VS Code или dbt platform CLI, воспользуйтесь вместо этого инструментом autofix.
- В списке заданий нажмите кнопку Review job для задания с успешным запуском.
- Если кнопка Review job не отображается, включите переключатель Show dbt v2 eligibility в списке заданий.
- Во всплывающем окне dbt v2 eligibility unknown for this job нажмите Debug in Studio with dbt Wizard.
- dbt перенаправит вас в Studio IDE и переключит вашу персональную среду разработки на dbt v2.
- Откроется dbt Wizard и автоматически запустит навык миграции на dbt v2 со следующим запросом:
I need help fixing dbt v2 compatibility issues in this project. Please investigate and resolve any deprecation warnings or incompatibilities. Please use the migrating-dbt-core-to-fusion skill to guide this. - Рассмотрите и одобрите запросы разрешений от dbt Wizard, чтобы он мог выполнять необходимые команды.
- dbt Wizard последовательно выполняет
dbt compile, анализирует результаты и применяет исправления, пока компиляция не завершится успешно или не возникнет ошибка, которую он не сможет устранить. Если дальнейшая работа невозможна, он корректно завершает процесс, объясняет, что не удалось исправить, создаёт markdown-файл со сводкой всех внесённых изменений и предоставляет ссылку на него. - Когда проект будет компилироваться без предупреждений и ошибок, создайте коммит и опубликуйте изменения.
- После слияния изменений дождитесь повторного запуска задания или запустите его вручную на dbt v2.
Процесс миграции на v2 с помощью Developer Agent: анализ и исправление ошибок совместимости с v2 в Studio IDE.Подробнее о подготовке проекта к dbt v2 и действиях при возникновении ошибок совместимости см. в контрольном списке готовности к dbt v2 и руководствах по переходу на dbt v2.
Составление эффективных запросов
Хорошие запросы включают область применения (какие модели или часть проекта затрагиваются), цель (нужное преобразование или бизнес-логику) и любые ограничения (соглашения об именовании, материализацию, тесты). Вот несколько примеров:
| Задача | Пример запроса |
|---|---|
| Создать новую модель | «Создай модель с именем fct_daily_revenue, которая объединяет stg_orders и stg_payments, агрегирует выручку по дням и материализуется в виде таблицы». |
| Выполнить рефакторинг существующей модели | «Выполни рефакторинг fct_orders, чтобы использовать инкрементальную материализацию. Сохрани существующие тесты и соблюдай наши соглашения об именовании». |
| Сгенерировать тесты и документацию | «Добавь тесты not_null и unique для первичного ключа dim_customers и сгенерируй документацию для всех столбцов». |
Подробные рекомендации, шаблоны и дополнительные примеры для SQL, документации, тестов и семантических моделей см. в сборнике рецептов запросов.
dbt Copilot в Studio IDE
Предыдущая версия dbt Copilot в Studio IDE доступна только для ограниченного числа аккаунтов. dbt Wizard доступен для всех аккаунтов и является рекомендуемым способом разработки с помощью ИИ в Studio IDE — он поддерживает все возможности быстрых действий dbt Copilot, а также многоэтапные изменения со встроенной проверкой.
dbt Copilot позволяет одним нажатием генерировать SQL, документацию, тесты и семантические модели в Studio IDE, Canvas и Insights.
- Перейдите в Studio IDE и выберите SQL-файл модели в File Explorer.
- В разделе Console нажмите кнопку dbt Copilot, чтобы просмотреть доступные функции ИИ.
- Выберите доступные действия для генерации ресурсов, например используйте кнопки быстрых действий для генерации документации, тестов, семантических моделей или метрик.
В следующих разделах описано, как использовать dbt Copilot в Studio IDE.
Генерация ресурсов
Чтобы сгенерировать ресурсы с помощью dbt Copilot, выполните следующие действия:
Создавайте документацию, тесты, метрики и семантические модели — ресурсы — одним нажатием кнопки в Studio IDE с помощью dbt Copilot, экономя время. Чтобы получить доступ к этой функции ИИ и воспользоваться ею:
-
Перейдите в Studio IDE и выберите SQL-файл модели в разделе File Explorer.
-
В разделе Console (под File Editor) нажмите кнопку dbt Copilot и выберите, что вы хотите создать: документацию, тесты, метрики, SQL или семантические модели. Чтобы создать несколько конфигураций YAML для одной модели, выбирайте каждый вариант отдельно. dbt Copilot сохраняет их в один и тот же YAML-файл.
примечаниеdbt Copilot пока не поддерживает генерацию семантических моделей с использованием последней версии спецификации YAML.
- Чтобы создавать метрики, сначала необходимо определить семантические модели.
- После их определения нажмите dbt Copilot и выберите Generate metrics.
- Введите запрос с описанием метрик, которые вы хотите создать, и нажмите Enter.
- Примите (Accept) или отклоните (Reject) сгенерированный код.
-
Проверьте код, сгенерированный ИИ. При необходимости измените или исправьте его.
-
Нажмите Save As. Изменения в файле должны появиться в разделе Version control.
Редактирование SQL непосредственно в редакторе
dbt Copilot поддерживает окно быстрого ввода запроса для точечных изменений SQL непосредственно в редакторе. Нажмите Cmd+B (Mac) или Ctrl+B (Windows), чтобы открыть окно ввода запроса в файле модели, опишите, что вы хотите сгенерировать или изменить, и dbt Copilot покажет различия между текущей и предлагаемой версиями — нажмите Accept, чтобы применить изменения, или Reject, чтобы отклонить их.
Это удобно для локальных изменений в одном SQL-файле. Для более масштабных или многоэтапных изменений — например, создания новой модели, рефакторинга нескольких файлов или генерации YAML — ознакомьтесь с тем, как вместо этого может помочь dbt Wizard.



