API Action builder w Quickchat AI podłącza agenta AI do REST API na podstawie jednego zdania napisanego prostym językiem. Opisujesz API, które chcesz wywołać, na przykład „sprawdź status dostawy zamówienia i powiedz klientowi, kiedy dotrze”, a LLM z wyszukiwaniem w internecie czyta aktualną dokumentację tego API i składa kompletną, działającą akcję, uzupełniając metodę, URL, nagłówki, parametry oraz opis, który mówi agentowi, kiedy ma jej użyć. Builder cytuje dokumentację, którą przeczytał, a gdy nie może potwierdzić prawdziwego endpointu, mówi to zamiast zgadywać.
Ten poradnik buduje dwie działające akcje na podstawie dwóch wpisanych zdań, na darmowym koncie, i potwierdza obie rzeczywistymi wywołaniami zapisanymi w Inbox. Po drodze wyjaśnia, co wywołanie API naprawdę robi dla Twojego agenta oraz czym jest „function calling”, czyli mechanizm, na którym działa ta funkcja.
Wszystko poniżej zostało zbudowane i przetestowane na prawdziwym agencie. Każdy zrzut ekranu, wygenerowane pole i wywołanie API pochodzą z tej konfiguracji i możesz odtworzyć całość.
Gotowy wynik: podróżny pyta o weekend, agent wywołuje API pogodowe w trakcie rozmowy i odpowiada liczbami na żywo.
Co zbudujesz
Agenta wsparcia dla Wanderlark Tours, fikcyjnego operatora małych alpejskich wycieczek pieszych, który odpowiada na podstawie swojej wiedzy i wywołuje dwa prawdziwe API w trakcie rozmowy. Zbudowanie obu akcji, przetestowanie ich i obejrzenie wywołań na żywo zajmuje około piętnastu minut:
- Sprawdzenie prognozy pogody w Open-Meteo, zbudowane z jednego zdania. Bez klucza, więc do ukończenia wystarczy konto Quickchat.
- Astronomy Picture of the Day NASA z api.nasa.gov, dla dodatku obserwacji gwiazd Wanderlark. To API wymaga klucza i właśnie dlatego jest tu pokazane: uczy przepływu z placeholderem
[[secret]], w którym aktywacja pozostaje zablokowana, dopóki nie wkleisz klucza.
Wpiszesz też zdanie, którego builder celowo odmówi zbudowania, bo zobaczenie, jak odmawia, pomaga ocenić, kiedy można mu ufać.
Czego potrzebujesz:
- Darmowego konta Quickchat AI (zarejestruj się tutaj).
- Żadnego kodu i żadnego serwera. Do drugiej akcji potrzebny jest klucz API NASA: NASA udostępnia współdzielony, limitowany
DEMO_KEYdo testów, używany na zrzutach ekranu, oraz wydaje osobiste klucze od razu na api.nasa.gov.
Co to znaczy, że agent AI wywołuje API?
Agent, który może wywoływać API, może pobierać lub zmieniać rzeczy w prawdziwych systemach w trakcie rozmowy, a potem odpowiedzieć wynikiem. Chatbot może opisać Twoją firmę; agent wywołujący API może w niej działać.
Z perspektywy użytkownika końcowego nic się nie zmienia poza odpowiedzią. Podróżny pyta „jaka będzie pogoda w Interlaken w sobotę?” i przez kilka sekund widzi wskaźnik pisania, a potem odpowiedź z rzeczywistymi temperaturami. Nie widzi narzędzia, żądania ani payloadu JSON. Te dwie sekundy pomiędzy wyglądają tak:
Podróżny widzi pytanie i odpowiedź. Pomiędzy nimi model wybrał akcję, uzupełnił jej wartości, a Quickchat wykonał prawdziwe żądanie HTTP: 280 ms z około dwóch sekund.
Możesz nawet ustawić, co odwiedzający widzi podczas tej pauzy. Każda akcja może mieć thinking message, krótką linię pokazywaną przez widget strony zamiast ogólnego „Thinking…”, gdy trwa wywołanie. Akcja prognozy Wanderlark ustawia taką linię, więc podróżny podczas tych dwóch sekund widzi dokładnie to:
Widok po stronie podróżnego, w trakcie wywołania: niestandardowa linia myślenia mieni się w miejscu, gdzie zaraz pojawi się odpowiedź. Ustawisz tę linię później w edytorze akcji.
Nie dotyczy to tylko pogody. Każdy system udostępniający HTTP API może być po drugiej stronie akcji: baza zamówień, system rezerwacji, CRM, narzędzie ticketowe, platforma wiadomości. Odczyty odpowiadają na pytania danymi na żywo; zapisy zmieniają coś i zostawiają rekord.
Każdy kafelek to jedno opisane żądanie HTTP. Ten poradnik buduje dwa odczyty; wzorce zapisu są omówione w poradnikach podlinkowanych na końcu.
Historycznie problem polegał na tym, że podłączenie takiej akcji oznaczało czytanie dokumentacji API i ręczne wypełnianie żądania. Builder usuwa właśnie tę część.
Jak działa builder akcji w prostym języku?
Opisujesz API jednym zdaniem, a LLM z wyszukiwaniem w internecie na żywo zamienia to zdanie w kompletną akcję. Podczas generowania przeszukuje dokumentację API, szkicuje metodę, URL, nagłówki, parametry query oraz opis, który mówi agentowi, kiedy ją wywołać, i zwraca wynik z linkami do stron dokumentacji, które przeczytał. Generowanie trwa około pół minuty, a wynik otwiera się w oknie, gdy jest gotowy.
Builder dostarcza tylko to, co potwierdził w dokumentacji. Wszystko, czego nie mógł potwierdzić, staje się placeholderem albo odmową, nigdy zgadywaniem.
Trzy właściwości sprawiają, że można z niego bezpiecznie korzystać:
- Nic nie działa, dopóki tego nie aktywujesz. Każda wygenerowana akcja przychodzi wyłączona, do Twojego przeglądu.
- Niewiadome stają się placeholderami, nie zgadywaniem. Wartości, które model powinien uzupełniać przy każdym wywołaniu (data, miasto), stają się pustymi miejscami
{{param}}; stałe, które znasz tylko Ty (klucz API), stają się pustymi miejscami[[secret]], a aktywacja jest zablokowana, dopóki ich nie zastąpisz. - Pokazuje swoją pracę. Wynik zawiera listę stron dokumentacji, które przeczytał, każdą z notatką o tym, co dana strona potwierdziła, więc przegląd zaczyna się od dowodów, a nie zaufania:
Cytowania z drugiego generowania tego samego zdania pogodowego użytego później w poradniku: strona dokumentacji oraz jej sekcje API, każda z informacją, co builder tam potwierdził.
Krok 1: Utwórz agenta podróżniczego
Najpierw utwórz agenta, żeby akcje miały do czego należeć. Po rejestracji nazwij agenta (ta konfiguracja używa Wanderlark) i podaj jego zadanie w polu AI Main Prompt w sekcji Identity w dashboardzie:
Jesteś asystentem Wanderlark Tours, operatora małych alpejskich wycieczek pieszych. Wanderlark prowadzi trzy wycieczki z przewodnikiem: Interlaken Classic, Zermatt Highline i Dolomites Traverse, a także dodatek obserwacji gwiazd Dark-Sky Nights. Pomagaj podróżnym wybrać wycieczkę, zrozumieć terminy, ceny, trudność i to, co spakować, oraz odpowiadaj na pytania o rezerwacje i anulowanie. Bądź ciepły, praktyczny i zwięzły, a odpowiedzi utrzymuj krótkie.
Odpowiadaj tylko na podstawie tego, co naprawdę wiesz o Wanderlark. Jeśli nie masz szczegółu, powiedz, że go nie masz, i zaproponuj połączenie z zespołem Wanderlark, zamiast zgadywać.
Następnie dodaj kilka faktów w Knowledge Base, żeby agent miał z czego odpowiadać. Demo używa pięciu krótkich artykułów (wycieczki i ceny, dodatek Dark-Sky Nights, rezerwacje i anulowanie, pakowanie, miejsca spotkań); pełny tekst jest w bloku do skopiowania pod koniec. Rozszerzymy ten prompt o dwie linie dotyczące akcji po utworzeniu akcji. Jeśli chcesz przejście od zera przez prompty i wiedzę, główny poradnik podlinkowany niżej prowadzi przez to krok po kroku.
Krok 2: Opisz API jednym zdaniem
W pasku bocznym otwórz Actions & MCPs, kliknij Add Action i wybierz API Action, pierwszą pozycję w menu.
Akcje niestandardowe znajdują się w Actions & MCPs. Pozycja API Action otwiera okno opisu.
Otwarte okno prosi o opisanie API, które ta akcja ma wywoływać, oraz o podanie endpointu lub linku do dokumentacji. Oto dokładne zdanie dla akcji pogodowej:
Pobierz dzienną prognozę pogody dla miejsca z Open-Meteo API (dokumentacja: https://open-meteo.com/en/docs), aby gdy podróżny zapyta, jaka będzie pogoda w jednej z naszych destynacji, agent mógł odpowiedzieć rzeczywistymi temperaturami i szansami opadów dla dni, o które zapytano.
Jedno zdanie: które API, link do dokumentacji, kiedy agent ma go użyć i co ma zrobić z wynikiem.
To zdanie zawiera trzy rzeczy, których potrzebuje dobry opis:
- Konkretne API, endpoint lub URL dokumentacji. „Open-Meteo API” plus link do dokumentacji daje builderowi coś prawdziwego do przeczytania. Bez tego dostaniesz odmowę zamiast akcji.
- Kiedy agent ma tego użyć. „Gdy podróżny zapyta, jaka będzie pogoda” trafia później, prawie dosłownie, do opisu, który uruchamia akcję.
- Co zrobić z wynikiem. „Odpowiedzieć rzeczywistymi temperaturami i szansami opadów” kształtuje sposób, w jaki agent używa odpowiedzi.
Pole przyjmuje do 500 znaków, czyli więcej miejsca, niż potrzebuje dobry opis; każde zdanie w tym poradniku mieści się z dużym zapasem.
Kliknij Submit. Okno się zamknie, toast poinformuje, że akcja jest przygotowywana, a po około pół minuty okno wyniku otworzy się samo:
Cały przepływ w czasie rzeczywistym, z przyciętym oczekiwaniem: opisz, wyślij i sprawdź, co wróciło.
Co znajduje się w wygenerowanej akcji?
Okno wyniku to powierzchnia przeglądu. Po lewej jest karta podglądu nowej akcji, dokładnie taka, jaka pojawi się na stronie Actions. Po prawej Details: builder wyjaśnia, co zbudował, które wartości model uzupełnia w czasie działania i jakie założenia przyjął, gdy Twoje zdanie zostawiło coś otwarte. Niżej Sources: dokumentacja, którą przeczytał, jako linki.
Builder wyjaśnia swoją pracę pole po polu. Po przewinięciu okna sekcja Sources pokazuje, co przeczytał dla tej akcji: stronę dokumentacji Open-Meteo i specyfikację OpenAPI projektu na GitHub, każdą z notatką o tym, co potwierdziła.
Dla zdania pogodowego builder wygenerował akcję o nazwie get_open_meteo_daily_forecast (nazwy buildera wyglądają, jakby pisał je inżynier; możesz je zmienić w edytorze). Kliknij Edit Action na podglądzie, żeby zobaczyć każde wypełnione pole:
Wszystko, co ma ręcznie zbudowana akcja, jest wypełnione: nazwa, tabela parametrów w „What to ask the user first” i endpoint.
Czytając od góry:
- API Action Name: nazwa narzędzia, którą widzi model.
- What to ask the user first: tabela parametrów. Builder zadeklarował siedem parametrów, każdy z typem i opisem:
latitude,longitude,timezone,start_date,end_dateoraz opcjonalne jednostki. To wartości{{param}}, które model uzupełnia przy każdym wywołaniu. Zwróć uwagę, czego tu nie ma: parametru „city”. Builder podłączył endpoint tak, jak Open-Meteo faktycznie działa, czyli przez współrzędne, a geografię zostawił modelowi. Za chwilę zobaczysz, że model uzupełnia te współrzędne poprawnie. - API Endpoint:
GET https://api.open-meteo.com/v1/forecast, z podłączonymi parametrami query. Stałe wartości pozostają literalne, jak lista zmiennych prognozydailywybrana przez buildera; wartości uzupełniane przez model pojawiają się jako kolorowe chipy{{...}}.
Części stałe pozostają stałe; kolorowe chipy to puste miejsca uzupełniane przez model. Chipy są własną legendą UI pokazującą, skąd pochodzi dana wartość.
Czwarta zakładka edytora endpointu, Test Response, wykonuje prawdziwe żądanie, zanim akcja kiedykolwiek trafi do odwiedzającego. Każdy parametr dostaje pole „Your test value”; uzupełnij je prawdopodobnymi wartościami, naciśnij przycisk odtwarzania („Test the API”), a rzeczywista odpowiedź wróci z kodem statusu. Przełącznik Show cURL pokazuje, według własnego opisu, „the exact HTTP request that would be triggered when this AI Action runs with these parameters”. Oto test tej konfiguracji, ponownie ze współrzędnymi Interlaken:
Prawdziwe 200 z Open-Meteo, wywołane z edytora, z rozwiązanym żądaniem wypisanym poniżej. Sprawdź, przetestuj, potem aktywuj.
- API Action Description: zdanie, które decyduje, kiedy agent sięga po tę akcję. Builder napisał je na podstawie Twojej klauzuli „gdy podróżny zapyta”. To pole wykonuje najwięcej pracy w czasie działania i jest pierwszym miejscem do dostrojenia, jeśli agent kiedykolwiek uruchamia akcję w złym momencie.
- Thinking message: linia po stronie podróżnego z wcześniejszej osi czasu. Edytor opisuje ją jako „a thinking preloader that will be displayed to the user when this action is invoked”; akcja prognozy Wanderlark ustawia ją na „Checking the live forecast for you…”.
Akcja przyszła wyłączona. Otwórz ją w edytorze, a Quickchat pokaże baner, że akcja jest wyłączona, z przyciskiem Enable; albo przestaw przełącznik na jej karcie na stronie Actions. Ponieważ w tej akcji nie było nic do uzupełnienia, aktywuje się od razu.
Najpierw przegląd, potem włączenie. Nic niczego nie wywołuje, dopóki tego nie zrobisz.
Jeśli wolisz zbudować tę samą akcję ręcznie, pole po polu, i zrozumieć każde pole od podstaw, służy do tego główny poradnik: Zbuduj darmowego agenta AI, który wykonuje akcje. Builder i ręczny edytor tworzą ten sam typ akcji; ten wpis pokazuje ścieżkę generowaną.
Krok 3: Przetestuj ją i zobacz wywołanie
Zadaj agentowi pytanie, które powinno uruchomić akcję. Transkrypty tutaj zostały przeprowadzone przez pipeline testowy Quickchat i zapisane w Inbox jak każda rozmowa; na Twoim koncie panel AI Preview w pasku bocznym daje tę samą pętlę w przeglądarce.
Wiadomość testowa:
Cześć! Robimy Interlaken Classic w przyszły weekend. Jaka będzie pogoda w Interlaken w sobotę 25 lipca i niedzielę 26 lipca?
Agent odpowiedział rzeczywistą prognozą: około 27,7°C i prawie bez deszczu w sobotę, chłodniej i do 18 mm deszczu prawdopodobnie w niedzielę, plus porada dotycząca pakowania zaczerpnięta z jego wiedzy.
Potwierdzenie jest w Inbox. Pod odpowiedzią agenta znajduje się znacznik „1 action called”; rozwiń go, a dostaniesz pełny rekord tego, co się stało:
Rekord wywołania: get_open_meteo_daily_forecast, HTTP 200 w 280 ms i każda wartość uzupełniona przez model.
Przeczytaj parametry wybrane przez model: latitude: 46.6863, longitude: 7.8632, timezone: Europe/Zurich, start_date: 2026-07-25, end_date: 2026-07-26. Nikt nie wpisywał współrzędnych. Podróżny powiedział „Interlaken”, a model przetłumaczył to na wartości potrzebne API, wystarczająco precyzyjnie, by trafić w miasto. To ocenna część systemu wykonująca swoją pracę; część deterministyczna (URL, metoda, stała lista zmiennych daily) wyszła dokładnie tak, jak została sprawdzona.
Czym jest function calling w agentach AI?
Powyższe potwierdzenie pokazuje mechanizm, który branża nazywa function calling: model językowy w trakcie rozmowy wybiera wygenerowanie ustrukturyzowanego wywołania wcześniej zdefiniowanego narzędzia zamiast zdania, platforma je wykonuje, a model kontynuuje z wynikiem.
Function calling na prawdziwym wywołaniu z tego poradnika. Model zawsze generuje tylko ustrukturyzowane wartości; platforma odpowiada za żądanie; API to zwykłe HTTP.
Z diagramu wynikają ważne rzeczy:
- Model decyduje, platforma wykonuje. Model nigdy nie wysyła bajtów do Open-Meteo. Produkuje
{"latitude": 46.6863, ...}, a Quickchat wstawia te wartości do sprawdzonego przez Ciebie żądania. Części ustalone przez Ciebie, URL, metoda, każdy sekret, nie należą do modelu i nie może ich zmienić. - „Tool calling” to to samo. Obie nazwy opisują jeden mechanizm; tool calling to nowszy, bardziej ogólny termin. AI Action jest definicją narzędzia: jego nazwa, opis i tabela parametrów są dokładnie tym, co model czyta, gdy decyduje, czy i jak je wywołać. Dlatego pole opisu ma tak duże znaczenie. Koncepcyjnie cała definicja widoczna dla modelu sprowadza się do tego:
name: get_open_meteo_daily_forecast
description: Użyj tej akcji, gdy podróżny pyta, jaka będzie pogoda w konkretnych nadchodzących dniach w destynacji...
parameters: latitude (liczba, wymagane), longitude (liczba, wymagane), timezone (tekst, wymagane), start_date (tekst, wymagane), end_date (tekst, wymagane), temperature_unit (tekst), precipitation_unit (tekst)
- Strona API jest zwykła. Open-Meteo nie dodało obsługi AI dla tego przypadku. Każdy endpoint mówiący HTTP i zwracający JSON może być narzędziem, dlatego przepis oparty na jednym zdaniu uogólnia się na Twój backend.
Każda duża rodzina modeli obsługuje ten mechanizm. Różnica między platformami polega na tym, kto pisze definicje narzędzi. W platformach deweloperskich i custom GPT actions robisz to Ty, ręcznie, w schemacie. Builder użyty w kroku 2 to function calling bez pisania schematu: Twoje zdanie stało się definicją narzędzia. Inżynierskie omówienie tego krajobrazu, od protokołów takich jak MCP po niestandardowe endpointy, znajdziesz w API dla agentów AI: od MCP do niestandardowych endpointów.
Krok 4: API, które wymaga klucza
Większość prawdziwych API wymaga poświadczenia. Tu pojawia się drugi typ placeholdera buildera, a dodatek obserwacji gwiazd Wanderlark daje naturalny pretekst: goście Dark-Sky Nights często pytają o Astronomy Picture of the Day NASA.
Otwórz Add Action, ponownie wybierz API Action i opisz ją, tym razem od razu mówiąc builderowi, że dostarczysz klucz:
Pobierz Astronomy Picture of the Day NASA z NASA APOD API (GET https://api.nasa.gov/planetary/apod), aby goście ciekawi naszego dodatku Dark-Sky Nights mogli zapytać o dzisiejsze wyróżnione zdjęcie astronomiczne i usłyszeć jego tytuł oraz opis tego, co pokazuje. Dostarczę własny klucz API NASA.
Zdanie „Dostarczę własny klucz API” mówi builderowi, żeby zostawił czyste puste miejsce zamiast zgadywać uwierzytelnianie.
Po pół minuty otwiera się okno wyniku i różni się jedną ważną rzeczą: bursztynowym panelem zatytułowanym „Replace before activating”, który pokazuje dokładnie jedną rzecz: [[nasa_api_key]]. Karta podglądu ma czerwoną odznakę Incomplete, a jej przełącznik aktywacji jest wyłączony i pozostaje wyłączony.
Builder podłączył całą akcję i zostawił jedno puste miejsce, którego nie mógł uzupełnić: Twój klucz. Dopóki go nie zastąpisz, akcji nie da się włączyć.
Na stronie Actions przełącznik jest całkowicie wyłączony, z tooltipem wyjaśniającym dlaczego:
Aktywacja jest blokowana na poziomie platformy, dopóki pozostaje jakikolwiek [[secret]]. Akcja z placeholderem w miejscu klucza nie może zawieść o 3 rano, bo nie może się uruchomić.
Dwa typy placeholderów mają różnych właścicieli:
Jeden URL, oba typy: {{date}} to puste miejsce modelu, uzupełniane z rozmowy przy każdym wywołaniu; [[nasa_api_key]] jest Twoje, wklejane raz.
Teraz go uzupełnij. NASA wydaje osobiste klucze natychmiast (imię i e-mail na api.nasa.gov, klucz przychodzi mailem) i dokumentuje współdzielony DEMO_KEY do testów, używany w tej konfiguracji:
- Na karcie akcji kliknij Edit Action, a potem otwórz zakładkę Query Params w sekcji API Endpoint.
- Wiersz
api_keyzawiera bursztynowy chip[[nasa_api_key]]. Kliknij w wartość i zastąp ją swoim kluczem. - Kliknij Save changes.
Placeholder jest normalną edytowalną wartością. Zastąp go i zapisz.
Zwróć uwagę, czego nie trzeba było zrobić: przestawiać przełącznika. Gdy zapis po raz pierwszy sprawia, że akcja GET tylko do odczytu jest kompletna i poprawna, Quickchat aktywuje ją za Ciebie. Akcje zapisujące (POST, PUT, PATCH, DELETE) nigdy tego nie robią; czekają na świadomą aktywację, co jest właściwym ustawieniem domyślnym dla wszystkiego, co zmienia dane.
Wklej, zapisz, a odczyt sam się włącza. Akcje zapisujące zawsze zostawiają ostateczną decyzję Tobie.
Przetestuj ją tak samo jak prognozę:
Dodaliśmy dodatek Dark-Sky Nights do naszej wycieczki Zermatt Highline. O czym jest dzisiejsze zdjęcie astronomiczne?
Agent pobrał dzisiejsze zdjęcie, „Shadow and Rainbow”, i streścił, co pokazuje.
I ponownie potwierdzenie w Inbox:
HTTP 200 z api.nasa.gov. Jedyną wartością uzupełnioną przez model jest data, pozostawiona pusta, więc NASA domyślnie używa dzisiejszej. Klucza nigdzie nie ma w tym rekordzie: nie jest parametrem, więc model nigdy go nie uzupełnia ani nie ujawnia.
Co się dzieje, gdy builder nie może znaleźć API?
Builder nie zawsze tworzy akcję i tak ma być. Wpisz zdanie opisujące zachowanie, ale bez wskazania API:
Pozwól mojemu agentowi pomagać podróżnym przełożyć wycieczkę, gdy pogoda wygląda źle.
Builder szuka, nie znajduje jednego API, które mógłby odpowiedzialnie wybrać za Ciebie, i wraca z innym oknem: „We need a bit more detail”. Akcja nie zostaje utworzona. Panel Details precyzyjnie wyjaśnia, czego brakuje (który dostawca pogody? który system rezerwacji?) i pokazuje przeformułowanie, aż do przykładowego zdania z konkretnym endpointem.
Odmowa z zestawem naprawczym: co było niejednoznaczne, dlaczego zgadywanie byłoby błędne i przykład zdania, które zadziała.
Jest też drugi rodzaj odmowy. Opisz coś, co Quickchat robi już natywnie:
Przekaż rozmowę ludzkiemu przewodnikowi, gdy podróżny wydaje się sfrustrowany lub prosi o rozmowę z człowiekiem.
Builder rozpoznaje, że to obszar wbudowanej funkcji, i zamiast owijać rozwiązany problem w zewnętrzne API, kieruje Cię do tej funkcji, z przyciskiem Set up Human Handoff bezpośrednio w oknie:
Nie każda możliwość powinna być niestandardową akcją. Eskalacja do człowieka jest wbudowana, a builder kieruje Cię tam zamiast ją duplikować.
Dokładne zdania i ustawienia do skopiowania
Wszystko użyte w demo, w jednym miejscu. Dwa zdania, które wygenerowały akcje:
Pobierz dzienną prognozę pogody dla miejsca z Open-Meteo API (dokumentacja: https://open-meteo.com/en/docs), aby gdy podróżny zapyta, jaka będzie pogoda w jednej z naszych destynacji, agent mógł odpowiedzieć rzeczywistymi temperaturami i szansami opadów dla dni, o które zapytano.
Pobierz Astronomy Picture of the Day NASA z NASA APOD API (GET https://api.nasa.gov/planetary/apod), aby goście ciekawi naszego dodatku Dark-Sky Nights mogli zapytać o dzisiejsze wyróżnione zdjęcie astronomiczne i usłyszeć jego tytuł oraz opis tego, co pokazuje. Dostarczę własny klucz API NASA.
AI Main Prompt, wraz z dwiema liniami dotyczącymi akcji dodanymi po ich utworzeniu. Nazwanie akcji i momentów ich uruchamiania w prompcie zauważalnie poprawia niezawodność uruchamiania, a nazwy akcji, których należy użyć, to wygenerowane nazwy widoczne w edytorze:
Jesteś asystentem Wanderlark Tours, operatora małych alpejskich wycieczek pieszych. Wanderlark prowadzi trzy wycieczki z przewodnikiem: Interlaken Classic, Zermatt Highline i Dolomites Traverse, a także dodatek obserwacji gwiazd Dark-Sky Nights. Pomagaj podróżnym wybrać wycieczkę, zrozumieć terminy, ceny, trudność i to, co spakować, oraz odpowiadaj na pytania o rezerwacje i anulowanie. Bądź ciepły, praktyczny i zwięzły, a odpowiedzi utrzymuj krótkie.
Gdy podróżny pyta, jaka będzie pogoda w destynacji w nadchodzących dniach, wywołaj get_open_meteo_daily_forecast i odpowiedz rzeczywistymi liczbami dla dni, o które zapytał. Gdy gość pyta o dzisiejsze zdjęcie astronomiczne lub o to, co może zobaczyć podczas Dark-Sky Night, wywołaj get_tonights_nasa_apod i opisz tytuł zdjęcia oraz to, co pokazuje.
Odpowiadaj tylko na podstawie tego, co naprawdę wiesz o Wanderlark. Jeśli nie masz szczegółu, powiedz, że go nie masz, i zaproponuj połączenie z zespołem Wanderlark, zamiast zgadywać.
Wygenerowane API Action Descriptions, tak jak napisał je builder (dostrajasz je, a nie URL, gdy trzeba poprawić zachowanie uruchamiania):
Użyj tej akcji, gdy podróżny pyta, jaka będzie pogoda w konkretne nadchodzące dni w destynacji, i potrzebujesz rzeczywistych dziennych danych prognozy (temperatury maks./min. i szansa deszczu) z Open-Meteo API. Asystent powinien wywołać ją ze współrzędnymi latitude/longitude destynacji, zakresem dat i preferowanymi jednostkami, a potem użyć odpowiedzi JSON, aby opisać prognozowane temperatury i prawdopodobieństwa opadów dla żądanych dni w języku naturalnym.
Użyj tej akcji, gdy gość pyta o dzisiejsze Astronomy Picture of the Day związane z Twoim dodatkiem Dark-Sky Nights, aby pobrać oficjalne metadane APOD NASA i opisać tytuł oraz to, co pokazuje zdjęcie. Akcja wywołuje APOD API NASA dla podanej daty (domyślnie dzisiaj, jeśli nie podano daty) i zwraca JSON zawierający URL obrazu lub wideo, tytuł, wyjaśnienie i typ mediów, które asystent powinien streścić gościowi konwersacyjnie.
Thinking message ustawiony w akcji prognozy (linia, którą widget pokazuje podczas wywołania):
Sprawdzam dla Ciebie prognozę na żywo...
Pięć artykułów Knowledge Base, skróconych do faktów:
Wycieczki: Interlaken Classic, 3 dni, łatwa do umiarkowanej, 890 euro, maks. 10 gości, od maja do października. Zermatt Highline, 4 dni, umiarkowana do wymagającej, 1 290 euro, maks. 8, od czerwca do września. Dolomites Traverse, 5 dni, wymagająca, 1 590 euro, maks. 8, od końca czerwca do połowy września, od schroniska do schroniska. Ceny obejmują przewodnika, zakwaterowanie, śniadania.
Dark-Sky Nights: dodatek obserwacji gwiazd na Zermatt Highline i Dolomites Traverse, 120 euro za osobę, nocny spacer z przewodnikiem i teleskopem, planowany w okolicy nowiu; sesje odwołane z powodu chmur są przenoszone lub refundowane.
Rezerwacja: depozyt 200 euro, saldo płatne 30 dni przed startem. Bezpłatne anulowanie do 30 dni; zwrot 50 procent od 29 do 14 dni; w ciągu 14 dni brak zwrotu, ale jedna bezpłatna zmiana rezerwacji w ciągu 12 miesięcy.
Pakowanie: warstwy, wodoodporna kurtka, rozchodzone buty, plecak dzienny 30 litrów; kijki i raki zapewnione; zimne wieczory nawet latem.
Miejsca spotkań: stacja Interlaken Ost; stacja Zermatt (bez samochodów, shuttle z Taesch); Cortina d'Ampezzo, transfer z lotniska w Wenecji 45 euro w każdą stronę.
Jak opisać API, żeby builder dobrze je zrozumiał?
Trzy reguły obejmują wszystko, co pojawiło się w tej konfiguracji, a okno odmowy uczy tej samej lekcji z drugiej strony:
Wzorzec stojący za każdym wynikiem w tym poradniku: konkretne API na wejściu, działająca akcja na wyjściu; samo zachowanie na wejściu, wskazówki z powrotem.
- Nazwij API, endpoint albo wklej URL dokumentacji. „Open-Meteo API (dokumentacja: …)” wygenerowało poprawną akcję opartą na dwóch cytowanych źródłach. „Przełóż wycieczkę, gdy pogoda wygląda źle” wygenerowało odmowę, bo nazywa życzenie, nie API. Builder potrzebuje czegoś konkretnego, co może przeczytać, i na tej regule opierają się dwie pozostałe.
- Powiedz, kiedy agent ma tego użyć i co powiedzieć dalej. Twoja klauzula wyzwalająca staje się opisem akcji prawie dosłownie, a opis uruchamia akcję w czasie działania. „Gdy podróżny pyta, jaka będzie pogoda” to sygnał, który model może rozpoznać w trakcie rozmowy.
- Powiedz, jak zadziała poświadczenie, jeśli jest potrzebne. „Dostarczę własny klucz API NASA” sprawiło, że uwierzytelnianie zostało zamodelowane jako czysty
[[secret]]. Builder sam też skłania się w tę stronę: preferuje statyczne, długowieczne poświadczenia, takie jak klucze i URL webhooków, zamiast krótkotrwałych tokenów OAuth, ponieważ akcja działa tak samo przy każdym wywołaniu, bez mechanizmu odświeżania tokenu.
I jedna rzecz, która nie jest regułą: nie musisz określać parametrów, formatów ani pól odpowiedzi. Builder przeczytał dokumentację Open-Meteo i wybrał siedem parametrów, sensowne wartości domyślne i właściwe zmienne dzienne bez proszenia. Sprawdź, co wybrał w edytorze, zamiast próbować dyktować to z góry.
Sama iteracja jest tania. Nie ma przycisku regenerowania; gdy szkic wychodzi źle, usuń go i wyślij ostrzejsze zdanie ponownie, około pół minuty na próbę. Konta mieszczą do 15 utworzonych akcji, więc sprzątaj szkice po drodze.
Uruchomienie produkcyjne
Aktywacja już to zrobiła. Akcje należą do agenta, nie do kanału, więc dwa zbudowane odczyty uruchamiają się tak samo z widgetu strony, WhatsApp, Messenger, Slack, Telegram, Discord albo gdziekolwiek indziej agent jest wdrożony, a każde wywołanie jest zapisywane w Inbox. Jeśli widget strony jest głównym kanałem, możesz white-labelować chatbota AI bez zmiany akcji. To samo dotyczy tego, na co agent nie zna odpowiedzi: zapytany o zimowe wycieczki na rakietach śnieżnych, Wanderlark mówi, że takich nie organizuje, zamiast improwizować.
Zapytany o coś spoza swojej wiedzy, agent mówi to zamiast improwizować. Ta sama powściągliwość dotyczy jego wywołań API.
Dwa naturalne następne kroki, gdy pierwsze akcje są już aktywne:
- Spraw, żeby uruchamianie było deterministyczne tam, gdzie ma to znaczenie. Opisy akcji decydują, kiedy model je wywołuje; dla akcji, które muszą działać tylko w konkretnych warunkach, dodaj warunki uruchamiania po stronie serwera i memory captures: Jak zwiększyć niezawodność akcji agenta AI.
- Użyj integracji jednym kliknięciem dla narzędzi, które je mają. To samo menu Add Action zawiera inne ścieżki: HubSpot Action, Discord Action i Google Sheets są gotowymi galeriami, Shopify MCP podłącza katalog sklepu, a MCP podłącza dowolny zdalny serwer MCP, z katalogu 240+ pozycji albo przez wklejony URL, importując narzędzia tego serwera. Poradniki poniżej przeprowadzają przez galerie.
Trzy drogi do tego samego miejsca, jedna praktyczna reguła:
| Integracje jednym kliknięciem i MCP | Builder w prostym języku | Edytor ręczny | |
|---|---|---|---|
| Najlepsze dla | Popularne narzędzia z galerią albo dowolny serwer MCP | Dowolne udokumentowane REST API, także długi ogon | Wewnętrzne API albo pełna kontrola nad każdym polem |
| Dostarczasz | Połączenie konta albo URL serwera | Jedno zdanie oraz klucz, jeśli API go wymaga | Każde pole samodzielnie |
| Agent dostaje | Wybrany zestaw gotowych narzędzi | Jedną sprawdzoną, cytowaną akcję na zdanie | Dokładnie to, co wpiszesz |
| Omówione w | Poradnikach poniżej | Tym poradniku | Anatomii powyżej oraz głównym poradniku, do którego linkuje |
Powiązane poradniki
- Podłącz swojego agenta AI do HubSpot: kontakty, deale i tickety zapisywane w trakcie rozmowy, z bezpiecznym wzorcem tylko do zapisu.
- Zmień swojego agenta AI w serwer MCP: odwrotny kształt, w którym ChatGPT, Claude i Cursor wywołują Twojego agenta.
- Zbuduj bota AI Telegram do zarządzania grupą: sześć ręcznie zbudowanych akcji Bot API z bramkowaniem administracyjnym.
- Bot moderacyjny AI Discord: akcje moderacyjne z poprawnie obsłużonymi uprawnieniami i autoryzacją.
- Bot ticketowy AI Discord: część wsparcia tej samej galerii, odpowiadająca z bazy wiedzy i otwierająca prywatne wątki ticketów.
- Podłącz swojego agenta AI do Google Sheets: integracja raportowania jednym kliknięciem.
Najczęściej zadawane pytania
Jak podłączyć agenta AI do API bez pisania kodu?
W Quickchat AI otwórz Actions & MCPs, kliknij Add Action, wybierz API Action i opisz API jednym zdaniem prostym językiem. LLM z wyszukiwaniem w internecie na żywo czyta dokumentację API i generuje kompletną akcję, z metodą, URL, parametrami i opisem. Sprawdzasz ją, uzupełniasz wartości zastępcze, takie jak klucz API, i włączasz ją.
Czym jest function calling w agentach AI?
Function calling to mechanizm, w którym model językowy w trakcie rozmowy zwraca ustrukturyzowane żądanie uruchomienia wcześniej zdefiniowanego narzędzia zamiast zwykłego tekstu. Platforma wykonuje narzędzie, w tym przypadku żądanie HTTP, i przekazuje wynik z powrotem do modelu, który następnie pisze odpowiedź na podstawie rzeczywistych danych. Każde wywołanie AI Action w tym poradniku jest jednym function call.
Czy function calling to to samo co tool calling?
Tak. Function calling i tool calling oznaczają ten sam mechanizm; tool calling to nowszy, bardziej ogólny termin. AI Action jest jednym z takich narzędzi: opisanym żądaniem HTTP, które model może wybrać do wywołania podczas rozmowy.
Skąd builder wie, jak wygląda API?
Podczas generowania wykonuje wyszukiwanie w internecie na żywo w dokumentacji API i składa akcję tylko z tego, co mógł tam potwierdzić. Okno wyniku pokazuje źródła, które przeczytał, więc możesz je sprawdzić przed aktywacją akcji.
Jaka jest różnica między placeholderami {{param}} i [[secret]]?
Wartość {{param}} jest uzupełniana przez model z rozmowy przy każdym wywołaniu, na przykład data lub miasto. Wartość [[secret]] to stała, którą wklejasz raz przed aktywacją, na przykład klucz API. Model nigdy nie wybiera ani nie edytuje sekretów i nie są one parametrami, które może uzupełnić.
Gdzie trafia mój klucz API i czy odwiedzający może go wydobyć z agenta?
Zastępujesz placeholder [[secret]] wewnątrz akcji, w edytorze, przed aktywacją. Klucz staje się częścią stałego żądania wysyłanego przez Quickchat. Nie jest parametrem, więc model nie może go zmienić i nie pojawia się w rekordzie wywołania akcji w rozmowie.
Czy builder tworzy tylko odczyty GET, czy agent może też zapisywać dane?
Oba typy. Ten sam przepływ oparty na jednym zdaniu generuje akcje POST, PUT, PATCH i DELETE. Akcje GET tylko do odczytu włączają się same, gdy są kompletne i poprawne; akcje zapisujące zawsze czekają, aż świadomie je aktywujesz.
Czy można podłączyć prywatne lub wewnętrzne API?
Tak, o ile endpoint jest osiągalny przez HTTPS po stronie Quickchat. Builder opiera się na publicznej dokumentacji, więc dla wewnętrznego API opisz endpoint jednoznacznie w swoim zdaniu albo wygeneruj podobny szablon i dostosuj URL oraz pola w edytorze.
Co się stanie, jeśli opiszę zachowanie zamiast konkretnego API?
Builder odmawia w bezpieczny sposób. Zamiast wymyślać endpoint, wyjaśnia, czego brakuje, i pokazuje, jak przeformułować opis, zwykle przez wskazanie konkretnego dostawcy, endpointu lub URL dokumentacji. Jeśli Twoja prośba pasuje do wbudowanej funkcji, takiej jak Human Handoff, kieruje Cię do tej funkcji zamiast tworzyć niestandardową akcję.
Co się stanie, jeśli wywołanie API nie powiedzie się podczas rozmowy?
Agent widzi błąd i mówi użytkownikowi, że nie mógł wykonać sprawdzenia, zamiast wymyślać odpowiedź. Każde wywołanie jest zapisywane w rozmowie w Inbox wraz z parametrami i kodem statusu HTTP, więc widzisz dokładnie, co zostało wysłane i co wróciło.
Czy ChatGPT, Claude lub Gemini mogą podłączyć się do API w taki sposób?
Ich modele obsługują function calling, ale podłączenie tego wymaga pracy deweloperskiej: samodzielnie piszesz schemat funkcji lub specyfikację OpenAPI, tak jak w custom GPT actions. Tutaj wpisujesz jedno zdanie, a akcja jest generowana z dokumentacji API na żywo, a potem działa we wszystkich kanałach Twojego agenta. Możesz też wystawić gotowego agenta Quickchat do ChatGPT, Claude i Cursor jako serwer MCP.
Z których kanałów agent może wywoływać API?
Ze wszystkich. Akcje należą do agenta, a nie do kanału, więc ta sama akcja uruchamia się z widgetu na stronie, WhatsApp, Messenger, Slack, Telegram, Discord i wszędzie indziej, gdzie wdrożony jest Twój agent.
Czy builder akcji w prostym języku jest darmowy?
Tak. Generowanie, sprawdzanie i aktywowanie API Actions działa w planie darmowym, a obie akcje z tego poradnika zostały zbudowane na darmowym koncie. Płatne plany dodają wyższe limity użycia i bardziej zaawansowane modele, a nie dostęp do buildera.
Jak agent wybiera między wieloma akcjami?
Czyta nazwę i opis każdej akcji, a potem wybiera tę, która pasuje do danego momentu rozmowy. Agent demo ma dwie akcje: pytanie o pogodę trafia do akcji prognozy, a pytanie astronomiczne do akcji NASA, ponieważ ich opisy wskazują te wyzwalacze. Jasne, odrębne opisy sprawiają, że wybór jest niezawodny.
Ile opóźnienia dodaje wywołanie API do odpowiedzi?
Mniej, niż możesz się spodziewać. Rzeczywiste wywołanie prognozy w tym poradniku wróciło w 280 ms, w ramach odpowiedzi, która od początku do końca trwała około dwóch sekund. Odwiedzający widzi krótki wskaźnik myślenia, który możesz zastąpić własnym thinking message, a potem odpowiedź opartą na danych na żywo.
Podsumowanie
Dwa wpisane zdania stały się dwiema działającymi, udokumentowanymi i sprawdzonymi API Actions: odczytem pogody bez klucza oraz odczytem NASA z kluczem, każda potwierdzona przez HTTP 200 zapisane w Inbox obok wartości uzupełnionych przez model. Reguły, które czynią to niezawodnym, mieszczą się w trzech liniach. Nazwij prawdziwe API, a builder oprze akcję na jego dokumentacji i ją zacytuje. Wszystko, co znasz tylko Ty, pojawia się jako [[secret]], który blokuje aktywację, dopóki go nie uzupełnisz. Wszystko, czego builder nie może potwierdzić, staje się wyjaśnieniem i sugerowanym przeformułowaniem, nigdy zgadywaniem.
Pełną listę pól API Actions, warunki uruchamiania i obsługę odpowiedzi znajdziesz w dokumentacji AI Actions, warto mieć ją pod ręką podczas budowania.