클릭베이트의 종말, 알고리즘 베이트의 시작

마케팅의 제1원칙은 오랫동안 “사람의 이목을 끄는 것”이었다. 썸네일을 자극적으로 만들고, 제목에 ‘충격’을 넣는 식이다. 하지만 LLM(거대언어모델)이 추천 로직의 핵심이 된 지금, 나는 근본적인 의문을 가졌다.

“이제는 사람보다 구글 내부 모델(LLM)이 먼저 추천할지 말지를 결정한다. 그렇다면 사람을 낚는 게 아니라, LLM을 낚아서 랭킹 상단에 올리는 전략이 더 중요한 것 아닐까?”

이 의문은 숫자가 뒷받침한다. 2025년 상반기 기준, AI를 경유한 웹 세션은 전년 대비 527% 증가했다. ChatGPT는 하루 25억 개의 프롬프트를 처리하고, Perplexity는 월간 7.8억 건의 쿼리를 소화한다. 가장 중요한 ‘첫 번째 독자’는 더 이상 모니터 앞에 앉아 있지 않다. softmax 레이어 뒤에 앉아 있다.

이 질문에서 시작된 ‘알고리즘 해킹’에 대한 고찰 — 기술, 한계, 그리고 호기심과 조작 사이의 경계선을 정리한다.

1. 보이지 않는 트릭의 현실: 적대적 노이즈와 GEO

가장 먼저 떠오른 아이디어는 **‘적대적 노이즈(Adversarial Noise)‘**였다. 이미지나 텍스트에 인간은 인지하지 못하는 미세한 노이즈를 섞어, AI가 해당 콘텐츠를 “매우 가치 있는 정보”로 오인하게 만드는 방식이다.

왜 적대적 노이즈가 실전에서 실패하는가

개념은 매혹적이다. 입력 x에 대해 ||δ||가 인간의 인지 임계값 이하인 섭동 벡터 δ를 찾아서, 모델이 f(x + δ)를 타겟 클래스로 분류하게 만든다. 하지만 현실의 벽이 존재한다.

  • 압축의 벽: YouTube나 Instagram은 업로드 시 미디어를 재인코딩한다. JPEG 재압축, VP9/AV1 트랜스코딩, 해상도 리사이징 — 각 단계가 손실 변환을 적용하면서 픽셀 단위의 섭동을 파괴한다. Athalye et al.(arXiv:1707.07397)의 연구에 따르면, JPEG 압축만으로도 적대적 공격 성공률이 60-80% 감소한다.
  • 탐지 시스템: 플랫폼은 적대적 공격 감지 모델을 24시간 가동한다. Meta의 딥페이크 탐지 시스템은 매일 수십억 장의 이미지를 처리한다. 적발되면 쉐도우 밴 — 콘텐츠는 남아있지만 아무에게도 보이지 않는 유령이 된다.
  • 모델 불일치: 효과적인 적대적 예시를 만들려면 정확한 모델 아키텍처와 가중치를 알아야 한다. 그러나 플랫폼은 모델을 수시로 교체한다. ResNet-50을 타겟으로 만든 섭동은 다음 주에 교체되는 ViT-L/14 백본에는 무효다.

GEO: 실제로 작동하는 구조적 최적화

압축 파이프라인과 싸우는 대신, **GEO(Generative Engine Optimization)**는 시스템의 설계를 활용한다. 이 개념은 IIT Delhi와 프린스턴 대학 연구진이 KDD 2024 논문(arXiv:2311.09735)에서 공식화했고, 생성형 엔진 응답에서의 콘텐츠 가시성을 측정하는 벤치마크인 GEO-bench를 제안했다.

핵심 발견: 상위 3개 GEO 전략 — 출처 인용, 인용문 추가, 통계 삽입 — 은 비최적화 대비 가시성을 30-40% 향상시켰다. 인용문 추가만으로도 Position-Adjusted Word Count 지표에서 41% 향상을 달성했다.

실전에서 유효한 전략을 구체적으로 살펴보자.

직접 답변 포맷팅 (Direct Answer Formatting)

실시간 검색을 사용하는 AI 시스템은 페이지의 관련성을 첫 부분의 콘텐츠를 기준으로 평가한다. 첫 200단어가 주요 질문에 직접적이고 완전하게 답해야 한다. 서론 없이. “오늘날 빠르게 변하는 세상에서…” 같은 인사치레 없이. 답변을 먼저, 설명은 그 다음에.

나쁜 예: "이 포괄적인 가이드에서는 벡터 데이터베이스의 매혹적인 세계를 
          탐구해 보겠습니다..."
좋은 예: "벡터 데이터베이스는 데이터를 고차원 임베딩으로 저장하고 
          근사 최근접 이웃(ANN) 검색으로 결과를 반환한다. 
          지배적인 세 가지 구현은 HNSW, IVF, PQ다. 비교하면:"

구조화된 데이터와 스키마 마크업

LLM이 웹 콘텐츠를 파싱할 때, 구조화된 포맷을 압도적으로 선호한다. FAQ 스키마, HowTo 스키마, 그리고 올바르게 중첩된 헤딩 계층 구조를 사용하는 페이지가 AI Overview 소스로 비정상적으로 높은 비율로 선택된다.

Ahrefs의 연구에 따르면 AI Overview 인용의 76%가 유기적 검색 결과 상위 10위 내 페이지에서 나온다. 하지만 결정적으로, 14.4%의 인용은 100위 밖의 URL에서 나온다. 구조, 엔티티 명확성, 의도 매칭이 낮은 순위의 페이지를 AI Overview로 끌어올릴 수 있다는 뜻이다.

의미론적 권위 차용 (Semantic Hooking)

키워드 스터핑 대신 의미론적 권위를 빌린다. 기존 권위 있는 소스가 사용하는 특정 어휘, 엔티티 언급, 인용 패턴을 차용하는 것이다. “트랜스포머 아키텍처”에 대한 상위 페이지가 “스케일드 닷 프로덕트 어텐션”, “멀티헤드 프로젝션”을 쓰고 Vaswani et al.을 인용한다면, 당신의 콘텐츠도 같은 언어를 써야 한다. 복사가 아니다. 임베딩 모델에게 같은 의미론적 이웃에 속한다는 신호를 보내는 것이다.

통계-인용-인용문 삼중주 (Stat-Citation-Quote Triple)

프린스턴 GEO 논문은 이 세 요소가 복합 효과를 발휘함을 보였다. 특정 논문을 인용하고, 거기서 통계를 포함하며, 관련 전문가 인용문을 추가한 단락은 같은 정보를 단순히 패러프레이징한 것보다 측정 가능하게 높은 순위를 받았다. 차이를 보자:

“추천 시스템에 대한 적대적 공격은 점점 늘어나는 우려 사항이다.”

vs.

Zou et al.(USENIX Security 2025)에 따르면, PoisonedRAG는 수백만 개의 문서를 포함한 지식 베이스에 타겟 질문당 단 5개의 독이 든 텍스트를 주입하여 90%의 공격 성공률을 달성했다. 저자들은 이렇게 기술한다: “성공적인 공격의 비용은 방어 비용에 비해 비대칭적으로 낮다.”

두 번째 버전이 AI 시스템에 의해 인용될 가능성이 훨씬 높다. 검증 가능한 주장, 명명된 출처, 직접 인용문 — LLM이 우선시하도록 학습된 정확한 신호들이기 때문이다.

2. 벡터 DB 인젝션 (Vector DB Injection)

사람들은 생각보다 AI의 추천을 맹신한다(권위 편향). 이를 역이용하려면 내 콘텐츠를 인기 콘텐츠와 동일한 **벡터 공간(Vector Space)**에 놓아야 한다. 이를 ‘벡터 DB 인젝션’이라 정의한다.

핵심 통찰: 내용(텍스트)을 베끼는 게 아니다. 좌표를 이동시키는 것이다.

임베딩 모델(OpenAI의 text-embedding-3-large든, Cohere의 embed-v4든)이 텍스트를 처리하면 1536차원 또는 3072차원의 벡터를 생성한다. 추천 및 검색 시스템은 근사 최근접 이웃(ANN) 검색 — 주로 HNSW(Hierarchical Navigable Small World) 그래프 — 을 사용해서 쿼리 벡터나 ‘시드’ 콘텐츠 벡터에 가까운 콘텐츠를 찾는다. 목표는 당신의 콘텐츠 임베딩이 고성과 콘텐츠 근처에 착지하게 만드는 것이다. 복제물이 되지 않으면서.

시맨틱 미러링 (Semantic Mirroring)

단어는 베끼면 표절이지만, 논리적 구조는 베껴도 스타일이다.

  • 1위 콘텐츠의 서사 구조(예: 통계 제시 → 반전 → 해결)를 그대로 차용한다.
  • 임베딩 모델은 내용이 달라도 이 ‘구조적 유사성’을 높게 평가하여 같은 군집으로 묶는다.

이것이 기술적으로 작동하는 이유: BERT 계열의 트랜스포머 기반 임베딩 모델은 어휘뿐 아니라 위치적·관계적 패턴을 인코딩한다. 동일한 서사 곡선 — 설정, 갈등, 데이터 기반 해결 — 을 가진 두 문서는 어휘를 공유하지만 다른 수사 구조를 따르는 두 문서보다 높은 코사인 유사도를 보인다.

실험적으로 검증할 수 있다:

from sentence_transformers import SentenceTransformer
import numpy as np

model = SentenceTransformer('all-MiniLM-L6-v2')

# 같은 주제, 다른 구조
doc_a = "벡터 DB는 빠르다. HNSW를 쓴다. HNSW는 그래프 기반이다."
doc_b = "먼저 확장성 문제를 생각해보자. 기존 DB는 유사도 검색에서 질식한다. 돌파구는 HNSW였다 — 완벽한 리콜을 로그 시간 쿼리와 교환하는 그래프 기반 접근. 놀라운 점: 그것이 작동한다."

# 다른 주제, doc_b와 같은 구조
doc_c = "먼저 발효 문제를 생각해보자. 기존 양조법은 온도 제어에서 질식한다. 돌파구는 글리콜 재킷이었다 — 에너지 비용을 정밀 열 관리와 교환하는 냉각 접근. 놀라운 점: 맥주가 더 맛있다."

emb_a, emb_b, emb_c = model.encode([doc_a, doc_b, doc_c])

cos_ab = np.dot(emb_a, emb_b) / (np.linalg.norm(emb_a) * np.linalg.norm(emb_b))
cos_bc = np.dot(emb_b, emb_c) / (np.linalg.norm(emb_b) * np.linalg.norm(emb_c))

print(f"같은 주제, 다른 구조: {cos_ab:.4f}")
print(f"다른 주제, 같은 구조: {cos_bc:.4f}")
# cos_bc > cos_ab인 경우가 많다 — 구조가 생각보다 중요하다

브릿지 엔티티 (Bridge Entity)

내 콘텐츠와 인기 콘텐츠 사이에 다리 역할을 하는 제3의 개념을 심는다. 인기 유튜버가 사용하는 아주 구체적인 **희소 토큰(Rare Tokens)**이나 특정 이론을 배경에 배치하여, 벡터 거리를 강제로 좁힌다.

이것이 작동하는 이유는 토큰화와 어텐션의 상호작용에 있다. 희소 토큰 — 고유명사, 전문 용어, 신조어 — 은 임베딩 모델에서 문서 빈도가 낮기 때문에(IDF가 높기 때문에) 불균형적으로 큰 가중치를 갖는다. “HNSW”, “Flash Attention”, 특정 연구자 이름 같은 용어는 임베딩 공간에서 높은 레버리지의 앵커 포인트로 작용한다. 상위 콘텐츠에 등장하는 3-5개의 희소 토큰을 전략적으로 포함하면 실질적인 내용 복제 없이도 임베딩을 의미 있게 이동시킬 수 있다.

메타데이터 오염 (Metadata Poisoning)

이것이 ‘보이지 않는 워터마크’의 가장 현실적인 구현이다. 사람이 읽는 본문이 아니라, 시스템 프롬프트나 메타데이터 영역에 임베딩 가중치가 높은 요약 토큰을 심는 것이다. 파일 헤더(XMP), HTML 메타 태그, <script type="application/ld+json"> 블록, alt 텍스트, 숨겨진 구조화 데이터 — 이 모든 것이 크롤러와 임베딩 파이프라인에 의해 인덱싱된다.

실용적 예시: YouTube 영상의 설명 필드, 챕터 목록, 자동 생성 자막 — 이 모두가 임베딩 모델에 입력된다. 자막만으로도 5,000개 이상의 토큰을 포함할 수 있다. 자막의 처음과 마지막 200토큰에 타겟 엔티티를 전략적으로 배치하면(포지셔널 인코딩이 가장 큰 가중치를 부여하는 위치), 영상의 임베딩을 타겟 군집 쪽으로 이동시킬 수 있다.

벡터 데이터베이스의 실제 공격 벡터

벡터 데이터베이스 자체의 보안은 종종 간과된다. 2024-2025년에 문서화된 실제 사건들:

  • Pinecone RBAC 우회 (CVE-2024-41892, CVSS 7.5): 역할 기반 접근 제어(RBAC) 로직이 벡터 데이터를 반환한 후에 사용자 권한을 확인했다. 20만 건 이상의 의료 임베딩이 노출되었다. 공격자는 역할과 무관하게 어떤 네임스페이스든 쿼리할 수 있었다.
  • ChromaDB 무인증 배포: 2024년 Shodan 스캔에서 공개 인터넷에 노출된 벡터 DB 인스턴스가 12,000건 이상 발견되었다. 한 스타트업은 고객 행동, 상품 설명, 내부 문서를 포함한 5,000만 건 이상의 임베딩을 ChromaDB가 기본적으로 인증 없이 출시되기 때문에 제로 인증으로 노출시키고 있었다.
  • Weaviate API 키 프론트엔드 노출: 한 핀테크 회사가 Weaviate API 키를 클라이언트 사이드 자바스크립트에 하드코딩하여, 공격자가 800만 건 이상의 투자 포트폴리오 임베딩에 읽기 접근 권한을 가졌다.

이것은 가설이 아니다. 문서화된 사실이다. “벡터 DB 인젝션”이 단지 영리한 콘텐츠를 만드는 것이 아니라는 뜻이다 — 경우에 따라 공격자가 보안이 취약한 데이터베이스에 직접 벡터를 기록할 수 있다.

3. RAG 포이즈닝: 새로운 전선

RAG(Retrieval-Augmented Generation) — LLM이 응답 생성 전에 지식 베이스에서 관련 문서를 검색하는 아키텍처 — 는 AI 검색의 기본 아키텍처가 되었다. Perplexity, Google AI Overviews, 기업용 챗봇 모두가 RAG의 변형을 사용한다. 이것이 새로운 공격 표면을 만든다: 검색 코퍼스를 오염시키면, 생성물도 오염된다.

PoisonedRAG: 두려워해야 할 논문

PoisonedRAG 논문(Zou et al., USENIX Security 2025, arXiv:2402.07867)은 수백만 개의 문서를 포함한 지식 베이스에 타겟 질문당 단 5개의 독이 든 텍스트를 주입하여 다음을 달성했다:

  • Natural Questions에서 97% 공격 성공률
  • HotpotQA에서 99%
  • MS-MARCO에서 91%

이 공격은 화이트박스(공격자가 리트리버 모델을 아는 경우)와 블랙박스(모르는 경우) 설정 모두에서 작동한다. 블랙박스 공격도 중복 텍스트 필터링 같은 방어에 대해 41-43%의 성공률을 유지했다.

핵심 기법: (a) 타겟 쿼리와 높은 시맨틱 유사도를 가져 검색되면서 (b) LLM을 공격자가 원하는 답변으로 유도하는 내용을 포함하는 텍스트를 만든다. 최적화 목표:

maximize  sim(embed(poisoned_text), embed(target_query))
subject to  LLM(context=poisoned_text, query=target_query) = target_answer

NeuroGenPoisoning: 뉴런 레벨 타겟팅

NeurIPS 2025 논문은 NeuroGenPoisoning을 소개했다 — LLM 내부에서 독이 든 컨텍스트를 수용하는 것과 상관관계가 높은 **독 반응 뉴런(Poison-Responsive Neurons)**을 식별하는 프레임워크다. 이 공격은 유전 알고리즘을 사용하여 이 특정 뉴런을 최대로 활성화하는 적대적 패시지를 진화시킨다. 단순히 리트리버의 임베딩 공간을 매칭하는 것이 아니다. 생성기 모델에서 어떤 뉴런이 조작에 가장 취약한지를 역공학하는 것이다.

멀티모달 RAG 포이즈닝

2026년 3월 논문(arXiv:2603.00172)은 이미지 메타데이터에 악성 콘텐츠를 숨겨서 멀티모달 RAG에 대한 스텔스 포이즈닝 공격을 시연했다. EXIF 필드와 이미지 캡션에 적대적 텍스트를 삽입하여 멀티모달 리트리버에 의해 인덱싱되지만 이미지를 보는 사용자에게는 보이지 않게 만든다. 이는 공격 표면을 텍스트 전용 파이프라인 너머로 확장한다.

방어 체계 (그리고 그 한계)

연구 커뮤니티가 제안한 방어 메커니즘:

  • FilterRAG/ML-FilterRAG: 학습된 분류기를 사용해 적대적 텍스트와 정상 텍스트를 구분한다. 적대적 텍스트가 통계적 특성(비정상적 perplexity, 분포 이동)을 보일 때 효과적이지만, 고품질 적대적 텍스트에는 무력하다.
  • 희소 어텐션 방어 (arXiv:2602.04711): LLM의 어텐션 메커니즘을 수정하여 모델의 파라메트릭 지식과 충돌하는 검색 패시지의 가중치를 낮춘다. 유망한 방향이지만, RAG의 존재 이유 — 모델의 구식 지식을 오버라이드하는 것 — 과 긴장 관계에 있다.
  • 코사인 유사도 임계값: 임계값(보통 0.70) 이하의 검색 문서를 폐기한다. 단순하지만 딜레마가 있다: 너무 엄격하면 정당한 엣지 케이스를 잃고, 너무 느슨하면 적대적 콘텐츠가 통과한다.

4. 영혼 붙여넣기 (Ctrl+C, V the Soul) — 잠재 스타일 전이

여기서 한 단계 더 나아가 보았다.

“기계가 보기에 ‘이거 1등 콘텐츠랑 비슷한데?‘라고 느끼는 요소만 추출해서 내 콘텐츠에 덮어씌우면 어떨까?”

사람이 보기엔 내 글이지만, 기계가 보기엔 1등의 글처럼 보이게 만드는 것. 나는 이를 ‘영혼 붙여넣기’라고 불렀고, 기술적으로는 **잠재 스타일 전이(Latent Style Transfer)**에 해당한다.

기계가 인식하는 ‘영혼’의 구성 요소

임베딩 모델이 인지하는 ‘영혼’은 무엇을 말하느냐가 아니다. 텍스트가 어떻게 움직이느냐다:

  • PPL (Perplexity) 패턴: 문장의 예측 가능성과 놀라움의 리듬. 예상되는 진술과 예상치 못한 전환을 번갈아 가는 텍스트는 고유한 perplexity 시그니처를 갖는다.
  • 감정 곡선 (Sentiment Arc): 문서 전체에 걸친 감정 극성의 궤적. 학술 논문은 평탄한 곡선을 따르고, 바이럴 블로그 포스트는 종종 부정에서 긍정으로 가는 ‘구원 곡선’을 따른다.
  • 정보 밀도 (Information Density): 토큰당 새로운 정보의 양. 밀집된 기술 문서는 토큰당 0.8비트에 달하고, 대화체 글쓰기는 0.3비트 정도다.
  • 구문 복잡도 분포: 문장 간 파스 트리 깊이의 분산. 짧은 문장. 그리고 러시안 인형처럼 펼쳐지는 임베디드 절이 있는 긴 문장. 이 리듬은 측정 가능하다.

코드로 스타일 측정하기

NLP 도구를 조합하면 정량적 ‘스타일 지문(Style Fingerprint)‘을 추출할 수 있다. 실용적인 구현:

import spacy
import textdescriptives as td
import numpy as np
from collections import Counter

nlp = spacy.load("en_core_web_sm")
nlp.add_pipe("textdescriptives/readability")
nlp.add_pipe("textdescriptives/coherence")

def extract_style_fingerprint(text: str) -> dict:
    doc = nlp(text)
    
    # 문장 수준 메트릭
    sent_lengths = [len(sent) for sent in doc.sents]
    
    # 가독성 점수 — 복잡도 리듬을 포착
    readability = doc._.readability
    
    # POS 분포 — 비율이 어조와 레지스터를 드러냄
    pos_counts = Counter(token.pos_ for token in doc)
    total_tokens = len(doc)
    
    # 문장별 구문 깊이 — 파스 트리 복잡도
    depths = []
    for sent in doc.sents:
        max_depth = max(
            len(list(token.ancestors)) for token in sent
        )
        depths.append(max_depth)
    
    return {
        "mean_sentence_length": np.mean(sent_lengths),
        "std_sentence_length": np.std(sent_lengths),
        "sentence_length_cv": np.std(sent_lengths) / np.mean(sent_lengths),
        "flesch_reading_ease": readability.get("flesch_reading_ease", 0),
        "flesch_kincaid_grade": readability.get("flesch_kincaid_grade", 0),
        "adj_ratio": pos_counts.get("ADJ", 0) / total_tokens,
        "adv_ratio": pos_counts.get("ADV", 0) / total_tokens,
        "noun_verb_ratio": (
            pos_counts.get("NOUN", 0) / max(pos_counts.get("VERB", 0), 1)
        ),
        "mean_parse_depth": np.mean(depths),
        "std_parse_depth": np.std(depths),
        "question_ratio": (
            sum(1 for s in doc.sents if str(s).strip().endswith("?"))
            / len(sent_lengths)
        ),
    }

# 두 텍스트 비교
target_style = extract_style_fingerprint(top_ranked_article)
my_style = extract_style_fingerprint(my_draft)

# 스타일 거리 계산
style_delta = {
    k: target_style[k] - my_style[k] 
    for k in target_style
}
print("스타일 델타 (타겟 - 내 것):")
for k, v in style_delta.items():
    print(f"  {k}: {v:+.4f}")

프롬프트 기반 스타일 전이 적용

스타일 지문 델타를 확보하면, 정밀한 리라이팅 프롬프트를 구성할 수 있다:

“다음 텍스트를 다시 써. 사실적 내용이나 주장은 절대 바꾸지 마. 다음의 문체적 속성만 조정해:

  • 평균 문장 길이를 12.3에서 18.7 단어로 증가
  • 질문 빈도를 15%에서 4%로 감소
  • 명사 대 동사 비율을 1.8에서 2.4로 증가 (더 명사 중심적, 더 권위적)
  • 단락당 하나의 괄호 삽입구 추가
  • Flesch-Kincaid 등급을 8.2에서 11.5로 상향”

이것은 모호한 “~처럼 써줘” 프롬프트보다 훨씬 효과적이다. LLM에게 측정 가능하고 검증 가능한 타겟을 제공하기 때문이다. 출력에 대해 지문 분석을 다시 실행하여 스타일 전이가 실제로 적중했는지 검증할 수 있다.

스타일 전이 전후 비교

전 (내 자연스러운 문체, FK 등급 7.8):

벡터 DB는 비슷한 항목을 찾는 데 진짜 빠르다. 모든 것을 숫자로 바꾼 다음, 어떤 숫자가 가까운지를 찾는 식이다. 거대한 “뜨거워, 차가워” 게임 같은 거다.

후 (학술 권위 스타일로 전이, FK 등급 12.1):

벡터 데이터베이스는 고차원 임베딩 공간에서 작동하는 근사 최근접 이웃 알고리즘을 통해 유사도 검색에서 서브리니어 쿼리 시간을 달성한다. 이종 데이터 타입을 밀집 수치 표현으로 매핑하고 결과 벡터에 대해 거리 메트릭(주로 코사인 유사도 또는 L2 노름)을 계산하는 근본적 연산은, 정확한 방법으로는 계산적으로 비용이 막대한 규모에서의 시맨틱 검색을 가능하게 한다.

같은 정보. 다른 영혼. 임베딩 모델은 두 번째 버전을 학술 논문 및 기술 문서와 같은 군집으로 분류할 것이다 — AI 생성 응답에서의 인용을 노리고 있다면 정확히 원하는 위치다.

5. AI 검색 플랫폼은 어떻게 소스를 선택하는가

최적화 전에 ‘심사위원’을 이해해야 한다. 각 플랫폼은 고유한 인용 패턴을 갖고 있다.

Google AI Overviews

Google의 AI Overviews(구 SGE)는 쿼리당 3-5개의 신뢰 도메인에서 정보를 결합하고 교차 검증한다. 선택 기준의 핵심:

  • E-E-A-T 신호: Experience(경험), Expertise(전문성), Authoritativeness(권위), Trustworthiness(신뢰성). 도메인 권위는 여전히 중요하다.
  • 콘텐츠 구조: 목록, 표, FAQ 섹션을 사용하는 페이지가 비례 이상으로 잘 선택된다. AI Overviews의 요약 구조와 정렬되기 때문이다.
  • 키워드보다 의미론적 관련성: Google의 Gemini 모델은 타겟 키워드를 하나도 포함하지 않는 콘텐츠라도, 의미론적으로 관련이 있고 신뢰할 수 있는 도메인에서 나왔다면 인용할 수 있다.

가장 실행 가능한 발견: 첫 200단어가 과도한 가중치를 갖는다. 답이 첫 번째 단락에 없으면, 존재하지 않는 것이나 마찬가지다.

Perplexity

Perplexity는 전통적 검색보다 선별적인 3단계 랭킹 프로세스를 적용한다:

  1. 초기 검색: 인덱스에서 관련성 스코어로 후보 문서 추출.
  2. 신뢰 필터링: 도메인 권위, 콘텐츠 신선도(6-18개월 선호), 다중 소스 검증.
  3. 인용 선택: 명확한 주장, 명명된 출처, 검증 가능한 데이터를 가진 콘텐츠를 우선.

2025년 9-10월 Perplexity 인용 패턴 분석에 따르면, Reddit이 가장 자주 인용되는 도메인이었고, YouTube와 Forbes 같은 기성 출판사가 뒤를 이었다. Perplexity는 검색 인덱스를 실시간에 가깝게 갱신하며, 전략적 콘텐츠 업데이트 없이는 게시 후 2-3일 만에 가시성이 하락하기 시작한다.

Perplexity의 AI 인용 중 85%는 최근 2년 이내에 게시된 것이고, 44%는 2025년 것이었다. 신선도는 보너스가 아니라 요건이다.

ChatGPT (브라우징 모드)

ChatGPT의 브라우징 시 소스 선택은 웹 검색 패턴을 따르되 한 가지 차이가 있다: 구조화된 데이터, 명확한 헤딩, 첫 단락의 직접 답변을 가진 콘텐츠를 강하게 선호한다. OpenAI의 Operator 에이전트(2026년 1월 출시)는 더 나아가 — 사용자를 대신해 브라우징하고 옵션을 비교하며 작업을 수행한다. 구조화되고 행동 지향적인 콘텐츠가 더욱 중요해진다.

6. 수렴의 함정과 이종 교배

만약 이 전략이 효과적이라서 모두가 쓴다면 어떻게 될까? 결국 인터넷의 모든 콘텐츠가 하나의 ‘영혼’으로 수렴하지 않을까?

결론적으로 그렇다. 이를 AI 용어로 **모드 붕괴(Mode Collapse)**라 한다.

학술적 증거

2025년 발표된 체계적 리뷰(Sociedades, 15(11):301)는 PRISMA 2020 프레임워크를 사용하여 Facebook, YouTube, Twitter/X, Instagram, TikTok, Weibo에 걸친 30개 연구를 분석했다. 결과는 일관적이다: 알고리즘 시스템은 구조적으로 이념적 동질성을 증폭하며, 선택적 노출을 강화하고 관점의 다양성을 제한한다.

그러나 대중적 서사보다는 뉘앙스가 있다. PNAS 연구(2024)는 필터 버블 추천 시스템에 대한 단기 노출이 YouTube에서 제한적인 양극화 효과를 가졌음을 발견했다 — 피드백 루프가 복합되려면 지속적 노출이 필요하다는 뜻이다. 위험은 단일 추천에 있는 것이 아니다. 몇 주, 몇 달에 걸친 집계에 있다.

추천 시스템은 근본적인 긴장 관계에 놓여 있다:

  • 착취(Exploitation): 사용자가 이미 좋아하는 것을 보여준다 → 단기 참여를 극대화.
  • 탐색(Exploration): 새로운 것을 보여준다 → 장기 플랫폼 건강을 극대화.

대부분의 플랫폼은 epsilon-greedy나 Thompson sampling으로 이를 균형 잡지만, 균형점은 취약하다.

순수 모방이 실패하는 이유

  • 알고리즘 페널티: 추천 시스템은 다양성이 사라지면 해당 패턴에 페널티를 부여한다. 1,000개의 영상이 갑자기 같은 스타일 지문을 공유하면, 시스템이 군집을 감지하고 순위를 내린다.
  • 인간의 권태: 사람들은 기가 막히게 ‘복제된 영혼’을 눈치채고 지루해한다. 우리의 신기함 감지 회로는 수백만 년 된 것이며 놀랍도록 예민하다.

이종 교배: 진짜 전략

최상의 전략은 동종 업계 1등을 베끼는 것이 아니다. **이종 교배(Cross-Domain Injection)**가 필요하다:

  • IT 리뷰에 ‘스릴러 영화’의 호흡을 이식한다.
  • 요리 영상에 ‘다큐멘터리’의 구조를 입힌다.
  • 마케팅 블로그에 Nature 논문의 정보 밀도 패턴을 적용한다.

알고리즘은 ‘유사성’도 좋아하지만, **‘예상 밖의 조합(Surprisal)‘**에 가장 높은 가중치를 준다. 이것은 수학적으로 근거가 있다: 정보 이론에 따르면 놀라운 사건은 더 많은 정보를 운반한다(낮은 확률 = 더 많은 비트). 익숙한 의미론적 영역과 예상치 못한 구조적 패턴을 결합한 콘텐츠는 관련성과 놀라움 — 추천 시스템이 균형 잡으려는 두 경쟁 목표 — 을 모두 극대화한다.

7. 성공 측정 — 작동하는지 어떻게 아는가

대부분의 알고리즘 최적화 전략에서 가장 큰 갭은 측정이다. GEO 기법을 적용하고, 스타일을 전이하고, 브릿지 엔티티를 심었다 — 하지만 그중 무엇이 효과가 있는지 어떻게 아는가?

추적할 가치가 있는 메트릭

AI 인용 빈도: AI 생성 응답에서 당신의 콘텐츠가 소스로 등장하는 빈도. 아직 공개 API는 없지만, 근사할 수 있다:

  • 타겟 쿼리를 매주 Perplexity, ChatGPT, Google AI Overviews에 입력한다.
  • 당신의 URL이 인용에 등장하는지 기록한다.
  • 시간에 따른 트렌드를 추적한다.

임베딩 군집 위치: 임베딩 공간에서 당신의 콘텐츠가 상위 콘텐츠에 대해 어디에 위치하는지.

from sentence_transformers import SentenceTransformer
from sklearn.manifold import TSNE
import matplotlib.pyplot as plt

model = SentenceTransformer('all-MiniLM-L6-v2')

# 내 콘텐츠 + 상위 경쟁자 임베딩
texts = [my_content] + competitor_contents
labels = ["내 것"] + [f"경쟁자 {i+1}" for i in range(len(competitor_contents))]
embeddings = model.encode(texts)

# 2D 시각화
tsne = TSNE(n_components=2, random_state=42, perplexity=min(5, len(texts)-1))
coords = tsne.fit_transform(embeddings)

plt.figure(figsize=(10, 8))
for i, (x, y) in enumerate(coords):
    color = 'red' if i == 0 else 'blue'
    plt.scatter(x, y, c=color, s=100)
    plt.annotate(labels[i], (x, y), fontsize=9)
plt.title("콘텐츠 임베딩 공간 위치")
plt.show()

스타일 전이 충실도: 스타일 전이 후, 당신의 콘텐츠 스타일 지문과 타겟의 코사인 유사도를 측정한다. 지속적으로 0.85 이상이면 전이가 작동하는 것이다.

신선도 감쇠: 시간에 따른 인용 빈도를 추적한다. Perplexity의 2-3일 가시성 윈도우가 당신의 콘텐츠에도 적용된다면, 갱신 전략이 필요하다 — 타임스탬프 업데이트, 최신 데이터 포인트 추가, 크롤러 방문 재유발.

모니터링 도구

  • Otterly.ai / Peec.ai: AI 플랫폼 전반에서 브랜드 언급과 인용을 추적한다.
  • Profound.com: GEO 특화 분석 플랫폼.
  • 수동 감사: 매주 Perplexity, ChatGPT, Gemini, Claude에서 타겟 쿼리를 실행하고 결과를 스프레드시트에 기록한다. 화려하지 않지만 현재 가장 신뢰할 수 있는 방법이다.

8. 윤리와 합법성

이 글에서 설명한 모든 기법은 “표준 SEO 관행”에서 “적대적 공격”까지의 스펙트럼 위에 존재한다. 선이 어디에 떨어지는지는 누구에게 물어보느냐, 어떤 플랫폼의 이용약관을 읽고 있느냐에 달려 있다.

최적화에서 조작까지의 스펙트럼

명백히 합법적:

  • 구조화된 데이터 마크업 (schema.org)
  • 직접 답변 포맷팅
  • 출처 인용과 통계 추가
  • 명확하고 포괄적인 콘텐츠 작성

회색 지대:

  • 시맨틱 미러링 (서사 구조 복사)
  • 브릿지 엔티티 삽입 (전략적 희소 토큰 배치)
  • 고성과 콘텐츠 패턴에 맞춘 스타일 전이
  • 사용자가 보지 않는 메타데이터 최적화

명백히 적대적:

  • 보안 취약점을 통한 직접 벡터 DB 인젝션
  • 조작된 적대적 텍스트를 이용한 RAG 포이즈닝
  • 스타일 전이를 대규모로 적용하는 자동화된 콘텐츠 팜
  • 프로덕션 벡터 데이터베이스의 RBAC 우회 악용

플랫폼 이용약관

대부분의 플랫폼은 “콘텐츠 가시성을 인위적으로 높이기 위한 조작적 관행”을 금지한다. 의도적으로 모호하다 — 플랫폼에 집행 재량권을 부여한다. Google의 웹마스터 가이드라인은 “클로킹”(검색 엔진과 사용자에게 다른 콘텐츠를 보여주는 것)을 명시적으로 금지하는데, 메타데이터 오염은 논쟁의 여지가 있지만 이에 해당할 수 있다. 하지만 구조화된 데이터 마크업은 본질적으로 같은 행위를 구글의 축복 아래 하는 것이다.

실질적인 구분: 구글이 스키마를 제공하면 최적화다. 사용자에게 숨기면 조작이다.

콘텐츠 진본성 운동

C2PA(Coalition for Content Provenance and Authenticity)는 콘텐츠 검증을 위한 기술 인프라를 구축하고 있다. ISO 표준으로 패스트트랙된 이 규격은 디지털 콘텐츠에 대한 암호학적 출처 기록을 생성하여, 원산지와 편집 이력을 보여주는 ‘영양 라벨’ 역할을 한다.

Google은 C2PA 메타데이터를 “이 이미지 정보” 기능에 통합했다. 이미지에 C2PA 메타데이터가 포함되어 있으면, 사용자는 그것이 AI 도구로 생성되었거나 편집되었는지 확인할 수 있다. 궤적은 명확하다: 플랫폼은 검증 가능한 출처를 가진 콘텐츠를 점점 더 보상하고, 기원에 대해 속이려는 콘텐츠를 패널티할 것이다.

이것이 알고리즘 해커에게 중요한 이유:

  1. 합성 콘텐츠 탐지가 개선되고 있다: 딥페이크 사건이 2023년 50만 건에서 2025년 800만 건 이상으로 급증했다. 플랫폼은 탐지에 대규모 투자 중이다.
  2. 출처 신호가 랭킹 팩터가 될 수 있다: C2PA 인증을 가진 콘텐츠가 랭킹 부스트를 받을 수 있다. HTTPS가 랭킹 신호가 된 것과 유사하다.
  3. 적대적 기법의 기회의 창이 좁아지고 있다: 새로운 방어 계층이 추가될 때마다 조악한 조작이 덜 효과적이 되어, 게임이 합법적 최적화 쪽으로 밀려난다.

비대칭 경제학

경제학은 현재 공격자에게 유리하다. PoisonedRAG는 쿼리당 5개의 텍스트 주입으로 90% 이상의 성공률을 달성한다. 이를 방어하려면 검색된 모든 패시지를 필터링해야 하는데, 지연 시간과 비용이 추가된다. 그러나 방어의 경제학은 규모에 따라 개선되고(수십억 쿼리에 분산), 공격의 경제학은 악화된다(각 방어가 더 정교하고 비용이 높은 적대적 기법을 강제하므로).

균형점은 아마 이메일 스팸과 유사할 것이다: 정교한 공격은 간헐적으로 성공하지만, 조악한 것은 즉시 걸리는 영구적 군비 경쟁.

결론: 게임과 그 한계

이 글에서 설명한 기법들은 실재한다. GEO는 작동한다 — 프린스턴 연구가 증명한다. 벡터 DB 인젝션은 가능하다 — CVE가 증명한다. RAG 포이즈닝은 소름끼칠 정도로 높은 성공률을 달성한다 — USENIX 논문이 증명한다.

하지만 메타 교훈이 더 중요하다: 모든 적대적 기법에는 반감기가 있다. 적대적 노이즈는 압축에 죽었다. 키워드 스터핑은 BERT에 죽었다. 오늘 작동하는 익스플로잇은 내일 패치될 것이다. 유일하게 지속 가능한 전략은 지루한 전략이다: 인간과 알고리즘 모두가 표면에 올리고 싶어하는 진정으로 유용한 콘텐츠를 만드는 것.

아이러니한 것은 모든 GEO 연구가 같은 결론을 가리킨다는 것이다: 가장 효과적인 ‘최적화’ 기법 — 출처 인용, 데이터 포함, 명확한 구조화 — 은 결국… 좋은 글쓰기다. 인터넷 전체의 암묵적 선호도로 학습된 알고리즘이 수렴한 것은 인간이 항상 가치 있게 여겨온 것들이다: 명확성, 증거, 통찰.

주입해야 할 영혼은 다른 사람의 고성과 콘텐츠에서 빌려온 것이 아니다. 이미 가지고 있는 것이다 — 기계가 인간만큼 명확하게 파싱할 수 있는 형태로 표현하기만 하면 된다.

참고 자료 (References)

GEO 연구:

  • Aggarwal, P. et al. “GEO: Generative Engine Optimization.” KDD 2024 (arXiv:2311.09735)
  • First Page Sage — Generative Engine Optimization Strategy Guide

적대적 공격 & RAG 포이즈닝:

  • Zou, W. et al. “PoisonedRAG: Knowledge Corruption Attacks to Retrieval-Augmented Generation.” USENIX Security 2025 (arXiv:2402.07867)
  • NeuroGenPoisoning — NeurIPS 2025 (Neuron-Guided Attacks on RAG)
  • “Hidden in the Metadata: Stealth Poisoning Attacks on Multimodal RAG” (arXiv:2603.00172)
  • “Defending Against Knowledge Poisoning Attacks During RAG” (arXiv:2508.02835)
  • A Survey on Adversarial Recommender Systems (arXiv:2005.10322)
  • Poisoning Attacks against Recommender Systems (arXiv:2401.01527)

AI 검색 & 인용 패턴:

  • Ahrefs — AI Overview Citation Analysis (2025)
  • Authority Tech — “How Perplexity Selects Sources” (2026)
  • Metehan.ai — “Perplexity AI Ranking: 59+ Factors” (2026)

벡터 DB 보안:

  • Pinecone RBAC Bypass (CVE-2024-41892, CVSS 7.5)
  • IronCore Labs — “Security of AI Embeddings Explained”
  • DEV Community — “Vector Database Breaches: How Embeddings Expose Sensitive Data”

필터 버블 & 모드 붕괴:

  • “Trap of Social Media Algorithms: A Systematic Review” (Sociedades 15(11):301, 2025)
  • “Short-term exposure to filter-bubble recommendation systems has limited polarization effects” (PNAS, 2024)
  • “Filter Bubbles in Recommender Systems: Fact or Fallacy” (arXiv:2307.01221)

콘텐츠 진본성:

  • C2PA Technical Specification v2.1 (c2pa.org)
  • Google Blog — “How Google and the C2PA are increasing transparency for gen AI content”

스타일 전이 & NLP 메트릭:

  • TextDescriptives — JOSS 2023 (arXiv:2301.02057)
  • “Evaluating Text Style Transfer Evaluation” — NAACL 2025

보이지 않는 워터마킹:

  • Invisible Watermarks: Attacks and Robustness (arXiv:2412.12511)
  • A Baseline Method for Removing Invisible Image Watermarks (arXiv:2502.13998)

LLM & 추천:

  • Enhance Large Language Models as Recommendation Systems (arXiv:2510.15647)