이원호/ 포트폴리오
포트폴리오글연락
← 포트폴리오

차장님 — AI 중고차 검색·시세 진단

말로 찾고, 가격은 AI가 따져 줍니다.

· 3분
역할
1인 개발 — 기획부터 배포·운영까지
기간
2026.06 – 2026.09 (3개월)
범위
웹 · 모바일 앱 · AI 백엔드 · DB
기술
Next.js · Flutter · FastAPI + LangGraph · Supabase(PostgreSQL · pgvector) · Gemini · TabPFN
차장님 — AI 중고차 검색·시세 진단

문제와 접근

기존 중고차 검색은 필터 12칸을 하나씩 채워야 시작됩니다. 제조사부터 신뢰정보까지 조건을 직접 골라야 하는 방식 대신, 원하는 조건을 말하듯 적으면 그 문장이 곧 검색 조건이 되게 했습니다.

문장은 AI가 해석하고, 결정은 코드가 합니다.

자연어 검색과 대화

매물검색 · 구매가이드 · 시세진단 · 매물비교, 네 가지 기능 중 필요한 것을 질문에서 스스로 고르고 실행한 뒤 답변 카드로 보여줍니다. "그중 두 번째 거 시세 봐줘"처럼 이어 묻는 멀티턴 대화도 검증 15건 모두 통과했습니다. 범위 밖 질문에는 모른다고 답하도록 만들었고, 검증 100건 중 예외는 1건이었습니다.

AI 시세 진단

적정가 구간은 예측 분포의 25~75% 구간으로 보여주고, 비슷한 조건의 실제 매물 등록가를 점으로 함께 표시해 근거를 눈으로 확인할 수 있게 했습니다. 이 매물은 적정가 대비 6% 높아 "다소 높음"으로 판정되는 식입니다. 비슷한 차가 3대 미만이면 판정을 보류합니다.

image.png

AI 기능을 어떻게 만들고 검증했나

시세 진단은 실매물 955대의 가격을 가리고 맞혀 보는 방식으로 검증했습니다.

방법오차 중앙값
TabPFN(적용)6.8%
세대별 회귀식7.3%
비슷한 차 중앙값8.0%

오차 10% 이내로 맞힌 비율은 69%, 20% 이내는 93.5%였습니다.

챗봇 답변은 100건을 사람과 AI 판정기가 같은 기준으로 나란히 채점했습니다. 판정기-사람 일치율은 v2 72%에서 v3 97%로 올랐고, 이 과정에서 채점 기준(루브릭)을 4차례 고쳤습니다. 같은 100건, 같은 기준으로 다시 측정했을 때 "좋음" 판정은 62건에서 93건으로 늘었습니다.

구조

웹 · 앱 · API · DB · AI로 나눠 만들었습니다.

  • 웹: Next.js
  • 앱: Flutter
  • API: FastAPI + LangGraph
  • DB: Supabase(PostgreSQL + pgvector)
  • AI: Gemini · TabPFN · 리랭커(별도 Cloud Run 사이드카로 상시 배포 — GPU 없는 CPU 추론이라 요청당 약 7초 걸리는 건 알려진 한계입니다)

작업을 17개 묶음, 99개 단위로 나눠 진행했고, 마이그레이션 39개(전진 전용), 테스트 파일 166개 · CI 잡 4개로 뒷받침했습니다.

아직 약한 곳

  • 사고 이력 있는 차 오차 8.7%(무사고 대비 6.3%)
  • 저가 차(1,500만 원 미만) 오차 8.1%(표본 325대)

링크