34f79f84f2
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>
22 lines
1.2 KiB
SQL
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;
|