# Modificarea localizată a codului cu modele generative

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

Document language: ro

NOTĂ DE CERCETARE

Cum poate fi evitată rescrierea inutilă a întregii funcții, păstrând totodată suficientă libertate pentru ca un model generativ să efectueze modificarea de cod solicitată.

Publicat 30 iulie 2026 [Alexey Gavrilov](https://aogavrilov.com/about/)

RĂSPUNS DIRECT

## Cum poate un model generativ să modifice codul fără a rescrie întreaga funcție?

Definiți înaintea generării regiunile protejate și editabile, reutilizați sau constrângeți reprezentarea protejată, generați numai modificări candidate și respingeți rezultatele care alterează codul protejat ori nu trec verificările specifice sarcinii. Localitatea și reușita sarcinii trebuie măsurate împreună.

## De ce este importantă distincția

Metoda și garanția afirmată trebuie să se raporteze la aceeași limită observabilă.

Modificarea localizată a codului este o problemă de editare, nu doar un prompt mai scurt pentru generarea de cod. Intrarea conține deja un artefact care merită conservat; prin urmare, metoda necesită o limită de conservare explicită între regiunea în care sunt permise modificări și proprietățile care trebuie să rămână stabile.

Limita poate fi un segment de sursă, un nod sintactic, o semnătură API, un comportament la testare, un contract de dependență sau o poziție latentă învățată. Aceste opțiuni nu sunt interschimbabile: fiecare protejează o altă proprietate observabilă și necesită o etapă de verificare corespunzătoare.

## O procedură practică

1. Definiți contractul de conservare Identificați regiunea editabilă și textul, structura, interfața ori comportamentul exact care trebuie să rămână neschimbat.
2. Alegeți cea mai restrânsă interfață de control utilă Reutilizați secvențele-sursă nemodificate, folosiți completarea porțiunilor lipsă sau decodificarea orientată spre editare, aplicați constrângeri formale ori blocați pozițiile latente selectate în funcție de proprietatea necesară.
3. Generați numai acolo unde modificarea este permisă Păstrați suficientă libertate în regiunea editabilă pentru rezolvarea sarcinii; copierea întregii intrări este locală, dar nu produce niciun progres.
4. Verificați simultan caracterul local și reușita Respingeți candidații care modifică regiuni protejate, nu trec analiza sintactică ori compilarea, încalcă invariante structurale sau nu satisfac modificarea solicitată.

## Dovezi care trebuie impuse

Forța unei afirmații nu o depășește pe cea a proprietății măsurate după generare sau decodificare.

- Diferența din afara regiunii sau o altă măsură directă a stabilității regiunii protejate.
- Reușita sarcinii în interiorul regiunii editabile.
- Analizare sintactică, compilare, teste, verificări statice sau invariante specifice sarcinii, după caz.
- Rata modificărilor în regiunea editabilă, astfel încât copierea să nu fie confundată cu controlul.
- Unicitatea candidaților și variabilitatea între rulări repetate, astfel încât localitatea să nu fie confundată cu colapsul modurilor.

### Ce raportează studiul indicat

- Experimentul asociat comprimă funcții Python de 64 de tokenuri în poziții discrete ierarhice și regenerează pozițiile latente selectate sub constrângeri parțiale.
- Blocarea a patru coduri de nivel superior a mărit rata de analizare de la 0.453 la 0.591, în timp ce pozițiile neblocate s-au modificat cu rata 0.936, iar eșantioanele condiționate au rămas unice în proporție de 0.998.
- Aceste măsurători evidențiază, deasupra nivelului tokenilor, un compromis între stabilitate și libertate; ele nu dovedesc păstrarea exactă a segmentului-sursă, a AST, a semanticii sau a comportamentului.

[Citiți prezentarea generală a publicației](https://aogavrilov.com/ro/publications/inspectable-control/) [Căutați în textul integral al lucrării](https://aogavrilov.com/publications/inspectable-control/full-text/)

## Limita domeniului de aplicare

- Un cod latent blocat nu este în mod automat un nod AST, un segment protejat din codul-sursă sau un invariant formal.
- Rata de analizare sintactică stabilește corectitudinea formei sintactice, nu corectitudinea funcțională sau reușita reparării.
- Dovezile raportate provin din funcții Python scurte preprocesate și nu stabilesc comportamentul la scara depozitelor.

## Surse primare și înrudite

Consultați lucrările indicate prin linkuri pentru metodele originale, măsurători și limitările declarate.

1. [Inspectable Control for Structure-Preserving Software Regeneration](https://aogavrilov.com/ro/publications/inspectable-control/) Articolul principal și experimentul cu variabile latente ierarhice constrânse.
2. [EfficientEdit: Accelerating Code Editing via Edit-Oriented Speculative Decoding](https://arxiv.org/abs/2506.02780) Decodificare orientată spre editare, care reutilizează regiunile neschimbate ale sursei.
3. [PAFT: Preservation Aware Fine-Tuning for Minimal-Edit Program Repair](https://arxiv.org/abs/2604.03113) Explicitează conservarea și modificarea minimă în antrenarea pentru repararea programelor.

Întreținut de Alexey Gavrilov . Această pagină sintetizează dovezile existente și nu adaugă niciun rezultat experimental în afara surselor citate.
