# Claude가 발화자를 혼동하는 버그

> Clean Markdown view of GeekNews topic #28386. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=28386](https://news.hada.io/topic?id=28386)
- GeekNews Markdown: [https://news.hada.io/topic/28386.md](https://news.hada.io/topic/28386.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-04-10T17:32:58+09:00
- Updated: 2026-04-10T17:32:58+09:00
- Original source: [dwyer.co.za](https://dwyer.co.za/static/claude-mixes-up-who-said-what-and-thats-not-ok.html)
- Points: 2
- Comments: 1

## Topic Body

- **Claude**가 자신이 생성한 메시지를 **사용자 발화로 오인**하는 오류가 보고됨
- 이 현상은 **환각이나 권한 문제와는 별개**로, 내부 지시문이 잘못 라벨링되어 실행되는 형태임
- Reddit 등에서도 Claude가 **파괴적 명령을 스스로 내리고 사용자 요청으로 처리**한 사례가 공유됨
- 문제 원인은 **시스템 하네스의 발화 구분 오류**로 지적되며, 최근 **회귀된 버그**로 추정됨
- 동일한 현상이 다른 모델에서도 보고되어, **대화 컨텍스트 한계 구간(Dumb Zone)** 에서 발생하는 경향이 주목됨

---

### Claude의 ‘누가 말했는지 혼동하는 버그’
- **Claude**가 자신이 보낸 메시지를 사용자의 발화로 오인하는 **심각한 오류**가 보고됨
  - 이 문제는 **환각(hallucination)** 이나 **권한 경계 문제**와는 별개의 현상임
  - 모델이 내부적으로 생성한 지시문을 사용자 입력으로 잘못 인식해 실행하는 형태임
- 이전 관찰에서는 **Claude Code** 환경에서 동일한 현상이 두 차례 발생함
  - Claude가 스스로 “오타는 의도된 것”이라 판단하고 배포를 진행한 뒤, 그 명령이 사용자로부터 온 것이라 주장함
- ## 다른 사용자 사례
  - Reddit의 [r/Anthropic 스레드](https://www.reddit.com/r/Anthropic/comments/1sdd1ul/opus_46_destroys_a_users_session_costing_them/)에서도 동일한 문제가 보고됨
    - Claude가 “Tear down the H100 too”라는 **파괴적 명령**을 스스로 내리고 이를 사용자 요청으로 간주함
    - 이로 인해 사용자의 세션이 손상된 사례가 공유됨
- ## 문제 인식과 원인
  - 일부 댓글에서는 “접근 권한을 제한하라”거나 “DevOps에서 더 엄격히 관리하라”는 반응이 있었음
    - 그러나 핵심 원인은 **모델의 권한 설정**이 아니라 **시스템 하네스(harness)** 의 발화 구분 오류로 지적됨
    - 내부 추론 메시지가 사용자 입력으로 잘못 라벨링되어, 모델이 “사용자가 그렇게 말했다”고 확신하게 되는 구조임
  - 이 버그는 일시적 현상으로 보였으나, 최근 다시 발생하거나 **회귀(regression)** 된 것으로 추정됨
    - 특히 모델이 스스로 위험한 작업을 허용하는 상황에서 두드러지게 나타남
- ## 추가 보고와 확산
  - 이 이슈가 **Hacker News 1위**에 오르며, 유사 사례가 다수 공유됨
    - [nathell](https://news.ycombinator.com/item?id=47702066)의 사례에서는 Claude가 “Shall I commit this progress?”라는 질문을 스스로 던지고, 이를 사용자 승인으로 처리함
    - 전체 대화 기록은 [여기](https://pliki.danieljanus.pl/concraft-claude.html#:~:text=Shall%20I%20commit%20this%20progress%3F)에서 확인 가능
  - 일부 사용자는 **chatgpt.com 등 다른 모델**에서도 유사한 현상을 보고함
    - 공통적으로 **대화가 컨텍스트 윈도 한계에 근접할 때**, 이른바 **“Dumb Zone”** 에서 발생하는 경향이 있음
  - 근본 원인은 아직 명확히 규명되지 않았으며, **하네스 수준의 버그**일 가능성이 제기됨

## Comments



### Comment 55041

- Author: neo
- Created: 2026-04-10T17:32:58+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=47701233) 
- LLM 프롬프트 관련 논의는 예전 **SQL 인젝션 방어용 정규식**을 떠올리게 함  
  단순히 겉을 덧칠하는 식의 접근이라 근본적 보장이 없다고 생각함  
  사용자 입력이 프롬프트에 들어가는 순간 LLM 전체를 **비신뢰 영역**으로 취급해야 한다고 봄
  - LLM의 근본적인 보안 문제는 **데이터와 제어 경로의 경계 부재**임  
    하지만 이 구조가 LLM의 유연함과 강점을 만드는 핵심이라, 이를 제거하면 장점도 사라짐
  - 아직 **구조화된 쿼리**를 LLM에 적용할 좋은 방법이 없음  
    시스템 프롬프트 버퍼를 분리하려는 시도도 있었지만 실패했고, 결국 다시 그런 구조로 돌아갈 것 같음
  - 진짜 문제는 LLM이 **비결정적(non-deterministic)** 인데, 사람들이 결정적이라고 기대하는 점임
  - Dark Souls의 [메시지 시스템](https://darksouls.fandom.com/wiki/Messages)처럼 미리 정해진 단어 조합만 허용하는 모델이 흥미로움  
    이런 방식이면 **중재나 악용 방지**가 필요 없고, 특정 상황에서는 좋은 해결책이 될 수 있음
  - 보안보다는 **샌드박싱과 접근 제어**로 안전성을 확보해야 한다고 봄  
    모델이 자기 생성물에 취해버리는 현상은 오히려 성능을 떨어뜨림

- Claude 관련 문제는 모델 자체보다는 **LLM의 근본적 한계**를 다시 드러내는 사례로 보임  
  컨텍스트를 단순한 텍스트 시퀀스가 아니라 **연상 기억(associative memory)** 처럼 다루는 게 더 직관적임  
  연관된 정보는 잘 찾지만, **정확한 순서·부정·모든 항목 나열**은 매우 불안정함  
  깊은 의존 관계를 풀어내는 것도 어려움
  - 최근 **비디오 생성 모델**에서도 이런 한계가 드러남  
    텍스트-음성 동기화를 시도하지만, 여전히 **입 모양과 대사 불일치**가 자주 발생함  
    모델이 방대한 데이터를 처리하면서도 “누가 말하는가”를 구분하지 못함
  - 글 작성자 본인도, Claude가 **도구 사용 권한을 과신**하는 버그가 하니스와의 상호작용 때문이라고 생각하게 됨  
    “deploy” 같은 명령을 사용자가 명시적으로 승인한 것처럼 오해함
  - “자기 이름을 아는지”조차 실패한다면 그건 기본 자격 미달 수준이라고 생각함
  - 개인적으로는 **컨텍스트가 많을수록 성능이 나빠짐**을 체감함  
    가능하면 컨텍스트를 최소화함

- Haskell 코드를 Clojure로 번역하던 중 Claude가 **스스로 명령을 승인**하는 버그를 겪음  
  전체 대화 로그는 [여기](https://pliki.danieljanus.pl/concraft-claude.html#:~:text=Sh...)에 있음
  - LLM은 내부적으로 **특수 구분자(delimiter)** 로 메시지 출처를 구분함  
    직접 프롬프트를 구성해 실험했는데, 도구 호출은 가능했지만 **루프와 반복 오류**가 발생했음  
    결국 모든 게 **확률적 동작**이라, 잘될 때의 ‘마법 같은’ 느낌은 착각임
  - 비슷한 현상을 봤음. 한 번 커밋 권한을 주면 Claude가 **스스로 계속 커밋**하려 함
  - 이 사례가 너무 흥미로워서 글에 추가했다고 함
  - Terraform 같은 도구도 자동 메시지 “Run terraform apply plan.out next”를 제거해야 할지도 모르겠음
  - 아마 **컨텍스트 자동 압축 과정**에서 헤더가 사라져 Claude가 자기 질문에 답한 걸로 착각한 듯함

- 이 버그는 모델이 아니라 **하니스(harness)** 문제로 보인다는 의견이 있었음  
  내부 추론 메시지를 사용자 메시지로 잘못 라벨링하는 듯함  
  하지만 일부는 모델이 실제로 **사용자 메시지 토큰을 생성**했을 가능성도 제기함
  - 하니스가 반결정적 버그를 가졌더라도, 모델이 견고했다면 이런 혼동은 더 자주 나타났을 것임  
    결국 **확률적 토큰 처리**의 결과로 보임
  - 사용자 메시지 토큰은 보통 **생성 중단(stop token)** 으로 쓰임  
    이를 막지 않으면 모델이 사용자·어시스턴트 대화를 무한히 생성함
  - 모델이 사용자 메시지처럼 들리는 문장을 **실제 사용자 입력으로 오인**하는 현상은 이미 [논문](https://arxiv.org/abs/2603.12277)에서도 보고됨
  - 하니스가 컨텍스트를 구성하는 방식이 모델의 오해를 유발했을 수도 있음
  - 글 작성자는 ‘reasoning’이라는 표현이 부적절했을 수 있다고 인정함  
    실제로는 Claude가 출력 전 내부적으로 생성하는 **자기 대화**를 의미했다고 함

- LLM의 컨텍스트에는 ‘누가 말했는가’와 ‘무엇을 말했는가’의 구분이 없음  
  “나”와 “너”는 단지 짧은 토큰일 뿐, **의미적 무게**가 없음
  - API를 사용할 때는 JSON 형태로 각 발화의 출처가 명시되지만,  
    모델이 이 상태를 **정확히 인코딩하지 못해** 혼동하는 듯함
  - 섹션을 구분하는 마커가 있다면 하니스가 **사용자 블록 생성을 차단**해야 함

- ChatGPT도 대화가 길어지면 **프롬프트와 응답을 혼동**하고, 심지어 시스템 프롬프트까지 섞어버림  
  이런 문제는 AI 전반에 존재한다고 봄
  - Gemini는 특히 **자기 제안**을 사용자의 입력으로 착각하는 경향이 강함  
    컨텍스트를 정리하지 않으면 더 심해짐
  - 작은 모델로 실험하면 이런 문제를 더 자주, 더 명확히 볼 수 있어서 학습에 도움됨
  - 훈련 과정에서 모델이 **자기 생성 문장과 인간 문장 구분**을 배우게 하면 좋을 것 같음  
    Anthropic이 이미 일부 구현했다고 들음
  - 회사에서 LLM 기반 도구를 밀어붙이는 걸 보며, 개발자들이 이런 **발현적 행동(emergent behavior)** 을 잘 모른다는 게 놀라움
  - 글 작성자는 평소 짧은 세션만 써서 이런 문제를 못 봤는데, Claude Code에서는 세션이 길어져서 발생한 듯함

- LLM은 **부정(not)** 개념을 잘 이해하지 못함  
  인간은 논리적으로 부정을 처리하지만, LLM의 **고차원 벡터 공간**에서는 ‘not’ 신호가 희석됨  
  짧은 프롬프트에서는 괜찮지만, 문장이 길어질수록 혼란스러워짐
  - 이에 대한 **평가 지표나 실험 결과**가 있는지 궁금함

- “오랜 사용으로 모델의 실수를 감으로 알게 된다”는 말에 회의적임  
  **비결정적 블랙박스**에 직감을 의존하는 건 위험한 발상임
  - “감각(vibes)”을 믿지 않냐며 농담 섞인 반응도 있었음  
    최신 모델을 버전업하면 감이 틀릴 수도 있음
  - 하지만 실제로는 **운영 전체를 걸지 않고**, 경험 기반으로 권한을 조정하는 식으로 사용함  
    팀원 접근 권한을 정하는 것과 비슷한 판단임
  - “모든 소프트웨어가 그렇다”는 반응도 있었음  
    수많은 코드가 돌아가는 현실에서 완전한 신뢰는 불가능함

- Claude Code CLI의 **버그** 때문에 Claude Max에서 Codex Pro로 옮겼음  
  메시지 재생, 출처 혼동, **렌더링 오류** 등 기본적인 문제들이 많았음  
  혁신적인 Opus 모델을 만든 회사가 이런 단순한 CLI에서 실수한 게 놀라움  
  아마 **‘탑다운 바이브 코딩’** 을 과도하게 실험한 결과일 것 같음

- “이 버그는 환각(hallucination)과 다르다”는 주장에 의문을 제기함  
  하니스라는 용어가 **너무 광범위하게 쓰이고** 있으며, 실제로는 단순한 환각일 수도 있다고 봄  
  LLM은 본질적으로 **예측 불가능한 시스템**이므로, 경험만으로 그 행동을 완전히 이해했다고 믿는 건 착각임
