spinny:~/writing $ vim agentic-infrastructure-stack.md
1~2Am vorbit adesea despre cadrele agentice. LangGraph, CrewAI, AutoGen, diverse SDK-uri, buclă, apelare instrumente, memorie, planificator, critic, supervizor. Toate cuvintele utile, pentru Dumnezeu. Dar cu cât mă uit mai mult la agenții folosiți efectiv, cu atât mai mult mi se pare că partea interesantă s-a mutat sub nivelul cadrului.3~4Întrebarea nu mai este doar: ce bibliotecă folosesc pentru a face un model pas să gândească?5~6Adevărata întrebare este: unde locuiește acest agent când încetează să mai fie un demo?7~8Pentru că un agent serios nu este o funcție care apelează un model și returnează text. Este un mic sistem distribuit. Trebuie să citească contextul, să folosească instrumente, să execute cod, să atingă fișiere, să-și amintească deciziile, să ceară permisiunea, să eșueze bine, să repornească, să lase jurnalele, să nu ardă bugetul și să nu se transforme într-un buldozer în interiorul depozitului de producție.9~10Cadrul este volanul. Infrastructura este drumul, franele, garajul, asigurarea si persoana care stie unde sunt cheile.11~12## Pentru că acum se vorbește mult despre asta13~14În 2023 și 2024, conversația a fost foarte centrată pe model. Which LLM? How much context? Cât costã? Cât de bun este la programare?15~16În 2025 și 2026, conversația s-a schimbat. Modelele sunt suficient de bune pentru a face o muncă reală, dar de aceea devin vizibile biții plictisitoare: timp de rulare, securitate, conectori, identitate, observabilitate, execuție de cod, implementare, rollback.17~18Este tranziția naturală de la magie la inginerie.19~20Când un agent trebuie doar să genereze un răspuns, este suficient un chat. Când trebuie să deschideți o cerere de extragere, să interogați o bază de date, să apelați un CRM, să începeți un job, să navigați pe un site, să citiți Slack, să compilați cod și să actualizați un document, aveți nevoie de un sistem de operare în jurul acestuia.21~22Not in a literal sense. În sens organizatoric.23~24## Prima piesă: un timp de execuție în care agentul poate dura25~26Un agent lucrează adesea în trepte. Privește starea, alege o acțiune, folosește un instrument, observă rezultatul, actualizează planul, repetă.27~28Dacă această buclă se află într-o singură solicitare HTTP, aveți imediat o problemă. Some actions are slow. Some await human input. Some fail and must be tried again. Unii trebuie să supraviețuiască unei implementări sau unui timeout.29~30Aici intră în joc fluxurile de lucru durabile, cozile de așteptare, fundalurile de lucru și mașinile de stat. They're not glamorous, but they're the difference between an agent who seems smart on demo and one you can leave working while you go get coffee.31~32Pentru mine, runtime-ul agentic trebuie să răspundă la întrebări foarte concrete:33~34- unde salvez starea intre un pas si altul?35- ce se întâmplă dacă procesul se stinge la jumătate?36- can I pause and ask for approval?37- Pot să repet o alergare ca să înțeleg de ce a făcut acea alegere?38- can I limit duration, memory, tools and cost?39~40Vercel face eforturi în acest sens cu SDK-uri AI, funcții, fluxuri de lucru și instrumente pentru crearea de agenți în cadrul aplicațiilor web. Dar ideea nu este doar Vercel. Ideea este că agentul are nevoie de o casă operațională, nu de un singur punct final.41~42## A doua piesa: sandbox, deoarece agentul trebuie sa se poata murdar fara sa se rupa43~44De îndată ce un agent scrie cod sau execută comenzi, este nevoie de un sandbox.45~46Pare un cuvânt tehnic, dar ideea este casnică: îi dai un banc de lucru. Poate deschide fișiere, poate instala dependențe, poate rula teste, poate face experimente, poate genera rezultate. Dacă înțelege greșit, ai limitat paguba. Dacă funcționează, promovați rezultatul.47~48Un sandbox agentic ar trebui să aibă câteva proprietăți:49~50- sistem de fișiere izolat;51- CPU, memorie și limite de timp;52- retea controlata;53- secrete montate doar la nevoie;54- jurnalele complete;55- posibilitatea de a exporta artefacte;56- resetare curată între curse, când este necesar.57~58Vercel Sandbox merge exact în această direcție: medii izolate pentru a rula cod, a instala dependențe, a lucra cu fișiere și a produce artefacte fără a rula totul în timpul de rulare al aplicației principale.59~60Acest lucru este mai important decât pare. Multe prototipuri agentice sar direct de la model la sistemul real. Modelul poate apela instrument. Instrumentele pot face lucruri. Totul pare elegant până la prima comandă greșită, prima dependență instalată în locul greșit, primul token care ajunge într-un jurnal.61~62Cutia de nisip este modul adult de a spune: mergeți mai departe, dar aici.63~64## A treia piesă: MCP și problema conectorului65~66Protocolul de context al modelului a devenit una dintre cele mai interesante părți ale ecosistemului, deoarece încearcă să standardizeze ceva care altfel devine rapid de negestionat: modul în care un model descoperă și folosește instrumente externe.67~68Fără un standard, fiecare integrare este o mică insulă. Un conector pentru GitHub făcut într-un fel, unul pentru Slack făcut altul, unul pentru baze de date cu semantică diferită, unul pentru automatizarea browserului care arată ca nimic.69~70MCP propune un limbaj comun între client și server: instrumente, resurse, prompturi, autorizații, transport, descoperire. Nu rezolvă în mod magic guvernarea și securitatea, dar oferă o gramatică.71~72Și gramatica contează. Când un agent se poate conecta la mai multe instrumente, întrebarea nu este doar „poate să o facă?”. Problema este „înțelege el ce poate face, cu ce limite, în numele cui și lasă ce urmă?”.73~74Pentru mine MCP nu este hype pentru că „face apeluri de instrumente”. Am făcut asta deja. Este hype pentru că schimbă centrul de greutate de la integrarea unică la catalogul operațional de instrumente.75~76Într-o arhitectură agentică bună, MCP devine un fel de panou de corecție:77~78- GitHub pentru cod și probleme;79- Slack pentru context conversațional;80- Linear sau Jira pentru lucru planificat;81- baza de date doar citire pentru analize;82- browser sau scraper controlat pentru site-uri externe;83- stocarea documentelor;84- medii izolate de execuție;85- sisteme interne expuse cu permisiuni stricte.86~87Partea dificilă este că un catalog de instrumente fără politici este doar o modalitate mai elegantă de a crea haos.88~89## A patra piesă: identitate și permisiuni90~91Aceasta este zona în care multe demonstrații închid ochii.92~93Un agent acționează în numele cuiva. Deci trebuie să fie clar cine este subiectul acțiunii.94~95Folosește permisiunile utilizatorului? De un cont de serviciu? Un spațiu de lucru? Ai acces temporar sau permanent? Puteți citi totul sau doar câteva resurse? Poți să scrii? Poți anula? Can he text real people?96~97Daca nu raspunzi bine la aceste intrebari, mai devreme sau mai tarziu vei construi un asistent cu cheile de la casa si fara amintire cine i le-a dat.98~99Regula generală care îmi place este aceasta: agentul trebuie să poată face mai puțin decât omul, nu mai mult decât omul. Și când trebuie să facă ceva mai riscant, trebuie să se oprească și să întrebe.100~101Aceasta înseamnă OAuth, token scoped, secret management, audit log, tool policy, allowlist, step de aprobare. Chestii nu prea romantice. Lucruri necesare.102~103## A cincea piesă: memorie și context, dar fără a acumula gunoi104~105Agenții au nevoie de memorie, dar memoria este periculoasă când devine mansardă.106~107Există cel puțin trei tipuri de memorie:108~109- run memory: ce s-a întâmplat în această execuție;110- memoria de proiect: convenții, decizii, constrângeri;111- memorie personală sau de echipă: preferințe, ton, ritualuri, procese.112~113Punerea totul în prompt este scurtătura. Funcționează până nu mai funcționează. Trebuie avută grijă de memorie utilă: indexată, actualizată, expirată, verificată, citată.114~115Un agent care își amintește rău este mai rău decât un agent care nu își amintește. Pentru că vorbește cu încredere.116~117Prin urmare, infrastructura trebuie să includă regăsire, fișiere de instrucțiuni, bază de cunoștințe, încorporare atunci când este necesar, dar și curățare. Avem nevoie de o cultură a memoriei: ce intră, cine o aprobă, când decade, cum o corectez.118~119## A șasea piesă: observabilitate, evaluare și reluare120~121Dacă un agent greșește, jurnalul „numit model” nu este suficient.122~123Vrei să vezi traseul. Ce context a primit? Ce instrumente erau disponibile? Ce instrument ai ales? Cu ce argumente? Ce răspuns ai primit? Cât a costat? Unde s-a blocat? Omul a aprobat ceva? Modelul de eroare, instrumentul, promptul, datele sau permisiunea este o eroare?124~125Aici agenții sunt mai mult ca sisteme distribuite decât chatbot.126~127Aveți nevoie de urme care pot fi citite, nu doar de jurnalele de text. Trebuie să poți reda o alergare. Este necesar să comparați două versiuni ale aceluiași agent pe sarcini cunoscute. Trebuie să măsurăm regresiile: nu numai că „răspunde mai bine”, dar „închide biletul potrivit fără a atinge fișierele nesolicitate”.128~129Evaluările agentice sunt mai dificile decât evaluările text, deoarece includ acțiuni. Nu este suficient să compari un șir așteptat. Trebuie să te uiți la secvențe, efecte secundare, calitatea artefactului, timp, cost, număr de intervenții umane.130~131Lucrul amuzant este că mereu ne întoarcem acolo: ingineria software. Teste, medii, urme, rollback. Cu excepția faptului că codul decide acum și ce să facă în continuare.132~133## A șaptea piesa: interfețele umane134~135Agentul nu trebuie să trăiască doar într-un chat.136~137Unii agenți au nevoie de un panou. Alții o pagină cu stare și jurnal. Altele dintr-un buton „aprobă”. Mai multe comentarii inline. Încă altele dintr-un CLI.138~139Interfața de utilizare schimbă comportamentul. Dacă singura modalitate de a controla un agent este să scrieți un mesaj lung, utilizatorul îi va oferi agentului instrucțiuni vagi. Dacă, totuși, vede planul, diferența, sursele, riscurile și următoarea acțiune, poate interveni cu precizie.140~141O infrastructură decentă a agenților include suprafețe de control:142~143- current status;144- plan editabil;145- artefacte produse;146- diferență;147- cereri de aprobare;148- cronologie;149- buton de oprire;150- butonul de reîncercare;151- permisiuni vizibile.152~153Pare banal, dar nu este. Diferența dintre „AI înfiorător” și „asistent de încredere” este adesea doar că acesta din urmă vă arată unde are mâinile.154~155## Stiva mentală156~157Dacă ar fi să-l desenez astăzi, stiva minimă de agenți ar fi aceasta:158~1591. Model: raționament, generare, apelare instrument, multimodal dacă este necesar.1602. Orchestrare: buclă, pas, planificator, politică, om-în-buclă.1613. Timp de rulare durabil: flux de lucru, coadă, reîncercare, pauză, reluare.1624. Sandbox: execuție de cod, sistem de fișiere izolat, limitări, artefacte.1635. Stratul instrument: MCP, API intern, browser, bază de date, depozit.1646. Stratul de identitate: OAuth, scope, secret, audit, policy.1657. Stratul de memorie: contextul proiectului, regăsire, instrucțiuni, expirare.1668. Observabilitate: indicatori de urmărire, reluare, evaluare, cost și calitate.1679. Suprafața produsului: chat când este suficient, tablou de bord când este necesar, revizuiește când contează.168~169Cadrul agentic acoperă în principal punctele 2 și o bucată din punctul 1. Restul este munca adevărată.170~171## Ce aș face în practică172~173Dacă o echipă mi-ar spune „vrem agenți în producție”, nu aș începe cu zece agenți.174~175Aș începe cu un flux de lucru mic, repetitiv și observabil. De exemplu: deschideți PR-uri de întreținere, actualizați documentația din problemele închise, pregătiți o revizuire săptămânală, triați erori duplicate, generați teste pentru fișierele afectate.176~177Atunci aș stabili limite foarte clare:178~179- fara scris fara crengi sau nisip;180- fără secrete în prompt;181- instrumente în lista de permise;182- aprobarea umana pentru actiunile externe;183- log și urmărire obligatorii;184- buget pe run;185- ieșire întotdeauna inspectabilă.186~187Abia atunci m-as extinde.188~189Agenții nu eșuează doar pentru că modelele înțeleg greșit. Ei eșuează pentru că le punem în medii vagi, cu permisiuni și așteptări teatrale confuze.190~191## Lectura mea192~193Infrastructura agentică este plictisitoare în cel mai bun mod.194~195Nu este partea care te face să aplaudați în demo. Este partea care vă permite să utilizați demo-ul luni dimineața, cu oameni reali, date reale și consecințe reale.196~197Viitorul agenților nu va fi decis doar de cine are cel mai bun model. O va decide oricine construiește cel mai bun loc în care să-l facă să lucreze: izolat când experimentează, conectat la nevoie, mereu observabil, autorizat cu criterii și suficient de umil încât să se oprească când nu știe.198~199Acolo, agenții nu mai sunt o jucărie și devin infrastructură.200~201## Surse202~203- [Vercel: Cum să construiți agenți AI cu Vercel și cu SDK-ul AI](https://vercel.com/kb/guide/how-to-build-ai-agents-with-vercel-and-the-ai-sdk)204- [Vercel Docs: Sandbox](https://vercel.com/docs/sandbox)205- [Vercel Docs: Lucrul cu Sandbox](https://vercel.com/docs/sandbox/working-with-sandbox)206- [Vercel Docs: MCP](https://vercel.com/docs/mcp)207- [Model Context Protocol: Specification](https://modelcontextprotocol.io/specification)208- [OpenAI: noi instrumente pentru agenții de construcții](https://openai.com/index/new-tools-for-building-agents/)209- [Blog Cloudflare: agenți pe Cloudflare](https://blog.cloudflare.com/agents-on-cloudflare/)210~
NORMAL · agentic-infrastructure-stack.md [readonly]210 lines · :q to close