Skip to main content

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_choose rutira 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 alat plan_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-memory server ili na BrainCore — oba rade.
  • Hardenovani worker-i. Svaki worker radi unutar sandbox-exec (macOS) ili bwrap (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 run se forkuje u pozadinu posle planiranja, ispisuje PID i URL dashboard-a, vraća shell. REST API (/api/projects, /api/projects/:id/swarms) i signal(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/sqlite u ~/.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_choose role-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-memory da se razvijaju nezavisno — i pustila AISWARM da stigne do produkcije, ne pretvarajući se u research projekat.