Kako izgraditi infrastrukturu za agente koja se skalira od vašeg laptopa do preduzeća
Početi lokalno nije razmišljanje "na malo". To je strateško razmišljanje.
Stripe je nedavno objavio seriju tekstova o tome kako grade „Minions“ — potpuno autonomne agente za kodiranje koji preuzimaju zadatak i završavaju ga od početka do kraja bez ljudske intervencije. Jedan agent čita codebase, drugi piše implementaciju, treći pokreće testove, četvrti recenzira rezultat. Sve paralelno. Sve koordinisano. Sve proizvodi produkcijski spreman kod u velikom obimu.
Čitajući to, većina inženjera reaguje na jedan od dva načina. Ili „to je godinama daleko od nas“ — ili počnu da razmišljaju o tome koji temelji moraju biti postavljeni da bi se uopšte krenulo u tom pravcu.
Ovaj članak se bavi drugom reakcijom.
Ono što Stripe opisuje nije proizvod koji kupujete. To je sposobnost koju gradite, inkrementalno, na čvrstoj infrastrukturi. I ta infrastruktura — način na koji se konfiguracija agenta čuva, verzioniše, distribuira i komponuje — jeste ono što razdvaja timove koji mogu ozbiljno skalirati AI od timova koji još uvek copy-pastuju promptove u chat prozore.
Ovu disciplinu nazivam Agentic Platform Engineering. Njen prvi princip je jednostavan: tretirajte inteligenciju agenta kao infrastrukturu, a ne kao improvizaciju.
Problem na bilo kom nivou skaliranja
Bilo da ste solo inženjer sa 10 repozitorijuma ili platformski tim sa 200, nailazite na isti strukturalni problem kada pokušate ozbiljno da radite sa AI agentima.
Na individualnom nivou, to izgleda ovako: trošite vreme na dobru konfiguraciju agenta — kreirate instrukcije, gradite procedure za višekratnu upotrebu, definišete šta treba, a šta ne treba da radi u zavisnosti od toga gde radite. Zatim promenite mašinu, reinstalirate alat ili probate drugog agenta. Vaša konfiguracija je nestala. Počinjete ispočetka.
Na nivou tima je još gore: svaki inženjer ima svoju privatnu, nedokumentovanu, neprenosivu postavku agenta. Ne postoji zajedničko znanje o tome kako agenti treba da se ponašaju u vašem kodu, nema doslednosti u onome što mogu i ne mogu da urade, nema načina da se novi član uvede u agentic workflow. AI sposobnost vašeg tima ne može da se skalira jer živi u pojedinačnim glavama i lokalnim fajlovima.
A na nivou preduzeća — nivou na kojem Stripe operiše — ne možete ni početi da razmišljate o autonomnim agentima koji pokreću pipeline-ove ako niste rešili fundamentalno pitanje: gde živi konfiguracija agenta, ko je vlasnik i kako ona stiže do svakog konteksta gde je potrebna?
Većina inženjera komunicira sa AI agentima na jedan od dva načina:
-
Ad-hoc: Bez konfiguracije, samo prompting. Radi za jednokratne zadatke, ali agent nema memoriju o vašem stack-u, konvencijama ili ograničenjima.
-
Single-file config: Jedan veliki
AGENTS.mdiliCLAUDE.mdu korenu repozitorijuma. Bolje, ali se ne skalira — iste instrukcije se ubacuju svuda, bez obzira na to da li su relevantne, i žive u jednom repozitorijumu dok vi radite na njih dvadeset.
Nijedan pristup nije infrastruktura. Nijedan se ne može skalirati. Nijedan vam ne daje ono što vam je potrebno za prelazak na autonomne multi-agent sisteme.
Pitanje je: kako bi infrastruktura zapravo izgledala?
Arhitektura: Tri repozitorijuma, jedan sistem
Rešenje koje sam osmislio razdvaja odgovornosti u tri zasebna repozitorijuma. Ovo nije trik za ličnu produktivnost, već namerni arhitektonski obrazac koji oslikava kako platform engineering funkcioniše za bilo koju zajedničku infrastrukturu — verzionišete je, dokumentujete šta postoji i odvajate interface od implementacije.
agent-library/ ← Mozak (inteligencija nezavisna od alata)
agent-setup/ ← Most (deployment specifičan za alat)
resource-catalog/ ← Mapa (inventar svega)
Dozvolite mi da objasnim svaki od njih.
1. agent-library — Mozak
Ovo je jedinstveni izvor istine za sve što agent zna i kako se ponaša. Ne sadrži konfiguraciju specifičnu za alat. Ako sutra pređem sa jednog AI alata za kodiranje na drugi, ovaj repo ostaje netaknut.
Struktura:
agent-library/
├── library.yaml ← Centralni manifest
├── SKILLS-INDEX.md ← Indeks svih veština čitljiv ljudima
├── layers/ ← Instrukcije specifične za kontekst
│ ├── global.md ← Identitet, principi, mapa okruženja
│ ├── repos.md ← Zajedničke git konvencije
│ ├── work/ ← Radni domen
│ │ ├── domain.md ← Konzervativna pravila, bezbednosna ograničenja
│ │ ├── terraform.md ← Terraform-specifičan workflow
│ │ ├── gitops.md ← GitOps/FluxCD pravila
│ │ └── code.md ← Code konvencije
│ └── personal/ ← Lični domen
│ ├── domain.md ← Eksperimentalni mod, brza iteracija
│ ├── fintech-app.md
│ └── infra-gcp.md
├── skills/ ← Procedure za višekratnu upotrebu
│ ├── global/ ← Dostupno svuda
│ └── work/ ← Specifično za domen
├── rules/ ← Stalna ograničenja
└── prompts/ ← Prompt šabloni za višekratnu upotrebu
Ključni koncept su layer-i. Svaki sloj je Markdown fajl koji postaje AGENTS.md (ili ekvivalent) za određeni direktorijum. Dizajnirani su da budu kumulativni — agent ih učitava od roditeljskog ka detetu, gde svaki dodaje kontekst na prethodni.
Kada agent radi u ~/repos/work/terraform/, on učitava:
~/.agent/AGENTS.md → global.md (ko sam, osnovni principi)
~/repos/AGENTS.md → repos.md (git konvencije)
~/repos/work/AGENTS.md → work/domain.md (konzervativno, safety-first)
~/repos/work/terraform/AGENTS.md → work/terraform.md (terraform workflow)
library.yaml manifest je lepak. On deklariše svaki sloj, veštinu, pravilo i prompt — šta je to, gde živi u repozitorijumu i gde treba da bude raspoređeno na filesystem-u:
YAML
layers:
- name: work-terraform
description: "Terraform-specifična pravila za radni domen"
source: layers/work/terraform.md
target: ~/repos/work/terraform/AGENTS.md
scope: "~/repos/work/terraform/*"
skills:
- name: terraform-plan
description: "Terraform plan/apply proces rada"
source: skills/work/terraform-plan.md
scope: "~/repos/work/terraform/*"
2. agent-setup — Most
Ovaj repo je adapter između mozga nezavisnog od alata i specifičnog AI agent alata koji koristim danas. Ako sledeće godine promenim alat, menjam samo ovaj repo. Mozak ostaje isti.
Njegovo jezgro je jedna setup.sh skripta koja čita library.yaml i raspoređuje sve putem symlink-ova:
Shell
# Kreira: ~/repos/work/terraform/AGENTS.md → agent-library/layers/work/terraform.md
# Kreira: ~/.agent/skills/terraform-plan → agent-library/skills/work/terraform-plan.md
# ... i tako dalje za svaki sloj, veštinu, pravilo i prompt
Zašto symlinks umesto kopija?
Zato što kada izmenim sloj u agent-library, promena je odmah aktivna svuda. Nije potreban re-deployment.
3. resource-catalog — Mapa
Ovo je indeks svega što postoji u mom inženjerskom ekosistemu. Prati Backstage format kataloga.
YAML
# components/agent-library.yaml
apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: agent-library
description: "Biblioteka konfiguracije agenta nezavisna od alata"
annotations:
github.com/project-slug: tvoj-username/agent-library
spec:
type: ai-agent-config
lifecycle: production
owner: tvoje-ime
system: personal-ai-agent-platform
Svaki repozitorijum koji posedujem registrovan je ovde sa svojim tipom, vlasnikom i lokacijom izvora.
Veštine: Biblioteka procedura za višekratnu upotrebu
Pored slojeva, biblioteka sadrži skills — korak-po-korak procedure za uobičajene zadatke.
# Skill: Terraform Plan
Koristi ovu veštinu kada radiš sa Terraform-om u radnom domenu.
## Koraci
1. Proveri kontekst — potvrdi direktorijum i workspace
2. terraform fmt -recursive
3. terraform validate
4. terraform plan -out=tfplan
5. Pregledaj plan — sumiraj šta će se promeniti
6. Istakni rizike — označi uništavanja ili kritične promene
7. Čekaj potvrdu — nikada ne primenjuj bez eksplicitnog odobrenja
...
## Crvene zastavice (Zaustavi se i pitaj)
- Svaki resurs označen za uništenje
- Promene u IAM politikama
- Promene u produkcijskim bazama podataka
Dizajn za efikasnost tokena
Arhitektura rešava problem prevelikog konteksta na tri nivoa:
-
Nivo 1: Slojevi su ograničeni na direktorijume. Terraform sloj se aktivira samo u Terraform direktorijumu.
-
Nivo 2: Svaki sloj deklariše samo ono što je relevantno.
global.mdne navoditerraform-plan. -
Nivo 3: Meta-veštine su ograničene na svoj dom. Veština za kreiranje novih veština dostupna je samo unutar
agent-library/.
Rezultat: Agent ima tačno onoliko informacija koliko mu je potrebno za trenutni zadatak. Ništa više.
Oporavak od katastrofe za manje od 5 minuta
Ceo sistem je izgrađen uz jednu garanciju: ako se sve pokvari, možete sve ponovo izgraditi za manje od 5 minuta.
Shell
# Korak 1: Klonirajte tri repozitorijuma
mkdir -p ~/repos && cd ~/repos
git clone git@github.com:tvoj-username/agent-library.git
git clone git@github.com:tvoj-username/agent-setup.git
git clone git@github.com:tvoj-username/resource-catalog.git
# Korak 2: Deploy
cd agent-setup && bash setup.sh
# Korak 3: Verifikacija
cd ~/repos/work/terraform && tvoj-agent "U kom sam kontekstu?"
Mentalni model: Package Manager za inteligenciju agenta
Razmišljajte o ovome kao o menadžeru softverskih paketa, ali za to kako agenti razmišljaju.
library.yaml je vaš package.json. setup.sh je vaš npm install. Slojevi su vaši moduli. Razlika je u tome što ovi "paketi" nisu kod, već instrukcije za rezonovanje u datom kontekstu.
Zaključak
Stripeovi Minions su impresivni, ali oni su rezultat izgradnje prave infrastrukture.
Arhitektura opisana ovde je ta infrastruktura, počevši od najmanjeg mogućeg nivoa. Jedan programer, jedna mašina, tri git repozitorijuma.
Počnite lokalno. Razmišljajte u velikim razmerama. Izgradite temelj koji omogućava sledeći korak.
To je Agentic Platform Engineering.
Autor: Saul Fernandez
Izvor: dev.to
Komentari
Nema komentara. Šta vi mislite o ovome?