AI로 장소 검색 서비스 만드는 중입니다 (1) — 시작은 "아, 거기 어디였지"

AI로 장소 검색 서비스 만드는 중입니다 (1) — 시작은 "아, 거기 어디였지"

01-scattered-to-map

주말에 누워서 유튜브를 보다가, 분위기 좋은 카페가 하나 나옵니다. 통창으로 햇살 들어오고, 사장님이 직접 로스팅하고, 디저트도 예쁘고. "오 여기 가봐야지" 하고 마음속에 저장합니다. 그리고 일주일 뒤, 진짜로 가려고 마음먹은 순간 머릿속이 하얘집니다.

거기가… 어디였더라.

분명 봤는데. 채널 이름도 가물가물하고, 영상 제목엔 "서울 카페 투어 5곳"이라고만 적혀 있고, 20분짜리 영상 어디쯤에 30초 나왔던 그 가게를 다시 찾으려면 영상을 처음부터 돌려봐야 합니다. 더보기란을 뒤지고, 댓글을 뒤지고, 운이 좋으면 누군가 "3분 42초 카페 이름이 뭐예요?" 라고 물어봐 줬고, 대부분은 그냥 포기합니다. 저는 이걸 한두 번 겪은 게 아니라서, 어느 날 문득 이런 생각이 들었습니다.

영상에 나온 장소만 쏙 뽑아서, 지도 위에 핀으로 꽂아두면 안 되나?

말로 하면 한 줄인데, 막상 만들어 보니 한 줄이 아니었습니다. 이 글은 그 이야기입니다. 잘 정리된 완성품 자랑이 아니라, 만들면서 실제로 부딪힌 것들 위주로 써보려고 합니다. (스포일러: 멀쩡히 잘 되던 게 갑자기 안 되고, 잘 될 거라 확신한 게 보기 좋게 망하는, 그런 이야기가 대부분입니다.)

하고 싶었던 건, 정말 단순했습니다

머릿속 그림은 이거였어요.

  • 내가 좋아하는 유튜버들이 다녀온 카페·맛집·여행지를  자동으로 모은
  • 그걸 지도 한 장  위에 올린다
  • "성수동 조용한 카페", "주차 되는 한옥 식당"처럼 말하듯이 검색하면 딱 나온다

세 줄이죠. 검색창에 "강남 분위기 좋은 카페" 치면 강남의 분위기 좋은 카페가 주르륵 나오는, 누구나 머릿속에 그릴 수 있는 그림. 저는 이게 며칠이면 될 줄 알았습니다. 결론부터 말하면 며칠이 아니라 몇 달이었고, 그 몇 달의 절반은 "왜 이게 안 되지"를 들여다보는 시간이었습니다.

세 줄 뒤에 숨어 있던 질문들이 진짜 일이었거든요.

  • 영상에서 '장소'를 어떻게 알아낼까? 자막엔 보통 "여기 진짜 좋아요, 꼭 가보세요"만 적혀 있지, 가게 이름이나 주소가 친절하게 박혀 있는 경우는 드뭅니다.
  • 같은 가게라도 영상마다 부르는 이름이 다릅니다. 정식 상호로 부르기도 하고, "그 집", "단골집", 동네 별명으로 부르기도 합니다.
  • 사람이 "인스타 감성 카페"라고 검색하면, 컴퓨터는 '인스타'가 뭔지, '감성'이 뭔지 전혀 모릅니다. 그냥 글자일 뿐이에요.
  • "송리단길", "샤로수길" 같은 건 행정구역 지도에 없는 이름입니다. 사람은 다 아는데, 지도는 모릅니다.
  • 그리고 결정적으로 — 이걸 돈 안 들이고 굴릴 수 있나? AI에 글 한 번 물어볼 때마다 요금이 붙습니다. 검색 한 번에 AI를 여러 번 부르면, 사용자가 늘수록 통장이 가벼워집니다.

이 중 어느 하나도 "라이브러리 하나 가져다 쓰면 끝"인 게 없었습니다. 전부 "이렇게 하면 되겠지 → 해봄 → 안 됨 → 왜 안 되지 → 다른 방법"의 무한 반복이었어요.

"AI가 알아서 해주겠지"의 함정

요즘은 LLM(거대 언어모델, 쉽게 말해 ChatGPT 같은 그것)에 영상 자막을 통째로 던져주면 장소를 척척 뽑아줍니다. 그래서 처음엔 자신만만했습니다. *"이거? 금방 만들지."*

이 자신감은 생각보다 빨리 무너졌습니다. 몇 개만 옮겨 적어보면 이렇습니다.

하나, AI가 가끔 소설을 씁니다. 자막을 넣었더니 영상에 나오지도 않은 가게를 너무나 그럴듯하게 지어냅니다. 진짜 같아서 더 무섭습니다. "어? 이 영상에 이 집 나왔나?" 싶어 영상을 다시 보면 없습니다. 사람이 모르는 걸 "모릅니다"라고 하지 않고 그럴듯하게 채워 넣는 게 AI의 특기더라고요.

둘, 검색이 엉뚱한 걸 1등으로 데려옵니다. "한옥 카페"를 찾는데 평범한 감자탕집이 맨 위에 떴습니다. 왜 그런가 봤더니, 그 집 리뷰에 누가 "천장이 한옥 느낌 나서 좋았어요"라고 써놨더군요. 컴퓨터는 글자 '한옥'이 있으니 한옥집이라고 판단한 겁니다. 사람은 "한옥 카페"와 "한옥 느낌"을 단번에 구분하는데, 이게 기계에겐 의외로 어려운 일이었습니다.

셋, 비용 아끼려다 더 큰 걸 잃을 뻔했습니다.  AI 요금이 아까워서 "내 컴퓨터로 직접 AI를 돌리자"고 결심했습니다. 결과는 — 메모리가 터지고(개발자들이 OOM이라고 부르는 그것), 검색 한 번에 10초가 넘게 걸렸습니다. 사용자 입장에서 검색 버튼 누르고 10초를 기다리는 건, 사실상 "안 되는 서비스"입니다. 결국 돌고 돌아 클라우드 AI로 돌아왔는데, 이 이야기는 따로 한 편을 쓸 만큼 험난했습니다.

그때마다 머릿속에 떠오른 문장이 하나 있었습니다. *안 하는 것보단 낫겠지.* 그리고 다시 고쳤습니다. 고치면 다른 데가 터졌습니다. "하우스 베이커리"라는 가게가 검색이 아예 안 돼서 들여다봤더니, 시스템이 '하우스'를 가게 스타일로 착각하고 있었습니다. "카페 산"은 검색되는데 "카페 산"(띄어쓰기)은 안 됐습니다. 이런 자잘한 사건들이 매일같이 나왔습니다. 이 반복이 사실상 이 프로젝트의 전부였다고 해도 과언이 아닙니다.

01-video-to-pin

왜 하필 유튜브 + 지도였나

"그냥 네이버 지도에 저장하면 되잖아?" 싶을 수 있습니다. 그런데 유튜브에서 본 그 가게는 네이버에 저장할 이름조차 모른다는 게 핵심이었어요. 이름을 알면 이미 절반은 찾은 거죠. 진짜 문제는 "이름을 모르는 그 30초짜리 장면"과 "네이버 지도의 정식 상호" 사이의 간극을 메우는 일이었습니다.

그리고 유튜버라는 필터가 의외로 강력했습니다. 네이버 평점 4.5짜리 가게는 세상에 널렸지만, "내가 구독하는 그 사람이 직접 가서 좋다고 한 곳"은 신뢰의 결이 다릅니다. 광고 협찬이든 아니든, 적어도 누가 왜 추천했는지가 붙어 있으니까요. 그래서 이 서비스의 뼈대는 처음부터 "익명의 평점"이 아니라 "유튜버가 다녀간 곳"이었습니다. (이게 나중에 검색 품질에도, 마케팅에도 계속 영향을 줍니다.)

그래도 계속한 이유

이쯤 되면 "그냥 하지 말지" 싶을 텐데, 묘하게 재밌었습니다. 안 되던 게 되는 순간이 있거든요. "성수동 인스타 감성 카페"를 쳤을 때 진짜로 사진 예쁜 카페만 딱 나오기 시작했을 때, 혼자 "오…" 했습니다. 그 한 번의 "오"를 위해 그 앞의 수십 번의 "왜 안 되지"를 견디는 거였어요.

그리고 한 가지 깨달은 게 있습니다. "AI한테 다 맡기면 된다"는 건 환상이라는 것. AI는 강력하지만 제멋대로고, 비싸고, 가끔 거짓말을 합니다. 결국 좋은 결과는 "AI가 잘하는 일"과 "사람이 규칙으로 못 박아야 하는 일"을 잘 나누는 데서 나왔습니다. 이 경계를 찾는 과정이 이 프로젝트의 진짜 알맹이였고, 앞으로 그 이야기를 풀어보려 합니다.

이 연재에서 풀어볼 이야기들

한 편에 다 담기엔 너무 길어서, 회차를 나눠 쓰겠습니다. 지금 머릿속 목차는 대략 이렇습니다. (가다가 바뀔 수 있습니다. 보통 계획은 바뀌니까요.)

  • 영상에서 장소를 캐내기 — AI가 소설 쓰는 걸 막은 방법
  • 검색이 자꾸 엉뚱한 걸 물어온다 — '정밀도'와의 길고 긴 싸움, 그리고 멋져 보였지만 실패한 시도들
  • 내 GPU로 LLM 돌리다 결국 클라우드로 돌아온 이야기
  • "인스타 감성"을 컴퓨터가 알아듣게 만들기
  • 10초 걸리던 검색을 1~2초로 줄이기
  • 그리고 마지막, 노트북에서 진짜 서버로 — 배포

기술 용어는 최대한 덜 쓰고, 어쩌다 써야 하면 옆에 한 줄로 풀어쓰겠습니다. 개발자가 아니어도 "아, 이런 고민을 하는구나" 정도는 따라올 수 있게요.

> 더 깊이 궁금하다면: 이 연재의 각 편에 대응하는 기술 상세편(기술 1~10) 을 따로 썼습니다. 실제 비용($/모델), 품질 수치(P@8 29→100 같은), 하드웨어 스펙, A/B로 기각한 실패들까지 숫자로 정리했어요. 개발자용입니다.

✚ 그 뒤 이야기 (이 글을 쓴 이후)

연재를 시작한 뒤에도 서비스는 계속 자라고 있습니다. 이 글 이후 실제로 반영된 것들을 몇 개만 적어둡니다(각각은 뒤 편이나 기술편에서 자세히).

  • "강릉감성카페"와 "강릉 감성 카페"가 다른 결과 — 붙여쓰기 하나로 검색이 갈리던 문제를 잡았습니다. 서두에서 말한 "카페 산 / 카페산" 사건의 연장선이었어요.
  • 검색 결과 화면 정리 — "이 지역/전국" 토글과 헷갈리는 구분 헤더를 없애 목록을 단순하게.
  • 유튜버 크레딧을 전면에 — 장소마다 "누가 추천했는지"를 더 또렷하게 보여주는 방향으로.
  • 소소한 자동화 — 방문 통계(GA) 연결, 유튜버 채널 소개글 자동 생성 등, "사람 손을 덜 타게" 하는 작업들.

혹시 비슷한 걸 만들고 있거나, "나도 그 장소 찾다가 포기한 적 있다" 싶으면 반갑습니다. 다음 편은 가장 처음 부딪힌 벽 — "영상에서 장소를 대체 어떻게 알아내는가" 로 시작합니다.

그럼, 계속.

실제 운영되는 서비스는 유추카(유튜버 추천 카페)에서 보실 수 있습니다.


Popit은 페이스북 댓글만 사용하고 있습니다. 페이스북 로그인 후 글을 보시면 댓글이 나타납니다.