지식베이스 다산 확장 — 20조항 → 검색이 성립하는 규모
무엇을
knowledge-base/dasan/ 조항을 20개에서 70개 이상으로 늘린다.
AI Hub 다산 4개 카테고리의 실제 고객의도 체계를 따라 쓰고,
필요서류를 다루는 조항을 따로 세운다.
왜 — 골든셋 확장의 선행 조건이다
w3-golden-set-dasan이 「구비서류 케이스 30건 이상」을
요구하는데, 지금 지식베이스에서 필요서류를 다루는 조항은 DASAN-TERM-2.2·
DASAN-TERM-4.1 둘뿐이다. 이대로 30건을 만들면 정답이 2개 ID 로 몰린다.
조항이 20개면 Recall@5 자체가 성립하지 않는다. 1 조항 = 1 청크이므로
(ai/apps/retrieval/domain/services/chunking.py) 코퍼스가 20건이고,
상위 5건은 코퍼스의 25% 다. 아무렇게나 골라도 높은 값이 나온다.
실측 — 무엇을 덮어야 하는가 (2026-09-09)
.venv/bin/python (data/raw/aihub-minwon-qa/validation/label/다산콜센터/*.json)
총 레코드 20,325 · 고객 질문 6,697
서류 관련 질문 146건 (2.18%) · 고유 고객의도 64종
카테고리 분포 — 일반행정 64 · 코로나19 44 · 생활하수도 32 · 대중교통 6
⚠
_project/decisions/201은 174건(2.60%)·69종으로 적고 있다. 오늘 다시 재니 146건(2.18%)·64종이다. 키워드 집합이 달랐던 것으로 보이나 원래 질의를 복원하지 못했다. 결정 기록의 숫자를 고치지 않고 내 측정값을 따로 적는다(절대 원칙 8) — 어느 쪽이든 “서류 문의가 수십 종 서비스에 흩어져 있다”는 결론은 같다.
고유 고객의도 규모: 대중교통 48종 · 생활하수도 135종 · 일반행정 177종 · 코로나19 96종.
완료 조건
- 조항 70개 이상, 전부
<!-- id: DASAN-... -->마커를 갖는다 - 필요서류 조항이 25개 이상 — 서로 다른 서비스에 대응한다
- 4개 카테고리(대중교통·생활하수도·일반행정·감염병/재난지원)를 전부 덮는다
- 기존 20개 ID 는 한 글자도 바뀌지 않는다 (골든셋·테스트가 참조 중)
cd ai && pytest통과 — 청킹·로더가 새 규모에서 그대로 돈다- 실제 지자체 문서를 전재하지 않는다 (가상 지자체 「한별시」 유지, 절대 원칙 6)
결과 (2026-09-09)
조항 20개 → 98개 (TERM 76 · MANUAL 20 · POLICY 2). 서류를 다루는 조항 40개. 1 조항 = 1 청크이므로 코퍼스가 98건이 됐고, 상위 5건은 코퍼스의 5.1% 다(전에는 25%).
- TERM 10 → 76. 1장에 필요서류·신분확인·외국인 응대 공통 원칙을 세우고, 2~4장을 실제 고객의도(장애인콜택시·광역알뜰교통카드·명의변경·세대분할·누수감면· 전입신고·청소년증·지방세 환급/감면·아동수당·도서관 가입 등)에 맞춰 늘렸다. 6장 「재난·생계 지원금」을 새로 세웠다 — 코로나19 카테고리에서 지원금 의도가 가장 큰 덩어리인데 방역 안내(5장)와 필요서류 체계가 완전히 다르다.
- MANUAL 8 → 20. ① 필요서류 응대 절차(3.2~3.4 — F-2 전용의 근거) ② 5장 고객 폭언· 위기 응대(C-6 의 근거 조항. 전에는 4.2 에스컬레이션 한 줄뿐이었다).
- 기존 18개 조항은 본문 변경 0건 · 사라진 ID 0건 (git 대조로 확인).
- 분할된 조항 0건 — 최대 311자로
MAX_CHARS=400안에 들어온다.chunking.py독스트링의 낡은 실측값(102개/101자/332자)을 함께 고쳤다.