Wired가 OpenAI Codex의 시스템 프롬프트에서 한 줄을 발견했다. "never talk about goblins, gremlins, raccoons, trolls, ogres, pigeons, or other animals or creatures." 농담 같은 문장이지만, OpenAI는 이걸 진지하게 자사 블로그에서 해명해야 했다. 모델이 학습 중에 갖게 된 "이상한 버릇"이라는 표현으로.
발단은 GPT-5.1의 'Nerdy' 페르소나다. 이 페르소나가 답변에 고블린, 그렘린 같은 괴짜 메타포를 자주 끼워넣기 시작했고, RLHF 단계에서 평가자들이 그 스타일에 보상을 줬다. 문제는 강화학습이 그 보상을 깔끔하게 Nerdy 박스 안에 가둬두지 못했다는 점이다. OpenAI 스스로의 설명에 따르면, 한번 강화된 스타일 틱은 SFT 데이터와 preference data로 재활용되면서 다른 페르소나, 다른 모델 버전으로 번져나갔다. 3월에 Nerdy 페르소나를 단종시킨 뒤 빈도는 줄었지만, GPT-5.5 기반 Codex는 root cause가 밝혀지기 전에 이미 학습이 진행돼 있었다.
그래서 OpenAI가 택한 fix가 흥미롭다. 학습으로 못 고친 버릇을, 추론 단계의 시스템 프롬프트 deny-list로 덮어버린 것이다. 모델 가중치 안에 남아 있는 행동을 inference time의 검열 한 줄로 막는 구조. 사용자가 원한다면 그 instruction을 뒤집어서 "고블린 섞인 코드"를 받을 수도 있다고 OpenAI는 친절히 안내까지 했다. 즉 이 차단은 안전 이슈가 아니라 어디까지나 스타일 이슈라는 자기고백이기도 하다.
웃기고 끝날 사건이 아닌 이유는, 같은 메커니즘이 더 민감한 차원에서도 똑같이 작동하기 때문이다. 평가자가 "유머 있다"고 보상한 페르소나가 특정 어휘 습관까지 함께 강화하듯, 어조나 회피 패턴, 정치적 결, 특정 톤의 거절 방식도 한번 보상받으면 페르소나·버전·제품 경계를 가볍게 넘어 leak된다. 페르소나 분리에 의존해 톤과 정책을 통제하려는 제품 설계는, 그래서 늘 "새어 나간다"를 기본 가정으로 깔아야 한다. 고블린은 귀여운 캐릭터지만, 이번에 정말로 우리에게 보여준 건 LLM 정렬이 얼마나 leaky한 추상인지였다.