# Lokalisert kodeendring med generative modeller

Canonical HTML: https://aogavrilov.com/no/research-notes/localized-code-modification-generative-models/

Document language: no

FORSKNINGSNOTAT

Hvordan unngå unødvendig omskriving av hele funksjoner, samtidig som en generativ modell beholder tilstrekkelig frihet til å utføre den ønskede kodeendringen.

Publisert 30. juli 2026 [Alexey Gavrilov](https://aogavrilov.com/about/)

DIREKTE SVAR

## Hvordan kan en generativ modell endre kode uten å skrive om hele funksjonen?

Definer beskyttede og redigerbare områder før generering, gjenbruk eller begrens den beskyttede representasjonen, generer bare endringskandidater, og forkast resultater som endrer beskyttet kode eller ikke består oppgavespesifikke kontroller. Lokalitet og vellykket oppgaveløsning må måles samlet.

## Hvorfor skillet er viktig

Påstanden må avgrenses til det metoden faktisk gjør observerbart.

Lokalisert kodeendring er et redigeringsproblem, ikke bare en kortere instruksjon for kodegenerering. Inndataene inneholder allerede en artefakt som er verdt å bevare, og metoden trenger derfor en eksplisitt bevaringsgrense mellom området som kan endres, og egenskapene som må forbli stabile.

Grensen kan være et kildekodespenn, en syntaksnode, en API-signatur, testatferd, en avhengighetskontrakt eller en lært latent posisjon. Disse valgene er ikke utskiftbare: Hvert av dem beskytter en annen observerbar egenskap og krever et tilsvarende verifikasjonstrinn.

## En praktisk fremgangsmåte

1. Angi bevaringskontrakten Identifiser området som kan redigeres, samt den nøyaktige teksten, strukturen, grensesnittet eller atferden som må forbli uendret.
2. Velg den smaleste nyttige kontrollflaten Gjenbruk uendrede kildeavsnitt, benytt utfylling eller redigeringsorientert dekoding, anvend formelle begrensninger eller lås utvalgte latente posisjoner i samsvar med den påkrevde egenskapen.
3. Generer bare der endring er tillatt Behold tilstrekkelig frihet innenfor det redigerbare området til å løse oppgaven; å kopiere hele inndataene er lokalt, men gir ingen fremdrift.
4. Kontroller lokalitet og resultat samlet Forkast kandidater som endrer beskyttede områder, ikke lar seg parse eller kompilere, bryter strukturelle invarianter eller ikke oppfyller den etterspurte endringen.

## Påkrevd dokumentasjon

En påstand kan ikke gå lenger enn det som dokumenteres av egenskapen som måles etter generering eller dekoding.

- Differanse utenfor området eller et annet direkte mål på stabiliteten i det beskyttede området.
- Oppgavesuksess innenfor den redigerbare regionen.
- Parsing, kompilering, tester, statiske kontroller eller oppgavespesifikke invarianter, alt etter hva som er relevant.
- Endringsrate i det redigerbare området, slik at kopiering ikke forveksles med kontroll.
- Unike kandidater og variasjon mellom gjentatte kjøringer, slik at lokalitet ikke forveksles med moduskollaps.

### Resultater fra den tilknyttede studien

- Det tilknyttede eksperimentet komprimerer Python-funksjoner på 64 tokener til hierarkiske diskrete posisjoner og regenererer utvalgte latente posisjoner under partielle begrensninger.
- Låsing av fire koder på øverste nivå økte parseraten fra 0.453 til 0.591, samtidig som ulåste posisjoner hadde en endringsrate på 0.936 og de betingede utvalgene fortsatt var 0.998 unike.
- Målingene synliggjør en avveiing mellom stabilitet og frihet over tokennivået; de beviser ikke eksakt bevaring av kildespenn, AST, semantikk eller atferd.

[Les publikasjonsoversikten](https://aogavrilov.com/no/publications/inspectable-control/) [Søk i hele artikkelteksten](https://aogavrilov.com/publications/inspectable-control/full-text/)

## Avgrensning

- En låst latentkode er ikke automatisk en AST-node, et beskyttet kildespenn eller en formell invariant.
- Parseraten fastslår syntaktisk velformethet, ikke funksjonell korrekthet eller vellykket reparasjon.
- Den rapporterte evidensen stammer fra korte, forbehandlede Python-funksjoner og dokumenterer ikke atferd på repositorienivå.

## Primærkilder og nærliggende kilder

Se de lenkede artiklene for de opprinnelige metodene, målingene og oppgitte begrensningene.

1. [Inspectable Control for Structure-Preserving Software Regeneration](https://aogavrilov.com/no/publications/inspectable-control/) Hovedartikkelen og eksperimentet med avgrensede hierarkiske latenter.
2. [EfficientEdit: Accelerating Code Editing via Edit-Oriented Speculative Decoding](https://arxiv.org/abs/2506.02780) Redigeringsorientert dekoding som gjenbruker uendrede områder i kilden.
3. [PAFT: Preservation Aware Fine-Tuning for Minimal-Edit Program Repair](https://arxiv.org/abs/2604.03113) Gjør bevaring og minimale endringer eksplisitte i trening for programreparasjon.

Vedlikeholdes av Alexey Gavrilov . Denne siden sammenfatter eksisterende dokumentasjon og tilfører ingen eksperimentelle resultater utover de siterte kildene.
