<aside>

프로젝트 간단 설명


기술 스택

분류 기술
AI Pipeline LangGraph GPT-4.1-mini
Search & Recommend OpenSearch Neo4j Cohere Rerank
Web Tavily Search API
Embedding OpenAI Embedding API
Data Collection Selenium BeautifulSoup4 Naver API
Data Processing OpenAI Batch API
Backend FastAPI
Monitoring LangSmith

1. 프로젝트 배경

국내 지프(Jeep) 오너들은 오프로드 튜닝 제품을 구매하기 위해 해외 직수입이나 공동구매에 의존해왔으나, 호환성 검증과 신뢰할 수 있는 정보 접근이 어려운 상황이었다. 튜닝 관련 정보 또한 커뮤니티, 블로그, 해외 쇼핑몰 등 여러 채널에 산재되어 있어 사용자가 적합한 제품을 선택하기까지 높은 도메인 지식과 많은 시간이 요구되었다.

이러한 문제를 해결하기 위해 LangGraph 기반 워크플로우 안에 에이전트 노드를 통합한 구조를 설계했다. 전체 파이프라인은 사용자 의도에 따라 분기가 결정되는 워크플로우로 구성되며, 상품 추천 분기 내에서는 LLM이 필요한 툴을 스스로 선택하고 실행하는 ReAct 방식의 에이전트가 동작한다. 단순한 챗봇 수준을 넘어 실제 서비스 상용화를 목표로 도메인 특화 데이터 구축, 커스텀 툴 개발, 멀티턴 문맥 제어까지 AI 서비스의 전 과정을 직접 설계하고 구현했다.


2. LangGraph 파이프라인 설계

1) 서비스 전체 흐름

flowchart TD
    subgraph Legend[" "]
        direction LR
        L1[I/O]:::blue
        L2[핵심 제어 노드]:::purple
        L3[서브그래프 - 분기]:::green
        L4[예외 처리 노드]:::yellow
    end

    A[User Input] --> B[context_analyzer]
    B --> C[router_node]
    C --> H[clarify_node]
    C --> I[fallback_node]
    C --> D[recommendation_flow]
    C --> E[information_flow]
    C --> F[laws_flow]
    C --> G[trip_flow]
    H --> C
    D & E & F & G --> J[prepare_prompt]
    I --> J
    J --> K[generate_response]
    K --> L[evaluate]
    L --> M[Response Output & S3 Log]

    classDef blue fill:#4A90D9,stroke:#2171B5,color:#fff
    classDef purple fill:#5B6ABF,stroke:#3D4FAD,color:#fff
    classDef green fill:#27AE60,stroke:#1E8449,color:#fff
    classDef yellow fill:#F0A500,stroke:#C47F00,color:#fff

    class A,M blue
    class B,C,J,K,L purple
    class D,E,F,G green
    class H,I yellow

2) 주요 노드 구성

노드 역할
context_analyzer 이전 대화와의 연관성 판단, 후속 질문 여부 감지
router_node 사용자 의도 분류 → 4개 분기 또는 clarify/fallback으로 라우팅
clarify_node 질문이 모호한 경우 추가 질문 생성 (최대 2회, 초과 시 fallback)
fallback_node 서비스 범위 외 질문에 대한 거절 응답 생성
prepare_prompt 분기별 시스템 프롬프트에 수집 정보를 결합하여 최종 프롬프트 작성
generate_response 최종 답변 생성
evaluate 5가지 기준으로 답변 품질 평가 (Issues/NoIssues 이진 분류)

3) 분기 구성

3. 파운데이션 모델 선정

상용 모델과 오픈소스 경량 모델 총 12개를 대상으로 사용자 의도를 5개 카테고리로 정의한 뒤, 82건의 테스트 질문을 생성하여 의도 분류 정확도평균 응답시간을 기준으로 평가했다.