
우리 회사만의 안전한 두뇌, 프라이빗 AI 챗봇 구축기
보안 걱정 없는 사내용 프라이빗 AI 챗봇 구축기. CTO의 관점에서 겪은 RAG 도입, 데이터 권한 관리, 모델 선택 기준 등 실전 노하우와 체크리스트를 공유합니다.
송찬영
CTO

솔직히 고백하자면, 처음에는 저도 막연했습니다. 챗GPT가 세상에 나오고 나서 우리 개발팀원들이 코드를 복사해서 AI에게 물어보는 걸 목격했을 때, 등골이 서늘해지더군요. 물론 생산성을 높이려는 그들의 열정은 이해합니다. 하지만 CTO로서 저는 그 순간 혁신의 기쁨보다는 '보안 사고'라는 단어가 먼저 머릿속을 스쳤습니다. 회사의 핵심 로직, 고객의 개인정보가 담긴 데이터가 외부 서버로 전송된다는 건 상상만 해도 끔찍한 일이니까요.
그렇다고 AI라는 거대한 파도를 막을 수는 없었습니다. "보안 때문에 쓰지 마세요"라고 공지하는 건, 개발자들에게 텍스트 에디터 대신 메모장으로 코딩하라는 것과 다를 바 없는 시대착오적인 발상이었으니까요. 그래서 결심했습니다. 우리만의 안전한 울타리 안에서 마음껏 뛰어놀 수 있는 사내용 AI챗봇을 직접 구축해 보기로 말이죠.
처음에는 단순히 오픈소스 LLM을 가져와서 사내 서버에 올리면 끝날 줄 알았습니다. Llama 2나 Mistral 같은 모델을 GPU 서버에 띄우고, 간단한 웹 UI만 붙이면 될 거라고 생각했죠. 하지만 막상 시작해 보니 현실은 그렇게 녹록지 않았습니다.
가장 먼저 부딪힌 벽은 '할루시네이션(환각)'과 '맥락의 부재'였습니다. 사내 규정을 물어봤는데 엉뚱하게 다른 회사의 취업 규칙을 읊어주거나, 우리 회사의 레거시 코드 구조를 전혀 이해하지 못하고 엉뚱한 리팩토링 제안을 하는 식이었죠. 범용 모델은 똑똑하지만, 우리 회사의 문맥(Context)은 전혀 모르는 상태였습니다. 마치 하버드 대학생을 데려와서 갑자기 우리 회사 10년 묵은 코드를 고치라고 시키는 꼴이었죠.

이 문제를 해결하기 위해 RAG(Retrieval-Augmented Generation, 검색 증강 생성) 아키텍처를 도입해야 했습니다. 단순히 모델을 띄우는 게 아니라, 사내 위키(Confluence), 슬랙 대화 로그, 지라 티켓, 그리고 코드 저장소까지 모든 데이터를 벡터화해서 임베딩 저장소에 넣는 작업이 필요했습니다.
여기서 두 번째 위기가 찾아왔습니다. 바로 '권한 관리'였습니다. 모든 데이터가 챗봇에게 열려있다 보니, 인턴 개발자가 "우리 회사 연봉 테이블 알려줘"라고 물었을 때 챗봇이 임원진의 연봉까지 술술 읊어버리는 사태가 발생할 뻔한 겁니다. 기술적 구현에만 몰두하느라 데이터 거버넌스를 간과했던 제 뼈아픈 실책이었습니다.
이러한 시행착오 끝에, 안전하고 똑똑한 프라이빗 AI챗봇을 구축하기 위해 반드시 챙겨야 할 체크리스트를 정리할 수 있었습니다. 지금 이 순간에도 사내 도입을 고민하고 계실 기술 리더분들을 위해 몇 가지 핵심 원칙을 공유합니다.
첫째, 데이터 전처리와 접근 제어(ACL)는 타협할 수 없는 0순위입니다. 벡터 DB에 데이터를 넣을 때부터 메타데이터에 접근 권한 레벨을 태깅해야 합니다. 사용자가 질문을 던질 때, 해당 사용자의 권한과 데이터의 접근 등급을 비교하여 검색 단계에서부터 필터링하는 로직이 반드시 포함되어야 합니다. 저희는 이를 위해 별도의 미들웨어를 구축하여 쿼리 파이프라인 앞단에 배치했습니다.
둘째, 모델의 선택은 '성능'보다 '효율'과 '보안'입니다. 무조건 파라미터가 큰 모델이 좋은 건 아닙니다. 사내 서버의 리소스는 한정적이고, 추론 속도는 사용자 경험과 직결됩니다. 저희는 7B, 13B 사이즈의 경량화된 모델을 양자화(Quantization)하여 사용했고, 민감 정보가 포함된 추론은 철저하게 온프레미스 혹은 프라이빗 클라우드 환경(VPC) 내에서만 이루어지도록 네트워크를 격리했습니다. 외부 API를 써야 한다면, 개인정보 마스킹(Masking) 처리를 거친 후 전송하는 것이 필수입니다.
셋째, 피드백 루프를 설계하세요. 챗봇이 엉뚱한 대답을 했을 때 사용자가 "싫어요"를 누르고 정답을 코멘트로 남길 수 있는 UI를 제공해야 합니다. 이 데이터는 추후 파인튜닝(Fine-tuning)을 하거나 프롬프트를 개선하는 데 금보다 귀한 자원이 됩니다.

결국 사내용 AI챗봇 구축은 단순히 기술을 도입하는 문제가 아니었습니다. 우리 조직이 가진 지식을 어떻게 자산화하고, 그것을 얼마나 안전하게 공유할 것인가에 대한 철학적인 고민이 선행되어야 했습니다.
지금 저희 개발팀은 더 이상 코드를 외부 사이트에 붙여 넣지 않습니다. 대신 사내 챗봇에게 "지난주에 김 선임님이 짠 결제 모듈 코드 스타일로 이 함수 리팩토링해 줘"라고 요청합니다. 보안 걱정 없이, 우리만의 문맥을 완벽하게 이해하는 동료가 생긴 셈입니다.
기술은 결국 사람을 향해야 하고, 그 시작은 우리가 일하는 방식을 안전하게 지키는 것에서부터 출발합니다. 혹시 지금 보안 때문에 AI 도입을 망설이고 계신다면, 작게라도 프라이빗 환경을 구축해 보시길 권합니다. 그 과정에서 얻게 되는 경험과 데이터는 그 무엇과도 바꿀 수 없는 회사의 핵심 경쟁력이 될 것입니다.


