Myslitelé

Průvodce pochopením, vývoji a optimalizaci agentů volajících API

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Rolí umělé inteligence v technologických společnostech se rychle vyvíjí; případy použití AI se změnily z pasivního zpracování informací na proaktivní agenty schopné vykonávat úkoly. Podle březnového průzkumu z roku 2025 o globálním přijetí AI provedeného Georgian a NewtonX používá nebo plánuje použít agentic AI 91 % technických ředitelů ve fázích růstu a podnikových společnostech.

Agenti volající API jsou primárním příkladem tohoto posunu k agentům. Agenti volající API využívají velké jazykové modely (LLM) k interakci se softwarovými systémy prostřednictvím jejich rozhraní pro programování aplikací (API).

Například překlad přirozených jazykových příkazů na přesné volání API může agent získávat data v reálném čase, automatizovat rutinní úkoly nebo dokonce ovládat jiné softwarové systémy. Tato schopnost transformuje agenty AI na užitečné zprostředkovatele mezi lidským záměrem a softwarovými funkcemi.

Společnosti目前 používají agenty volající API v různých doménách, včetně:

  • Aplikace pro spotřebitele: Asistenti jako Apple’s Siri nebo Amazon’s Alexa byli navrženi tak, aby zjednodušili denní úkoly, jako je ovládání inteligentních domácích zařízení a rezervace.
  • Podnikové pracovní postupy: Podniky nasadily agenty API pro automatizaci opakujících se úkolů, jako je získání dat z CRM, generování zpráv nebo konsolidace informací z interních systémů.
  • Získávání a analýza dat: Podniky používají agenty API pro zjednodušení přístupu k vlastním datovým sadám, předplatným zdrojům a veřejným API, aby získaly přehledy.

V tomto článku budu používat inženýrský přístup k pochopení, vývoji a optimalizaci agentů volajících API. Materiál v tomto článku je založen částečně na praktickém výzkumu a vývoji provedeném laboratoří AI Georgian.

Motivační otázkou pro většinu výzkumu laboratoře AI v oblasti agentů volajících API byla: “Pokud má organizace API, jak je nejlépe postavit agenta, který může komunikovat s tímto API pomocí přirozeného jazyka?”

Vysvětlím, jak agenti volající API fungují a jak úspěšně navrhnout a inženýrsky vyvinout tyto agenty pro výkon. Nakonec poskytnu systematický pracovní postup, který inženýrské týmy mohou použít k implementaci agentů volajících API.

I. Klíčová definice:

  • API nebo rozhraní pro programování aplikací: Sada pravidel a protokolů, které umožňují komunikaci a výměnu informací mezi různými softwarovými aplikacemi.
  • Agent: Systém AI navržený tak, aby vnímal své prostředí, činil rozhodnutí a činil akce k dosažení konkrétních cílů.
  • Agent volající API: Specializovaný agent AI, který překládá přirozené jazykové instrukce na přesná volání API.
  • Agent generující kód: Systém AI, který pomáhá při vývoji softwaru psaním, modifikací a laděním kódu. Ačkoli je to související, můj hlavní zaměřením zde je primárně na agenty, kteří volají API, i když AI může také pomoci vybudovat tyto agenty.
  • MCP (Model Context Protocol): Protokol, zejména vyvinutý Anthropic, který definuje, jak LLM může připojit a využít externí nástroje a zdroje dat.

II. Základní úkol: Překlad přirozeného jazyka do akcí API

Základní funkcí agenta volajícího API je interpretovat požadavky uživatele v přirozeném jazyce a převést je na jedno nebo více přesných volání API. Tento proces obvykle zahrnuje:

  1. Rozpoznání záměru: Porozumění cíli uživatele, i když je vyjádřen dvojznačně.
  2. Výběr nástroje: Identifikace příslušného koncového bodu API (nebo “nástrojů”) z dostupných možností, které mohou splnit záměr.
  3. Extrahování parametrů: Identifikace a extrahování nezbytných parametrů pro vybraná volání API z dotazu uživatele.
  4. Spuštění a generování odpovědi: Volání API, přijetí odpovědi a poté syntéza této informace do srozumitelné odpovědi nebo provedení další akce.

Při požadavku jako “Hey Siri, jaké je počasí dnes?” musí agent identifikovat potřebu volat API počasí, určit aktuální polohu uživatele (nebo umožnit specifikaci polohy) a poté formulovat volání API pro získání informací o počasí.

Příklad volání API pro požadavek “Hey Siri, jaké je počasí dnes?” by mohl vypadat takto:

GET /v1/počasí?location=New%20York&units=metric

Počáteční vysoké úrovně výzev jsou inherentní v tomto procesu překladu, včetně dvojznačnosti přirozeného jazyka a potřeby, aby agent udržel kontext napříč interakcemi s více kroky.

Například agent musí často “pamatovat” předchozí části konverzace nebo předchozí výsledky volání API, aby informoval aktuální akce. Ztráta kontextu je běžným selháním, pokud není explicitně spravována.

III. Architektura řešení: Klíčové komponenty a protokoly

Stavba efektivních agentů volajících API vyžaduje strukturovaný architektonický přístup.

1. Definice “nástrojů” pro agenta

Pro LLM, aby mohlo použít API, musí být schopnosti API popsány způsobem, který LLM rozumí. Každý koncový bod API nebo funkce je často reprezentován jako “nástroj”. Robustní definice nástroje zahrnuje:

  • Čistý, přirozený jazykový popis účelu a funkcionality nástroje.
  • Přesné specifikace vstupních parametrů (název, typ, zda je vyžadován nebo volitelný a popis).
  • Popis výstupu nebo dat, která nástroj vrátí.

2. Role Model Context Protocol (MCP)

MCP je kritickým umožňujícím faktorem pro standardizovanější a robustnější použití nástrojů LLM. Poskytuje strukturovaný formát pro definování, jak modely mohou připojit a využít externí nástroje a zdroje dat.

Standardizace MCP je výhodná, protože usnadňuje integraci různých nástrojů, podporuje opakované použití definic nástrojů napříč různými agenty nebo modely. Kromě toho je to nejlepší praxe pro inženýrské týmy, začínající s dobře definovanými specifikacemi API, jako je specifikace OpenAPI. Nástroje jako Stainless.ai jsou navrženy tak, aby pomáhaly převést tyto specifikace OpenAPI na konfigurace MCP, což zjednodušuje proces “připravenosti agenta” pro API.

3. Rámcové agenta a implementační volby

Několik rámců může pomoci při budování samotného agenta. Tyto zahrnují:

  • Pydantic: Ačkoli není výhradně rámcem agenta, Pydantic je užitečný pro definování datových struktur a zajišťování bezpečnosti typu pro vstupní a výstupní údaje nástrojů, což je důležité pro spolehlivost. Mnoho vlastních implementací agentů využívá Pydantic pro tuto strukturální integritu.
  • Agent mcp_lastmile: Tento rámec je speciálně navržen pro práci s MCP, nabízí více strukturovaný názor, který se shoduje s postupy pro budování efektivních agentů, jak je popsáno v výzkumu z míst, jako je Anthropic.
  • Vnitřní rámec: Je také stále častěji používán AI generující agenty (pomocí nástrojů, jako je Cursor nebo Cline) k pomoci psát kód pro agenta, jeho nástroje a okolní logiku. Zkušenosti laboratoře AI Georgian s prací se společnostmi na implementacích agentic ukazují, že to může být skvělé pro vytváření velmi minimálních, vlastních rámců.

IV. Inženýrství pro spolehlivost a výkon

Zajištění toho, aby agent volal API spolehlivě a vykonal se dobře, vyžaduje soustředěný inženýrský úsilí. Dvě způsoby, jak toho dosáhnout, jsou (1) vytvoření a validace datové sady a (2) inženýrství a optimalizace podnětů.

1. Vytvoření a validace datové sady

Školení (pokud je aplikovatelné), testování a optimalizace agenta vyžaduje kvalitní datovou sadu. Tato datová sada by měla sestávat z reprezentativních dotazů v přirozeném jazyce a jejich odpovídajících požadovaných sekvencí volání API nebo výsledků.

  • Ruční vytvoření: Ruční kurace datové sady zajišťuje vysokou přesnost a relevanci, ale může být časově náročné.
  • Syntetická generace: Generování dat programově nebo pomocí LLM může škálovat tvorbu datové sady, ale tento přístup představuje významné výzvy. Výzkum laboratoře AI Georgian zjistil, že zajištění správnosti a realistické složitosti synteticky generovaných volání API a dotazů je velmi obtížné. Často byly generované otázky příliš triviální nebo nemožně složité, což ztěžovalo měření jemného výkonu agenta. Péčlivé ověření syntetických dat je absolutně kritické.

Pro kritické hodnocení je menší, vysoce kvalitní, ručně ověřená datová sada často poskytují spolehlivější informace než velká, hlučná syntetická.

2. Inženýrství a optimalizace podnětů

Výkon agenta založeného na LLM je silně ovlivněn podněty, které řídí jeho uvažování a výběr nástrojů.

  • Účinné podněty zahrnují jasnou definici úkolu agenta, poskytování popisů dostupných nástrojů a strukturování podnětu pro podporu přesné extrakce parametrů.
  • Systematická optimalizace pomocí rámců, jako je DSPy, může výrazně zlepšit výkon. DSPy umožňuje definovat komponenty agenta (například moduly pro generování myšlenek, výběr nástrojů, formátování parametrů) a poté používá kompilátorový přístup s několika ukázkami z datové sady pro nalezení optimalizovaných podnětů nebo konfigurací pro tyto komponenty.

V. Doporučená cesta k efektivnímu agentovi API

Vývoj robustních agentů volajících API je iterativní inženýrská disciplína. Na základě výsledků výzkumu laboratoře AI Georgian lze výsledky výrazně zlepšit pomocí systematického pracovního postupu, jako je:

  1. Začít s jasnými definicemi API: Začít s dobře strukturovanými specifikacemi OpenAPI pro API, se kterými bude agent interagovat.
  2. Standardizace přístupu k nástrojům: Převést specifikace OpenAPI na MCP. Nástroje, jako je Stainless.ai, mohou usnadnit tento proces, vytvářet standardizovaný způsob, jakým agent rozumí a používá API.
  3. Implementace agenta: Vybrat vhodný rámec nebo přístup. To může zahrnovat použití Pydantic pro modelování dat v rámci vlastního strukturovaného agenta nebo využití rámce, jako je Agent mcp_lastmile, který je postaven kolem MCP.
  4. Kurace kvalitní datové sady: Ručně vytvořit nebo pečlivě ověřit datovou sadu dotazů a očekávaných interakcí API. To je kritické pro spolehlivé testování a optimalizaci.
  5. Optimalizace podnětů a logiky agenta: Využít rámce, jako je DSPy, pro rafinaci podnětů agenta a vnitřní logiky, pomocí datové sady pro řízení zlepšení přesnosti a spolehlivosti.

VI. Ilustrativní příklad pracovního postupu

Zde je zjednodušený příklad ilustrující doporučený pracovní postup pro stavbu agenta volajícího API:

Krok 1: Začít s jasnými definicemi API

Představte si API pro správu jednoduchého seznamu úkolů, definovaného v OpenAPI:

openapi: 3.0.0

info:

title: Seznam úkolů API

verze: 1.0.0

cesty:

/úkoly:

post:

shrnutí: Přidat nový úkol

text těla:

požadováno: true

obsah:

application/json:

schéma:

typ: objekt

vlastnosti:

popis:

typ: řetězec

odpovědi:

‘201’:

popis: Úkol vytvořen úspěšně

get:

shrnutí: Získat všechny úkoly

odpovědi:

‘200’:

popis: Seznam úkolů

Krok 2: Standardizace přístupu k nástrojům

Převést specifikaci OpenAPI na konfigurace Model Context Protocol (MCP). Pomocí nástroje, jako je Stainless.ai, by to mohlo vyústit v:

Název nástroje Popis Vstupní parametry Popis výstupu
Přidat úkol Přidá nový úkol do seznamu úkolů. `popis` (řetězec, požadováno): Popis úkolu. Potvrzení o vytvoření úkolu.
Získat úkoly Získává všechny úkoly ze seznamu úkolů. Žádné Seznam úkolů s jejich popisy.

Krok 3: Implementace agenta

Použití Pydantic pro modelování dat, vytvořte funkce odpovídající nástrojům MCP. Poté použijte LLM k interpretaci dotazů v přirozeném jazyce a výběru příslušného nástroje a parametrů.

Krok 4: Kurace kvalitní datové sady

Vytvořte datovou sadu:

Dotaz Očekávané volání API Očekávaný výsledek
“Přidat ‘Koupit potraviny’ do mého seznamu.” `Přidat úkol` s `popis` = “Koupit potraviny” Potvrzení o vytvoření úkolu
“Co je na mém seznamu?” `Získat úkoly` Seznam úkolů, včetně “Koupit potraviny”

Krok 5: Optimalizace podnětů a logiky agenta

Použijte DSPy k rafinaci podnětů, zaměřením se na jasnou instrukci, výběr nástrojů a extrakci parametrů pomocí kurované datové sady pro hodnocení a zlepšení.

Integrací těchto stavebních bloků – od strukturovaných definic API a standardizovaných protokolů nástrojů až po přísné postupy pro data a systematickou optimalizaci – inženýrské týmy mohou budovat schopnější, spolehlivější a udržovatelnější agenty volající API.

Rodrigo Ceballos Lentini je AI Tech Lead v Georgian’s AI Lab, kde pomáhá portfoliu společností dosáhnout hmatatelných výsledků z generativních a agentic AI projektů. Rodrigo má magisterský titul v oboru Neuronových systémů a výpočtu se zaměřením na počítačové vidění z ETH Zürich.