Repository navigation
Query Coverage 24 KO
추가 인덱스 없이 낮은 비용으로 새 특징을 계산했지만, 단독 특징의 손해/이득 구분은 개선되지 않았다. 네 특징의 저장소 평균 AUC는 0.4709–0.4933이다. 새 모델·임계값·자동 라우팅은 적용하지 않았다.
hintsearch.Index.QueryCoverage(query, ids)는 기존 BM25 인덱스에서 선택한 최대 20개 후보가 질의의 고유 단어를 얼마나 포함하는지 반환한다. 원본 코드를 다시 읽지 않고, 이미 정렬된 단어 목록과 문서 번호 posting 배열에서 이진 탐색한다. 검색 보조 인덱스나 모델은 필요 없다.
토큰화는 기존 BM25와 같다. Unicode 문자·숫자를 단어로 보고 소문자로 바꾸며, 중복 질의 단어는 한 번만 센다. 문장부호만 있는 질의는 0개 단어로 처리한다. 잘못된 문서 번호·중복 번호·20개 초과 후보·빈 질의·8,192바이트 초과 질의는 거부한다. 호출자가 접근 가능한 문서로 만든 인덱스와 그 인덱스의 번호를 제공해야 한다.
인덱스 구조에 필드를 추가하지 않았다. 후보 카운터와 결과는 고정 배열이며, 질의 토큰화에는 임시 할당이 있다. 인덱스는 읽기 전용이므로 여러 호출이 잠금 없이 공유할 수 있다. 검증된 메모리 할당 수를 “완전 무할당”으로 바꾸어 표현하지 않는다.
연구용 특징 네 개는 다음과 같다.
- 첫 후보가 포함하는 고유 질의 단어 비율.
- 기본 검색 상위 최대 20개 후보에서 이 비율의 평균.
- 같은 비율의 모집단 표준편차.
- 기본 인덱스 어휘 전체에 없는 고유 질의 단어 비율.
기존 12개 특징과 점수 분포 4개는 그대로 보존했다. 새 특징을 별도 배열에 담고, 보조 검색·정답 순위 계산 전에 추출한다. 후보 단어 일치는 의미 이해나 정답 확률이 아니다.
계획을 실행 전에 커밋했다. 기존 23과 같이 학습 저장소에서만 특징의 방향을 정하고 다른 저장소에 적용했다. 표는 세 저장소의 동일 가중 평균 AUC다. 0.5는 순위 구별이 없는 수준이며 정확도가 아니다.
| 새 특징 | 손해/나머지 | 이득/나머지 | 손해/이득 |
|---|---|---|---|
| 첫 후보 일치율 | 0.5157 | 0.5742 | 0.4933 |
| 상위 20개 평균 | 0.5675 | 0.5696 | 0.4709 |
| 상위 20개 표준편차 | 0.5210 | 0.5403 | 0.4745 |
| 질의 단어 어휘 부재 비율 | 0.4909 | 0.4932 | 0.4756 |
앞의 두 구분은 각각 고유 질문 2,948개 전체를 한 번씩 센다. 마지막은 페이지 동률을 제외한 478개 부분집합이며 별도의 2,400개 최종 평가가 아니다. 손해 146개, 이득 332개, 동률 2,470개라는 구성은 이전과 같다. 동점을 묶은 AP·양성 비율·저장소별 결과도 모두 공개했다.
평가 점수가 낮다고 그 방향을 뒤집어 보고하지 않았다. 단일 특징으로는 유용성을 보이지 못했지만, 기존 특징과의 조합까지 무의미하다고 입증한 것은 아니다. 사전 계획대로 다음에는 네 특징을 모두 추가한 16개 대 20개 특징 학습 비교를 별도 고정해 진행한다. 학습 목표·분할·후보 선택을 함께 바꾸거나, 평가에서 좋아 보인 특징만 골라 넣지 않는다. 조합 비교도 효과가 없다면 이 특징 경로를 기본 모델에 넣을 근거가 없다.
Apple M4 Pro/macOS/Go 1.27.1 합성 fixture: 문서 3,009개, 후보 20개, 소문자 질의 4단어 중 어휘에 있는 2단어와 없는 2단어. 인덱스 생성은 측정 밖이다.
| 작업 | 3회 측정 | 할당 |
|---|---|---|
| 후보 20개 일치율 | 681.6 / 650.1 / 640.3 ns | 64 B/op, 1 alloc/op |
| 같은 fixture의 기본 순위 계산, 배열 재사용 | 11,883 / 11,825 / 11,867 ns | 120 B/op, 3 allocs/op |
두 작업은 대체 관계가 아니다. 일치율은 기본 검색 이후 추가되는 비용이다. 총 지연이 줄었다고 주장하지 않는다. 짧은 고정 질의·따뜻한 캐시의 측정이며, 긴 질의·대문자 변환·더 많은 알려진 단어에서는 비용과 할당이 달라질 수 있다. 연구 특징의 평균·표준편차 계산과 JSON/IPC는 위 일치율 마이크로벤치마크에 포함하지 않았다.
CPU 프로파일에서 일치율 메서드 누적 82.61%, 정수 posting 이진 탐색 자체 36.65%였다. 해당 합성 실행 범위의 샘플이며 앱 전체나 GPU 병목을 뜻하지 않는다. 원시 프로파일은 로컬에만 보관한다.
고정 원천 확인·검색·특징 준비·전체 분석 한 번은 wall 1.85초, user CPU 1.50초, 최대 RSS 91,717,632바이트(약 87.5MiB). 이는 전체 분석 프로세스이며 개별 함수 메모리나 이전 실험 대비 RSS 감소의 증거가 아니다.
새 결과 전체 JSON 재실행이 바이트 일치했다. 공통 준비 코드 수정 후 기존 실험 23 결과도 바이트 일치했다. 단어 직접 검사와 인덱스 계산의 동등성, 중복·대소문자·한국어·부재 단어·잘못된 번호·동시 읽기, 기존 순위 불변 및 특징 수치를 검사했다. 기존 16개 특징의 분석 결과도 그대로 유지됐다.
go run ./cmd/riido-coverageaudit --out .cache/query-coverage-24
go test ./pkg/hintsearch -run '^$' -bench BenchmarkCoverageAndRanking -benchmem전체 결과. 같은 세 저장소를 반복 관찰한 개발 분석이다. 새로운 실제 사용자 요청 최소 2,400개·에이전트 완료율·LLM 절감은 미검증이다. CoSQA reserve는 사용하지 않았고 새 모델 가중치도 없으므로 HF 모델 저장소를 만들지 않는다.
CI passed on macOS and Linux; PR #47 merged. macOS·Linux CI 및 병합 완료. Feature research only; no new model release / 특징 연구이며 새 모델 배포 없음.
Follow-up / 후속: Joint training 25 / 조합 학습. Both seeds worsen page cost; additions deferred. 두 초기값 모두 페이지 비용이 악화되어 추가 채택 보류.
riidolaya is experimental. No demonstrated Codex cost savings; repository selection is preview-only.
riidolaya는 실험 단계입니다. Codex 절감은 미입증이며 저장소 선택은 preview입니다.
English README · 한국어 README · Versioned Wiki sources / Wiki 원본
이전 연구 안내 펼치기 / Earlier research
- 실제 이어 학습 V3 · 한국어 · Actual V3 training · English
- 진행·완료 보고·질문100건 결과 KO · 100-case results EN
- 라벨·이모지·상태 힌트 KO · Content/state hints EN
- 개발 진행·완료 보고·질문 pilot KO · Development pilot EN
- 작은 검증 기록 KO · Compact evidence EN
- 현재 개발 자료 35개·다음 학습 조건 · 35-row data and next training gates
- 개발용 학습 자료 2개 · Two qualified training requests
- 첫 두 과제 실제 관측 · First two actual observations
- 전체 사용법 KO · Full usage EN
- 작은 동작 힌트 KO · Small hints EN
- 설명 보강 비교76 · Caption diagnostic76
- Go 압축 가중치78 · Packed Go weights78
- 공개 함수 동작 검증 · Public function verification
- 다음 학습 자료 준비 · Training data preparation
- 동작에서 학습 정답·실제 학습79 · Grounded labels and actual fit79
- 소스 동작 관찰 · Source observations
- 저장 크기와 RAM · Storage and RAM
- 라이선스 · Licensing
- 시점별 기록 원문 / Chronological history
- 전체 연구 링크 / Full research index
- 문서 목록 / Documentation