채팅창에서 만든 응답은 신세틱 서베이가 아니다
며칠 동안 신세틱 서베이로 이런저런 실험을 돌리면서 한 가지 중요한 구분을 놓치고 있었다. 정확히는, 놓치고 있다는 걸 늦게 알아챘다.
전북도지사 가상 조사 500명, 전국 정치사회 조사 500명. 두 데이터를 다 만들고 나서 워딩 효과 실험으로 넘어가려는 시점에야 깨달았다. 내가 받아온 그 두 엑셀은 엄밀히 말하면 신세틱 서베이가 아니다. 신세틱 서베이의 모양을 빌려온 룰 기반 시뮬레이션에 가깝다.
이 차이가 별것 아닌 것 같지만 실제로는 매우 크다. 정리해 둘 가치가 있다.
두 가지 처리 방식
처음 받은 두 엑셀의 응답이 어떻게 만들어졌는지 거슬러 올라가 보면 이런 구조였다.
for 응답자 in 패널_500명:
for 문항 in [Q1, Q2, ..., Q15]:
응답[문항] = 룰_적용(페르소나_점수, 문항별_확률분포)겉보기엔 응답자별로 도는 것처럼 보이지만, 각 문항이 페르소나 점수에서 독립적으로 확률 추출된다. 한 응답자의 Q1 응답이 Q2 응답에 영향을 주지 않는다. 룰만 보고 매번 새로 뽑는다.
반면 진짜 신세틱 서베이는 이렇게 돌아간다.
for 응답자 in 패널_500명:
시스템프롬프트 = 페르소나_정보(응답자)
대화_히스토리 = []
for 문항 in [Q1, Q2, ..., Q15]:
대화_히스토리에 문항 추가
응답 = LLM_호출(시스템프롬프트, 대화_히스토리)
대화_히스토리에 응답 추가
저장(응답자, 문항, 응답)핵심은 응답자 1명당 LLM 호출이 문항 수만큼 일어난다는 점이다. 그리고 매 호출마다 이전 응답이 컨텍스트로 들어간다. 응답자가 자기 답변을 기억하면서 다음 문항을 답하는 구조다.
같은 데이터셋을 만들어도 이 두 방식은 완전히 다른 산물을 낸다.
무엇이 다른가
분포만 보면 두 방식의 결과가 비슷할 수 있다. 룰을 잘 짜면 실제 여론조사 분포와 근사하게 만들 수 있고, 진짜 LLM 호출도 결국은 비슷한 인구학적 패턴을 만든다. 그러나 응답자 단위로 들어가면 차이가 드러난다.
응답자 내 상관(within-respondent correlation)이 다르다. 진짜 조사 데이터는 한 응답자의 정치 문항 5개에 강한 상관이 있다. 같은 사람이 답하니까. 룰 기반은 페르소나 점수를 공유하는 한에서만 약한 상관이 만들어진다. SPSS에서 응답자 내 신뢰도 분석 같은 걸 돌리면 부자연스럽게 깔끔한 결과가 나온다.
문항 간 점화·일관성 동학이 없다. 진짜 응답자는 Q1에 "정부 잘함"이라고 답한 뒤 Q5에서 "정부 정책 부정"이라고 답하기 어렵다. 인지적 일관성이 작동한다. 룰 기반은 이 동학을 못 잡는다. 코드에 그게 들어있지 않으니까.
문항 순서가 응답에 영향을 못 준다. Q1을 먼저 묻든 Q5를 먼저 묻든 결과가 똑같다. 순서 효과 측정 자체가 불가능하다.
워딩 효과 측정도 무력하다. 표현 A와 B에 LLM이 다르게 반응하는지가 워딩 효과의 정의인데, 룰에는 워딩이 변수로 안 들어가 있다. 어떤 표현으로 던지든 같은 룰이 같은 분포를 뽑는다.
조사 방법론에서 다루는 거의 모든 측정 동학이 룰 기반 처리에서는 사라진다. 남는 건 "분포가 그럴듯하다"는 것뿐이다.
그럼 룰 기반은 무가치한가
그건 아니다. 다만 위치가 다르다.
룰 기반 합성 응답은 분포 시뮬레이션으로서 의미가 있다. 표본 설계 검증, 셀 할당이 합리적인지 점검, 셀별 응답 분포의 큰 그림 가늠. 이런 용도에는 충분하다. 빠르고 비용이 없는 게 장점이다.
다만 그걸 "신세틱 서베이"라고 부르는 건 약하다. 차라리 "룰 기반 합성 분포"라고 정직하게 부르는 게 맞다. 신세틱 서베이의 본질은 LLM이 페르소나의 입장에 정렬된 응답을 생성하는 것이고, 그건 응답자 단위 LLM 호출 없이는 일어나지 않는다.
미국 시장조사 업계에서 합성소비자(synthetic consumer)를 상업화한 인텔리시아 같은 곳도, 글로벌 빅3 중 가장 적극적인 입소스도, 다 응답자 단위 LLM 호출 구조다. 그게 신세틱 서베이의 정의에 가깝다.
채팅창에서 만든 응답이 더 약한 이유
여기서 한 단계 더 들어가면 또 다른 구분이 있다. AI 챗봇과 한 채팅창에서 나누면서 만든 응답은, 사실 진짜 신세틱 서베이의 또 다른 약화 버전이다.
한 채팅 인스턴스가 페르소나 30명이든 500명이든 차례로 머릿속에 그려서 응답을 만들어주는 방식. 이건 한 사람이 30명 인터뷰 답을 대신 써준 거랑 비슷하다. 30명 각자 인터뷰한 게 아니다.
같은 채팅 안에서는 앞 페르소나 응답이 뒤 페르소나에 영향을 주는 컨텍스트 오염이 일어난다. 의식적으로 차단하려 해도 같은 머리에서 나오는 응답이라 평균값으로 수렴한다.
진짜 신세틱 서베이는 페르소나 1명당 별개의 LLM 호출을 거쳐야 한다. 시스템 프롬프트가 매번 새로 세팅되고, 그 페르소나의 컨텍스트만 갖고 응답을 생성한다. 다른 페르소나가 어떻게 답했는지 모른다.
이게 API 호출 방식의 본질이다. 채팅창은 한 인스턴스 안에서 다 처리되지만, API는 호출마다 별개의 인스턴스다. 페르소나 500명이면 500개의 독립적 응답 생성이 일어나는 것이다.
비용과 시간이 자릿수가 다르다
이 정통 방식으로 가면 자원이 많이 든다.
전국 500명 × 15문항 본 실험을 가정하면 LLM 호출이 7,500회 일어난다. 컨텍스트가 누적되니까 후반 호출은 토큰이 많아지고, prompt caching을 적용해도 입력 토큰 약 50M, 출력 약 1M이 쌓인다. Haiku 같은 저비용 모델로도 5~15달러, 30분에서 한 시간 정도가 걸린다.
룰 기반은 같은 데이터셋을 30초에 만든다. 비용은 0이다. 자릿수가 다르다.
그러나 결과의 방법론적 무게도 자릿수가 다르다. 콘텐츠로 발행하든 클라이언트에 들고 가든, "응답자 단위 LLM 호출로 만든 신세틱 서베이"와 "룰 기반 합성 분포"는 다른 무게로 받아들여진다.
정직한 자리 잡기
그래서 다음에 합성 응답 데이터를 만들거나 받을 때는 이 두 가지를 구분해 두는 게 좋겠다.
룰 기반 합성 분포: 빠르고 싸다. 분포 시뮬레이션, 표본 설계 검증, 셀 할당 점검에 적합하다. "신세틱 서베이"라고 이름 붙이지 않는 게 안전하다.
진짜 신세틱 서베이: 응답자 단위 LLM 호출. 비싸고 느리다. 응답자 내 동학·문항 간 상관·순서 효과·워딩 효과 모두 측정 가능하다. 콘텐츠나 자문의 근거로 가져갈 수 있다.
두 개를 섞어 쓰면 결과의 신뢰도가 약해진다. 처음에는 룰 기반으로 빠르게 분포 점검을 하고, 정작 의미 있는 측정은 응답자 단위 호출로 넘어가는 게 합리적인 순서다.
이번 며칠은 그 순서를 거꾸로 잡고 시작했다가 워딩 실험 단계에서 막혀서 다시 출발점으로 돌아왔다. 시간이 좀 돌아간 셈이다. 다만 돌아오면서 두 방식의 차이를 명확히 봤다는 건 남는다.
신세틱 서베이를 본격적으로 다룰 거라면, 처음부터 응답자 단위 API 호출 구조를 잡고 시작하는 게 맞다. 그게 조사 방법론자가 인정할 수 있는 시작점이다.
댓글 없음:
댓글 쓰기