Pillar stran

Razvoj programske opreme z AI

Preverjen proces avtomatizacije razvoja z ekipo agentov AI — od analize zahtev, prek kodiranja in večplastnih testov (unit, integration, E2E, security, performance), vse do produkcijske uvedbe s popolno revizijsko sledjo.

Razpolagamo z ekipo specializiranih agentov AI, ki sodeluje v vsaki fazi življenjskega cikla razvoja programske opreme — od analize zahtev, prek načrtovanja arhitekture, kodiranja in večplastnih testov, vse do pregleda kode, dokumentacije in uvedbe s popolno revizijsko sledjo.

Na ta način razvijamo lastne produkte ESKOM AI — večagentno platformo HybridCrew, sistem za revizije Compliance, mikrostoritev KRS+CRBR in številne integracije. Enak proces uporabljamo pri projektih za stranke: tako pri gradnji novih mikrostoritev kot pri modernizaciji zapuščinskih sistemov.

Ta članek opisuje, kako to deluje v praksi: katere naloge prevzamejo agenti, katere ostajajo na strani človeka, katere teste izvajamo in zakaj je ta proces ponovljiv.

Zakaj avtomatizirati razvoj?

Klasični cikel razvoja programske opreme (analiza → koda → testi → pregled → uvedba) v zreli ekipi običajno traja 2-4 tedne za funkcionalnost srednje velikosti. Večina tega časa so ponavljajoče se naloge: pisanje boilerplate, generiranje unit testov, pregledovanje sprememb, posodabljanje dokumentacije, generiranje migracij podatkovne baze. Vse so podvržene avtomatizaciji.

Cilj našega procesa je preprost: dve do tri osebe z agenti AI dostavijo vrednost, ki jo je prej dajala ekipa 8-10 ljudi — brez izgorelosti, z boljšo kakovostjo (več testov, boljši pregled kode, popolna dokumentacija) in s krajšim časom do trga.

To ni „AI bo nadomestil programerje". To je „programerji z AI bodo nadomestili programerje brez AI". Izkušeni inženirji ostajajo nepogrešljivi — načrtujejo arhitekturo, sprejemajo strateške odločitve, pregledujejo zapletene spremembe. Agenti prevzemajo rutino.

Šest faz procesa

Cevovod od zahtev do produkcije. Vsako fazo izvajajo specializirani agenti AI, človek pa nadzira in potrjuje ključne odločitve.

1

Analiza zahtev in arhitektura

Agenti AI analizirajo poslovno dokumentacijo, pogovore s stranko (iz transkripcij), obstoječo kodo. Predlagajo mikrostoritveno arhitekturo, shemo podatkovne baze, seznam končnih točk, model dovoljenj. Človek (CTO/arhitekt) pregleda in potrdi predlog pred začetkom kodiranja.

2

Pisanje kode (TDD)

Najprej testi, nato implementacija. Backend agent piše API v FastAPI/Express, frontend agent komponente React. Vsaka sprememba = ločen pull request s čistim commit sporočilom. Standardi kodiranja (Black, ESLint, Prettier) se uveljavljajo samodejno.

3

Večplastno testiranje

Unit (pytest, Jest), integration (testcontainers s pravim PostgreSQL), E2E (Playwright), UI snapshot, security (OWASP, gitleaks, bandit), performance (k6/locust), accessibility (axe). Vsak PR zažene celoten cevovod — neuspel test = blokada zlivanja.

4

Pregled kode z AI

Agent SecurityReviewer skenira glede na OWASP Top 10, agent QualityReviewer preverja berljivost in vzorce, agent ArchitectureReviewer preverja skladnost s preostalim delom sistema. Sporna mesta se eskalirajo k človeku.

5

Dokumentacija in CHANGELOG

Vsaka sprememba logike = dvig verzije + vnos v CHANGELOG.md v formatu Keep a Changelog. Dokumentacija API (OpenAPI/Swagger) se generira samodejno. CLAUDE.md se posodablja po vsaki seji z novimi naukami.

6

Uvedba z Change Request

Uvedba vedno prek Git (NIKOLI neposreden scp). Najprej testno okolje, preverjanje s Playwright, šele nato produkcija po odobritvi CR. Skripta uvedbe vsebuje načrt za rollback (<5 min) in zdravstvene preverbe.

Kaj podjetje pridobi?

Tisoči samodejnih testov

Vsak produkcijski projekt ima od nekaj tisoč do nekaj deset tisoč testov — unit, integration, E2E, security, performance. Regresije se odkrijejo v CI, preden dosežejo uporabnike.

Popolna revizijska sled

Vsaka sprememba v kodi, podatkovni bazi ali konfiguraciji je zabeležena: Git, audit log v bazi, CHANGELOG, Change Request. Izpolnjuje zahteve ISO 27001, EU AI Act in GDPR.

Skalabilnost ekipe

Dve do tri osebe z agenti AI dostavijo vrednost, ki jo je prej dajala ekipa 8-10 ljudi. Brez izgorelosti, z boljšo kakovostjo in krajšimi roki.

Eskalacija na močnejše modele

LLM usmerjanje izbere pravi model za nalogo: drobne spremembe — lokalni Ollama (strošek $0), zapletena arhitektura — Claude Opus. Optimizacija stroškov in kakovosti v enem.

Ponovljivost in standardi

Vsak projekt uporablja iste standarde: feature branch workflow, squash merge, Conventional Commits, CHANGELOG, EU AI Act, GDPR. Nov razvijalec razume strukturo v 1 dnevu.

Varnost po privzetku

Gitleaks pri pre-commit + CI, skrivnosti v HashiCorp Vault, zasebni repozitoriji, SSO Keycloak, Tailscale VPN za interne storitve. Brez kompromisov za hitrost.

Večplastno testiranje — temelj kakovosti

Vsaka sprememba v produkcijski kodi prehaja skozi popoln cevovod testov. Brez izjem — celo popravek tipkarske napake v komentarju sproži CI, ker je testni cevovod vgrajen v Git hook, ne pa politična odločitev razvijalca.

  • Unit testi: pytest, Jest, vitest. Preverjajo posamezne funkcije in razrede. Pokritost >80% za kritično kodo.
  • Integration testi: testcontainers s pravimi instancami PostgreSQL, Redis, Vault. Mocki samo za zunanje API tretjih oseb.
  • E2E testi (end-to-end): Playwright v Firefoxu (privzeto), Chrome (po izbiri). Simulirajo celotne uporabniške poti: prijava → akcija → preverjanje.
  • UI testi (snapshot, accessibility): Playwright + axe-core. WCAG 2.0 AA kot izhodišče, Lighthouse 100/100/100/100 kot cilj.
  • Varnostni testi: OWASP Top 10 (semgrep, bandit, eslint-plugin-security), gitleaks (skeniranje skrivnosti pri pre-commit in CI), trivy (skeniranje Docker slik).
  • Zmogljivostni testi: k6 ali locust za load teste, preverjanje p95/p99 response time pod obremenitvijo.
  • Regresijski testi: celoten suite se izvede pred vsako produkcijsko uvedbo. Vsaka prijavljena napaka postane regresijski test.
  • Smoke testi: minimalen niz 5-10 testov, izvedenih po uvedbi v produkcijskem okolju (ali se je aplikacija sploh zagnala).
  • Acceptance testi: poslovni testi (Cucumber/Gherkin), ki potrjujejo, da je bila zahteva izpolnjena.

Neuspel test = blokada zlivanja. Brez izjem. Če je test „flaky" (nestabilen), diagnostični agent analizira vzrok in popravi test ali kodo, vendar nikoli ne odstrani testa brez odločitve človeka.

Tipični primeri uporabe

Vzorci, ki jih uporabljamo najpogosteje. Vsak ima svoj nabor agentov, orodij in predlog. Čas do vrednosti se meri v tednih, ne v mesecih.

Modernizacija zapuščinskega sistema

  • Stara monolitna aplikacija (PHP/.NET, brez testov, težka za vzdrževanje)
  • Agenti razgradijo monolit na mikrostoritve (inkrementalen proces, brez izpada)
  • Generirajo karakterizacijske teste (zajemajo obstoječe vedenje) pred refaktoringom
  • Migracija podatkov s popolno revizijsko sledjo in načrtom rollback

Nova podjetniška mikrostoritev

  • Specifikacija na vhodu (Jira ticket, PRD dokument, transkripcija sestanka)
  • Arhitektura → koda → testi → pregled → uvedba v 2-3 tednih
  • Integracija z obstoječim SSO (Keycloak), audit logom, monitoringom
  • Popolna skladnost z EU AI Act in GDPR od prve vrstice kode

Integracija sistemov

  • Povezovanje ERP, CRM, KRS, Microsoft Graph, IBM, Cisco, zunanjih partnerjev
  • Agenti pišejo adapterje, preslikave, retry/backoff, idempotentnost
  • Integracijski testi na pravih končnih točkah (sandbox API)
  • Monitoring (Prometheus + Grafana) in alerti (Sentry) priključeni samodejno

Večnajemne platforme

  • Večklientski SaaS s popolno izolacijo podatkov (per-tenant schema ali row-level security)
  • Avtomatiziran onboarding stranke (provisioning Keycloak, baza, vloge)
  • Obračun na podlagi SSO Billing SDK (sledenje porabe tokenov, fail-open)
  • Compliance: GDPR, ISO 27001, EU AI Act pripravljeno za revizijo

Primerjava: klasična ekipa vs. proces z AI

VidikKlasična ekipa (8-10 oseb)Ekipa z agenti AI (2-3 osebe)
Čas do trga (povprečna funkcionalnost)2-4 tedne3-7 dni
Pokritost s testi40-60% (če ima ekipa čas)>80% privzeto (testi generirani skupaj s kodo)
Pregled kode1 oseba, povprečno 30-60 min3 agenti (security, quality, architecture) + človek pri zapletenih spremembah
DokumentacijaPogosto nepopolna, „naknadno dodana"Generirana skupaj s kodo (OpenAPI, README, CHANGELOG)
Revizijska sledGit zgodovinaGit + audit log v bazi + CHANGELOG + Change Request
SkaliranjeLinearno (več ljudi = višji komunikacijski strošek)Nelinearno (več agentov = isto število nadzornih oseb)
Compliance (EU AI Act, GDPR, ISO 27001)Pogosto zunanja revizija za nazajVgrajeno v proces od prve vrstice kode

Pogosta vprašanja

Kaj je avtomatiziran razvoj programske opreme z AI?
To je proces, v katerem specializirani agenti AI sodelujejo v vsaki fazi življenjskega cikla razvoja programske opreme: od analize zahtev, prek načrtovanja arhitekture, kodiranja, samodejnih testov (unit, integration, E2E, security, performance, regression), vse do pregleda kode in produkcijske uvedbe. Človek še vedno nadzira proces in sprejema ključne odločitve, vendar rutinske naloge (pisanje kode, generiranje testov, refaktoring, dokumentacija) izvajajo agenti AI ob spoštovanju dogovorjenih standardov kakovosti.
Kako se ta proces razlikuje od klasičnega programiranja s Copilotom?
Copilot je samodokončanje — pomaga pisati posamezne vrstice kode. Razvoj programske opreme z AI je popolna orkestracija: en agent načrtuje arhitekturo, drugi piše kodo, tretji piše teste, četrti opravi pregled kode, peti uvede. Vsak ima svojo specializacijo, epizodični spomin (uči se iz prejšnjih projektov), orodja in kontekst. Učinek: bistveno večja skala avtomatizacije kot pri posameznem Copilotu, ob ohranitvi podjetniških standardov (testi, varnost, revizijska sled).
Katere vrste testov izvaja ta proces?
Vsako vrsto testov, ki jo uporabljajo zrele razvojne ekipe: unit, integracijske, end-to-end (E2E), UI (Playwright), varnostne (OWASP Top 10, gitleaks), zmogljivostne (load), regresijske, smoke in acceptance teste. Testi se pišejo pred ali vzporedno s kodo (TDD), vsaka sprememba pa mora prestati celoten cevovod.
Ali AI samostojno uvaja kodo v produkcijo?
Ne samodejno. Produkcijske uvedbe zahtevajo odobren Change Request (CR) in odločitev človeka. Agenti AI pripravijo dokumentacijo sprememb, izvedejo regresijske teste, generirajo skripte uvedbe z načrtom rollback, vendar končni zagon v produkciji zahteva soglasje operaterja. To pravilo je namerno — minimizira tveganje nepričakovanih posledic in ohranja popolno revizijsko sled.
Ali ta proces deluje pri podjetniških projektih?
Da. Uporabljamo ga pri lastnih produktih, vključno s platformo HybridCrew (večagentna), svetovalno platformo s SSO, mikrostoritvami s PostgreSQL, integracijami z zunanjimi sistemi (KRS, MS Graph, IBM, Keycloak). Vsak projekt ima svoj CI/CD cevovod, okolja dev/test/prod, monitoring in audit log. Proces se skalira od ene mikrostoritve do platforme z mnogimi vsebniki.
Kako dolgo traja uvedba tega procesa v naše podjetje?
Odvisno od konteksta. Za majhno ekipo (1-3 razvijalci) integracija z obstoječim repozitorijem in CI/CD cevovodom običajno traja 2-4 tedne: revizija, konfiguracija agentov, prilagoditev standardom kodiranja, izobraževanje. Za večje organizacije pilotni projekti (ena ekipa, ena mikrostoritev) trajajo 6-8 tednov, čemur sledi postopno širjenje na naslednje ekipe.
Kaj pa varnost izvorne kode?
Repozitoriji stranke nikoli ne gredo k zunanjim storitvam brez izrecnega soglasja. Privzeto celoten proces (agenti AI, modeli LLM, vektorska baza, audit log) deluje v infrastrukturi stranke ali v zasebnem oblaku ESKOM AI s popolno izolacijo. Skrivnosti upravljamo prek HashiCorp Vault, kodo pregledujemo z gitleaks pred vsakim commitom, vsi repozitoriji pa so privzeto zasebni.
Ali boste nadomestili našo razvojno ekipo?
Ne. Izkušeni razvijalci so nepogrešljivi — načrtujejo arhitekturo, sprejemajo odločitve, pregledujejo zapletene spremembe, rešujejo nenavadne težave. Agenti AI prevzamejo ponavljajoče se naloge, podvržene avtomatizaciji: pisanje boilerplate, generiranje testov, dokumentacija, refaktoring, prvi sloj pregleda kode. Cilj: dve do tri osebe z AI dostavijo vrednost, ki jo je prej dajala ekipa 8-10 ljudi — brez izgorelosti, z boljšo kakovostjo in popolno revizijsko sledjo.
Koliko stane razvoj programske opreme z AI?
Cena je vedno individualna in odvisna od obsega, modela obračunavanja (naročnina na platformo vs. dediciran projekt), zahtevanih integracij ter ali agenti delujejo na lokalnih modelih LLM (Ollama na GPU stranke — nižji operativni stroški) ali v oblaku (Anthropic, OpenAI — večja prilagodljivost). Pri pilotih si prizadevamo za vračilo naložbe v prvem četrtletju po polnem zagonu.
Kateri so tipični znaki, da je podjetje pripravljeno na ta proces?
Najboljše rezultate dosegajo ekipe, ki že imajo: repozitorij pod kontrolo verzij (Git), opredeljene standarde kodiranja, osnovni CI/CD cevovod, jasno zapisane zahteve (Jira/Linear/lastne) in kulturo pregleda kode. Pomanjkanje katerega od teh elementov ne blokira uvedbe — takrat začnemo z revizijo in pripravo temeljev. Najmanj zrele so organizacije brez kontrole verzij ali s produkcijsko kodo, ki je nihče ne testira.

Pripravljeni na pilot?

Začnemo z revizijo obstoječega procesa in pilotom na izbrani mikrostoritvi. Prvi učinki vidni v 2-4 tednih. Brez zavez za večletne pogodbe.