Techsy
Kontakt
Rozpocznij
Powrót do bloga
ai-machine-learning

Najlepsze praktyki wywoływania narzędzi przez agenta: dlaczego Twój agent wybiera złe narzędzie

Napisane przez Mert Batur
Aug 3, 2026
13 min
Spis treści
Najlepsze praktyki wywoływania narzędzi przez agenta: dlaczego Twój agent wybiera złe narzędzie

Najlepsze praktyki wywoływania narzędzi przez agenta: dlaczego Twój agent wybiera złe narzędzie

Najlepsze praktyki wywoływania narzędzi przez agenta to jedyne, co oddziela działające demo od agenta, który po cichu wywołuje złe narzędzie na produkcji. Zespół inżynierski Anthropic zmierzył, że przepisanie jednego opisu skróciło wynik narzędzia z 206 tokenów do 72, a Claude Code ma teraz sztywny limit 25 000 tokenów na każdą odpowiedź narzędzia, bo ten wyciek jest realny. Twój agent zawodzi na cztery sposoby: złe narzędzie, złe argumenty, niekontrolowane pętle i wyciek tokenów. Każdy z nich ma poprawkę, którą wdrożysz jeszcze w tym tygodniu.

Kluczowe wnioski:

  • Wywoływanie narzędzi przez agenta zawodzi na dokładnie cztery sposoby: złe narzędzie, złe argumenty, niekontrolowane pętle i wyciek tokenów.
  • Opisy narzędzi to jedyna instrukcja, którą model widzi w momencie wyboru, więc to one naprawiają większość błędnych wywołań.
  • Płaskie schematy skrojone pod zadanie, z walidowanymi danymi wejściowymi, eliminują większość awarii argumentów.
  • Zwięzłe odpowiedzi narzędzi i pętla ewaluacji przy każdej zmianie trzymają koszt tokenów i regresje w ryzach.

Dlaczego wywoływanie narzędzi przez agenta zawodzi na produkcji?

Wywoływanie narzędzi przez agenta zawodzi na cztery sposoby: model wybiera złe narzędzie, zapisuje złe argumenty, kręci się w niekontrolowanej pętli albo traci tokeny przez rozdęte odpowiedzi. Każda awaria uderza w inny krok pętli wywołania, więc kolejność napraw ma znaczenie. Zacznij od wyboru, bo błędnie wybrane narzędzie zatruwa każdy kolejny krok.

Tryb awariiGdzie w pętli występujePraktyka, która go naprawiaNakład pracy
Złe narzędzieModel wybiera z listy narzędzi1 (opisy) + 4 (przestrzenie nazw, filtrowanie)Niski
Złe argumentyModel zapisuje JSON tool_call2 (płaskie schematy) + 6 (walidacja)Niski-średni
Niekontrolowana pętlatool_result wraca do modelu3 (atomowe narzędzia) + 7 (bramki ludzkie)Średni
Wyciek tokenówtool_result trafia do okna kontekstu5 (zwięzłe wyniki) + 8 (pętla ewaluacji)Niski-średni

Cała recepta w skrócie:

PraktykaAwaria, którą naprawiaNakład pracy
1. Pisz opisy, na których model może działaćZłe narzędzieNiski
2. Trzymaj schematy płaskie i skrojone pod zadanieZłe argumentyNiski
3. Zamykaj wieloetapowe sekwencje w atomowe narzędziaNiekontrolowane pętleŚredni
4. Dynamicznie nadawaj przestrzenie nazw, przycinaj i filtruj narzędziaZłe narzędzieŚredni
5. Zwracaj zwięzłe wyniki o wysokiej wartości sygnałuWyciek tokenówNiski
6. Waliduj każde wywołanie i spraw, by błędy uczyłyZłe argumentyŚredni
7. Bramkuj destrukcyjne akcje za potwierdzeniem człowiekaNiekontrolowane pętle, bezpieczeństwoŚredni
8. Uruchamiaj pętlę ewaluacji przy każdej zmianie narzędziaWszystkie cztery, jako regresjeŚredni

Przerób je w tej kolejności. Praktyki 1 i 2 zajmują jedno popołudnie i usuwają większość błędnych wywołań narzędzi i argumentów, które widzisz dzisiaj. Opis narzędzia to nie jest dokumentacja. To jedyna instrukcja, jaką model dostaje w momencie wyboru.

Faza 1: Zaprojektuj narzędzia, których model naprawdę potrafi użyć

Najtańsze zyski niezawodności w wywoływaniu narzędzi przez agenta siedzą w definicjach narzędzi, nie w promptach ani w wyborze modelu. Model nigdy nie czyta Twojej dokumentacji API ani README-a. Widzi nazwę, opis i schemat JSON, i na tej podstawie podejmuje decyzję. Dopracuj te trzy elementy, a trafność wyboru wzrośnie, zanim w ogóle tkniesz cokolwiek innego.

Praktyka 1: Pisz opisy, na których model może działać

Pisz opisy narzędzi jako instrukcje dla modelu, nie jako dokumentację API. Opis, który zadowala programistę ("wrapper REST na endpoint użytkowników"), nie daje modelowi niczego, na czym mógłby oprzeć decyzję. Zarówno przewodnik inżynierski Anthropic o pisaniu narzędzi, jak i ich najlepsze praktyki definicji narzędzi promują ten sam wzorzec: powiedz, kiedy użyć narzędzia, co zwraca i kiedy go NIE używać.

json
{
  "name": "get_user",
  "description": "Fetches a user profile. Use ONLY when you already have a user_id. Do NOT use to search or list users; call search_users instead. Returns name, email, plan. Errors if user_id is not a valid UUID."
}

w przeciwieństwie do wersji, którą wdraża większość zespołów:

json
{
  "name": "get_user",
  "description": "Gets a user."
}

Dwie zasady wykonują tu większość pracy. Po pierwsze, nazywaj parametry tak, by ich znaczenie było jednoznaczne: user_id, nigdy user ani id, bo user zachęca model do przekazania nazwy lub e-maila tam, gdzie należy się UUID. Po drugie, jawnie formułuj wykluczenia. "Do NOT use to search users" zapobiega większej liczbie błędnych wywołań niż dowolna ilość pozytywnego opisu, ponieważ modele mylą nakładające się narzędzia znacznie częściej, niż źle rozumieją pojedyncze, wyraźnie ograniczone narzędzia. Mechanikę po stronie dostawców, czyli jak te definicje trafiają do API OpenAI, Anthropic i Google, znajdziesz w naszym przewodniku po function calling u wielu dostawców.

Praktyka 2: Trzymaj schematy płaskie i skrojone pod zadanie

Trzymaj schematy wejściowe płaskie, z każdym polem, którego zadanie naprawdę potrzebuje, i bez tych, których nie potrzebuje. Zagnieżdżone obiekty z opcjonalnymi gałęziami to miejsce, gdzie lęgną się awarie argumentów: model musi wywnioskować strukturę, której nigdy nie widział na przykładach. Przewodnik OpenAI po function calling akceptuje dowolny JSON Schema, ale "dozwolone" nie znaczy "niezawodne".

json
{
  "name": "create_ticket",
  "parameters": {
    "type": "object",
    "properties": {
      "ticket": {
        "type": "object",
        "properties": {
          "details": {
            "type": "object",
            "properties": {
              "title": { "type": "string" },
              "meta": { "type": "object" }
            }
          }
        }
      }
    }
  }
}

Spłaszcz go do poziomu zadania:

json
{
  "name": "create_ticket",
  "parameters": {
    "type": "object",
    "properties": {
      "title": { "type": "string" },
      "priority": { "type": "string", "enum": ["low", "medium", "high"] },
      "assignee_id": { "type": "string" }
    },
    "required": ["title", "priority"]
  }
}

Wyliczenia (enum) biją wolny tekst w każdym polu o ograniczonym zbiorze wartości. Tablice required biją opcjonalne wszystko. Jeśli model prawie zawsze potrzebuje danego pola, ustaw je jako required w schemacie narzędzia, nawet gdy Twoje API nazywa je opcjonalnym. Nie odwzorowujesz swojego API. Projektujesz powierzchnię, którą jeden konkretny model potrafi poprawnie wypełnić.

Faza 2: Zarządzaj zestawem narzędzi, nie tylko narzędziami

Jakość pojedynczych narzędzi przestaje wystarczać, gdy agent nosi ich więcej niż garść, bo błędy wyboru rosną wraz z rozmiarem listy, którą czyta model.

Praktyka 3: Zamykaj wieloetapowe sekwencje API w atomowe narzędzia

Sklej każdą stałą sekwencję wywołań API w jedno atomowe narzędzie. Wpis inżynierski Anthropic podaje schedule_event i get_customer_context jako wzorzec: jedno wywołanie, które robi całą robotę, bije trzy wywołania, które agent musi za każdym razem poprawnie połączyć w łańcuch. Każde ogniwo łańcucha to kolejna tura, w której model może utknąć, błędnie spróbować ponownie albo wpaść w pętlę.

python
# What the agent does WITHOUT an atomic tool: 3 calls, 3 chances to fail
calendar = call_tool("list_calendars", {})
free = call_tool("find_free_slot", {"calendar_id": calendar["items"][0]["id"], "duration": 30})
call_tool("create_event", {"calendar_id": calendar["items"][0]["id"], "start": free["start"]})

# One atomic tool: the sequence lives in your code, not the model's head
call_tool("schedule_event", {"duration": 30, "attendees": ["[email protected]"]})

Reguła praktyczna: jeśli model musi zawsze wywołać B po A, to A i B są jednym narzędziem w dwóch kostiumach.

Praktyka 4: Dynamicznie nadawaj przestrzenie nazw, przycinaj i filtruj narzędzia

Nadawaj przestrzenie nazw każdej nazwie narzędzia i pokazuj każdemu agentowi tylko ten podzbiór, którego potrzebuje jego bieżące zadanie. Generyczne nazwy kolidują w chwili, gdy podłączysz dwie integracje. Wyobraź sobie agenta spiętego z dwoma serwerami MCP, z których każdy wystawia narzędzie o nazwie search: dwa identyczne czasowniki, żadnego sposobu, by je rozróżnić. Anthropic dokumentuje mierzalne zyski w ewaluacji dzięki prefiksom:

PrzedPo (prefiks)Po (sufiks)
searchasana_projects_searchsearch_asana_projects
createasana_tasks_createcreate_asana_tasks
search (drugi serwer)github_repos_searchsearch_github_repos

Przycinanie liczy się tak samo jak nazewnictwo. Agent wsparcia nie potrzebuje załadowanych narzędzi billingowych, gdy odpowiada na pytanie o hasło. Wzorzec planista-pracownik, w którym planista kieruje zadanie do pracownika ładującego tylko istotne narzędzia, to standardowa poprawka; how-to LangGraph o dynamicznym ładowaniu narzędzi przeprowadza przez implementację. Ile narzędzi to za dużo? Traktuj 5-10 na agenta jako zakres roboczy, nie prawo: trafność spada wraz ze wzrostem listy, a lekarstwem jest filtrowanie, nie większy model. Jeśli dopiero wybierasz warstwę routingu i filtrowania, porównaj opcje w naszym zestawieniu najlepszych bibliotek function calling.

Faza 3: Kontroluj, co wraca i co wychodzi

Pętla działa w obie strony, a większość zespołów projektuje tylko połowę wychodzącą. To, co zwracają Twoje narzędzia, decyduje, ile okna kontekstu przetrwa do następnej tury, a to, co odrzuca Twoja walidacja, decyduje, czy model uczy się na błędach, czy je powtarza.

Praktyka 5: Zwracaj zwięzłe wyniki o wysokiej wartości sygnału

Zwracaj najmniejszy wynik, na którym model może działać, z czytelnymi dla człowieka identyfikatorami zamiast surowych ID. Wpis inżynierski Anthropic opisuje narzędzie, którego domyślny wynik liczył 206 tokenów; zwięzłe ustawienie response_format ścięło ten sam wynik do 72 tokenów, czyli mniej więcej do jednej trzeciej. Pomnóż to przez dziesiątki wywołań na zadanie, a otrzymasz odpowiedź, czy Twój agent w ogóle kończy pracę.

json
// Before: 206 tokens (shape per Anthropic's documented example)
{
  "status": "success",
  "data": {
    "id": "8f14e45f-ceea-3f9c-a2f3-90c1b5e0a7d2",
    "object": "task", "created_at": "2026-07-02T09:14:00Z",
    "updated_at": "2026-07-11T16:40:12Z", "completed_at": null,
    "assignee": {"id": "c9a1...f2", "object": "user"},
    "projects": [{"id": "b7d3...91", "object": "project"}],
    "permalink": "https://app.asana.com/0/.../f"
  }
}

// After: 72 tokens
{ "task": "Fix login redirect", "assignee": "Dana Kim", "project": "Web App", "due": "2026-07-20" }

Jeszcze dwa szczegóły z tego samego źródła: Anthropic wspiera enum response_format (detailed kontra concise) w definicjach narzędzi, więc możesz zadeklarować oczekiwany kształt zamiast parsować strumień z węża strażackiego. A Claude Code ogranicza odpowiedzi narzędzi do 25 000 tokenów, czyli sztywnego sufitu, który i tak przycina rozdęte wyniki. Anthropic raportuje też, jako własne ustalenie, że rozwiązywanie UUID-ów do nazw semantycznych mierzalnie ograniczyło halucynacje przy pobieraniu danych, dlatego payload "po" powyżej mówi "Dana Kim", a nie c9a1...f2. Rozdęte odpowiedzi to także problem kosztowy; pełny obraz znajdziesz w naszym przewodniku po redukcji kosztów API LLM.

Praktyka 6: Waliduj każde wywołanie i spraw, by błędy uczyły model

Waliduj każde wywołanie narzędzia po stronie serwera i zwracaj błędy zawierające poprawkę. Artykuł Martina Fowlera o function calling ujmuje to bez ogródek: nigdy nie ufaj danym wyjściowym modelu. Model przekaże stringi tam, gdzie należy się enum, i wymyśli ID, które nie istnieją.

python
def create_ticket(args):
    if args.get("priority") not in {"low", "medium", "high"}:
        return {"error": f"priority must be one of: low, medium, high. Got '{args.get('priority')}'. Pass priority='medium' for normal issues."}
    if not is_valid_uuid(args.get("assignee_id")):
        return {"error": "assignee_id must be a UUID. Call list_team_members to get valid IDs, then retry."}
    return db.create_ticket(**args)

Komunikat błędu to cała gra. Porównaj:

text
# Unhelpful: the model retries the same bad call
{"error": "invalid input"}

# Helpful: the model knows exactly what to change
{"error": "priority must be one of: low, medium, high. Got 'urgent'. Use 'high'."}

Każdy błąd walidacji, który zwraca Twoje narzędzie, to prompt, który piszesz dla następnej próby modelu. Błędy, które nazywają ograniczenie i wskazują narzędzie naprawcze, zamieniają pętlę ponowień w jednorazową naprawę. To także Twoja pierwsza linia obrony bezpieczeństwa; nasz przewodnik po guardrailach LLM omawia to dogłębnie.

Faza 4: Jak to zabezpieczyć, a potem uczynić mierzalnym?

Bezpieczeństwo i pomiar to ta sama faza, ponieważ niezabezpieczona destrukcyjna akcja i niemierzona regresja objawiają się tak samo: jako incydenty, których nie dało się przewidzieć. Zabezpiecz bramkami akcje, których nie da się cofnąć, a potem oprzyrządowanie na wszystkim, żeby kolejna zmiana narzędzia była decyzją z dowodami, a nie nadzieją.

Praktyka 7: Bramkuj destrukcyjne akcje za potwierdzeniem człowieka

Oddziel narzędzia do odczytu od narzędzi do zapisu i postaw bramkę potwierdzenia przez człowieka na wszystkim, co destrukcyjne. Adnotacje narzędzi w specyfikacji MCP istnieją dokładnie po to: destructiveHint oznacza narzędzia wykonujące destrukcyjne aktualizacje, a openWorldHint flaguje narzędzia dotykające systemów zewnętrznych, dzięki czemu klient może zapytać przed wykonaniem. Używaj ich.

Ten tryb awarii nie jest hipotetyczny. Laurent Kubaski udokumentował przypadek w swoim opisie tool callingu z lipca 2025, z podlinkowanym oryginalnym raportem, w którym użytkownik poprosił Copilota w Excelu o działanie na wierszu 4, a agent zadziałał na wierszu 8. Żadna bramka potwierdzenia nie stała między błędnym wierszem a zapisem. Poprawką jest wzorzec, który AWS dokumentuje dla Bedrock Agents: agent przygotowuje akcję, zwraca ją do akceptacji i wykonuje dopiero po potwierdzeniu przez człowieka. Cursor robi tak samo przy edycji plików. Ograniczaj uprawnienia do odczytu tam, gdzie zadanie potrzebuje tylko odczytu, i traktuj bramki potwierdzenia jako część swojej powierzchni ataku iniekcyjnego, czyli temat naszego przewodnika po zapobieganiu prompt injection.

Praktyka 8: Uruchamiaj pętlę ewaluacji przy każdej zmianie narzędzia

Uruchamiaj mały zestaw ewaluacyjny przed i po każdej zmianie narzędzia i czytaj metryki w stałej kolejności. Przewodnik optymalizacyjny Paragon proponuje czterometrykowy układ, który warto przyjąć:

Metryka (wg Paragon)Co wyłapujeJak mierzyć
Poprawność narzędziaBłędne wywołania narzędziCzy agent wywołał właściwe narzędzie do zadania?
Trafność danych wejściowychZłe argumentyCzy argumenty były poprawne i kompletne?
Ukończenie zadaniaAwaria end-to-endCzy cel użytkownika został osiągnięty?
Wydajność zadaniaWyciek tokenów, pętleLiczba wywołań i tokenów?

Cookbook ewaluacji narzędzi Anthropic, zbudowany na realnych ewaluacjach MCP dla Slacka i Asany, pokazuje, jak wyglądają dobre i złe zadania ewaluacyjne:

text
# Weak: vague, many valid paths, impossible to score
"Use the Asana tools to organize some work."

# Strong: one correct tool, checkable arguments, binary outcome
"Create a task titled 'Renew TLS cert' in project 'Infra' assigned to [email protected], due 2026-08-15. Expect exactly one create_task call with those four fields."

Nasza interpretacja, oznaczona jako taka: opublikowane liczby podpowiadają kolejność pracy. Najpierw sprawdzaj poprawność narzędzia, bo własne pomiary Anthropic pokazują, że zmiany opisów i nazw bezpośrednio ją przesuwają (przepisanie 206 do 72 tokenów, ustalenie o halucynacjach UUID-do-nazwy), a wydajność zadania zostaw na koniec, ponieważ głównie odzwierciedla awarie, które trzy pierwsze metryki już wyłapały. Na zestaw startowy zaprojektuj 15-30 zadań, dwa lub trzy na narzędzie, każde z jednym oczekiwanym wywołaniem i binarnym warunkiem zaliczenia. Taki rozmiar wystarczy, by wyłapać regresję po przepisaniu opisu bez tygodnia etykietowania, a slackową i asanową konfigurację z cookbooka czytamy jako dowód, że tak mały zestaw jest zamierzonym punktem startu, a nie skrótem. Głębsza mechanika czeka w naszym przewodniku po ewaluacji agentów AI na produkcji, a jeśli wyniki ewaluacji mówią, że same narzędzia są w porządku, ale orkiestracja już nie, to jest moment, by ponownie przemyśleć wybór frameworku w świetle najlepszych frameworków agentów AI.

Wywoływanie narzędzi przez agenta a MCP: jaka jest różnica?

MCP to standard transportu i rejestru, nie warstwa niezawodności, więc te same osiem praktyk obowiązuje niezależnie od tego, czy narzędzia docierają przez MCP, czy są zdefiniowane inline. Natywne wywoływanie narzędzi to kontrakt z dostawcą modelu: jak model emituje tool_call i czyta tool_result. MCP standaryzuje, jak narzędzia docierają do modelu; nie robi niczego w kwestii tego, czy model wybierze właściwe.

Natywne wywoływanie narzędzi obsługujeMCP dodajeŻadne nie obsługuje
Format komunikatów tool_call / tool_resultWspólny protokół, dzięki któremu każdy klient sięgnie każdego serweraJakość opisów
Schematy specyficzne dla dostawcyWykrywanie narzędzi i rejestrProjektowanie schematów, walidacja
Negocjowanie wywołań równoległychAdnotacje takie jak destructiveHintBramki ludzkie, ewaluacje, higiena odpowiedzi

Serwer MCP wystawiający narzędzie o nazwie search z opisem "searches things" zawodzi identycznie jak funkcja inline zdefiniowana tak samo. Najpierw napraw definicję, potem martw się o transport. Nasz przewodnik po Model Context Protocol pokrywa stronę protokołu od początku do końca.

Jak Techsy stosuje tych osiem praktyk

Przy każdym projekcie agenta dla klienta wymuszamy trzy z nich, zanim cokolwiek innego trafi na produkcję: opisy pisane jako instrukcje (praktyka 1), bramki walidacji na każdym narzędziu do zapisu (praktyka 6) i zestaw ewaluacyjny uruchamiany przed wdrożeniem, a nie po incydencie (praktyka 8). Te trzy pokrywają błędne wywołania narzędzi, błędne wywołania argumentów i regresje, które przywracają jedno i drugie, a tam zaczynał się każdy incydent produkcyjny agenta, który debugowaliśmy. Pozostałe pięć praktyk dochodzi w miarę wzrostu agenta. Jeśli Twój agent wyszedł poza etap demo i wybiera złe narzędzia, umów się na bezpłatną konsultację, a powiemy Ci, którą z ośmiu praktyk naprawić najpierw.

O autorze

Mert Batur jest współzałożycielem Techsy.io, gdzie zespół wdraża agentów AI, systemy automatyzacji i pipeline'y głosowe/SDR dla klientów B2B. Pisze o stosie narzędzi LLM, którego zespół Techsy naprawdę używa na produkcji. Połącz się na LinkedIn.

Często zadawane pytania

Czym jest wywoływanie narzędzi przez agenta?

Wywoływanie narzędzi przez agenta to mechanizm, w którym LLM decyduje się wywołać zewnętrzną funkcję, emituje ustrukturyzowany tool_call i czeka, aż Twój kod zwróci tool_result, na którym może dalej rozumować. To właśnie zamienia model czatowy w agenta, który potrafi odpytywać bazy danych, wywoływać API i podejmować działania: model wybiera narzędzie i argumenty, a Twój egzekutor je uruchamia.

Jak działa pętla wywoływania narzędzi przez agenta?

Pętla ma pięć kroków: żądanie użytkownika trafia do modelu, model wybiera narzędzie i zapisuje tool_call, Twój egzekutor je uruchamia, tool_result wraca do modelu, a model albo odpowiada, albo wystawia kolejne wywołanie. Ten cykl powtarza się, aż zadanie zostanie ukończone. Cztery tryby awarii z tego przewodnika siedzą każdy w konkretnym kroku tej pętli.

Dlaczego mój agent wybiera złe narzędzie?

Zwykle dlatego, że dwa narzędzia się nakładają, a ich opisy nie mówią, które jest które. Model wybiera wyłącznie na podstawie nazw i opisów, więc "gets a user" kontra "finds users" czyta się jak zamienniki. Napraw to liniami wykluczeń ("nie używaj do wyszukiwania"), nazwami z przestrzeniami nazw i mniejszą liczbą narzędzi w kontekście. Test Kubaskiego na czterech modelach pokazał, że nawet silne modele źle routują na niejednoznacznych listach.

Jak zmusić agenta tool calling do strukturyzowania danych wyjściowych?

Ograniczaj schemat, nie prompt. Używaj enumów dla pól o ograniczonym zbiorze, tablic required dla wszystkiego, czego potrzebuje zadanie, i płaskich obiektów zamiast zagnieżdżonych. Dla odpowiedzi końcowej, a nie wywołania narzędzia, funkcje dostawców, takie jak structured outputs OpenAI i tryby tool-choice Anthropic, wymuszają konkretny kształt. Nasz przewodnik po structured outputs pokrywa obie ścieżki z kodem.

Wywoływanie narzędzi przez agenta a MCP: jaka jest różnica?

Natywne wywoływanie narzędzi to kontrakt między Twoim kodem a jednym dostawcą modelu: format komunikatów tool_call i tool_result. MCP to warstwa protokołu, która standaryzuje, jak narzędzia są wykrywane i dostarczane do dowolnego kompatybilnego klienta. MCP zmienia hydraulikę, nie niezawodność. Źle opisane narzędzie zawodzi tak samo obiema ścieżkami, co wyjaśnia nasz przewodnik po Model Context Protocol.

Ile narzędzi to za dużo dla agenta LLM?

Traktuj 5-10 narzędzi na agenta jako zakres roboczy, nie prawo. Trafność wyboru spada wraz ze wzrostem widocznej listy, szczególnie gdy nazwy lub opisy się nakładają. Lekarstwem nie jest większy model, tylko filtrowanie: ładuj wyłącznie podzbiór potrzebny bieżącemu zadaniu, używając podziału planista-pracownik. Nadawaj przestrzenie nazw wszystkiemu, żeby dwie integracje nigdy nie wystawiały jednocześnie gołego search.

Jaki model jest najlepszy do tool callingu?

Nie ma jednej odpowiedzi, a publikowane benchmarki szybko się starzeją w tej dziedzinie. Frontowe modele OpenAI, Anthropic i Google wszystkie przechodzą podstawowe zadania tool use, podczas gdy mniejsze modele sparowane z dobrze zaprojektowanymi narzędziami często kończą zadania niemal równie często za ułamek kosztu tokenów. Zbuduj zestaw ewaluacyjny 15-30 zadań z praktyki 8 i testuj kandydatów na własnych narzędziach.

Jak obniżyć koszt tokenów z tool callingu?

Przytnij to, co wraca. Zwracaj zwięzłe wyniki o wysokiej wartości sygnału zamiast surowych payloadów API: Anthropic udokumentował cięcie z 206 do 72 tokenów po jednej zmianie response_format. Rozwiązuj UUID-y do nazw, wyrzucaj pola, których model nigdy nie używa, i pamiętaj, że każdy wynik narzędzia ponownie wchodzi do okna kontekstu w każdej kolejnej turze. Mniej wywołań, dzięki atomowym narzędziom, usuwa całe wyniki z rachunku.

Jak oceniać jakość tool callingu?

Punktuj cztery metryki w kolejności: poprawność narzędzia (właściwe narzędzie?), trafność danych wejściowych (poprawne argumenty?), ukończenie zadania (cel osiągnięty?) i wydajność zadania (liczba tokenów i wywołań?). Napisz 15-30 zadań, każde oczekujące jednego konkretnego wywołania ze sprawdzalnymi argumentami i binarnym warunkiem zaliczenia. Uruchamiaj zestaw przed i po każdej zmianie narzędzia, żeby przepisanie opisu nigdy nie trafiło na produkcję bez pomiaru.

Podsumowanie

Najpierw diagnozuj, potem optymalizuj. Twój agent wybiera złe narzędzie z jednego z czterech powodów, a trzy z ośmiu praktyk powyżej, opisy, płaskie schematy i filtrowanie, naprawiają awarie wyboru, które napędzają większość incydentów produkcyjnych. Zacznij od nich, bo kosztują jedno popołudnie i to dzięki nim ten problem w ogóle da się naprawić. Trzymaj błędy walidacji informacyjne, bramkuj wszystko, co destrukcyjne, za potwierdzeniem człowieka i uruchamiaj pętlę ewaluacji przy każdej zmianie, żeby mierzyć, zanim zmienisz model. Problem złego narzędzia to nie jest problem modelu. To problem projektowania narzędzi, a projekt należy do Ciebie.

Tagi

najlepsze praktyki wywoływania narzędzi agentawywoływanie narzędzifunction callingagenci AInarzędzia LLMMCPewaluacja agentów

Udostępnij artykuł

Powiązane artykuły

Więcej w ai-machine-learning

ai-machine-learning
Aug 3, 2026

RAG vs dostrajanie: kiedy użyć którego (z realnymi liczbami)

RAG pobiera fakty w momencie zapytania; dostrajanie wypieka wiedzę w wagach modelu. Badanie arXiv cytowane 162 razy przepuściło oba przez to samo zadanie, a zwycięzca zaskakuje większość zespołów. Oto ramy decyzyjne z prawdziwą matematyką kosztów na publicznych cennikach.

14 min czytania min
Czytaj
ai-machine-learning
Aug 2, 2026

Ewaluacja wieloturowa LLM: 5 metryk, 3 frameworki, 1 workflow

Chatbot może zdać każdy test jednoturowy, a mimo to prosić użytkownika o dane, które podał trzy tury wcześniej. Ten przewodnik omawia 5 metryk wieloturowych, które wyłapują błędy konwersacji, różnice między DeepEval, RAGAS i Langfuse oraz 6-etapowy workflow, który blokuje regresje w CI.

14 min czytania min
Czytaj
ai-machine-learning
Aug 2, 2026

Najlepsze praktyki logowania LLM: 9 zasad z produkcji [2026]

Dziewięć najlepszych praktyk logowania LLM od zespołu, który stosuje je na produkcji: strukturalne rekordy JSON z 14 nazwanymi polami, anonimizacja PII przed zapisem, ślady OpenTelemetry GenAI i śledzenie kosztów per żądanie. W środku kod w Pythonie, wyliczenia kosztów przechowywania przy 1 mln żądań dziennie i porównanie narzędzi.

14 min czytania min
Czytaj
Zobacz wszystkie artykuły
Rozpocznij swój projekt

Gotowi, by zbudować coś co Cię wyróżnia?

Zamieńmy Twoją wizję w rzeczywistość. Nasz zespół jest gotowy, by pomóc Ci stworzyć oprogramowanie, które robi różnicę.

Umów 30-minutowe spotkanie wstępneZobacz nasze realizacje

Z naszej biblioteki

Umiejętności Claude

Zobacz wszystkie
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Automatyzacje AI

Zobacz wszystkie
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Z naszej biblioteki

Umiejętności Claude

Zobacz wszystkie
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Automatyzacje AI

Zobacz wszystkie
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Usługi

  • Rozwiązania Enterprise
  • Aplikacje mobilne
  • Aplikacje webowe

Rozwiązania

  • Systemy CRM
  • Integracja AI
  • Rozwiązania ERP
  • Agenci głosowi
  • Automatyzacja procesów
  • Cyberbezpieczeństwo

Biblioteka

  • Blog
  • Portfel realizacji

Społeczność

  • Automatyzacje AI
  • Umiejętności Claude

Narzędzia

  • Kalkulator kosztów aplikacji mobilnej
  • Kalkulator kosztów API OpenAI / LLM
  • Kalkulator kosztów MVP
  • Kalkulator kosztów agenta Voice AI

Firma

  • O nas
  • Partnerzy
  • Kontakt

Prawne

  • Polityka prywatności
  • Regulamin
  • Polityka cookies

Usługi

  • Rozwiązania Enterprise
  • Aplikacje mobilne
  • Aplikacje webowe

Rozwiązania

  • Systemy CRM
  • Integracja AI
  • Rozwiązania ERP
  • Agenci głosowi
  • Automatyzacja procesów
  • Cyberbezpieczeństwo

Biblioteka

  • Blog
  • Portfel realizacji

Społeczność

  • Automatyzacje AI
  • Umiejętności Claude

Narzędzia

  • Kalkulator kosztów aplikacji mobilnej
  • Kalkulator kosztów API OpenAI / LLM
  • Kalkulator kosztów MVP
  • Kalkulator kosztów agenta Voice AI

Firma

  • O nas
  • Partnerzy
  • Kontakt
PrawnePolityka prywatnościRegulaminPolityka cookies
TECHSY
© 2026 Techsy. Wszystkie prawa zastrzeżone.