Files
hyungi_document_server/migrations/161_analyze_events_answerability.sql
T
Hyungi Ahn 34f79f84f2 feat(search): B-2 evidence LLM → 4B triage 전환 + answerability 컬럼
Plan 본래 의도: 근거 선별은 4B, 합성은 26B.

- evidence_service: LLM 호출을 primary(26B MLX) → triage(4B Ollama) 로 전환.
  Ollama concurrent 가능하므로 get_mlx_gate() 제거. synthesis 는 여전히
  llm_gate Semaphore(1) 경유로 MLX 보호.
- prompt_version v3-evidence-triage bump (synthesis 프롬프트 자체는 v2-600char
  그대로, evidence LLM 경로 변경을 분리 추적).
- migrations 161/162: analyze_events 에 answerability / partial_basis /
  suggested_query_count 컬럼 + partial index. /ask 는 이미 ask_events 에
  completeness (full/partial/insufficient) 기록 운영 중이므로, analyze_events
  쪽은 향후 문서 분석에서 answerability 개념 도입 시 활용 예비.
- telemetry record_analyze_event 에 answerability / partial_basis /
  suggested_query_count 파라미터 확장.

기존 /ask 3-state completeness 로직 (classifier_service + 7-tier gate) 은
그대로 유지 — 이미 Phase 3.5a 에서 완성된 상태. B-2 는 LLM 부하 재분배와
관측성 확장에 집중.

MLX 부하 감소 효과: 이전엔 쿼리 1건당 evidence(26B) + synthesis(26B) 2번
MLX 호출. 이제는 evidence(4B Ollama) + synthesis(26B MLX) 로 MLX 호출 절반.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 10:33:32 +09:00

22 lines
1.2 KiB
SQL

-- 161_analyze_events_answerability.sql
-- PR-B B-2: /ask 의 3-state completeness (direct/partial/insufficient) 독립 컬럼화.
-- plan: ~/.claude/plans/swirling-swimming-liskov.md §B-2
--
-- 기존 /ask 응답의 completeness 필드(이미 full/partial/insufficient 3-state 로
-- 운영 중인 Phase 3.5a 결과)를 analyze_events 에서도 독립 컬럼으로 집계 가능하게.
-- mode 컬럼 문자열 파싱 회피 + "Backlog Suppression" 카드와 동일 패턴.
--
-- answerability 값 매핑:
-- /ask completeness='full' → 'direct'
-- /ask completeness='partial' → 'partial'
-- /ask completeness='insufficient' → 'insufficient'
--
-- partial_basis: synthesis 가 partial 답변 본문을 실제로 생성했는지 (unanswered_aspects
-- 를 답변 뒤에 명시). completeness=partial 이어도 synthesis 가 스킵되면 false.
-- suggested_query_count: insufficient 때 사용자에게 돌려주는 추가 검색어 제안 개수.
ALTER TABLE analyze_events
ADD COLUMN IF NOT EXISTS answerability TEXT,
ADD COLUMN IF NOT EXISTS partial_basis BOOLEAN,
ADD COLUMN IF NOT EXISTS suggested_query_count INTEGER;