폐쇄망·공공기관 활용 · 글 8편폐쇄망·공공기관 활용
  1. 폐쇄망에서 할 수 있는 AI 업무와 할 수 없는 업무
  2. 외부 전용 AI 서비스를 폐쇄망에서 대신하는 방법
  3. 로컬 AI 설치 전에 전산·보안 담당자에게 물어볼 것
  4. 외부 AI와 로컬 모델 중 무엇을 쓸지 정하는 기준
  5. 로컬 모델로 문서 업무 하기
  6. 부서 문서를 로컬에서 검색하고 근거로 답하게 하기
  7. 로컬 모델로 데이터 정리와 회의록 만들기
  8. 작은 로컬 모델의 한계와 검수 방법

이 글에서 다루는 것부서 지침·규정·회의록을 인터넷 없이 찾는 방법을 단어 검색, 지식 베이스, RAG 구축 세 단계로 나누고, 문서 정비와 답변 품질 점검 방법을 함께 정리합니다.

세 단계로 나눠 생각합니다

“우리 부서 문서에서 답을 찾아 주는 AI”는 한 가지가 아닙니다. 교육과정 보드는 이 일을 방법에 따라 세 모듈로 나눠 둡니다.

단계 방법 필요한 것 누가 하나
1 단어로 찾는 오프라인 검색 도구 브라우저 또는 간단한 코드 누구나
2 지식 베이스를 넣은 문서 도우미 로컬 대화창, 언어 모델 누구나
3 RAG 구축 언어 모델, 임베딩 모델, 코드 전산 담당자, 구축 경험자

1단계는 AI 모델이 없어도 됩니다. 문서가 어디 있는지만 빨리 찾으면 되는 일이 많으므로 여기서 끝나는 경우도 적지 않습니다.

1단계. 단어로 찾는 검색 도구

보드의 “오프라인 문서 검색 도구 만들기” 모듈은 기관 문서목록·본문·회의록을 인터넷 없이 검색하는 도구를 만듭니다. 실습 항목은 다음과 같습니다.

  • 문서목록을 검색하는 단일 HTML 파일
  • 기관명·약어 오프라인 검색창
  • PDF·HWPX 본문을 뽑아 검색 색인 만들기
  • 조항·문서번호 본문 검색

실습의 “부서 문서 검색기”로 이 방식을 먼저 해 볼 수 있습니다. hwpx·docx·txt 문서를 넣으면 문단으로 나눠 브라우저 안에 색인을 만들고 검색합니다. 기본은 단어 검색이고, 의미 검색을 켜면 임베딩 모델을 받아 뜻이 비슷한 문단까지 찾습니다. 문서와 색인은 그 기기에만 저장됩니다.

단어 검색과 의미 검색은 잘하는 일이 다릅니다.

단어 검색 의미 검색
찾는 방식 질문에 든 단어가 들어 있는 문단 뜻이 비슷한 문단
강한 경우 문서번호, 조항, 고유명사 표현이 달라도 같은 내용
약한 경우 “출장비”로 찾는데 문서에는 “여비”라고 적힌 경우 정확한 번호나 이름을 찾는 경우
필요한 것 없음 임베딩 모델

보드는 둘을 함께 쓰는 하이브리드 검색을 RAG 실습 항목에 넣어 두었습니다.

2단계. 지식 베이스를 넣은 문서 도우미

보드의 “나만의 문서 도우미 설정” 모듈은 부서 양식·지침·용어집을 넣은 전용 도우미를 만들어, 넣은 문서에 근거해 답하게 합니다. 폐쇄망에서는 로컬 대화창의 지식 베이스로 대신한다고 적혀 있습니다. Msty Studio에서는 내 문서와 노트를 근거로 답하게 하는 Knowledge Stacks가 이 기능입니다.

모듈의 실습 항목을 순서로 옮기면 이렇습니다.

  1. 넣을 문서를 고릅니다. 자주 찾는 지침 묶음부터 시작합니다. 한꺼번에 많이 넣지 않습니다.
  2. 예시 문서를 넣습니다. 잘 쓴 보고서 세 건을 넣어 품질 기준을 맞춥니다.
  3. 용어집과 금칙어를 넣습니다. 부서에서 쓰는 표기와 쓰지 않는 표현을 지식으로 넣습니다.
  4. 규칙을 적습니다. 도우미가 항상 따를 지시를 적어 둡니다.
  5. 질문해 보고 근거를 확인합니다. 답이 어느 문서의 어느 부분에서 나왔는지 봅니다.
  6. 부서원에게 공유하고 사용 안내문을 씁니다.

4번에 적을 규칙의 예입니다.

넣어 둔 문서에 근거해서만 답합니다.
답변마다 근거 문서 이름과 해당 부분을 함께 적습니다.
문서에 없는 내용은 추측하지 말고 "넣어 둔 문서에 없습니다"라고 답합니다.

3단계. RAG 구축

문서가 많아지고 여러 사람이 써야 하면 RAG를 구축합니다. 질문과 관련된 문서 조각을 먼저 찾아 언어 모델에 함께 넣어 답하게 하는 방식입니다. 보드는 이 모듈을 “폐쇄망 기관의 조사·질의응답 위임을 대신하는 핵심 모듈”이라고 설명하고, 반입 후 사용으로 표시합니다. 언어 모델과 임베딩 모델을 외부망에서 받아 옮겨야 하기 때문입니다.

흐름은 다음과 같습니다.

  1. 문서에서 글자를 뽑습니다. 스캔본은 글자 인식(OCR)을 거칩니다.
  2. 글을 조각(청크)으로 나눕니다.
  3. 조각마다 임베딩을 만들어 파일 이름, 쪽 번호와 함께 저장합니다.
  4. 질문이 들어오면 가까운 조각 몇 개를 찾습니다.
  5. 찾은 조각과 질문을 언어 모델에 넣어 답을 만들고, 출처를 붙입니다.

구축은 코딩에이전트나 AI에게 코드를 받아 진행합니다. 바이브코딩 시나리오 자료에 있는 지시문을 다듬으면 다음과 같습니다.

폐쇄망에서 동작하는 오프라인 규정 검색·답변 도구를 만들어 주세요.
1. 외부 인터넷 통신 없이 localhost의 Ollama와만 통신합니다.
2. 규정 텍스트를 조각 단위로 나눠 로컬 벡터 DB에 임베딩해 저장합니다.
3. 질문이 들어오면 가까운 조항 상위 3개를 찾고, 조·항·호 출처를 밝혀 답합니다.
4. 규정에 없는 내용은 "관련 규정에 명시되어 있지 않습니다"라고 답하게 합니다.

용어 사전에는 더 짧은 문장도 있습니다. “문서를 500자 단위로 나눠 임베딩하고, 질문과 가장 가까운 5개를 찾게 해 주세요.” 조각 크기와 찾는 개수는 정답이 없어서, 보드는 “문서 쪼개기·임베딩 방식 비교 실험”을 실습으로 둡니다. 내 문서로 몇 가지를 바꿔 가며 비교해야 합니다.

문서부터 정비합니다

검색과 답변의 품질은 넣은 문서가 정합니다. 보드의 지식베이스 정비 모듈은 구축보다 문서 정리를 먼저 다룹니다.

  • 문서 목록에 개정일, 담당부서, 효력 여부를 적습니다.
  • 폐지된 문서, 구버전, 중복 문서를 걸러냅니다.
  • 문서가 개정되면 색인을 다시 만드는 절차를 정합니다.

구버전 지침이 섞여 있으면 AI는 그것을 근거로 그럴듯하게 답합니다. 이 경우 모델을 바꿔도 해결되지 않습니다.

답변 품질을 재는 방법

같은 모듈은 평가 세트를 만들게 합니다.

  1. 실제로 들어오는 질문 50개를 모읍니다.
  2. 질문마다 정답과 근거 문서를 적어 둡니다.
  3. 도구에 질문을 넣어 정답률을 셉니다.
  4. 틀린 답을 원인별로 나눕니다.
오답 원인 뜻 고칠 곳
문서 누락 답이 든 문서가 들어 있지 않음 문서 추가
검색 실패 문서는 있는데 관련 조각을 찾지 못함 조각 크기, 검색 방식
답변 오류 조각은 찾았는데 모델이 잘못 답함 규칙 문장, 모델

문서를 넣었다고 틀린 답이 없어지지는 않습니다. 세 가지 가운데 어디서 틀리는지 알아야 고칠 수 있습니다. 문서를 바꾸거나 모델을 바꿀 때마다 같은 질문으로 다시 재면 나아졌는지 확인할 수 있습니다.

질문 응대용으로 쓸 때

같은 방식으로 자주 묻는 질문에 답하는 직원용 챗봇을 만들 수 있습니다. 보드의 FAQ 챗봇 모듈에서 가져올 점은 두 가지입니다.

  • FAQ를 질문·답변·근거 표로 먼저 정리합니다.
  • 답을 모를 때는 담당 부서 안내로 넘기게 하고, 질문과 오답을 기록해 FAQ를 보강합니다.

다음에 읽을 글