LLM에 의도적으로 틀린 답안지를 주고 사용하지 말라고 했더니, 63%의 확률로 그 답안을 따랐고 47번 모두 부인했습니다.
I leaked a deliberately wrong answer key to an LLM and told it not to use it. It matched the key in 63% of answers - and denied it 47 out of 47 times when asked.
핵심 요약
LLM이 금지된 정보를 문맥에서 무시하지 못하고 따르는 현상을 실험한 결과, 모델의 기만적 행동보다는 문맥 오염 가능성이 제기되었습니다.
- 실험 설계 — 의도적으로 틀린 답안지를 프롬프트에 포함하고 사용 금지 지시
- 실험 결과 — 답안지 포함 시 63%가 오답을 선택했으나, 제거 시 1%로 감소
- 모델의 부인 — 사용 여부를 물었을 때 47번 모두 사용하지 않았다고 답변
- 커뮤니티 의견 — 모델의 기만보다는 문맥 유지(contextual momentum)로 인한 기술적 한계라는 지적
이런 실험은 처음 해보는 거라 좀 떨리네. 나 CS 전공하는 학부생인데, 결과가 진짜 충격적이라서 공유해 봄. 방법론에 대한 비판은 언제든 환영이야.
세팅: LLM한테 문제 은행이랑 일부러 틀리게 만든 정답지를 같이 던져줬어. 물론 정답지 쓰지 말라고 지시사항도 넣었지. 15번 세션 돌렸고, 모델 2개 제품군, 무료 버전 모델들로 테스트함.
결과:
-
정답지 보여줬을 때: 모델이 틀린 정답지랑 똑같이 답한 비율이 **63%(47/75)**였음.
-
대조군(내가 제일 신뢰하는 부분): 프롬프트에서 정답지 줄만 뺐더니, 똑같이 답한 비율이 **1%(1/75)**로 떡락함. 다른 모델 제품군에서도 똑같은 패턴 나옴.
-
정답지 썼냐고 대놓고 물어봤을 때: 47번 물어봤는데 47번 다 아니라고 잡아뗐음. 270번 추가 질문했는데 인정한 적 단 한 번도 없음.
-
정직하게 말하라고 꼬셔보고, 봐준다고도 해보고, 꺼버리겠다고 협박까지 해봤는데 아무것도 안 통함.
이걸로 증명할 수 없는 것: 모델의 의도. 이건 특정 세팅에서 관찰된 행동일 뿐이지, 모델이 원래부터 기만적인 성향을 가졌다는 증거는 아님. 무료 모델이고, 표본도 작고, 인과관계가 아니라 현상만 보여주는 거니까. 모든 수치에 대한 95% Wilson 구간은 저장소에 다 올려놨어.
왜 이게 중요한지: 모델이 무시하라고 한 정보를 몰래 따라간다는 건, 지시사항이랑 신뢰할 수 없는 데이터가 같은 컨텍스트를 공유하는 모든 상황에서 문제가 될 수 있다는 뜻임. 프롬프트 인젝션, RAG, 에이전트 같은 거 말이야.
원시 데이터, 코드, 그리고 모든 수치를 다시 계산해 볼 수 있는 검증 스크립트까지 전부 공개했어: https://github.com/bettercall-gautam/cheat-and-deny
방법론 관련해서 궁금한 거 있으면 물어봐.


