<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 |
국내 지프(Jeep) 오너들은 오프로드 튜닝 제품을 구매하기 위해 해외 직수입이나 공동구매에 의존해왔으나, 호환성 검증과 신뢰할 수 있는 정보 접근이 어려운 상황이었다. 튜닝 관련 정보 또한 커뮤니티, 블로그, 해외 쇼핑몰 등 여러 채널에 산재되어 있어 사용자가 적합한 제품을 선택하기까지 높은 도메인 지식과 많은 시간이 요구되었다.
이러한 문제를 해결하기 위해 LangGraph 기반 워크플로우 안에 에이전트 노드를 통합한 구조를 설계했다. 전체 파이프라인은 사용자 의도에 따라 분기가 결정되는 워크플로우로 구성되며, 상품 추천 분기 내에서는 LLM이 필요한 툴을 스스로 선택하고 실행하는 ReAct 방식의 에이전트가 동작한다. 단순한 챗봇 수준을 넘어 실제 서비스 상용화를 목표로 도메인 특화 데이터 구축, 커스텀 툴 개발, 멀티턴 문맥 제어까지 AI 서비스의 전 과정을 직접 설계하고 구현했다.
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
| 노드 | 역할 |
|---|---|
context_analyzer |
이전 대화와의 연관성 판단, 후속 질문 여부 감지 |
router_node |
사용자 의도 분류 → 4개 분기 또는 clarify/fallback으로 라우팅 |
clarify_node |
질문이 모호한 경우 추가 질문 생성 (최대 2회, 초과 시 fallback) |
fallback_node |
서비스 범위 외 질문에 대한 거절 응답 생성 |
prepare_prompt |
분기별 시스템 프롬프트에 수집 정보를 결합하여 최종 프롬프트 작성 |
generate_response |
최종 답변 생성 |
evaluate |
5가지 기준으로 답변 품질 평가 (Issues/NoIssues 이진 분류) |
Recommendation: ReAct 에이전트가 OpenSearch + Neo4j 통합 검색 툴을 동적으로 실행하여 상품 추천Information: query_rewrite + multi_query 기반 다중 쿼리 확장 및 RAG + 웹 검색 병렬 구조로 튜닝 정보 제공상용 모델과 오픈소스 경량 모델 총 12개를 대상으로 사용자 의도를 5개 카테고리로 정의한 뒤, 82건의 테스트 질문을 생성하여 의도 분류 정확도와 평균 응답시간을 기준으로 평가했다.