Cum implementeaza efectiv agentii AI abilitatile: comparatie completa intre platforme
Analiza detaliata a mecanismelor de injectare ale celor 11 platforme de agenti AI: unde ajung abilitatile in prompt, cand se incarca, cat costa in token-uri si cum supravietuiesc compactarii contextului.
AI Agents
LLM
Context Management
Agent Frameworks
Automation
AI Development
Fiecare framework de agenti AI se confrunta cu aceeasi intrebare fundamentala: cum faci un LLM bun la ceva specific? Modelul in sine are cunostinte generale vaste, dar cand ai nevoie ca acesta sa faca o revizuire de cod, sa implementeze infrastructura sau sa navigheze in Minecraft — are nevoie de instructiuni specializate, acces la instrumente si context de domeniu.
Aceasta este problema injectarii abilitatilor. Si fiecare framework major o rezolva diferit.
Unele platforme incarca totul in prompt-ul de sistem de la inceput. Altele folosesc incarcarea lenta, dezvaluind capacitatile doar cand agentul are nevoie de ele. Cateva folosesc baze de date vectoriale pentru a recupera abilitati relevante pe baza similaritatii semantice. Diferentele nu sunt academice — afecteaza direct costurile de token-uri, fiabilitatea agentului si cate abilitati poate gestiona realist un agent.
Am analizat 11 platforme majore de agenti AI pentru a intelege exact unde ajung abilitatile in prompt, cand se incarca, cat costa in token-uri si cum supravietuiesc cand fereastra de context se umple. Aceasta nu este o comparatie superficiala de functionalitati. Am analizat codul sursa, documentatia si diagramele de arhitectura pentru a cartografia mecanismele precise de injectare ale fiecarei platforme.
Tabelul comparativ principal
Iata prezentarea completa inainte de a intra in detalii.
Inainte de a intra in comparatie, sa definim spatiul problemei. Fereastra de context a unui agent AI — textul total pe care LLM-ul il vede la fiecare apel — are o dimensiune fixa. Fiecare token de instructiune, istoric de conversatie, definitie de instrument si date recuperate concureaza pentru spatiu in acea fereastra.
O „abilitate" in contextul agentului este orice pachet structurat de expertiza care schimba modul in care agentul se comporta. Aceasta poate fi:
Instructiuni care ii spun agentului cum sa abordeze un domeniu specific (ghiduri de revizuire cod, liste de verificare pentru implementare)
Definitii de instrumente care ofera agentului functii apelabile (integrari API, operatiuni cu fisiere)
Exemple few-shot care ii arata agentului cum arata o iesire buna
Cunostinte recuperate din baze de date vectoriale sau documente externe
Mecanismul de injectare — unde si cand intra acest continut in context — determina trei proprietati critice:
Eficienta token-urilor: Cate token-uri consuma abilitatea si este acest cost platit chiar si cand abilitatea nu este necesara?
Fiabilitate: Va folosi agentul in mod constant abilitatea cand este relevanta, sau ar putea rata indiciul?
Scalabilitate: Cate abilitati poate accesa agentul inainte ca supraincarcarea contextului sa degradeze performanta?
Fiecare framework face compromisuri diferite pe aceste trei dimensiuni. Sa le examinam pe fiecare.
Spectrul injectarii: de la permanent activ la la cerere
Pe toate cele 11 platforme, abordarile de injectare a abilitatilor se situeaza de-a lungul unui spectru de la „totul incarcat din start" la „nimic incarcat pana nu este cerut explicit".
La un capat, platforme precum CrewAI, SuperAGI si CAMEL-AI injecteaza continutul complet al fiecarei abilitati activate in fiecare apel LLM. Agentul are intotdeauna expertiza completa disponibila. Simplu, fiabil, dar costisitor in token-uri.
La celalalt capat, Claude Code, LangChain Deep Agents si OpenAI Responses API folosesc dezvaluirea progresiva — agentul vede doar numele si scurte descrieri ale abilitatilor la pornire, iar continutul complet se incarca la cerere. Eficient, scalabil, dar necesita ca agentul sa recunoasca cand are nevoie de o abilitate.
La mijloc, AutoGen Teachability si Voyager folosesc recuperarea semantica pentru a injecta doar cele mai relevante abilitati per tura, creand un model de injectare dinamic, sensibil la context.
Si apoi sunt abordari unice: DSPy compileaza exemple few-shot optimizate offline si le integreaza permanent in prompt-urile modulelor. MetaGPT codifica abilitatile ca sabloane de actiune care se activeaza doar cand un rol specific trece la o actiune specifica.
Sa examinam fiecare in detaliu.
Abonează-te la newsletter-ul nostru
Primește cele mai recente sfaturi, tendințe și oferte gratuit.
Claude Code: dezvaluire progresiva pe trei niveluri
Claude Code implementeaza una dintre cele mai sofisticate arhitecturi de injectare a abilitatilor, folosind un sistem de dezvaluire progresiva pe trei niveluri care echilibreaza constientizarea cu eficienta token-urilor.
Nivelul 1: mereu in context
La inceputul sesiunii, numele si descrierea fiecarei abilitati disponibile sunt injectate intr-un mesajsystem-reminder — un bloc de metadate pe care modelul il vede intotdeauna. Aceasta costa aproximativ 250 de caractere per abilitate, consumand circa 1% din bugetul ferestrei de context pentru toate descrierile de abilitati combinate (aproximativ 8K caractere ca buget de rezerva, configurabil prin variabila de mediu SLASH_COMMAND_TOOL_CHAR_BUDGET).
In mod similar, instrumentele amanate — instrumente ale caror scheme JSON complete nu au fost inca incarcate — apar ca o lista doar de nume in blocurile system-reminder. Incepand cu Claude Code v2.1.69, chiar si instrumentele de sistem integrate precum Bash, Read, Edit, Write, Glob si Grep sunt amanate prin ToolSearch, reducand contextul instrumentelor de sistem de la aproximativ 14-16K token-uri la circa 968 token-uri.
Agentul vede suficient pentru a sti ce este disponibil fara a plati costul in token-uri al definitiilor complete.
Nivelul 2: la activare
Cand un utilizator tasteaza o comanda slash (de ex., /commit) sau modelul potriveste automat o abilitate pe baza descrierii sale, corpul complet SKILL.md este incarcat ca mesaj de conversatie prin instrumentul Skill. Acest corp contine instructiunile complete — uneori mii de token-uri de ghidare detaliata.
Detaliu important: preprocesarea shell ruleaza prima (orice directive !command din fisierul de abilitati se executa si iesirea lor inlocuieste directiva), iar odata incarcat, corpul abilitatii ramane in conversatie pentru restul sesiunii.
Nivelul 3: la cerere
Resursele suplimentare — documente de referinta, scripturi, fisiere de resurse — sunt citite doar cand modelul decide explicit sa foloseasca instrumentul Read pentru a le accesa. Acestea nu se incarca niciodata automat.
Comportamentul la compactarea contextului
Cand conversatia se apropie de limita de context si se declanseaza compactarea, Claude Code reataseaza cele mai recent invocate abilitati cu un buget de 5K token-uri per abilitate si un maxim combinat de 25K. Abilitatile invocate cel mai recent au prioritate. Abilitatile mai vechi pot fi eliminate complet.
Aceasta arhitectura pe trei niveluri inseamna ca un agent cu 20+ abilitati disponibile plateste un cost initial minim, dar poate accesa expertiza completa pe oricare dintre ele intr-o singura tura.
CrewAI: injectare completa in fiecare prompt de sarcina
CrewAI adopta abordarea opusa dezvaluirii progresive. Cand o abilitate este activata pentru un agent, continutul sau complet este injectat in fiecare prompt de sarcina pe care agentul il executa.
Cum functioneaza
Abilitatile in CrewAI sunt directoare autonome, fiecare cu un fisier SKILL.md continand frontmatter YAML (nume, descriere, licenta, compatibilitate, instrumente permise) si un corp markdown. Sistemul de abilitati face distinctia intre abilitati si instrumente: abilitatile injecteaza instructiuni si context care modeleaza modul in care agentul gandeste, in timp ce instrumentele ofera functii apelabile pentru actiuni.
In timpul initializarii agentului, Agent.set_skills() apeleaza discover_skills() pentru a scana directoarele de abilitati la nivel de metadate, apoi activate_skill() pentru a citi corpurile complete ale abilitatilor. La momentul executiei sarcinii, _finalize_task_prompt() apeleaza format_skill_context() pentru fiecare abilitate activata si adauga tot continutul formatat al abilitatilor la prompt-ul sarcinii.
LLM-ul primeste: [mesaj de sistem] + [prompt sarcina + TOATE corpurile abilitatilor]
Implicatii privind token-urile
CrewAI impune o avertizare soft la 50.000 de caractere per abilitate, dar nicio limita stricta. Documentatia recomanda pastrarea abilitatilor concentrate si concise, deoarece injectarile mari in prompt dilueaza atentia modelului — o preocupare reala avand in vedere cercetarile privind degradarea contextului.
Compromisul este direct: agentul are intotdeauna expertiza completa disponibila (fiabilitate ridicata), dar costul in token-uri creste liniar cu numarul de abilitati per sarcina (eficienta scazuta). Pentru agenti cu 1-2 abilitati concentrate, aceasta functioneaza bine. Pentru agenti care au nevoie de seturi largi de capabilitati, devine costisitor rapid.
Fara persistenta intre sarcini
Fiecare sarcina primeste o injectare proaspata. Nu exista acumulare de continut de abilitati intre sarcini — ceea ce este de fapt o caracteristica, nu un defect. Inseamna ca fiecare sarcina incepe cu un context curat, evitand problemele de invechire pe care persistenta bazata pe sesiune le poate crea.
LangChain Deep Agents: incarcare controlata de agent prin SkillsMiddleware
LangChain Deep Agents implementeaza un sistem sofisticat de abilitati bazat pe middleware, in care agentul insusi decide cand sa incarce continutul complet al abilitatilor — un adevarat model de dezvaluire progresiva in care agentul controleaza activarea.
Cele trei niveluri
Nivelul 1 (Index):SkillsMiddleware parseaza tot frontmatter-ul SKILL.md la pornire si injecteaza un index usor in prompt-ul de sistem. Acest index contine doar nume si descrieri, costind aproximativ 278 token-uri per abilitate fata de 3.302 token-uri pentru continutul complet.
Nivelul 2 (Continut complet): Cand agentul determina ca o abilitate este relevanta, apeleaza read_file() pe calea SKILL.md a abilitatii. Acesta este un apel normal de instrument — framework-ul nu injecteaza corpul; agentul ia o decizie deliberata de a-l incarca. Continutul complet intra in istoricul conversatiei ca rezultat al instrumentului.
Nivelul 3 (Aprofundare): Materialele de suport, documentele de referinta si scripturile sunt accesate doar cand agentul le citeste explicit.
Eficienta token-urilor in practica
Cu 12 abilitati, dezvaluirea progresiva reduce contextul de la aproximativ 30.000 token-uri (toate incarcate) la circa 600 token-uri (doar indexul), extinzandu-se la 2.000-5.000 cand abilitatile relevante sunt incarcate pentru o sarcina specifica. Aceasta inseamna o reducere potentiala de 83-98% a consumului de token-uri legate de abilitati.
Mai multe surse de abilitati pot fi stratificate, iar cand numele se suprapun, ultima sursa castiga. Fisierele de peste 10 MB sunt sarite automat.
Diferenta cheie fata de Claude Code
In timp ce Claude Code foloseste un instrument Skill dedicat pentru a declansa incarcarea, Deep Agents reutilizeaza instrumentul read_file existent al agentului. Aceasta inseamna ca mecanismul de incarcare este transparent — agentul citeste fisierele de abilitati in acelasi mod in care citeste orice alt fisier. Dezavantajul este ca nu exista un comportament special de compactare: continutul abilitatilor care intra in istoricul conversatiei este supus trimierii standard a mesajelor LangChain, fara tratament prioritar.
OpenAI Responses API si Agents SDK: incarcare amanata gestionata de platforma
OpenAI implementeaza injectarea abilitatilor prin doua mecanisme distincte dar aliniate filozofic: tipul de instrument tool_search al Responses API si ToolSearchTool al Agents SDK.
Responses API: tool_search
Tipul de instrument tool_search (disponibil pe GPT-5.4+) permite dezvoltatorilor sa amane suprafetele mari de instrumente pana la rulare. Sunt disponibile trei strategii de amanare:
Amanare individuala de functie:@function_tool(defer_loading=True) — modelul vede numele si descrierea functiei, dar schema parametrilor este amanata. Economiseste token-uri la nivel de parametri.
Amanare de namespace:tool_namespace(name=..., description=..., tools=[...]) — grupeaza functiile sub un singur namespace. Modelul vede doar numele si descrierea namespace-ului, economisind semnificativ mai multe token-uri.
Amanare server MCP:HostedMCPTool(tool_config={..., "defer_loading": True}) — amana intreaga suprafata de instrumente a serverului MCP.
Cand modelul determina ca are nevoie de un instrument specific, emite un apel tool_search. API-ul returneaza 3-5 definitii relevante de instrumente, injectate la sfarsitul ferestrei de context pentru a pastra cache-ul prompt-ului.
Agents SDK: ToolSearchTool
Agents SDK ofera un echivalent programatic. Namespace-urile de instrumente sunt inregistrate dar nu incarcate:
La rulare, agentul vede doar numele namespace-urilor. Apeleaza ToolSearchTool("crm") pentru a descoperi si incarca schemele complete, apoi poate apela instrumente individuale din acel namespace.
Fara persistenta intre cereri
Fiecare cerere API este independenta. Instrumentele descoperite nu persista intre apeluri. Aceasta este cea mai fara stare abordare din comparatia noastra — curata, previzibila, dar necesitand redescoperire la fiecare cerere daca instrumentele se schimba.
AutoGen Teachability: recuperare semantica per tura
Capacitatea Teachability a AutoGen adopta o abordare fundamental diferita de orice alt framework din aceasta comparatie. In loc sa injecteze continut static de abilitati, recupereaza dinamic „memo-uri" relevante dintr-o baza de date vectoriala ChromaDB la fiecare tura.
Bucla de recuperare per tura
Teachability inregistreaza un hook pe process_last_received_message care intercepteaza fiecare mesaj primit de la utilizator inainte ca agentul sa-l proceseze:
Un TextAnalyzerAgent extrage conceptele cheie din mesajul primit
Aceste concepte sunt folosite pentru a interoga ChromaDB (folosind embeddings Sentence Transformer in mod implicit)
Cele mai relevante K memo-uri sunt recuperate (configurabil prin max_num_retrievals, implicit 10)
Memo-urile recuperate sunt adaugate la textul mesajului inainte ca agentul sa-l vada
Important de retinut: mesajul modificat nu se propaga in istoricul conversatiei stocat — doar mesajul original este stocat. Aceasta previne acumularea continutului memo-urilor de-a lungul turelor.
Bucla de invatare
Dupa ce LLM-ul raspunde, un al doilea hook analizeaza raspunsul pentru noi cunostinte:
TextAnalyzerAgent identifica noi cunostinte in raspuns
Noi memo-uri sunt extrase ca perechi cheie-valoare (text de intrare -> text de iesire)
Aceste memo-uri sunt stocate in ChromaDB, disponibile pentru turele si sesiunile viitoare
Aceasta creeaza o bucla autentica de invatare in care agentul acumuleaza expertiza in timp.
Persistenta intre sesiuni
AutoGen Teachability este una dintre cele doar trei platforme din comparatia noastra (alaturi de Voyager si DSPy) care pastreaza abilitatile intre sesiuni. Baza de date ChromaDB se afla pe disc, ceea ce inseamna ca un agent poate invata din interactiunile de luni si aplica acea cunostinta vineri.
Parametrul recall_threshold (implicit 1.5) controleaza cat de similar trebuie sa fie un mesaj cu un memo stocat pentru recuperare, iar reset_db poate sterge intreaga memorie cand este necesar.
Eficienta token-urilor
Deoarece doar memo-urile relevante sunt injectate per tura (de obicei 3-5), costul in token-uri este limitat natural indiferent de cat de mare creste baza de date de memo-uri. Un agent cu 10.000 de memo-uri stocate plateste totusi doar pentru cele cateva cele mai relevante pentru tura curenta.
Semantic Kernel: scheme de plugin-uri ca definitii de instrumente permanent prezente
Semantic Kernel de la Microsoft adopta o abordare directa: plugin-urile sunt colectii de obiecte KernelFunction inregistrate cu Kernel-ul, iar schemele lor sunt expuse LLM-ului ca definitii de instrumente de tip apelare functii.
Doua cai de injectare
Apelarea functiilor: Cand ToolCallBehavior.AutoInvokeKernelFunctions este setat, toate functiile inregistrate sunt trimise LLM-ului ca instrumente disponibile in fiecare cerere API. LLM-ul decide pe care sa le apeleze; Semantic Kernel gestioneaza invocarea si rutarea rezultatelor.
Sabloane de prompt: Sintaxa de sabloane a Semantic Kernel ({{plugin.function}}, Handlebars sau Liquid) permite apelarea functiilor inline in timpul randarii prompt-ului. Rezultatele sunt incorporate direct in textul prompt-ului inainte de a ajunge la LLM — o forma de evaluare eagera in loc de apelare lenta a instrumentelor.
Fara dezvaluire progresiva
Schema fiecarui plugin inregistrat este inclusa in fiecare apel API. Nu exista incarcare amanata integrata, grupare de namespace-uri sau activare la cerere. Documentatia recomanda explicit importarea doar a plugin-urilor necesare pentru un scenariu specific pentru a reduce consumul de token-uri si apelurile eronate.
Aceasta face Semantic Kernel una dintre cele mai previzibile platforme — stii intotdeauna exact la ce are acces agentul — dar limiteaza scalabilitatea. Un agent cu 50 de functii inregistrate plateste costul complet al schemei la fiecare apel.
Persistenta
Inregistrarea plugin-urilor este per instanta Kernel si in memorie. Nu exista un mecanism integrat pentru persistenta abilitatilor intre sesiuni.
MetaGPT: sabloane de actiune in cadrul SOP-urilor bazate pe roluri
MetaGPT codifica abilitatile nu ca pachete autonome, ci ca sabloane de actiune incorporate in Proceduri Standard de Operare (SOP-uri) care guverneaza comportamentul rolurilor.
Arhitectura Rol si Actiune
Fiecare Role in MetaGPT are un prefix de persona injectat in prompt-uri si un set de clase Action. Fiecare Action contine un proxy LLM invocat prin aask(), care foloseste sabloane de prompt in limbaj natural pentru a structura apelul LLM.
Cand Role._act() se declanseaza, suporta trei moduri de reactie:
"react": LLM-ul selecteaza dinamic actiuni in bucle gandeste-actioneaza
"by_order": Actiunile se executa secvential intr-o ordine predeterminata
"plan_and_act": Agentul planifica mai intai, apoi executa actiunile conform planului
Fereastra ingusta de injectare
Doar sablonul Actiunii curente este activ in orice moment. Agentul nu vede sabloane pentru alte actiuni — vede doar prefixul de rol plus contextul actiunii specifice. Aceasta este cea mai ingusta fereastra de injectare dintre toate framework-urile pe care le-am examinat.
Functiile de parsare a contextului din clasele Action extrag informatii relevante din intrari, astfel incat fiecare actiune primeste un subset curatat din contextul disponibil in loc de intregul istoric al conversatiei.
Persistenta pe o singura tura
Sablonul este randat proaspat pentru fiecare executie de actiune. Nu exista acumulare sau persistenta intre sesiuni. Aceasta pastreaza fiecare actiune concentrata, dar inseamna ca agentul nu poate construi pe continut de abilitati incarcat anterior in cadrul unui singur flux de lucru.
Voyager: recuperare de abilitati bazata pe embeddings pentru invatare pe termen lung
Voyager, agentul de explorare Minecraft de la NVIDIA si Caltech, implementeaza una dintre cele mai elegante arhitecturi de injectare a abilitatilor: o biblioteca crescatoare de programe verificate recuperate prin similaritate de embeddings.
Biblioteca de abilitati
Cand Voyager scrie cod care trece auto-verificarea (JavaScript-ul Mineflayer generat chiar functioneaza in joc), codul si string-ul sau de documentare sunt stocate intr-o baza de date vectoriala. Embedding-ul docstring-ului devine cheia de recuperare.
Recuperare per sarcina
La fiecare sarcina noua propusa de curriculum-ul automat:
Descrierea sarcinii si feedback-ul mediului sunt transformate in embeddings
Cautare prin similaritate cosinus impotriva tuturor embeddings-urilor de abilitati stocate
Cele mai relevante 5 abilitati sunt recuperate
Codul abilitatilor recuperate este inclus in prompt-ul agentului de actiune ca exemple few-shot
Prompt-ul arata astfel:
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
Codul generat poate apela abilitatile recuperate dupa nume, permitand construirea compozitionala a abilitatilor — comportamente complexe construite din primitive mai simple si verificate.
Persistenta pe termen lung
Biblioteca de abilitati este mecanismul central de „invatare pe termen lung". Creste pe intreaga durata de viata a agentului, iar abilitatile noi se construiesc pe cele vechi. Spre deosebire de majoritatea framework-urilor unde abilitatile sunt create de oameni, abilitatile Voyager sunt generate, verificate si stocate de agentul insusi.
Costul in token-uri este limitat natural: indiferent daca biblioteca contine 50 sau 5.000 de abilitati, fiecare sarcina plateste doar pentru cele 5 recuperari cele mai relevante.
DSPy: exemple few-shot compilate ca abilitati inghetate
DSPy adopta o abordare radical diferita de orice alt framework. In loc sa injecteze abilitati la rulare, DSPy compileaza demonstratii few-shot optime offline si le integreaza permanent in prompt-urile modulelor.
Procesul de compilare
Doua optimizatoare principale gestioneaza compilarea:
BootstrapFewShot: Foloseste un modul profesor pentru a genera trasee prin program. Traseele care trec o metrica definita de utilizator sunt pastrate ca demonstratii. Fiecare modul dspy.Predict din program primeste propriul set curatat de demonstratii.
MIPROv2 (Multi-prompt Instruction Proposal Optimizer v2): Un proces in trei faze:
Bootstrap: Genereaza seturi candidate de demonstratii
Propunere: Genereaza texte candidate de instructiuni care sunt constiente atat de distributia datelor, cat si de demonstratii
Cautare: Optimizare bayesiana peste spatiul combinat de instructiuni x demonstratii pe toate modulele
Parametri precum max_bootstrapped_demos (exemple generate) si max_labeled_demos (din datele de antrenament) controleaza cate exemple ajung in prompt-ul fiecarui modul.
Fix dupa compilare
Odata compilate, demonstratiile sunt stocate in atributul demos al fiecarui modul Predict si formatate in prompt la fiecare apel LLM. Nu se schimba la rulare — „abilitatea" este inghetata.
Aceasta inseamna ca abilitatile DSPy sunt cele mai previzibile din comparatia noastra: costul in token-uri este cunoscut dupa compilare, nu exista varianta intre tururi, iar agentul vede intotdeauna aceleasi demonstratii. Dezavantajul este inflexibilitatea — pentru a schimba abilitatile, trebuie sa recompilezi.
Persistenta
Programele compilate se serializeaza in JSON, inclusiv toate demonstratiile. Sunt complet persistente si incarcabile intre sesiuni, facand DSPy unul dintre cele mai durabile mecanisme de stocare a abilitatilor.
SuperAGI: inregistrare upfront bazata pe toolkit
SuperAGI foloseste un model traditional de toolkit in care toate instrumentele sunt inregistrate la initializarea agentului.
Fiecare toolkit extinde BaseToolkit cu:
atributele name si description
metoda get_tools() care returneaza o lista de instante BaseTool
get_env_keys() pentru variabilele de mediu necesare
Toolkit-urile sunt instalate din depozite GitHub prin managerul de instrumente SuperAGI. La initializarea agentului, BaseToolkit.get_tools() returneaza toate instrumentele, iar schemele lor complete sunt expuse LLM-ului ca definitii de apelare functii.
Nu exista incarcare amanata, dezvaluire progresiva sau filtrare per tura. Schema fiecarui instrument inregistrat este prezenta in fiecare apel. Acesta este cel mai simplu model de injectare si functioneaza bine pentru agenti cu seturi de instrumente concentrate si mici, dar nu scaleaza pentru agenti care au nevoie de zeci de capabilitati.
CAMEL-AI: inregistrarea instrumentelor in ChatAgent
CAMEL-AI urmeaza un model similar de inregistrare upfront. Instrumentele din diverse toolkit-uri (de ex., MathToolkit, SearchToolkit) sunt transmise ca lista la ChatAgent(tools=[...]) la initializare.
Framework-ul subliniaza ca functiile personalizate au nevoie de nume clare ale argumentelor si docstring-uri cuprinzatoare pentru ca modelul sa inteleaga utilizarea — schema instrumentului este singurul continut de „abilitate" pe care modelul il vede. Nu exista un mecanism separat de injectare a instructiunilor.
Adaugirile recente includ suport MCP (Model Context Protocol) prin MCPToolkit, permitand ChatAgent sa se conecteze la servere MCP si sa inregistreze instrumente externe. Aceasta extinde suprafata de instrumente disponibila, dar nu schimba modelul de injectare — toate instrumentele MCP descoperite sunt totusi inregistrate din start.
Comparatie intre platforme
Cand sunt injectate abilitatile
Moment
Platforme
Ce se injecteaza
Mereu prezent (inceputul sesiunii)
Claude Code, CrewAI, Deep Agents, Semantic Kernel, SuperAGI, CAMEL-AI, DSPy
Metadate (nume + descriere) sau scheme complete
La activare (declansata de utilizator sau agent)
Claude Code, Deep Agents, OpenAI
Corp complet al abilitatii
La fiecare sarcina/tura
CrewAI, AutoGen Teachability
Corp complet (CrewAI) sau memo-uri recuperate (AutoGen)
La selectia LLM
Semantic Kernel, MetaGPT
Continut sablon de prompt
La potrivire de similaritate
Voyager, AutoGen Teachability
Cod sau memo-uri recuperate
Compilat/fix
DSPy
Exemple few-shot optimizate
Modele de persistenta
Persistenta
Platforme
Mecanism
Doar o singura tura
MetaGPT, Voyager
Sablon randat per actiune / per generare
In cadrul sesiunii
Claude Code, Deep Agents, OpenAI, Semantic Kernel
Corpul ramane in istoricul mesajelor
Reinjectat la fiecare sarcina
CrewAI, SuperAGI, CAMEL-AI
Adaugat proaspat la fiecare executie de sarcina
Intre sesiuni (stocare persistenta)
AutoGen Teachability, Voyager, DSPy
Baza vectoriala / module compilate / biblioteca de abilitati
Supravietuirea la compactarea contextului
Platforma
Ce se intampla cand contextul se umple
Claude Code
Reataseaza cele mai recente abilitati (5K token-uri fiecare, limita 25K). Abilitatile mai vechi sunt eliminate
CrewAI
N/A — injectat proaspat per sarcina, fara acumulare
Deep Agents
Corpul in istoricul conversatiei, supus trimierii standard LangChain
OpenAI
N/A — fiecare apel API este independent
AutoGen
Doar memo-uri relevante recuperate per tura, limitat natural
Voyager
Doar top-K abilitati recuperate per sarcina, limitat natural
Modelul de dezvaluire progresiva
Cea mai semnificativa tendinta arhitecturala pe aceste platforme este adoptarea dezvaluirii progresive — un concept imprumutat din designul UI unde informatia este dezvaluita incremental pe baza necesitatii.
De ce conteaza dezvaluirea progresiva
O abordare naiva a injectarii abilitatilor — incarcarea a totul din start — creeaza doua probleme:
Risipa de token-uri: Majoritatea abilitatilor nu sunt relevante pentru majoritatea tururilor. Incarcarea a 20 de corpuri complete de abilitati cand doar 1-2 sunt necesare per tura iroseste peste 90% din token-urile legate de abilitati.
Diluarea atentiei: Cercetarile privind degradarea contextului arata ca LLM-urile performeaza mai slab cand contextul lor contine cantitati mari de informatii irelevante. Mai multe abilitati in context pot reduce efectiv calitatea aplicarii abilitatilor.
Dezvaluirea progresiva rezolva ambele probleme mentinand un index usor al abilitatilor disponibile si incarcand continutul complet doar cand este necesar.
Variatiuni de implementare
Claude Code foloseste un sistem dedicat: metadate de abilitati in mesajele system-reminder, un instrument Skill pentru activare si ToolSearch pentru schemele de instrumente amanate. Framework-ul gestioneaza injectarea automat cu compactare bazata pe prioritati.
LangChain Deep Agents foloseste capacitatea existenta de citire a fisierelor a agentului: SkillsMiddleware injecteaza indexul, iar agentul incarca continutul complet prin read_file(). Aceasta este mai transparenta dar ofera mai putina optimizare la nivel de framework.
OpenAI Responses API foloseste gruparea bazata pe namespace-uri cu cautare gestionata de platforma: namespace-urile de instrumente ofera descrieri de nivel inalt, iar tool_search returneaza schemele relevante. Platforma gestioneaza logica de cautare in intregime.
Doar indexul de dezvaluire progresiva: ~600 token-uri
Index + 2 abilitati activate: ~2.000-5.000 token-uri
Aceasta inseamna o reducere de 83-98% a consumului de token-uri legate de abilitati per tura. Pe o sesiune lunga cu sute de tururi, economiile se compun dramatic.
Modele arhitecturale si compromisuri
Privind peste toate cele 11 platforme, se contureaza patru modele arhitecturale distincte:
Modelul 1: injectare permanent activa
Folosit de: CrewAI, SuperAGI, CAMEL-AI, Semantic Kernel
Cum functioneaza: Continutul complet al abilitatilor sau schemele de instrumente sunt prezente in fiecare apel LLM.
Avantaje:
Fiabilitate maxima — agentul are intotdeauna expertiza completa disponibila
Cea mai simpla implementare — nu e nevoie de logica de activare
Costuri previzibile in token-uri — aceleasi la fiecare tura
Dezavantaje:
Costul in token-uri creste liniar cu numarul de abilitati
Diluarea atentiei cu multe abilitati
Nu scaleaza peste ~5-10 abilitati per agent
Ideal pentru: Agenti concentrati cu 1-3 abilitati de baza care sunt mereu relevante.
Modelul 2: dezvaluire progresiva
Folosit de: Claude Code, LangChain Deep Agents, OpenAI Responses API/Agents SDK
Cum functioneaza: Metadate usoare mereu prezente; continut complet incarcat la cerere.
Avantaje:
Scaleaza la zeci sau sute de abilitati disponibile
Cost minim in token-uri cand abilitatile nu sunt necesare
Pastreaza cache-ul prompt-ului cand schemele complete se adauga la sfarsit
Dezavantaje:
Agentul ar putea rata indiciul de a activa o abilitate relevanta
Latenta suplimentara din pasul de activare
Implementare mai complexa a framework-ului
Ideal pentru: Agenti de uz general care au nevoie de acces la multe capabilitati dar folosesc doar cateva per sarcina.
Modelul 3: recuperare semantica
Folosit de: AutoGen Teachability, Voyager
Cum functioneaza: Interogari ale bazei de date vectoriale evidentiaza abilitatile/cunostintele relevante bazate pe similaritate semantica cu contextul curent.
Avantaje:
Cost in token-uri limitat natural indiferent de dimensiunea bibliotecii
Relevanta continutului se imbunatateste in timp pe masura ce biblioteca creste
Invatare si acumulare intre sesiuni
Nu e nevoie de activare explicita — relevanta este calculata automat
Dezavantaje:
Calitatea recuperarii depinde de calitatea modelului de embeddings
Risc de recuperare a informatiilor invechite sau subtil incorecte
Necesita infrastructura de baza de date vectoriala
Mai putin previzibil — tururi diferite incarca continut diferit
Ideal pentru: Agenti care invata din experienta si trebuie sa acumuleze cunostinte de domeniu in timp.
Modelul 4: injectare compilata/statica
Folosit de: DSPy, MetaGPT
Cum functioneaza: Abilitatile sunt compilate in continut fix de prompt (DSPy) sau activate prin sabloane rigide de actiune (MetaGPT).
Avantaje:
Cel mai previzibil comportament — acelasi continut de fiecare data
Optimizarea poate fi facuta offline (compilarea DSPy)
Fara suprasarcina la rulare pentru selectia abilitatilor
Dovedit eficient pentru sarcini bine definite si repetabile
Dezavantaje:
Inflexibil — schimbarea abilitatilor necesita recompilare (DSPy) sau modificari de cod (MetaGPT)
Nu se poate adapta la situatii noi in afara exemplelor compilate
Procesul de compilare DSPy in sine necesita multe apeluri LLM
Ideal pentru: Pipeline-uri de productie cu sarcini bine definite unde fiabilitatea prevaleaza asupra flexibilitatii.
Implicatii practice pentru constructorii de agenti
Alegerea modelului potrivit
Arhitectura potrivita de injectare a abilitatilor depinde de profilul agentului tau:
Daca agentul tau are un rol ingust, bine definit (de ex., un bot de revizuire cod, un agent de suport clienti pentru un singur produs), injectarea permanent activa (model CrewAI/SuperAGI) este cea mai simpla si fiabila. Costul in token-uri al 2-3 abilitati permanent prezente este gestionabil, si eviti complexitatea logicii de activare.
Daca agentul tau are nevoie de capabilitati largi dar foloseste doar cateva per interactiune (de ex., un asistent de dezvoltator, un agent de automatizare de uz general), dezvaluirea progresiva (model Claude Code/Deep Agents) este castigatorul clar. Economiile de token-uri de 83-98% la scara sunt prea semnificative pentru a fi ignorate.
Daca agentul tau trebuie sa invete si sa se imbunatateasca din interactiuni (de ex., un asistent personal, un expert de domeniu care acumuleaza cunostinte), recuperarea semantica (model AutoGen Teachability) ofera bucla de invatare pe care celelalte modele nu o au. Asigura-te doar ca ai controale de calitate asupra a ceea ce intra in baza de cunostinte.
Daca agentul tau ruleaza pipeline-uri bine definite (de ex., procesare de date, generare de rapoarte, fluxuri de lucru standardizate), injectarea compilata (model DSPy) iti ofera cel mai previzibil si optimizat comportament.
Abordarea hibrida
Pentru echipe de agenti de productie unde agentii trebuie sa functioneze imediat, recomandam o abordare hibrida:
Abilitati de baza (1-2 per agent, definind expertiza principala de domeniu): intotdeauna injectate in prompt-ul de sistem, in stil CrewAI. Acestea sunt capabilitati non-negociabile de care agentul are nevoie la fiecare tura.
Abilitati extinse (capabilitati suplimentare de care agentul ar putea avea nevoie): doar metadate in prompt-ul de sistem, incarcate printr-un mecanism de cautare/incarcare cand este necesar, in stil Deep Agents. Acestea extind setul de capabilitati al agentului fara a plati costul in token-uri cand nu sunt relevante.
Cunostinte invatate (expertiza de domeniu acumulata): stocate intr-o baza de date vectoriala si recuperate semantic per tura, in stil AutoGen. Aceasta permite agentului sa se imbunatateasca in timp fara crearea manuala de abilitati.
Aceasta arhitectura stratificata se mapeaza natural pe modul in care este construit un prompt de sistem: data -> persona -> instructiuni de sistem -> abilitati de baza -> index de abilitati -> context de rol/echipa. Abilitatile de baza si indexul adauga un cost previzibil si gestionabil in token-uri, in timp ce corpurile complete ale abilitatilor apar doar cand sunt necesare.
Cele mai bune practici pentru bugetul de token-uri pe toate framework-urile
Indiferent de modelul de injectare pe care il folosesti, aceste strategii de gestionare a token-urilor se aplica universal:
Ordonare prietenoasa cu cache-ul
Plaseaza contextul neschimbator (instructiuni de sistem, scheme de instrumente) la inceputul prompt-ului. La furnizorii care suporta cache-ul prompt-urilor, token-urile din cache costa cu 75% mai putin. Claude Code si OpenAI injecteaza ambele schemele de instrumente descoperite la sfarsitul ferestrei de context specific pentru a pastra hit-urile de cache pe prefixul static.
Externalizare
Sumarizeaza raspunsurile instrumentelor in loc sa pastrez rezultatele complete in context. Stocheaza datele complete in referinte externe pe care agentul le poate citi la cerere. Aceasta este deosebit de importanta pentru agentii care fac multe apeluri de instrumente per sesiune.
Reducere
Compacteaza istoricul conversatiei prin sumarizare. Extrage fapte cheie din schimburi lungi in reprezentari condensate. Fiecare framework cu persistenta bazata pe sesiune beneficiaza de gestionarea agresiva a istoricului.
Recuperare in loc de preincarcare
Recupereaza dinamic informatii relevante la rulare in loc sa incarci totul din start. Aceasta se aplica abilitatilor, bazelor de cunostinte si chiar istoricului conversatiei. Studiile arata ca aceasta poate reduce dimensiunile prompt-urilor cu pana la 70%.
Izolare
Foloseste sub-agenti pentru sarcini specifice astfel incat contextul fiecarui agent sa ramana concentrat. In loc sa dai unui agent 20 de abilitati, creeaza o echipa de 5 agenti cu cate 4 abilitati fiecare. Fiecare agent mentine o fereastra de context redusa, iar echipa acopera colectiv intregul set de capabilitati.
Concluzie
Modul in care framework-urile de agenti AI injecteaza abilitati in context este una dintre cele mai importante decizii arhitecturale in proiectarea agentilor — totusi este rareori discutata la acest nivel de detaliu.
Domeniul converge clar spre dezvaluirea progresiva ca model preferat pentru agentii de uz general, Claude Code, LangChain Deep Agents si OpenAI ajungand toate independent la arhitecturi similare pe trei niveluri. Intre timp, modele specializate precum recuperarea semantica (AutoGen, Voyager) si injectarea compilata (DSPy) servesc nise importante pe care dezvaluirea progresiva singura nu le adreseaza.
Pentru practicienii care construiesc sisteme de agenti astazi, informatia cheie este ca injectarea abilitatilor nu este o problema cu o solutie unica. Abordarea potrivita depinde de rolul agentului tau, numarul de abilitati de care are nevoie, daca trebuie sa invete in timp si toleranta ta pentru compromisurile intre costuri de token-uri si fiabilitate.
Cele mai robuste sisteme de productie vor combina probabil mai multe modele — permanent activ pentru capabilitatile de baza, dezvaluire progresiva pentru abilitati extinse si recuperare semantica pentru cunostintele acumulate — creand agenti care sunt atat eficienti, cat si experti.
Întrebări frecvente
Injectarea de abilitati este procesul de incarcare a instructiunilor specifice unui domeniu, definitiilor de instrumente sau expertizei in fereastra de context a unui agent AI, astfel incat acesta sa poata realiza sarcini specializate. Diferitele framework-uri injecteaza abilitati in puncte diferite — prompt-uri de sistem, mesaje de utilizator, definitii de instrumente sau sabloane de prompt — si la momente diferite, de la pornirea sesiunii pana la activarea la cerere.
Dezvaluirea progresiva este o tehnica imprumutata din designul UI, in care agentii vad doar metadate usoare (nume si descrieri de abilitati) la pornire, iar continutul complet al abilitatilor este incarcat la cerere doar cand este relevant. Aceasta poate reduce utilizarea token-urilor cu 40-60% pe sesiune. Claude Code, LangChain Deep Agents si OpenAI Responses API implementeaza toate variatiuni ale acestui model.
Framework-urile care utilizeaza dezvaluirea progresiva — Claude Code, LangChain Deep Agents si OpenAI Responses API — sunt cele mai eficiente in token-uri deoarece incarca continutul complet al abilitatilor doar cand este necesar. AutoGen Teachability si Voyager sunt de asemenea eficiente deoarece utilizeaza recuperarea semantica pentru a injecta doar cunostintele relevante la fiecare tura. CrewAI, SuperAGI si CAMEL-AI injecteaza tot continutul abilitatilor din start, ceea ce este mai simplu dar mai costisitor.
FlowHunt suporta o abordare hibrida in care abilitatile de baza care definesc expertiza de domeniu a unui agent sunt intotdeauna injectate in prompt-ul de sistem, in timp ce abilitatile extinse sunt incarcate la cerere cand sunt necesare. Aceasta echilibreaza fiabilitatea (agentii au intotdeauna expertiza lor principala) cu eficienta (capacitatile optionale nu irosesc token-uri cand nu sunt utilizate).
Yasha este un dezvoltator software talentat, specializat în Python, Java și învățare automată. Yasha scrie articole tehnice despre inteligența artificială, ingineria prompturilor și dezvoltarea chatboturilor.
Yasha Boroumand
CTO, FlowHunt
Construieste agenti AI mai inteligenti cu FlowHunt
Proiecteaza echipe de agenti AI cu injectare inteligenta a abilitatilor si gestionare a contextului. Fara cod necesar.
Cele Mai Bune Framework-uri de Agenți AI în 2026: LangChain, CrewAI, AutoGen și Altele
Comparația celor 8 cele mai bune framework-uri de agenți AI în 2026 — LangChain, CrewAI, AutoGen, LlamaIndex, Dify, Haystack, Semantic Kernel și FlowHunt. Care ...
Crew.ai vs Langchain: O privire detaliată asupra cadrelor multi-agent
Explorează cadrele multi-agent Crew.ai și Langchain. Crew.ai excelează la colaborare și împărțirea sarcinilor, ideal pentru simulări complexe, în timp ce Langch...
Decodificarea modelelor de agenți AI: Analiza comparativă supremă
Explorează lumea modelelor de agenți AI printr-o analiză cuprinzătoare a 20 de sisteme de ultimă generație. Descoperă cum gândesc, raționează și performează în ...
5 min citire
AI Agents
Comparative Analysis
+7
Consimțământ Cookie Folosim cookie-uri pentru a vă îmbunătăți experiența de navigare și a analiza traficul nostru. See our privacy policy.