Files
vpd-permission-poc/docs/design/743-game-identity-duality-vector/README.md

36 lines
1.8 KiB
Markdown

# 743 · 게임 식별 JSON Duality View 검색
## 프로젝트 개요
게임 질의 계획기는 DB 카탈로그를 사용해 게임 대상과 실행 작업을 결정한다. 현재는 LLM mention 추출 결과만 벡터 검색에 전달하므로, 질문에 명시된 `GAME_ID`가 mention에서 빠지면 게임을 찾지 못한다.
## 목표
게임명·별칭·`GAME_ID`·`GAME_PREFIX`·카탈로그 키를 하나의 DB JSON 문서로 표현하고 그 문서를 임베딩 원본으로 사용한다. 게임 식별 표현은 모두 mention 추출 대상이며, 검색·결과 식별은 DB 카탈로그만 사용한다.
## 설계
1. `sg_game_extract_mentions`는 정식 게임명, 별칭, `GAME_ID`, `GAME_PREFIX`, 카탈로그 키를 동등한 게임 대상 표현으로 추출한다.
2. `sg_game_catalog_identity_dv` JSON Relational Duality View는 게임별 식별 문서를 제공한다.
3. `sg_game_catalog.embedding`은 Duality View의 JSON 문서 직렬화 결과로 다시 생성한다.
4. `sg_game_catalog_search`는 해당 embedding을 검색한다. 따라서 입력 표현이 어떤 필드와 일치하더라도 같은 게임 문서로 수렴한다.
## JSON 문서 계약
```json
{
"_id": "카탈로그 키",
"gameId": "게임 ID",
"gamePrefix": "게임 prefix 또는 null",
"gameName": "정식 게임명 또는 null",
"gameAliases": "등록 별칭 JSON"
}
```
## 검증
- `STOVE_CHAOSZERO`처럼 등록된 `GAME_ID``game_mentions`에 포함된다.
- planner 결과가 `NONE`이 아니라 카탈로그의 단일 게임 target을 반환한다.
- `game_id가 STOVE_CHAOSZERO인 2026년 7월 15일 매출 합계`는 공통 매출 task를 생성·실행한다.
- 새 게임 또는 별칭을 DB 카탈로그에 추가하고 문서·embedding만 재생성하면 애플리케이션 수정 없이 검색된다.