Agent zapytań w Microsoft 365 Copilot: sześć kroków

Temat: Firma produkcyjno-usługowa

W sześciu krokach zbudujecie w Agent Builderze Microsoft 365 Copilot agenta, który czyta zapytanie ofertowe, znajduje podobne zamknięte projekty z ich prawdziwą marżą i sprawdza, czy zakład ma wolne moce w terminie klienta. Agent kładzie handlowcowi na biurku rekomendację „wyceniać, wyceniać pod warunkami albo nie wyceniać”, ale nie podaje ceny i nie decyduje za nikogo. Stan funkcji sprawdzony 15.10.2026 w dokumentacji Agent Buildera.

To przepis do karty agenta zapytań z serii o firmie produkcyjno-usługowej jako jednym systemie. Pracujemy na tych samych danych ćwiczeniowych co w pozostałych przepisach: zapytanie, dwadzieścia cztery zamknięte projekty i obciążenie gniazd. Wszystkie dane są fikcyjne, łącznie z mleczarnią, która chce wiatę.

Gotowy skill. Procedurę agenta zapytań ofertowych z tego przepisu znajdziecie jako gotowy skill w otwartym repozytorium moja-firma-produkcja-uslugowa 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 dwoma plikami Excel w wiedzy. Do rozmowy z agentem dołączasz PDF z zapytaniem i dostajesz trzy rzeczy, które dziś kosztują handlowca pół dnia telefonów.

WejścieCo robi agentWynik
Zapytanie ofertowe w PDFwypisuje wymagania i brakilista wymagań i pytań do klienta
Zamknięte projekty (XLSX)wybiera podobne według jawnej reguły, liczy marżetabela podobnych projektów z marżą ofertową i powykonawczą
Obciążenie gniazd (XLSX)liczy normy roboczogodzin i wolne mocetabela „potrzeba kontra wolne moce” w tygodniach klienta
Wszystko razemproponuje ocenę z uzasadnieniem„wyceniać pod warunkami” i lista warunków

Czym Copilot różni się od pozostałych trzech narzędzi w tym zadaniu. Agent żyje tam, gdzie handlowiec 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: zapytanie.pdf, projekty-zamkniete.xlsx, obciazenie.xlsx. Komplet razem z CSV: agent-pu-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 poda ceny i nie zaproponuje marży dla nowego tematu. To decyzja handlowca, a przy dużej wartości zarządu. Agent pokazuje, ile podobne tematy kosztowały naprawdę i czy zakład je udźwignie, żeby ta decyzja zapadła na danych, a nie na optymistycznej pamięci.

Nie zastąpi też porządku w danych. Jeśli koszt rzeczywisty zamkniętych projektów nie jest nigdzie zapisany, agent nie ma na czym liczyć, a ładna tabela z pustą kolumną jest gorsza niż brak tabeli, bo wygląda na odpowiedź. W prawdziwej firmie zacznijcie od jednego arkusza z kosztem powykonawczym projektów z ostatniego roku. Dopiero 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 oparty na Waszych plikach w ogóle 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 zapytań
  • Description (do 1000 znaków): Ocenia zapytania ofertowe na konstrukcje stalowe na podstawie zamkniętych projektów i obciążenia gniazd. Nie podaje cen.
  • Instructions (do 8000 znaków): wklej poniższy tekst.
Jesteś agentem zapytań w firmie produkcyjno-usługowej (konstrukcje stalowe na zamówienie).
Pracujesz na plikach z wiedzy agenta:
- projekty-zamkniete.xlsx: zamknięte projekty z kosztem planowanym i rzeczywistym, roboczogodzinami i uwagami,
- obciazenie.xlsx: dostępne i zajęte roboczogodziny (rbh) gniazd w kolejnych tygodniach.

Gdy użytkownik dołączy zapytanie ofertowe (PDF w rozmowie), zrób kolejno:
1. Wypisz wymagania: obiekt, materiał, masa, zabezpieczenie, normy, zakres, termin, płatność, kary.
   Osobno wypisz, czego w zapytaniu brakuje albo co zależy od innych wykonawców.
2. Znajdź podobne zamknięte projekty. Warunki: ten sam rodzaj konstrukcji (pierwsze słowo typu),
   ten sam gatunek stali, to samo zabezpieczenie, montaż u klienta jak w zapytaniu,
   masa od 60% do 140% masy z zapytania. Pokaż wszystkie spełniające warunki,
   posortowane według różnicy masy. Dla każdego: nr projektu, masa, marża ofertowa
   = (wartość oferty − koszt planowany) / wartość oferty, marża powykonawcza
   = (wartość oferty − koszt rzeczywisty) / wartość oferty, dni zwłoki płatności,
   liczba zmian zakresu, uwagi.
3. Policz normy: rbh spawania i rbh montażu na tonę jako sumę rbh podobnych projektów
   podzieloną przez sumę ich masy. Pomnóż przez masę z zapytania.
4. Sprawdź moce. Wolne rbh = dostepne_rbh − zajete_rbh; nie korzystaj z kolumny wolne_rbh.
   Zamień daty montażu z zapytania na tygodnie ISO. Zsumuj wolne rbh montażu w tych tygodniach
   i wolne rbh spawania we wszystkich tygodniach z pliku przed pierwszym tygodniem montażu.
   Porównaj z potrzebą z punktu 3.
5. Zaproponuj ocenę: „wyceniać”, „wyceniać pod warunkami” albo „nie wyceniać”.
   Uzasadnij w trzech zdaniach i wypisz warunki do rozmowy z klientem.
   „Nie wyceniać” tylko wtedy, gdy żaden warunek nie usuwa przeszkody, np. temat jest poza
   technologią zakładu. Brak mocy w terminie klienta i ryzyka z podobnych projektów, które
   da się objąć warunkami (inny termin, kooperacja, aneks na zmiany, zaliczka), oznaczają
   „wyceniać pod warunkami”.

Zasady:
- Licz kodem (code interpreter) na plikach z wiedzy, nie z pamięci.
  Przy każdej liczbie podaj, z których wierszy pochodzi.
- Nie dopisuj projektów ani tygodni, których nie ma w plikach. Brak danych nazwij wprost.
- Nie podawaj ceny ani marży dla nowego tematu. To decyzja handlowca i zarządu.
- Wynik: tabela podobnych projektów, tabela mocy, ocena z warunkami.
  Na końcu przygotuj plik XLSX z tymi tabelami do pobrania.

Reguła podobieństwa jest jawna celowo: handlowiec może się z nią kłócić, zamiast ufać „intuicji modelu”. Zakaz korzystania z kolumny wolne_rbh sprawdzi się w kroku z rzeczywistością.

Krok 3. Dodaj wiedzę jako wgrane pliki

W sekcji Knowledge na karcie Configure wgraj z dysku projekty-zamkniete.xlsx i obciazenie.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). Zapytania nie dodawaj do wiedzy: wiedza to Wasza historia i moce, zapytanie 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 handlowiec nie musiał pamiętać formuły:

Mamy nowe zapytanie (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 zapytanie.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 oba arkusze i odpowiada w kolejności z instrukcji: wymagania i braki, tabela podobnych projektów, normy, moce, ocena. 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.

ProjektMasaMarża ofertowaMarża powykonawczaZwłoka płatnościZmiany zakresu
P-2025-00134,0 t15,0%6,7%12 dni2
P-2024-00441,0 t15,0%6,5%35 dni3
P-2025-00929,5 t15,1%12,8%0 dni0
GniazdoNormaPotrzeba na 36 tWolne moceOkno
Spawanie22,6 rbh/t813 rbh222 rbhtygodnie 18–27, przed montażem
Montaż15,2 rbh/t548 rbh262 rbhtygodnie 28–31, termin klienta

Prawidłowa ocena to „wyceniać pod warunkami”: dwa z trzech podobnych tematów straciły ponad połowę marży na zmianach zakresu i opóźnieniach, a w terminie klienta zakładowi brakuje mocy zarówno na spawalni, jak i na montażu. Warunki do rozmowy: późniejszy termin montażu albo kooperacja, aneks wyceniający zmiany po zamrożeniu listy materiałowej, zaliczka zamiast płatności 60 dni po odbiorze przy karze 0,5% za dzień zwłoki. W brakach agent powinien wskazać rysunki wykonawcze (jest tylko koncepcja) i nieznany termin gotowości fundamentów.

Jeśli w tabeli pojawi się hala albo wiata bez montażu, agent nie trzymał się reguły. Jeśli liczby mocy 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. Otwórz projekty-zamkniete.xlsx, dopisz na końcu arkusza jeden wiersz (wartości w kolejnych kolumnach), zapisz plik, a w sekcji Knowledge usuń starą wersję i wgraj nową:

P-2026-025 | 2026 | Ferma Kurzanka sp. z o.o. | wiata magazynowa | S355 | 40 | ocynk ogniowy | tak | 700000 | 595000 | 690000 | 160 | 1000 | 680 | 60 | 0 | 1 | Niedoszacowane spawanie słupów.

Zadaj w nowej rozmowie to samo pytanie. Agent powinien teraz pokazać cztery podobne projekty, z nowym na drugim miejscu (różnica masy 4 t). Norma spawania wzrośnie do 23,3 rbh/t, czyli 837 rbh na 36 t; norma montażu do 15,7 rbh/t, czyli 566 rbh. Nowy projekt ma marżę ofertową 15,0% i powykonawczą 1,4%.

Jeden zły projekt przesunął normę i obraz marży. Dlatego koszt zamkniętego zlecenia ma wracać do wiedzy agenta, a nie do szuflady.

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

Nowy agent jest prywatny. Kliknij Share i nadaj handlowcom 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).

Zapytania 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.

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
Wolne moce się nie zgadzająagent wziął kolumnę wolne_rbhprzypomnij regułę z instrukcji: dostępne minus zajęte
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 dwóch eksportów do XLSX, każdy w jednym arkuszu. Z ERP albo z arkusza kierowników projektów: numer projektu, typ konstrukcji, gatunek stali, masa, zabezpieczenie, montaż, wartość oferty, koszt planowany i rzeczywisty, roboczogodziny według gniazd, termin i zwłoka płatności, zmiany zakresu. Z planowania: dostępne i zajęte roboczogodziny gniazd na tydzień. Nazwy kolumn mogą być Wasze, wtedy poprawcie je w instrukcji.

Ten sam agent w innych narzędziach:

Pełną kartę agenta zapytań, czyli co czyta, co może sam, co zatwierdza człowiek i czym go mierzyć, znajdziecie we wpisie o wycenie na kosztach rzeczywistych.

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 zapytań to dopiero pierwszy z dwunastu

Darmowy poradnik „Firma produkcyjno-usługowa jako jeden system” pokazuje, gdzie w dziesięciu etapach 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 dane klientó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. Zacznijcie od eksportu bez danych osobowych.

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ć normy z tabeli.