Pillar stranica

Razvoj softvera s AI

Provjeren proces automatizacije razvoja softvera s timom AI agenata — od analize zahtjeva, preko kodiranja i višeslojnog testiranja (unit, integration, E2E, sigurnost, performanse), pa sve do produkcijske implementacije s potpunim revizijskim tragom.

Vodimo tim specijaliziranih AI agenata koji sudjeluje u svakoj fazi životnog ciklusa razvoja softvera — od analize zahtjeva, preko projektiranja arhitekture, kodiranja i višeslojnog testiranja, pa sve do pregleda koda, dokumentacije i implementacije s potpunim revizijskim tragom.

Na taj način razvijamo vlastite proizvode ESKOM AI — višeagentsku platformu HybridCrew, sustav za Compliance audite, mikroservis KRS+CRBR i cijeli niz integracija. Isti proces primjenjujemo na projekte za klijente: i pri izgradnji novih mikroservisa i pri modernizaciji naslijeđenih sustava.

Ovaj članak opisuje kako to izgleda u praksi: koje zadatke preuzimaju agenti, koji ostaju na strani čovjeka, koje testove pokrećemo i zašto je ovaj proces ponovljiv.

Zašto automatizirati razvoj softvera?

Klasični ciklus razvoja softvera (analiza → kod → testovi → pregled → implementacija) u zrelom timu obično traje 2-4 tjedna za značajku srednje veličine. Većinu tog vremena čine ponavljajući zadaci: pisanje boilerplate koda, generiranje unit testova, pregled promjena, ažuriranje dokumentacije, generiranje migracija baze podataka. Svi su pogodni za automatizaciju.

Cilj našeg procesa je jednostavan: dvije do tri osobe s AI agentima isporučuju vrijednost koju je prije davao tim od 8-10 ljudi — bez sagorijevanja, s boljom kvalitetom (više testova, bolji pregled koda, potpuna dokumentacija) i skraćenim time-to-market.

Ovo nije „AI će zamijeniti programere". Ovo je „programeri s AI zamijenit će programere bez AI". Iskusni inženjeri ostaju neophodni — projektiraju arhitekturu, donose strateške odluke, pregledavaju složene promjene. Agenti preuzimaju rutinu.

Šest faza procesa

Pipeline od zahtjeva do produkcije. Svaku fazu izvode specijalizirani AI agenti, a čovjek nadzire i odobrava ključne odluke.

1

Analiza zahtjeva i arhitektura

AI agenti analiziraju poslovnu dokumentaciju, razgovore s klijentom (iz transkripcija), postojeći kod. Predlažu mikroservisnu arhitekturu, shemu baze podataka, popis endpointa, model ovlasti. Čovjek (CTO/arhitekt) pregledava i odobrava prijedlog prije početka kodiranja.

2

Pisanje koda (TDD)

Prvo testovi, pa implementacija. Backend agent piše API u FastAPI/Express, frontend agent komponente React. Svaka promjena = zasebni pull request s čitljivim commitom. Standardi kodiranja (Black, ESLint, Prettier) automatski se nameću.

3

Višeslojno testiranje

Unit (pytest, Jest), integration (testcontainers s pravim PostgreSQL-om), E2E (Playwright), UI snapshot, sigurnost (OWASP, gitleaks, bandit), performanse (k6/locust), pristupačnost (axe). Svaki PR pokreće potpuni pipeline — neuspjeli test blokira merge.

4

Pregled koda od strane AI

Agent SecurityReviewer skenira u potrazi za problemima OWASP Top 10, agent QualityReviewer provjerava čitljivost i obrasce, agent ArchitectureReviewer provjerava dosljednost s ostatkom sustava. Granični slučajevi eskaliraju se čovjeku.

5

Dokumentacija i CHANGELOG

Svaka promjena logike = bump verzije + unos u CHANGELOG.md u formatu Keep a Changelog. API dokumentacija (OpenAPI/Swagger) generira se automatski. CLAUDE.md ažurira se nakon svake sesije s novim lekcijama.

6

Implementacija s Change Requestom

Implementacija uvijek ide preko Gita (NIKADA izravni scp). Najprije testno okruženje s verifikacijom Playwrightom, pa tek onda produkcija nakon odobrenja CR-a. Skripta za implementaciju sadrži plan rollbacka (<5 min) i health checkove.

Što tvrtka dobiva?

Tisuće automatskih testova

Svaki produkcijski projekt ima od nekoliko do nekoliko desetaka tisuća testova — unit, integration, E2E, sigurnost, performanse. Regresije se otkrivaju u CI-u prije nego što dođu do korisnika.

Potpuni revizijski trag

Svaka promjena u kodu, bazi podataka, konfiguraciji je zabilježena: Git, audit log u bazi, CHANGELOG, Change Request. Zadovoljava zahtjeve ISO 27001, EU AI Act, GDPR.

Skalabilnost tima

Dvije do tri osobe s AI agentima isporučuju vrijednost koju je prije davao tim od 8-10 ljudi. Bez sagorijevanja, s boljom kvalitetom i kraćim rokovima.

Eskalacija na jače modele

LLM routing odabire odgovarajući model za zadatak: sitne promjene — lokalni Ollama (trošak $0), složena arhitektura — Claude Opus. Optimizacija troška i kvalitete u jednom.

Ponovljivost i standardi

Svaki projekt primjenjuje iste standarde: feature branch workflow, squash merge, Conventional Commits, CHANGELOG, EU AI Act, GDPR. Novi programer razumije strukturu u jednom danu.

Sigurnost po zadanim postavkama

Gitleaks na pre-commit + CI, tajne u HashiCorp Vaultu, privatni repozitoriji, SSO Keycloak, Tailscale VPN za interne usluge. Nikakvi kompromisi nauštrb brzine.

Višeslojno testiranje — temelj kvalitete

Svaka promjena u produkcijskom kodu prolazi kroz potpuni pipeline testova. Bez iznimaka — čak i ispravak tipfelera u komentaru pokreće CI, jer je test pipeline ugrađen u Git hook, a ne politička odluka programera.

  • Unit testovi: pytest, Jest, vitest. Provjeravaju pojedinačne funkcije i klase. Pokrivenost >80% za kritični kod.
  • Integracijski testovi: testcontainers s pravim instancama PostgreSQL-a, Redisa, Vaulta. Mockovi samo za vanjske API-je trećih strana.
  • E2E testovi (end-to-end): Playwright u Firefoxu (zadano), Chrome (opcionalno). Simuliraju potpune korisničke putanje: prijava → akcija → verifikacija.
  • UI testovi (snapshot, pristupačnost): Playwright + axe-core. WCAG 2.0 AA kao polazište, Lighthouse 100/100/100/100 kao cilj.
  • Sigurnosni testovi: OWASP Top 10 (semgrep, bandit, eslint-plugin-security), gitleaks (skeniranje tajni na pre-commit i CI), trivy (skeniranje Docker slika).
  • Testovi performansi: k6 ili locust za load testove, provjera p95/p99 response timea pod opterećenjem.
  • Regresijski testovi: potpuni suite pokreće se prije svake produkcijske implementacije. Svaki prijavljeni bug postaje regresijski test.
  • Smoke testovi: minimalni set od 5-10 testova koji se pokreću nakon implementacije na produkcijskom okruženju (je li se aplikacija uopće podigla).
  • Acceptance testovi: poslovni testovi (Cucumber/Gherkin) koji potvrđuju da je zahtjev ispunjen.

Neuspjeli test = blokiran merge. Bez iznimaka. Ako je test „flaky" (nestabilan), dijagnostički agent analizira uzrok i popravlja test ili kod, ali nikada ne uklanja test bez odluke čovjeka.

Tipični slučajevi korištenja

Obrasci koje najčešće primjenjujemo. Svaki ima svoj skup agenata, alata i predložaka. Time-to-value mjeren u tjednima, a ne u mjesecima.

Modernizacija naslijeđenog sustava

  • Stara monolitna aplikacija (PHP/.NET, bez testova, teška za održavanje)
  • Agenti razlažu monolit u mikroservise (inkrementalni proces, bez prekida)
  • Generiraju karakterizacijske testove (capture postojećeg ponašanja) prije refaktoriranja
  • Migracija podataka s potpunim revizijskim tragom i planom rollbacka

Novi enterprise mikroservis

  • Specifikacija na ulazu (Jira ticket, PRD dokument, transkripcija sastanka)
  • Arhitektura → kod → testovi → pregled → implementacija u 2-3 tjedna
  • Integracija s postojećim SSO (Keycloak), audit logom, monitoringom
  • Potpuna usklađenost s EU AI Act i GDPR-om od prve linije koda

Integracija sustava

  • Povezivanje ERP, CRM, KRS, Microsoft Graph, IBM, Cisco, vanjski partneri
  • Agenti pišu adaptere, mapiranja, retry/backoff, idempotentnost
  • Integracijski testovi na pravim endpointima (sandbox API)
  • Monitoring (Prometheus + Grafana) i upozorenja (Sentry) automatski uključeni

Multi-tenant platforme

  • Višeklijentski SaaS s potpunom izolacijom podataka (per-tenant shema ili row-level security)
  • Onboarding klijenta automatiziran (Keycloak provisioning, baza, uloge)
  • Naplata bazirana na SSO Billing SDK-u (praćenje potrošnje tokena, fail-open)
  • Compliance: GDPR, ISO 27001, EU AI Act spreman za reviziju

Usporedba: klasični tim vs. proces s AI

AspektKlasični tim (8-10 osoba)Tim s AI agentima (2-3 osobe)
Time-to-market (prosječna značajka)2-4 tjedna3-7 dana
Pokrivenost testovima40-60% (ako tim ima vremena)>80% po zadanom (testovi se generiraju zajedno s kodom)
Pregled koda1 osoba, prosječno 30-60 min3 agenta (sigurnost, kvaliteta, arhitektura) + čovjek za složene promjene
DokumentacijaČesto nepotpuna, „dorađivana kasnije"Generira se zajedno s kodom (OpenAPI, README, CHANGELOG)
Revizijski tragGit povijestGit + audit log u bazi + CHANGELOG + Change Request
SkaliranjeLinearno (više ljudi = viši trošak komunikacije)Nelinearno (više agenata = isti broj ljudi koji nadziru)
Compliance (EU AI Act, GDPR, ISO 27001)Često vanjska revizija nakon činjeniceUgrađeno u proces od prve linije koda

Najčešća pitanja

Što je automatizirani razvoj softvera s AI?
To je proces u kojem specijalizirani AI agenti sudjeluju u svakoj fazi životnog ciklusa razvoja softvera: od analize zahtjeva, preko projektiranja arhitekture, kodiranja, automatskih testova (unit, integration, E2E, sigurnost, performanse, regresija), pa sve do pregleda koda i produkcijske implementacije. Čovjek i dalje nadzire proces i donosi ključne odluke, ali rutinske zadatke (pisanje koda, generiranje testova, refaktoriranje, dokumentacija) izvode AI agenti uz održavanje dogovorenih standarda kvalitete.
Po čemu se ovaj proces razlikuje od klasičnog programiranja s Copilotom?
Copilot je automatsko dovršavanje — pomaže pisati pojedine linije koda. Razvoj softvera s AI je potpuna orkestracija: jedan agent planira arhitekturu, drugi piše kod, treći piše testove, četvrti radi pregled koda, peti implementira. Svaki ima svoju specijalizaciju, epizodičko pamćenje (uči iz prethodnih projekata), alate i kontekst. Rezultat: znatno veća razmjera automatizacije nego s pojedinačnim Copilotom, uz održavanje enterprise standarda (testovi, sigurnost, revizijski trag).
Koje vrste testova pokreće ovaj proces?
Svaku vrstu testa koja se koristi u zrelim razvojnim timovima: unit testove, integracijske, end-to-end (E2E), UI (Playwright), sigurnosne (OWASP Top 10, gitleaks), performansne (load), regresijske, smoke i acceptance. Testovi se pišu prije ili paralelno s kodom (TDD), a svaka promjena mora proći cijeli pipeline.
Implementira li AI kod na produkciju samostalno?
Ne automatski. Produkcijske implementacije zahtijevaju odobreni Change Request (CR) i odluku čovjeka. AI agenti pripremaju dokumentaciju promjena, pokreću regresijske testove, generiraju skripte za implementaciju s planom rollbacka, ali konačno pokretanje na produkciji zahtijeva suglasnost operatera. Ovo je pravilo namjerno — minimizira rizik nepredviđenih posljedica i čuva potpuni revizijski trag.
Funkcionira li ovaj proces na enterprise projektima?
Da. Primjenjujemo ga u vlastitim proizvodima, uključujući platformu HybridCrew (višeagentska), konzultantskoj platformi sa SSO-om, mikroservisima s PostgreSQL-om, integracijama s vanjskim sustavima (KRS, MS Graph, IBM, Keycloak). Svaki projekt ima svoj CI/CD pipeline, dev/test/prod okruženja, monitoring i audit log. Proces se skalira od pojedinačnog mikroservisa do platforme s mnogo kontejnera.
Koliko traje uvođenje ovog procesa u našu tvrtku?
Ovisi o kontekstu. Za mali tim (1-3 programera) integracija s postojećim repozitorijem i CI/CD pipelineom obično traje 2-4 tjedna: revizija, konfiguracija agenata, prilagodba standardima kodiranja, edukacija. Za veće organizacije pilot projekti (jedan tim, jedan mikroservis) traju 6-8 tjedana, nakon čega slijedi postupno proširenje na sljedeće timove.
Što je sa sigurnošću izvornog koda?
Repozitoriji klijenta nikada ne odlaze u vanjske usluge bez izričite suglasnosti. Po zadanim postavkama cijeli proces (AI agenti, LLM modeli, vektorska baza, audit log) radi u infrastrukturi klijenta ili u privatnom oblaku ESKOM AI s potpunom izolacijom. Tajne upravljamo preko HashiCorp Vaulta, kod skeniramo gitleaksom prije svakog commita, a svi repozitoriji su po zadanom privatni.
Hoćete li zamijeniti naš razvojni tim?
Ne. Iskusni programeri su neophodni — projektiraju arhitekturu, donose odluke, pregledavaju složene promjene, rješavaju netipične probleme. AI agenti preuzimaju ponavljajuće zadatke pogodne za automatizaciju: pisanje boilerplate koda, generiranje testova, dokumentaciju, refaktoriranje, prvu razinu pregleda koda. Cilj: dvije do tri osobe s AI isporučuju vrijednost koju je prije davao tim od 8-10 ljudi — bez sagorijevanja, s boljom kvalitetom i potpunim revizijskim tragom.
Koliko košta razvoj softvera s AI?
Cijena je uvijek individualna i ovisi o razmjeri, modelu naplate (pretplata na platformu vs. dedicirani projekt), potrebnim integracijama te o tome rade li agenti na lokalnim LLM modelima (Ollama na GPU klijenta — niži operativni trošak) ili u oblaku (Anthropic, OpenAI — veća fleksibilnost). U pilotima ciljamo na povrat ulaganja u prvom kvartalu od potpunog pokretanja.
Koji su tipični signali da je tvrtka spremna za ovaj proces?
Najbolje rezultate postižu timovi koji već imaju: repozitorij pod kontrolom verzija (Git), definirane standarde kodiranja, osnovni CI/CD pipeline, jasno zapisane zahtjeve (Jira/Linear/vlastiti) i kulturu pregleda koda. Nedostatak nekog od ovih elemenata ne blokira uvođenje — tada započinjemo revizijom i pripremom temelja. Najmanje zrele su organizacije bez kontrole verzija ili s produkcijskim kodom koji nitko ne testira.

Spremni za pilot?

Započinjemo revizijom postojećeg procesa i pilotom na odabranom mikroservisu. Prvi rezultati vidljivi u 2-4 tjedna. Bez obveza na višegodišnje ugovore.