본문으로 건너뛰기
강원 여행 도우미

프로젝트 소개

강원특별자치도 관광정보로 여행 코스를 만드는 Agentic RAG 데모입니다. AI 에이전트가 검색 도구를 직접 골라 쓰고, 결과가 부족하면 검색어를 바꿔 다시 찾습니다. 최종 코스는 Laravel이 근거·지역·필수 조건을 다시 검사한 장소만 보여 줍니다.

한 요청의 흐름

  1. 1단계

    Laravel

    입력 검증, 사용할 데이터 릴리스 고정, 작업을 큐에 넣음

  2. 2단계

    Hermes Agent

    모델이 프로젝트 전용 도구 4개만 사용해 검색·상세 확인·재검색

  3. 3단계

    Meilisearch

    릴리스별 인덱스에서 키워드+의미 하이브리드 검색, 지역은 항상 필터

  4. 4단계

    Laravel 검증

    도구가 돌려준 근거만 인용했는지, 지역·주차 조건을 지켰는지 다시 확인

데이터

강원 18개 시·군의 관광정보 자료를 확보했고, 그중 18개 지역 4,490곳을 검수해 현재 서비스 릴리스(#9, 2026-10-16 반영)에 등록했습니다. 설명이 짧거나 주소가 맞지 않는 항목은 검수 대상으로 빼 두었습니다.

강릉시, 춘천시, 원주시, 속초시, 동해시, 삼척시, 태백시, 평창군, 정선군, 양양군, 홍천군, 횡성군, 영월군, 철원군, 화천군, 양구군, 인제군, 고성군

평가 결과

정답 장소(또는 허용 후보 중 하나)가 상위 5개 안에 있는 비율입니다. 최종 검증 20은 사람이 질문과 정답 후보를 검토해 확정한 세트로, 튜닝에 쓰지 않았습니다. 장소명 50·자연어 20·홍천 5는 튜닝용 초안(사람 검토 전)입니다. 시·군을 지정한 결과이며, "강원도 전체"는 따로 표시했습니다.

질문 세트방식상위 5개 포함률p50p95측정일
최종 검증 20 (사람 검토) 하이브리드 검색 20 / 20 (100%) 227ms 299ms 2026-10-16
최종 검증 20 (사람 검토) Agent (gpt-6-luna) 19 / 20 (95%) 7,325ms 14,197ms 2026-10-16
장소명 질문 50 하이브리드 검색 50 / 50 (100%) 220ms 400ms 2026-10-16
장소명 질문 50 Agent (gpt-6-luna) 48 / 50 (96%) 7,055ms 11,223ms 2026-10-16
자연어 질문 20 하이브리드 검색 18 / 20 (90%) 217ms 257ms 2026-10-16
자연어 질문 20 Agent (gpt-6-luna) 20 / 20 (100%) 8,143ms 14,961ms 2026-10-16
홍천 추가 5 하이브리드 검색 5 / 5 (100%) 208ms 231ms 2026-10-16
후속 7개 군 35 하이브리드 검색 35 / 35 (100%) 229ms 324ms 2026-10-16
후속 7개 군 35 Agent (gpt-6-luna) 34 / 35 (97%) 7,301ms 11,418ms 2026-10-16
후속 7개 군 35 Agent (gpt-6-luna, 강원도 전체) 34 / 35 (97%) 10,085ms 14,691ms 2026-10-16

지역 추가 시연

직전 릴리스 #8(17개 지역, 4,308곳) → 현재 릴리스 #9(18개 지역, 4,490곳)

  • 추가 전에는 새 지역 질문에 "서비스 대상 지역이 아니다"라고 답하고, 일반 지식으로 장소를 지어내지 않았습니다.
  • 지역 파일 하나를 등록하고 누적 릴리스를 만들어 기존 질문 점수가 떨어지지 않은 것을 확인한 뒤 반영했습니다. 바뀌지 않은 장소의 벡터는 다시 만들지 않았습니다.
  • 애플리케이션 코드는 고치지 않았습니다. 데이터 등록과 릴리스 반영만으로 지역이 늘었습니다.
  • 반영하는 순간 진행 중이던 요청은 시작할 때의 릴리스로 끝났고, 이전 릴리스로 복구하면 새 지역이 다시 빠졌습니다.

제약

  • 예약 가능 여부, 현재 가격, 실시간 혼잡, 실제 도로 이동 시간은 제공하지 않습니다. 방문 순서는 좌표 사이 직선거리 기준입니다.
  • 주차·반려동물 정보가 원본에 없으면 '미확인'으로 표시하고, 필수 조건으로 요청한 경우 코스에서 뺍니다.
  • 한 요청에서 도구 호출은 8회, 검색은 4회까지이며 60초가 지나면 실패로 처리합니다.
  • 답변 형식이 어긋나면 한 번 다시 요청하고, 그래도 안 되면 근거를 확인한 장소 없이 답변 문장만 보여 줍니다.
  • 공개 데모는 IP별·하루 요청 한도와 하루 비용 예산 안에서만 동작합니다. 한도에 도달하면 다음 날(한국 시간 자정)까지 새 코스를 만들 수 없습니다.