Crawlift는 NCG 내부 도구입니다. "우리가 타깃하는 주제 쿼리에서, 우리가 그리고 경쟁사가 LLM 응답에 얼마나 자주 인용되는지"를 매일 측정합니다. 이 글은 v0.4의 파이프라인 설계 기록입니다.
입력: 쿼리 세트
브랜드별로 "타깃 쿼리 50-100개"를 관리합니다. 예컨대 A증권이라면:
- "CMA 수시입출 수수료 비교"
- "해외 ETF 세금 절세 방법"
- "연금저축 중도해지 불이익"
등입니다. 쿼리는 실제 검색 로그 + 고객팀 수기 기록으로 큐레이션하고, 월 1회 갱신합니다.
모델 러너
매일 새벽 3시, 쿼리 세트를 아래 LLM 엔드포인트에 병렬로 던집니다.
- OpenAI GPT-4o (+ web search)
- Anthropic Claude (Projects/Skills with search)
- Perplexity Online
- Google AI Studio (Gemini 1.5 with search)
세부사항
- 쿼리 × 모델 = 예) 100 × 4 = 400 run/day
- Rate-limit 회피를 위해 모델별 concurrency 3
- 타임아웃 30s, 재시도 1회
- 비용: 쿼리당 약 $0.02, 월 약 $250
파싱 - 인용 추출
응답 본문에서 URL을 추출합니다. 모델마다 형식이 달라 정규식이 3-4가지 필요합니다. 추출된 URL은 도메인 정규화(www 제거, trailing slash 통일)를 거친 후 쿼리-모델-날짜 조합으로 저장합니다.
저장 - 시계열 DB
ClickHouse를 씁니다. 핵심 테이블은 citations (ran_at, query_id, model, position, domain, url, is_self, competitor_id). 쿼리별 인용 1위·2위·3위를 집계하고, 자사 도메인이 몇 순위에 얼마나 자주 나오는지 계산합니다.
지표 - 4개의 핵심 축
- Citation Share: 우리 도메인의 응답 내 인용 비율
- Top-1 Rate: 응답에서 가장 먼저 인용된 소스가 우리인 비율
- Coverage: 모든 쿼리 중 최소 1회라도 인용된 쿼리 비율
- Mover Index: 7일 이동평균 대비 오늘의 변화율
실패 사례 - v0.2의 교훈
v0.2 초기에는 응답 텍스트만 저장했습니다. 나중에 "왜 우리가 떨어졌지?"를 분석할 때 원문 응답이 없어서 원인 추적이 불가능했습니다. 지금은 raw response를 S3에 gzipped JSON으로 저장하고 30일 보존합니다.
대시보드
Metabase로 간단하게 구성. 핵심 보드 4개:
- 도메인별 Citation Share (라인)
- 쿼리별 히트맵 (언제 우리가 인용되는가)
- 경쟁사 대비 증감
- 새로 올라온 "강한 인용원" (우리가 아직 못 따라간 도메인)
윤리·컴플라이언스
자사 모니터링에 집중합니다. 경쟁사의 내부 페이지는 크롤링하지 않고, 공개된 LLM 응답에서 인용된 URL 단위로만 집계합니다. 모든 쿼리는 LLM API를 통해 정당한 사용료를 내고 실행합니다.
측정되지 않는 것은 관리되지 않는다. GEO 시대의 측정 도구가 없다는 건, 누구도 아직 이 싸움을 체계적으로 하고 있지 않다는 뜻이기도 합니다.
Crawlift는 Phase 2에 별도 SaaS로 공개될 예정입니다. 사전 등록은 lab.netrue.co.kr에서 받습니다.