Základy AI
Co je volání nástrojů? Jak modely AI mění rozhodnutí v činy
Volání nástrojů umožňuje modelu umělé inteligence požádat o funkci, API, vyhledávání nebo akci pomocí strukturovaných argumentů. Tento průvodce popisuje celý cyklus používání nástrojů a vysvětluje schémata, ověřování, oprávnění i časté způsoby selhání.

Volání nástrojů je mechanismus, který modelu AI umožňuje požádat o konkrétní funkci nebo externí schopnost pomocí strukturovaných argumentů. Mění rozhodnutí modelu ve strojově čitelnou akci a umožňuje softwaru vyhledávat, počítat, načítat záznamy, spouštět kód nebo aktualizovat jiný systém, aniž by model musel danou operaci napodobovat v textu.
Volání nástrojů je základním stavebním kamenem moderních agentů AI. Model může uvažovat o tom, co by se mělo stát, ale okolní aplikace rozhoduje, zda je požadovaná akce platná, autorizovaná a provedená a zda se výsledek vrátí modelu, aby mohl učinit další rozhodnutí.
Proč modely potřebují nástroje
Jazykový model má významná omezení. Jeho naučené znalosti mají datum ukončení, nedokáže spolehlivě provádět každý výpočet, nemá automaticky přístup k soukromým ani aktuálním datům a samotným generováním textu nemůže ovlivňovat softwarové systémy.
Nástroje rozšiřují schopnosti modelu například o:
- vyhledávání aktuálních informací;
- dotazování databáze nebo znalostní báze;
- spouštění kódu nebo provádění přesných výpočtů;
- čtení a zápis souborů;
- vytváření požadavků, událostí, zpráv nebo transakcí;
- ovládání prohlížeče nebo jiného uživatelského rozhraní.
Nástroj sám o sobě modelu nepřidává znalosti. Aplikaci poskytuje kontrolovaný způsob, jak získat podklady nebo provést operaci.
Anatomie definice nástroje
Popis nástroje by měl uvádět, kdy jej použít i kdy ne. „Vyhledávat záznamy“ je nepřesné, protože model nedokáže určit, zda hledá zákazníky, dokumenty, nebo informace na veřejném webu. Formulace „Vyhledávat schválené zákaznické účty podle názvu společnosti nebo ID účtu; nepoužívat pro obecné vyhledávání na webu“ modelu poskytuje jasné hranice použití.
Aplikace popisují každý dostupný nástroj ve strukturované podobě. Definice obvykle obsahuje:
- Název: stabilní identifikátor, například
get_weathernebocreate_support_ticket. - Popis: přesné vysvětlení toho, co nástroj dělá a kdy by se měl použít.
- Vstupní schéma: povinné a nepovinné argumenty, jejich datové typy a povolené hodnoty.
- Specifikace výstupu: dokumentace výsledku nebo chybových stavů, které aplikace vrátí.
Mnohá rozhraní nástrojů používají schéma JSON nebo související typovou reprezentaci. Úzce vymezené a jednoznačné schéma snižuje pravděpodobnost, že si model vymyslí parametry nebo zkombinuje neslučitelné možnosti.
Jak funguje cyklus volání nástrojů
| Název | Stabilní identifikátor operace, o kterou může model požádat. |
|---|---|
| Vstupní schéma | Povolené argumenty, typy, povinná pole a povolené hodnoty. |
| Autorizace | Software před spuštěním ověřuje identitu, zásady, rozsah oprávnění a schválení. |
| Specifikace výstupu | Výsledek nebo výslovně uvedená chyba, které se vrátí modelu a do auditního záznamu. |
Představte si, že se uživatel zeptá: „Mám příští úterý v Manchesteru nějaké schůzky a bude pršet?“
- Aplikace poskytuje kontext. Odesílá modelu požadavek uživatele, systémové pokyny a definice vybraných nástrojů.
- Model zvolí nástroj. Může požádat o vyhledání v kalendáři s filtrem podle časového rozmezí a místa.
- Aplikace požadavek ověří. Zkontroluje název nástroje, povinné argumenty, rozsah oprávnění a obchodní pravidla.
- Běhové prostředí nástroj spustí. Zavolá kalendářní systém a vrátí odpovídající události nebo výslovné chybové hlášení.
- Model vyhodnotí výsledek. Zjistí, že v Manchesteru je schůzka, a požádá o využití nástroje pro zjištění počasí v daném městě a datu.
- Aplikace zopakuje kontroly a provedení.
- Model vytvoří konečnou odpověď. Spojí ověřené výstupy a uvede relevantní podrobnosti.
Model navrhuje volání nástrojů; aplikace je provádí. Toto rozhraní je jedním z nejdůležitějších faktů týkajících se používání nástrojů. Zabezpečené běhové prostředí nikdy nepovažuje výstup modelu automaticky za autorizovaný kód.
Volbu nástroje lze provádět automaticky nebo ji omezit
Aplikace může modelu umožnit rozhodnout, zda je nástroj potřeba, vyžadovat použití konkrétního nástroje, omezit výběr na určitou podmnožinu nebo zakázat používání nástrojů pro danou odpověď. Každá z těchto možností se hodí pro jiné pracovní postupy.
Automatický výběr umožňuje vytvářet flexibilní asistenty. Povinný výběr se hodí pro úlohy, jako je strukturovaná extrakce, při níž by měl každý požadavek projít konkrétní funkcí. Omezení dostupné nabídky snižuje riziko záměny i bezpečnostní rizika: při čtení faktury není třeba mít přístup k nástroji pro odesílání e-mailů.
Volání nástrojů vs. strukturovaný výstup
Obě funkce po modelu požadují, aby vytvářel data odpovídající schématu, ale jejich účel se liší.
Strukturovaný výstup formátuje odpověď modelu pro aplikaci — například extrahuje název produktu, množství a klasifikaci rizika. Volání nástrojů požaduje, aby aplikace provedla operaci a vrátila její výsledek.
Strukturovaný výsledek může interakci ukončit. Volání nástroje obvykle pokračuje v cyklu: požadavek, provedení, vyhodnocení výsledku a nové rozhodnutí.
Volání nástrojů vs. API
API je rozhraní, které software používá ke komunikaci s jiným systémem. Volání nástrojů představuje rozhodovací vrstvu určenou modelu, která vybírá operaci a předává její argumenty. Implementace nástroje často obaluje API, může však také obalovat databázový dotaz, lokální funkci, program příkazového řádku nebo akci v uživatelském rozhraní.
Nejlepší nástroje obvykle nezpřístupňují přímo celé komplexní API. Nabízejí operace zaměřené na konkrétní úlohy, s jasně vymezeným významem, omezeným rozsahem a výsledky, kterým model dokáže porozumět. Možnost „Vrátit objednávku“ s ověřenými vstupy pro kontrolu souladu s pravidly je bezpečnější a snáze použitelná než obecný nástroj pro odesílání požadavků, který může volat libovolný koncový bod.
Co dělá z nástroje pro AI dobrý nástroj?
Jasný účel. Název a popis by měly nástroj odlišovat od podobných funkcí. Překrývající se nástroje vedou k nekonzistentnímu výběru.
Malé, typované vstupy. Povinná pole by měla být výslovně uvedena a omezené hodnoty by měly podle možností používat výčtové typy. Nenuťte model sestavovat rozsáhlé a náchylné k chybám datové struktury.
Užitečné výstupy. Vracejte dostatek informací pro další rozhodnutí, včetně stabilních identifikátorů a výslovného stavu úspěchu či neúspěchu. Neskrývejte částečné selhání za příjemně znějící zprávu.
Idempotence, kdykoli je to možné. Opakování operace určené pouze ke čtení je obvykle bezpečné; opakované provedení platby nebo odeslání zprávy může danou akci zdvojit. Nástroje s významným dopadem by měly používat idempotentní klíče nebo jiný ochranný mechanismus.
Omezená oprávnění. Nástroj pro vyhledávání s přístupem pouze pro čtení by neměl mít oprávnění k zápisu. Přihlašovací údaje a autorizace patří do běhového prostředí, nikoli do promptu.
Častá selhání při volání nástrojů
Opakované pokusy vyžadují vlastní pravidla. Opakování vyhledávání, které pouze čte data, může být neškodné; opakování platby nebo volání nástroje pro odesílání zpráv může způsobit duplicitní nevratnou akci. Klíče idempotence, identifikátory transakcí a jednoznačné stavy potvrzení umožňují běhovému prostředí zjistit, zda první pokus selhal, nebo pouze nevrátil odpověď.
- Špatný nástroj: model zvolí schopnost s podobným popisem.
- Neplatné argumenty: chybí povinné pole, má nesprávný formát nebo je z hlediska významu nemožné.
- Halucinovaný výsledek: model odpoví, jako by byl nástroj úspěšně použit, aniž by počkal na výsledek.
- Nejednoznačné chyby: nástroj vrátí prázdný výstup a model to vyhodnotí jako „nenalezeny žádné záznamy“.
- Nebezpečné řetězení: nedůvěryhodný obsah z jednoho nástroje přesvědčí model, aby nevhodně zavolal jiný nástroj.
- Duplicitní vedlejší účinky: po vypršení časového limitu dojde k opakování pokusu, přestože první akce už proběhla úspěšně.
- Přetížení nástroji: příliš mnoho nerelevantních definic snižuje přesnost výběru a zabírá kontext.
Oprávnění a schvalování člověkem
Nástroje lze rozdělit podle míry rizika. Načítání dat pouze pro čtení může probíhat automaticky v omezeném rozsahu dat. Návrhy nebo navrhované změny, které lze vzít zpět, lze provádět se zaznamenáváním průběhu. U externích, finančních, destruktivních nebo právně významných akcí by měl být zpravidla vyžadován krok schválení.
Schválení musí být informované. Rozhraní pro potvrzení by mělo zobrazovat přesnou akci, její cíl, důležité parametry a pravděpodobné důsledky. Otázka „Povolit nástroj?“ nestačí, pokud nástroj odešle e-mail 5 000 příjemcům nebo smaže produkční prostředek.
Přehled společnosti OpenAI o nástrojích pro vytváření agentů zdůrazňuje, že používání nástrojů má být součástí agentní platformy s trasováním a možností sledovat její činnost. Související kontrolní mechanismy nejsou volitelné doplňky; právě díky nim lze akce vybrané modelem bezpečně provozovat.
Jak vyhodnocovat používání nástrojů
Výběr nástroje, argumenty, provedení, interpretaci a konečné splnění úkolu vyhodnocujte samostatně. Model může vybrat správný nástroj, ale vyplnit nesprávné pole, nebo může obdržet správný výsledek a vyvodit z něj chybný závěr. Zaznamenávání celého průběhu zviditelňuje jednotlivé druhy selhání a brání tomu, aby přesvědčivá závěrečná odpověď zakryla nebezpečné nebo neefektivní chování.
Závěrečná odpověď může působit správně, i když agent zvolil neefektivní nebo nebezpečný postup. Vyhodnocení by proto mělo zahrnovat výsledky i průběh.
Mezi užitečné metriky patří přesnost výběru nástroje, platnost argumentů, dokončení úkolu, počet volání, latence, náklady, zotavení po chybách, zbytečný přístup k citlivým údajům, duplicitní vedlejší účinky a dodržování pravidel schvalování. Provádějte opakované testy, protože chování modelu se může měnit.
Jak číst diagramy volání nástrojů
Diagramy volání nástrojů čtěte od očíslovaného vstupu směrem k pozorovatelnému výsledku. Srovnání vymezuje hranici, která odlišuje volání nástrojů od jeho nejbližší zkratky, zatímco řídicí cesta ukazuje, kde je nutné ověřit oprávnění nebo nejistotu, než dojde k důsledku v reálném světě. Popisky zůstávají běžným responzivním textem stránky, takže je lze překládat a jejich řádky se mohou na telefonu zalamovat a přeskupovat.
U článku Co je volání nástrojů? Jak modely umělé inteligence mění rozhodnutí v činy je vizuální znázornění mapou, nikoli zárukou. Skutečná implementace může sloučit jednotlivé fáze, některý krok opakovat nebo přidat hranici vyžadující schválení člověkem. Podstatné je, zda tým dokáže v nasazeném systému rozpoznat tytéž funkce, určit odpovědnou osobu pro každou hranici a otestovat přechody mezi nimi. Pokud některou fázi nelze sledovat ani měřit, bude obtížné diagnostikovat případná selhání.
Co si zapamatovat o volání nástrojů
Volání nástrojů propojuje úsudek modelu s akcemi softwaru. Model rozpozná určitou schopnost a navrhne strukturované vstupy; aplikace je ověří, schválí, provede a vrátí výsledek.
Dobře navržené nástroje umožňují systémům umělé inteligence pracovat s aktuálnějšími informacemi, být schopnější a užitečnější. Špatně navržené nástroje mění běžné chyby modelu ve vnější důsledky. Rozhodující inženýrská práce spočívá ve schématech, oprávněních, zpracování chyb, sledovatelnosti a hranicích provádění akcí.












