Paweł Łukasiewicz: programista blogger
Paweł Łukasiewicz
2025-05-18
Paweł Łukasiewicz
2025-05-18
Udostępnij Udostępnij Kontakt
🧪 Zaawansowane scenariusze – case study

czyli jak naprawdę wykorzystać Semantic Kernel w codziennej pracy


Przeszliśmy już przez wprowadzenie, pluginy, planery i zarządzanie pamięcią.
Ale jak to wszystko działa razem w prawdziwej aplikacji?

W tym wpisie pokażę Ci trzy konkretne scenariusze, z którymi miałem do czynienia (lub które są silnie inspirowane codziennością).
Pokażemy, jak Semantic Kernel rozwiązuje problemy, które jeszcze niedawno były zarezerwowane dla większych zespołów ML.


📚 Scenariusz 1: Podsumowanie rozmów z Teams i wysyłka follow-upów przez Outlooka

Problem:

Spotkania na Teamsach kończą się stertą notatek (lub ich brakiem). Potrzebujemy automatu, który:

  • zbierze transkrypcję spotkania

  • podsumuje najważniejsze punkty

  • wyśle follow-up do uczestników

Rozwiązanie w SK:

🔌 używamy pluginów:

  • TeamsPlugin (do pobrania treści spotkania)

  • TextPlugin (do podsumowania tekstu)

  • OutlookPlugin (do wysyłki follow-upa)

🧠 dorzucamy pamięć, żeby agent wiedział, z kim już rozmawiał i o czym

var summary = await kernel.InvokePromptAsync("TextPlugin.Summarize", input: transcript); 

await kernel.InvokeAsync("OutlookPlugin.SendEmail", 
    new() { 
        ["to"] = participants, 
        ["subject"] = "Podsumowanie spotkania", 
        ["body"] = summary 
    }
); 

🎯 Efekt: Zamiast klikać 15 minut po spotkaniu – masz gotowego agenta, który robi to za Ciebie.


📦 Scenariusz 2: Automatyzacja procesów biznesowych (np. faktury, reklamacje)

Problem:

W skrzynce lądują maile z załącznikami (PDF, faktura, reklamacja). Trzeba je przeanalizować i podjąć decyzję:

  • wysłać dalej do działu finansowego

  • odpisać klientowi

  • otworzyć ticket

Rozwiązanie w SK:

🔌 plugin OutlookPlugin do pobrania załączników
📥 prompt function do klasyfikacji treści
📤 integracja z Power Automate / SharePoint przez natywną funkcję HTTP

🔁 agent, który:

  1. Odczytuje wiadomość

  2. Wyciąga dane z pliku (OCR)

  3. Klasyfikuje temat

  4. Wysyła dalej, zapisuje lub odpowiada

var type = await kernel.InvokePromptAsync("ClassifyDocument", input: ocrResult); 

if (type == "faktura") 
    await SendTo("finanse@firma.pl"); 

🧠 Co ciekawe – agent może się uczyć. Można dodać logikę: "jeśli popełnił błąd – zapamiętaj poprawkę".


🔎 Scenariusz 3: Wyszukiwanie wiedzy w dokumentach firmowych

Problem:

Zespół ma 500 dokumentów Word i PDF, pełnych procedur, umów i instrukcji.
Szukają odpowiedzi: "Co zrobić, gdy klient chce wypowiedzieć umowę?"

Rozwiązanie w SK:

🔍 MemoryStore + własne embeddingi (np. Azure OpenAI)
📄 załaduj wszystkie dokumenty i podziel je na segmenty
🧠 agent przeszukuje dokumentację i udziela odpowiedzi z kontekstem

await kernel.Memory.SaveInformationAsync("procedures", id: "123", text: paragraph); 
... 
var answer = await kernel.InvokePromptAsync("AnswerFromDocs", input: userQuestion); 

🎯 Efekt: zamiast przeszukiwać SharePoint – wpisujesz pytanie, a agent podaje dokładny fragment.


🧩 Co łączy te scenariusze?

Pluginy – większość integracji zbudujesz przez gotowe lub własne funkcje
Planery – w bardziej złożonych przypadkach agent sam wybiera kolejne kroki
Pamięć – nie musisz na nowo tłumaczyć, co się działo
Szybki deployment – działa lokalnie, w chmurze, albo jako Copilot


🧠 A może Ty masz własny case?

To tylko 3 przykłady, które pokazują elastyczność Semantic Kernel.
W rzeczywistości możesz zautomatyzować niemal wszystko, co da się ująć jako:

  • tekst wejściowy

  • analiza

  • działanie


W kolejnym wpisie sprawdzimy co działa, co nie działa i czego unikać jak ognia 🔥