Skip to content

data(intent): A/B 임시 consensus와 반영 차단 추가 - #35

Draft
hywznn wants to merge 1 commit into
agent/intent-boundary-review-candidatesfrom
data/intent-consensus-v1-1
Draft

data(intent): A/B 임시 consensus와 반영 차단 추가#35
hywznn wants to merge 1 commit into
agent/intent-boundary-review-candidatesfrom
data/intent-consensus-v1-1

Conversation

@hywznn

@hywznn hywznn commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

요약

Reviewer B 결과가 아직 없는 상태에서 Reviewer A 판정을 임시 제안으로만 정리하고, 실제 B 확인과 전건 합의 전에는 원본 1,340건 적용을 차단합니다.

  • Reviewer A 기준 provisional consensus 361건 생성
    • ASSUMED_PENDING_B_CONFIRMATION: 335건
    • NEEDS_ADJUDICATION: 26건
  • Reviewer B 필드는 비워 두어 실제 검수 결과로 오해되지 않게 함
  • A/B 비교·재생성 CLI 추가
  • consensus manifest의 출처·checksum·적용 가능 상태 기록
  • B 미제출·불일치·논의 필요 행이 있으면 원본 적용 명령 fail-closed
  • 적용 시에도 원본과 별도인 JSONL 출력 경로를 필수로 요구

사용 흐름

# 현재: A 동의 가정의 임시안 생성
python -m fowoco_knowledge build-intent-consensus --assume-b-agrees

# B 제출 후: 실제 A/B 비교
python -m fowoco_knowledge build-intent-consensus

# 전건 최종 합의 후에만 별도 preview 생성 가능
python -m fowoco_knowledge apply-intent-consensus \
  --output data/intent/hr_intent_dataset.consensus-preview.jsonl

안전 경계

  • source_application.allowed: false
  • 실제 Reviewer B 판정을 임의로 작성하지 않음
  • data/intent/hr_intent_dataset.jsonl과 기존 checksum을 변경하지 않음
  • A의 NEEDS_DISCUSSION 26건은 자동 합의하지 않음
  • 이 consensus는 Gold Test 또는 모델 성능 주장에 사용할 수 없음

검증

  • make check: 21 passed
  • consensus 재생성 전후 CSV/manifest checksum 동일
  • 361개 source ID 중복 0건
  • 외국인등록번호·전화번호·여권번호 패턴 0건
  • 미합의 상태에서 적용 명령 exit 1 및 출력 미생성 확인

의존 관계

Closes #34
Related to #28, #30, #32.

hywznn added a commit that referenced this pull request Aug 4, 2026
## 요약

A/B consensus 전 수정 전 라벨 1,340건으로 모델링 파이프라인을 확인하는
provisional baseline과 A.X zero-shot 테스트 도구를 추가합니다.

## Provisional baseline

- PR #33의 고정 split 사용
  - Train 1,072건
  - Validation 268건
- 외부 API·ML 라이브러리 없이 재현 가능한 문자 n-gram 다중라벨 Naive Bayes
- Validation은 학습 및 threshold 결정에 사용하지 않음
- Intent 지표와 evidence·구조 오류를 분리 보고

| 지표 | 값 |
| --- | ---: |
| Intent Exact Match | 0.854478 |
| Macro F1 | 0.938066 |
| Micro F1 | 0.940361 |
| Evidence Gold Exact Match | 0.286136 |
| JSON Schema / Exact Substring / Order / OOS Gate | 1.0 |

이 수치는 템플릿성이 강한 `recheck_required` 데이터의 Validation 결과이며 최종
모델 또는 Gold Test 성능이 아닙니다.

## A.X 테스트

- Intent 규칙 v1.1 기반 versioned zero-shot prompt
- OpenAI 호환 A.X API 한 문장 테스트
- ID 또는 limit을 지정한 provisional Validation 평가
- 공식 `skt/A.X-4.0-Light` 로컬 Transformers 테스트 명령
- JSON 파싱 후 Schema, evidence substring, 순서, 중복, OUT_OF_SCOPE 검증
- API key 비저장, 더미 입력 확인 옵션, 개인정보 패턴 차단
- 모델 응답은 자동 보정하지 않고 오류 유형으로 기록

공식 API 문서의 guest endpoint를 2026-07-27 직접 확인했으나 현재는
`Guest 용 API Endpoint 서비스는 종료되었습니다.`라는 서비스 안내를 반환합니다.
따라서 실제 추론 결과는 팀 A.X endpoint/key 또는 명시적인 로컬 7B 모델 다운로드가
준비된 뒤 생성해야 합니다. 연결 성공을 모델 추론 성공으로 표현하지 않습니다.

실행 방법은

[`docs/INTENT_AX_TESTING.md`](fowoco-knowledge/docs/INTENT_AX_TESTING.md)에
정리했습니다.

## 검증

- Knowledge schema validation 통과
- Ruff format/lint 통과
- 테스트 35개 통과
- 종료된 guest API 응답을 명시적 오류로 처리
- API key가 코드·결과·Git diff에 포함되지 않음
- 로컬 모델은 `--confirm-model-download` 없이는 다운로드하지 않음

## 저장소 경계

AI 저장소 작업 충돌을 피하기 위한 `model` 임시 브랜치입니다. 모델 학습·추론
코드는 knowledge `main` 병합 대상이 아니며 구조 확인 후 `fowoco/ai`로 이전합니다.
knowledge에는 데이터 계약·평가 정책·검증 리포트만 남기는 방향입니다.

## 의존 관계

- Base/선행 PR: #33
- Consensus 작업: #35
- A.X 후속: #38
- 합의 라벨 반영 후 동일 seed로 split과 평가를 다시 실행해야 함

Closes #36
Related to #28, #32, #34, #38.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant