Часть 1.
Часть 2.
Окей, с агентным циклом разобрались. Поняли, что SK это не просто обёртка над одним OpenAI. Че они еще умеют:
🍔 Несколько LLM провайдеров. При регистрации каждому сервису даёшь serviceId. Дальше можешь гнать разные задачи в разные модели. К примеру, дешёвую локальную — для простых тулов, GPT-5.2 — только для финального ответа. Или вообще написать кастомный роутер с любой логикой. Переключаешь одной строчкой:
var kernel = Kernel.CreateBuilder()
.AddOpenAIChatCompletion("gpt-5”, openAiKey, serviceId: "expensive")
.AddOllamaChatCompletion("llama3", serviceId: "cheap")
.Build();
⛓️ Параллельные вызовы. Если LLM понимает что ему нужно два независимых результата — он может запросить несколько тулов одновременно. SK запускает их параллельно и собирает результаты. Например, читать два файла сразу. Если модель поддерживает такой вариант.
☕️ Фильтры. Как я уже говорил чуть выше. Это фактически middleware поверх тул-вызовов. Два типа:
🟢 перехватываешь вызов функции до/после — логируешь, добавляешь ретрай, или просишь подтверждение у пользователя перед опасной операцией
🟢 перехватываешь промпт перед отправкой в LLM — можно дописать контекст который появился в моменте
🅰️ Ну и главное — куда я хочу это всё применить. У нас процесс открытия стран описан карточками в Kaiten. Хочется сделать агента, который берёт карточку и сам выполняет её: читает код, добавляет свитч-кейсы, создаёт PR, пишет в мессенджеры, итп. Хз, получится или нет, но пару недель назад смотрелось страшнее, чем сейчас.
Короче, не знаю ещё насколько это будет надёжно на практике. Но теперь хотя бы понятно с чего начать.