Spring til indhold
AiNews.dkDanske nyheder om Kunstig Intelligens

Lokal LLM

Avouch tjekker kun ændret Python-kode før push for at fange fejl hurtigt

Avouch analyserer filændringer via Git og bruger AST til at finde strukturelle fejl uden behov for netværk eller dæmoner.

1 kildeRedigeret af Lars LouvreRettet 19. august 2026 kl. 12.46

Læs i dit tempo

Kort

Avouch er et værktøj, der hurtigt analyserer kun den nye Python-kode, man har ændret. Det betyder, at udviklere kun ser fejl i deres egne rettelser fremfor i hele projektet. Programmet kører lokalt og bruger fejlkoder til at fortælle, om koden er godkendt.

Begynder

Avouch er et værktøj, der tjekker kode skrevet i programmeringssproget Python. I stedet for at gennemse hele projektet, kigger det kun på de ændringer, udvikleren lige har lavet. Det svarer til en korrekturlæser, der kun tjekker de nye afsnit, du har tilføjet til en bog, fremfor at læse hele historien forfra hver gang. Gennemgangen tager kun få sekunder og sker lige før, koden sendes videre til resten af holdet via en såkaldt »git push«. Det betyder, at udvikleren kun får besked om fejl i sin egen nye kode.

For at forstå koden bruger Avouch et »Abstract Syntax Tree« (et abstrakt syntakstræ). Hvor nogle værktøjer blot leder efter mønstre i teksten, fungerer et syntakstræ som et kort, der viser, hvordan koden faktisk er bygget op. Det gør det muligt at måle præcis, hvor kompleks koden er, for eksempel hvor mange lag af logik der er indlejret. Grænserne for, hvad der er for komplekst, er defineret i en indstillingsfil, der hedder `avouch.toml`.

Værktøjet kører helt lokalt på computeren uden brug af internet eller et program, der kører konstant i baggrunden (en dæmon). Det benytter standardfunktioner i Python og et system kaldet Git til at finde ud af, hvilke filer der er ændret eller nye. Hvis Avouch finder en fejl i kodens grammatik, kaldet syntaks, bliver det blot noteret i rapporten. En fil, der ikke kan læses, stopper ikke processen for resten af koden.

Avouch fortæller resultatet via såkaldte »exit-koder«, som er simple tal. En nul betyder, at koden er ren, en 1 betyder, at der er fundet fejl, og en 2 betyder, at der er sket en fejl i selve Avouch. Programmet kræver Python version 3.10 eller nyere. Man kan styre resultatet med forskellige kommandoer, herunder en mulighed for at få data i formatet »JavaScript Object Notation« (JSON), som er let for andre computere at læse, eller kun tjekke filer, der er gjort klar til at blive gemt.

Vil du have, at jeg forklarer nærmere, hvordan et »abstrakt syntakstræ« fungerer i praksis?

AiNews' genererede delekort for „Avouch tjekker kun ændret Python-kode før push for at fange fejl hurtigt“
Genereret motiv i AiNews' radarsprog · ikke et fotografi fra historien

Avouch analyserer kun den Python-kode, der er ændret i den aktuelle commit, og kører gennemgangen på få sekunder før en git push. Det betyder, at udvikleren kun får fejlmeldinger for sin egen nye kode og ikke for eksisterende kode i projektet.

Analysen bruger Pythons standard AST-modul (Abstract Syntax Tree) i stedet for regulære udtryk. Det gør det muligt at beregne præcise talforhold for parametre, indlejringsdybde og linjeomfang baseret på grænser defineret i en avouch.toml-fil.

Løsningen kører helt lokalt uden netværksforbindelse eller behov for en dæmon. Den bruger standardbiblioteket og tre git-underprocesser til at finde ændrede filer via git diff HEAD og untracked filer.

Fejl i syntaksen håndteres som data i rapporten. En fil, der ikke kan læses, resulterer i en ERROR-post, men det stopper ikke gennemgangen af resten af koden.

Værktøjet signalerer resultatet via exit-koder. En værdi på 0 betyder, at koden er ren, mens 1 indikerer fundne overtrædelser, og 2 markerer en fejl i selve Avouch.

Programmet kræver Python 3.10 eller nyere. Det tilbyder forskellige flag til at styre output, herunder `--json` til maskinlæsbar data og `--staged` til kun at gennemgå filer, der er klar til commit.

Kilder

  1. I canceled my AI code reviewer and wrote a free local one github.com
Produktionshistorie
  1. Radar Signal ? af 100 · spredning 1 kilder
  2. Vurdering Nyheds 5/5 — Konkret implementering af lokal AI-kode review.
  3. Skrevet Model: mimo-v2.5-free · temperatur 0.4
  4. Overskrift 5 kandidater, valgt af chat.dk
  5. Korrektur 1 zen · 2 rettelser
  6. Korrektur 2 chatdk · 1 rettelser
  7. Vedtagelse Godkendt af Lars Louvre