Tech Dive

AI기반 사내지식검색서비스 “K-hub” 개발기

1. 들어가며

우리는 매일 수많은 자료를 다룹니다. 하지만 쌓여가는 정보 속에서 필요한 순간에 원하는 정보를 찾는 것은 쉽지 않습니다. 결국 “아는 사람에게 묻는” 방식에 의존하게 되는데, 이는 비효율적일 수 밖에 없습니다. 이러한 문제를 해결하기 위해, 우리는 사내 지식을 체계적으로 수집하고 관리한 뒤, 검색 증강 생성(RAG, Retrieval-Augmented Generation)기술을 활용한 사내지식검색서비스(K-hub)를 직접 구축하기로 했습니다. 

'K-hub'는 단순한 검색 기능을 넘어, 검색과 생성이 결합된 RAG 기술을 자체 AI 검색엔진 'IntelliSearch' 기반으로 구현 및 실증했다는 점에서 특별한 의미를 갖고 있습니다. 이 글에서는 우리가 어떤 문제의식에서 출발했는지, 그 문제를 어떻게 풀어나갔는지, 그리고 RAG를 활용한 생성형AI서비스를 사내 환경에 적용하며 얻은 교훈을 함께 공유하고자 합니다.

1.png



2. 프로젝트 목표

이번 프로젝트는 다음과 같은 핵심 목표를 가지고 진행되었습니다.

1) 사내 지식 통합 및 현행화

   분산된 사내 지식을 통합하고 자동화된 현행화 시스템의 구축을 통해 최신 정보 접근성과 업무 생산성 향상

2) AI검색 기반 업무 효율 극대화

    RAG 기반 AI 검색을 통해 단순 문서 검색을 넘어, 질문에 대한 직접적인 답변을 제공함으로써 업무 효율을 극대화

3) KT 자체 기술 및 AI 모델 활용

    KT 고유의 검색엔진, 사전, AI 모델 등의 자체 기술을 결합하여 검색 및 AI 관련 내부 기술의 경쟁력을 강화

4) AI 검색엔진 공통 기능 도출 및 개선

    전사 서비스에서 활용 가능한 공통 검색 기능을 표준화하고 개선하여 검색 기능의 재사용성 확보

2.png


3.png




3. 시스템 아키텍처 개요

이 목표를 달성하기 위해 설계한 아키텍처는 다음과 같은 흐름을 가집니다.

지식 수집 → 정제 → 색인 → 검색 → 답변 생성

우선 다양한 소스에서 지식을 수집하고, 이를 정제한 뒤 검색이 가능한 형태로 인덱싱합니다. 검색 단계에서는 키워드 기반 검색과 벡터 기반 검색을 모두 활용하여 질문과 가장 관련성이 높은 문서를 찾습니다. 마지막으로 LLM을 활용해 사용자의 질문에 적절한 답변을 생성하는 구조입니다.

우리는 검색 구축에 필요한 핵심 구성요소를 모듈화하여 재사용성을 확보하는 데 중점을 두었습니다. 지식 수집, 인덱싱, 검색, QA 응답 각 단계의 모듈을 독립적으로 설계함으로써, 향후 다른 KT 서비스에서도 이 모듈들을 조합하여 각 서비스에 최적화된 검색 기능을 빠르게 구축할 수 있도록 했습니다. 보안 규정이 엄격한 사내 환경을 고려해 격리된 전용 클라우드에서 구축했고, 오픈소스 검색엔진(Elasticsearch)과 자체 모델(임베딩, 리랭커 등)을 활용해서 KT의 AI 검색엔진 'IntelliSearch”를 완성할 수 있었습니다. (K-Hub에서 활용)

01.jpg

전체 시스템은 크게 지식 준비(Knowledge Preparation) 단계와 검색 및 응답(Query-to-Answer) 단계로 나뉩니다.

색인 파이프라인: 문서 수집에서 데이터 색인까지

먼저 지식 준비 단계에서는 내부의 다양한 원본으로부터 데이터를 수집합니다. 데이터는 주로 Database(Oracle, MySQL, MSSQL, Postgresql 등)나 각종 문서 파일(PDF, DOCX, TXT 등) 형태로 존재하며, 이를 수집한 후에는 문서 파일 일 경우 데이터 추출(KT Docusee 활용)을 수행하며 이후 정제 작업(refinement) 이 진행됩니다. 이 과정에서는 날짜 형식을 통일하고, 문서의 카테고리를 분류하며, 필요한 메타데이터를 정리해 문서를 검색 친화적인 형태로 가공합니다.

정제된 데이터는 AI 기반의 확장(enrichment) 단계로 이어집니다. 문서 내용을 임베딩하여 의미 기반 검색이 가능하도록 처리하고, 요약(summarization) 정보 및 문서 기반 질문-답변 쌍(synthetic QA)을 생성해 검색 정확도를 높이는 데 활용합니다.

검색 파이프라인: 검색 요청에서 답변 제공까지

사용자가 질문을 입력하면, 본격적인 검색 흐름이 시작됩니다. 이 검색 과정은 다음과 같은 네 가지 주요 단계로 구성됩니다.

  • Pre-Retrieval: 검색 전에 사용자의 질문을 처리하는 단계로, 질의 분석을 통한 계획 수립(Query Routing/Planning), 질의 확장(Query Expansion)이나 형태 변경(Query Transformation)을 통해 검색 성능을 향상시킵니다. 예를 들어, 복합적인 질문에 대한 추론을 통해 여러 개의 하위 질문으로 나누거나 같은 질문을 다양한 표현으로 바꾸어 검색할 수 있도록 합니다.
  • Retrieval: 문서를 검색하는 단계로, 키워드 기반(lexical), 벡터 기반(vector), 또는 두 방식을 결합한 하이브리드(hybrid) 방식으로 관련 문서를 찾습니다.
  • Post-Retrieval: 검색된 문서의 순위를 재조정하는 단계입니다. 단순히 일치한 문서가 아닌, 사용자 질의와 의미적으로 더 밀접한 문서가 상위에 노출되도록 재정렬(reranking) 과정을 거칩니다.
  • Generator: 최종적으로 선택된 문서들을 기반으로, LLM이 자연스러운 문장 형태로 응답을 생성합니다. 이때 근거 문서의 출처를 명시해주는 Citation 기능과, 응답이 실제 문서에 기반하고 있는지를 검증하는 Knowledge Groundedness Check도 함께 수행됩니다.


4. 문서 수집에서 데이터 색인까지


지식
구성 데이터
KT 업무 지식
  • 직원정보
  • 사내 다양한 시스템에 대한 정보
  • 공지 게시물(전사/조직별 공지, 경영메시지 등)
  • 업무 지원 게시물(사내게시판, IT지원사이트 등)
  • 업무 매뉴얼(사내시스템 매뉴얼, 정보보호 지침)
  • 표준 문서(사규, 업무표준문서, 컴플라이언스)
  • 사내 방송 정보(KBN)
  • 문서(인사복지, 재무 관련 정책)
KT 상품 지식
  • 마이케이티, kt.com 의 각종 상품 정보
KT 보안 지식
  • 사내 보안 정책 및 QA 문서

사내지식검색서비스(K-Hub)에서 활용하는 지식 데이터와 구성 데이터는 서로 다른 출처에서 수집되며, 데이터의 유형과 형식도 다양합니다.

따라서 데이터의 특성과 활용 목적에 맞게 분석과 전처리 작업을 거친 뒤 검색 엔진 데이터베이스에 색인됩니다. 이 과정은 크게 다음과 같은 단계로 진행됩니다.

4-1. 데이터 수집

데이터 출처의 특성을 고려하여 각 수집 파이프라인을 설계 및 구축합니다.
  • 수집 경로 및 파싱 설정: 데이터의 수집 경로를 정의하고, 구분자 지정 등 파싱 규칙을 설정합니다.
  • 색인 갱신 방식 설정: 원천 데이터의 특성에 따라 전체 색인, 증분 색인 등 갱신 방식을 결정합니다.
  • 스케줄 설정: 수집 주기와 실행 일정을 설정합니다.

4-2. 데이터 가공

수집된 데이터는 검색 성능 및 품질 향상을 위해 아래의 가공 절차를 거칩니다.
  • 색인 규격 정의: 필드명, 데이터 타입, 스키마 등을 표준화하여 여러 유형의 데이터 간 일관성을 확보하고, 공통 메타데이터를 생성합니다.
  • 검색 대상 필드 벡터 임베딩: 주요 텍스트 필드에 벡터 임베딩을 수행해 키워드 기반 검색을 보완하고 의미 기반 검색을 가능하게 합니다. 이를 통해 키워드가 일치하지 않더라도 의미적으로 연관된 결과를 찾을 수 있습니다.
  • 데이터 증강: 문서 요약, 연관 질문 생성, 주요 핵심 키워드 추출, NER 추출 등의 데이터 확장을 통해 검색 결과 품질을 높입니다.

4-3. 수집 및 색인 자동화

설정된 파이프라인과 가공 규칙에 따라 자동화된 수집 및 색인 작업이 실행됩니다.
  • DB 또는 API 를 통해 수집되는 데이터는 위의 일반적인 파이프라인 동작 절차로 수집/색인이 진행됩니다.
  • 문서 파일 형태의 지식 데이터는 Intellisearch의 파일 색인 서비스 기능을 통해 별도 파이프라인 절차로 진행되며, 이 과정 안에서 OCR(광학 문자 인식)을 통한 텍스트 추출, 파일 메타데이터 생성, 문서 구조 분석과 같은 절차가 수행됩니다. 이를 통해 텍스트 형태가 아닌 파일 형식의 데이터 또한 검색 가능한 형태로 변환하여 색인 할 수 있습니다.
  • 증분 색인 및 전체 색인을 통해 빠른 현행화와 데이터 일관성 유지를 하고 있습니다.


5. 검색 요청에서 답변 제공까지

K-Hub 서비스에서는 담당에서 자체 개발한 AI검색엔진 Intellisearch의 Search/RAG API를 활용하여 아래의 두가지 검색기능을 제공합니다.

5-1. 통합 검색

사용자가 입력한 질의를 기반으로 관련 문서를 검색하고, 검색된 문서 목록을 그대로 제공하는 전통적인 검색 방식입니다. 단순 키워드 일치 이상의 의미 기반 검색이 가능하며, 복잡하거나 문장 형태의 질의에 대해서도 높은 품질의 검색 결과를 제공합니다.

기능 특징
  • 일반적인 형태소 분석 기반 토큰 매칭 검색 방식과 의미/유사도 기반 벡터 검색 방식, 두가지 기능 모두를 혼합한 하이브리드 검색 방식을 제공합니다.
  • KT에서 만든 한국어 특화 Embedding, Reranker 모델을 사용합니다.
  • 기존 관리자에 의해 룰 기반으로 유지보수 되던 기능들을 아래와 같은 LLM 기반 검색 보조 기능으로 대체하여 관리자의 개입을 최소화 합니다.
    - 질의 내 핵심 키워드 자동 추출 및 오타 보정 → 잘못된 입력에도 검색 품질 유지
    - 질의 의도 분석 및 카테고리별 검색결과 우선순위 조정 → 사용자의 의도에 부합하는 결과 우선 제공
    - 질의 내 시점 정보 추출 및 가중치 적용 → 최신 정보 또는 특정 시점과 연관된 검색 결과 강화

5-2. AI 검색

사용자의 질의와 관련된 문서를 우선 하이브리드 검색한 뒤, 해당 문서들을 LLM에 입력하여 최종 답변을 생성하는 RAG기반 검색 방식입니다. 단순히 질의와 관련된 문서를 제공하는 것을 넘어, 사용자들이 요구하는 직접적인 답변을 제공합니다.

기능 특징
  • 질의 분석을 통한 질의어 분해 및 확장 후 하이브리드 검색을 통해 관련 문서를 찾습니다.
  • AI검색 파이프라인 안에서 자체적으로 Task에 대해 학습한 RAG Instruction 모델을 사용합니다.
  • 사용자에게 Generation 단계에서 사용할 LLM 모델을 선택할 수 있도록 합니다.
  • Knowledge Groundedness Check 절차에 의한 답변 검증 후, 필요한 경우 웹 검색을 통한 외부 지식을 활용하여 답변을 보완합니다.


6. 운영과 개선

현재 K-Hub 서비스는 애플리케이션 프론트엔드와 백엔드, 그리고 Intellisearch 서비스 전반에 걸쳐 Azure Application Insights 의 연동을 통해 이벤트 및 메트릭 데이터를 체계적으로 수집하고 있습니다.

이를 통해 서비스 요청 수, 응답 시간, 에러율과 같은 주요 성능 지표는 물론 사용자 행동과 관련된 로그 데이터까지 폭넓게 모니터링 할 수 있으며, 이러한 데이터는 서비스 안정성 확보와 성능 최적화에 적극적으로 활용되고 있습니다. 또한, Slack 메신저 연계 알림 시스템을 운영하여, 이상 징후가 탐지될 경우 실시간으로 담당자에게 알람을 전달하고 있습니다.

이를 통해 장애 발생 시 신속한 대응이 가능하며, 나아가 매일 자동 생성되는 주요 통계 리포트를 수신하여 서비스의 전반적인 상태와 이용 추이를 일 단위로 점검할 수 있습니다. 이러한 체계적인 모니터링 및 알림 체계는 사전적 예방 조치와 사후적 분석 모두를 가능하게 하여 서비스 가용성과 신뢰성을 높이는 데 기여하고 있습니다.

아울러, K-Hub는 개방 된 VOC 채널을 별도로 운영하여 최종 사용자들로부터 직접적인 의견과 요구사항을 수렴하고 있습니다. 수집된 피드백은 서비스 개선 사항 및 신규 기능 개발 과정에 반영되며, 이를 통해 사용자 중심의 서비스 진화를 지속적으로 추구하고 있습니다.

또한, 개발 팀 내 각 서비스 담당자들이 주도적으로 참여하여 기능 개선, 성능 최적화, 신규 기능 개발을 지속적으로 추진하고 있으며, 이를 기반으로 서비스는 안정적인 고도화를 이어가고 있습니다.


7. 도전 과제와 극복 과정

서비스의 주요 기능이 RAG 이며 해당 기술의 핵심이 검색을 밑바탕으로 두고있기에 초기 개발 단계부터 부문 내 CBT 그리고 상용화 이후의 현재까지 지속적으로 직면한 도전과제는 검색 품질의 향상입니다.

1) 데이터 품질 관리

KT 전사 차원의 다양한 지식과 정보를 아우르는 서비스 특성상, 데이터는 출처와 형식이 제각각이었습니다. 이러한 불균일성은 색인 과정에서 일관성을 해치고, 동일한 검색어에 대해 데이터군마다 상이한 검색 결과가 노출되는 문제를 유발하였습니다.

이를 해결하기 위해 데이터 표준 스키마를 정의하고, 전처리 파이프라인을 통해 일관된 색인 규격을 관리하여 검색 시 데이터 출처별 격차를 최소화하고 의미 기반 검색 및 하이브리드 검색 알고리즘이 안정적으로 동작할 수 있는 기반을 마련하였습니다.

2) 검색 알고리즘 최적화

사용자들의 질의가 문장형태로 입력되는 생성형 AI 검색 서비스 특성 상, 기존의 전통적인 단순 키워드 매칭 기술만으로는 사용자가 의도하는 적절한 대상 문서를 찾아내는것에 한계가 있습니다. 

이를 극복하기위해 벡터 임베딩 기반의 의미 검색 기능을 병행하는 Hybrid 검색 구조를 도입하여 다양한 형태의 사용자 질의에 대해 최적의 검색결과를 제공할 수 있도록 하였습니다.

3) 사용자 질의 최적화

사용자 질의로부터 핵심 키워드를 추출하거나 요구 시점을 파악하여, 데이터군별 카테고리 노출 우선순위를 조정하는 기능은 사전 데이터 관리 및 룰 기반 분기 처리와 같은 복잡한 관리 작업이 필요했습니다. 

그러나 AI 검색 서비스에 걸맞게 해당 기능을 LLM과 프롬프트 엔지니어링을 통해 구현함으로써, 유연하고 지속 가능한 기능을 제공할 수 있었습니다. 이를 통해 결과적으로 검색 품질을 한층 향상시킬 수 있었습니다.

4) 부정확한 답변 개선

사내 지식 데이터를 기반으로 한 검색 및 답변 생성 과정에서, 간혹 출처 데이터의 한계로 인해 부정확하거나 불완전한 답변이 생성되는 문제가 발생하였습니다. 

이를 개선하기 위해 Knowledge Groundedness Check 절차를 통해, 생성된 답변의 근거가 사내 지식 데이터에 충분히 기반하고 있는지 검증하였고 그렇지 못한 경우, 외부 웹 검색을 통해 추가적인 정보를 확보 후 답변을 보강하도록하여 답변의 정확도를 향상시킬 수 있었습니다.
<사내 지식 데이터 기반 검색>

<웹 데이터 기반 검색>



8. 마치며

이번 프로젝트는 단순한 검색 시스템 구축을 넘어, 조직 내 지식을 어떻게 효과적으로 수집·정제하고 실제 업무에 활용할 수 있을지를 검증하는 과정이었습니다. RAG, 벡터 검색, 프롬프트 엔지니어링 등 최신 AI 기술을 구현하면서, 복잡한 문장형 질의에도 안정적으로 답변을 제공할 수 있는 하이브리드 검색 구조를 마련했습니다. 

동시에, 사내 곳곳에 흩어져 있던 지식을 체계적으로 연결함으로써 구성원들이 보다 빠르고 정확하게 필요한 정보를 얻을 수 있는 기반을 구축했습니다. 이는 단순히 기술적 성과를 넘어, 업무 효율성과 협업 문화를 강화하는 데 기여하고 있습니다.

앞으로도 검색 품질 고도화와 사용자 경험 개선을 지속적으로 추진하여, 이 서비스가 KT 구성원들의 주요 업무를 지원하는 실질적 도구이자 AI 기반 지식 활용의 모범 사례로 자리 잡을 수 있도록 발전시켜 나갈 예정입니다.

저희 Intellisearch, K-hub 서비스를 기반으로 데이터 활용 및 서비스 연계 관점에서 협업을 원하시는 분들의 많은 관심 부탁 드립니다. 끝까지 읽어주셔서 감사합니다.

이우현, 구민성

이우현: KT 기술혁신부문 Agentic AI Lab 에서 검색 기능 및 서비스를 개발하고 있습니다.

구민성: KT 기술혁신부문 Agentic AI Lab 에서 IntelliSearch 개발을 담당하고 있습니다.

이전 글