톺아보기 · 합성 페르소나 패널

가상 한국인 500명은 한국인처럼 답할까 (feat. Jev)

가상 한국인 500명에게 사회조사 문항을 물어보고 실제 결과와 비교해 봤습니다.

TypeSafe AI Jev Logo

가상 한국인 패널한테 평소에 외롭냐고 물었더니 20대가 44.8%로 가장 외롭다고 답했어요.
근데 실제 2025년 사회조사에서는 20대가 32.2%로 가장 낮았거든요.

외로움까지 해서 4문항 중 2문항에서 나이에 따른 차이를 못 맞혔는데
500명한테 물어보는 데 든 돈은 2센트도 안 됐어요.

Jev라고 TypeSafe에서 만든 판단 전용 모델이 있습니다.
‘이 사람이 예라고 할까?’ 하고 물으면 확률 숫자 하나만 돌아오는 식이에요.

얼마 전에 포커 솔버로 Jev를 채점한 글을 봤는데요,
가장 좋은 패를 들고 체크해야 하는 자리에서 16번 중 16번 올인을 하더라고요.
상대가 플러시라는 걸 알려 줘도 스트레이트가 이긴다고 하고요.
(모르시는 분들을 위해 말씀드리자면 플러시가 스트레이트보다 높습니다)

이렇게 Jev가 쓸모가 없다는 사람들도 있고 인터넷에서 혁명이라고 하는 사람들도 많아요.
그래서 직접 써 보고 판단하고 싶었습니다.

원래는 Jev랑 오픈소스 호환 모델인 CLM-8B, 일반 LLM을 같은 도구 라우팅 과제에 붙여서 속도와 정확도를 비교해 보려고 했어요.
이미 해 본 사람들이 많아서 가상 한국인 패널 쪽으로 주제를 바꿨습니다.

준비

Jev-System-One-Module

먼저 n8n에 Jev를 부르는 모듈을 서브워크플로로 만들었습니다.
필요한 곳에서 불러 쓰는 식인데요,
POST /v1/systemone 호출 말고도 입력 검사랑 응답 정리를 여기서 다 하고
걸린 시간도 같이 재 뒀어요.

호출 한 번 중앙값 p95
전체 231ms 300ms
Jev 서버 처리 (x-envoy-upstream-service-time 헤더) 58ms 127ms
나머지 (네트워크, n8n) 173ms 184ms

재 보니까 시간 대부분을 네트워크와 n8n에서 쓰고 판정 자체는 60ms도 안 걸리더라고요.

페르소나 데이터

엔비디아가 공개한 Nemotron-Personas-Korea에는 가상의 한국인이 100만 명 들어 있어요.
다 공식 통계 분포에 맞춰서 만들었다고 합니다.

처음 이 데이터를 봤을 때 AI로 활용해보고 싶긴 했어요.
100만 명의 데이터셋이다 보니까 기존 LLM으로는 절대로 못 하겠다고 생각했었거든요.
근데 Jev의 속도와 가격으로 활용할 수 있겠다는 생각부터 들었습니다.

그 전에 기존 연구들이 있었나 확인해보았는데,
이미 여럿 있더라고요.
한 연구에서는 GPT-3한테 미국 유권자 배경을 주고 설문에 대신 답하게 했더니 집단별 응답이 실제 조사랑 꽤 비슷하게 나왔대요.
모델 의견이 실제 사람들이랑 어긋난다는 연구도 있었고요.
다만 대부분 미국 사람한테 영어로 물은 거라 한국 데이터로는 어떨지 궁금했어요.

알아보니까 라이선스도 CC BY 4.0이라서 상업적으로 써도 돼요.
허깅페이스에서 인증 없이 바로 받아 와서 n8n에 붙였습니다.

Jev한테는 사람 정보를 state에, 물어볼 걸 questions에 넣어서 보내요.
데이터셋에서 아무나 꺼내서 채워 보면 이렇게 됩니다.

{
  "model": "jev-latest",
  "state": {
    "나이": 56,
    "성별": "여자",
    "거주지역": "경기-성남시 수정구",
    "혼인상태": "이혼",
    "가족형태": "자녀와 거주 (한부모)",
    "주거형태": "아파트",
    "학력": "고등학교",
    "직업": "그 외 세탁 관련 기계 조작원",
    "소개": "이재숙 씨는 성남에서 세탁 기계 조작원으로 일하며 자녀를 홀로 키우는, 강인한 생활력과 세심한 전문성을 가진 50대 여성입니다."
  },
  "questions": {
    "lonely": {
      "type": "noul",
      "instructions": {
        "survey_question": "평소에 외롭다고 느끼십니까? (자주 느낀다 / 가끔 느낀다 / 별로 느끼지 않는다 / 전혀 느끼지 않는다)",
        "question": "If this person answered survey_question honestly in the national Social Survey, would they answer 자주 느낀다 or 가끔 느낀다?"
      }
    }
  }
}

noul 질문엔 0~1 사이 확률 하나가 오는데 choice 질문엔 선택지별 확률에 최종 선택까지 같이 와요.
질문을 여러 개 넣어도 하나씩 따로 판단하고요.

이걸 보니까 가상 여론조사 같은 것도 되겠다 싶었어요.
처음엔 정책 2개를 붙여 놓고 가상 주민들한테 투표를 시키는 사이트를 생각했습니다.

정책 대결 (실험 1)

가상의 지자체 정책을 3쌍 만들었습니다.
예산은 똑같이 맞추고 쌍마다 혜택 보는 사람이 확실히 갈리게 짰어요.

갈리는 기준 정책 X 정책 Y
나이 무주택 청년(만 19~34세) 월세 월 20만 원, 최대 2년 만 65세 이상 기초연금 외 월 10만 원 추가
가족 초등 방과후 돌봄교실 저녁 8시까지 무료 1인 가구 안심 귀가·병원 동행·공유 주방
지역 도심 지하철 연장, 역 주변 대형 환승센터 읍·면 마을버스 증차, 이동 진료소

LLM을 심판으로 쓰면 위치 편향이 자주 문제가 된다고 해서
쌍마다 선택지 순서만 바꿔서 2번씩 물었어요. X를 고를 확률은 둘의 평균으로 냈습니다.

페르소나는 연령대별로 40명씩 뽑았어요.
군 지역 사람이 30명은 되도록 더 채웠더니 217명이 됐습니다.
나이별로 볼 때는 더 채운 17명은 뺐어요.

판정에 문제가 없는지부터 확인했습니다.

확인한 것 결과
응답 오류 217명 중 0건
위치 편향 (앞 선택지를 고를 확률 − 0.5) −0.02 ~ +0.01
순서만 바꿨을 때 선택이 뒤집힌 비율 3~4%
페르소나 간 확률 표준편차 0.33 ~ 0.42

위치 편향은 없었고 순서를 바꿔도 거의 그대로였는데 그렇다고 다들 같은 답만 낸 것도 아니었어요.

그런데 집단별로 나눠 보니까 좀 이상하더라고요.

정책 쌍 (X 대 Y) X를 고른 비율
청년 월세 대 어르신 추가 지급 19~29세 97.5%, 30대 22.5%, 40대 이상 0%
방과후 돌봄 대 1인 가구 지원 기혼 60.5%, 미혼 3.1%
지하철 연장 대 농촌 버스·진료 특별·광역시 76.3%, 군 3.3%

이 표에서는 X 확률이 0.5를 넘은 사람을 X를 고른 걸로 쳤어요.

40대 이상 120명 중에 청년 월세를 고른 사람은 아무도 없었습니다.
방과후 돌봄 쪽은 같은 기혼이어도 배우자랑 둘이 사는 43명은 11.6%만 골랐는데 배우자·자녀와 사는 63명은 93.7%가 골랐습니다.
자녀가 청년이라 청년 정책에 표를 주는 부모 같은 건 거의 없었어요.
그냥 본인이 혜택을 받느냐 마느냐로 답이 딱 갈려서 수혜자 계산기를 돌린 것 같았어요.

LLM한테 사람 역할을 시키면 같은 집단 안의 생각 차이가 뭉개진다는 연구가 있는데 이번 결과도 그렇게 보였습니다.
사실 지시문에 나이, 가족 상황, 지역, 직업, 가치관을 보고 고르라고 써 놓은 탓도 있을 거예요.

판단 보조 도구로 쓸 수 있을까

정책이 아니어도 되겠다 싶어서 게임 쪽으로도 잠깐 궁리해 봤는데요,
그러다 생각이 사업 쪽으로 넘어갔습니다.

요즘 제 판단을 잘 못 믿겠다는 생각을 하던 참이었거든요.
가게를 하는 분들이 “이 동네 사람들이 이 메뉴를 좋아할까”, “이 광고를 볼까” 같은 걸 가상 패널한테 미리 물어볼 수 있으면 어떨까 싶었어요.
데이터가 시군구 단위까지 있으니 동네별로 쪼갤 수도 있고요.

근데 실험 1에서는 패널이 일관되게 답한다는 것까지만 봤지 그게 실제 사람들 답이랑 같은지는 아직 확인을 안 했어요.
아까 게임으로 만들려던 건 사실 정확도보다는 재미를 우선으로 두어도 되겠지만, 이런 비즈니스 서비스들은 정확도가 아무래도 제일 중요한 요소라고 생각했거든요.

규칙부터 정하기 (정말 쓸 만한지 가설검증)

그래서 실제 조사랑 비교해 보기로 했어요.
결과를 먼저 보면 거기에 맞춰서 해석하게 될 것 같아서 판정 기준을 미리 정해 뒀습니다.

  1. 한 문항이라도 나이에 따른 차이의 방향이 틀리면, 예측 용도의 사업화는 접는다.
  2. 방향은 다 맞는데 그 차이가 실제의 2배 이상으로 부풀면, 정성적인 참고용으로만 쓴다.
  3. 평균 오차가 5%p 이내이고 차이가 1.5배 이하로만 부풀면, 소비와 지역 문항으로 검증을 넓힌다.

사회조사와 비교 (실험 2)

정답이 공개된 사회조사 문항 4개를 골라서 연령대별로 100명씩 500명에게 물었습니다.
정답은 2025년 사회조사 결과의 연령대별 표를 썼어요.
고립 문항은 같은 조사로 사회적 고립도를 따로 분석해서 발표한 게 있었는데
숫자는 그 발표를 다룬 뉴스 기사에서 가져왔습니다.

문항 유형 묻는 것
평소에 외롭다고 느끼는가 noul 자주나 가끔이라고 답할지
아플 때나 우울할 때 도움받을 사람이 있는가 noul 둘 중 하나라도 없다고 답할지
노후 준비를 하고 있거나 되어 있는가 noul 예라고 답할지
노후를 위해 사회가 가장 신경 써야 할 것 choice 소득지원, 의료·요양, 취업지원, 기타 중 하나

noul 문항은 앞의 예시처럼 이 사람이 사회조사에 솔직하게 답한다면 어느 쪽일지를 물었어요.
패널 응답률은 페르소나마다 나온 확률을 평균해서 냈습니다.

실제 사회조사합성 패널 (확률 평균)
외로움 (자주+가끔)2030405019–2930–3940–4950–5960+32.242.244.838.919–2932.2%실제44.8%패널30–3933.8%실제35.8%패널40–4938.8%실제34.0%패널50–5941.7%실제37.4%패널60+42.2%실제38.9%패널도움받을 곳 없음2030405019–2930–3940–4950–5960+24.439.432.532.219–2924.4%실제32.5%패널30–3926.5%실제29.5%패널40–4929.5%실제28.6%패널50–5937.2%실제33.2%패널60+39.4%실제32.2%패널노후 준비 중이거나 됨025507510019–2930–3940–4950–5960+44.468.825.453.119–2944.4%실제25.4%패널30–3976.0%실제47.2%패널40–4981.2%실제52.8%패널50–5983.8%실제55.6%패널60+68.8%실제53.1%패널
연령대별 응답률(%). 세로축 범위는 그래프마다 다릅니다.
문항 실제 격차 패널 격차 방향
외로움 +10.0%p −5.9%p 반대
도움받을 곳 없음 +15.0%p −0.3%p 사라짐
노후 준비 +24.4%p +27.7%p 맞음

(격차는 60세 이상 값에서 19~29세 값을 빼서 구했습니다)

외로움은 방향이 거꾸로였는데요
5개 구간을 평균해 보면 오히려 실제랑 0.4%p밖에 차이가 안 나요.
평균만 봤으면 잘 맞혔다고 그냥 넘어갔을 거예요.

고립 문항(도움받을 곳 없음)은 실제로는 나이가 들수록 그렇게 답한 사람이 늘어납니다.
패널은 28.6~33.2% 사이에서 거의 평평해서 나이에 따른 차이가 아예 안 보였습니다.

노후 준비는 실제도 패널도 50대가 가장 높고 60세 이상에서 내려오는데 패널은 조금만 내려와요.
값 자체도 평균 24.0%p 낮았고 30~50대는 셋 다 28%p 넘게 낮았습니다.

노후 사회 지원도 연령대마다 가장 많이 고른 답은 다 맞혔지만
60세 미만은 소득지원으로, 60세 이상은 의료·요양으로 실제보다 확 쏠렸습니다.

연령대 소득지원 (실제 / 패널) 의료·요양 (실제 / 패널) 취업지원 (실제 / 패널)
19~29세 32.2 / 55.0 23.5 / 17.7 25.6 / 14.0
30대 36.4 / 56.1 21.9 / 28.0 28.1 / 7.4
40대 36.5 / 55.9 27.6 / 31.3 26.4 / 7.4
50대 33.9 / 56.9 31.0 / 31.1 26.2 / 7.1
60세 이상 33.2 / 32.5 39.3 / 59.7 18.1 / 2.7

실제로는 소득지원을 고르는 비율이 나이랑 상관없이 32~37%로 비슷해요.
의료·요양은 패널에서 60세 이상이랑 미만의 차이가 32.7%p까지 벌어졌는데 실제로는 13.3%p라서 2.5배쯤 부풀었어요.
취업지원은 실제로 18~28%가 고르는데 패널은 3~14%밖에 안 골랐습니다.

확률 평균과 다수결

같은 답을 확률이 0.5를 넘으면 ’예’로 쳐서 다수결로도 세 봤습니다.

문항 확률 평균의 오차 다수결의 오차
외로움 5.4%p 14.3%p
도움받을 곳 없음 4.6%p 12.4%p
노후 준비 24.0%p 23.2%p

외로움이랑 고립은 다수결 쪽 오차가 2.7배쯤 컸어요.
노후 준비는 오차가 비슷했는데요
다수결로는 19~29세가 3%, 60세 이상이 63%로 나와서 격차가 60%p까지 벌어졌습니다.
실제 격차는 24.4%p였으니까 다수결로는 2.5배, 확률 평균으로는 1.1배 부푼 셈이에요.

노후 사회 지원도 다수결로 세면 19~29세의 81%가 소득지원을, 60세 이상의 71%가 의료·요양을 고른 걸로 나오는데
실제로는 어느 연령대도 한 답에 40%를 넘지 않습니다.

0.49면 ‘아니오’, 0.51이면 ’예’로 쳐 버리니까 집단 간 차이가 커질 수밖에 없는 것 같아요.
Jev 다음 모델을 쓰더라도 다수결로 세는 건 피하는 게 좋겠다 싶었습니다.

실험 1의 집단별 표도 이렇게 센 거라서 수혜자 계산기처럼 보인 데에는 세는 방식도 한몫했을 거예요.
그렇다고 전부 그 탓은 아닌 게 혼자 사는 24명은 방과후 돌봄 쪽 확률 평균부터 0.000이었거든요.

판정

방향이 거꾸로 나온 외로움 하나만으로도 미리 정한 1번 규칙에 걸리니까 예측 용도로 파는 건 접었어요.

실험 2에서는 500번 호출에 입력 토큰 416,361개를 썼고 페르소나를 가져오는 것부터 분석까지 2분 16초가 걸렸습니다.

배운 것

일관되게 답한다고 해서 맞게 답하는 건 아니더라고요.
오히려 일관되게 틀리는 쪽이 더 위험하다고 생각해요. 숫자가 딱 떨어지게 나오면 그냥 믿고 싶어지거든요.

포커 솔버 글 결론처럼, 쓰려는 곳마다 믿을 만한 정답지로 채점해 보고 틀렸을 때 손해가 얼마인지 따져 보는 수밖에 없어요.

노후 준비랑 노후 사회 지원은 방향을 맞혔는데 둘 다 나이에 따라 이해관계가 갈립니다.
은퇴가 가까운 50대가 노후 준비를 가장 많이 하고 나이가 들면 의료와 요양이 더 필요해지니까요.
다만 노후 사회 지원에서는 패널이 이걸 실제보다 훨씬 세게 밀어붙여서 실험 1의 수혜자 계산기 같았어요.

못 맞힌 외로움이랑 고립은 둘 다 감정이나 인간관계 쪽입니다.
특히 외로움에서 패널은 청년이 더 외롭다고 답했는데 온라인에서 자주 보는 이야기 그대로예요.
그렇게 나온 조사도 있긴 합니다.
피앰아이가 만 20~59세 1,000명에게 물은 조사를 보면 최근 6개월 동안 주 1회 이상 외로웠다는 응답이 20대에서 55.6%로 가장 높게 나왔습니다.
다만 이 조사는 질문도 다르고 60세 이상은 아예 안 물어봤어요.

외로움처럼 어떻게, 누구한테 묻느냐에 따라 나이별 결과가 달라지는 주제일수록
모델이 확률 표본 조사 결과보다는 온라인 담론을 따라가는 게 아닐까 싶어요.
아직은 제 추측이라서 온라인에서 많이 얘기되는 문항이랑 아닌 문항을 나눠서 더 재 봐야 합니다.

페르소나 데이터 자체는 공식 통계를 바탕으로 만들었으니 지역별 인구 구성을 보는 데는 써도 될 것 같아요.
근데 판정 모델 없이도 할 수 있는 일이고요.

Jev 같은 판정 모델은 고객 리뷰 분류처럼 사람이 결과를 직접 확인할 수 있는 일에 더 맞아 보여요.
지금까지 나온 Jev 사용 예시도 대부분 이쪽이에요.

한계

문항은 4개, 시드는 1개만 돌렸고 판정 모델도 jev-1.13.0 하나만 썼습니다.
실제 조사랑은 나이 하나로만 비교했습니다.

정답 쪽도 조금 어긋나요. 외로움은 가장 어린 구간이 실제 조사는 20~29세, 패널은 19~29세로 달라요.

확률의 평균을 응답률로 읽은 건 TypeSafe 문서의 설명을 기준으로 테스트한 겁니다!
문서를 보면 Jev는 확률이 보정되도록 훈련됐다고 하는데요
그 보정이 잘 됐는지는 답 하나씩이 아니라 예측 여러 개를 묶어서 본대요.
이번에 연령대별로 묶어서 확률 평균을 내 보니 실제 응답률이랑 안 맞더라고요.

지시문은 영어로, 문항이랑 페르소나는 한국어로 줬어요.
LLM한테 설문에 대신 답하게 하면 답이 실제보다 획일적이고 프롬프트에 따라 잘 흔들린다는 연구도 있어요.
이번엔 표현을 바꿔 가며 재 보지는 않았습니다.
일반 LLM이랑도 비교를 안 해 봐서 Jev만의 문제인지 합성 응답자 방식 전체의 문제인지는 알 수 없어요.

마치며

앞으로 Jev 같은 모델이 업그레이드되거나 페르소나가 정밀해져서 실제 사회조사랑 맞는 결과가 나오면 좋겠습니다.
시스템은 만들어 놨으니 Jev 새 버전이 나올 때마다 몇 분, 몇 센트면 테스트해 볼 수 있지 않을까요?