김솔비 블로그
기술 블로그

[Part 2] AI 없이 유행 프롬프트 자동 수집기 만들었다

5분 읽기시리즈 3/10

TL;DR

  • 키워드 18개 × {네이버 블로그, 네이버 웹문서, 유튜브}로 매일 한 번 화제 프롬프트 후보를 모은다.
  • 프롬프트 추출과 점수 매기기는 AI 없이 규칙으로 한다. 비용이 0이고 결과를 예측할 수 있다. 대신 규칙을 테스트로 고정했다.
  • 자동으로 공개하지 않고 사람이 승인한다. 승인 시간은 "⚡ 바로 발행"으로 10초까지 줄였다.

문제

SNS에서 유행하는 프롬프트를 매일 사람이 찾아다닐 수는 없다. 자동으로 모아야 한다. 그런데 부딪히는 것이 세 가지다.

  • 어디서 모을까? 프롬프트가 가장 많이 도는 곳은 인스타그램, 스레드, 틱톡인데, 그쪽 API는 쓰기 어렵다.
  • 본문에서 프롬프트만 어떻게 뽑을까? 블로그 글과 영상 설명란에는 프롬프트 말고도 구독 안내, 광고, 링크가 섞여 있다.
  • 무엇을 올릴까? 모은 것을 전부 올리면 광고와 저품질 글이 섞인다.

선택지와 내 선택

결정버린 선택지이유
유튜브·네이버만 자동 수집인스타·스레드·틱톡 API메타 앱 검수와 권한 문제로 현실적으로 불가능하다. 인스타·틱톡은 "링크로 직접 추가"와 방문자 제보로 보완한다
수집은 AI 없이 규칙 기반LLM으로 추출·요약비용이 0이고 결과를 예측할 수 있다. 대신 추출 규칙을 테스트로 고정한다
사람이 승인해서 발행수집 즉시 공개광고나 저품질 글이 섞이면 신뢰가 무너진다
한국어·한국 채널만전 세계타깃이 한국 SNS 사용자다. 언어와 채널 국가로 거른다

어떻게 모으나

매일 07:00(한국 시간)에 Vercel Cron이 수집 경로를 부른다. 키워드는 현재 18개다.

유튜브

  • 두 번 검색한다. 최근 7일 조회수 순, 그리고 최근 3일 최신 순. 이미 뜬 영상과 막 뜨기 시작한 영상을 둘 다 잡으려고 그렇게 했다.
  • 조회수, 좋아요, 한국어 여부, 채널 국가로 거른다.
  • 설명란에 프롬프트가 없으면 영상 주인의 고정 댓글까지 확인한다. 프롬프트를 댓글에 적어 두는 경우가 많기 때문이다.

네이버 블로그·웹문서

  • NAVER API HUB 검색으로 상위 글을 찾고, 본문을 직접 읽는다.
  • 단, robots.txt가 허용하는 사이트만 읽는다.

본문에서 프롬프트 뽑기

규칙은 이렇다.

  1. 번호 목록은 항목마다 따로 뽑는다. ("프롬프트 1:", "1.", "①" 같은 시작)
  2. 조건 목록이 붙은 한 프롬프트는 하나로 묶는다.
  3. 따옴표 안의 문장을 뽑는다.
  4. 미드저니 식 --ar 같은 옵션이 붙은 영어 묘사를 프롬프트로 본다.
  5. 구독·광고 문구는 뺀다.

규칙은 정규식으로 적었다. 예를 들어 "보는 사람에게 하는 말"과 "AI에게 시키는 말"을 이렇게 가른다. (단어 목록은 일부만 옮겼다)

ts
/** 미드저니식 영어 묘사 프롬프트 (--ar 3:4 같은 옵션) */ const MJ_PROMPT = /--(?:ar|v|style|stylize|niji|q|chaos)\b/i; /** 보는 사람에게 하는 말 (구독·댓글·링크 안내 등) */ const VIEWER_TALK = /(구독|좋아요|댓글|알림\s?설정|팔로우|이웃\s?추가|디엠|문의|프로필\s?링크|링크\s?(클릭|확인|참고)|시청해|봐\s?주세요)/i; /** AI 에게 시키는 일이 들어 있어야 프롬프트로 본다 */ const AI_TASK = /(사진|이미지|그려|바꿔|변환|작성|분석|요약|추천|번역|역할|너는|당신은|말투|조건|단계|표로|--ar\b|\bact as\b|\byou are\b)/i;

규칙은 틀리기 쉽다. 그래서 예시 문장으로 테스트에 고정했다. 규칙을 고칠 때마다 이전에 잘 뽑던 문장을 여전히 잘 뽑는지 확인한다.

점수 매기기

뽑은 후보에는 점수를 매긴다. 기준은 네 가지다.

  • 인기: 조회수, 좋아요
  • 최신성: 얼마나 최근 글인가
  • 프롬프트 포함: 실제 프롬프트를 뽑아냈는가
  • 여러 사람이 같은 프롬프트를 공유: 같은 프롬프트가 여러 출처에서 보이면 유행하고 있다는 신호다

기준 점수 이상인 것만 수집함에 들어간다. 이미 있는 것과 겹치면 중복으로 표시한다.

사람이 승인한다, 대신 10초 만에

자동으로 공개하지 않기로 했으니, 승인 과정이 번거로우면 결국 아무것도 올라가지 않는다. 그래서 수집함에 ⚡ 바로 발행을 만들었다. 편집 화면을 열지 않고 확인만 한 뒤 지금 또는 예약으로 발행한다.

제목으로 영문 주소를 만들고, 빈칸(MBTI, 이름, 성격 등)을 제안하고, 요약·태그·카테고리를 채우는 일은 자동으로 한다. 사람은 확인만 한다.

결과

  • 테스트 수집에서 키워드를 8개에서 18개로 늘렸더니, 한 번에 새 후보 9개가 들어왔다.
  • AI 호출이 없으니 수집 비용은 0원이다.

배운 점

  • AI를 안 쓰는 것도 선택이다. LLM을 쓰면 추출은 더 유연해지겠지만, 비용이 생기고 결과가 매번 달라진다. 규칙은 딱딱하지만 테스트로 고정할 수 있다.
  • 자동화는 승인을 없애는 게 아니라 빠르게 하는 쪽이 맞았다. 품질을 지키면서 운영 부담도 줄일 수 있었다.
  • 수집할 수 없는 곳(인스타·틱톡)은 억지로 뚫지 않고, 링크 직접 추가와 제보라는 사람의 경로로 보완했다.

프롬피드 개발기

프롬피드: promfeed.solfany.com