인터뷰형 대화 시스템을 테스트하려면 다양한 가상 사용자가 필요한데, LLM으로 그런 가짜 사용자 성격을 자동으로 만들어냈다
인터뷰형 대화 시스템을 테스트하려면 다양한 가상 사용자가 필요한데, LLM으로 그런 가짜 사용자 성격을 자동으로 만들어냈다
여행 정보나 취향을 묻는 인터뷰 대화 시스템은 사람이 직접 테스트하려면 시간과 비용이 많이 든다. 이 논문은 소수의 예시 페르소나만 주면 LLM이 대화 스타일이 서로 다른 가상 사용자 페르소나를 대량으로 만들어내는 방법을 제안한다. 실험 결과 이렇게 만든 가상 사용자들이 내는 발화가 기존 방식보다 더 다양해졌다.
METAL MEDIA 해설 도표
인터뷰형 대화 시스템을 테스트하려면 다양한 가상 사용자가 필요한데, LLM으로 그런 가짜 사용자 성격을 자동으로 만들어냈다
- 01여행 정보를 묻는 시스템과 디저트 취향을 묻는 시스템, 두 개의 일본어 인터뷰 대화 시스템에 방법을 적용했다.
- 02사람이 직접 만든 페르소나 10개를 예시로 주고 GPT-4o에게 조건당 100개의 새 페르소나를 만들게 했다.
- 03페르소나를 만들 때 시스템을 물건처럼 대하는지 사람처럼 대하는지(의인화 정도), 말을 에둘러 하는지 직설적으로 하는지(정교함 정도) 두 가지 성격 특성을 함께 지정했다.
- 04생성된 페르소나로 GPT-4o 기반 가상 사용자가 GPT-4o-mini 기반 인터뷰 시스템과 대화하게 하고, 발화 길이·어휘 다양성 등 여러 지표로 다양성을 측정했다.
- 05페르소나만 LLM으로 새로 생성해도 내용 다양성이 늘었고(내용어 타입-토큰 비율이 여행 도메인 .106에서 .122로, 디저트 도메인 .109에서 .133으로 상승), 정교함 특성을 지정하면 발화 길이의 편차가 커져(표준편차가 여행 도메인 7.0에서 18.2로, 디저트 도메인 8.0에서 17.7로 상승) 문체 다양성도 늘었다.
무엇을 했나
- 여행 정보를 묻는 시스템과 디저트 취향을 묻는 시스템, 두 개의 일본어 인터뷰 대화 시스템에 방법을 적용했다.
- 사람이 직접 만든 페르소나 10개를 예시로 주고 GPT-4o에게 조건당 100개의 새 페르소나를 만들게 했다.
- 페르소나를 만들 때 시스템을 물건처럼 대하는지 사람처럼 대하는지(의인화 정도), 말을 에둘러 하는지 직설적으로 하는지(정교함 정도) 두 가지 성격 특성을 함께 지정했다.
- 생성된 페르소나로 GPT-4o 기반 가상 사용자가 GPT-4o-mini 기반 인터뷰 시스템과 대화하게 하고, 발화 길이·어휘 다양성 등 여러 지표로 다양성을 측정했다.
- 페르소나만 LLM으로 새로 생성해도 내용 다양성이 늘었고(내용어 타입-토큰 비율이 여행 도메인 .106에서 .122로, 디저트 도메인 .109에서 .133으로 상승), 정교함 특성을 지정하면 발화 길이의 편차가 커져(표준편차가 여행 도메인 7.0에서 18.2로, 디저트 도메인 8.0에서 17.7로 상승) 문체 다양성도 늘었다.
| Condition | Personality | #Dialogues | Ave. utterance length (S.D.) | Ave. utterance | length (S.D.) | Total words | Total | words | Unique words | Unique | words | Unique bigrams | Unique | bigrams | TTR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ave. utterance | |||||||||||||||
| length (S.D.) | |||||||||||||||
| Total | |||||||||||||||
| words | |||||||||||||||
| Unique | |||||||||||||||
| words | |||||||||||||||
| Unique | |||||||||||||||
| bigrams | |||||||||||||||
| BL | 100 | 28.2 | (7.7) | 42,260 | 15,747 | 31,620 | .373 | ||||||||
| noPT | 100 | 28.5 | (7.0) | 42,784 | 16,362 | 32,730 | .382 | ||||||||
| APM | All | 100 | 28.4 | (7.2) | 42,563 | 16,089 | 32,334 | .378 | |||||||
| High | 50 | 30.1 | (7.6) | 22,547 | 8,406 | 17,098 | .373 | ||||||||
| Low | 50 | 26.7 | (6.3) | 20,016 | 7,683 | 15,236 | .384 | ||||||||
| EL | All | 100 | 36.0 | (18.2) | 53,951 | 18,556 | 39,010 | .344 | |||||||
| High | 50 | 50.7 | (13.9) | 38,001 | 12,175 | 26,883 | .320 | ||||||||
| Low | 50 | 21.3 | (5.7) | 15,950 | 6,381 | 12,127 | .400 | ||||||||
| APM+EL | All | 100 | 31.4 | (13.4) | 47,111 | 16,856 | 34,839 | .358 | |||||||
| High+High | 25 | 46.2 | (12.3) | 17,308 | 5,624 | 12,309 | .325 | ||||||||
| High+Low | 25 | 23.6 | (4.8) | 8,836 | 3,451 | 6,787 | .391 | ||||||||
| Low+High | 25 | 35.2 | (9.9) | 13,184 | 4,651 | 9,796 | .353 | ||||||||
| Low+Low | 25 | 20.8 | (5.9) | 7,783 | 3,130 | 5,947 | .402 |
| Condition | Personality | #Dialogues | Ave. utterance length (S.D.) | Ave. utterance | length (S.D.) | Total words | Total | words | Unique words | Unique | words | Unique bigrams | Unique | bigrams | TTR |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Ave. utterance | |||||||||||||||
| length (S.D.) | |||||||||||||||
| Total | |||||||||||||||
| words | |||||||||||||||
| Unique | |||||||||||||||
| words | |||||||||||||||
| Unique | |||||||||||||||
| bigrams | |||||||||||||||
| BL | 100 | 25.9 | (7.8) | 25,152 | 11,138 | 20,534 | .443 | ||||||||
| noPT | 100 | 25.6 | (8.0) | 25,509 | 11,105 | 20,634 | .435 | ||||||||
| APM | All | 100 | 25.6 | (8.2) | 25,680 | 11,124 | 20,862 | .433 | |||||||
| High | 50 | 26.5 | (8.2) | 13,269 | 5,723 | 10,824 | .431 | ||||||||
| Low | 50 | 24.6 | (8.0) | 12,411 | 5,401 | 10,038 | .435 | ||||||||
| EL | All | 100 | 33.9 | (17.7) | 34,020 | 13,214 | 26,117 | .388 | |||||||
| High | 50 | 47.5 | (14.8) | 23,755 | 8,578 | 17,808 | .361 | ||||||||
| Low | 50 | 20.3 | (6.1) | 10,265 | 4,636 | 8,309 | .452 | ||||||||
| APM+EL | All | 100 | 28.1 | (12.2) | 28,067 | 11,549 | 22,182 | .411 | |||||||
| High+High | 25 | 39.4 | (13.1) | 9,857 | 3,743 | 7,643 | .380 | ||||||||
| High+Low | 25 | 22.2 | (6.7) | 5,560 | 2,458 | 4,533 | .442 | ||||||||
| Low+High | 25 | 30.6 | (10.5) | 7,642 | 3,087 | 6,015 | .404 | ||||||||
| Low+Low | 25 | 20.0 | (5.9) | 5,008 | 2,261 | 3,991 | .451 |
왜 중요한가
실제 사용자를 모아 인터뷰 시스템을 테스트하는 대신 이런 방법으로 사람 노동을 줄이면서도 다양한 상황을 미리 시험해 볼 수 있다. 다양한 성격의 가짜 사용자를 많이 만들수록 시스템이 미처 예상하지 못한 문제를 발견할 확률이 높아진다.
이 논문의 용어
- 페르소나 · 가상 사용자에게 부여하는 성격, 취향, 말투 등의 프로필
- 인터뷰 대화 시스템 · 여러 사용자에게 질문을 던져 정보를 수집하는 대화형 AI 시스템
- 사용자 시뮬레이터 · 실제 사람 대신 대화 시스템과 상호작용하도록 만든 가상의 대화 상대
- 타입-토큰 비율(TTR) · 전체 단어 수 대비 서로 다른 단어 수의 비율로, 어휘가 얼마나 다양한지 보여주는 지표
- few-shot 예시 · 모델에게 몇 개의 예시를 보여줘서 비슷한 형식으로 새로운 결과를 만들게 하는 방법
최신 논문
- AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다AI 코딩 에이전트에게 과학 소프트웨어 수리를 시켜보니, 절반도 제대로 못 고쳤다
- 논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기논문 속 시연이 아니라 실제 서비스에 넣을 수 있는 희소 어텐션 만들기
- 고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법고객상담 AI 상담원이 규정을 '한 번의 행동'이 아니라 '전체 절차'로 지키게 만드는 방법
- 로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다로봇 팔에게 사람의 시연 없이 새 일 시키기, 말 잘하는 AI가 대신 가르친다
- 에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법에이전트 학습용 환경을 새로 만드는 대신, 기존 환경에 '패치 부품'을 씌워 그 에이전트의 약점에 맞게 바꾸는 방법
- AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다AI 모델을 '소유'하지 못한 조직은 안전 통제도 절반밖에 못 한다
- AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다AI가 선생님 모델을 따라 배우다가, 정답에 다가가는 '좋은 생각'까지 억누르는 문제를 잡아낸다
- AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다AI가 특정 사람 말투를 흉내내도록 시켜봤더니, 결국 AI 자신의 말투에서 못 벗어난다
METAL MEDIA 최신 기사
그림 출처: Mikio Nakano et al., arXiv:2608.19549, arxiv-nonexclusive