Kjetil Hårtveit

KI-agenter som merger Renovatebot-oppdateringer uten tilsyn

Software er noe som må driftes og vedlikeholdes hvis man ønsker at det skal vare over tid. Sikkerhetspatcher må inn, og små kontinuerlige endringer er lettere å håndtere enn big-bang rewrites.

Jeg bruker Renovatebot til å automatisk opprette pull requests for nye versjoner i mine personlige prosjekter. Mindre oppdateringer merges inn automatisk, men major-versjoner må merges inn manuelt. Major-versjoner har, ved definisjon, breaking changes (og kanskje migrasjonsinstruksjoner) og disse bør håndteres. De nyeste endringene er greit å lese en gang, men det er unødvendig å bruke mye tid på å gjøre samme oppdateringen for flere repositories uten ny læring eller gevinst. Derfor er det nyttig med en skill som automatiserer monotone oppgaver.

Kjøring av skillen

Jeg kjørte en skill kalt /merge-renovate-pull-requests-all-repos på min lokale KI-maskin (som kjører Qwen 3.8 27B FP8), og den merget alle pull requestene uten tilsyn.

Den skillen er ikke offentlig ennå, men den starter en subagent for hvert repo som kjører skillen merge-renovate-prs-skill (en av mine åpne skills), i batcher på 3 om gangen. merge-renovate-prs-skill er en agentisk skill som først prøver å merge alle pull requests som er grønne, så venter den og sjekker CI-resultatet. Hvis sjekken blir rød, prøver den å fikse feilene. Den sjekker også etter breaking changes og utfører migrasjon. Etter at den har tatt for seg de grønne pull requestene, tar den de feilende en og en og fortsetter prosessen.

Oppsettet:

  • Modell: Qwen 3.8 27B FP8, 4 speculative tokens og medium reasoning effort.
  • 3 repos om gangen, med én subagent per repo.
  • Kan kjøres på natta.

Resultatet

Totalt rundt 40-50 pull requests i 11 repositories. Alle gikk igjennom. Kjøringen tok 1 time og 31 minutter med 12.6 tok/s.

Renovate-overview før kjøringen Renovate-overview etter kjøringen

For min del gikk det fra opptil 1-2 timer med arbeid, og kanskje mer, til 1 minutt med å starte en skill (pluss eventuell lesing om nyeste endringer). Men det går ikke bare på tid. Det handler også om kognitiv last, kontekst-switching og rett og slett å unngå kjedelig arbeid.

Hvorfor en lokal modell?

For å spare penger. En kjøring per repository med skillen kan bruke over 1 million tokens, spesielt ved flere pull requests. Man trenger heller ikke frontier-intelligens for dette, bare en god nok modell, og Qwen 3.8 har vist seg å være god nok.

Men kan man stole på det?

Det krever kvalitetssikring. CI sjekker bygg, lint, typecheck og automatiske tester. Jeg anbefaler også noen e2e-smoketester som verifiserer at applikasjonen rendrer og kjører.

Skillen og prosessen er ment å etterlikne stegene jeg selv ville gjort ved oppdateringer, og den er forankret i gode software-prinsipper. CI-sjekkene sørger for (så godt det lar seg gjøre) at applikasjonen eller bygget ikke brekker.

Avslutning

KI kan effektivisere kjedelig vedlikehold uten at det går på bekostning av kvalitet, så lenge man kombinerer det med gode software-praksiser.