Izabrani projekti
AISWARM
u izradi (testovi)
Distributed cognitive workforce runtime — Claude, Codex, DeepSeek i lokalni Llama jedan pored drugog nad istim codebase-om, ispod njih a2abridge (messaging) i BrainCore (memorija).
- Go 1.25
- tmux
- git worktree
- SQLite (modernc.org)
- MCP
- A2A 1.0
- BrainCore
- Bubble Tea
- REST API
- sandbox-exec / bwrap
Problem
Jedan AI coding agent, koliko god bio sposoban, gubi se u sopstvenom kontekstu, ispadima sopstvenog provajdera i sopstvenoj cenovnoj krivoj. Iskreni produkcijski pattern je roj: nekoliko specijalizovanih agenata nad istim codebase-om, svaki bira posao u kome je najjači, planner deli rad, verifier odlučuje kada eskalirati.
AISWARM je ispalo iz šest meseci takvog rada i umora od improvizacija. Smisao ima samo kao trijada: AISWARM kao runtime, a2abridge kao otvoreni A2A 1.0 messaging mesh, i BrainCore kao cognitive memory plane. Svaka komponenta se isporučuje samostalno; zajedno čine distributed cognitive workforce.
Arhitektura
- Jedan pure-Go binari, četiri provajdera. Claude Code, Codex, DeepSeek i lokalni Llama (LM Studio / llama.cpp) rade paralelno, svaki u svojoj tmux sesiji i svom git worktree-u, pod jedinstvenim RPC ugovorom.
- KindPlanner sa 12 tipiziranih agent roles. Plan se širi na uloge (planner, scaffolder, refactorer, tester, reviewer, doc-writer, …); role-aware
auto_chooserutira taskove 30/30/20/20 između provajdera (high-stakes → Claude, scaffolding → Llama, testovi/dokumenti → Codex, low/medium spajanje → DeepSeek). Plan se može ponovo proširiti u toku rada kroz MCP alatplan_expand. - CLI shim u Anthropic formatu. Mali adapter normalizuje bilo koji OpenAI-kompatibilan backend (DeepSeek, Llama preko LM Studio) na Anthropic oblik request/response — ostatak sistema poznaje jedan protokol.
- 3-tier verifier. Svaka izmena prolazi kompozitni verifier: tier 1 pokreće sopstvenu komandu projekta (npr.
go test ./...), tier 2 reprodukuje izmenu nad integration granom i hvata regresije, tier 3 traži semantičku potvrdu od LLM judge-a. Neuspeh se vraća u red sa strukturiranim feedback-om. - Peer-helper consult (
ASK_PEER). Zaglavljen worker može da emituje marker, a dispatcher spawn-uje cross-model helpera u novom tmux prozoru — read-only, one-shot, sa tvrdim limitom od 3 konsultacije po tasku i polling reply fajla. Originalni worker drži svoju sesiju; helper upisuje odgovor i izlazi. - Failover chain + soft pause/resume. Ako provajder vrati 5xx, udari u rate-limit ili timeout — planner pomera task niz tipiziran lanac. Otkazivanje taska ne ubija zavisne: kaskada se pauzira i čisto nastavlja kada se roditeljski task popravi.
- Dekompozicija subtaskova kroz MCP. Veliki taskovi se seku na atomske komade koje worker zaista može da završi u jednom turn-u.
- Cost ledger. Tokens, dolari i latency se prate po provajderu i po tasku; dashboard pokazuje koji provajder se zaista isplati.
Tehnički detalji
- 33 internal paketa, 8 binarija — Phase 6 zatvorena. Runtime je prešao liniju „radi pod opterećenjem”: planner, dispatcher, runner, verifier, merger, watchdog, quota, state, mcp, a2abridge client, braincore client, language autodetect, notify, consult, tui, config — svi zeleni, lint silent.
- Ispod — a2abridge. Worker-i i orkestrator komuniciraju preko otvorenog A2A 1.0 protokola — ne preko proizvoljnih pipe-ova — pa se bilo koji eksterni A2A agent priključuje besplatno.
- BrainCore (ili bilo koja MCP memorija) kao side-channel. AISWARM namerno ne ugrađuje sopstveni cognitive memory engine. Memorija je side-channel preko MCP: usmeri ga na svoj
total-agent-memoryserver ili na BrainCore — oba rade. - Hardenovani worker-i. Svaki worker radi unutar
sandbox-exec(macOS) ilibwrap(Linux), u svom git worktree-u sa per-worktree izuzecima.a2a/i.aiswarm/— koordinacioni fajlovi nikada ne završe u commit-u. - Detach-by-default daemon.
aiswarm runse forkuje u pozadinu posle planiranja, ispisuje PID i URL dashboard-a, vraća shell. REST API (/api/projects,/api/projects/:id/swarms) isignal(0)liveness probe omogućavaju WebUI-ju da oživi mrtvog daemona dugmetom ▶. - Živi dashboard, dve površine. Bubble Tea TUI za terminal i WebUI sa A2A i Memory tabovima u browser-u — obe čitaju iz istog atomic flock-protected JSON state store-a.
- Pure-Go, zero CGO. SQLite preko
modernc.org/sqliteu~/.aiswarm/aiswarm.db. Jedinstveni static binari; Docker nije potreban za sam orkestrator.
Trenutni status
Phase 6 zatvorena: 33 paketa zelena, lint silent, smoke 2/2 MERGED, 8 binarija u opticaju. Repozitorijum ostaje privatan dok se stabilizuje wire protokol između planner-a, verifier-a i worker-a, i dok se tunuju cost-routing heuristike na stvarnim radnim opterećenjima. Kada orchestration sloj dostigne zrelost a2abridge i BrainCore — AISWARM će biti otvoren pod istom MIT licencom kao i njegova dva peer-a.
Lekcije do sada
- Roj se ne kvari kao usamljeni agent. Usamljeni se zaglavi; roj kaskadira. Pola dizajn-budžeta otišlo je na zaustavljanje kaskada — peer-helper consult, soft pause/resume i 3-tier verifier postoje upravo zbog toga.
- Izabrati pravog worker-a vrednije je od izabranja pravog modela. Provajder 30 % jeftiniji, tačan 95 % vremena na svojoj traci, bolji je nego top model nad svim. Zato je
auto_chooserole-aware, a ne samo model-aware. - Verifier nije opcionalan, i jedan nivo nije dovoljan. „Veruj izlazu modela” je upravo greška koja sutradan opravdava verifier-a. „Veruj unit testovima” je greška koja nedelju kasnije opravdava tier 2 i tier 3.
- Memorija pripada izvan runtime-a. Ugrađivanje memory engine-a u orkestrator bilo je očigledna greška. Memorija kao side-channel preko MCP omogućila je BrainCore i
total-agent-memoryda se razvijaju nezavisno — i pustila AISWARM da stigne do produkcije, ne pretvarajući se u research projekat.