전사 지식베이스 — privacy-safe 컴파일 파이프라인

사내 대화를 LLM이 컴파일해 유지보수하는 지식베이스. 검색이 아니라 컴파일된 문서에서 답하도록 설계했다.

2비식별 레이어정규식 + GPU NER
12수집 채널사내 메신저

문제

축적된 사내 대화에 답이 있는데 찾을 수가 없었다. 흔한 처방은 대화를 그대로 임베딩해 검색하는 것이다. 그런데 원문 대화는 서로 모순되고, 번복되고, 맥락이 빠져 있다. 검증되지 않은 원문을 근거로 답하면 확신에 찬 오답이 나온다.

그리고 대화에는 개인·기관 식별자가 섞여 있다. 외부 LLM에 그대로 보낼 수 없었다.

한 일

검색이 아니라 컴파일로 갔다. 원문에서 답하지 않고, LLM이 원문을 읽어 유지보수하는 문서에서 답하게 했다.

파이프라인: 채널 수집 → 비식별화 2레이어(정규식 + GPU NER) → LLM 컴파일 → 위키 → 에이전트 질의

  • 비식별화 정밀도를 양방향으로 손봤다. 식별번호가 평문으로 나가지 않도록 규칙을 정밀화하고, 기관명은 단방향 해시 코드로 치환했다. 반대로 공개정보를 과하게 가리던 규칙은 풀었다 — 과마스킹은 문서를 쓸모없게 만든다. 어느 쪽이든 규칙을 문서로 남겼다.
  • API 키 페일오버를 넣되 전환 신호를 403 + billing_error로 한정했다. 아무 오류에서나 예비 키로 넘어가면 예비 키를 태우거나 진짜 장애를 정상으로 오인한다.
  • 최종 검토·머지는 사람이 유지하기로 했다. NER 정확도가 95%에 못 미쳐서, 개인정보의 마지막 게이트는 자동화하지 않는 게 맞다고 판단했다.

결과

컴파일된 문서를 근거로 답하는 위키가 돌아간다. 자동화할 것과 사람이 잡을 것의 경계를 정확도 수치로 그은 것이 이 프로젝트에서 가장 중요한 결정이었다.

측정 조건

대상
사내 메신저 12채널 대화
검증
NER 정확도가 95% 미만이라 개인정보 최종 게이트는 자동화하지 않고 사람 검토를 유지

비식별 규칙 변경은 정밀도와 과마스킹을 함께 봤다. 한쪽만 보면 문서가 쓸모없어지거나 식별자가 샌다.