회사 규정을 묻는 AI가 생겼다고 가정해 보겠습니다. 직원은 사내 게시판을 뒤지거나 담당자에게 연락하는 대신 질문을 입력합니다.
“수습 기간에도 원격 근무를 신청할 수 있나요?”
잠시 뒤 답변이 나옵니다. 신청 조건과 절차가 정리되어 있고, 관련 규정의 링크도 붙어 있습니다. 필요한 정보를 찾느라 쓰던 시간이 줄어들 것 같습니다.
그런데 이 답변은 어디에서 왔을까요.
일반적인 원격 근무 제도를 아는 것과 우리 회사의 현재 규정을 아는 것은 다릅니다. 회사마다 대상과 조건이 다르고, 같은 회사에서도 시간이 지나며 규정이 바뀝니다.
AI가 이 질문에 답하려면 지금 적용되는 자료를 찾아 참고할 수 있어야 합니다. 이번 글에서는 그 과정을 살펴보겠습니다.
대표적인 방식이 RAG입니다. 검색 증강 생성이라고 부르며, 질문과 관련된 자료를 검색해 모델의 입력에 넣고 답변에 활용하도록 하는 방식입니다.
흐름을 간단히 적으면 이렇습니다.
질문을 받는다.
관련 자료를 찾는다.
필요한 내용을 모델에 전달한다.
근거를 바탕으로 답변을 만든다.
일반적인 RAG에서는 문서가 추가될 때마다 모델 자체를 새로 학습시키지 않아도 됩니다. 외부에 보관한 자료를 질문 시점에 찾아 제공하는 방식으로 지식을 연결합니다.
다만 검색 기능을 붙였다는 사실만으로 정확한 답변이 보장되지는 않습니다. 어떤 자료를 찾았는지, 필요한 조건이 함께 전달되었는지, 답변이 그 근거를 충실하게 반영했는지 확인해야 합니다.
사용자에게는 짧은 문답으로 보이지만, 그 앞에는 자료를 준비하는 일이 있습니다.
회사 문서는 서로 다른 형태로 존재합니다. PDF로 된 규정이 있고, 표로 정리된 상품 정보가 있으며, 게시판 공지와 업무 매뉴얼도 있습니다.
검색하려면 먼저 그 안의 내용을 읽을 수 있는 형태로 추출해야 합니다. 이 과정에서 표의 행과 열이 뒤섞이거나, 제목과 본문의 관계가 사라지면 이후 단계에도 영향을 줍니다.
본문 외에 함께 보관할 정보도 있습니다. 문서 제목과 출처, 버전, 적용 날짜, 접근 권한 같은 정보입니다.
가령 원격 근무 규정이 두 개 있다고 해보겠습니다. 하나는 작년 규정이고 다른 하나는 올해 개정된 규정입니다. 두 문서 모두 비슷한 표현을 사용하므로 검색 결과에 함께 나타날 수 있습니다.
어느 것이 현재 유효한지 구분하지 않으면 AI가 오래된 규정을 근거로 답할 수 있습니다. 새 문서를 추가하는 일과 함께, 폐기된 문서가 계속 사용되지 않도록 관리하는 일도 필요합니다.
문서가 많다는 사실보다 질문에 적용할 자료가 무엇인지 구분되어 있다는 점이 중요해집니다.
긴 문서는 검색에 사용할 수 있는 단위로 나누기도 합니다. 이렇게 나눈 구간을 흔히 청크라고 부릅니다.
너무 큰 구간을 전달하면 질문과 관계없는 내용이 많이 포함될 수 있습니다. 반대로 너무 작게 나누면 문장을 해석하는 데 필요한 조건이 떨어져 나갈 수 있습니다.
가상의 규정을 읽어 보겠습니다.
정규 구성원은 주 2회 원격 근무를 신청할 수 있다.
단, 수습 기간 중인 구성원의 신청에는 별도 승인 절차가 적용된다.
첫 번째 문장만 검색되면 원칙은 전달되지만 예외가 빠집니다. 수습 기간의 신청 가능 여부를 묻는 질문에는 두 문장의 관계가 중요합니다.
표에서도 비슷한 문제가 생깁니다. 가격 숫자만 있고 상품 이름과 단위가 빠지면 무엇을 뜻하는지 알기 어렵습니다. 매뉴얼의 실행 단계만 있고 선행 조건이 빠지면 잘못된 절차를 안내할 수 있습니다.
따라서 문서를 나눌 때는 글자 수뿐 아니라 어떤 정보가 함께 있어야 의미가 유지되는지 살펴야 합니다.
모든 문서에 통하는 하나의 크기를 정하기보다, 실제 질문에 필요한 근거가 온전히 검색되는지 확인하면서 조정하는 편이 좋습니다.
사용자가 규정에 적힌 표현 그대로 질문하지는 않습니다.
문서에는 ‘원격 근무’라고 적혀 있는데 사용자는 “집에서 일해도 되나요?”라고 물을 수 있습니다. 이런 표현 차이를 다루는 방법 가운데 하나가 임베딩을 활용한 검색입니다. 텍스트를 수치로 표현하고 그 표현의 유사성을 이용해 관련 자료를 찾습니다.
정확한 문자열을 찾는 검색도 유용합니다. 제품 코드나 조항 번호처럼 특정 값이 중요한 질문에서는 키워드가 도움이 될 수 있습니다. 여러 검색 방식을 결합하기도 합니다.
어떤 방식을 쓸지는 실제 자료와 질문을 놓고 확인해야 합니다. 기술 이름만으로 검색 품질을 판단하기는 어렵습니다.
평소 직원들이 쓰는 말과 문서의 공식 용어가 얼마나 다른지, 정확한 번호를 찾는 질문이 많은지, 하나의 질문에 여러 문서가 필요한지 살펴보면 선택할 기준이 생깁니다.
처음의 질문으로 돌아가 보겠습니다.
“수습 기간에도 원격 근무를 신청할 수 있나요?”
AI가 잘못 답했다면 어디를 고쳐야 할까요. 답변을 더 정확하게 쓰라는 지시부터 추가하고 싶어질 수 있습니다. 그 전에 실제로 어떤 자료가 전달되었는지 확인해야 합니다.
별도 승인 절차가 적힌 문장이 검색되지 않았다면 검색 이전이나 검색 단계에 문제가 있을 수 있습니다. 원문에서 내용이 제대로 추출되었는지, 필요한 문장이 다른 구간으로 분리되었는지, 검색 조건이 적절했는지 살펴봅니다.
반대로 관련 문장이 분명히 전달되었는데 AI가 승인 절차를 생략했다면, 근거를 해석하고 답변을 만드는 단계를 검토해야 합니다.
두 상황에서 필요한 수정은 다릅니다.
필요한 자료를 찾지 못한 문제와 찾은 자료를 잘못 사용한 문제를 분리해야 합니다.
이 구분이 가능하려면 질문, 검색된 구간, 모델에 실제로 전달한 내용, 최종 답변을 연결해서 확인할 수 있어야 합니다. 답변만 보관하면 어느 단계에서 문제가 시작되었는지 알아보기 어렵습니다.
회사 문서에는 접근 범위가 있습니다. 모든 직원이 읽을 수 있는 공지도 있고, 특정 부서만 볼 수 있는 자료도 있습니다.
검색 결과가 질문과 관련 있다는 이유만으로 사용자에게 보여줄 수는 없습니다.
직원이 접근할 수 있는 자료의 범위에서 검색하도록 하고, 연결된 원문을 열 때도 권한을 확인해야 합니다. 허용되지 않은 자료를 먼저 모델에 전달한 뒤 최종 답변에서만 숨기려 하면, 이미 민감한 정보가 처리 과정에 들어간 상태가 됩니다.
여기에는 중요한 운영 질문이 따라옵니다. 문서의 접근 권한이 바뀌었을 때 검색용 저장소에도 그 변경이 반영되는가. 퇴사하거나 부서를 옮긴 사용자의 접근 범위가 올바르게 바뀌는가.
회사 문서를 잘 찾는 기능에는 권한을 최신 상태로 유지하는 일도 포함됩니다.
검색 결과가 없을 때는 어떻게 답해야 할까요.
“그런 규정은 없습니다.”
명확해 보이지만, 검색 결과만으로는 그렇게 단정하기 어려울 수 있습니다. 문서가 아직 등록되지 않았거나, 다른 표현으로 적혀 있거나, 사용자의 권한으로 볼 수 없는 자료에 있을 수도 있습니다.
따라서 다음과 같은 답변이 더 적절한 상황이 있습니다.
현재 확인할 수 있는 자료에서는 해당 규정을 찾지 못했습니다. 담당 부서의 확인이 필요합니다.
이 답변은 검색의 범위를 드러냅니다. 조직 전체에 규정이 없다고 결론 내리는 대신, 현재 제공 가능한 근거가 부족하다는 상태를 알려줍니다.
답이 없는 질문을 억지로 해결하려 하지 않는지도 품질의 일부입니다.
처음부터 회사의 모든 자료를 연결할 필요는 없습니다. 범위가 분명한 문서 몇 개와 대표 질문으로 시작할 수 있습니다.
문서에 답이 있는 질문을 준비합니다. 원칙과 예외를 함께 읽어야 하는 질문도 넣습니다. 문서에 답이 없는 질문, 사용자가 접근하면 안 되는 자료와 관련된 질문도 살펴봅니다.
각 질문에서 필요한 구간이 검색되는지 먼저 확인합니다. 그다음 답변이 조건을 빠뜨리지 않는지, 출처가 실제 주장을 뒷받침하는지 검토합니다.
문서를 갱신한 뒤에는 같은 질문들을 다시 확인할 수 있습니다. 최신 규정을 추가했는데 구버전이 계속 사용되는지, 다른 질문의 결과가 달라지지는 않았는지 보는 것입니다.
이렇게 사례를 쌓으면 “잘 답하는 것 같다”는 인상을 넘어 무엇이 되고 무엇이 아직 부족한지 설명할 수 있습니다.
회사 문서를 읽는 AI를 만들다 보면, AI보다 먼저 문서 관리의 문제를 만나기도 합니다.
최신본이 어느 것인지 알기 어렵고, 같은 주제의 문서가 서로 다른 조건을 말하며, 담당 부서가 바뀌었는데 안내는 그대로 남아 있을 수 있습니다. 사람도 답하기 어려운 상태를 검색 기능 하나로 해결하기는 어렵습니다.
자료의 유효한 버전과 적용 범위, 접근 권한을 정리하면 AI뿐 아니라 그 자료를 사용하는 사람에게도 도움이 됩니다.
질문에 답하는 AI의 품질을 살펴보고 싶다면, 최종 문장과 함께 그 앞의 과정을 읽어 보면 좋겠습니다.
무엇을 찾았고, 어떤 조건과 함께 전달했으며, 그 자료를 이 사용자가 볼 수 있는가.
이 질문에 답할 수 있어야 잘못된 결과를 고칠 지점도 보입니다.
다음 글에서는 답변을 넘어 실제 행동을 수행하는 AI로 범위를 넓혀 보겠습니다. 주문을 조회하고 접수를 생성하는 에이전트에게 어떤 일을 맡길 수 있으며, 어디에서 실행을 멈추게 해야 하는지 살펴보겠습니다.
참고 자료
Microsoft Learn — RAG 솔루션 설계와 평가