refs #739: guide no-target few-shot SQL generation

This commit is contained in:
devmrko
2026-07-28 12:49:46 +09:00
parent 5409a29297
commit 987ea44f32
3 changed files with 17 additions and 4 deletions

View File

@@ -136,7 +136,10 @@ Few-shot 원문 SQL은 실행 이력 그대로 검색하지 않는다. 특히
물리 테이블명은 Few-shot의 의미 규칙으로 저장하지 않는다. `SQL_TEMPLATE`
`<RESOLVED_GAME_USER_MASTER>` 같은 논리 placeholder를 사용하며, 실제 객체는 오직
현재 `queryPlan.targets[*].userMasterObjectName`에서만 해석한다. `NO_TARGET`
`OBJECT_UNAVAILABLE` 예제는 SQL 패턴이 아니라 범위 경계 안내로 프롬프트에 포함한다.
`OBJECT_UNAVAILABLE` 예제는 범위 경계 안내와 검증된 빈 결과 SQL 템플릿을 함께
프롬프트에 포함한다. 이 템플릿은 애플리케이션에서 직접 실행하거나 답변으로
반환하지 않으며, Select AI가 현재 질문의 범위를 해석해 SQL을 생성할 때만 Few-shot
근거로 사용한다.
기존 예제는 삭제하지 않는다. 실행 가능성, 게임 범위 일치, 물리 객체 의존성을 전수
검사해 `RETIRED`로 분리하고, 검증된 정규화 예제만 `APPROVED`로 전환한다.
@@ -165,3 +168,7 @@ Few-shot 원문 SQL은 실행 이력 그대로 검색하지 않는다. 특히
- Redmine: `#739`
- Backoffice branch: `smilegate`
- Portal branch: `main`
- 2026-07-28: `STD-03``NO_TARGET` 예제에 검증된 빈 결과 SQL 템플릿을 Few-shot
근거로 노출했다. 운영 Portal ReAct에서 `game_query_plan → fewshot_nl2sql` 경로로
생성·실행한 SQL은 `SELECT CAST(NULL AS NUMBER) ... FROM DUAL WHERE 1 = 0`이었고,
답변 이력 `422``PASS`로 기록됐다. 직접 정답 실행 분기는 두지 않는다.