Я думаю, это типичная история для всех разработчиков - приходишь на проект, там куча легаси и первая реакция - ПЕРЕПИСАТЬ ВСЕ. В общем, мне дали зеленый свет заняться именно этим😎
Поэтому сегодня мы релизнули новое направление разработки - AG2 Beta
Это полностью новый фреймворк для разработки агентов, который имеет ровно 0 заимствований из основной кодовой базы. Он доступен как модуль
autogen.beta, но по мере стабилизации и миграции сервисов на новую кодовую базу, мы планируем полностью дропнуть весь текущий функционал и AG2 Beta превратиться в AG2 1.0Однако, чтобы уж совсем не нарушать преемственность, Beta агенты имеют слой совместимости со всеми паттернами межагентного взаимодействия. Поэтому текущие пользователи AG2 могут внедрять новых агентов свои сущетсвующие приложения постепенно
В общем, должно быть понятнее на примерах:
📄Моя статья в блоге, как сделать Ambient агента в Telegram на базе AG2 Beta
📚Документация по AG2 Beta
🤖Песочница, где можно поиграть с мультиагентными паттернами AG2
Сам код в AG2 Beta выглядит +- таким образом
from autogen.beta import Agent
from autogen.beta.config import OpenAIConfig
agent = Agent(
"assistant",
prompt="You are a helpful assistant.",
config=OpenAIConfig("gpt-4o-mini"),
)
# Start a new conversation
reply = await agent.ask("Give me one sentence about AG2 beta.")
print(reply.content)
# Continue the exact same conversation context
next_turn = await reply.ask("Now make it shorter.")
print(next_turn.content)
Ну и из фич мы имеем (спустя 2 недели разработки):
1️⃣ Строгая типизация
2⃣️️️️️️ Специальный слой для управления системным промптом и памятью агента
3️⃣ Тотальный Dependency Injection во всех возможных уголках приложения
4️⃣ Мидлвари, на базе которых можно реализовать практически что угодно
5️⃣ Event-driven архитектура, которая позволяет внедряться в любую логику нативным образом
Сейчас эта ветка активно развивается и новая функциональность будет появляться буквально каждую неделю. Поэтому, если выбираете фреймворк для разработки агентных приложений - рекомендую, я всегда на связи😉