“작업자가 실시간으로 작업 정보를 찾을 수 있는 AI도우미, 만들 수 있을까요?”
이 간단한 요청에서 시작된 프로젝트는, 짧은 시간 안에 LLM이 복잡한 작업 문서와 비정형 표현을 이해하고, 현장의 흐름에 맞춰 정확히 답변하는 챗봇을 구현해야 하는 도전 과제였습니다. 안녕하세요, 텍스트넷 김명신 PM입니다. 이번 글에서는 우리가 어떻게 제조 현장 특화 RAG 기반 챗봇을 설계하고, 정확도 51%에서 87%로 개선한 데이터 전략을 세웠는지, 그 과정을 자세히 공유드리려 합니다.
고객이 원하는 건 단순한 챗봇이 아니었다
고객사는 실제 생산 현장에서 사용하는 수백 건의 작업 문서를 보유하고 있었습니다. 하지만 문서들은 PDF 매뉴얼, Excel 체크리스트, 작업 절차서 등 형식도 제각각이었고, 내용도 구조화되어 있지 않았습니다. 고객사가 원한 건 단순한 '문서 검색 챗봇'이 아니라, 현장 작업자들이 자연스럽게 질문하고, 필요한 정보를 맥락에 맞게 바로 제공받을 수 있는 AI 도우미였습니다.
고객의 핵심 니즈
비정형 문서 완전 대응
구조화되지 않은 텍스트, 표, 병합 셀 등이 섞인 복잡한 문서를 빠짐없이 반영해야 함절차 중심 정보 제공
용어 정의나 단순 설명이 아니라, '지금 해야 할 작업 순서', '주의사항', '체크리스트' 같은 실질 정보 중심 응답현장 언어 이해
‘쇼파워(shore power)’ 같은 음역어, 줄임말, 약어 등 실제 작업자들이 사용하는 언어도 정확하게 이해할 수 있어야 함
실제 문서를 기반으로 LLM 테스트를 설계하다
LLM이 이런 복잡한 요구를 제대로 충족할 수 있는지 확인하기 위해, 프로젝트 초반에 문서 유형별로 체계적인 테스트 시나리오를 설계했습니다.
PDF 문서 기반 테스트 항목
키워드 질문 대응 : “LOTO 절차는?”과 같이 핵심 키워드 기반 질문에 정확히 응답하는지 확인
표 기반 요약 : 작업 매뉴얼에 포함된 표 데이터를 LLM이 인식하고 요약할 수 있는지 테스트
절차 정렬 응답 : 복잡한 작업 순서를 문서 순서에 맞게 정렬해 응답하는지 확인
다양한 표기 대응력 : “valve”, “밸브”, “벨브” 등 한글·영문 혼용 표현에 대해 동일한 의미로 인식하는지
장문 요약 응답 : 장문의 작업 절차 중 질문자에게 필요한 정보만 요약해 제공할 수 있는지
Excel 문서 기반 테스트 항목
단계별 작업 절차 인식 : 단계별 흐름을 순차적으로 나열할 수 있는지
주의사항 추출 : 특정 작업 시 유의해야 할 경고 문구(예: 화재 위험, 품질 주의점)를 올바르게 안내하는지
체크리스트 제공 : 사전·사후 점검 항목을 빠짐없이 제공할 수 있는지
SOP 이해력 : 표준작업지침서(SOP)를 이해하고 요약·설명 가능 여부
구어체/약어 질문 대응력 : “쇼파워 어떻게 해?” 같이 일상적 표현에도 일관된 응답을 제공하는지
테스트 정확도 51% – 문제는 구조 이해 부족
1차 테스트 결과, LLM이 많은 질문에 대해 적절한 답을 찾지 못하거나, 엉뚱한 문서의 내용을 참조하는 경우가 많았습니다.
주요 문제점
문서 구조 왜곡 : 예를 들어, 작업 절차 번호가 응답 시 순서가 꼬이거나 누락됨
문맥 오해 : 질문의 맥락과 무관한 다른 문서에서 키워드만 일치하는 내용을 가져오는 사례 발생
표 출력 오류 : 표 정보를 답변할 때 중간에 멈추거나 누락되어 전달됨
출처 미표기 : LLM이 어떤 문서를 참조했는지 명시하지 않아 신뢰도 하락
정확도 향상의 핵심 – 전처리와 프롬프트 전략
우리가 마주한 문제는 단순한 ‘모델 성능’의 문제가 아니었습니다. 챗봇이 문서 구조를 제대로 이해하지 못하고 있었던 것 이 근본적인 원인이었습니다. 이를 개선하기 위해 LLM이 이해할 수 있는 형태로 재구성하고, 도메인 사전을 만드는 대신 LLM이 더 똑똑해지도록 프롬프트를 설계하는 전략을 선택했습니다.
전처리 전략: 문서를 ‘LLM이 이해할 수 있는 형태’로 재구성
PDF : OCR 후 텍스트 추출 → 문단 단위 chunk 분할 → 제목/본문/표 구분 명시
Excel : 병합 셀 제거 → 시트 분리 → 페이지화 → PDF로 변환 후 위와 동일한 방식 적용
정형화 기준 수립 : '작업 수순'과 '작업 기준'을 구분해 열 단위 구조 유지
클렌징 : 중복, 불필요 지시사항 제거 → 의미 없는 텍스트 제거로 혼동 최소화
프롬프트 설계: 언어 이해 보완 + 응답 구조 제어
유의어/약어 통합 프롬프트 : “쇼파워 = shore power”, “rubber = 러버 = 고무” 등 의미 통합 지시 삽입
문서 구조 반영 프롬프트 : QA 형식 내에 문서의 구조(제목, 표, 번호, 리스트)를 명시해 출력 형식 일관성 유지
출처 및 컨텍스트 유지 프롬프트 : 응답마다 참조 문서명을 포함하고, 연속 질문에서도 컨텍스트를 기억하도록 설계
고객 피드백 기반 고도화 – 현장의 언어를 시스템에 담다
고객사와의 밀도 높은 커뮤니케이션을 통해, 실제 사용 상황에서 불편함을 유발하는 사소한 이슈까지 해결해 나갔습니다.
주요 개선 사항
항목 번호 오류 : 마크다운 형식으로 번호 매기기(
1.
,2.
...)를 프롬프트에 반영출처 누락 문제 : 응답 마지막에 출처 문서명 명시하도록 구조화
비문서 질문 대응 회피 : “관련 문서가 없습니다” 형태의 fallback 응답 가이드 삽입
프로젝트 결과 – 정확도 87%, 현장에서 바로 쓰이는 챗봇
1개월이라는 짧은 기간 동안, LLM의 언어 모델 능력을 문서 이해력, 현장 적합성, 신뢰성으로 끌어올리기 위해 우리는 ‘무엇을 어떻게 알려줘야 하는가’라는 질문에 답을 찾아갔습니다. 그 결과, 1차 테스트에서 51%에 그쳤던 정확도는 단기간에 87%까지 향상되었고, 챗봇은 실제 현장에서 파일럿 테스트를 통해 유의미한 성과를 거둘 수 있었습니다.
마무리하며
이번 프로젝트는 단순히 RAG 챗봇을 만드는 과정을 넘어, LLM에게 현장의 언어를 어떻게 가르칠 것인가에 대한 전략적 실험이었습니다. 텍스트넷은 앞으로도 LLM이 보다 정확하고 현장 친화적인 서비스를 제공할 수 있도록, 데이터 기반 접근과 프롬프트 설계의 정교함을 계속해서 고도화해 나가겠습니다.