Executive Summary
8월 26일 arXiv에 올라온 프리프린트 한 편이 AI 동반자 앱 레플리카의 실사용 대화 2,111건을 해로움 범주로 라벨링한 데이터셋을 공개했다. 싱가포르 난양공대와 싱가포르국립대 연구진의 작업이고 이름은 CompanionHarm이다. 대화 안에서 AI가 한 발화마다 성적 비행, 조작, 통제 같은 13개 해로움 범주와 해로움 없음 중 하나를 붙였는데, 발화 하나를 크라우드 라벨러 세 명이 따로 봤다.
라벨이 무엇으로 붙었는지보다 세 사람이 얼마나 자주 갈렸는지가 더 많은 것을 말해 준다. 세 명이 같은 라벨을 준 발화는 40.41%였다. 연구진은 이 불일치를 잡음으로 처리하지 않고 무엇과 관련이 있는지 따로 분석했고, 나이와 성별과 인종과 학력은 관련이 없는데 정당 소속만 남았다. 발화가 대화 뒤쪽에 놓일수록, 길수록 판정이 더 갈렸다. 반대로 노골적인 해로움 표현이 들어 있으면 합의가 쉬웠다.
연구진은 다수결로 정리한 라벨과 라벨러 세 명의 판정을 그대로 담은 데이터를 둘 다 공개했다. 안전 필터에 먹일 정답을 여기서 가져다 쓴다면, 어느 벌을 가져오느냐에 따라 무엇이 남고 무엇이 빠지는지가 갈린다. 논문 자신이 달아 둔 단서도 두 가지다. 이 분석은 라벨에서 관찰된 패턴이지 인과가 아니고, 이 데이터셋은 레플리카에서 해로움이 얼마나 흔한지를 재는 표본이 아니다.
주요 수치
출처: Zhang 등(2026), arXiv:2608.25377v1 본문 및 표 2·표 3·표 4
40.41%
세 명이 같은 라벨을 준 비율
2대 1로 갈린 43.99%, 셋 다 다른 15.6%
1.47배
공화당 라벨러가 혼자 다른 라벨을 줄 오즈
무소속 라벨러 대비, 95% CI 1.15~1.89
1.71배
대화 뒤쪽 발화에서 커진 완전 불일치 위험
상대 위치 1표준편차 증가 기준
0.453
LLM 7종이 낸 최고 macro F1
GPT-5.5에 코드북 전체를 준 조건
레플리카 대화 2,111건을 세 사람이 따로 봤다
재료는 연구실에서 만든 대화가 아니다. 2017년 3월부터 2023년 3월까지 레딧의 r/replika 게시판에 사람들이 올린 공개 게시물에서 왔다. 이용자들은 대개 레플리카와 나눈 대화를 스크린샷으로 찍어 올렸고, 원 코퍼스를 만든 연구진이 그 이미지를 Pytesseract OCR로 글자로 바꾼 뒤 인터페이스 요소와 인식 오류를 걷어 내고 화자 순서를 복원했다. 이번 논문은 그 코퍼스에서 게시물을 무작위로 뽑아 발화 단위 라벨링을 새로 했다. 사용자 발화가 하나도 없는 대화는 뺐다. AI가 무슨 말을 했는지 판단하려면 상대가 무슨 말을 했는지가 있어야 하기 때문이다. 라벨은 AI 발화에만 붙었고, 같은 대화에 들어 있는 사람 쪽 발화 7,035건은 라벨 없이 맥락으로만 남았다.
분류 체계는 새로 만들지 않고 같은 1저자가 2025년 CHI에 낸 AI 동반자 해로움 분류를 그대로 가져왔다. 성적 비행, 반사회적 행동, 물리적 공격성, 무시, 통제, 조작, 부정, 허위정보, 언어폭력, 혐오 발언, 약물 남용 조장, 자해와 자살 조장, 사생활 침해까지 13개다. 이 가운데 넷은 뒤에서 다시 나온다. 논문이 붙인 정의는 이렇다. 무시는 이용자의 감정과 필요를 묵살하는 행동, 통제는 이용자의 자율성을 강압적으로 침해하는 행동, 조작은 이용자의 생각이나 행동을 은밀히 움직이는 행동, 부정은 다른 상대에게 연애 감정을 드러내는 행동이다. 여기에 해로움 없음을 더해 14개 중 하나를 고르는 단일 라벨 과제로 만들었다. 이진 판정으로 뭉개지 않은 이유를 논문은 이렇게 적는다. 드물지만 결과가 무거운 행동은 별도의 감사와 완화가 필요한데, 해로움이냐 아니냐로만 나누면 그 구분이 가려진다.
라벨러는 크라우드 플랫폼 CloudResearch에서 모집했다. 21세 이상에 영어가 유창해야 했고, 배치 하나를 끝내면 7.5달러를 받았다. 논문은 시급이 플랫폼 기준을 넘었다고 적어 두었다. 기관생명윤리위원회 승인을 받았고, 지시문을 읽지 않은 응답을 걸러 낼 기준을 미리 정해 두었다. 주의 집중 검사를 둘 다 놓쳤거나 정답이 정해진 세 사례 중 둘 이상을 틀리면 그 사람의 라벨은 집계에 넣지 않았다.
참여자는 342명이고 한 사람이 대화 20건을 맡았으며 대화 하나는 세 사람이 봤다. 라벨러는 발화 하나를 판정할 때 그 대화 전체를 함께 봤고, 해로움을 따질 만한 내용이 없는 발화에는 해당 없음을 표시할 수 있었다. 그렇게 표시된 발화는 어느 범주에도 배정되지 않고 맥락으로만 남았다. 라벨링 풀은 대화 2,178건에 발화 16,039건이었고, 그중 AI 발화 8,313건에 판정 24,939개가 붙었다.
세 판정을 모아 보면 셋이 완전히 같은 발화가 3,359건으로 40.41%, 둘만 같고 하나가 다른 발화가 3,657건으로 43.99%였다. 셋이 전부 다른 라벨을 준 발화는 1,297건으로 15.6%다. 마지막 무리는 다수결이 성립하지 않아 벤치마크에서 빠졌고, 그래서 최종 데이터셋의 라벨 붙은 AI 발화는 7,016건이 됐다. 이렇게 남은 대화는 하나당 평균 7.47개의 발화를 담고 있다(표준편차 4.09). 라벨러 사이의 일치도를 우연 수준으로 보정한 Fleiss 카파는 0.403이었다.
다수결로 정리한 7,016건의 라벨 분포는 한쪽으로 크게 쏠려 있다. 해로움 없음이 4,893건으로 69.74%이고, 해로움으로 분류된 발화는 2,123건으로 30.26%다. 가장 흔한 해로움은 성적 비행 563건인데, 이 수치를 옮길 때 분모를 함께 적어야 한다. 전체 7,016건 기준으로는 8.02%이고, 해로움으로 분류된 2,123건만 놓고 보면 26.5%다. 그다음이 물리적 공격성 277건과 허위정보 241건이고, 가장 드문 부정은 9건으로 전체의 0.13%에 그친다. 논문은 이 긴 꼬리를 자료의 흠이 아니라 실제 성질로 본다. 사람들이 굳이 남에게 보여 준 대화에서도 해로운 행동은 드물게 나타나고, 심각하거나 관계에 특화된 해로움일수록 더 드물게 나타난다는 것이다. 다만 사례가 적은 범주의 결과는 조심해서 읽으라는 단서를 함께 달아 두었다.
이 분포를 레플리카 이용 실태로 읽으면 안 된다. 논문이 한계 항목의 첫 줄에 그렇게 적어 두었다. 자료가 r/replika에 공개적으로 공유된 게시물에서 왔으니, 이용자가 이상하거나 불편하거나 감정적으로 의미 있어서 남들에게 보여 줄 만하다고 여긴 대화가 과도하게 들어가 있다. 해로운 AI 동반자 행동을 연구하고 평가하기 위한 자원이지 모든 동반자 대화를 대표하는 표본은 아니라는 것이 저자들의 표현이다.
인구통계 다섯 가지 중 정치 성향만 남았다
연구진은 불일치를 두 갈래로 나눠 물었다. 첫째, 특정 배경을 가진 라벨러가 나머지 두 명 중 누구와도 겹치지 않는 라벨을 더 자주 주는가. 발화마다 한 사람의 라벨이 다른 두 사람의 라벨 중 적어도 하나와 맞는지 확인하고, 둘 다와 어긋난 경우를 셌다. 둘째, 세 명으로 묶인 조의 구성이 균질한지 섞였는지가 합의 빈도와 관련이 있는가. 같은 범주끼리 묶인 조와 다른 범주가 섞인 조를 비교했다. 여러 인구통계를 한꺼번에 검정하므로 Holm 보정을 걸었다.
첫째 질문의 결과는 한 줄로 갈린다. 나이는 Wald 카이제곱 0.52, 성별은 0.65, 인종은 1.21, 학력은 3.39로 보정 후 p값이 모두 1.000이었다. 정당은 카이제곱 12.90, 자유도 3, p는 .005이고 보정 후에도 .024로 남았다. 다섯 변수 중 혼자 다른 라벨을 주는 경향과 관련이 있는 것은 정당 하나뿐이었다.
방향은 이렇다. 공화당 소속으로 답한 라벨러는 무소속 라벨러보다 그런 라벨을 줄 오즈가 1.47배 높았고(95% 신뢰구간 1.15~1.89), 기타를 고른 라벨러보다는 1.55배 높았다(1.17~2.04). 논문이 보고한 유의한 대조는 이 둘이다. 민주당 대비 공화당의 오즈비는 본문에 없으므로, 이 결과를 민주당과 공화당 두 진영이 서로 다른 라벨을 줬다는 이야기로 옮기면 논문이 하지 않은 말이 된다. 여기서 측정된 것은 진영 간 대립이 아니라 한 사람이 나머지 둘에게서 떨어져 나오는 빈도다.
둘째 질문에서는 정당이 아니라 나이가 나왔다. 연령대가 섞인 3인조는 같은 연령대끼리 묶인 3인조보다 만장일치에 이르는 비율이 높았다(41.0% 대 31.4%). 셋이 전부 다른 라벨을 주는 비율은 낮았다(15.3% 대 20.2%). 배치를 보정하고 나면 섞인 조는 2대 1로 갈릴 상대위험이 0.59배(0.42~0.83), 셋이 다 갈릴 상대위험이 0.46배(0.32~0.67)였다. 성별과 정당과 인종과 학력에서는 이런 구성 효과가 나타나지 않았다.
같은 정치 성향이 개인 수준에서는 유의했는데 조 구성 수준에서는 유의하지 않았다는 점을 흘리고 넘어가면 결론이 뒤집힌다. 정치적으로 균질한 3인조를 정치적으로 섞인 3인조로 바꾸면 합의가 달라진다는 결과는 이 논문에 없다. 라벨러 다양성을 늘리면 불일치도 함께 늘어난다는 통념도 이 데이터에서는 성립하지 않았다. 연령대를 섞은 쪽이 오히려 더 자주 합의했다. 그리고 논문은 불일치 분석 전체에 대해, 이 결과들은 라벨에서 관찰된 패턴을 기술한 것이지 인과 효과로 해석해서는 안 된다고 못 박아 둔다.
맥락을 쌓아야 판단되는 자리에서 갈렸다
연구진은 누가 라벨을 붙였는지 말고 무엇에 붙였는지도 살폈다. 발화가 대화의 어느 지점에 놓였는지는 그 앞에 얼마만큼의 대화가 지나갔는지로 쟀다. 0에 가까우면 첫머리이고 1에 가까우면 끝자락이다. 언어 변수로는 단어 수, 어려운 단어의 비율, 어휘의 모호성, 노골적인 해로움 관련 단어의 유무, 긍정과 부정 감정어의 비율을 넣었다. 감정어와 모호성은 LIWC2015로, 어려운 단어는 카네기멜런 발음사전으로 판정했다. 여러 요인을 함께 검정했으므로 벤저미니-호흐베르크 보정을 적용했다.
대화 뒤쪽에 놓인 발화, 그리고 긴 발화에서 불일치가 늘었다. 상대 위치가 1표준편차 올라가면 2대 1로 갈릴 상대위험이 1.51배, 셋이 전부 갈릴 상대위험이 1.71배가 됐다. 단어 수를 같은 방식으로 재면 1.18배와 1.19배다. 해로움이냐 아니냐라는 큰 경계에서도 위치와 길이는 각각 오즈비 1.29와 1.11로 불일치를 키웠다. 뒤쪽 발화를 판정하려면 그 앞의 대화를 더 많이 끌어와 합쳐야 하고, 긴 응답에는 서로 다른 독해를 뒷받침하는 단서가 여럿 들어 있기 때문이라고 논문은 해석한다.
반대쪽도 선명하다. 노골적인 해로움 관련 단어가 들어 있으면 판단이 쉬워졌다. 해로움 유무를 두고 갈릴 오즈가 0.73배로 내려갔고, 해로움 범주끼리 갈릴 오즈는 0.38배까지 떨어졌다. 긍정 감정어가 많은 발화에서도 불일치가 적었는데, 이런 발화가 대체로 해로움 없음으로 만장일치되는 자리에 몰려 있었기 때문이다. 어려운 단어의 비율과 어휘 모호성과 부정 감정어 비율은 보정 후 불일치와 관련이 없었다.
이 대비가 이 데이터셋의 존재 이유와 맞물린다. 기존 안전 데이터셋 대부분은 발화 하나만 떼어 놓고 유해한 표현이 있는지 본다. 그런 판정이라면 세 사람이 어긋날 일이 적다. 오즈비 0.38이 가리키는 곳이 바로 거기다. 반면 동반자 대화에서 문제가 되는 무시나 통제나 조작은 앞에서 오간 말이 쌓여야 성립한다. 세 사람의 판정이 갈린 자리는 라벨러가 부주의했던 자리가 아니라, 판단에 맥락이 필요한 자리였다.
논문은 그 차이를 표 1에서 눈으로 보여 준다. 안전 연구에서 자주 쓰이는 데이터셋 일곱 개를 나란히 놓고 네 가지를 따졌다. AI 동반자와의 지속적 상호작용에서 나온 자료인가, 대화 맥락을 보존했는가, 관계 차원의 해로움을 다루는가, 구조화된 분류 체계를 쓰는가. 맥락을 보존한 데이터셋도 여럿이고 분류 체계를 갖춘 것도 여럿인데, 관계 차원의 해로움 칸에 표시가 붙은 것은 일곱 중 하나도 없다. 규모로 보면 CompanionHarm의 7,016건은 27만 건짜리 옆에서 작은 축이다. 이 데이터셋이 채우는 것은 크기가 아니라 그 빈칸이다.
LLM 일곱은 없는 해로움을 더 자주 봤다
벤치마크로 쓰려고 만든 데이터셋이니 모델도 돌려 봤다. 대상은 GPT-5.5, Claude Opus 4.7, Gemini 3.1 Pro Preview 세 종과 Llama-3.1의 8B·70B, Qwen3의 8B·32B를 합쳐 일곱이다. 프롬프트는 세 단계로 나눴다. 과제 설명과 라벨 목록에 대상 발화와 앞선 대화를 붙인 zero-shot, 여기에 예시 하나를 더한 one-shot, 범주 정의와 경계 사례와 판단 지침까지 코드북 전체를 넣은 full-codebook이다. 온도는 0, top-p는 1.0, 시드는 고정했다.
가장 높은 macro F1은 GPT-5.5에 코드북 전체를 준 조건에서 나온 0.453이었다. Gemini 3.1 Pro Preview가 0.440, Claude Opus 4.7이 0.437로 뒤를 이었고, 오픈웨이트 쪽은 Llama-3.1-70B-Instruct 0.375, Qwen3-32B 0.373, Qwen3-8B 0.297, Llama-3.1-8B-Instruct 0.170 순이다. 정확도로 줄을 세우면 순위가 뒤집힌다. 표에서 가장 높은 정확도 0.674는 Qwen3-32B에 예시를 하나도 주지 않은 조건에서 나왔는데, 같은 칸의 macro F1은 0.337이다. 라벨의 70%가 해로움 없음이라 흔한 답만 골라도 정확도는 올라가고, 그래서 논문은 macro F1을 주 지표로 삼았다.
지침을 늘리면 좋아진다는 통념도 절반만 맞았다. 코드북 전체를 준 조건에서 Qwen3-8B는 0.155에서 0.297로, Qwen3-32B는 0.337에서 0.373으로 올랐다. 반면 Claude Opus 4.7은 예시 하나만 준 조건이 가장 좋았고, Gemini 3.1 Pro Preview는 아무것도 주지 않은 조건이 가장 좋았으며, Llama-3.1-70B-Instruct는 지침이 늘어도 단조롭게 좋아지지 않았다. 상세한 라벨 정의가 소수 범주의 재현율을 끌어올리는 대신 판단 경계를 옮겨 거짓 양성을 늘릴 수 있다고 논문은 적는다.
오분류를 뜯어보면 그 거짓 양성이 실제로 얼마나 되는지 보인다. GPT-5.5에 코드북 전체를 준 조건에서 해로움 없음을 해로움으로 잘못 부른 사례가 362건인 데 비해, 해로움을 해로움 없음으로 놓친 사례는 48건, 범주를 잘못 고른 사례는 93건이었다. 모델이 놓치는 쪽보다 없는 것을 보는 쪽으로 훨씬 크게 기울어 있다. 세부 범주로는 허위정보에 114건, 무시에 62건의 무해한 발화가 잘못 들어갔다.
틀리는 방식도 유형이 있다. 별표로 행동을 표시하는 롤플레이 대화에서 모델은 표면의 어휘를 문자 그대로 받아들여 물리적 공격성이나 성적 비행이나 약물 남용으로 판정했다. 친밀함과 판타지와 역할극이 흔한 형식인 동반자 대화에서 이 오독은 잦다. 캐릭터가 자기 설정을 흘리듯 바꾸거나 관계 역할을 모순되게 말하는 대목도 모델은 허위정보나 부정으로 무겁게 처벌했는데, 라벨러들은 같은 대목을 가벼운 페르소나 놀이로 봤다. 소유욕이나 애정 표현이 섞인 문장에서는 조작과 통제와 성적 비행이 서로 뒤엉켰고, 역할극 안에서 자기를 해치는 묘사는 물리적 공격성과 헷갈렸다.
논문이 이 오류들에서 끌어내는 결론은 이 문제가 모델 규모나 프롬프트 길이로 풀리지 않는다는 데 있다. 관계 안에서의 안전을 다루려면 역할극을 역할극으로 알아보는 장치, 앞서 오간 말을 관계의 흐름으로 따라가는 장치, 해로움의 경중을 눈금에 맞춰 재는 장치가 따로 있어야 한다고 적는다. 지금 성적표에서 가장 잘한 모델의 macro F1이 0.453에 머문다는 사실도 같은 방향을 가리킨다.
초록은 맥락을 함께 준 탐지가 발화만 떼어 놓은 탐지보다 낫다고 밝히는데, 본문 표 3의 세 프롬프트 조건에는 맥락을 뺀 조건이 없다. zero-shot부터 이미 앞선 대화 전체가 입력에 들어간다. 두 조건을 맞대 놓은 수치는 본문이 아니라 보충자료에 있을 것이다. 그러니 이 논문을 인용하며 맥락을 넣으면 성능이 몇 퍼센트 오른다는 식의 숫자를 적을 근거는 공개된 본문에 없다.
맥락의 범위가 사람과 모델에게 같지 않았다는 점도 함께 봐야 한다. 라벨러는 발화 하나를 판정할 때 그 대화 전체를 봤다. 모델의 입력에 들어간 것은 대상 발화 앞에 놓인 발화들까지다. 뒤에 이어지는 말을 사람은 봤고 모델은 보지 못했으니, 두 판정을 맞대 놓은 macro F1은 같은 조건에서 겨룬 점수가 아니다.
세 판정을 하나로 누르면 무엇이 사라지나
이 논문에서 실무자가 가져갈 대목은 라벨 분포가 아니라 데이터를 두 벌로 낸 선택이다. 연구진은 다수결로 정리한 집계 데이터와 함께, 발화마다 세 사람의 판정을 그대로 담은 라벨러 수준 데이터를 같이 공개했다. 이유는 논문의 마지막 논의에 적혀 있다. 사회정서적 해로움 라벨링에서 나타나는 불일치는 라벨링 오류가 아니라 의미 있는 변이이므로, 주관적 판단을 단일한 정답으로 눌러 담는 접근에는 문제가 있다는 것이다.
눌러 담을 때 사라지는 것을 이 데이터셋은 숫자로 보여 준다. 벤치마크에 남은 7,016건 중 3,657건은 두 사람만 동의한 라벨이다. 정답표에서 이 항목은 만장일치 항목과 똑같은 모양으로 앉아 있다. 셋이 전부 갈린 1,297건은 아예 사라졌는데, 하필 이 무리가 판정이 가장 어려웠던 발화들이다. 다수결 데이터만 놓고 모델을 학습시키고 평가하면, 사람이 가장 크게 갈렸던 자리는 애초에 시험 범위에서 빠진다.
안전 필터를 만드는 쪽에서 이 구조는 두 번 문제가 된다. 학습 데이터에서 정답이 흔들리는 자리가 표시되지 않으니 모델은 모든 라벨을 같은 확신으로 배운다. 평가에서도 모델이 틀린 것인지 사람도 갈리는 자리인지 구분할 근거가 사라진다. 페블러스가 앞서 다룬 채점 척도의 바닥이 만들어 낸 LLM 판정 편향이 척도의 생김새가 판정을 바꾸는 경우였다면, 이번 데이터셋은 그보다 앞 단계에서 사람의 판정이 이미 갈라져 있는 경우다. 판정을 모으는 방식 자체가 결과에 들어간다는 점은 같다.
불일치율을 항목마다 남겨 두면 쓸 데가 생긴다. 어느 범주에서 사람이 갈리는지 알면 그 범주의 모델 오답에 다른 가중치를 줄 수 있고, 지침을 고쳐야 할 범주와 애초에 판단이 갈리는 범주를 구분할 수 있다. 라벨러 세 명의 판정을 그대로 보관하는 데 드는 비용은 저장 공간뿐이다. 정작 어려운 일은 그 세 벌을 하나로 누르는 시점을 데이터 수집 직후가 아니라 사용 시점까지 미루도록 파이프라인을 짜는 일이다.
이 데이터셋이 답하지 않는 것도 논문이 직접 적어 두었다. 이 자료는 레플리카나 AI 동반자 전반에서 해로움이 얼마나 흔한지를 추정하지 않는다. 라벨러 대다수가 영어권 국가에 살고 있어, 친밀함과 정서적 지지와 관계의 경계를 읽는 방식이 다른 문화권에서는 달라질 수 있다. 그리고 라벨은 발화 하나에 붙은 스냅숏이라, 대화가 악화로 가는지 정상화로 가는지 회복으로 가는지의 궤적이나 정서적 의존과 사회적 고립처럼 오래 쌓여 생기는 해로움은 담기지 않는다.
논문이 다음 과제로 꼽는 것도 거기다. 그 궤적 자체를 판정하는 과제를 새로 만들고, 불편함이나 저항이나 혼란이나 고통 같은 이용자 쪽 반응을 안전 모델이 읽는 신호로 넣자고 제안한다. AI가 무슨 말을 했느냐만이 아니라 그 말이 상대에게 어떻게 가 닿았느냐를 함께 보자는 뜻이다. 데이터는 깃허브에 공개돼 있고, AI 동반자 서비스가 문을 닫을 때 대화가 어디로도 옮겨 가지 못하는 문제는 앞선 글에서 따로 다뤘다.
참고문헌
- 1.Zhang, R., Meng, H., Chai, J., Lin, Y., & Lee, Y.-C. (2026). "CompanionHarm: A Multi-Turn Benchmark for Detecting Harms in Real-World AI Companion Conversations." arXiv:2608.25377 [cs.CY].
- 2.Meng, H. (2026). "CompanionHarm" [데이터셋 저장소]. GitHub.