Narzędzia agentowe dla agentów AI 3CX
Wprowadzenie
Narzędzia agentowe umożliwiają agentom interakcję z centralą PBX i osobami dzwoniącymi, wykonując funkcje takie jak przełączanie połączeń i pobieranie informacji. W tym dokumencie wymieniamy narzędzia dostępne dla każdego typu agenta wraz z ich funkcjami.
Podstawy użytkowania i formatowania
Prompty agenta AI 3CX wykorzystują składnię Mustache. Ta sekcja zawiera omówienie tej składni. Zrozumienie tych zasad zapewnia dokładną integrację narzędzi agentowych z promptami agenta AI 3CX.
- Zmienne są wywoływane przy użyciu składni Mustache poprzez umieszczenie identyfikatora w nawiasach klamrowych.
- {{...}} lub {{{...}}} -> (bez #, ^ lub /) wyświetla surową zawartość zmiennej bezpośrednio w tym miejscu (bez konwersji znaków specjalnych HTML).
- Możemy zamknąć sekcję promptu w bloku; treść zostanie wygenerowana w końcowym tekście promptu tylko wtedy, gdy zmienna przejdzie test.
- Mamy opcję wykonania testu pozytywnego:
- {{#...}} -> blok otwiera się tylko wtedy, gdy zmienna ma zawartość lub ma wartość TRUE.
- {{/…}} -> zamknięcie bloku.
- lub testu negatywnego:
- {{^...}} -> blok otwiera się tylko wtedy, gdy zmienna jest pusta lub ma wartość FALSE.
- {{/…}} -> zamknięcie bloku.
- Narzędzia agentowe mogą być „wywoływane” po nazwie, ale agent AI uruchamia je wtedy, gdy uzna, że są potrzebne.
Poniżej znajdują się dwa przykłady, z których oba wykorzystują miejsca docelowe przekierowania „Route By Topic” (Kieruj według tematu), które definiujesz w zakładce „Call Routing” (Routing połączeń) agenta AI 3CX.
W naszych przykładach użyjemy:
- zmiennej addressbook_topics – ta zmienna zawiera wszystkie skonfigurowane wpisy „Route by Topic”; jest ona wypełniana tematami przy każdym (re)starcie agenta; pełni funkcję zmiennej systemowej.
- narzędzia get_addressbook – narzędzie agentowe, które pobiera skonfigurowane wpisy tematów na żądanie.
- narzędzia resolve_handoff_destination – narzędzie agentowe, które rozpoznaje prośby sformułowane w języku naturalnym i dopasowuje je do miejsc docelowych (numerów wewnętrznych).
Przykład 1
Narzędzia agentowe mogą być wymienione w głównym prompcie wraz ze wskazówkami dla agenta AI dotyczącymi ich użycia, co pozwala mu swobodnie decydować, kiedy je wywołać.
If the caller asks for a department or makes a question about a problem first use get_addressbook to check if there are topics related to the question, and use resolve_handoff_destination right away, do not answer informatively first.
W powyższym przykładzie, ten dodatek do promptu poinformuje model AI, jakie narzędzia są dostępne, a następnie pozwoli mu zdecydować, czy powinny zostać wywołane. Powyższy tekst zawsze będzie istniał w końcowym, przetworzonym prompcie, niezależnie od tego, czy ustawiono jakiekolwiek tematy.
Przykład 2
Możesz również użyć składni Mustache, aby dodać podstawową logikę do konstrukcji promptu, pomijając elementy, gdy nie są potrzebne; może to skutkować bardziej zwartym lub przejrzystym promptem końcowym.
{{#addressbook_topics}}
If the caller asks for a department or makes a question about a problem check if there are topics related to the question in the following list:
{{addressbook_topics}}
and use resolve_handoff_destination right away, do not answer informatively first.
{{/addressbook_topics}}
{{^addressbook_topics}}
Use resolve_handoff_destination right away, do not answer informatively first.
{{/addressbook_topics}}
W tym przykładzie:
- Najpierw sprawdzasz, czy addressbook_topics są ustawione/istnieją, a jeśli tak,
- wyświetlasz listę tych tematów w prompcie, aby agent AI mógł
- użyć narzędzia resolve_handoff_destination do znalezienia najlepszego miejsca docelowego dla połączenia, biorąc pod uwagę listę tematów (oraz swoją wiedzę o Twoich działach i numerach wewnętrznych użytkowników/systemowych).
- Następnie, jeśli addressbook_topics nie są ustawione,
- nie „zanieczyszczasz” promptu dodatkowym tekstem i pustą listą, zamiast tego prosisz go o
- użycie narzędzia resolve_handoff_destination do znalezienia najlepszego miejsca docelowego dla połączenia na podstawie jego wiedzy o Twoich działach i numerach wewnętrznych użytkowników/systemowych.
W centrali PBX, gdzie skonfigurowano jeden temat: „For any electrical issues: 106”, powyższa definicja promptu wygenerowałaby następujący końcowy tekst dla agenta AI:
If the caller asks for a department or makes a question about a problem check if there are topics related to the question in the following list:
- For any elecrical issues
and use resolve_handoff_destination right away, do not answer informatively first.
Należy zauważyć, że agenci AI posiadają już wiedzę o tych narzędziach i ich możliwościach. W standardowym połączeniu przy użyciu domyślnych promptów, agent może z nich korzystać bez wyraźnych instrukcji. Jeśli jednak chcesz wpłynąć na zachowanie agenta lub wymusić ścisłą sekwencję wykonywania działań, możesz poinstruować go do bezpośredniego wywoływania narzędzi wewnątrz promptu, jak pokazano powyżej.
Narzędzia agentowe na czacie
Prompt agenta AI jest wspólny dla każdego agenta, niezależnie od kanału komunikacji – głosowego lub tekstowego/czatu. Poniższe opisy narzędzi koncentrują się na kanale głosowym i w większości przypadków będą działać identycznie również na czacie.
Niektóre narzędzia wykonujące routing połączeń głosowych, takie jak przekierowanie na pocztę głosową, oczywiście nie będą działać w komunikacji tekstowej, a inne będą wykonywać swoje akcje nieco inaczej, ale w ramach poniższej specyfikacji.
Narzędzia agentowe według typu agenta
Nazwa narzędzia | Funkcja | Dostępność narzędzi wg roli | ||
Recepcjonista | Osobisty asystent | Obsługa klienta (U10) | ||
classify_request_before_handoff | Pozwala na odróżnienie scenariuszy przerywania, powiadamiania i blokowania w przepływach pracy osobistego asystenta. Gdy dzwoniący nie jest szefem asystenta, przechowuje klasyfikację połączenia, aby agent mógł zdecydować, jak postąpić. | Nie | Tak | Nie |
drop_call | Pozwala asystentowi zakończyć rozmowę. | Tak | Tak | Tak |
find_contact_by_extension | Pobiera informacje o konkretnym numerze wewnętrznym. | Tak | Tak | Tak |
get_addressbook | Ładuje listę „Route by Topic”, pozwalając agentowi AI na używanie jej elementów w rozmowie, jak również na wybieranie miejsc docelowych. | Tak | Tak | Tak |
get_current_datetime | Zwraca bieżącą datę i godzinę zarówno w czasie UTC, jak i lokalnym czasie systemowym. | Tak | Tak | Tak |
perform_chat | Rozpoczyna proces kończenia połączenia poprzez powiadomienie odpowiedniego miejsca docelowego wiadomością na czacie. | Tak | Tak | Tak |
perform_email | Rozpoczyna proces kończenia połączenia poprzez powiadomienie odpowiedniego miejsca docelowego wiadomością e-mail. | Tak | Tak | Tak |
perform_transfer | Rozpoczyna proces kończenia połączenia poprzez przełączenie rozmowy do odpowiedniego miejsca docelowego. | Tak | Tak | Tak |
perform_voicemail | Rozpoczyna proces kończenia połączenia poprzez przełączenie rozmowy na pocztę głosową odpowiedniego miejsca docelowego. | Tak | Tak | Tak |
resolve_handoff_destination | Rozstrzyga prośbę dzwoniącego o przekazanie połączenia, korzystając z wyszukiwania tekstowego wśród wszystkich dozwolonych punktów końcowych (endpoints) przełączania. | Tak | Nie | Tak |
set_detected_language | Pozwala asystentowi zapamiętać wykryty język dzwoniącego i używać go w kolejnych interakcjach. | Tak | Tak | Tak |
spam_detected | Rejestruje, że bieżące połączenie zostało zidentyfikowane jako spam. | Tak | Tak | Tak |
take_handoff_decision | Rejestruje zamierzony typ przekazania (handoff) i numer wewnętrzny. | Tak | Tak | Tak |
take_hostility_action | Rejestruje, że dzwoniący zachowuje się w sposób wrogi lub obelżywy. | Tak | Tak | Tak |
take_not_collaborative_action | Rejestruje, że dzwoniący nie chce współpracować z asystentem. | Tak | Tak | Tak |
vector_store_search | Pozwala asystentowi pobierać informacje ze skonfigurowanych magazynów wektorowych (vector stores) i indeksowanych dokumentów. | Tak | Tak | Tak |
Narzędzia agentowe – dane wejściowe i wyniki (input/output)
Nazwa narzędzia | Input | Output | Wymagania |
classify_request_before_handoff | Dostępne klasyfikacje:
| Potwierdzenie zapisania klasyfikacji. | |
drop_call | Brak | Wynik zwrócony przez podsystem kończenia połączeń. | |
find_contact_by_extension | Numer wewnętrzny, np. 100. | Tabela katalogu poprzedzona statusem rozstrzygnięcia. | |
Resolution: exact_contact ext|name|department|available|can_receive_email 100|John Smith|Sales|true|true | |||
get_addressbook | Brak | Lista zawierająca wszystkie skonfigurowane tematy. | |
| |||
get_current_datetime | Brak | Ciąg znaków zawierający:
| |
perform_chat | Brak (Używa istniejących informacji o kontekście połączenia poprzez drugorzędne, nieujawnione narzędzia). | Potwierdzenie zarejestrowania decyzji o czacie. | PA postępuje zgodnie z zasadami powiadamiania (notify), inni domyślnie wybierają „available”. |
perform_email | Brak (Używa istniejących informacji o kontekście połączenia poprzez drugorzędne, nieujawnione narzędzia). | Potwierdzenie zarejestrowania decyzji o wiadomości e-mail. | Miejsce docelowe musi być uprawnione do odbierania wiadomości e-mail. PA postępuje zgodnie z zasadami „notify”, inni domyślnie wybierają „available”. |
perform_transfer | Brak (Używa istniejących informacji o kontekście połączenia poprzez drugorzędne, nieujawnione narzędzia). | Potwierdzenie zarejestrowania decyzji o przełączeniu. | PA postępuje zgodnie z zasadami „notify”, inni domyślnie wybierają „available”. |
perform_voicemail | Brak (Używa istniejących informacji o kontekście połączenia poprzez drugorzędne, nieujawnione narzędzia). | Potwierdzenie zarejestrowania decyzji o poczcie głosowej. | PA postępuje zgodnie z zasadami „notify”, inni domyślnie wybierają „available”. |
resolve_handoff_destination | destination – tekstowe określenie miejsca docelowego podane przez dzwoniącego. | Może zwrócić: exact_contact, multiple_contacts, no_contact. | Wymaga: allowed_search=True |
Resolution: exact_contact ext|name|department|available|can_receive_email 801|Sales Team|Sales|true|false | |||
set_detected_language | language – nazwa wykrytego języka. | Potwierdzenie zapisania języka. | Wymaga: switch_language=True |
spam_detected | reason – wyjaśnienie, dlaczego połączenie zostało sklasyfikowane jako spam. | Potwierdzenie zarejestrowania sygnału o spamie. | |
take_handoff_decision | kind – transfer, poczta głosowa, czat, e-mail. destination – numer wewnętrzny. | Potwierdzenie zarejestrowania decyzji o przekazaniu (handoff). | |
take_hostility_action | reason – wyjaśnienie wykrytego wrogiego zachowania. | Potwierdzenie zarejestrowania sygnału o wrogości. | |
take_not_collaborative_action | reason – wyjaśnienie wykrytego zachowania. | Potwierdzenie zarejestrowania sygnału o braku współpracy. | |
vector_store_search | vs_id – identyfikator magazynu wektorowego (vector store). query – zapytanie. top_k – maksymalna liczba wyników do zwrócenia. | Istotne wyniki pobrane z określonego magazynu wektorowego. | Wymaga jednego lub więcej skonfigurowanych magazynów wektorowych (vector stores). |
Zobacz również
Ostatnia aktualizacja
Ten dokument został ostatnio zaktualizowany 5 sierpnia 2026 r.
https://www.3cx.pl/docs/agentic-ai-tools/
