# Lokálna úprava kódu pomocou generatívnych modelov

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

Document language: sk

VÝSKUMNÁ POZNÁMKA

Ako predísť zbytočnému prepisovaniu celej funkcie a zároveň ponechať generatívnemu modelu dostatočnú voľnosť na vykonanie požadovanej zmeny kódu.

Publikované 30. júla 2026 [Alexey Gavrilov](https://aogavrilov.com/about/)

PRIAMA ODPOVEĎ

## Ako môže generatívny model upraviť kód bez prepísania celej funkcie?

Pred generovaním vymedzte chránené a upravovateľné oblasti, chránenú reprezentáciu opätovne použite alebo obmedzte, generujte iba kandidátne zmeny a zamietnite výstupy, ktoré menia chránený kód alebo nevyhovejú kontrolám špecifickým pre úlohu. Lokálnosť úpravy a úspešnosť úlohy treba merať spoločne.

## Prečo je toto rozlíšenie dôležité

Metóda aj deklarovaná záruka musia používať rovnakú pozorovateľnú hranicu.

Lokalizovaná modifikácia kódu je problém úprav, nie iba kratšie zadanie na generovanie kódu. Vstup už obsahuje artefakt, ktorý má zmysel zachovať, preto metóda potrebuje explicitnú hranicu zachovania medzi oblasťou, ktorú možno meniť, a vlastnosťami, ktoré musia zostať stabilné.

Hranicou môže byť úsek zdrojového kódu, syntaktický uzol, signatúra API, správanie testu, záväzok závislosti alebo naučená latentná pozícia. Tieto možnosti nie sú vzájomne zameniteľné: každá chráni inú pozorovateľnú vlastnosť a vyžaduje zodpovedajúci krok overenia.

## Praktický postup

1. Stanovte záväzok zachovania Určte upraviteľnú oblasť a presný text, štruktúru, rozhranie alebo správanie, ktoré musia zostať nezmenené.
2. Vyberte najužšie použiteľné kontrolné rozhranie Opätovne použiť nezmenené úseky zdrojového kódu, využiť dopĺňanie alebo dekódovanie zamerané na úpravy, uplatniť formálne obmedzenia alebo uzamknúť vybrané latentné pozície podľa požadovanej vlastnosti.
3. Generujte iba tam, kde je zmena povolená V upraviteľnej oblasti ponechajte dostatok voľnosti na vyriešenie úlohy; skopírovanie celého vstupu je síce lokálne, ale neprináša žiadny pokrok.
4. Lokálnosť a úspešnosť overujte spoločne Odmietnuť kandidáty, ktoré menia chránené oblasti, neprejdú syntaktickou analýzou alebo kompiláciou, porušujú štruktúrne invarianty alebo nespĺňajú požadovanú zmenu.

## Požadované dôkazy

Tvrdenie je len také presvedčivé ako vlastnosť meraná po generovaní alebo dekódovaní.

- Rozdiel mimo oblasti alebo iná priama miera stability chránenej oblasti.
- Úspešnosť úlohy v upravovateľnej oblasti.
- Podľa potreby syntaktická analýza, kompilácia, testy, statické kontroly alebo invarianty špecifické pre úlohu.
- Miera zmien v upraviteľnej oblasti, aby sa kopírovanie nezamieňalo za kontrolu.
- Jedinečnosť kandidátov a variabilita medzi opakovanými behmi, aby sa lokalita nezamieňala s kolapsom módov.

### Čo uvádza prepojená štúdia

- Prepojený experiment komprimuje 64-tokenové funkcie jazyka Python do hierarchických diskrétnych pozícií a pri čiastočných obmedzeniach opätovne generuje vybrané latentné pozície.
- Uzamknutie štyroch kódov najvyššej úrovne zvýšilo mieru úspešnej syntaktickej analýzy z 0.453 na 0.591, pričom miera zmien odomknutých pozícií dosiahla 0.936 a podiel jedinečných podmienených vzoriek zostal na úrovni 0.998.
- Tieto merania odhaľujú nad úrovňou tokenov kompromis medzi stabilitou a voľnosťou; nedokazujú presné zachovanie úseku zdrojového textu, AST, sémantiky ani správania.

[Prečítať prehľad publikácie](https://aogavrilov.com/sk/publications/inspectable-control/) [Hľadať v celom texte článku](https://aogavrilov.com/publications/inspectable-control/full-text/)

## Hranica rozsahu

- Uzamknutý latentný kód nie je automaticky uzlom AST, chráneným úsekom zdrojového textu ani formálnym invariantom.
- Úspešnosť syntaktickej analýzy potvrdzuje syntaktickú správnosť, nie funkčnú správnosť ani úspešnú opravu.
- Uvádzané dôkazy pochádzajú z krátkych predspracovaných funkcií jazyka Python a nepreukazujú správanie v rozsahu repozitára.

## Primárne a súvisiace zdroje

Pôvodné metódy, merania a uvedené obmedzenia nájdete v prepojených článkoch.

1. [Inspectable Control for Structure-Preserving Software Regeneration](https://aogavrilov.com/sk/publications/inspectable-control/) Hlavná publikácia a experiment s ohraničenou hierarchickou latentnou reprezentáciou.
2. [EfficientEdit: Accelerating Code Editing via Edit-Oriented Speculative Decoding](https://arxiv.org/abs/2506.02780) Dekódovanie zamerané na úpravy, ktoré opätovne využíva nezmenené oblasti zdroja.
3. [PAFT: Preservation Aware Fine-Tuning for Minimal-Edit Program Repair](https://arxiv.org/abs/2604.03113) Pri trénovaní opravy programov explicitne zohľadňuje zachovanie a minimálnosť zmien.

Spravuje Alexey Gavrilov . Táto stránka sumarizuje existujúce dôkazy a neuvádza nijaký experimentálny výsledok nad rámec citovaných zdrojov.
