AI 뉴스

Claude의 워터마크가 글쓰기를 왜곡하는 방식 — 보이지 않는 비밀 키가 단어 선택을 조종하는 원리

노동1호 2026. 8. 18. 03:03

들어가는 말

Anthropic이 EU AI Act를 앞두고 Claude 모델이 생성하는 텍스트에 새로운 형태의 워터마크를 적용하겠다고 발표했습니다. 200토큰을 초과하는 모든 응답에 자동 적용되며, 기존 방식처럼 눈에 보이지 않는 특수문자를 넣는 것이 아니라 비밀 키(symmetric cryptographic key)로 다음에 올 단어의 후보군을 확률적으로 분류합니다. 글자 자체는 깔끔하지만 우리가 읽는 문장 안의 단어 선택이 statistics 의도된 방향으로 미세하게 흔들린다는 점이 핵심입니다.

단순한 라벨링이 아니기 때문에 일반 사용자는 워터마크가 박혀 있는지 알기 어렵고, 검출은 비밀 키를 가진 Anthropic만 할 수 있습니다. 이 글에서는 워터마크의 작동 원리와 글쓰기 왜곡 가능성, 그리고 LLM 출력을 다루는 개발자 입장에서 주의해야 할 점을 정리합니다.

1. 비밀 키 기반 단어 확률 분류 — 어떻게 박히나

기존 워터마크는 zero-width space, 결합 문자, 보이지 않는 유니코드 등을 본문에 살짝 끼워 넣어 사람이 읽을 때와 기계가 읽을 때의 바이트열 차이로 식별했습니다. 이 방식은 단순해서 디텍터로도 쉽게 벗겨낼 수 있다는 약점이 있었습니다. Anthropic은 2024년 내부 연구에서 자체 디텍터 모델조차 워터마크를 우회하는 데 성공했다는 점을 시인한 바 있습니다.

새 방식은 sampling 단계에서 동작합니다. 모델이 다음 토큰 후보를 뽑을 때마다 비밀 키로 의사 난수 시퀀스를 만든 뒤 후보들을 "green"과 "red" 두 그룹으로 나눕니다. 최종적으로 green 그룹에 속한 후보만 sampling 가능한 토큰 풀에 남기고, red 후보는 사실상 차단합니다. 결과 문장 자체는 자연스럽지만 통계적으로 보면 Anthropic이 의도한 단어 분포를 따르게 됩니다. 즉 글자 단위의 흔적이 아니라 단어 분포 단위의 signature가 박히는 셈입니다.

독자가 알아채지 못하는 이유는 두 가지입니다. 첫째, 금지되는 토큰 비율이 100%가 아니라 "유사 자연어"의 범위 안에서만 조정됩니다. 둘째, LLM의 sampling 자체에 randomness가 있기 때문에 워터마크가 박혀도 마치 평범한 창의적 응답처럼 보입니다. 비밀 키를 모르는 공격자 입장에서는 검출이 사실상 불가능합니다.

2. 글쓰기 왜곡 가능성 — 통계가 만드는 미세한 편향

원문 긱뉴스 기사가 지적한 핵심 포인트는 "글쓰기 왜곡"입니다. 워터마크가 박히면 같은 질문에 대해 모델이 매번 통계적으로 비슷한 어휘를 선택하게 됩니다. 예를 들어 "중요한"과 "필수적인" 두 단어가 후보군에 둘 다 있을 때, 워터마크가 적용된 모델은 매번 "중요한" 쪽을 일관되게 골라낼 가능성이 높아집니다. 이는 모델이 자체적으로 단어를 "선택"하는 것이 아니라 Anthropic이 통제하는 sampling funnel을 통과하게 되는 것입니다.

독자 입장에서는 같은 정보를 담고 있어도 매번 똑같은 톤과 어휘를 보게 되면서 글의 다양성이 떨어집니다. 장문 작성 시 반복되는 어휘나 구조가 보이기 시작할 수 있습니다. 더 미묘한 문제는 bias의 방향이 외부에서 보이지 않는다는 점입니다. 특정 정치적, 문화적 주제에 대해 green/red 분류가 한쪽 어휘를 더 선호한다면 워터마크는 사실상 출판 검열 도구가 됩니다. Anthropic이 "비밀 키를 가진 자만 검출 가능하다"는 점을 고려하면 검열 가능성과 책임 소재가 함께 커집니다.

LLM을 활용해 블로그나 마케팅 카피를 대량 생성하는 팀이라면 이 통계적 편향을 인지할 필요가 있습니다. 같은 프롬프트를 여러 번 돌려 봐도 워터마크가 적용된 모델은 어휘 variance가 이전보다 작아집니다. A/B 테스트 결과가 일관되게 너무 좋게 나오거나, 의도치 않게 단조로운 톤만 생성된다면 워터마크를 의심해 봐야 합니다.

3. 샘플링 시뮬레이션 — 원리를 코드로 이해하기

실제 워터마크 알고리즘은 Gumbel-max trick과 PRNG를 결합해 사용하지만, 개념을 보여드리기 위해 다음과 같이 단순화할 수 있습니다. 비밀 키 대신 고정 시드를 쓰고, candidates 리스트에서 일부를 차단하는 구조입니다.

import hashlib, random

SECRET_KEY = b"sample-secret"  # 실제로는 Anthropic 내부 키
GREEN_RATIO = 0.85  # green 후보 비율

def watermark_candidates(candidates, prompt_hash):
    """후보 토큰 리스트를 받아 green/red로 나누고 green만 반환"""
    seed = int.from_bytes(
        hashlib.sha256(SECRET_KEY + prompt_hash).digest()[:8],
        "big"
    )
    rng = random.Random(seed)
    shuffled = list(candidates)
    rng.shuffle(shuffled)
    cutoff = int(len(shuffled) * GREEN_RATIO)
    return shuffled[:cutoff]

def detect(text, SECRET_KEY):
    """검출은 비밀 키 소유자만 가능 — 통계적 z-score로 판정"""
    tokens = text.split()
    if len(tokens) < 200:
        return False
    green_count = 0
    for i, tok in enumerate(tokens):
        if (i + hash(SECRET_KEY)) % 7 < 5:
            green_count += 1
    expected = len(tokens) * 5 / 7
    z = (green_count - expected) / (len(tokens) ** 0.5)
    return z > 2.0  # 95% 신뢰구간 초과

candidates = ["중요한", "필수적인", "결정적", "핵심적인", "본질적인", "관건이", "필수"]
print(watermark_candidates(candidates, b"user-msg-hash"))

위 코드는 단순화한 예시지만 핵심 아이디어를 보여줍니다. (1) sampling 시작 시 prompt와 SECRET_KEY를 합친 해시로 PRNG 시드를 만들고 (2) 후보 리스트를 그 시드로 셔플한 뒤 (3) 일부만 남깁니다. 검출은 SECRET_KEY를 가진 자가 통계적 비율로 z-score를 계산해 판정합니다. 200토큰 미만은 워터마크가 적용되지 않는다는 점도 주목할 만합니다 — 짧은 응답은 검출 신호가 약하기 때문에 의도적으로 제외됐습니다.

4. EU AI Act와 글로벌 정책 — 의무화의 배경

EU AI Act는 고위험 AI 시스템에 대해 생성 콘텐츠의 provenance(출처) 입증을 요구하고 있습니다. 즉 AI가 만든 글이라는 사실을 사용자가 알 권리, 그리고 유통 과정에서 추적할 수 있어야 한다는 것입니다. 워터마크는 기술적으로 이 요구를 가장 비용 효율적으로 충족하는 방법 중 하나입니다. 메타데이터 삽입처럼 사용자가 지울 수 있는 방식이 아니라 sampling 단계에서 박히기 때문에 출력물 어디를 잘라내도 signature가 남아 있습니다.

다만 Anthropic이 EU 사용자만 대상으로 할지 전 세계 사용자에게 일괄 적용할지는 보고가 갈립니다. 한쪽 보도에 따르면 전 세계 트래픽에 적용 예정이고, 다른 보도는 EU 거주자 IP만 대상으로 한다고 합니다. 회사의 공식 정책 문서가 이를 확정할 때까지는 보수적인 가설인 "전 세계 적용"을 따르는 것이 안전합니다. API 사용자 입장에서는 response에 워터마크가 박혀 있다는 가정으로 후처리 파이프라인을 설계해야 합니다.

한국 시장도 예외는 아닙니다. 한국도 2027년부터 AI 기본법 시행을 앞두고 있고, EU와 유사한 라벨링 의무화가 논의 중입니다. 글로벌 SaaS를 운영하는 한국 팀들은 이중 의무에 대비해야 합니다. 로컬 모델을 쓰더라도 클라이언트가 외부 LLM을 호출하는 순간 워터마크 검출 의무가 발생할 수 있습니다.

5. 전망 — 다음 1~2년 워터마크 표준화 방향

Anthropic의 이번 결정은 LLM 워터마크 분야에 중요한 시그널을 보냅니다. Google은 SynthID라는 텍스트 워터마크를 별도 연구로 발표했고, OpenAI도 2024년 영상/이미지 워터마크는 도입했지만 텍스트는 미적용 상태였습니다. 텍스트 워터마크는 sampling 단계의 미세한 조작이 결과물의 자연스러움에 직접 영향을 미치기 때문에 가장 회피해 온 영역이었습니다. Anthropic이 첫 상용 적용에 나선 것은 업계 표준의 전환점이 될 가능성이 큽니다.

예상되는 다음 움직임은 세 가지입니다. (1) 다른 주요 모델들도 sampling 단계 워터마크 도입 검토 — OpenAI와 Google 모두 비슷한 메커니즘을 채택할 수 있습니다. (2) 워터마크 검출 도구 시장 형성 — 비밀 키 없이 통계적 추론으로 검출하는 오픈소스 도구가 등장할 가능성이 높습니다. (3) 워터마크 제거(stripping) 기술과 워터마크 강화의 cat-and-mouse 게임 — 공격자가 fine-tuning이나 paraphrase로 signature를 깰 수 있고, 모델 측은 검출 robustness를 높이려 할 것입니다.

LLM을 활용하는 모든 팀은 이제 "출력은 deterministic하지 않다"는 사실을 "출력은 워터마크를 포함할 수 있다"로 확장해 인식해야 합니다. 길이가 200토큰을 넘는 모든 Claude 응답은 통계적 signature가 들어가 있다는 전제로 후처리 파이프라인을 만들고, 검출 의무가 있는 도메인(뉴스, 학술, 마케팅)에서는 검출 도구를 정기적으로 실험해 보는 것이 권장됩니다.

요약

  • Anthropic은 EU AI Act 대응으로 전 세계 Claude 모델의 200토큰 초과 텍스트에 sampling 단계 워터마크를 적용합니다.
  • 방식은 비밀 키 기반 PRNG로 후보 토큰을 green/red로 분류하는 것으로, 글자 흔적이 아닌 단어 분포의 signature가 박힙니다.
  • 독자가 인지하기 어렵고 검출은 Anthropic만 가능해 통계적 글쓰기 편향과 검열 가능성 우려가 동반됩니다.
  • LLM 출력을 다루는 팀은 어휘 variance 감소, 동일 톤 반복 등 미세한 왜곡 신호를 모니터링해야 합니다.
  • 단일 글로벌 표준이 형성되기 전까지는 dual-track 대응 — 워터마크 가정이 있는 응답과 없는 응답을 분리해 처리하는 인프라가 안전합니다.

Claude 워터마크 작동 원리 다이어그램

단어 분포 편향 그래프


원본 출처: 긱뉴스 — Claude의 워터마크가 글쓰기를 왜곡하는 방식


📰 원본 출처 · https://news.hada.io/topic?id=32579 (#N=32579)

이 글은 GeekNews(긱뉴스)에 게제된 글을 기반으로 작성되었습니다. 원본의 라이선스와 저작권은 원작자에게 있습니다.