Tool calling i function execution dla autonomicznych agentów sprzedaży
Zwykły model językowy potrafi jedynie generować tekst, nie mając dostępu do bieżącego stanu systemów firmowych. Gdy klient pyta o wolny termin demo lub historię poprzednich zamówień, bot bez dostępu do narzędzi (tool calling) zmyśla fakty lub bezradnie odsyła do infolinii, tracąc gorący lead.
Mechanizm Tool Calling (Function Calling) pozwala modelowi zdecydować, kiedy i jakiego zewnętrznego narzędzia użyć, by zrealizować zadanie handlowe:
| Narzędzie agenta | Zastosowanie biznesowe | Schemat parametrów (JSON) | Bezpieczeństwo |
|---|---|---|---|
| get_calendar_availability | Sprawdzanie wolnych slotów w Cal.com/Google | { | Tylko do odczytu (Read-only) |
| book_meeting_slot | Rezerwacja terminu w kalendarzu | { | Wymaga walidacji formatu i idempotency key |
| get_crm_deal_status | Sprawdzenie etapu szansy w HubSpot | { | Ograniczenie uprawnień do własnego zespołu |
| calculate_pricing_tier | Obliczenie rabatu i ceny licencji | { | Sztywne reguły matematyczne w kodzie |
- Zdefiniuj zestaw narzędzi w specyfikacji JSON udostępnianej modelowi w parametrze
tools. - Pętla agentowa (Agentic Loop): model analizuje zapytanie klienta -> decyduje o wywołaniu
tool_calls-> Twój backend wykonuje zapytanie do API kalendarza/CRM -> zwraca wynik (tool_message) -> model generuje naturalną odpowiedź dla klienta. - Wprowadź klucze idempotencji (idempotency keys) dla operacji zapisu, aby zapobiec podwójnej rezerwacji terminu przy powtórzonych zapytaniach.
- Ogranicz autonomię: narzędzia modyfikujące dane krytyczne (np. zmiana etapu deale na
Closed Lost
) wymagają potwierdzenia handlowca.
- ZŁY
- Bot bez narzędzi odpowiada klientowi: 'Mamy wolny termin w czwartek o 14:00'. Klient potwierdza, po czym okazuje się, że termin był zajęty od tygodnia, bo model nie miał realnego połączenia z kalendarzem handlowca.
- DOBRY
- Agent wyposażony w funkcje 'check_availability' i 'book_slot'. Model odpytuje API Cal.com, pobiera 3 realnie wolne sloty handlowca, proponuje je w mailu, a po odpowiedzi prospekta natychmiast tworzy zdarzenie i wysyła zaproszenie Google Meet z linkiem do wideo.
Jesteś architektem agentów autonomicznych w dziale sprzedaży (Sales Agent Engineer). Kontekst: Buduję autonomicznego agenta obsługującego przychodzące zapytania ze strony WWW i planującego spotkania handlowe. Integracje: [GOOGLE CALENDAR / CAL.COM], CRM: [HUBSPOT / PIPEDRIVE]. Model bazowy: [GPT-4O / CLAUDE 3.5 SONNET / GEMINI 1.5 PRO]. Zadanie: 1. Zdefiniuj 3 formalne specyfikacje narzędzi (Tool Definitions w standardzie JSON Schema): - check_availability(start_date, end_date, timezone) - schedule_discovery_call(prospect_email, company_name, selected_slot_iso, topic) - lookup_crm_contact(email) 2. Rozpisz architekturę pętli agentowej (Agentic Loop): diagram kroków od zapytania użytkownika do finalnej odpowiedzi. 3. Podaj mechanizm zabezpieczenia przed halucynacją argumentów (np. błędna strefa czasowa, data z przeszłości). 4. Zaproponuj prompt systemowy definiujący personę agenta i sztywne zasady wywoływania narzędzi. Format: Specyfikacje narzędzi w JSON + prompt systemowy + opis obsługi błędów w pętli.
Warianty i alternatywne scenariusze
Wdrożenie w n8n: węzeł AI Agent z sub-węzłami Custom Tool (HTTP Request do zewnętrznych API).
Framework LangGraph / CrewAI: wieloagentowy podział ról (Agent Kwalifikator + Agent Kalendarzowy).
Ćwiczenie praktyczne
Zdefiniuj w n8n lub prostym skrypcie jedno narzędzie sprawdzające dostępność w kalendarzu i przetestuj zapytanie do modelu, weryfikując, czy model poprawnie generuje argumenty tool_call.