Skip to content

Replaying Body Experiments

kimjooyoon edited this page Oct 3, 2026 · 1 revision

바디 실험을 다시 실행하고 결과 읽기

저장된 실험을 현재 컴퓨터에서 확인하는 안내입니다. Go1.27.1을 사용합니다. 실험 저장소 #19가 병합됐고, 로컬 실행과 Linux CI에서 두 재현 경로를 확인했습니다.

1. 실행하기

git clone https://github.com/kimjooyoon/gooo-metaprogramming-experiments.git
cd gooo-metaprogramming-experiments/tools/baseline-replay
go run . --root ../.. --output /tmp/gooo-baseline-new
go run . --revision2 --root ../.. --output /tmp/gooo-candidates-new

출력 폴더는 새 이름을 사용합니다. --output을 생략하면 임시 폴더를 만들고 경로를 출력합니다. 첫 명령은 앞선 컴파일러 두 버전에서 저장한 생성 프로그램 52개를 다시 컴파일·실행합니다. 두 번째는 기준 함수 두 묶음과 원래·수정 후보를 실행합니다. 모델 호출과 새 코드 생성은 0회이며, 준비 스크립트는 자료로 읽습니다.

새 바디를 직접 작성하려면 여러 줄 바디 작성, 모델과 결정론적 조립을 비교하려면 파일에서 바디 조립·실행을 참고합니다.

2. 결과를 읽는 순서

먼저 볼 것 의미 이번 후보 재현
선언한 후보 수 확인할 전체 후보 각 버전 96
컴파일·실행 수 실제 결과를 낸 후보 원래 93, 수정 96
컴파일 실패 실행 전에 실패한 후보 원래 3, 수정 0
선택 입력 충족 조립 경로를 판단하는 입력의 동작 후보별 training.passed / training.total
평가 입력 충족 선택 뒤 별도로 확인할 입력의 동작 후보별 evaluation.passed / evaluation.total
소스 완전성 받아들인 Gooo 구조가 생성물에 반영됐는가 별도 컴파일러 기록

컴파일에 통과한 후보도 기대값과 다르게 동작할 수 있습니다. 두 번째 명령의 independent-replay-report.json에서 original.design_results와 revision_2.design_results를 열면 과제·후보별 두 충족 수를 볼 수 있습니다. independent-replay-report.md는 전체 요약입니다.

이번 수정 후보에서 지정된 정답 후보는 선택 입력 137/137, 평가 입력 95/95를 충족했습니다. 32개 선택 입력 묶음은 모두 정답 후보와 두 대안을 구분합니다. 이는 실험에서 지정한 후보의 유한 동작 관측입니다. 실제 모델 판단의 충족률은 모델을 호출한 별도 기록에서 읽습니다. 양쪽 버전은 같은 32개 의도를 사용합니다.

3. 새 결과와 실패를 보존하는 방식

임시 복사본의 결과 189개를 지우고 후보 테스트를 실제 실행합니다. 새 파일을 원래 파일 해시와 대조하므로 이전 결과가 남아 있는 상태로 성공하지 않습니다. 원래 세 컴파일 실패도 확인하며, 그 후보들의 예정 입력행 24개에는 실행 결과가 없습니다.

실패 피드백 32묶음은 원본 소스와 선택 입력의 해시, 후보 ID, 새 실행 결과를 함께 확인합니다. 평가 입력은 피드백 관측에 들어가지 않습니다. 시간 제한에 걸리면 자식 프로세스 그룹을 정리하고, 완료된 원문과 실패 기록을 출력 폴더에 남깁니다.

원래 고정 파일·수정 전 실패·새 실행·도구 소스와 실행파일 해시를 함께 보존합니다. 과거와 현재의 문서나 도구 버전이 달라도 어떤 조건의 관측인지 다시 확인하기 위한 장치입니다. 공개 원본과 실행 비용.

Clone this wiki locally