😂 Помните Semantic Kernel? Можете выкинуть. Тащите Agent Framework 1.0
Помните я писал про Semantic Kernel? Про то как можно за пару строчек кода собрать мини-агента с тулами, который сам решает что вызывать? Так вот — можете его выкинуть. 3 апреля Microsoft выкатили Agent Framework 1.0. Это не очередной превью — это стаблильнейший релиз от тех же людей, что делали SK. Фактически они взяли всё хорошее из SK, выкинули всё что бесило, и в итог переписали все с нуля.
Как говорится, устранили фатальный недостаток.
Главная боль SK была в том, что для всего нужен был объект Kernel. Хочешь тул зарегать — оберни в KernelPlugin, навесь [KernelFunction], добавь в Kernel.Plugins. Хочешь другого провайдера — отдельный класс агента (ChatCompletionAgent, OpenAIAssistantAgent, AzureAIAgent). Много обвязки.
В Agent Framework всё это выкинули. Вот что поменялось:
1️⃣ Один тип агента на всех провайдеров. ChatClientAgent работает с любым IChatClient — OpenAI, Azure, Anthropic, Ollama. Никаких отдельных классов.
2️⃣ Тулы без атрибутов. Не нужен [KernelFunction]. Берёшь любой C# метод, оборачиваешь в AIFunctionFactory.Create() — и готово. Description по-прежнему важен (как я и говорил — мусор на входе, мусор на выходе), но обвязки стало меньше.
3️⃣ Сессии из коробки. Не надо руками таскать ChatHistory. Вызвал agent.CreateSessionAsync() — и агент сам хранит историю переписки между вызовами.
4️⃣ Middleware pipeline. Вместо фильтров SK — полноценный пайплайн как в ASP.NET. Три уровня: перехват на уровне агента, на уровне вызова функций, на уровне IChatClient.
Покажу на примере. На пояснительном дикпике 1 — агент с тулами для работы с GitHub. Обратите внимание: никакого [KernelFunction], никакого Kernel.Plugins. Просто метод с [Description] и AIFunctionFactory.Create(). Минус целый один атрибут! 😳
А на дикпике 2 — сравнение старого SK и нового Agent Framework бок о бок. Тот же функционал, вдвое меньше кода.
А ещё там есть мультиагентные воркфлоу. На дикпике 3 — цепочка из трёх агентов: один исследует, второй пишет, третий редактирует. И всё это собирается в одного workflowAgent. Я вот тут чуток попробовал. Мне понраивлось в целом
А что с Semantic Kernel, кстати где он?
Ну вот тут кек. ☺️ Мы буквально только-только затащили SK в проект. 😀 Написали плагины, настроили агентный цикл, я даже посты про это написал!!! — и тут Microsoft такие: "а мы тут новый фреймворк сделали, старый в maintenance mode". Классика AI. А помните как мы угорали над фронтентдными фреймворками? Я вот сейчас плчу по тем временам. 😭
SK официально переходит в maintenance mode. Это значит: баг-фиксы и секьюрити патчи будут, но новых фич не будет — всё новое только в Agent Framework. Microsoft рекомендует мигрировать в течение 6–12 месяцев.
Гайд по миграции. 🫠
🅰️ Итого: Agent Framework — это то, чем SK хотел быть, но не мог из-за легаси. Выбрасывайте SK и срочно переходите на Agent Framework! Ладно, это шутка. Если уже используете SK — не паника, он ещё поддерживается, но мигрировать стоит. Если только начинаете — начинайте сразу с Agent Framework.
#csharp #dotnet #ai #agents #microsoft
Post #407
485



- 🔥 4
- ❤🔥 1
- 😈 1