Repository navigation
Native Failure Feedback
예제를 통과한 함수가 다른 입력에서는 실패할 수 있습니다. input / input은
입력이 1일 때 1이지만, 입력이 0이면 계산할 수 없습니다. Gooo가 이 실패를
다음 코드 조립에 사용할 수 있도록 실행 결과를 넓혔습니다.
| 결과 | 기록하는 내용 |
|---|---|
| 정상 출력 | 실제 값과 기대값의 일치 여부 |
| 계산 실패 | 활동 ID, 연산 위치, 연산자, 피연산자 |
| 의존 활동 중단 | 앞에서 실패해 받을 수 없었던 값의 생산자 |
| 아직 관측하지 못함 | 실행 결과를 얻지 못한 기대값 |
한 활동이 실패해도 앞서 얻은 값과 독립 활동의 출력은 남습니다. 실패한 값을 필요로 하는 활동은 결과를 만들지 않고 의존 관계를 남깁니다. 기대값을 지정하지 않은 활동의 실패도 따로 세므로, 일부 출력만 6/6이라고 전체가 완료되지는 않습니다.
현재 이 처리는 int64의 0 나눗셈과 나머지 연산에 적용합니다. 예측하지 못한 프로세스 오류, 시간 초과와 취소는 원래 실패 기록으로 남습니다.
두 후보가 있는 함수를 준비했습니다. 첫 후보는 input / input, 두 번째는
상수 1입니다. 처음에는 입력 1에서 둘 다 맞으므로 첫 후보를 고릅니다.
평가에서 입력 0이 실패하면 Gooo 피드백 규칙이 원래 입력 0과 기대값 1을 다음 조립에 추가합니다. 이어서 시도 한도를 늘려 두 번째 후보를 확인합니다. 실행은 세 회차, 총 네 번의 시도를 기록했고 최종 별도 정수 입력 3개를 맞혔습니다. 기대값을 바꾸거나 실패한 입력을 제외하지 않았습니다.
다른 예산 함수에서는 여섯 후보 중 두 개가 실행 전에 탈락하고, 네 개가 실제로 실행됐습니다. 그중 하나가 계산에 실패했고 마지막 후보가 평가 4개를 맞혔습니다. 시도 한도를 다섯으로 제한하면 1/4의 부분 결과를 남깁니다. 자동 피드백으로 이 과정을 연결한 실행은 다섯 회차, 총 14번의 시도를 기록했습니다.
분기 규칙은 Gooo 소스에 있습니다. Go 코드는 결과를 정확한 정수로 읽고 명령과 파일을 연결합니다. 일반 실행의 진단 규칙도 Gooo로 작성했습니다.
레코드 조립을 섞은 예제에서는 기존 자체 소형 모델이 후보의 순서를 한 번 제안합니다. 고정 순서 48번과 모델 순서 6번으로 같은 코드를 골랐습니다. 빈칸 표현식은 소스 순서대로 확인합니다. 이 실험에 추가 학습은 없었고 저장 재실행의 새 추론은 0회입니다.
개발 소스 3b762198의 한 번의 로컬 실행에서 예측은 29,125ns, 전체 조립 명령은
2.23초였습니다. 사용자·시스템 CPU 시간은 각각 0.78초·0.53초, 최대 RSS는
86,769,664바이트였습니다. 다른 테스트도 실행 중이었으므로 성능 비교 자료로
일반화하지 않습니다. 호스트 전체 CPU 사용률은 이 측정에 포함하지 않았습니다.
- 시도 수 = 실행 전 탈락 수 + 실제 실행한 조합 수.
- 계산 실패 조합 수는 실제 실행한 조합에 포함합니다.
- 맞음·불일치·계산 실패·의존 활동 중단은 기대값이 있는 출력을 기준으로 셉니다.
- 별도의 활동 실패 수는 기대값이 없는 활동도 포함합니다.
- 재실행 기록의 과거 시도 수와 새 추론 횟수는 분리합니다.
작업장의 diagnose는 저장된 값과 집계가 맞는지 확인하고 다음 작업을 제안합니다.
원래 소스를 다시 실행해 확인하는 경로는 컴파일러의 저장 재실행입니다.
이 기능은 공개 0.6.16에 포함됐습니다.
배포 소스는 146a5085이며, 실제 설치본에서 원래 실패·부분 결과·큰 정수·저장 재실행을
확인했습니다. 공개 파일과 실행 원본,
작업장 연결 상태는 현재 상태에서 확인할 수 있습니다.
- 문서 홈
- 현재 상태와 지원 범위
- 작은 모델과 반환 가지 조립의0.6.33
- 문자열과 한 조건 조립의 0.6.32
- 문자열을 읽고 찾는 0.6.31
- 실패를 기록하며 조립을 이어가는 0.6.30
- 업무 규칙 예제와 실제 도입 기준
- 요구를 바꾼 뒤 결과 비교하기
- 결과 조회와 자체 모델의 0.6.28 배포
- 저장 결과를 비교하는 0.6.27 배포
- 작은 모델과 조립하는 0.6.26 배포
- 중간 조건을 확인하는 0.6.25 배포
- 분기 구성·재실행의 0.6.24 개발 후보
- 작은 도구로 발전시키는 Gooo
- 흐름도로 보는 Gooo
- 시작하기
- 언어 둘러보기
- 사용 흐름
- 작은 모델과 메타프로그래밍
- 우리 PC의 자체 경로 decision 모델
- 조건을 읽는 자체 모델과 실제 탐색
- SDK 0.2.39 자체 모델 받기
- 모델 선택 점수와 실제 실패
- 설명·변수 이름 변화의 27회 관측
- 작은 모델의 학습 범위를 넓힌 결과
- 같은 계산을 같은 모델 입력으로 읽기
- 사례를 통과해도 의도가 다를 때
- 사례를 모아 읽는 방식을 바꿔 보기
- 자체 결정 모델 받기 · Hugging Face
- 비교와 분기를 따로 배우면 나아질까
- 소스에 적는 중간 조건과 선택
- 지표와 증거
- 참고하고 감사하는 연구
- 최근 연구와 다음 작은 기능