Зачем визуальный билдер
Код-first подход из прошлых уроков мощный, но у него высокая «цена итерации»: чтобы попробовать другую роль или порядок агентов, надо лезть в файл, править, перезапускать скрипт, читать лог в терминале. На стадии прототипирования, когда ты ещё нащупываешь, какая команда работает, это тормозит. А ещё код-first полностью закрыт для не-программистов — продакт-менеджер или аналитик не могут просто «попробовать идею».
AutoGen Studio снимает оба барьера. Это графическая среда поверх AutoGen: агенты, модели, инструменты и команды настраиваются в формах и на канвасе, запускаются по кнопке, а разговор виден прямо в браузере. Быстрый цикл «собрал → запустил → посмотрел → поправил» — главное, ради чего Studio существует.
Важно не путать: AutoGen Studio не заменяет AutoGen, а оборачивает его в UI. Всё, что ты собираешь мышкой, — это те же агенты и команды из прошлых уроков, просто заданные декларативно (через формы/JSON), а не кодом. Поэтому понимание ConversableAgent, ролей и завершения остаётся обязательным — Studio лишь меняет способ их сборки.
Запуск Studio
Studio ставится отдельным пакетом и поднимается как локальный веб-сервер — открываешь в браузере и работаешь.
# Установка
pip install autogenstudio
# Ключ модели — как обычно, через окружение
export OPENAI_API_KEY="sk-..."
# Поднять веб-интерфейс (по умолчанию http://localhost:8081)
autogenstudio ui --port 8081
# Открой ссылку в браузере — дальше всё мышкой
Из чего собирают систему
Studio предлагает галерею компонентов, из которых, как из кубиков, собирается мультиагентная система. Это те же сущности, что в коде, но в виде карточек:
- Models — конфиги LLM (модель, ключ, параметры). Их подключают к агентам.
- Agents — роли с системным промптом и моделью (тот же
AssistantAgentи др. из кода). - Tools — инструменты, которые агент может вызвать.
- Teams — команды/воркфлоу: какие агенты участвуют и как координируются (аналог
GroupChat).
Playground: запуск и наблюдение
Собранную команду не нужно экспортировать, чтобы проверить, — её запускают прямо в Studio, в playground. Вводишь задачу, жмёшь запуск и видишь разговор вживую: кто что сказал, какие инструменты вызвал, сколько шагов и токенов ушло. Это визуальный аналог чтения лога initiate_chat, только удобнее и нагляднее.
Такой быстрый цикл и есть ценность Studio для прототипа: поменял системный промпт роли → перезапустил в playground → сразу увидел, стало лучше или хуже. Не нужно ни строчки кода, ни перезапуска скрипта. По сути Studio даёт встроенную наблюдаемость (привет LangSmith из модуля 03) прямо в интерфейсе сборки.
Мост к коду: экспорт конфигурации
Главное, что превращает Studio из «игрушки» в полезный инструмент, — экспорт. Команда, собранная мышкой, — это декларативная конфигурация (JSON). Её можно выгрузить и запускать уже из кода через AutoGen SDK. Так Studio становится мостом между прототипом и продакшеном.
# Собрал команду в Studio → экспортировал её конфиг (team.json)
# Дальше можно загрузить и запускать программно, в своём приложении:
import json
from autogen_agentchat.teams import BaseGroupChat # пример (API зависит от версии)
with open("team.json") as f:
config = json.load(f)
team = BaseGroupChat.load_component(config) # восстановить команду из конфига
# team.run(task="...") # запустить как обычный код
# Идея: визуально СПРОЕКТИРОВАЛ → выгрузил конфиг → встроил в продакшен-код
Самый практичный сценарий — использовать Studio там, где он силён (быстро нащупать состав команды и промпты), а как только дизайн устаканился — экспортировать в код и дальше развивать как обычный проект: с git, тестами, ревью. Studio ускоряет исследование, код обеспечивает надёжность. Это не «или-или», а конвейер.
Studio против кода
| Критерий | AutoGen Studio | Код (SDK) |
|---|---|---|
| Скорость прототипа | высокая — всё мышкой | ниже — правка + перезапуск |
| Порог входа | низкий, доступен не-кодерам | нужен Python |
| Гибкость и кастомная логика | ограничена формами UI | полная |
| Версионирование, тесты, CI | нет (но есть экспорт JSON) | git, тесты, ревью |
| Продакшен | не для прода напрямую | да |
AutoGen Studio задуман как среда прототипирования и демонстраций, а не движок для боевого трафика. Сложная логика, интеграции, версионирование, нагрузочная надёжность — это территория кода. Не пытайся «жить» в Studio с продакшен-системой: используй его, чтобы быстро спроектировать, и переноси результат в код.
Типичные ошибки
Мышкой собрать можно, но если не понимаешь роли, завершение и координацию из прошлых уроков — получишь нерабочую или зацикленную команду. Studio — это UI поверх тех же концепций, а не способ их обойти.
Studio — для прототипов. Для боевой системы экспортируй конфиг и переноси в код с git, тестами и мониторингом.
Studio — локальный веб-сервер, в нём твои API-ключи и (при code execution) выполнение кода. Не выставляй его в публичную сеть без защиты и помни про безопасность выполнения кода из прошлого урока.
Studio и его конфиги следуют за быстро меняющимся AutoGen — формат экспорта и UI могут меняться между версиями. Не завязывай критичные процессы на конкретный вид JSON; сверяйся с документацией своей версии.
Шпаргалка
ЧТО ЭТО: веб-UI (low-code) ПОВЕРХ AutoGen — собираешь агентов мышкой
ЗАПУСК:
pip install autogenstudio
autogenstudio ui --port 8081 → http://localhost:8081
КОМПОНЕНТЫ (галерея):
Models — конфиги LLM
Agents — роли (system prompt + модель)
Tools — инструменты
Teams — команды/воркфлоу (аналог GroupChat)
ЦИКЛ: галерея → собрал команду на канвасе → playground (запуск+лог) → ЭКСПОРТ
МОСТ К КОДУ: команда = JSON-конфиг → load_component(...) → запуск из SDK
КОГДА ЧТО:
Studio — прототип, демо, не-кодеры, быстрый цикл итераций
Код — гибкость, кастомная логика, git/тесты/CI, ПРОДАКШЕН
ПОМНИ:
• Studio не заменяет понимание ConversableAgent/ролей/завершения
• для прода → экспорт в код, не «живи» в Studio
• локальный сервер с твоими ключами + code execution → не публикуй открыто
Практическое задание
Собери команду без кода — и перенеси в код:
Задание: от Studio к коду
- Установи и запусти
autogenstudio ui. Подключи модель (свой ключ). - Собери команду из 2–3 агентов с узкими ролями (например, researcher + writer + critic) — теми же принципами специализации, что и в коде.
- Запусти задачу в playground, проследи разговор: кто говорит, в каком порядке, где завершение. Поправь промпт одной роли и перезапусти — оцени, как быстро идёт итерация по сравнению с кодом.
- Экспортируй конфигурацию команды (JSON). Открой её и сопоставь поля с тем, что ты задавал бы в коде (агенты, модель, координация).
- Загрузи конфиг из кода и запусти ту же команду программно — убедись, что поведение совпадает с playground.
- Со звёздочкой: опиши для своей команды, что разумно оставить в Studio (дизайн/демо), а что вынести в код (логика, тесты, деплой), и почему.
Что дальше
На этом раздел AutoGen закрыт: ты знаешь агентов-собеседников, пару «мозг + руки», групповой чат, безопасное выполнение кода и визуальную сборку в Studio. Следующий фреймворк мультиагентов — CrewAI: другой взгляд на ту же задачу, с акцентом на роли, задачи и процессы.