Agent zamówień sieci w Microsoft 365 Copilot: sześć kroków

Temat: Produkcja seryjna

W sześciu krokach zbudujecie w Agent Builderze Microsoft 365 Copilot agenta, który czyta zamówienie sieci handlowej z PDF-u, dopasowuje linie do Waszej kartoteki po kodzie kreskowym (EAN) i indeksie, sprawdza krotność palet, stany, partie w planie i warunki kontraktu, a na końcu oddaje szkic potwierdzenia z listą wyjątków do decyzji. Agent nie potwierdza zamówienia, nie zmienia ceny, nie obiecuje terminu i nie pisze do odbiorcy. Stan funkcji sprawdzony 15.10.2026 w dokumentacji Agent Buildera.

To przepis do karty agenta zamówień z serii o produkcji seryjnej jako jednym systemie. Pracujemy na tych samych danych ćwiczeniowych co w pozostałych przepisach: zamówienie sieci na sześć linii, kartoteka dziesięciu indeksów mebli, stany z partiami w planie i kontrakt trzech odbiorców. Wszystko jest fikcyjne, łącznie z Siecią Dom i Ogród, która chce trzysta stołów na czternastego.

Gotowy skill. Procedurę agenta zamówień sieci z tego przepisu znajdziecie jako gotowy skill w otwartym repozytorium moja-firma-produkcja na GitHubie, razem z danymi ćwiczeniowymi i wynikiem kontrolnym. Działa w Claude, Microsoft 365 Copilot, ChatGPT i Gemini. Jak z niego skorzystać.

Co zbudujesz

Agenta w Microsoft 365 Copilot ze stałymi instrukcjami i trzema plikami Excel w wiedzy. Do rozmowy z agentem dołączasz PDF z zamówieniem i dostajesz to, na co dział obsługi klienta dziś traci godzinę przepisywania i trzy telefony: do magazynu, do planisty i do handlowca.

WejścieCo robi agentWynik
Zamówienie sieci w PDFczyta nagłówek, linie, okno dostawy i żądania odbiorcylista pozycji i warunków, których żąda odbiorca
Kartoteka indeksów (XLSX)dopasowuje po EAN albo indeksie; wycofany indeks zamienia na zamiennik; liczy pełne paletyindeks i nazwa z kartoteki przy każdej linii, palety i reszta
Stany (XLSX)liczy dostępne (stan minus rezerwacje), porównuje partię w planie z terminem awizacji i oknembraki, daty zwolnienia partii, ryzyko kary
Kontrakt odbiorcy (XLSX)liczy wartość według cen kontraktowych i z zamówienia, sprawdza czas realizacji, etykietę, kary, termin płatnościszkic potwierdzenia i lista wyjątków z osobą, która decyduje

Czym Copilot różni się od pozostałych trzech narzędzi w tym zadaniu. Agent żyje tam, gdzie obsługa klienta już pracuje: w aplikacji Microsoft 365 Copilot i w Teams, z uprawnieniami i etykietami, które firma i tak ustawiła w tenancie. Ceną za to są dwie rzeczy. Pierwsza to licencja: agent oparty na danych firmy wymaga licencji Microsoft 365 Copilot albo rozliczania za użycie, więc zanim ktokolwiek kliknie „Create agent”, rozmowa z administratorem jest obowiązkowa. Druga to format: wiedza agenta nie przyjmuje CSV, a plik wygenerowany przez code interpreter istnieje tylko w trakcie sesji. W Claude i ChatGPT pracujecie w projekcie, w Gemini w Gemie z plikami z Dysku; tutaj w agencie, którego można później przenieść do Copilot Studio, gdy przyjdzie czas na automatyzację skrzynki.

Czego potrzebujesz

  • Konta służbowego Microsoft 365 z dostępem do aplikacji Microsoft 365 Copilot (microsoft365.com/chat) albo do Teams na komputerze lub w przeglądarce. Agent Builder nie działa na urządzeniach mobilnych.
  • Licencji Microsoft 365 Copilot albo włączonego przez administratora rozliczania pay-as-you-go w Copilot Studio. Sam Copilot Chat jest w subskrypcji Microsoft 365, ale agenci korzystający z danych tenanta wymagają jednego z tych dwóch wariantów. Na stronie Microsoftu licencja kosztuje 30 USD za użytkownika miesięcznie przy płatności rocznej i wymaga kwalifikującego się planu Microsoft 365 (wymagania wstępne).
  • Danych ćwiczeniowych w XLSX: zamowienie.pdf, indeksy.xlsx, stany.xlsx, kontrakt-odbiorcy.xlsx. Komplet razem z CSV: agent-ps-dane-cwiczeniowe.zip. W tym przepisie CSV nie przyda się: nie ma go na liście typów wiedzy Agent Buildera.

Czego ten agent nie zrobi

Nie potwierdzi odbiorcy terminu, gdy stan nie wystarcza, nie przyjmie ceny z zamówienia zamiast ceny z kontraktu i nie zdecyduje, czy awizować dostawę, której część zależy od partii zwalnianej w dniu awizacji. Te decyzje należą do handlowca, ostatnia do handlowca z planistą. Agent pokazuje, ile każda z nich kosztuje w złotych kary z kontraktu i kto ma się pod nią podpisać.

Ślepa automatyzacja szkodzi tu przy dopasowaniu po nazwie: odbiorca pisze „Krzesło Lora szare” i podaje wycofany indeks, a agent dopasowany po nazwie potwierdzi cenę starego indeksu i przeoczy droższego następcę. Dlatego instrukcja każe dopasowywać po EAN i indeksie. Warunek brzegowy: jeśli ten sam wyrób ma u Was dwa indeksy, a ceny kontraktowe sieci żyją w PDF-ie, agent policzy wszystko na złych danych, tyle że szybciej. Najpierw jedna kartoteka z ceną kontraktową przy odbiorcy, potem agent.

Krok 1. Ustal licencję z administratorem

Zanim zaczniesz, zapytaj administratora Microsoft 365 o dwie rzeczy. Czy masz licencję Microsoft 365 Copilot, a jeśli nie, czy w Microsoft 365 admin center albo w Power Platform admin center skonfigurowano pay-as-you-go; agenci rozliczani za użycie są w Copilot Chat domyślnie wyłączeni. I czy włączono Restricted SharePoint Search, bo wtedy SharePoint nie może być źródłem wiedzy agenta (w tym przepisie wgrywamy pliki, więc to dotyczy dopiero Waszych własnych danych).

Powinieneś wyjść z tej rozmowy z jasnym „tak, możesz budować agentów na plikach firmy”. Bez tego nie wiadomo, czy agent zadziała u Was i u kolegów, którym go udostępnicie.

Krok 2. Utwórz agenta i wpisz instrukcje

Otwórz microsoft365.com/chat, w lewym panelu kliknij Create agent i przejdź na kartę Configure. Karta Describe pozwala opisać agenta językiem naturalnym, ale instrukcje chcemy mieć dosłownie takie, jak niżej. Zmiany zapisują się automatycznie.

  • Name (do 30 znaków): Agent zamówień sieci
  • Description (do 1000 znaków): Sprawdza zamówienia sieci handlowych wobec kartoteki, stanów, partii w planie i kontraktu odbiorcy. Przygotowuje szkic potwierdzenia i listę wyjątków. Niczego nie potwierdza.
  • Instructions (do 8000 znaków): wklej poniższy tekst.
Jesteś agentem zamówień w fabryce produkującej seryjnie (meble dla sieci handlowych
i dystrybutorów). Pracujesz na trzech plikach z wiedzy agenta:
- indeksy.xlsx: indeks, nazwa, EAN, opakowanie zbiorcze (szt.), paleta (szt.), status
  (aktywny / wycofany), zamiennik, cena kontraktowa netto dla odbiorcy O-0042,
- stany.xlsx: stan dostępny, zarezerwowane, w planie produkcji, data zwolnienia partii,
- kontrakt-odbiorcy.xlsx: czas realizacji w dniach, kara za niedostawę (% wartości), kara za
  spóźnione okno (zł), bonus retro (%), wymagana etykieta, poziom serwisu, termin płatności.

Gdy użytkownik dołączy zamówienie odbiorcy (PDF w rozmowie), zrób kolejno:
1. Odczytaj nagłówek: numer i data zamówienia, odbiorca i jego numer, miejsce dostawy,
   okno dostawy, termin awizacji. Osobno wypisz, czego odbiorca żąda w treści:
   ceny, palety, etykiety, sposób rozliczenia niedostaw.
2. Dopasuj każdą linię do pliku indeksy: najpierw po EAN, potem po indeksie. Nie dopasowuj
   po nazwie; nazwa odbiorcy jest tylko pomocnicza. EAN albo indeks spoza pliku zgłoś
   jako wyjątek do wyjaśnienia z odbiorcą.
3. Jeśli indeks ma status „wycofany”, weź indeks z kolumny zamiennik i oznacz linię
   do potwierdzenia z odbiorcą, podając cenę kontraktową zamiennika i cenę z zamówienia.
4. Sprawdź krotność: ilość powinna być wielokrotnością liczby sztuk na palecie, bo kontrakt
   wymaga palet jednorodnych. Podaj liczbę pełnych palet i resztę.
5. Sprawdź dostępność. Dostępne = stan dostępny − zarezerwowane. Gdy dostępne < ilość,
   podaj brak, ilość w planie produkcji i datę zwolnienia partii i porównaj tę datę
   z terminem awizacji i oknem dostawy. Dla każdego braku policz ryzyko kary:
   brak × cena kontraktowa × procent kary za niedostawę z kontraktu.
6. Policz wartość każdej linii według cen kontraktowych i osobno według cen z zamówienia.
   Podaj obie sumy i różnicę.
7. Sprawdź kontrakt: czas realizacji wobec liczby dni od daty zamówienia do okna dostawy,
   termin awizacji, wymaganą etykietę, karę za spóźnione okno, termin płatności.
8. Przygotuj szkic potwierdzenia (lp., indeks, nazwa z kartoteki, ilość, palety, cena
   kontraktowa, wartość, dostępne, uwagi) i listę wyjątków. Przy każdym wyjątku napisz,
   co jest nie tak, ile to kosztuje albo czego brakuje i kto decyduje: handlowiec,
   planista albo kierownik logistyki. Przypisanie: cena, zamiennik, niepełne palety i nieznany
   EAN — handlowiec z odbiorcą; brak towaru i potwierdzenie terminu przy ryzyku partii —
   handlowiec z planistą; awizacja i etykiety — kierownik logistyki.
9. Zaproponuj, które linie potwierdzić (bez zastrzeżeń albo z zastrzeżeniami z listy wyjątków),
   a które odesłać do wyjaśnienia z odbiorcą. Brak towaru, ryzyko partii, zamiennik i różnica
   ceny to zastrzeżenia, nie powód do wstrzymania zamówienia. Do wyjaśnienia odsyłaj tylko
   linie, których nie da się dopasować do kartoteki.

Zasady:
- Licz kodem (code interpreter) na plikach z wiedzy, nie z pamięci.
  Przy każdej liczbie podaj wiersz pliku, z którego pochodzi.
- Ceny, kary i terminy bierz tylko z plików. Ceny w zamówieniu są żądaniem odbiorcy, nie faktem.
- Nie potwierdzaj zamówienia, nie zmieniaj ceny, nie obiecuj terminu i nie pisz do odbiorcy.
  Przygotowujesz decyzję, nie podejmujesz jej.
- Jeśli w rozmowie dostaniesz nowszą wersję któregoś pliku, użyj jej i napisz, że to zrobiłeś.
- Kwoty netto w złotych, z groszami.
  Na końcu przygotuj plik XLSX ze szkicem potwierdzenia i listą wyjątków do pobrania.

Dopasowanie po EAN i indeksie, nie po nazwie, jest celowe: odbiorca nazywa wyroby po swojemu, a wycofany indeks ma w kartotece bardzo podobną nazwę do następcy. Zdanie o cenie jako żądaniu sprawdzi się na linii 3.

Krok 3. Dodaj wiedzę jako wgrane pliki

W sekcji Knowledge na karcie Configure wgraj z dysku indeksy.xlsx, stany.xlsx i kontrakt-odbiorcy.xlsx. Limit to 20 wgranych plików na agenta i 30 MB na plik Excel; nasze ważą kilka kilobajtów. Każdy z plików ma jeden arkusz z nagłówkami w pierwszym wierszu, a Excel działa w wiedzy agenta najlepiej właśnie w takim układzie.

Wgraj pliki, zamiast podpinać je linkiem z SharePoint. Code interpreter dostaje tylko pliki wgrane do agenta albo dołączone do rozmowy; pliku znalezionego wyszukiwaniem w SharePoint nie policzy (znane problemy). Zamówienia nie dodawaj do wiedzy: wiedza to Wasza kartoteka, stany i kontrakt, zamówienie jest sprawą na dziś.

Krok 4. Sprawdź liczenie kodem i dodaj prompt startowy

Code interpreter w Agent Builderze pisze i uruchamia kod Python, czyta pliki Excel, PDF i CSV/TSV i tworzy pliki do pobrania (code interpreter). Dokumentacja opisuje go jako zawsze włączony, ale inna strona tej samej dokumentacji wspomina przełącznik „Create documents, charts, and code”. Jeśli widzisz go na karcie Configure, upewnij się, że jest włączony.

W Starter Prompts dodaj jeden prompt, żeby osoba z obsługi klienta nie musiała pamiętać formuły:

Nowe zamówienie od sieci (PDF w załączniku). Przeprowadź analizę według instrukcji, licząc kodem na plikach z wiedzy.

Krok 5. Uruchom agenta w panelu testowym

W panelu testowym obok konfiguracji dołącz zamowienie.pdf i wybierz prompt startowy. Plik wybierz w interfejsie, nie wklejaj jego adresu do promptu: wklejony URL pliku psuje wyszukiwanie.

Powinieneś zobaczyć, że agent uruchamia kod, czyta trzy arkusze i odpowiada w kolejności z instrukcji: nagłówek i żądania odbiorcy, dopasowanie linii, palety, dostępność, wartości, warunki kontraktu, szkic i wyjątki. Na końcu powinien pojawić się link do pliku XLSX. Pobierz go od razu, bo pliki z code interpretera istnieją tylko w trakcie sesji. Microsoft wymienia jednak wśród znanych problemów błąd generowania plików przez agenta; jeśli linku nie ma, poproś o te same tabele w treści odpowiedzi.

Sprawdź wynik na danych kontrolnych

Porównaj odpowiedź z tabelami poniżej. Liczby policzyliśmy niezależnie z tych samych plików.

Lp.IndeksIlośćPaletyCena kontr.Wartość wg kontraktuDostępneUwagi
1REG-DAB-80968 pełnych (12 szt.)389,00 zł37 344,00 zł520dopasowanie po EAN
2LAM-STO-011801 pełna + 36 szt. (144 szt.)79,00 zł14 220,00 zł1 600ilość nie tworzy pełnych palet
3KRZ-TAP-01B1202 pełne + 24 szt. (48 szt.)152,50 zł18 300,00 zł340KRZ-TAP-01 wycofany; zamiennik 152,50 zł, w zamówieniu 149,00 zł; niepełne palety
4STL-ROZ-14030037 pełnych + 4 szt. (8 szt.)612,00 zł183 600,00 zł120brakuje 180 szt.; partia 400 szt. zwalniana 11.09.2026, bez zapasu czasu; ryzyko kary 3 304,80 zł; niepełne palety
5SZF-3D-1504010 pełnych (4 szt.)899,00 zł35 960,00 zł34brakuje 6 szt.; brak partii w planie; ryzyko kary 3% (161,82 zł)
6—60————EAN 5905555000117 spoza kartoteki; do wyjaśnienia z odbiorcą
PozycjaWartość
Wartość według cen kontraktowych (linie 1–5)289 424,00 zł
Wartość według cen z zamówienia289 004,00 zł
Różnica do potwierdzenia (linia 3)420,00 zł
Czas realizacji z kontraktu10 dni; od zamówienia do okna jest 12 dni
Awizacjado 11.09.2026, w dniu zwolnienia partii stołów
Kara za spóźnione okno1 500 zł
EtykietaGS1-128 z numerem SSCC na każdej palecie
Termin płatności60 dni

Na liście wyjątków powinno się znaleźć siedem spraw: zamiennik i różnica ceny w linii 3, niepełne palety w liniach 2, 3 i 4 i nieznany EAN w linii 6 (handlowiec z odbiorcą), brak 180 stołów pokryty partią zwalnianą w dniu awizacji i brak 6 szaf bez partii w planie (handlowiec z planistą). Prawidłowa rekomendacja to potwierdzić pięć linii z zastrzeżeniami, linię szóstą odesłać do wyjaśnienia; decyzję o potwierdzeniu terminu przy ryzyku partii podejmuje handlowiec.

Jeśli linia 3 ma cenę 149,00 zł, agent uwierzył zamówieniu zamiast kontraktowi. Jeśli suma wynosi 289 004,00 zł, agent wziął ceny z zamówienia. Jeśli liczby się nie zgadzają, a w odpowiedzi nie widać uruchomionego kodu, agent liczył „z głowy”. Wynik wygląda wtedy tak samo pewnie jak poprawny, i właśnie dlatego ta tabela kontrolna istnieje.

Krok z rzeczywistością

Dane w firmie się zmieniają, a agent musi to zauważyć bez zmiany instrukcji. Następnego dnia magazyn zwalnia rezerwację szaf dla innego odbiorcy. Otwórz stany.xlsx, w wierszu SZF-3D-150 zmień zarezerwowane_szt z 12 na 0, zapisz plik, a w sekcji Knowledge usuń starą wersję i wgraj nową.

Zadaj w nowej rozmowie to samo pytanie. Agent powinien teraz pokazać dla linii 5 dostępne 46 sztuk, brak zniknie, a razem z nim ryzyko kary 161,82 zł. Wartości się nie zmieniają: nadal 289 424,00 zł według kontraktu i 420,00 zł różnicy w linii 3. Zostaje sześć wyjątków: zamiennik, trzy niepełne palety, partia stołów zwalniana w dniu awizacji i nieznany EAN.

Jedna zwolniona rezerwacja zdjęła sprawę z biurka planisty, ale żadnej z biurka handlowca. Jeśli agent uzna teraz zamówienie za „czyste”, nie trzyma się instrukcji.

Krok 6. Udostępnij zespołowi i zaplanuj automatyzację

Nowy agent jest prywatny. Kliknij Share i nadaj osobom z obsługi klienta rolę Can chat, a osobie odpowiedzialnej za instrukcje i wiedzę Can edit (współwłaściciel). Przełącznik Org-wide sharing for chat access udostępnia agenta całej organizacji, o ile administrator tego nie zablokował. Każdy odbiorca potrzebuje licencji obejmującej funkcje agenta, inaczej zobaczy błąd. Jeśli chcecie, żeby agent był w katalogu firmy, administrator zatwierdza go w Microsoft 365 admin center i agent trafia do sekcji „Built by your org” w Agent Store (udostępnianie agentów).

Zamówienia od dystrybutorów przychodzą mailem, ale Agent Builder nie ma wyzwalaczy ani akcji. Do tego trzeba skopiować agenta do Copilot Studio; tam wyzwalacz „nowy e-mail” ustawia się w Overview → Triggers → Add trigger, a akcja „Request for information” wstrzymuje przepływ i prosi człowieka o decyzję przez Outlook. Wyzwalacz działa na koncie autora agenta i może wpływać na rozliczenie, więc to osobna rozmowa z administratorem, nie piąta minuta pilotażu. Zamówienia z portalu sieci i z EDI to z kolei rozmowa z integratorem.

Typowe problemy

ObjawPrzyczynaCo zrobić
Agent odpowiada ogólnikami, nie liczy z tabeliplik podpięty z SharePoint nie trafia do code interpreterawgraj XLSX do agenta albo dołącz plik w rozmowie
Nie da się dodać CSV jako wiedzyCSV nie ma na liście typów wiedzyużyj XLSX z jednym arkuszem
Plik Excel z wynikiem „zniknął”pliki z code interpretera istnieją tylko w trakcie sesjipobierz plik od razu po wygenerowaniu
Linia 3 ma cenę 149,00 złagent przyjął cenę z treści zamówieniaprzypomnij zasadę: cena w zamówieniu to żądanie, nie fakt
Linia 4 bez brakuagent nie odjął rezerwacji albo doliczył partię w planie do stanuprzypomnij regułę: dostępne = stan − zarezerwowane; partia w planie osobno
Współpracownik widzi błąd po otwarciu agentabrak licencji obejmującej funkcje agentalicencja Microsoft 365 Copilot albo pay-as-you-go
Udostępnienie się nie udajewybrano grupę dystrybucyjnąwybierz grupę zabezpieczeń albo konkretne osoby
Brak wyzwalacza „nowy e-mail”Agent Builder nie ma wyzwalaczyskopiuj agenta do Copilot Studio

Co dalej

Na własnych danych potrzebujecie trzech eksportów do XLSX, każdy w jednym arkuszu. Z kartoteki: indeks, nazwa, EAN, opakowanie zbiorcze, sztuk na palecie, status, zamiennik i cena kontraktowa per odbiorca. Ze stanów: stan dostępny, rezerwacje, ilość w planie produkcji i data zwolnienia partii. Z kontraktów: czas realizacji, kara za niedostawę, kara za spóźnione okno, bonus retro, wymagana etykieta, poziom serwisu, termin płatności. Nazwy kolumn mogą być Wasze, wtedy poprawcie je w instrukcji.

Mierzcie odsetek zamówień potwierdzonych w czasie realizacji z kontraktu i liczbę błędów przepisania wykrytych po potwierdzeniu, nie liczbę zamówień „obsłużonych przez agenta”. Na poniedziałek wystarczy jedna osoba z obsługi klienta i zamówienia jednej sieci z ostatniego tygodnia.

Ten sam agent w innych narzędziach:

Pełną kartę agenta zamówień, czyli co czyta, co może sam, co zatwierdza człowiek i czym go mierzyć, razem z kartami agenta prognozy popytu i agenta warunków kontraktowych znajdziecie we wpisie o prognozie z danych i kontrakcie policzonym przed podpisem.

Portret Krzysztofa Majchrzyckiego

O autorze

Krzysztof Majchrzycki jest architektem systemów i AI Business Partnerem. Od wielu lat łączy technologię z biznesem i zarządzaniem. Współtworzył firmy technologiczne i kierował polskim oddziałem międzynarodowej grupy. Dziś projektuje modele firm i inteligentne systemy operacyjne, które z nich wynikają. Ukończył Executive MBA i ma certyfikat Prosci® Certified Change Practitioner.

Agent zamówień to jeden z dwunastu agentów fabryki seryjnej

Darmowy poradnik „Produkcja seryjna jako jeden system” pokazuje, gdzie w dziesięciu etapach od prognozy do zapłaty pracuje każdy z dwunastu agentów i co przy każdym zostaje w rękach człowieka.

FAQ

Najczęstsze pytania

Czy mogę wgrać do agenta prawdziwe cenniki i kontrakty odbiorców?

Według dokumentacji Microsoftu prompty, odpowiedzi i dane z Microsoft Graph nie służą do trenowania modeli bazowych, ruch z UE zostaje w granicy danych UE (EU Data Boundary), a pliki wgrane do agenta są przechowywane w domyślnej geografii tenanta. To dobra podstawa, ale nie zastępuje decyzji właściciela danych i działu prawnego, zwłaszcza że ceny kontraktowe sieci są zwykle objęte poufnością. Zacznijcie od eksportu bez nazw odbiorców.

Czy nie prościej wskazać pliki na SharePoint zamiast je wgrywać?

Do wyszukiwania tak, do liczenia nie. Code interpreter przetwarza tylko pliki wgrane do agenta albo dołączone do rozmowy; plików znalezionych przez wyszukiwanie w SharePoint nie dostaje. Agent odpowie wtedy ogólnikami zamiast policzyć palety i wartość linii z tabeli.