# 예측 가능한 코드 생성에는 보존 계약이 필요하다

표준 HTML: https://aogavrilov.com/ko/research-notes/predictable-code-generation-preservation-contract/
영어 버전: https://aogavrilov.com/research-notes/predictable-code-generation-preservation-contract/
문서 언어: ko
출처 논문: https://aogavrilov.com/ko/publications/inspectable-control/
영어 논문 전문: https://aogavrilov.com/publications/inspectable-control/full-text/
DOI: https://doi.org/10.1145/3803437.3807386

결정적 샘플링만으로는 부족한 이유와 관찰 가능한 보호 속성·합격 검사가 코드 생성 동작을 시험 가능하게 만드는 방법.

## 짧은 답

### 코드 생성을 단순히 제어 가능하게가 아니라 예측 가능하게 만드는 것은 무엇인가?

생성 전에 관찰 가능한 계약을 정해야 한다. 무엇을 바꿀 수 있는지, 무엇이 안정적으로 유지돼야 하는지, 각 속성을 어떻게 측정할지, 언제 출력을 거부할지를 명시한다. 고정 프롬프트, 시드, 마스크, 문법 또는 잠재 코드는 메커니즘일 뿐이다.

## 이 구분이 중요한 이유

결정적 생성은 고정된 조건에서 같은 출력을 반복한다. 예측 가능한 생성은 선언된 속성을 시험 가능하게 만든다. 예를 들어 API 시그니처 유지, 영역 안 편집, 문법 유효성 또는 테스트 스위트 통과를 확인할 수 있어야 한다.

제어 입력만으로는 효과가 정의되지 않기 때문에 이 구분이 중요하다. 잠재 위치를 잠그거나 시드를 고정하거나 문법을 제약하면 생성을 더 쉽게 점검할 수 있지만, 보호 속성은 디코딩 뒤에도 측정해야 한다.

## 실행 절차

1. **보호 속성 선언.** 허용 범위 안에서 유지돼야 할 소스 영역, 구조, 인터페이스, 동작 또는 분포를 명시한다.
2. **속성에 맞는 제어 메커니즘 선택.** 보호할 속성에 따라 소스 재사용, 편집 마스크, 형식 제약, 잠재 잠금 또는 후보 제안 후 검증을 사용한다.
3. **샘플링 전에 합격 기준 정의.** 출력을 보기 전에 파싱, 컴파일, 테스트, 구조 검사, 국소성 임계값, 작업 성공 기준을 정한다.
4. **반복 동작 측정.** 한 가지 예시가 아니라 반복 실행의 합격률, 거부율, 안정성, 다양성, 불확실성을 보고한다.

## 요구해야 할 근거

- 보호 속성과 편집 가능 속성을 따로 명시한다.
- 주장하는 모든 보장에 관찰 가능한 검사 또는 지표가 있다.
- 안정성과 함께 작업 성공을 평가한다.
- 반복 실행 변동성과 거부율을 공개한다.
- 측정하지 않은 속성을 주장 범위에서 명시적으로 제외한다.

## 연결된 연구가 실제로 보고한 내용

- 연결된 실험은 짧은 Python 함수의 계층적 이산 위치를 점검 가능한 한 가지 제어 수단으로 노출한다.
- 상위 위치 네 개를 잠그면 파싱 성공률이 향상됐고, 잠그지 않은 위치에서는 높은 변화율과 높은 샘플 고유성이 유지됐다.
- 논문은 이를 초기 확률적 근거로 보고하며 정확한 AST 보존, 의미 동등성, 기능 정확성 또는 저장소 규모 예측 가능성을 주장하지 않는다.

## 적용 범위와 한계

- 예측 가능성은 속성별이다. 문법은 예측 가능하면서 동작은 예측 불가능할 수 있다.
- 결정적 디코딩은 잘못되거나 지나치게 넓은 편집도 똑같이 반복할 수 있다.
- 현재 사이트 실험은 측정된 짧은 함수 설정을 넘어서는 보장을 확립하지 않는다.

전체 연구 안내서: https://aogavrilov.com/ko/projects/discrete-latent-generation/#core-idea

## 주요 출처와 인접 연구

- [Inspectable Control for Structure-Preserving Software Regeneration](https://aogavrilov.com/publications/inspectable-control/): 주요 제한 실험과 명시된 근거 한계.
- [EfficientEdit: Accelerating Code Editing via Edit-Oriented Speculative Decoding](https://arxiv.org/abs/2506.02780): 변경하지 않은 소스 구간을 재사용하는 편집 지향 메커니즘.
- [Constrained Decoding of Diffusion LLMs with Context-Free Grammars](https://arxiv.org/abs/2508.10111): 명시적인 형식 제약을 가진 메커니즘의 사례.

이 유지 관리형 노트는 기존 근거만 요약하며 인용된 출처를 넘어서는 새로운 실험 결과를 추가하지 않는다.
