
Platforme de top pentru crearea agenților AI în 2025: Recenzii și Clasamente
Ghid cuprinzător pentru cele mai bune platforme de construire a agenților AI din 2025, cu FlowHunt.io, OpenAI și Google Cloud. Descoperă recenzii detaliate, cla...
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.
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.
Iata prezentarea completa inainte de a intra in detalii.
| Platforma | Punctul de injectare | Cand se incarca | Mecanism |
|---|---|---|---|
| Claude Code | System-reminder (metadate) + mesaj de conversatie (corp) | Metadate la inceputul sesiunii; corp la /command sau potrivire automata | Framework-ul injecteaza metadate; instrumentul Skill incarca corpul complet la activare |
| CrewAI | Prompt-ul sarcinii (adaugat inainte de apelul LLM) | La fiecare executie de sarcina prin _finalize_task_prompt() | format_skill_context() adauga toate corpurile abilitatilor la prompt |
| LangChain Deep Agents | Prompt de sistem (metadate) + istoric conversatie (corp) | Metadate la pornire; corp cand agentul apeleaza read_file() | SkillsMiddleware injecteaza indexul; agentul incarca corpul prin instrumentul de fisiere |
| OpenAI Responses API | Context prompt utilizator (gestionat de platforma) | La skill_reference in apelul API | Platforma adauga metadate; modelul citeste SKILL.md complet la invocare |
| OpenAI Agents SDK | Definitii de instrumente (amanate prin ToolSearchTool) | Nume de namespace la creare; scheme la apelul ToolSearchTool | tool_namespace() + ToolSearchTool() pentru descoperire progresiva |
| AutoGen Teachability | Mesaj utilizator modificat (memo-uri recuperate injectate) | La fiecare tura — recuperare din baza vectoriala inainte de fiecare apel LLM | Middleware-ul intercepteaza mesajul, interogheaza ChromaDB, injecteaza top-K potriviri |
| Semantic Kernel | Scheme de apelare functii + continut sablon prompt | Toate schemele la pornire; continut sablon la invocarea functiei | kernel.add_plugin() inregistreaza totul; kernel.invoke() randeaza sabloanele |
| MetaGPT | Sablon prompt actiune (randat in apelul LLM) | Cand _act() al Rolului se declanseaza pentru o Actiune specifica | Action.run() formateaza PROMPT_TEMPLATE, trimite prin aask() |
| Voyager | Prompt de generare cod (cod de abilitati recuperat) | Inainte de fiecare generare de cod; cautare prin similaritate de embeddings | SkillLibrary.retrieve_skills() injecteaza top-5 ca exemple few-shot |
| DSPy | Demo-uri few-shot compilate in prompt-urile modulului Predict | Compilate offline de optimizator; fixe la rulare | BootstrapFewShot / MIPROv2 selecteaza cele mai bune demo-uri; Predict le randeaza in prompt |
| SuperAGI | Scheme de instrumente in lista de instrumente a agentului | Crearea agentului — toate instrumentele din toolkit inregistrate din start | BaseToolkit.get_tools() inregistreaza totul ca instrumente de apelare functii |
| CAMEL-AI | Scheme de functii + mesaj de sistem al rolului | Crearea agentului — toate instrumentele inregistrate din start | ChatAgent(tools=[*toolkit.get_tools()]) incarca totul la initializare |
| Platforma | Prezent mereu? | Persistenta | Costul in token-uri |
|---|---|---|---|
| Claude Code | Metadate: DA. Corp: doar dupa activare | La nivel de sesiune. La compactare: reatasat (5K/abilitate, limita 25K) | ~250 caractere/metadate abilitate; 1% din bugetul de context |
| CrewAI | DA — corp complet in fiecare prompt de sarcina | Injectare proaspata per sarcina; fara persistenta intre sarcini | Corp complet la fiecare apel. Limita soft de 50K caractere |
| LangChain Deep Agents | Metadate: DA. Corp: la cerere | Corpul ramane in istoricul conversatiei; abilitatile subagentilor izolate | ~100 token-uri/metadate abilitate; corp platit o singura data (~3.302 token-uri) |
| OpenAI Responses API | Nume+descriere: DA. Corp complet: la invocare | Doar un singur raspuns API; fara persistenta intre apeluri | Gestionat de platforma |
| OpenAI Agents SDK | Lista de namespace-uri: DA. Scheme: la cerere | Doar o singura rulare; redescoperire per sesiune | Minimal pana la activare |
| AutoGen Teachability | NU — doar memo-uri relevante per tura | Intre sesiuni prin ChromaDB; persista nedefinit | ~3-5 memo-uri per tura (variabil) |
| Semantic Kernel | Toate schemele: DA. Sabloane: la invocare | In memorie per instanta kernel; fara persistenta intre sesiuni | Toate schemele prezente mereu |
| MetaGPT | NU — doar sablonul Actiunii curente | Doar executia unei singure actiuni | Un sablon per tura |
| Voyager | NU — top-5 recuperate per sarcina | Persistenta pe durata de viata in baza vectoriala | ~500-2.000 token-uri per exemplu de abilitate |
| DSPy | DA — demo-uri compilate integrate | Serializabil in JSON; persista intre sesiuni | Fix dupa compilare (3-8 demo-uri/modul) |
| SuperAGI | DA — toate schemele prezente mereu | In cadrul sesiunii agentului | Toate schemele prezente mereu |
| CAMEL-AI | DA — toate schemele + prompt de rol | In cadrul sesiunii de conversatie | Toate schemele prezente mereu |
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:
Mecanismul de injectare — unde si cand intra acest continut in context — determina trei proprietati critice:
Fiecare framework face compromisuri diferite pe aceste trei dimensiuni. Sa le examinam pe fiecare.
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.
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.
La inceputul sesiunii, numele si descrierea fiecarei abilitati disponibile sunt injectate intr-un mesaj system-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.
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.
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.
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 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.
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]
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.
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 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.
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.
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.
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 implementeaza injectarea abilitatilor prin doua mecanisme distincte dar aliniate filozofic: tipul de instrument tool_search al Responses API si ToolSearchTool al Agents SDK.
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:
@function_tool(defer_loading=True) — modelul vede numele si descrierea functiei, dar schema parametrilor este amanata. Economiseste token-uri la nivel de parametri.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.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 ofera un echivalent programatic. Namespace-urile de instrumente sunt inregistrate dar nu incarcate:
crm_tools = tool_namespace(
name="crm",
description="CRM management tools",
tools=[...]
)
agent = Agent(tools=[*crm_tools, ToolSearchTool()])
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.
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.
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.
Teachability inregistreaza un hook pe process_last_received_message care intercepteaza fiecare mesaj primit de la utilizator inainte ca agentul sa-l proceseze:
TextAnalyzerAgent extrage conceptele cheie din mesajul primitmax_num_retrievals, implicit 10)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.
Dupa ce LLM-ul raspunde, un al doilea hook analizeaza raspunsul pentru noi cunostinte:
TextAnalyzerAgent identifica noi cunostinte in raspunsAceasta creeaza o bucla autentica de invatare in care agentul acumuleaza expertiza in timp.
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.
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 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.
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.
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.
Inregistrarea plugin-urilor este per instanta Kernel si in memorie. Nu exista un mecanism integrat pentru persistenta abilitatilor intre sesiuni.
MetaGPT codifica abilitatile nu ca pachete autonome, ci ca sabloane de actiune incorporate in Proceduri Standard de Operare (SOP-uri) care guverneaza comportamentul rolurilor.
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 planuluiDoar 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.
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, 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.
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.
La fiecare sarcina noua propusa de curriculum-ul automat:
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.
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 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.
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:
Parametri precum max_bootstrapped_demos (exemple generate) si max_labeled_demos (din datele de antrenament) controleaza cate exemple ajung in prompt-ul fiecarui modul.
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.
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 foloseste un model traditional de toolkit in care toate instrumentele sunt inregistrate la initializarea agentului.
Fiecare toolkit extinde BaseToolkit cu:
name si descriptionget_tools() care returneaza o lista de instante BaseToolget_env_keys() pentru variabilele de mediu necesareToolkit-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 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.
| 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 |
| 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 |
| 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 |
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.
O abordare naiva a injectarii abilitatilor — incarcarea a totul din start — creeaza doua probleme:
Dezvaluirea progresiva rezolva ambele probleme mentinand un index usor al abilitatilor disponibile si incarcand continutul complet doar cand este necesar.
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.
Cifrele sunt convingatoare. Cu 12 abilitati:
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.
Privind peste toate cele 11 platforme, se contureaza patru modele arhitecturale distincte:
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:
Dezavantaje:
Ideal pentru: Agenti concentrati cu 1-3 abilitati de baza care sunt mereu relevante.
Folosit de: Claude Code, LangChain Deep Agents, OpenAI Responses API/Agents SDK
Cum functioneaza: Metadate usoare mereu prezente; continut complet incarcat la cerere.
Avantaje:
Dezavantaje:
Ideal pentru: Agenti de uz general care au nevoie de acces la multe capabilitati dar folosesc doar cateva per sarcina.
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:
Dezavantaje:
Ideal pentru: Agenti care invata din experienta si trebuie sa acumuleze cunostinte de domeniu in timp.
Folosit de: DSPy, MetaGPT
Cum functioneaza: Abilitatile sunt compilate in continut fix de prompt (DSPy) sau activate prin sabloane rigide de actiune (MetaGPT).
Avantaje:
Dezavantaje:
Ideal pentru: Pipeline-uri de productie cu sarcini bine definite unde fiabilitatea prevaleaza asupra flexibilitatii.
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.
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.
Indiferent de modelul de injectare pe care il folosesti, aceste strategii de gestionare a token-urilor se aplica universal:
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.
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.
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.
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%.
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.
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.
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.

Proiecteaza echipe de agenti AI cu injectare inteligenta a abilitatilor si gestionare a contextului. Fara cod necesar.

Ghid cuprinzător pentru cele mai bune platforme de construire a agenților AI din 2025, cu FlowHunt.io, OpenAI și Google Cloud. Descoperă recenzii detaliate, cla...

Explorați procesele de gândire ale Agenților AI în această evaluare cuprinzătoare a GPT-4o. Descoperiți cum performează la sarcini precum generarea de conținut,...

Comparație între cei mai noi boți de tranzacționare pe bază de LLM, modelele utilizate, tehnicile de îmbunătățire a calității și rezultatele din lumea reală. In...
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.