Sari la conținut
← Studii de caz
Captură de ecran din Trei unelte open-source de infrastructură, construite cu agenți AI de programare

Dezvoltare bazată pe AI4 min read

Trei unelte open-source de infrastructură, construite cu agenți AI de programare

nftably, birdy și meerkat — un UI de firewall, un control plane BGP și o consolă IDS — livrate în aproximativ patru luni, cu agenții făcând cea mai mare parte a tastatului și oamenii deținând fiecare decizie de design și de merge.

  • AI
  • Agentic Development
  • Open Source
  • Go

Context

Între februarie și mai 2026 am livrat trei unelte open-source de infrastructură, fiecare un singur binar Go cu un web UI încorporat și o bază de date SQLite, fiecare proiectată să ruleze pe mașina pe care o administrează:

  • nftably — un web UI pentru nftables care administrează firewall-ul ca modelul său real de obiecte, aplică modificările atomic și armează un auto-revert, astfel încât o regulă greșită să nu te poată bloca afară. (anunț)
  • birdy — un web UI pentru BIRD 2.x: peer-i BGP, politici, RPKI și RTBH modelate într-o bază de date și randate în întregul bird.conf, cu aceeași siguranță a revert-ului armat. (anunț)
  • meerkat — o consolă pentru Suricata a cărei pagină principală arată adresele-sursă agregate în decizii, nu un perete de alerte care defilează. (anunț)

Toate trei sunt licențiate 0BSD, împachetate pentru Debian și Docker și în producție pe propriul nostru edge AS210622. Și toate trei au fost construite cu agenți AI de programare făcând cea mai mare parte a tastatului — acest studiu de caz este versiunea condensată a articolului complet.

Constrângeri

O echipă mică nu poate tasta manual, într-un trimestru, straturile CRUD, renderer-ele și instalația de UI pentru trei produse — iar software-ul de rutare și de firewall are un mod de eșec pe care majoritatea software-ului nu îl are: propria greșeală a uneltei poate tăia conexiunea folosită pentru a o repara. Așa că setul de constrângeri a fost: output la scara agenților, cu semantică de siguranță deținută de oameni și fără să livrăm nimic necitit.

Abordare

Fiecare proiect urmează același workflow:

  1. Un PLAN.md scris de om înainte de orice cod — arhitectură, model de date, milestone-uri, non-obiective explicite. Un document de design se dovedește a fi un prompt mult mai bun decât orice conversație.
  2. Gating pe milestone-uri — fiecare milestone utilizabil independent, incapabil să strice ce nu a atins cel anterior. Ai încredere în unealtă ca viewer read-only înainte ca ea să scrie vreodată o configurare.
  3. Agenții tastează, CI verifică, oamenii fac review — agenții au produs handler-ele, renderer-ele, testele, Dockerfile-urile, unit-urile systemd și packaging-ul; fiecare diff a trecut de lint, teste și un cititor uman înainte de merge.
  4. Semantica de siguranță rămâne umană. Auto-revert-ul armat, modelul explicit de ownership al configurării, refuzul lui birdy de a randa ceva ce arată ca un route leak — acestea au fost decizii de design luate de oameni care au fost blocați afară din mașini remote. Agenții le-au implementat bine; nu ei le-au propus.

Ce a fost greu

Review-ul a devenit bottleneck-ul. Când generarea de cod este ieftină, fiecare oră se mută pe cititul diff-urilor. Am învățat să respingem diff-urile supradimensionate și să re-specificăm în loc să le edităm linie cu linie — disciplina surprinsă în ghidul nostru de teren pentru review-ul codului scris de AI.

Planurile diverg, și e în regulă. PLAN.md-ul original al lui birdy listează tabele care nu au fost construite niciodată și omite funcționalități care au fost livrate. Păstrăm planul ca înregistrare a intenției, actualizat la finalul fiecărei sesiuni, astfel încât următoarea să înceapă cu context real, nu cu arheologie.

Onestitate despre maturitate. Fiecare README spune „software beta, așteaptă-te la bug-uri”, cu avertismente explicite despre ce va suprascrie fiecare unealtă. Output-ul la scara agenților nu scurtcircuitează testarea pe care o merită o piesă de infrastructură de rutare, și nu vom pretinde altceva.

Unde suntem acum

Trei unelte publice, în producție pe propria noastră rețea și menținute — dovezi, nu un benchmark. Output-ul a scalat mult dincolo de ce tastează manual această echipă, și a făcut-o pentru că design-ul și review-ul au rămas umane, nu în ciuda acestui fapt. Filosofia inginerească pe care o împărtășesc — local-first, single-binary, cu siguranță armată — este descrisă în Unelte care rulează pe router.

Dacă vrei acest model de lucru în echipa ta — planurile, guardrail-urile, disciplina de review — oferim consultanță exact pe asta.