홈페이지 챗봇 - RAG 구체적 실행 계획

·조회 1 ·⏱️ 약 20분

홈페이지 챗봇 - RAG 구체적 실행 계획

문서 성격: 기획서(mento_chatbot_v1_0.md) 기반 RAG 구현 기술 설계서 목적: 데이터 준비부터 운영까지 구체적인 실행 단계와 결정 포인트 제시 최종 갱신: 2026-07-08


0. 현재 상황 진단 (중요)

항목 상태 액션
데이터 ❌ 없음 (전화 상담만 존재) 즉시 상담 로그 수집 시작
지식베이스 ❌ 없음 로그 쌓인 후 표준답변 정리
RAG 개발 ⏸️ 보류 데이터 준비 완료 후 착수
우선순위 경로당 > POS > ERP > 기타 카톡 로그 분석 반영

⚠️ 원칙: "데이터 없이 AI를 붙이면 참조할 근거가 없어 오답이 나온다." (기획서 2항)


1. 단계별 실행 계획 (기획서 8항 연동)

Phase 0: 데이터 수집 (개발 0) — 지금 당장

📋 전화 상담 로그 엑셀 기록 (응대자용) ├── 컬럼: 날짜 / 제품군 / 유형 / 질문요지 / 답변내용 / 처리결과 ├── 기간: 2~3주간 연속 기록 └── 목표: 반복 질문 Top 20 도출

text

제품군 + 유형 2축 분류 체계 (카톡 로그 분석 반영):

제품군 (축1) 유형 (축2) 자동응대 가능성
스마트경로당 계정·비번 ✅ 즉시 가능
스마트경로당 사용법·설정 ✅ 즉시 가능
스마트경로당 정산·금액불일치 ❌ 전화전환
POS 계정·비번 ✅ 즉시 가능
POS 사용법·설정 ✅ 즉시 가능
POS 개발이슈 ❌ 전화전환
ERP 계정·비번 ✅ 즉시 가능
건설전자카드 불량·AS ⚠️ 일부 가능

Phase 1: 표준답변 정리 (개발 0, 2~3주 후)

입력: 엑셀 로그에서 추출한 반복 질문 Top 20 출력: 지식베이스에 적재할 (질문, 표준답변, 제품군, 유형) 세트 표준답변 템플릿 예시:

제품군: 스마트경로당 유형: 계정·비밀번호 질문: "마을살림e 비밀번호를 잊어버렸어요" 표준답변:

마을살림e 로그인 화면 하단 '비밀번호 찾기' 클릭

가입 시 등록한 휴대폰 번호 입력

SMS로 받은 임시 비밀번호로 로그인 후 변경

문제 지속 시 고객센터(000-0000)로 연락 출처: [응대자 인터뷰 / 매뉴얼 3장]

text


Phase 2: 데이터 구조 확정 (기획서 6항 상세화)


-- 1. 원본 상담 로그 (모든 채널 통합)
CREATE TABLE consult_logs (
    id SERIAL PRIMARY KEY,
    channel VARCHAR(20) NOT NULL,  -- 전화/카톡/챗봇/메일
    product VARCHAR(50),           -- 스마트경로당/POS/ERP/건설전자카드
    category VARCHAR(50),          -- 계정·비번/사용법·설정/정산·금액/...
    question TEXT NOT NULL,
    answer TEXT,
    handler VARCHAR(50),
    resolved BOOLEAN DEFAULT false,
    created_at TIMESTAMP DEFAULT NOW()
);

-- 2. 검증된 지식베이스 (챗봇이 실제 참조)
CREATE TABLE knowledge_base (
    id SERIAL PRIMARY KEY,
    product VARCHAR(50) NOT NULL,   -- 제품군 (1차 필터)
    category VARCHAR(50) NOT NULL,  -- 유형 (2차 필터)
    question TEXT NOT NULL,         -- 표준 질문
    answer TEXT NOT NULL,           -- 표준 답변 (단계별 상세)
    keywords TEXT[],                -- 검색 최적화용 키워드
    source VARCHAR(100),            -- 출처 (매뉴얼/응대자/...
    status VARCHAR(20) DEFAULT 'active',
    version INT DEFAULT 1,
    created_at TIMESTAMP DEFAULT NOW(),
    updated_at TIMESTAMP DEFAULT NOW()
);

-- 3. 문서 원본 (매뉴얼 PDF 등)
CREATE TABLE documents (
    id SERIAL PRIMARY KEY,
    title VARCHAR(200) NOT NULL,
    content TEXT NOT NULL,          -- 청크 단위로 분할된 텍스트
    product VARCHAR(50),
    category VARCHAR(50),
    file_name VARCHAR(100),
    chunk_index INT,                -- 청크 순번
    created_at TIMESTAMP DEFAULT NOW()
);
Phase 3: RAG 시스템 구축 (기획서 5항 실행)
3-1. 기술 스택 결정
구성요소    옵션  추천 (2026년 기준)
LLM GPT-4o-mini / Claude 3.5 Sonnet / Gemini 1.5 Flash  GPT-4o-mini (비용/성능 균형)
임베딩 text-embedding-3-small / Cohere / BGE   text-embedding-3-small (OpenAI)
벡터DB    Pinecone / pgvector / Milvus / Chroma   pgvector (PostgreSQL 확장, 별도 DB 불필요)
STT Web Speech API / Google STT / Clova Web Speech API (무료, PoC) → 상용 검토
3-2. RAG 파이프라인 아키텍처
text
[오프라인] 데이터 준비
┌─────────────────────────────────────────────────────────────┐
│  knowledge_base (표준 Q&A)  →  청킹(1문서=1청크)           │
│         ↓                                                  │
│  임베딩 (text-embedding-3-small)                           │
│         ↓                                                  │
│  pgvector에 저장 (질문 벡터 + 메타데이터: 제품군, 유형)    │
└─────────────────────────────────────────────────────────────┘

[온라인] 질의응답
┌─────────────────────────────────────────────────────────────┐
│  사용자 질문: "마을살림e 비번을 잊었어요"                  │
│         ↓                                                  │
│  ① 제품군 분류 (규칙 기반 or LLM) → "스마트경로당"         │
│         ↓                                                  │
│  ② 질문 임베딩                                             │
│         ↓                                                  │
│  ③ pgvector 검색 (제품군 필터 + 유사도 상위 3개)           │
│         ↓                                                  │
│  ④ 컨텍스트 구성: "다음 문서를 참고해 답변하세요: [청크]"  │
│         ↓                                                  │
│  ⑤ LLM(GPT-4o-mini) 답변 생성                              │
│         ↓                                                  │
│  ⑥ 답변 신뢰도 확인 (유사도 0.7 미만 → 전화전환)           │
└─────────────────────────────────────────────────────────────┘
3-3. 프롬프트 템플릿 (예시)
text
[시스템 프롬프트]
당신은 진승정보기술의 고객센터 챗봇입니다.
제공된 지식베이스 문서만을 근거로 답변하세요.
모르는 질문은 "죄송합니다. 정확한 답변을 드리기 어려워 고객센터(000-0000)로 연결해 드리겠습니다."라고 안내하세요.
답변은 실제로 따라 할 수 있도록 구체적인 단계로 작성하세요.

[사용자 질문]
{{user_question}}

[참고 문서]
{{retrieved_chunks}}

[답변 규칙]
1. 참고 문서에 없는 내용은 절대 추측하지 마세요.
2. 단계별로 번호를 붙여 설명하세요.
3. 마지막에 "더 궁금하신 점은 고객센터로 연락 주세요"를 추가하세요.
Phase 4: UI/UX 구현 (홈페이지 연동)
text
[홈페이지 (React/Vue)]          [챗봇 백엔드 (별도)]
┌─────────────────────┐         ┌─────────────────────────┐
│  우측 하단 플로팅    │  API    │  /api/chat              │
│  챗봇 아이콘         │ ──────→ │    - 질문 수신           │
│         ↓            │         │    - 제품군 분류         │
│  채팅창 팝업         │ ←────── │    - RAG 검색           │
│  (PC: 360x500)       │  SSE    │    - 답변 생성 (stream)  │
│  (모바일: 전체화면)  │         │    - 전화전환 여부 판단  │
│         ↓            │         │                         │
│  텍스트 입력 /       │         │  /api/feedback          │
│  음성 입력(STT)      │         │    - 답변 평가 저장      │
└─────────────────────┘         └─────────────────────────┘
Phase 5: STT 음성 입력 (기획서 4항)
단계  접근법 비용  비고
PoC Web Speech API  무료  크롬/안드로이드 OK, iOS 불안정
운영  Google Cloud Speech-to-Text 유료 (분당 $0.006)  iOS 포함 안정적
대안  Naver Clova Speech  유료  국내 환경 최적화
추천: PoC는 Web Speech API로 무료 구현 → 고객 iOS 비중 확인 후 상용 전환 검토

2. 핵심 결정 포인트 (Open Issues 해결)
번호  의사결정 항목 현황  추천안 결정 주체
1   지식베이스 우선순위  ❌ 미정    경로당 > POS > ERP > 건설전자카드    실무팀
2   LLM API ❌ 미정    GPT-4o-mini (비용 효율) 개발팀
3   벡터DB    ❌ 미정    pgvector (PostgreSQL 확장)    개발팀
4   STT 엔진  ❌ 미정    Web Speech API → 상용 검토  개발팀
5   표준답변 작성 ❌ 미정    상담사 인터뷰 + 매뉴얼 참조    실무팀
6   개발 스택   ❌ 미정    홈페이지 스택과 연동 개발팀
3. 즉시 실행 체크리스트 (오늘부터)
📞 전화 상담 로그 엑셀 양식 배포 (응대자용)

컬럼: 날짜 / 제품군 / 유형 / 질문요지 / 답변내용 / 처리결과

제품군: 스마트경로당 / POS / ERP / 건설전자카드 / 키오스크 / 기타

유형: 계정·비번 / 사용법·설정 / 정산·금액 / 불량·AS / 기기회수 / 개발이슈 / 영업·견적

📂 기존 매뉴얼·문서 현황 파악

POS 매뉴얼 (50p) → 문제 단위로 분할 필요

스마트경로당 매뉴얼 존재 여부 확인

ERP/건설전자카드 관련 문서 확인

👥 응대자 인터뷰

"제일 많이 받는 질문 Top 10" 수집

각 질문에 대한 표준 답변 스크립트 정리

📊 고객 iOS 비중 확인 → STT 엔진 결정

4. 성공 측정 지표 (기획서 9항)
지표  측정 방법   목표치
전화 문의 감소율   챗봇 도입 전/후 비교    30% 이상
자동응대 성공률    전체 질문 중 자동응답 비율 60% 이상
Top 10 응대율  반복 질문 Top 10 자동응답률  80% 이상
사용자 만족도 챗봇 세션 후 평가 (👍/👎)    70% 이상
지식베이스 성장    월간 표준 Q&A 추가 건수 10건 이상
5. 일정 계획 (예시)
text
Week 1-2:  📋 전화 상담 로그 수집 (응대자 교육 + 엑셀 기록)
Week 3-4:  📊 로그 분석 → 반복 질문 Top 20 도출
Week 5-6:  ✍️ 표준답변 정리 + DB 구조 확정
Week 7-8:  🗄️ 지식베이스 적재 (표준 Q&A 20건)
Week 9-10: 🤖 RAG 개발 (임베딩 + 벡터DB + LLM 연동)
Week 11-12: 🎨 챗봇 UI 구현 + 홈페이지 연동
Week 13:   🧪 내부 테스트 + 피드백 반영
Week 14:   🚀 오픈 (Beta) → 모니터링 시작
6. 위험 요소 및 대비
위험  대비책
데이터 수집 누락   엑셀 기록을 습관화할 프로세스 구축 (매일 5분)
표준답변 품질 낮음  상담사 검수 프로세스 (2인 확인)
RAG 오답률 높음  유사도 임계값(threshold) 설정 → 낮으면 전화전환
LLM 비용 폭증   캐싱 도입 (동일 질문 재사용), GPT-4o-mini 사용
iOS STT 미동작 Web Speech API fallback → 텍스트 입력 유도
7. 프로세스 다이어그램 (전체 흐름)
text
┌─────────────────────────────────────────────────────────────────────────────┐
│                           [데이터 준비 단계]                                │
│                                                                             │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐    ┌───────────┐ │
│  │  Phase 0     │───▶│  Phase 1     │───▶│  Phase 2     │───▶│ Phase 3   │ │
│  │  데이터 수집  │    │  표준답변정리 │    │  DB 구조확정 │    │ RAG 구축  │ │
│  │  (엑셀 로그)  │    │  (Top 20)    │    │  (3개 테이블)│    │ (임베딩+) │ │
│  └──────────────┘    └──────────────┘    └──────────────┘    └───────────┘ │
│         │                   │                   │                   │        │
│         ▼                   ▼                   ▼                   ▼        │
│  "응대자가 매일           "반복 질문            "PostgreSQL         "GPT-4o │
│   5분만 기록"             Top 20 도출"          pgvector"           + RAG"  │
└─────────────────────────────────────────────────────────────────────────────┘
                                          │
                                          ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                           [UI/UX 구현 단계]                                 │
│                                                                             │
│  ┌──────────────┐    ┌──────────────┐    ┌──────────────┐                  │
│  │  Phase 4     │───▶│  Phase 5     │───▶│  운영        │                  │
│  │  챗봇 UI     │    │  STT 음성입력│    │  모니터링    │                  │
│  │  (홈페이지)   │    │  (마이크)    │    │  + 성장      │                  │
│  └──────────────┘    └──────────────┘    └──────────────┘                  │
│         │                   │                   │                           │
│         ▼                   ▼                   ▼                           │
│  "React/Vue +            "Web Speech API      "월 10건 Q&A               │
│   플로팅 위젯"            or Google STT"       추가 목표"                  │
└─────────────────────────────────────────────────────────────────────────────┘
8. 담당자별 역할 정의
역할  담당 업무   비고
실무팀 (응대자)   • 일일 상담 로그 엑셀 기록
• 반복 질문 Top 20 도출 협조
• 표준답변 검수   Phase 0-1 핵심
실무팀 (리더)    • 로그 취합 및 분석
• 표준답변 초안 작성
• 매뉴얼 문서 취합 Phase 1-2 주관
개발팀 • DB 설계 및 구축
• RAG 파이프라인 개발
• 챗봇 UI/홈페이지 연동
• STT 연동    Phase 2-5 실행
경영지원팀   • 사업영역/제품군 확정
• iOS 사용자 비중 확인 의사결정 지원
9. 다음 단계 (Action Items)
우선순위    항목  담당  기한
1️⃣ 전화 상담 로그 엑셀 양식 배포 및 교육  실무팀 리더  2026-07-09
2️⃣ 매일 로그 기록 시작 (2~3주간) 응대자 전원  즉시
3️⃣ 기존 매뉴얼/문서 현황 조사 실무팀 리더  2026-07-12
4️⃣ 응대자 인터뷰 (Top 10 질문) 실무팀 리더  2026-07-15
5️⃣ iOS 사용자 비중 확인   경영지원팀   2026-07-15

댓글 0

비밀번호는 본인 댓글 삭제에 쓰입니다.
아직 댓글이 없습니다. 첫 댓글을 남겨보세요!
Powered by maocafe blog