# CTRL+F AI 챗봇 경쟁력 및 차별점 보고서

> 작성일: 2026-01-07

---

## 📌 Executive Summary

CTRL+F AI는 단순 Q&A 챗봇이 아닌, **엔터프라이즈급 보안·교육 특화 AI 플랫폼**입니다. 일반 범용 챗봇(ChatGPT, MS Copilot 등)이나 SaaS형 기업 챗봇과 달리, 기업 내부 정책 문서 기반의 **근거 있는 답변 생성**과 **개인정보 보호**, **환각 방지** 기능에 집중하여 설계되었습니다.

---

## 🔥 핵심 차별점 요약

| 구분 | 일반 기업 챗봇 | ChatGPT Enterprise | **CTRL+F AI** |
|------|---------------|---------------------|---------------|
| PII 마스킹 | 미지원/후처리 | 기본 수준 | **3단계 ML 기반** (INPUT/OUTPUT/LOG) |
| 환각 방지 | 없음 | 제한적 | **조항 인용 검증 + 통계 환각 차단** |
| 금지질문 필터 | 키워드 블랙리스트 | 없음 | **3단계 매칭** (Exact→Fuzzy→Embedding) |
| 역할별 라우팅 | 단일 경로 | 없음 | **UserRole × Domain 기반 지능형** |
| 내부 문서 RAG | 외부 SaaS 의존 | 파일 업로드 | **자체 Milvus/RAGFlow 연동** |
| 교육 영상 생성 | 없음 | 없음 | **LLM→TTS→렌더링 파이프라인** |
| 소프트 가드레일 | 없음 | 없음 | **근거 부족 시 면책 표시** |

---

## 1️⃣ 3단계 PII 마스킹 파이프라인

### 경쟁사 현황
- **일반 챗봇**: PII 마스킹 미지원, 또는 단순 정규식 기반
- **ChatGPT Enterprise**: 기본 마스킹만 제공, 기업 맞춤 불가
- **국내 SaaS 챗봇**: 대부분 후처리(로그 저장 시) 수준

### CTRL+F AI 차별점

사용자 입력 → [INPUT 마스킹] → RAG/LLM 처리 → [OUTPUT 마스킹] → 사용자 응답 ↓ [LOG 마스킹] → 저장/학습


**핵심 기술:**
- **GLiNER 기반 ML 모델** 연동 (`app/services/pii_service.py`)
- **단계별 차등 마스킹**: INPUT(전송 전), OUTPUT(표시 전), LOG(저장/학습 전)
- **A7 Fail-Closed 정책**: PII 서비스 장애 시 원문 전송 차단 (보안 우선)

```python
# PII 서비스 장애 시 Fail-Closed
class PiiDetectorUnavailableError(Exception):
    """PII detector가 정상 응답 불가 시 발생 → 호출자가 안전한 fallback 반환"""

장점:


2️⃣ 3단계 금지질문 필터링 시스템

경쟁사 현황

CTRL+F AI 차별점

사용자 질문 → [Exact Match] → [Fuzzy Match] → [Embedding Match] → 통과/차단
                  ↓              ↓               ↓
              정확히 일치    오타/변형 허용    의미론적 유사도
              (O(1) 룩업)   (RapidFuzz 92%)  (FAISS cos_sim 0.85)

핵심 기술 (app/services/forbidden_query_filter.py):

단계 기술 임계값 특징
Step 1 Exact Match 100% 해시 인덱스 O(1) 조회
Step 2 Fuzzy Match 92% RapidFuzz Levenshtein
Step 3 Embedding Match 0.85 OpenAI 임베딩 + FAISS

추가 기능:

# Fail-Closed: Manifest 검증 실패 시 모든 쿼리 차단
if self._manifest_failed:
    return ForbiddenCheckResult(
        is_forbidden=True,
        decision="SYSTEM_INTEGRITY_ERROR",
        example_response="시스템 정합성 오류가 발생했습니다."
    )

장점:


3️⃣ 환각 방지 가드레일 (Hallucination Guard)

경쟁사 현황

CTRL+F AI 차별점

[A] 조항 인용 검증 (Citation Validation)

# LLM 답변에 "제N조/조항" 패턴 검출 시 RAG sources에 있는지 검증
CITATION_PATTERN = re.compile(r"(제\\s*\\d+\\s*조|제\\s*\\d+\\s*항|제\\s*\\d+\\s*호|...)")

if blocked_citations:
    return (False, AnswerTemplates.CITATION_HALLUCINATION_BLOCK)

[B] 통계/순위 환각 차단

# "TOP 5", "가장 많이", "45%" 등 통계 주장 + RAG sources 없음 → 차단
STATISTICAL_CLAIM_PATTERNS = [r"TOP\\s*\\d+", r"가장\\s*많이", r"약?\\s*\\d+\\s*%", ...]

if self._contains_statistical_claim(answer) and not sources:
    return (False, AnswerTemplates.STATISTICAL_HALLUCINATION_BLOCK)

[C] 소프트 가드레일

RAG sources=0 + 정책/교육 질문 시:
→ "⚠️ 관련 사내 문서를 찾지 못했습니다. 아래는 일반 지식 기반 참고 정보입니다..."
→ 담당부서 안내 자동 추가

장점:


4️⃣ 역할×도메인 기반 지능형 라우팅

경쟁사 현황

CTRL+F AI 차별점

역할(UserRole) 분류:

역할 접근 권한 주요 라우트
EMPLOYEE 정책 조회, 교육, 사고 신고 RAG_INTERNAL, BACKEND_API
ADMIN 전체 + 통계/현황 MIXED_BACKEND_RAG
INCIDENT_MANAGER 사고 처리 특화 MIXED_BACKEND_RAG

라우트 타입:

class RouteType(str, Enum):
    RAG_INTERNAL = "RAG_INTERNAL"      # 내부 문서 RAG 검색
    LLM_ONLY = "LLM_ONLY"              # RAG 없이 LLM만
    BACKEND_API = "BACKEND_API"        # 백엔드 비즈니스 데이터 조회
    MIXED_BACKEND_RAG = "MIXED"        # RAG + 백엔드 데이터 조합

의도(Intent) 자동 분류:

"연차 규정 알려줘" → POLICY_QA → RAG_INTERNAL
"내 교육 수료 현황" → EDU_STATUS → BACKEND_API
"보안사고 통계" → INCIDENT_QA + ADMIN → MIXED_BACKEND_RAG
"안녕" → GENERAL_CHAT → LLM_ONLY

장점:


5️⃣ AI 교육 영상 자동 생성 파이프라인

경쟁사 현황

CTRL+F AI 차별점

[교육 원문] → [LLM 스크립트 생성] → [TTS 음성 합성] → [영상 렌더링] → [WebSocket 진행률]
                    ↓                    ↓                ↓
            VideoScriptSchema      gTTS/Polly/GCP    Shotstack/FFmpeg

핵심 기술 (app/services/video_script_generation_service.py):

class VideoScriptGenerationService:
    """교육 원문 → LLM → VideoScript JSON 변환"""

    async def generate_script(self, video_id, source_text, options):
        # 1차 시도: 전체 프롬프트
        # 실패 시: fix 프롬프트로 자동 복구 (최대 2회)
        # Pydantic 스키마 검증 (ChapterSchema, SceneSchema)

장점:


6️⃣ 다층 Fallback 전략

경쟁사 현황

CTRL+F AI 차별점

# Phase 12 Fallback 전략
- RAG_INTERNAL: RAG 실패 → LLM-only 진행 (fallback_reason: RAG_FAIL)
- BACKEND_API: Backend 실패 → "현재 정보 조회 불가" 안내
- MIXED_BACKEND_RAG:
  - RAG만 실패 → Backend 데이터만으로 답변
  - Backend만 실패 → RAG 데이터만으로 답변
- LLM 실패 → 에러 응답 (error_type: UPSTREAM_TIMEOUT)

장점:


7️⃣ 불만/욕설 Fast Path

경쟁사 현황

CTRL+F AI 차별점

COMPLAINT_KEYWORDS = {"답답", "짜증", "미친", "뭐하", "왜몰라", ...}

def check_complaint_fast_path(self, user_query, last_error_reason):
    if is_complaint:
        return (
            "방금 답변이 도움 안 됐죠. 미안해요.\\n"
            f"{원인 설명}\\n"
            "문서를 인덱싱하면 그 기준으로만 답하게 만들게요."
        )

장점:


8️⃣ FAQ/퀴즈 자동 생성

경쟁사 현황

CTRL+F AI 차별점


📊 기술 아키텍처 요약

┌─────────────────────────────────────────────────────────────────────┐
│                           CTRL+F AI Gateway                         │
├─────────────────────────────────────────────────────────────────────┤
│  [PII Masking]  →  [Forbidden Filter]  →  [Intent Classification]  │
│       ↓                    ↓                       ↓                │
│  GLiNER ML          3-Stage Match         UserRole × Domain         │
│  INPUT/OUTPUT/LOG   Exact→Fuzzy→Emb       EMPLOYEE/ADMIN/MANAGER    │
├─────────────────────────────────────────────────────────────────────┤
│  [Route Decision]                                                   │
│     ├── RAG_INTERNAL → Milvus/RAGFlow → Answer Guard → LLM        │
│     ├── BACKEND_API → Spring Backend → LLM                         │
│     ├── MIXED_BACKEND_RAG → (RAG + Backend) → LLM                  │
│     └── LLM_ONLY → Direct LLM                                      │
├─────────────────────────────────────────────────────────────────────┤
│  [Answer Guard]                                                     │
│     ├── Citation Validation (조항 인용 검증)                        │
│     ├── Statistical Hallucination Block (통계 환각 차단)           │
│     └── Soft Guardrail (근거 부족 시 면책 표시)                    │
├─────────────────────────────────────────────────────────────────────┤
│  [Video Pipeline]  →  Script Gen → TTS → Render → WebSocket        │
│  [FAQ/Quiz Gen]    →  Document → LLM → Validation → Response       │
└─────────────────────────────────────────────────────────────────────┘

🏆 결론: CTRL+F AI의 핵심 경쟁력

영역 핵심 가치
보안 3단계 PII 마스킹 + Fail-Closed 정책으로 개인정보 원천 보호
신뢰성 환각 방지 가드레일로 "근거 없는 답변" 차단, 법적 리스크 최소화
기업 맞춤 역할×도메인 라우팅으로 직원/관리자별 차등 응대
확장성 교육 영상 자동 생성, FAQ/퀴즈 자동 생성으로 콘텐츠 생산성 향상
가용성 다층 Fallback 전략으로 부분 장애 시에도 서비스 지속
규정 준수 금지질문 3단계 필터 + 감사 로깅으로 컴플라이언스 대응

📎 관련 문서


CTRL+F AI는 "정보를 찾는(CTRL+F)" 것을 넘어, "신뢰할 수 있는 근거 기반 답변"을 제공하는 엔터프라이즈 AI 플랫폼입니다.