Przejdź do nawigacji

Procedury w dowolnej formie

Instrukcje do konkretnych zadań, pisane naturalnym językiem

Przegląd

Procedura w dowolnej formie opisuje jedno zadanie prostym, naturalnym językiem. Agent interpretuje instrukcje i dostosowuje sformułowania oraz kolejność do sytuacji. Taka procedura może wywoływać narzędzia (w tym narzędzia systemowe, jak zakończenie rozmowy), wyszukiwać dokumenty w bazie wiedzy i łączyć się z innymi procedurami.

Kiedy używać procedury w dowolnej formie

Użyj takiej procedury, gdy agent może dostosować sformułowania i kolejność do sytuacji, a ty chcesz szybko napisać ją prostym językiem. Porównanie z procedurami strukturalnymi, workflow i promptem systemowym znajdziesz w sekcji Kiedy używać procedur.

Budowa procedury

Oto procedura zwrotu środków w edytorze:

Przykład procedury
zwrotu środków

Procedura ma dwie główne części: wyzwalacz i treść. Obie mogą zawierać odwołania inline do innych zasobów, pokazane na zrzucie ekranu powyżej jako tagi z ikonami klucza. Każda procedura ma też nazwę widoczną w panelu.

Nazwa

Krótka etykieta identyfikująca procedurę w panelu. Nazwa nigdy nie jest wysyłana do LLM, więc nie wpływa na zachowanie agenta.

Wyzwalacz

Opis, kiedy agent powinien użyć tej procedury, na przykład Gdy użytkownik prosi o zwrot środków za zamówienie.

Pozostaw wyzwalacz pusty tylko podczas tworzenia podprocedury.

Treść

Treść procedury, napisana w markdown. Opisuje, co agent powinien zrobić: zadać pytanie, wyszukać zamówienie, wywołać narzędzie lub zakończyć rozmowę. Może być numerowaną sekwencją kroków albo ogólnymi wskazówkami do danej sytuacji. Każdy krok lub wskazówka może być jednym zdaniem (Poproś użytkownika o identyfikator zamówienia) albo krótkim akapitem wyjaśniającym, co zrobić i dlaczego.

Używaj numerowanych kroków dla działań wykonywanych po kolei, a punktów dla wymagań lub podpunktów w kroku.

Odwołania inline

Procedury mogą inline odwoływać się do różnych zasobów:

  • Narzędzi (np. wyszukiwania zamówienia, obciążenia karty, zakończenia rozmowy, przekazania do człowieka)
  • Dokumentów bazy wiedzy
  • Innych procedur

Używaj odwołań inline, gdy krok wymaga użycia przez agenta narzędzia, dokumentu bazy wiedzy lub innej procedury. Odwołania automatycznie dołączają zasób do procedury, aby agent mógł go użyć. Zwykłe wzmianki w tekście (np. użyj tu narzędzia kalkulatora) też działają, ale tylko jeśli zasób jest już dołączony do agenta.

Wstaw odwołanie, wpisując / w wyzwalaczu lub treści, a następnie wybierając zasób z menu ukośnika. Odwołania pojawiają się w edytorze jako klikalne tagi. Kliknij tag, aby otworzyć powiązany zasób i sprawdzić jego konfigurację.

Podczas pisania treści w dowolnej formie przez API wstaw odwołania w następującej składni:

[tool id="tool_abc123"]
[kb id="kb_abc123"]
[procedure id="agtprc_abc123"]
[system_tool id="end_call"]
{{customer_id}}

Odwołanie inline do procedury musi używać procedury tego samego agenta. Zobacz Ograniczenia, aby poznać zakres agenta i działanie duplikacji.

Odwołanie w wyzwalaczu pozwala uruchomić procedurę na podstawie wyniku zasobu, na przykład Gdy get_user zwraca poziom „gold”. Odwołanie w treści mówi agentowi, aby wywołał lub sprawdził zasób w tym kroku.

Dokumenty bazy wiedzy, do których odwołuje się procedura, zawsze używają trybu auto użycia: gdy RAG jest włączony dla agenta, pobiera on odpowiednie fragmenty zamiast umieszczać cały dokument w prompcie. Jeśli dokument jest też dołączony do agenta, stosowany jest dla niego tryb użycia agenta, dlatego dołącz go do agenta w trybie prompt, aby zachować pełny tekst w prompcie.

Menu ukośnika w edytorze procedury

Jeśli zasób, do którego się odwołano, zostanie później usunięty lub twoje konto straci do niego dostęp, tag będzie oznaczony jako uszkodzony. Etykieta Błędy u góry edytora wyświetla te odwołania: nieprawidłowe, jeśli zasób już nie istnieje, albo niedostępne, jeśli istnieje, ale twoje konto nie ma do niego dostępu. Otwórz etykietę, aby sprawdzić, którego kroku dotyczy problem, i popraw lub usuń odwołanie.

Okno błędów z listą nieprawidłowych
odwołań

Podprocedury

Podprocedura ma pusty wyzwalacz. Agent może uruchomić ją tylko z innej procedury, która się do niej odwołuje.

Używaj podprocedur, aby współdzielić kroki w ramach jednego agenta i zmniejszyć liczbę procedur dostępnych jednocześnie. Nadaj procedurze wejściowej wyzwalacz, odwołaj się w jej treści do powiązanych podprocedur, a ich wyzwalacze pozostaw puste.

Podprocedura eskalacji może zawierać kroki przekazania rozmowy człowiekowi. Odwołaj się do niej z procedur zwrotu środków i anulowania, a jej wyzwalacz pozostaw pusty. Agent może eskalować jako krok dowolnej z tych procedur, ale poza nimi podprocedura pozostanie niedostępna.

Importowanie z dokumentu

Możesz zacząć od istniejącej standardowej procedury operacyjnej (SOP). Wybierz Z SOP w menu + na liście procedur, a następnie prześlij plik.

Obsługiwane formaty: PDF, DOCX, TXT, MD, HTML, EPUB. Pliki muszą mieć maksymalnie 20 MB.

Importer analizuje dokument, rozpoznaje maksymalnie 10 odrębnych procedur i tworzy dla każdej szkic z wygenerowaną nazwą, wyzwalaczem i treścią. Otwórz każdy szkic, aby go dopracować. Jeśli dokument zawiera więcej niż 10 SOP-ów, przed przesłaniem podziel go na mniejsze pliki.

Okno przesyłania SOP

Zarządzanie procedurą w dowolnej formie

Otwórz agenta w panelu, a następnie wybierz Procedury. Użyj +, aby utworzyć procedurę w dowolnej formie. Dodaj wyzwalacz i napisz instrukcje w edytorze treści, a następnie opublikuj zmiany agenta.

Dobre praktyki

Agent musi wybrać właściwą procedurę na podstawie jej wyzwalacza i wykonać jej treść. Bardziej zaawansowane modele robią to pewniej, gdy rośnie liczba procedur. Dostępne opcje znajdziesz w sekcji Modele.

Dobre pisanie procedur oznacza dobre napisanie dwóch części: wyzwalacza, który uruchamia procedurę wtedy, gdy trzeba, oraz treści, którą agent potrafi wykonać.

Dopracowywanie procedury

Zalecamy zacząć od małej skali i używać testów agenta, aby sprawdzić każdą zmianę przed wprowadzeniem kolejnej.

1

Napisz krótką procedurę

Napisz wyzwalacz i krótką treść. Rozwijaj treść tylko wtedy, gdy test pokaże, że agent potrzebuje więcej instrukcji.

2

Dodaj testy wyzwalacza

Utwórz testy symulacji dla próśb, które powinny uruchomić procedurę, oraz dla podobnych próśb, które nie powinny jej uruchamiać. Większość błędów wynika z wyzwalacza, dlatego napisz więcej takich testów niż pełnych symulacji.

3

Dodaj pełną symulację

Utwórz test symulacji, który uruchamia całą procedurę i sprawdza wynik.

4

Uruchom testy i napraw błędy

Gdy test się nie powiedzie, popraw wyzwalacz lub treść, a potem uruchom ponownie każdy test.

Aby szybko dopracować wyzwalacz, utwórz test symulacji, którego historia czatu kończy się prośbą użytkownika, i ustaw Maksymalną liczbę tur rozmowy na 1. Agent odpowie raz, co wystarczy, aby sprawdzić, czy prośba uruchamia właściwą procedurę, a każde uruchomienie będzie krótkie. Kryterium sukcesu zapisz jako Agent uruchomił procedurę zwrotu środków. Bez historii czatu agent z pierwszą wiadomością wykorzysta jedyną turę na powitanie, więc test niczego nie sprawdzi.

Gdy test lub rozmowa na żywo się nie powiedzie, poszukaj kategorii błędu, która za tym stoi. Jeśli agent powiedział coś nieprawidłowego, dodanie Nie mów tego naprawi jedną rozmowę. Przeszukaj wcześniejsze rozmowy pod kątem podobnych błędów i napisz jedną instrukcję, która obejmie je wszystkie. Przyczyna może też leżeć w bazie wiedzy lub konfiguracji agenta. Architect może przeprowadzić takie wyszukiwanie: otwórz nieudaną rozmowę, wybierz Architect i poproś go o znalezienie podobnych błędów oraz zaproponowanie rozwiązania. Architect może też zamienić rozmowę w test.

Pisanie wyzwalaczy

Nakładające się lub niejasne wyzwalacze powodują uruchamianie niewłaściwej procedury. Lepiej użyć Gdy użytkownik prosi o anulowanie subskrypcji niż _Gdy użytkownik ma pytanie dotyczące konta _.

Opisz, o co prosi użytkownik, a nie co powinien zrobić agent. Wyzwalacze sformułowane jako działania agenta są mniej niezawodne. Lepiej użyć Gdy użytkownik prosi o anulowanie subskrypcji niż _Anuluj subskrypcję użytkownika _.

Zbyt wąski wyzwalacz może pominąć rzeczywiste prośby, gdy użytkownik sformułuje je inaczej. Uwzględnij warianty, których użytkownik może użyć. Gdy użytkownik prosi o zwrot środków, zwrot produktu lub odzyskanie pieniędzy za zamówienie działa pewniej niż _Gdy użytkownik prosi o zwrot środków _. Przeszukaj wcześniejsze rozmowy, aby sprawdzić, jak użytkownicy formułują prośbę.

Użytkownicy czasem zmieniają prośbę w trakcie procedury, a sam wyzwalacz może nie uruchomić właściwej. W przypadku zmiany, którą często widzisz w wcześniejszych rozmowach, dodaj odwołanie inline do drugiej procedury w treści pierwszej. Na przykład napisz _Jeśli użytkownik chce zwrot środków zamiast wymiany, uruchom _, a następnie dodaj odwołanie inline do procedury zwrotu środków. Jeśli większość procedur wymaga przekazania, zamiast tego bardziej rozróżnij wyzwalacze.

Pisanie treści

Zapisuj kroki jako instrukcje dla agenta: Wyszukaj ostatnie zamówienie klienta zamiast _Powinieneś wyszukać ostatnie zamówienie klienta _. Bezpośrednie instrukcje są łatwiejsze do wykonania niż sugestie.

Uzasadnienie można zastosować do przypadków brzegowych, których procedura nie wymienia. Krótkie ponieważ potrzebujemy identyfikatora zamówienia, aby zwrócić środki pomaga agentowi obsłużyć sytuacje, których kroki nie przewidziały. Unikaj poleceń MUSI zapisanych wielkimi literami i sztywnych skryptów, gdy jednozdaniowe wyjaśnienie zrobi to samo.

Opisz zachowanie, którego oczekujesz. Jeśli nie możesz znaleźć zamówienia, poproś użytkownika o potwierdzenie identyfikatora zamówienia działa lepiej niż _Nie wymyślaj szczegółów zamówienia _. W przypadku błędów o wysokim koszcie dodaj też zabezpieczenie.

Numerowane kroki pomagają, gdy agent musi wykonywać działania w ustalonej kolejności. W przypadku decyzji wymagających oceny kilka zdań wskazówek często działa lepiej, zwłaszcza w przypadku bardziej zaawansowanych modeli.

Procedura opisuje, co agent powinien zrobić w danej sytuacji. Konkretne informacje, takie jak ceny, szczegóły planów czy godziny otwarcia, należą do bazy wiedzy. Odwołaj się do dokumentu z procedury, która go potrzebuje. Na przykład zamiast wymieniać w procedurze cenę każdego planu, napisz Podaj cenę z, a następnie dodaj odwołanie inline do dokumentu z cennikiem.

Łączenie procedur

Jeśli jedna sytuacja jest podzielona na kilka wąskich procedur, agent ma więcej wyzwalaczy do wyboru i częściej uruchamia niewłaściwą. Jeśli dwie procedury uruchamiałyby się na tę samą prośbę, połącz je. Treść dłuższa niż około 3000 znaków zwykle obejmuje więcej niż jedną sytuację.

Jeśli te same kroki pojawiają się w wielu procedurach (weryfikacja tożsamości klienta, wyszukiwanie zamówienia, eskalacja do człowieka), przenieś je do podprocedury i odwołaj się do niej z każdej potrzebującej jej procedury przez menu ukośnika. Utrzymywanie wspólnych kroków w jednym miejscu zapewnia spójność wszystkich procedur, które ich używają.

Użyj podprocedury dla działania, które agent powinien wykonać tylko wtedy, gdy poprosi o to inna procedura, na przykład weryfikacji tożsamości lub eskalacji. Bez wyzwalacza nie konkuruje ona z procedurami wejściowymi na początku rozmowy. Mniej opcji wyzwalacza pomaga utrzymać skupione kierowanie.

Odwołuj się do narzędzia z procedury, która go używa, zamiast dołączać je do całego agenta. Dzięki temu narzędzie pozostaje poza niepowiązanymi rozmowami. W procedurze w dowolnej formie narzędzie jest dostępne tylko wtedy, gdy procedura należy do pięciu ostatnio uruchomionych, dlatego wspomnij o zadaniu narzędzia także w wyzwalaczu, na przykład lub gdy trzeba wyszukać zamówienie. Zobacz Ograniczenia.

Ton, tożsamość, zasady odmowy i zabezpieczenia należą do promptu systemowego. Kroki dotyczące konkretnych zadań umieszczaj w procedurach.

Procedury są częścią konfiguracji agenta, więc podczas publikacji nowej wersji agenta tworzona jest ich migawka. Aby wrócić do wcześniejszego zestawu procedur, przywróć wcześniejszą wersję agenta. Zobacz Wersjonowanie agenta.

Jeśli twój zespół ma już SOP-y, użyj importera, aby zamienić je w szkice, a następnie je dopracuj.