2026. 4. 29. 13:41ㆍ개발/AI
1. 인트로
며칠 전 aaru라는 해외 스타트업에 대한 글을 봤다.
이 회사는 가상의 페르소나 수천 명을 만들어서 실제 세계의 현상을 예측한다. 선거 결과, 제품 반응, 여론 동향까지. 실제 사람을 인터뷰하지 않고도 꽤 높은 정확도로 맞춘다는 얘기였다.
"가상의 사람한테 물어보면 진짜랑 비슷하게 나온다고?"
반신반의하면서도 흥미로웠다. 그러던 중 허깅페이스에서 엔비디아가 만든 한국인 페르소나 데이터셋을 발견했다. 이름은 Nemotron-Personas-Korea. 한국인 100만 명 분량의 가상 프로필인데, 연령, 성별, 직업, 거주지, 자기소개까지 딸려 있었다.
이걸로 내가 만드는 서비스에 대한 가상 사용자 인터뷰를 해볼 수 있지 않을까?
그래서 해봤다. 1만 명한테 물어봤다. 내 컴퓨터 안에서.
2. "그래서 뭘 해봤는데?"
한 줄로 요약하면 이렇다.
엔비디아가 만든 한국인 가상 인물 1만 명한테, 내 서비스 써볼래요? 라고 물어봤다.
테스트한 서비스는 내가 개발 중인 거부기린. 웹캠으로 실시간 거북목과 자세를 분석해주는 데스크톱 앱이다. 장시간 PC를 쓰는 직장인, 개발자, 디자이너가 주 타겟이다.
방법은 단순하다. 페르소나 데이터셋에서 1만 명을 샘플링하고, 각 사람의 연령·성별·직업·거주지 정보를 LLM에게 넘긴다. 그리고 이렇게 물었다.
"당신은 34세 여성, 충남 아산에 사는 구직자입니다. 이 서비스를 알게 된다면, 설치해서 계속 쓸 의향이 있으세요? 확률을 0~100%로 알려주세요."
LLM은 그 사람의 입장에서 가입 확률과 이유를 판단해 답한다. 실제 설문조사라면 수천만 원에 몇 주가 걸릴 일이다. 이건 내 방에서 몇 시간이면 됐다.

어떻게 돌렸는지부터 얘기해보자.
3. 어떻게 돌렸나
3-1. 환경 세팅
내 맥에 Ollama를 깔고, Qwen3 32B 모델을 돌렸다. 32B면 꽤 큰 편인데, RAM이 충분해서 로컬에서 돌릴 수 있었다.
왜 로컬이냐고? 1만 건을 GPT-4 같은 API로 돌리면 몇십만 원은 쉽게 나온다. 로컬은 전기세만 나온다.
Ollama는 로컬에서 LLM을 돌릴 수 있게 해주는 도구다. 터미널에서 ollama run qwen3:32b 한 줄이면 모델이 뜬다. ollama serve를 띄워두면 http://localhost:11434로 HTTP 요청을 날릴 수 있다.
Qwen3를 고른 이유는 단순했다. 32B 파라미터 모델 중에서 한국어 이해도가 가장 높았다. Llama 계열도 돌려봤는데, 직업이나 거주지 같은 컨텍스트를 종합해서 판단하는 건 Qwen3가 나았다. 70B 이상 모델이 더 정교하겠지만, 내 맥북 RAM으로는 32B가 한계였다.
처리는 Python + asyncio로 비동기 병렬로 돌렸다. 동시에 4개씩 요청을 날려서 1만 건을 몇 시간 만에 끝냈다. 동시성을 4로 잡은 건 그 이상으로 올리면 응답 시간이 급격히 늘어났기 때문이다.
1만 개의 태스크를 asyncio.gather로 한 번에 돌리되, 세마포어로 동시 실행 수를 4개로 제한하는 방식이다. 각 요청이 평균 3~5초 걸리니까 전체 처리 시간은 이론상 약 2.7시간. 실제로는 3시간 조금 넘게 걸렸다.
결과는 JSON으로 저장하고 나중에 pandas로 분석했다. 타임아웃 나면 재시도, 파싱 실패하면 fallback으로 처리하는 에러 핸들링도 넣었는데, 실제로는 에러가 한 건도 안 나왔다. 1만 건 전원 유효 응답. 이건 좀 놀라웠다.
3-2. 데이터셋: Nemotron-Personas-Korea
엔비디아가 허깅페이스에 공개한 한국인 가상 페르소나 데이터셋이다. 총 100만 건이 넘고, 누구나 다운로드할 수 있다.
각 페르소나에는 연령·성별·직업, 거주지(시/도 + 구/군), 학력·혼인 상태·거주 형태, 그리고 한두 줄짜리 자기소개 요약이 들어있다.
예를 들면 이런 식이다:
"조향순 씨는 대구 달서구에서 평생 살림을 일궈온 정 많은 주부로, 산행과 TV 시청으로 소소한 행복을 찾으며 가족과 이웃의 조화를 소중히 여기는 분입니다."
실제 한국 인구 분포를 반영해서 만들었다고 한다. 연령대, 성비, 지역별 인구 비율을 통계청 자료 기반으로 구성했다는 얘기다.
1만 건 샘플링은 단순 랜덤 추출로 했다. 층화 추출을 써서 연령대별로 균등하게 맞출 수도 있었는데, 1만 건이면 충분히 큰 샘플이라 그냥 무작위로 뽑았다. 실제 결과를 보니 20대 1,424명, 30대 1,488명, 40대 1,770명, 50대 2,001명, 60대 1,778명, 70대+ 1,539명으로 고르게 분포했다.
직업 분포에서 눈에 띄는 게 있었다. 무직·구직이 3,871명, 38.7%였다. 통계청 기준 비경제활동인구 비율(학생·주부·은퇴자 포함)이 약 40%인 걸 감안하면 비슷한 맥락이다. 어쨌든 이 비율이 전체 평균 확률을 끌어내리는 방향으로 작용했을 건 분명하다.
3-3. 프롬프트는 이렇게 줬다
페르소나 정보와 서비스 설명을 하나로 합쳐서 LLM에게 던지는 구조다.
당신은 다음 페르소나의 관점에서 생각하는 시뮬레이터입니다.
## 페르소나 정보
- 성별: 여자
- 나이: 34세
- 직업: 전직 일반 비서, 현재 구직중
- 거주지: 충청남도 아산시
- 학력: 4년제 대학교
- 페르소나 요약: "이미란 씨는 공학적 전문성과 비서의 유연함을 겸비한 34세 구직자로..."
## 서비스 설명
「거부기린」은 웹캠으로 사용자의 실시간 거북목과 자세 변화를 분석하고...
## 질문
이 페르소나가 이 서비스를 설치 및 지속 사용할 확률을 0~100 사이의 정수로
평가하고, 그 이유를 2~3문장으로 설명하세요.
## 출력 형식 (반드시 준수)
PROBABILITY: <0~100 사이 정수>
REASON: <2~3문장 이유>
설계에서 신경 쓴 부분이 몇 가지 있다.
"시뮬레이터"라는 역할 부여가 핵심이었다. 역할 없이 돌렸을 때는 LLM이 자기 관점에서 서비스를 평가하는 경향이 있었다. "이 서비스는 유용해 보입니다" 같은 일반론. 역할을 부여하니 "이 페르소나는 PC를 주업무로 안 쓰니까 필요성을 못 느낄 것 같다"는 식으로, 그 사람의 상황에서 판단하는 흔적이 보였다.
서비스 설명에는 "혁신적인", "최고의" 같은 수식어를 뺐다. 칭찬을 넣으면 확률이 올라가니까. 그래도 완전한 중립은 불가능하다. 서비스를 설명하는 것 자체가 이미 긍정적인 프레이밍이다. 이 한계는 뒤에서 다시 얘기하겠다.
출력 형식은 강제했다. PROBABILITY: <숫자>와 REASON: <텍스트> 형식으로만 답하게 했다. 자유 형식으로 받으면 "확률은 약 70% 정도", "열에 일곱", "쓸 것 같기도 하고 안 쓸 것 같기도 하고" 같은 걸 다 파싱해야 한다. 출력 형식 고정은 LLM 실험에서 기본 중의 기본이다.
4. 돌려보니 — 결과
4-1. 전체 요약
먼저 전체 숫자부터.
- 1만 명 전원 유효 응답. 에러 0건, fallback 0건.
- 평균 가입 확률: 51.9%, 중앙값: 45%
- 표준편차: 22.2%
- 최솟값: 10%, 최댓값: 85%

평균이 51.9%면 "절반 정도가 써보겠다"는 얘기다. 근데 중앙값이 45%라는 게 중요하다. 평균이 중앙값보다 높다는 건, 확률을 높게 준 소수의 응답이 평균을 끌어올렸다는 뜻이다. 분포가 정규분포가 아니라 살짝 오른쪽으로 치우쳐 있다.
표준편차 22.2%도 눈여겨볼 만하다. 50% ± 22%면 응답이 28%부터 72%까지 꽤 넓게 퍼져 있다. 페르소나마다 반응이 달랐다는 거다. 모두가 비슷하게 50%를 줬다면 표준편차가 5~10% 정도일 텐데, 22%면 페르소나의 특성(연령, 직업 등)이 확률에 큰 영향을 미쳤다는 뜻이다.
최솟값이 10%고 최댓값이 85%라는 것도 흥미롭다. 0%나 100%가 하나도 없었다. Qwen3가 극단적인 값을 피하는 경향이 있는 건지, 아니면 프롬프트 구조상 극단적 판단이 어려운 건지는 모르겠다. 어쨌든 10~85% 범위 안에서 페르소나별로 의미 있는 분산이 있었다.
이제 쪼개서 보자.
4-2. 연령대별: 확 드러나는 패턴
| 연령대 | 샘플 수 | 평균 가입 확률 | 중앙값 |
|---|---|---|---|
| 20대 | 1,424명 | 72.5% | 75% |
| 30대 | 1,488명 | 72.2% | 75% |
| 40대 | 1,770명 | 63.4% | 65% |
| 50대 | 2,001명 | 48.2% | 40% |
| 60대 | 1,778명 | 34.2% | 30% |
| 70대+ | 1,539명 | 25.3% | 20% |

연령이 낮을수록 가입 의향이 높다. 2030은 70%대, 40대까지는 60%대를 유지한다. 50대가 분기점이다. 40대 63.4%에서 50대 48.2%로 15%p가 떨어진다. 60대는 34.2%까지 내려간다.
거부기린이 PC 기반 서비스라는 점과 맞아떨어지는 패턴이다. 2030은 하루 종일 노트북 앞에 앉아있는 세대다. 코딩하고, 문서 쓰고, 유튜브 보고. 이들한테 거북목은 일상이고 자세 교정은 늘 미루는 숙제다. 60대 이상은 스마트폰은 쓰지만 데스크톱 앱은 익숙하지 않다. 거북목 문제는 있어도 PC 앱 설치 자체가 장벽이다.
마케팅 전략에 직접적인 시사점이 있다. 50대 미만을 1차 타겟으로 잡고, 50대 이상은 2차로 접근하는 게 합리적이다.
4-3. 직업별: 직업이 서비스 수요를 말해준다
| 직업 | 샘플 수 | 평균 가입 확률 |
|---|---|---|
| IT/기술직 | 339명 | 75.6% |
| 경영진/관리자 | 128명 | 72.8% |
| 사무직 | 1,136명 | 70.7% |
| 의료/보건 | 131명 | 66.1% |
| 교육 | 201명 | 64.8% |
| 영업/판매 | 510명 | 60.9% |
| 기타 | 3,204명 | 53.0% |
| 요식업 | 197명 | 45.6% |
| 무직/구직 | 3,871명 | 41.7% |
| 운송/물류 | 283명 | 38.3% |

IT/기술직이 75.6%로 1위다. 하루 종일 모니터 앞에 있는 직업이니 당연하다. 거북목은 직업병이나 다름없고, 거부기린 같은 서비스에 즉각적으로 반응할 가능성이 높다.
경영진, 사무직도 70%대. LLM의 응답을 보니 경영진은 "건강 관리에 대한 관심"을 이유로 드는 경우가 많았다. 시니어 관리자일수록 건강을 챙기려는 의지가 강하다고 판단한 것 같다.
의료/보건이 66.1%로 꽤 높다. 병원에서 PC를 쓰는 시간이 생각보다 길다. EMR 입력, 영상 판독, 연구 논문 작업. 건강 분야에 대한 관심 자체가 높으니 자세 관리 앱에도 열린 태도를 보이는 거다.
운송/물류는 38.3%, 무직/구직은 41.7%. PC를 주업무 도구로 쓰지 않으면 확률이 낮다. 흥미로운 건 직업이 연령보다 더 강한 변수일 수 있다는 점이다. 40대 사무직은 70%대지만 40대 요식업은 40%대다. 같은 연령이라도 직업에 따라 30%p 가까이 벌어진다. "3040 직장인"보다 "데스크 워커"라는 기준이 더 정확할 수 있다.
4-4. 성별: 남녀 차이는 있을까?
- 남성 54.8% vs 여성 49.0%
- 차이는 약 5.8%p

차이가 있긴 한데, 연령이나 직업만큼 크지 않다. 데이터셋에서 남성의 IT/기술직 비율이 여성보다 높을 수 있고, 그게 전체 남성 평균을 끌어올렸을 가능성이 있다. 아니면 LLM의 편향일 수도 있다. 학습 데이터에 "남성이 기술 앱을 더 많이 쓴다"는 경향이 반영되어 있을 가능성이다.
5.8%p 차이로 성별 마케팅 전략을 다르게 가져갈 필요는 없다.
4-5. 지역별: 수도권 vs 지방
| 지역 | 샘플 수 | 평균 가입 확률 |
|---|---|---|
| 서울 | 2,578명 | 55.9% |
| 경기 | (위와 동일 집계) | 53.4% |
| 인천 | — | 52.4% |
| 대구 | — | 51.9% |
| 부산 | — | 49.8% |
| 충남 | — | 49.3% |
| 경남 | — | 49.2% |
| 경북 | — | 47.5% |
| 전북 | — | 47.1% |
| 전남 | — | 43.0% |

수도권이 지방보다 6~10%p 높다. 서울 55.9%, 전남 43.0%으로 12.9%p 차이다. 수도권일수록 사무직 비율이 높고 IT 기업이 밀집해 있다. 장시간 PC를 쓰는 환경이 많으니 수요도 높다.
다만 수도권 확률이 높은 게 지역 특성 때문인지, 수도권에 젊은 사무직이 많아서인지는 교차 분석이 필요하다. 이번에는 거기까지 들어가지 않았다.
4-6. LLM이 쓴 가입 사유 예시
숫자만 보면 재미없다. 실제 LLM이 뭐라고 답했는지 보자.

20세 여성 / 전자제품 개발 기술자 / 울산 — 75%
오윤주 씨는 장시간 컴퓨터 앞에서 일하는 전자제품 개발 기술자로, 거북목 예방에 관심이 있을 가능성이 높습니다. 또한 데이터가 외부로 전송되지 않는 온디바이스 방식이 내향적인 성향의 페르소나에게 큰 장점으로 작용할 것입니다.
온디바이스 방식을 프라이버시 장점으로 연결 지은 게 흥미로웠다. 서비스 설명에 적어놨는데 페르소나의 성향과 연결 지어서 판단했다.
35세 여성 / 경리 사무원 / 대전 — 75%
황누리 씨는 장시간 PC를 사용하는 경리 사무원으로, 거북목에 대한 위험을 인지하고 있을 가능성이 높다. 온디바이스 방식의 보안성과 간단한 피드백 방식은 부담 없이 지속 사용할 수 있는 요소가 될 것이다.
40세 남성 / 전기 용접원 / 울산 — 45%
김정우 씨는 장시간 자세를 고정하는 작업을 하기 때문에 자세 관리에 관심이 있을 수 있으나, PC를 주업무 도구로 사용하지 않아 앱 사용 확률은 낮다. 다만 건강 관리에 대한 인식이 높다면 설치 후 꾸준히 사용할 가능성은 있다.
용접원도 자세 고정 문제가 있다. 하지만 PC 기반 서비스라는 점에서 매칭이 안 된다. "자세 관심은 있지만 이 서비스와는 안 맞는다"는 뉘앙스를 정확히 잡았다.
62세 여성 / 무직 / 대구 — 30%
조향순 씨는 PC 사용에 익숙하지 않을뿐더러, 거북목이나 자세 관리에 대한 인식이 낮아 이 서비스의 필요성을 잘 느끼지 못할 가능성이 높습니다. 복잡한 설정이나 기술적인 앱 사용은 부담스러워할 수 있습니다.
나이, 직업, 거주지를 종합해서 "PC 친숙도 낮음, 기술적 장벽"을 도출했다. 30%라는 낮은 확률과 그 이유가 합리적으로 연결된다.
읽어보면 꽤 그럴듯하다. 직업과 PC 사용 시간의 관계, 프라이버시 민감도, 기술적 익숙함 같은 요소를 자연스럽게 엮어서 설명한다. 물론 이게 실제 사람의 반응과 같다고 할 수는 없다.
5. 이걸 믿어도 되나?
결과가 직관과 잘 맞아떨어졌다. 2030 IT 직장인이 가장 높고, 70대 무직이 가장 낮다. "당연한 거 아니야?"라고 할 수도 있다.
그게 포인트다. 당연한 결과가 나왔다는 것 자체가 이 방식의 검증이다. 엉뚱한 결과가 나왔다면 LLM이 페르소나를 제대로 이해하지 못한 거겠지만, 일관된 패턴이 나온 건 적어도 "방향은 맞다"는 걸 보여준다.
실험에서 건진 인사이트를 정리하면 이렇다.
1차 타겟은 2030 데스크 워커다. 20대 72.5%, 30대 72.2%, IT/기술직 75.6%, 사무직 70.7%. 연령과 직업을 교차하면 "2030 IT/사무직"이 가장 반응이 좋은 세그먼트라는 게 명확하다.
50대부터 반응이 급격히 떨어진다. 40대에서 50대로 갈 때 15%p가 한 번에 떨어진다. 50대 이상 사용자를 포기하라는 게 아니라, 초기 리소스는 50대 미만에 집중하는 게 효율적이라는 얘기다.
직업이 연령보다 더 강한 변수일 수 있다. 40대 사무직(70%대) vs 40대 자영업(40%대)처럼, 같은 연령이라도 직업에 따라 차이가 크다. 링크드인 광고나 직업 커뮤니티 타겟팅이 단순 연령 타겟팅보다 효과적일 수 있다.
한계
물론 한계도 명확하다.
LLM이 만든 예측이지 실제 사람의 반응이 아니다. 진짜 34세 구직자가 내 서비스를 본다면 75%가 아니라 0%일 수도 있다. "관심 있다"고 클릭하는 것과 "실제로 설치하고 매일 쓰는" 건 완전히 다른 차원의 행동이다. LLM은 페르소나의 텍스트 정보를 바탕으로 합리적으로 추론한 것뿐이다.
페르소나 데이터 자체가 가상이다. 엔비디아가 한국 인구 분포를 반영해서 만들었다고는 하지만, 여전히 LLM이 생성한 데이터다. 특히 무직/구직이 38.7%를 차지한 건 실제보다 높을 가능성이 크다. 이게 전체 평균(51.9%)을 낮추는 방향으로 작용했을 거다.
프롬프트에 따라 결과가 달라진다. 서비스 설명을 조금만 바꿔도 확률 분포가 움직인다. "무료"라는 단어를 넣으면 전체적으로 확률이 올라갈 게 뻔하다. 최대한 중립적으로 서비스를 설명하려고 했지만, 완전한 객관성은 불가능하다.
LLM 모델 자체의 편향. Qwen3 32B가 한국인의 행동을 얼마나 잘 시뮬레이션하는지는 검증되지 않았다. 학습 데이터에 "노년층은 기술에 익숙하지 않다"는 스테레오타입이 과반영되어 있다면, 결과도 그 편향을 반영했을 거다.
6. 마무리
1만 명한테 "우리 서비스 어때요?" 물어봤다. 비용은 0원, 소요 시간은 몇 시간.
결과는 직관과 합쳤다. 2030 IT 직장인이 가장 반응이 좋고, 60대 이상은 낮다. 직업이 연령만큼 중요한 변수다. 수도권이 지방보다 반응이 좋다. 서비스 런칭 전 타겟 고객 설정과 초기 마케팅 방향을 잡는 데 실질적인 참고가 된다.
물론 이게 실제 사용자 조사를 대체할 수는 없다. 진짜 사용자 인터뷰, 베타 테스트, A/B 테스트는 여전히 필수다. 하지만 그 전에 방향을 잡는 첫 번째 스텝으로는 쓸만하다. 0원에 1만 명 인터뷰를 해볼 수 있다는 건, 리소스가 부족한 개인 개발자나 소규모 스타트업에게 특히 유용하다.
이 방식의 또 다른 장점은 반복이 쉽다는 거다. 프롬프트를 수정하면 다시 돌릴 수 있고, 서비스 설명을 바꾸면 어떤 메시지가 더 효과적인지 시뮬레이션할 수 있다. 실제 설문조사에서는 설문지 하나 바꾸는 것도 일인데, 여기선 프롬프트 몇 줄 수정이면 된다.
다음엔 랜딩 페이지 두 개 버전을 페르소나 1만 명에게 보여주고 어느 쪽을 더 클릭할지 예측해보는 실험도 해보고 싶다. "무료로 시작하세요" vs "거북목, 이제 그만" — 어떤 카피가 더 반응이 좋을지.
'개발 > AI' 카테고리의 다른 글
| "코딩 1도 몰라도 된다"는 말이 가장 무섭다: 모아이 ADK 발표 후기 (0) | 2026.05.22 |
|---|---|
| 현업에서는 이렇게 AI를 운영한다 - 구름 커밋 후기 (2) | 2026.05.17 |
| GGUF, MLX 그게 뭔데..? (0) | 2026.04.23 |
| AI 시대의 개인 이슈 트래커 - 나만의 Linear를 만들어봤다 (2) | 2026.03.27 |
| AI 에이전트 스킬 vs 멀티에이전트 (1) | 2026.02.26 |