Úvod
Každý AI agentový framework čelí rovnakej základnej otázke: ako spraviť LLM dobrým v niečom konkrétnom? Samotný model má široké všeobecné znalosti, ale keď potrebujete, aby vykonal kontrolu kódu, nasadil infraštruktúru alebo navigoval v Minecrafte — potrebuje špecializované inštrukcie, prístup k nástrojom a doménový kontext.
Toto je problém injektovania zručností. A každý veľký framework ho rieši inak.
Niektoré platformy všetko nahrnú do systémového promptu vopred. Iné používajú lenivé načítavanie a odhaľujú schopnosti až vtedy, keď ich agent potrebuje. Niekoľko z nich používa vektorové databázy na vyhľadávanie relevantných zručností na základe sémantickej podobnosti. Tieto rozdiely nie sú akademické — priamo ovplyvňujú náklady na tokeny, spoľahlivosť agenta a počet zručností, s ktorými agent realisticky dokáže pracovať.
Analyzovali sme 11 hlavných AI agentových platforiem, aby sme presne pochopili, kde sa zručnosti dostávajú do promptu, kedy sa načítavajú, koľko stoja tokenov a ako prežijú, keď sa kontextové okno zaplní. Toto nie je povrchné porovnanie funkcií. Preskúmali sme zdrojový kód, dokumentáciu a diagramy architektúry, aby sme zmapovali presnú mechaniku injektovania každej platformy.
Hlavná porovnávacia tabuľka
Tu je kompletný prehľad pred tým, než sa ponoríme do detailov.
Mechanika injektovania: Kde, kedy a ako
| Platforma | Bod injektovania | Kedy sa načítava | Mechanizmus |
|---|---|---|---|
| Claude Code | System-reminder (metadáta) + správa v konverzácii (telo) | Metadáta pri štarte relácie; telo pri /command alebo automatickom rozpoznaní | Framework injektuje metadáta; Skill tool načíta celé telo pri aktivácii |
| CrewAI | Prompt úlohy (pripojený pred volaním LLM) | Pri každom vykonaní úlohy cez _finalize_task_prompt() | format_skill_context() pripojí všetky telá zručností k promptu |
| LangChain Deep Agents | Systémový prompt (metadáta) + história konverzácie (telo) | Metadáta pri štarte; telo keď agent zavolá read_file() | SkillsMiddleware injektuje index; agent načíta telo cez súborový nástroj |
| OpenAI Responses API | Kontext používateľského promptu (spravovaný platformou) | Pri skill_reference v API volaní | Platforma pripojí metadáta; model prečíta celý SKILL.md pri vyvolaní |
| OpenAI Agents SDK | Definície nástrojov (odložené cez ToolSearchTool) | Názvy menných priestorov pri vytvorení; schémy pri volaní ToolSearchTool | tool_namespace() + ToolSearchTool() pre progresívne objavovanie |
| AutoGen Teachability | Modifikovaná používateľská správa (injektované vyhľadané záznamy) | Každý ťah — vyhľadávanie z vektorovej DB pred každým volaním LLM | Middleware zachytí správu, dopytuje ChromaDB, injektuje top-K zhody |
| Semantic Kernel | Schémy function-calling + obsah šablóny promptu | Všetky schémy pri štarte; obsah šablóny pri vyvolaní funkcie | kernel.add_plugin() zaregistruje všetko; kernel.invoke() vyrenderuje šablóny |
| MetaGPT | Šablóna promptu akcie (vyrenderovaná do volania LLM) | Keď _act() Role spustí konkrétnu akciu | Action.run() naformátuje PROMPT_TEMPLATE, odošle cez aask() |
| Voyager | Prompt na generovanie kódu (vyhľadaný kód zručnosti) | Pred každým generovaním kódu; vyhľadávanie podľa podobnosti embeddingov | SkillLibrary.retrieve_skills() injektuje top-5 ako few-shot príklady |
| DSPy | Skompilované few-shot ukážky v promptoch modulov Predict | Skompilované offline optimalizátorom; fixné za behu | BootstrapFewShot / MIPROv2 vyberie najlepšie ukážky; Predict ich vyrenderuje do promptu |
| SuperAGI | Schémy nástrojov v zozname nástrojov agenta | Vytvorenie agenta — všetky nástroje toolkitu zaregistrované vopred | BaseToolkit.get_tools() zaregistruje všetko ako function-calling nástroje |
| CAMEL-AI | Schémy funkcií + systémová správa role | Vytvorenie agenta — všetky nástroje zaregistrované vopred | ChatAgent(tools=[*toolkit.get_tools()]) načíta všetko pri inicializácii |
Perzistencia, tokenové náklady a trvalá prítomnosť
| Platforma | Vždy prítomné? | Perzistencia | Tokenové náklady |
|---|---|---|---|
| Claude Code | Metadáta: ÁNO. Telo: iba po aktivácii | Rozsah relácie. Pri kompakcii: znovu pripojené (5K/zručnosť, 25K limit) | ~250 znakov/metadáta zručnosti; 1 % rozpočtu kontextu |
| CrewAI | ÁNO — celé telo v každom prompte úlohy | Čerstvé injektovanie na úlohu; žiadna perzistencia medzi úlohami | Celé telo pri každom volaní. 50K znakov mäkký limit |
| LangChain Deep Agents | Metadáta: ÁNO. Telo: na vyžiadanie | Telo zostáva v histórii konverzácie; zručnosti subagenta izolované | ~100 tokenov/metadáta zručnosti; telo zaplatené raz (~3 302 tokenov) |
| OpenAI Responses API | Názov+popis: ÁNO. Celé telo: pri vyvolaní | Iba jedna API odpoveď; žiadna perzistencia medzi volaniami | Spravované platformou |
| OpenAI Agents SDK | Zoznam menných priestorov: ÁNO. Schémy: na vyžiadanie | Iba jeden beh; znovuobjavenie na reláciu | Minimálne do aktivácie |
| AutoGen Teachability | NIE — iba relevantné záznamy na ťah | Medzi reláciami cez ChromaDB; pretrvávajú neobmedzene | ~3 – 5 záznamov na ťah (variabilné) |
| Semantic Kernel | Všetky schémy: ÁNO. Šablóny: pri vyvolaní | V pamäti na inštanciu kernelu; žiadna medzireláciová perzistencia | Všetky schémy vždy prítomné |
| MetaGPT | NIE — iba šablóna aktuálnej akcie | Iba jedno vykonanie akcie | Jedna šablóna na ťah |
| Voyager | NIE — top-5 vyhľadaných na úlohu | Celoživotná perzistencia vo vektorovej DB | ~500 – 2 000 tokenov na príklad zručnosti |
| DSPy | ÁNO — skompilované ukážky zabudované | Serializovateľné do JSON; pretrvávajú medzi reláciami | Fixné po kompilácii (3 – 8 ukážok/modul) |
| SuperAGI | ÁNO — všetky schémy vždy prítomné | V rámci relácie agenta | Všetky schémy vždy prítomné |
| CAMEL-AI | ÁNO — všetky schémy + prompt role | V rámci relácie konverzácie | Všetky schémy vždy prítomné |
Čo vlastne znamená „injektovanie zručností"
Pred ponorením sa do porovnania si definujme problémový priestor. Kontextové okno AI agenta — celkový text, ktorý LLM vidí pri každom volaní — má fixnú veľkosť. Každý token inštrukcie, histórie konverzácie, definície nástroja a získaných dát súperí o miesto v tomto okne.
„Zručnosť" v kontexte agenta je akýkoľvek štruktúrovaný balík expertízy, ktorý mení správanie agenta. Môže to byť:
- Inštrukcie hovoriace agentovi, ako pristupovať ku konkrétnej doméne (pokyny pre kontrolu kódu, kontrolné zoznamy nasadenia)
- Definície nástrojov poskytujúce agentovi volateľné funkcie (API integrácie, súborové operácie)
- Few-shot príklady ukazujúce agentovi, ako vyzerá dobrý výstup
- Vyhľadané znalosti z vektorových databáz alebo externých dokumentov
Mechanizmus injektovania — kde a kedy tento obsah vstupuje do kontextu — určuje tri kľúčové vlastnosti:
- Tokenová efektívnosť: Koľko tokenov zručnosť spotrebuje a platí sa tento náklad aj vtedy, keď zručnosť nie je potrebná?
- Spoľahlivosť: Bude agent konzistentne používať zručnosť, keď je relevantná, alebo môže signál prehliadnuť?
- Škálovateľnosť: Koľko zručností môže agent využívať, kým nadmerný kontextový objem zhorší výkon?
Každý framework robí v týchto troch dimenziách iné kompromisy. Pozrime sa na každý z nich.
Spektrum injektovania: Od trvalej prítomnosti po načítanie na vyžiadanie
Naprieč všetkými 11 platformami sa prístupy k injektovaniu zručností nachádzajú na spektre od „všetko načítané vopred" po „nič sa nenačíta, kým to nie je explicitne potrebné."
Na jednom konci platformy ako CrewAI, SuperAGI a CAMEL-AI injektujú plný obsah každej aktivovanej zručnosti do každého volania LLM. Agent má vždy k dispozícii svoju kompletnú expertízu. Jednoduché, spoľahlivé, ale nákladné na tokeny.
Na druhom konci Claude Code, LangChain Deep Agents a OpenAI Responses API používajú progresívne odhaľovanie — agent vidí pri štarte iba názvy zručností a krátke popisy a plný obsah sa načítava na vyžiadanie. Efektívne, škálovateľné, ale vyžaduje, aby agent rozpoznal, kedy zručnosť potrebuje.
Uprostred AutoGen Teachability a Voyager používajú sémantické vyhľadávanie na injektovanie iba najrelevantnejších zručností na ťah, čím vytvárajú dynamický, kontextovo citlivý vzor injektovania.
A potom sú tu unikátne prístupy: DSPy kompiluje optimalizované few-shot príklady offline a natrvalo ich zabuduje do promptov modulov. MetaGPT kóduje zručnosti ako šablóny akcií, ktoré sa aktivujú len vtedy, keď konkrétna rola prejde na konkrétnu akciu.
Pozrime sa na každý podrobne.
Claude Code: Trojvrstvové progresívne odhaľovanie
Claude Code implementuje jednu z najsofistikovanejších architektúr injektovania zručností, používajúcu trojvrstvový systém progresívneho odhaľovania, ktorý vyvažuje informovanosť s tokenovou efektívnosťou.
Vrstva 1: Vždy v kontexte
Pri štarte relácie sa názov a popis každej dostupnej zručnosti injektuje do správy system-reminder — metadátového bloku, ktorý model vždy vidí. Toto stojí približne 250 znakov na zručnosť a spotrebuje asi 1 % rozpočtu kontextového okna pre všetky popisy zručností dohromady (približne 8K znakov ako záložný rozpočet, prepísateľný cez premennú prostredia SLASH_COMMAND_TOOL_CHAR_BUDGET).
Podobne sa odložené nástroje — nástroje, ktorých úplné JSON schémy ešte neboli načítané — zobrazujú ako zoznam iba názvov v blokoch system-reminder. Od verzie Claude Code v2.1.69 sú dokonca vstavané systémové nástroje ako Bash, Read, Edit, Write, Glob a Grep odložené za ToolSearch, čím sa kontext systémových nástrojov znižuje z približne 14 – 16K tokenov na zhruba 968 tokenov.
Agent vidí dosť na to, aby vedel, čo je dostupné, bez toho, aby platil tokenové náklady za plné definície.
Vrstva 2: Pri aktivácii
Keď používateľ zadá lomítkový príkaz (napr. /commit) alebo model automaticky priradí zručnosť na základe jej popisu, celé telo SKILL.md sa načíta ako správa v konverzácii cez Skill tool. Toto telo obsahuje kompletné inštrukcie — niekedy tisíce tokenov podrobného návodu.
Kľúčový detail: Najprv prebehne shell preprocessing (akékoľvek direktívy !command v súbore zručnosti sa vykonajú a ich výstup nahradí direktívu) a po načítaní telo zručnosti zostáva v konverzácii po zvyšok relácie.
Vrstva 3: Na vyžiadanie
Ďalšie zdroje — referenčné dokumenty, skripty, súbory zdrojov — sa čítajú len vtedy, keď sa model explicitne rozhodne použiť nástroj Read na prístup k nim. Tieto sa nikdy nenačítavajú automaticky.
Správanie pri kompakcii kontextu
Keď sa konverzácia priblíži k limitu kontextu a spustí sa kompakcia, Claude Code znovu pripojí naposledy vyvolané zručnosti s rozpočtom 5K tokenov na zručnosť a maximálnym kombinovaným limitom 25K. Naposledy vyvolané zručnosti majú prioritu. Staršie zručnosti môžu byť úplne vynechané.
Táto trojvrstvová architektúra znamená, že agent s 20+ dostupnými zručnosťami platí minimálne počiatočné náklady, no môže pristúpiť k plnej expertíze na ktorúkoľvek z nich v rámci jedného ťahu.
CrewAI: Plné injektovanie do každého promptu úlohy
CrewAI zaujíma opačný prístup oproti progresívnemu odhaľovaniu. Keď je zručnosť aktivovaná pre agenta, jej celý obsah sa injektuje do každého promptu úlohy, ktorú agent vykonáva.
Ako to funguje
Zručnosti v CrewAI sú samostatné adresáre, každý so súborom SKILL.md obsahujúcim YAML frontmatter (názov, popis, licencia, kompatibilita, povolené nástroje) a markdown telo. Systém zručností rozlišuje medzi zručnosťami a nástrojmi: zručnosti injektujú inštrukcie a kontext, ktoré formujú spôsob myslenia agenta, zatiaľ čo nástroje poskytujú volateľné funkcie pre akcie.
Počas inicializácie agenta Agent.set_skills() zavolá discover_skills() na skenovanie adresárov zručností na úrovni metadát a potom activate_skill() na prečítanie celých tiel zručností. V čase vykonávania úlohy _finalize_task_prompt() zavolá format_skill_context() pre každú aktivovanú zručnosť a pripojí všetok naformátovaný obsah zručností k promptu úlohy.
LLM dostane: [systémová správa] + [prompt úlohy + VŠETKY telá zručností]
Tokenové dôsledky
CrewAI ukladá mäkké varovanie pri 50 000 znakoch na zručnosť, ale žiadny tvrdý limit. Dokumentácia odporúča udržiavať zručnosti zamerané a stručné, pretože veľké promptové injekcie rozptyľujú pozornosť modelu — reálna obava vzhľadom na výskum o degradácii kontextu.
Kompromis je priamočiary: agent má vždy k dispozícii plnú expertízu (vysoká spoľahlivosť), no tokenové náklady rastú lineárne s počtom zručností na úlohu (nízka efektívnosť). Pre agentov s 1 – 2 zameranými zručnosťami to funguje dobre. Pre agentov potrebujúcich široké sady schopností to rýchlo zdražuje.
Žiadna perzistencia medzi úlohami
Každá úloha dostane čerstvé injektovanie. Nedochádza k akumulácii obsahu zručností naprieč úlohami — čo je v skutočnosti výhoda, nie chyba. Znamená to, že každá úloha začína s čistým kontextom, čím sa predchádza problémom so zastaranosťou, ktoré môže vytvoriť perzistencia na úrovni relácie.
LangChain Deep Agents: Načítanie riadené agentom cez SkillsMiddleware
LangChain Deep Agents implementuje sofistikovaný systém zručností založený na middleware, kde agent sám rozhoduje, kedy načítať plný obsah zručnosti — skutočný model progresívneho odhaľovania, kde aktiváciu riadi agent.
Tri úrovne
Úroveň 1 (Index): SkillsMiddleware pri štarte spracuje všetky frontmatter súborov SKILL.md a injektuje ľahký index do systémového promptu. Tento index obsahuje iba názvy a popisy a stojí približne 278 tokenov na zručnosť oproti 3 302 tokenom za plný obsah.
Úroveň 2 (Plný obsah): Keď agent určí, že zručnosť je relevantná, zavolá read_file() na cestu k súboru SKILL.md zručnosti. Ide o bežné volanie nástroja — framework neinjektuje telo; agent sa vedome rozhodne ho načítať. Plný obsah vstupuje do histórie konverzácie ako výsledok nástroja.
Úroveň 3 (Hĺbkový ponor): Podporné materiály, referenčné dokumenty a skripty sú prístupné len vtedy, keď ich agent explicitne prečíta.
Tokenová efektívnosť v praxi
S 12 zručnosťami progresívne odhaľovanie znižuje kontext z približne 30 000 tokenov (všetko načítané) na zhruba 600 tokenov (iba index), pričom sa rozšíri na 2 000 – 5 000, keď sa načítajú relevantné zručnosti pre konkrétnu úlohu. To je potenciálna 83 – 98 % redukcia spotreby tokenov súvisiacich so zručnosťami.
Viaceré zdroje zručností je možné vrstviť a pri kolízii názvov vyhráva posledný zdroj. Súbory nad 10 MB sa automaticky preskočia.
Kľúčový rozdiel oproti Claude Code
Zatiaľ čo Claude Code používa na spustenie načítania dedikovaný Skill tool, Deep Agents využíva existujúci nástroj agenta read_file. To znamená, že mechanizmus načítavania je transparentný — agent číta súbory zručností rovnako ako akýkoľvek iný súbor. Nevýhodou je, že neexistuje špeciálne správanie pri kompakcii: obsah zručností, ktorý vstúpi do histórie konverzácie, podlieha štandardnému orezávaniu správ LangChain bez prioritného zaobchádzania.
OpenAI Responses API a Agents SDK: Odložené načítavanie spravované platformou
OpenAI implementuje injektovanie zručností prostredníctvom dvoch odlišných, ale filozoficky zladených mechanizmov: typu nástroja tool_search v Responses API a ToolSearchTool v Agents SDK.
Responses API: tool_search
Typ nástroja tool_search (dostupný na GPT-5.4+) umožňuje vývojárom odložiť veľké nástrojové povrchy až do behu. K dispozícii sú tri stratégie odkladu:
- Individuálny odklad funkcie:
@function_tool(defer_loading=True)— model vidí názov funkcie a popis, ale schéma parametrov je odložená. Šetrí tokeny na úrovni parametrov. - Odklad menného priestoru:
tool_namespace(name=..., description=..., tools=[...])— zoskupuje funkcie pod jeden menný priestor. Model vidí iba názov a popis menného priestoru, čím výrazne šetrí tokeny. - Odklad MCP servera:
HostedMCPTool(tool_config={..., "defer_loading": True})— odkladá celé nástrojové povrchy MCP serverov.
Keď model určí, že potrebuje konkrétny nástroj, vydá volanie tool_search. API vráti 3 – 5 relevantných definícií nástrojov, injektovaných na koniec kontextového okna, aby sa zachovalo cachovanie promptov.
Agents SDK: ToolSearchTool
Agents SDK poskytuje programatický ekvivalent. Menné priestory nástrojov sa zaregistrujú, ale nenačítajú:
crm_tools = tool_namespace(
name="crm",
description="CRM management tools",
tools=[...]
)
agent = Agent(tools=[*crm_tools, ToolSearchTool()])
Za behu agent vidí iba názvy menných priestorov. Zavolá ToolSearchTool("crm") na objavenie a načítanie úplných schém a potom môže volať jednotlivé nástroje v rámci daného menného priestoru.
Žiadna perzistencia medzi požiadavkami
Každá API požiadavka je nezávislá. Objavené nástroje nepretrvávajú medzi volaniami. Toto je najbezstavovejší prístup v našom porovnaní — čistý, predvídateľný, ale vyžadujúci znovuobjavenie pri každej požiadavke, ak sa nástroje zmenia.
AutoGen Teachability: Sémantické vyhľadávanie na každý ťah
Schopnosť Teachability v AutoGen zaujíma zásadne odlišný prístup od každého iného frameworku v tomto porovnaní. Namiesto injektovania statického obsahu zručností dynamicky vyhľadáva relevantné „záznamy" z vektorovej databázy ChromaDB pri každom jednotlivom ťahu.
Cyklus vyhľadávania na každý ťah
Teachability zaregistruje hook na process_last_received_message, ktorý zachytí každú prichádzajúcu používateľskú správu predtým, než ju agent spracuje:
TextAnalyzerAgentextrahuje kľúčové koncepty z prichádzajúcej správy- Tieto koncepty sa použijú na dopytovanie ChromaDB (v predvolenom nastavení sa používajú Sentence Transformer embeddingy)
- Vyhľadá sa top-K najrelevantnejších záznamov (konfigurovateľné cez
max_num_retrievals, predvolene 10) - Vyhľadané záznamy sa pripoja k textu správy predtým, než ju agent uvidí
Kriticky dôležité je, že modifikovaná správa sa neprenáša do uloženej histórie konverzácie — ukladá sa iba pôvodná správa. Tým sa predchádza kumulácii obsahu záznamov naprieč ťahmi.
Učiaci sa cyklus
Po odpovedi LLM druhý hook analyzuje odpoveď na nové poznatky:
TextAnalyzerAgentidentifikuje nové znalosti v odpovedi- Nové záznamy sa extrahujú ako páry kľúč-hodnota (vstupný text → výstupný text)
- Tieto záznamy sa uložia do ChromaDB, dostupné pre budúce ťahy a relácie
Tým sa vytvára skutočný učiaci sa cyklus, v ktorom agent postupne akumuluje expertízu.
Medzireláciová perzistencia
AutoGen Teachability je jednou z iba troch platforiem v našom porovnaní (spolu s Voyager a DSPy), ktoré uchovávajú zručnosti medzi reláciami. Databáza ChromaDB sa nachádza na disku, čo znamená, že agent sa môže učiť z interakcií v pondelok a aplikovať tieto znalosti v piatok.
Parameter recall_threshold (predvolene 1.5) riadi, aká podobná musí byť správa uloženému záznamu na vyhľadanie, a reset_db môže vymazať celú pamäť podľa potreby.
Tokenová efektívnosť
Keďže sa na každý ťah injektujú iba relevantné záznamy (typicky 3 – 5), tokenové náklady sú prirodzene ohraničené bez ohľadu na to, aká veľká je databáza záznamov. Agent s 10 000 uloženými záznamami stále platí iba za hŕstku najrelevantnejších k aktuálnemu ťahu.
Semantic Kernel: Schémy pluginov ako vždy prítomné definície nástrojov
Semantic Kernel od Microsoftu zaujíma priamočiary prístup: pluginy sú kolekcie objektov KernelFunction zaregistrovaných v Kerneli a ich schémy sú vystavené LLM ako definície function-calling nástrojov.
Dve cesty injektovania
Function Calling: Keď je nastavené ToolCallBehavior.AutoInvokeKernelFunctions, všetky zaregistrované funkcie sa posielajú LLM ako dostupné nástroje v každej API požiadavke. LLM rozhodne, ktoré zavolať; Semantic Kernel rieši vyvolanie a smerovanie výsledkov.
Šablóny promptov: Syntax šablón Semantic Kernel ({{plugin.function}}, Handlebars alebo Liquid) umožňuje volanie funkcií inline počas renderovania promptu. Výsledky sa vkladajú priamo do textu promptu pred jeho odoslaním LLM — forma eager evaluation namiesto lenivého volania nástrojov.
Žiadne progresívne odhaľovanie
Schéma každého zaregistrovaného pluginu je zahrnutá v každom API volaní. Neexistuje vstavaný odložený loading, zoskupovanie do menných priestorov ani aktivácia na vyžiadanie. Dokumentácia explicitne odporúča importovať iba pluginy potrebné pre konkrétny scenár, aby sa znížila spotreba tokenov a nesprávne volania.
To robí Semantic Kernel jednou z najpredvídateľnejších platforiem — vždy presne viete, k čomu má agent prístup — ale obmedzuje škálovateľnosť. Agent s 50 zaregistrovanými funkciami platí plné náklady na schémy pri každom jednotlivom volaní.
Perzistencia
Registrácia pluginov je per-inštancia Kernelu a v pamäti. Neexistuje vstavaný mechanizmus na medzireláciové uchovávanie zručností.
MetaGPT: Šablóny akcií v rámci SOP založených na rolách
MetaGPT kóduje zručnosti nie ako samostatné balíky, ale ako šablóny akcií zabudované v štandardných operačných postupoch (SOP), ktoré riadia správanie role.
Architektúra Role a Action
Každá Role v MetaGPT má prefix persóny injektovaný do promptov a sadu tried Action. Každá Action obsahuje LLM proxy vyvolanú cez aask(), ktorá používa šablóny promptov v prirodzenom jazyku na štruktúrovanie volania LLM.
Keď sa spustí Role._act(), podporuje tri režimy reakcie:
"react": LLM dynamicky vyberá akcie v cykloch think-act"by_order": Akcie sa vykonávajú sekvenčne vo vopred určenom poradí"plan_and_act": Agent najprv plánuje, potom vykonáva akcie podľa plánu
Úzke injekčné okno
V každom okamihu je aktívna iba šablóna promptu aktuálnej akcie. Agent nevidí šablóny pre iné akcie — vidí iba prefix svojej role plus kontext konkrétnej akcie. Toto je najužšie injekčné okno zo všetkých frameworkov, ktoré sme skúmali.
Funkcie na parsovanie kontextu v rámci tried Action extrahujú relevantné informácie zo vstupov, takže každá akcia dostáva kurátorskú podmnožinu dostupného kontextu namiesto celej histórie konverzácie.
Jednoťahová perzistencia
Šablóna sa renderuje nanovo pri každom vykonaní akcie. Nedochádza k akumulácii ani medzireláciová perzistencia neexistuje. Tým sa každá akcia udržuje zameraná, ale agent nemôže stavať na predtým načítanom obsahu zručností v rámci jedného workflow.
Voyager: Vyhľadávanie zručností na základe embeddingov pre celoživotné učenie
Voyager, agent na prieskum Minecraftu od NVIDIA a Caltech, implementuje jednu z najelegantnejších architektúr injektovania zručností: rastúcu knižnicu overených programov vyhľadávaných podľa podobnosti embeddingov.
Knižnica zručností
Keď Voyager napíše kód, ktorý prejde sebaoverením (vygenerovaný JavaScript pre Mineflayer skutočne funguje v hre), kód a jeho dokumentačný reťazec sa uložia do vektorovej databázy. Embedding dokumentačného reťazca sa stáva kľúčom na vyhľadávanie.
Vyhľadávanie na úlohu
Pri každej novej úlohe navrhnutej automatickým kurikulom:
- Popis úlohy a spätná väzba z prostredia sa embeddujú
- Vyhľadávanie kosínovej podobnosti proti všetkým uloženým embeddingom zručností
- Vyhľadá sa top-5 najrelevantnejších zručností
- Vyhľadaný kód zručností sa zahrnie do promptu akčného agenta ako few-shot príklady
Prompt vyzerá takto:
You are a Minecraft bot. Here are some relevant skills you've learned:
// Skill: mineWoodLog
async function mineWoodLog(bot) { ... }
// Skill: craftPlanks
async function craftPlanks(bot) { ... }
Now write code to: build a wooden pickaxe
Vygenerovaný kód môže volať vyhľadané zručnosti podľa mena, čo umožňuje kompozičné budovanie zručností — komplexné správanie zostavené z jednoduchších, overených primitív.
Celoživotná perzistencia
Knižnica zručností je jadrovým mechanizmom „celoživotného učenia". Rastie počas celej životnosti agenta a nové zručnosti stavajú na starých. Na rozdiel od väčšiny frameworkov, kde zručnosti píšu ľudia, Voyagerove zručnosti sú generované, overované a ukladané samotným agentom.
Tokenové náklady sú prirodzene ohraničené: bez ohľadu na to, či knižnica obsahuje 50 alebo 5 000 zručností, každá úloha platí iba za 5 najrelevantnejších vyhľadaní.
DSPy: Skompilované few-shot príklady ako zmrazené zručnosti
DSPy zaujíma radikálne odlišný prístup od každého iného frameworku. Namiesto injektovania zručností za behu DSPy kompiluje optimálne few-shot ukážky offline a natrvalo ich zabuduje do promptov modulov.
Proces kompilácie
Dva hlavné optimalizátory riadia kompiláciu:
BootstrapFewShot: Používa učiteľský modul na generovanie stôp cez program. Stopy, ktoré prejdú používateľom definovanou metrikou, sa uchovajú ako ukážky. Každý modul dspy.Predict v rámci programu dostáva vlastnú kurátorskú sadu ukážok.
MIPROv2 (Multi-prompt Instruction Proposal Optimizer v2): Trojfázový proces:
- Bootstrap: Generovanie kandidátnych sád ukážok
- Propose: Generovanie kandidátnych textov inštrukcií, ktoré zohľadňujú distribúciu dát aj ukážky
- Search: Bayesovská optimalizácia nad kombinovaným priestorom inštrukcií x ukážok naprieč všetkými modulmi
Parametre ako max_bootstrapped_demos (generované príklady) a max_labeled_demos (z trénovacích dát) riadia, koľko príkladov skončí v prompte každého modulu.
Fixné po kompilácii
Po kompilácii sú ukážky uložené v atribúte demos každého modulu Predict a formátované do promptu pri každom volaní LLM. Za behu sa nemenia — „zručnosť" je zmrazená.
To znamená, že zručnosti DSPy sú najpredvídateľnejšie v našom porovnaní: tokenové náklady sú známe po kompilácii, medzi ťahmi nie je žiadna variancia a agent vždy vidí rovnaké ukážky. Nevýhodou je nepružnosť — na zmenu zručností musíte rekompilovať.
Perzistencia
Skompilované programy sa serializujú do JSON vrátane všetkých ukážok. Sú plne perzistentné a načítateľné naprieč reláciami, čo robí z DSPy jeden z najodolnejších mechanizmov uchovávania zručností.
SuperAGI: Registrácia na základe toolkitov vopred
SuperAGI používa tradičný vzor toolkitov, kde sa všetky nástroje registrujú pri inicializácii agenta.
Každý toolkit rozširuje BaseToolkit s:
- atribútmi
nameadescription - metódou
get_tools()vracajúcou zoznam inštanciíBaseTool get_env_keys()pre požadované premenné prostredia
Toolkity sa inštalujú z GitHub repozitárov cez správcu nástrojov SuperAGI. Pri inicializácii agenta BaseToolkit.get_tools() vráti všetky nástroje a ich kompletné schémy sú vystavené LLM ako definície function-calling.
Neexistuje odložené načítavanie, žiadne progresívne odhaľovanie a žiadne filtrovanie na ťah. Schéma každého zaregistrovaného nástroja je prítomná v každom volaní. Toto je najjednoduchší model injektovania a dobre funguje pre agentov so zameranými, malými sadami nástrojov, ale neškáluje sa na agentov potrebujúcich desiatky schopností.
CAMEL-AI: Registrácia nástrojov v ChatAgent
CAMEL-AI sleduje podobný vzor registrácie vopred. Nástroje z rôznych toolkitov (napr. MathToolkit, SearchToolkit) sa odovzdávajú ako zoznam do ChatAgent(tools=[...]) pri inicializácii.
Framework zdôrazňuje, že vlastné funkcie potrebujú jasné názvy argumentov a komplexné docstringy, aby model pochopil použitie — schéma nástroja je jediný obsah „zručnosti", ktorý model vidí. Neexistuje samostatný mechanizmus injektovania inštrukcií.
Medzi nedávne doplnky patrí podpora MCP (Model Context Protocol) cez MCPToolkit, ktorá umožňuje ChatAgent pripojenie k MCP serverom a registráciu externých nástrojov. To rozširuje dostupný nástrojový povrch, ale nemení model injektovania — všetky objavené MCP nástroje sa stále registrujú vopred.
Porovnanie naprieč platformami
Kedy sa zručnosti injektujú
| Načasovanie | Platformy | Čo sa injektuje |
|---|---|---|
| Vždy prítomné (štart relácie) | Claude Code, CrewAI, Deep Agents, Semantic Kernel, SuperAGI, CAMEL-AI, DSPy | Metadáta (názov + popis) alebo plné schémy |
| Pri aktivácii (spustené používateľom alebo agentom) | Claude Code, Deep Agents, OpenAI | Plné telo zručnosti |
| Každá úloha/ťah | CrewAI, AutoGen Teachability | Plné telo (CrewAI) alebo vyhľadané záznamy (AutoGen) |
| Pri výbere LLM | Semantic Kernel, MetaGPT | Obsah šablóny promptu |
| Pri zhode podobnosti | Voyager, AutoGen Teachability | Vyhľadaný kód alebo záznamy |
| Skompilované/fixné | DSPy | Optimalizované few-shot príklady |
Modely perzistencie
| Perzistencia | Platformy | Mechanizmus |
|---|---|---|
| Iba jeden ťah | MetaGPT, Voyager | Šablóna renderovaná na akciu / na generovanie |
| V rámci relácie | Claude Code, Deep Agents, OpenAI, Semantic Kernel | Telo zostáva v histórii správ |
| Znovu injektované pri každej úlohe | CrewAI, SuperAGI, CAMEL-AI | Pripojené nanovo pri každom vykonaní úlohy |
| Medzi reláciami (perzistentné úložisko) | AutoGen Teachability, Voyager, DSPy | Vektorová DB / skompilované moduly / knižnica zručností |
Prežitie kompakcie kontextu
| Platforma | Čo sa stane, keď sa kontext zaplní |
|---|---|
| Claude Code | Znovu pripojí najnovšie zručnosti (5K tokenov každá, 25K limit). Staršie zručnosti vynechané |
| CrewAI | N/A — injektované nanovo na úlohu, žiadna akumulácia |
| Deep Agents | Telo v histórii konverzácie, podlieha štandardnému orezávaniu LangChain |
| OpenAI | N/A — každé API volanie je nezávislé |
| AutoGen | Iba relevantné záznamy vyhľadané na ťah, prirodzene ohraničené |
| Voyager | Iba top-K zručností vyhľadaných na úlohu, prirodzene ohraničené |
Vzor progresívneho odhaľovania
Najvýznamnejší architektonický trend naprieč týmito platformami je adopcia progresívneho odhaľovania — konceptu prevzatého z UI dizajnu, kde sa informácie odhaľujú postupne na základe potreby.
Prečo záleží na progresívnom odhaľovaní
Naivný prístup k injektovaniu zručností — načítanie všetkého vopred — vytvára dva problémy:
- Plytvanie tokenmi: Väčšina zručností nie je relevantná pre väčšinu ťahov. Načítanie 20 plných tiel zručností, keď sú na ťah potrebné iba 1 – 2, plytvá 90 %+ tokenov súvisiacich so zručnosťami.
- Rozptýlenie pozornosti: Výskum degradácie kontextu ukazuje, že LLM fungujú horšie, keď ich kontext obsahuje veľké množstvo irelevantných informácií. Viac zručností v kontexte môže v skutočnosti znížiť kvalitu aplikácie zručností.
Progresívne odhaľovanie rieši oba problémy udržiavaním ľahkého indexu dostupných zručností a načítavaním plného obsahu iba keď je potrebný.
Variácie implementácie
Claude Code používa dedikovaný systém: metadáta zručností v správach system-reminder, Skill tool na aktiváciu a ToolSearch na odložené schémy nástrojov. Framework riadi injektovanie automaticky s kompakciou založenou na prioritách.
LangChain Deep Agents používa existujúcu schopnosť agenta čítať súbory: SkillsMiddleware injektuje index a agent načíta plný obsah cez read_file(). Toto je transparentnejšie, ale ponúka menej optimalizácie na úrovni frameworku.
OpenAI Responses API používa zoskupovanie na základe menných priestorov s vyhľadávaním spravovaným platformou: menné priestory nástrojov poskytujú vysokoúrovňové popisy a tool_search vracia relevantné schémy. Platforma riadi logiku vyhľadávania úplne.
Úspory tokenov v praxi
Čísla sú presvedčivé. S 12 zručnosťami:
- Trvalé injektovanie (štýl CrewAI/SuperAGI): ~30 000 tokenov
- Iba index progresívneho odhaľovania: ~600 tokenov
- Index + 2 aktivované zručnosti: ~2 000 – 5 000 tokenov
To je 83 – 98 % redukcia spotreby tokenov súvisiacich so zručnosťami na ťah. Počas dlhej relácie so stovkami ťahov sa úspory dramaticky kumulujú.
Architektonické vzory a kompromisy
Pri pohľade na všetkých 11 platforiem sa vynárajú štyri odlišné architektonické vzory:
Vzor 1: Trvalé injektovanie
Používajú: CrewAI, SuperAGI, CAMEL-AI, Semantic Kernel
Ako funguje: Plný obsah zručností alebo schémy nástrojov sú prítomné v každom volaní LLM.
Výhody:
- Maximálna spoľahlivosť — agent má vždy k dispozícii plnú expertízu
- Najjednoduchšia implementácia — žiadna aktivačná logika nie je potrebná
- Predvídateľné tokenové náklady — rovnaké pri každom ťahu
Nevýhody:
- Tokenové náklady rastú lineárne s počtom zručností
- Rozptýlenie pozornosti pri veľkom počte zručností
- Neškáluje sa nad ~5 – 10 zručností na agenta
Najlepšie pre: Zameraných agentov s 1 – 3 hlavnými zručnosťami, ktoré sú vždy relevantné.
Vzor 2: Progresívne odhaľovanie
Používajú: Claude Code, LangChain Deep Agents, OpenAI Responses API/Agents SDK
Ako funguje: Ľahké metadáta vždy prítomné; plný obsah načítaný na vyžiadanie.
Výhody:
- Škáluje sa na desiatky alebo stovky dostupných zručností
- Minimálne tokenové náklady, keď zručnosti nie sú potrebné
- Zachováva cache promptov, keď sa plné schémy pripájajú na koniec
Nevýhody:
- Agent môže prehliadnuť signál na aktiváciu relevantnej zručnosti
- Dodatočná latencia z aktivačného kroku
- Komplexnejšia implementácia frameworku
Najlepšie pre: Univerzálnych agentov, ktorí potrebujú prístup k mnohým schopnostiam, ale používajú iba niekoľko na úlohu.
Vzor 3: Sémantické vyhľadávanie
Používajú: AutoGen Teachability, Voyager
Ako funguje: Dopyty vektorovej databázy vynášajú na povrch relevantné zručnosti/znalosti na základe sémantickej podobnosti s aktuálnym kontextom.
Výhody:
- Prirodzene ohraničené tokenové náklady bez ohľadu na veľkosť knižnice
- Relevancia obsahu sa zlepšuje s rastom knižnice
- Učenie a akumulácia medzi reláciami
- Žiadna explicitná aktivácia nie je potrebná — relevancia sa vypočítava automaticky
Nevýhody:
- Kvalita vyhľadávania závisí od kvality modelu embeddingov
- Riziko vyhľadania zastaraných alebo subtílne nesprávnych informácií
- Vyžaduje infraštruktúru vektorovej databázy
- Menej predvídateľné — rôzne ťahy načítajú rôzny obsah
Najlepšie pre: Agentov, ktorí sa učia zo skúseností a potrebujú akumulovať doménové znalosti v čase.
Vzor 4: Skompilované/statické injektovanie
Používajú: DSPy, MetaGPT
Ako funguje: Zručnosti sa kompilujú do fixného obsahu promptu (DSPy) alebo sa aktivujú cez rigidné šablóny akcií (MetaGPT).
Výhody:
- Najpredvídateľnejšie správanie — rovnaký obsah zakaždým
- Optimalizácia sa dá vykonať offline (kompilácia DSPy)
- Žiadna réžia za behu na výber zručností
- Preukázaná účinnosť pre dobre definované, opakovateľné úlohy
Nevýhody:
- Nepružnosť — zmena zručností vyžaduje rekompiláciu (DSPy) alebo zmeny kódu (MetaGPT)
- Nedokáže sa adaptovať na nové situácie mimo skompilovaných príkladov
- Samotný proces kompilácie DSPy vyžaduje veľa volaní LLM
Najlepšie pre: Produkčné pipeline s dobre definovanými úlohami, kde spoľahlivosť prevažuje nad flexibilitou.
Praktické dôsledky pre tvorcov agentov
Výber správneho vzoru
Správna architektúra injektovania zručností závisí od profilu vášho agenta:
Ak má váš agent úzku, dobre definovanú rolu (napr. bot na kontrolu kódu, agent zákazníckej podpory pre jeden produkt), trvalé injektovanie (vzor CrewAI/SuperAGI) je najjednoduchšie a najspoľahlivejšie. Tokenové náklady 2 – 3 vždy prítomných zručností sú zvládnuteľné a vyhnete sa komplexnosti aktivačnej logiky.
Ak váš agent potrebuje široké schopnosti, ale používa iba niekoľko na interakciu (napr. asistent pre vývojárov, univerzálny automatizačný agent), progresívne odhaľovanie (vzor Claude Code/Deep Agents) je jednoznačným víťazom. Úspory 83 – 98 % tokenov v škále sú príliš významné na to, aby sa ignorovali.
Ak sa váš agent potrebuje učiť a zlepšovať z interakcií (napr. osobný asistent, doménový expert akumulujúci znalosti), sémantické vyhľadávanie (vzor AutoGen Teachability) poskytuje učiaci sa cyklus, ktorý ostatným vzorom chýba. Len zabezpečte kontroly kvality toho, čo vstupuje do znalostnej bázy.
Ak váš agent beží dobre definované pipeline (napr. spracovanie dát, generovanie reportov, štandardizované workflow), skompilované injektovanie (vzor DSPy) vám dáva najpredvídateľnejšie, najoptimalizovanejšie správanie.
Hybridný prístup
Pre produkčné tímy agentov, kde agenti musia fungovať priamo z krabice, odporúčame hybridný prístup:
Základné zručnosti (1 – 2 na agenta, definujúce ich primárnu doménovú expertízu): vždy injektované do systémového promptu, v štýle CrewAI. Toto sú nenahraditeľné schopnosti, ktoré agent potrebuje pri každom ťahu.
Rozšírené zručnosti (ďalšie schopnosti, ktoré agent môže potrebovať): iba metadáta v systémovom prompte, načítané cez mechanizmus vyhľadávania/načítania keď sú potrebné, v štýle Deep Agents. Tieto rozširujú sadu schopností agenta bez platenia tokenových nákladov, keď nie sú relevantné.
Naučené znalosti (akumulovaná doménová expertíza): uložené vo vektorovej databáze a sémanticky vyhľadávané na každý ťah, v štýle AutoGen. To umožňuje agentovi zlepšovať sa v čase bez manuálneho vytvárania zručností.
Táto vrstvená architektúra sa prirodzene mapuje na to, ako sa buduje systémový prompt: dátum → persóna → systémové inštrukcie → základné zručnosti → index zručností → kontext role/tímu. Základné zručnosti a index pridávajú predvídateľné, zvládnuteľné tokenové náklady, zatiaľ čo plné telá zručností sa objavujú iba keď sú potrebné.
Osvedčené postupy pre tokenový rozpočet naprieč frameworkmi
Bez ohľadu na to, ktorý vzor injektovania používate, tieto stratégie správy tokenov platia univerzálne:
Poradie priateľské ku cache
Stabilný kontext (systémové inštrukcie, schémy nástrojov) umiestňujte na začiatok promptu. U poskytovateľov podporujúcich cachovanie promptov stoja cachované tokeny o 75 % menej. Claude Code aj OpenAI injektujú objavené schémy nástrojov na koniec kontextu špecificky preto, aby zachovali cache hity na statickom prefixe.
Odľahčenie
Sumarizujte odpovede nástrojov namiesto uchovávania plných výsledkov v kontexte. Uložte kompletné dáta v externých referenciách, ku ktorým agent môže pristúpiť na vyžiadanie. Toto je obzvlášť dôležité pre agentov, ktorí robia veľa volaní nástrojov na reláciu.
Redukcia
Komprimujte históriu konverzácie prostredníctvom sumarizácie. Extrahujte kľúčové fakty z dlhých výmen do zhustených reprezentácií. Každý framework s perzistenciou na úrovni relácie profituje z agresívnej správy histórie.
Vyhľadávanie namiesto prednačítavania
Dynamicky získavajte relevantné informácie za behu namiesto načítavania všetkého vopred. Toto sa vzťahuje na zručnosti, znalostné bázy a dokonca aj na históriu konverzácie. Štúdie ukazujú, že to môže znížiť veľkosť promptov až o 70 %.
Izolácia
Používajte sub-agentov na konkrétne úlohy, aby kontext každého agenta zostal zameraný. Namiesto toho, aby ste jednému agentovi dali 20 zručností, vytvorte tím 5 agentov so 4 zručnosťami každý. Každý agent si udržiava štíhle kontextové okno a tím kolektívne pokrýva celú sadu schopností.
Záver
Spôsob, akým AI agentové frameworky injektujú zručnosti do kontextu, je jedným z najdôslednejších architektonických rozhodnutí v dizajne agentov — no zriedka sa diskutuje na tejto úrovni detailu.
Oblasť jednoznačne konverguje k progresívnemu odhaľovaniu ako preferovanému vzoru pre univerzálnych agentov, pričom Claude Code, LangChain Deep Agents a OpenAI všetci nezávisle dospeli k podobným trojúrovňovým architektúram. Medzitým špecializované vzory ako sémantické vyhľadávanie (AutoGen, Voyager) a skompilované injektovanie (DSPy) slúžia dôležitým výklenkom, ktoré samotné progresívne odhaľovanie neadresuje.
Pre praktikov budujúcich agentové systémy dnes je kľúčovým poznatkom, že injektovanie zručností nie je problém s jedným univerzálnym riešením. Správny prístup závisí od role vášho agenta, počtu zručností, ktoré potrebuje, toho, či sa potrebuje učiť v čase, a vašej tolerancie ku kompromisu medzi tokenovými nákladmi a spoľahlivosťou.
Najrobustnejšie produkčné systémy budú pravdepodobne kombinovať viacero vzorov — trvalé injektovanie pre základné schopnosti, progresívne odhaľovanie pre rozšírené zručnosti a sémantické vyhľadávanie pre akumulované znalosti — a vytvárať tak agentov, ktorí sú efektívni aj expertní zároveň.

