5턴 동안만 발생하는 실패는 어떻게 점수를 매기나요?
what do you score when the failure only exists across five turns?
핵심 요약
대화 상태 압축으로 인해 발생하는 장기 기억 실패를 평가하고, 거절된 제안이 다시 나타나는 문제를 해결하는 방법을 논의합니다.
- 기억 실패 평가 — 개별 턴은 정상이나 세션 전체에서 거절된 제안이 반복되는 문제 해결
- 상태 기반 평가 — 대화 기록 대신 거절된 항목 ID를 상태로 관리하여 추적
- 사용자 트리거 활용 — 사용자의 명시적 재요청이 없는 경우에만 거절된 제안 재등장을 실패로 간주
- 이중 평가 체계 — 턴 단위 관련성과 세션 전체의 제약 조건 유지 여부를 분리하여 측정
개별 응답만 놓고 보면 다 멀쩡해 보이는데, 메모리 오류는 도대체 어떻게 테스트해야 하냐? 우리 4개 제품 팀에서 여행 세션 12,800개를 턴당 5번씩, 총 64,000턴을 돌려봤거든. 턴당 관련성(relevance)은 97.6%가 나와. 서류상으로는 아주 깔끔하지. 근데 947개 세션, 대략 7.4% 정도에서 이전에 거절했던 일정을 다시 제안하는 문제가 터지더라. 대화 상태를 압축하는 과정에서 4턴이 지나기 전에 거절 이력이 날아가 버린 거야(리뷰어가 결국 개별 응답만 따로 떼어놓고 보면 다 그럴싸해 보인다는 걸 알아냈지). 트레이스 그룹에서는 재제안이 찍히는데, 로컬 스코어링에서는 이걸 전혀 못 잡아내.
그래서 지금 세션 단위 스코어링에 넣을지, 아니면 행동 사양(behavior spec)으로 뺄지 고민 중이야. 다중 턴 평가를 도입하면 거절 이력이 세션 내내 유지되는지 확인할 수 있고, 궤적 스코어링(trajectory scoring)을 쓰면 재제안이 발생할 때 바로 잡아낼 수 있거든. 결정론적 상태 단언(deterministic state assertion)을 빡세게 걸 수는 있는데, 정당한 재고(reconsideration)를 똑같은 오류로 취급하지 않으면서 어떻게 점수를 매겨야 할지 영 감이 안 잡히네.
너희는 여러 턴에 걸쳐서 대화 상태가 유실된 거랑, 진짜로 선호도가 바뀐 걸 어떻게 구분하고 있냐?


