# Paikallinen koodinmuokkaus generatiivisilla malleilla

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

Document language: fi

TUTKIMUSMUISTIO

Miten koko funktion tarpeeton uudelleenkirjoittaminen estetään samalla, kun generatiiviselle mallille jätetään riittävästi vapautta toteuttaa pyydetty koodimuutos.

Julkaistu 30. heinäkuuta 2026 [Alexey Gavrilov](https://aogavrilov.com/about/)

SUORA VASTAUS

## Kuinka generatiivinen malli voi muokata koodia kirjoittamatta koko funktiota uudelleen?

Määritä suojatut ja muokattavat alueet ennen generointia, käytä suojattua esitystä uudelleen tai rajoita sitä, generoi vain muutosehdokkaita ja hylkää tulokset, jotka muuttavat suojattua koodia tai eivät läpäise tehtäväkohtaisia tarkistuksia. Paikallisuutta ja tehtävässä onnistumista on mitattava yhdessä.

## Miksi erottelulla on merkitystä

Menetelmä ja väitetty tae edellyttävät samaa havaittavaa rajaa.

Paikallinen koodinmuokkaus on muokkaustehtävä, ei vain tavanomaista lyhyempi koodingenerointikehote. Syöte sisältää jo säilyttämisen arvoisen artefaktin, joten menetelmässä on määriteltävä selvä raja muutettavan alueen ja vakaina säilytettävien ominaisuuksien välille.

Raja voi olla lähdekoodin jakso, syntaksisolmu, API-allekirjoitus, testikäyttäytyminen, riippuvuussopimus tai opittu latenttisijainti. Nämä vaihtoehdot eivät ole keskenään vaihdettavissa: kukin suojaa eri havaittavaa ominaisuutta ja edellyttää sitä vastaavaa varmennusvaihetta.

## Käytännön menettely

1. Määritä säilyttämissopimus Tunnista muokattava alue sekä täsmällinen teksti, rakenne, rajapinta tai toiminta, jonka on säilyttävä muuttumattomana.
2. Valitse suppein käyttökelpoinen ohjausrajapinta Käytä muuttumattomat lähdekoodijaksot uudelleen, hyödynnä aukkojen täyttöä tai muokkaukseen suuntautunutta dekoodausta, sovella muodollisia rajoitteita tai lukitse valitut latenttipositiot vaaditun ominaisuuden mukaisesti.
3. Generoi vain siellä, missä muutos sallitaan Jätä muokattavalle alueelle riittävästi vapautta tehtävän ratkaisemiseksi; koko syötteen kopiointi on paikallista mutta ei edistä tehtävää.
4. Varmista paikallisuus ja onnistuminen yhdessä Hylkää ehdokkaat, jotka muuttavat suojattuja alueita, eivät läpäise jäsennystä tai käännöstä, rikkovat rakenteellisia invariantteja tai eivät toteuta pyydettyä muutosta.

## Vaadittava näyttö

Väite on vain niin vahva kuin generoinnin tai dekoodauksen jälkeen mitattu ominaisuus.

- Alueen ulkopuolinen ero tai muu suora suojatun alueen vakauden mittari.
- Tehtävän onnistuminen muokattavalla alueella.
- Jäsennys, kääntäminen, testit, staattiset tarkistukset tai tehtäväkohtaiset invariantit soveltuvin osin.
- Muokattavan alueen muutosaste, jotta kopiointia ei tulkita virheellisesti ohjaukseksi.
- Ehdokkaiden yksilöllisyys ja toistettujen ajojen vaihtelu, jotta paikallisuutta ei sekoiteta moodin romahtamiseen.

### Mitä linkitetty tutkimus raportoi

- Linkitetty koe pakkaa 64 tokenin Python-funktiot hierarkkisiksi diskreeteiksi sijainneiksi ja generoi valitut latenttisijainnit uudelleen osittaisten rajoitteiden alaisina.
- Neljän ylätason koodin lukitseminen nosti jäsennysasteen arvosta 0.453 arvoon 0.591; samalla lukitsemattomien positioiden muutosaste oli 0.936 ja ehdollisista näytteistä 0.998 säilyi yksilöllisinä.
- Mittaukset tuovat esiin tokenitason ylittävän vakauden ja vapauden välisen kompromissin; ne eivät todista lähdetekstijakson, AST:n, semantiikan tai toiminnan täsmällistä säilymistä.

[Lue julkaisun yleiskatsaus](https://aogavrilov.com/fi/publications/inspectable-control/) [Hae artikkelin koko tekstistä](https://aogavrilov.com/publications/inspectable-control/full-text/)

## Soveltamisalan rajat

- Lukittu latenttikoodi ei automaattisesti ole AST-solmu, suojattu lähdekoodijakso tai formaali invariantti.
- Jäsennysaste osoittaa syntaktisen oikeamuotoisuuden, ei toiminnallista oikeellisuutta tai korjauksen onnistumista.
- Raportoitu näyttö perustuu lyhyisiin esikäsiteltyihin Python-funktioihin eikä osoita käyttäytymistä repositoriotasolla.

## Ensisijaiset ja läheisesti liittyvät lähteet

Tutustu alkuperäisiin menetelmiin, mittauksiin ja ilmoitettuihin rajoituksiin linkitetyistä artikkeleista.

1. [Inspectable Control for Structure-Preserving Software Regeneration](https://aogavrilov.com/fi/publications/inspectable-control/) Pääartikkeli ja rajattuja hierarkkisia latentteja koskeva koe.
2. [EfficientEdit: Accelerating Code Editing via Edit-Oriented Speculative Decoding](https://arxiv.org/abs/2506.02780) Muokkaukseen suuntautunut dekoodaus, jossa lähteen muuttumattomia alueita käytetään uudelleen.
3. [PAFT: Preservation Aware Fine-Tuning for Minimal-Edit Program Repair](https://arxiv.org/abs/2604.03113) Tekee säilyttämisestä ja muutoksen minimaalisuudesta eksplisiittisiä tavoitteita ohjelmankorjauksen koulutuksessa.

Ylläpitäjä Alexey Gavrilov . Tämä sivu kokoaa yhteen olemassa olevan näytön eikä esitä viitattujen lähteiden lisäksi uusia kokeellisia tuloksia.
