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ście | Co robi agent | Wynik |
|---|---|---|
| Zapytanie ofertowe w PDF | wypisuje wymagania i braki | lista wymagań i pytań do klienta |
| Zamknięte projekty (XLSX) | wybiera podobne według jawnej reguły, liczy marże | tabela podobnych projektów z marżą ofertową i powykonawczą |
| Obciążenie gniazd (XLSX) | liczy normy roboczogodzin i wolne moce | tabela „potrzeba kontra wolne moce” w tygodniach klienta |
| Wszystko razem | proponuje 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.
| Projekt | Masa | Marża ofertowa | Marża powykonawcza | Zwłoka płatności | Zmiany zakresu |
|---|---|---|---|---|---|
| P-2025-001 | 34,0 t | 15,0% | 6,7% | 12 dni | 2 |
| P-2024-004 | 41,0 t | 15,0% | 6,5% | 35 dni | 3 |
| P-2025-009 | 29,5 t | 15,1% | 12,8% | 0 dni | 0 |
| Gniazdo | Norma | Potrzeba na 36 t | Wolne moce | Okno |
|---|---|---|---|---|
| Spawanie | 22,6 rbh/t | 813 rbh | 222 rbh | tygodnie 18–27, przed montażem |
| Montaż | 15,2 rbh/t | 548 rbh | 262 rbh | tygodnie 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
| Objaw | Przyczyna | Co zrobić |
|---|---|---|
| Agent odpowiada ogólnikami, nie liczy z tabeli | plik podpięty z SharePoint nie trafia do code interpretera | wgraj XLSX do agenta albo dołącz plik w rozmowie |
| Nie da się dodać CSV jako wiedzy | CSV nie ma na liście typów wiedzy | użyj XLSX z jednym arkuszem |
| Plik Excel z wynikiem „zniknął” | pliki z code interpretera istnieją tylko w trakcie sesji | pobierz plik od razu po wygenerowaniu |
| Wolne moce się nie zgadzają | agent wziął kolumnę wolne_rbh | przypomnij regułę z instrukcji: dostępne minus zajęte |
| Współpracownik widzi błąd po otwarciu agenta | brak licencji obejmującej funkcje agenta | licencja Microsoft 365 Copilot albo pay-as-you-go |
| Udostępnienie się nie udaje | wybrano grupę dystrybucyjną | wybierz grupę zabezpieczeń albo konkretne osoby |
| Brak wyzwalacza „nowy e-mail” | Agent Builder nie ma wyzwalaczy | skopiuj 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.
- Produkcja na zamówienie
- Microsoft 365 Copilot
- Agent AI
- Zapytania ofertowe
