Split View: 시뮬레이션된 고객은 절대 떠나지 않는다 — LLM 유저 시뮬레이터가 에이전트 점수를 부풀리는 지점
시뮬레이션된 고객은 절대 떠나지 않는다 — LLM 유저 시뮬레이터가 에이전트 점수를 부풀리는 지점
- 들어가며 — 에이전트를 채점하는 그 사용자는 누구인가
- 시뮬레이터가 짊어진 두 개의 역할
- 첫 번째 증거 — 실제 사람 451명으로 τ-bench를 돌려 보니
- 두 번째 증거 — 시뮬레이터는 모든 사용자를 똑같이 대리하지 않는다
- 세 번째 증거 — 진짜 돈이 걸린 곳에서
- 왜 프롬프트로는 고쳐지지 않는가 — 주변부 현실성의 함정
- 이게 학습 루프에 들어가면 — 시뮬레이터는 압박 전술에 값을 잘못 매긴다
- 왜 시뮬레이터는 떠나지 못하는가
- 정직한 한계 — 어디까지 믿을 것인가
- 그래서 무엇을 해야 하나
- 마치며
- 참고 자료
들어가며 — 에이전트를 채점하는 그 사용자는 누구인가
대화형 에이전트 벤치마크의 구조를 한 번 뜯어봅시다. τ-bench(Yao 등, arXiv:2406.12045)는 항공·소매 같은 도메인에서 에이전트에게 API 도구와 정책 문서를 주고, 사용자와 여러 턴에 걸쳐 대화하게 한 뒤, 대화가 끝난 시점의 데이터베이스 상태를 정답 목표 상태와 비교해 채점합니다. 상태 비교로 채점한다는 점에서 이 벤치마크는 정직합니다 — LLM 심사자의 취향이 아니라 실제로 예약이 바뀌었는지를 봅니다.
문제는 그 옆칸입니다. 대화 상대인 사용자 역시 언어 모델이 연기합니다. 그리고 이 사실은 보통 방법론 각주 한 줄로 지나갑니다.
여기서 짚고 갈 게 있습니다. 유저 시뮬레이터는 측정 대상이 아니라 측정 도구입니다. 에이전트가 시험을 보는 동안, 시뮬레이터는 시험 문제를 읽어 주고 반응하는 시험 감독입니다. 물리 실험이라면 아무도 교정하지 않은 자로 길이를 재고 소수점 셋째 자리를 논문에 싣지는 않습니다. 그런데 우리는 2년 가까이 정확히 그 일을 해 왔습니다. 자를 검증한 사람이 없었던 겁니다.
2026년에 그 검증이 세 갈래로 들어왔고, 세 연구가 독립적으로 같은 방향을 가리킵니다. 시뮬레이션된 사용자는 진짜 사용자보다 착합니다. 그리고 그 착함은 균일하게 퍼진 잡음이 아니라, 하필 가장 중요한 지점에 쏠린 편향입니다.
시뮬레이터가 짊어진 두 개의 역할
먼저 이 도구가 얼마나 하중을 받고 있는지 정리해 둡시다. Sim2Real 격차 논문(Zhou 등, arXiv:2603.11245)의 정리에 따르면 시뮬레이터는 두 가지 역할을 동시에 합니다.
- 사용자 턴 생성 — 에이전트가 상대할 발화를 만든다.
- 평가 신호 제공 — 대화가 잘 굴러갔는지에 대한 피드백을 준다.
즉 시뮬레이터가 편향되면 그 편향은 두 경로로 새어 나옵니다. 에이전트가 마주하는 문제 자체가 쉬워지고, 그 문제를 잘 풀었는지에 대한 판정까지 후해집니다. 그리고 이 결과물이 리더보드 숫자로, 더 나쁘게는 강화학습 보상 신호로 흘러 들어갑니다.
참고로 τ-bench가 원래 보고한 수치는 이렇습니다 — gpt-4o 같은 당시 최상위 함수 호출 에이전트가 과제의 절반도 풀지 못했고, 같은 과제를 여러 번 돌렸을 때 매번 성공하는지를 보는 pass^8 지표는 소매 도메인에서 25% 미만이었습니다. 이것만으로도 충분히 겸손해지는 숫자입니다. 이 글의 요점은 이 숫자마저 관대한 쪽으로 치우쳤을 가능성입니다.
첫 번째 증거 — 실제 사람 451명으로 τ-bench를 돌려 보니
Zhou 등(arXiv:2603.11245, 2026년 3월)은 τ-bench 프로토콜을 실제 사람에게 그대로 돌린 첫 연구라고 스스로를 소개합니다. 참가자 451명, 과제 165개, 그리고 상용·오픈소스·특화 계열에 걸친 LLM 시뮬레이터 31종을 같은 프로토콜 위에 올려 비교했습니다. 시뮬레이터가 실제 사용자의 상호작용 행동과 피드백을 얼마나 닮았는지 재기 위해 USI(User-Sim Index)라는 지표를 새로 제안했습니다.
행동 측면의 결론은 간결합니다. LLM 시뮬레이터는 지나치게 협조적이고, 문체가 획일적이며, 현실적인 좌절이나 모호함이 없습니다. 논문은 이것이 일종의 "이지 모드"를 만들고, 그 결과 에이전트 성공률이 인간 기준선보다 부풀려진다고 보고합니다. 여기서 중요한 건 비교 대상이 다른 시뮬레이터가 아니라 실제 인간 기준선이라는 점입니다. 부풀림의 방향과 존재를 확인할 근거가 있는 셈입니다.
평가자 역할에서도 마찬가지였습니다. 실제 사람은 여덟 가지 품질 차원에 걸쳐 결이 다른 판단을 내놓는데, 시뮬레이션된 사용자는 한결같이 더 긍정적인 피드백을 냈습니다. 규칙 기반 보상은 인간 사용자가 만들어 내는 풍부한 피드백 신호를 담아내지 못했습니다.
그리고 실무자 입장에서 가장 불편한 발견 하나 — 모델의 일반 성능이 높다고 해서 더 충실한 유저 시뮬레이션이 나오는 건 아니었습니다. 이건 "시간이 지나면 프론티어 모델이 알아서 해결해 줄 문제"라는 기대에 정면으로 어긋납니다. 더 똑똑한 모델을 시뮬레이터 자리에 꽂는 것은 자동 해결책이 아닙니다.
두 번째 증거 — 시뮬레이터는 모든 사용자를 똑같이 대리하지 않는다
Lost in Simulation(Seshadri 등, arXiv:2601.17087, 2026년 1월)은 미국·인도·케냐·나이지리아 참가자를 대상으로 τ-bench 소매 과제에서 사용자 연구를 진행했습니다. 결과를 하나씩 보겠습니다.
견고성이 없습니다. 유저 LLM을 무엇으로 고르느냐에 따라 에이전트 성공률이 최대 9%p 차이 났습니다. 잠깐 멈춰서 이 숫자의 크기를 생각해 볼 만합니다. 요즘 리더보드에서 모델 간 격차가 몇 %p 다투는 걸 감안하면, 어떤 모델을 유저 자리에 앉혔는가가 어떤 에이전트를 테스트했는가만큼 점수를 움직인다는 뜻입니다. 두 팀이 각각 "τ-bench 소매 62%"를 보고했는데 유저 모델이 다르다면, 그 두 숫자는 애초에 비교 가능한 양이 아닙니다.
보정이 체계적으로 어긋납니다. 시뮬레이션된 사용자로 한 평가는 어려운 과제에서는 에이전트 성능을 과소평가하고, 중간 난이도 과제에서는 과대평가했습니다. 방향이 난이도에 따라 뒤집히기 때문에, "전체적으로 몇 % 부풀려져 있으니 그만큼 빼면 된다"는 식의 보정이 통하지 않습니다.
대리 품질이 인구 집단마다 다릅니다. AAVE(아프리카계 미국인 구어체 영어) 화자는 표준 미국 영어 화자보다 성공률과 보정 오차가 일관되게 나빴고, 그 격차는 연령이 올라갈수록 유의하게 벌어졌습니다. 시뮬레이터는 AAVE 화자와 인도 영어 화자에게 가장 나쁜 대리인이었습니다. 즉 시뮬레이터 기반 평가는 특정 사용자 집단에서의 실패를 구조적으로 덜 보여 줍니다. 공정성 문제이기 이전에 측정 커버리지 문제입니다.
여기에 더해 시뮬레이션된 사용자는 대화 상의 인공물을 만들어 내고, 실제 사람과는 다른 실패 패턴을 드러냈습니다.
세 번째 증거 — 진짜 돈이 걸린 곳에서
앞의 두 연구는 강력하지만 공통된 한계를 갖습니다. 기준선이 되는 "실제 사람"이 배정받은 목표를 연기하는 유급 참가자라는 점입니다. Simulated Customers Never Walk Away(Liang Chen, arXiv:2606.20708, 2026년 6월 16일)는 바로 이 지점을 구조적 사각지대라고 부릅니다.
논리는 이렇습니다. 목표가 배정되면 사용자의 의향(willingness)이 외생 변수가 됩니다. 참가자는 "이 항공편을 취소하라"는 지시를 받았으니, 그 대화 안에서 취소하고 싶은지 여부는 애초에 질문 대상이 아닙니다. 그래서 기존 프레임워크는 시뮬레이터가 인간처럼 말하는지(communicative fidelity) 는 잴 수 있어도, 시뮬레이터가 인간처럼 결정하는지(decision fidelity) 는 원리상 잴 수 없습니다. 실제 사용자의 동기는 내생적이고, 잠재적이고, 시간에 따라 감쇠하니까요.
논문은 그래서 결정 충실도라는 개념을 새로 세우고, 그것을 잴 수 있는 특이한 테스트베드를 씁니다.
테스트베드 — ZhenaiSales
중국 결혼정보 플랫폼에 실제로 배포된 LLM 판매 에이전트와 실제 고객(성인 자녀를 대신해 상담하는 부모) 사이의 프로덕션 대화 2,790건입니다. 이 중 793건은 전환됐습니다 — 부모가 실제로 결제했고, 그 결제가 주문 기록으로 검증됩니다. 나머지 1,997건은 비전환입니다. 98%에 구조화된 인구통계 프로필이 붙어 있고, 대화 길이 중앙값은 16턴(6~80턴)입니다.
여기서 저자가 신경 쓴 부분이 눈에 띕니다. 전환된 대화는 첫 결제 시점에서 잘라 냅니다. 결제 이후의 서비스 대화가 남아 있으면 결과가 그대로 새어 나가기 때문입니다(구매자당 평균 19턴이 잘려 나갔습니다). 남은 것은 결정 이전의 동역학뿐입니다.
역할극 코퍼스와의 차이가 바로 이겁니다. 여기의 모든 라벨은 실제 사람이 실제 돈을 쓰거나 쓰지 않기로 한 결과입니다.
방법 — 교사 강제 프로브
측정 설계가 이 논문의 핵심이라 조금 자세히 봅니다.
실제 대화 프리픽스 h_t (진짜 사람과 진짜 에이전트가 나눈 t턴까지)
|
+---> 실제 사용자의 다음 턴 u --\
| >--- 동일한 계측기 Φ 로 채점
+---> 시뮬레이터의 다음 턴 û --/
|
depth bias D(h) = δ(Φ(û,h)) - δ(Φ(u,h))
|
대화 단위로 평균 -> D̄
|
엔드포인트 Δ = E[D̄ | 비구매자] - E[D̄ | 구매자]
두 갈래가 똑같은 실제 프리픽스에서 출발하고, 똑같은 계측기로 채점됩니다. 계측기 Φ는 사용자 턴을 구조화된 상태로 매핑하는 LLM 지각기입니다 — 관여 단계(exploring / engaging / considering / deciding / resisting), 감정, 그리고 블로커(가격·신뢰·역량·타이밍·외부 요인·과거 실패). 엄격한 JSON으로 출력하고, t턴을 채점할 때 t까지의 맥락만 봅니다(인과적 적용). 미래 정보가 새지 않게 하려는 조치입니다.
이 설계에는 논문이 명제 1로 정리한 좋은 성질이 있습니다. 두 갈래가 같은 이력을 공유하고 같은 계측기로 채점되므로, (i) 계측기가 맥락에 대해 갖는 가산적 편향은 프로브 안에서 상쇄되고, (ii) 시뮬레이터의 결과와 무관한 일반적 문체 편향은 두 층에 똑같이 실려 Δ에서 상쇄됩니다. 결과와 상관된 차이만 살아남습니다. 기존 문헌이 전부라고 여기던 두 혼란 변수 — 심사자 보정 오류와 시뮬레이터 문체 — 를 설계로 지워 버린 셈입니다.
검정은 대화 단위 순열 검정(20,000회 순열, 단측)이고 Cohen's d를 함께 보고합니다.
결과 — 이탈 결손
주 실험은 프로필 조건부 페르소나 시뮬레이터(Claude 백본), 대화 374건(비전환 181, 전환 193), 매칭된 프로브 1,109개입니다.
시뮬레이터 E[D̄|비구매자] E[D̄|구매자] Δ d (p)
------------------------------------------------------------------------
Claude persona +0.396 +0.092 +0.304 0.38 (0.0002)
(n=374) [0.30, 0.49] [-0.04, 0.22] [0.14, 0.46]
Claude, instructed +0.098 -0.187 +0.285 0.34 (0.008)
(n=200) [-0.05, 0.24] [-0.36, -0.01] [0.06, 0.51]
DeepSeek persona +0.428 +0.098 +0.330 0.41 (0.002)
(n=200) [0.27, 0.59] [-0.06, 0.26] [0.11, 0.56]
대괄호는 부트스트랩 95% 신뢰구간. 완벽한 결정 충실도라면 모든 항이 0.
두 가지가 눈에 띕니다.
첫째, 시뮬레이터는 결국 구매한 사람은 거의 정확히 재현합니다. 편향이 +0.09, 논문 표현으로 "한 단계의 10분의 1"에 불과합니다. 즉 이 시뮬레이터는 전역적으로 편향돼 있지 않습니다. 이 점이 중요합니다 — 문제를 일반적인 아첨(sycophancy)이나 장황함으로 설명할 수 없게 만들기 때문입니다. 그런 것들이라면 두 층을 똑같이 밀어 올렸을 겁니다.
둘째, 결국 떠난 사람은 네 배 더 부풀립니다(+0.40). 그 결과 결과 조건부 대비 Δ = +0.304, d = 0.38, p = 0.0002. 논문은 이 패턴에 이탈 결손(disengagement deficit)이라는 이름을 붙입니다.
메커니즘을 단계 분포로 쪼개면 이렇습니다.
비구매자 층 (real -> sim)
resisting (저항) 25.1% -> 13.5% -11.6%p 저항이 절반으로
considering (숙고) 21.9% -> 40.1% +18.2%p 숙고가 거의 두 배로
deciding (임박) 4.3% -> 4.3% 0.0%p 구매는 지어내지 않음
구매자 층 (real -> sim)
resisting (저항) 16.0% -> 13.6% -2.4%p
considering (숙고) 33.7% -> 46.6% +12.9%p
여기서 deciding 행이 결정적입니다. 시뮬레이터는 없던 구매를 지어내지 않습니다. 그러니까 "시뮬레이터가 다 사겠다고 해서 점수가 뻥튀기된다"는 식의 조잡한 실패가 아닙니다. 대신 시뮬레이터는 현실에서는 물러서는 사람을, 관심 있는 숙고자로 제조합니다. 이건 훨씬 잡아내기 어려운 실패입니다.
정성적 예시가 이 차이를 압축해서 보여 줍니다(논문 표 3, 번역).
실제 사용자 (단계) 시뮬레이터 (단계) 읽는 법
--------------------------------------------------------------------------
"바빠요" (resisting) "얼마예요?" (considering) 회피 -> 관심
"괜찮아요" (resisting) "얘기해 보세요" (engaging) 거절 -> 관여
"머리 아프네요" (resisting) "그럼 알아봐야겠네요"(considering) 이탈 -> 숙고
"고마워요 선생님"(considering) "좀 비싸네, 깎아줘요"(considering) 정중한 종료 -> 흥정
논문의 한 줄 요약이 정확합니다 — 실제 비구매자는 "지금은 아니에요"라고 말하고 멈추는데, 시뮬레이션된 비구매자는 가격을 묻습니다.
일반성 — 한 모델의 버릇이 아니다
시뮬레이터 백본을 DeepSeek-V4-Flash로 바꿔도(다른 계열, 다른 학습 파이프라인, 다른 정렬 레시피) 결손은 같은 강도로 재현됩니다 — Δ = +0.330, d = 0.41, p = 0.002. 메커니즘도 같습니다(비구매자 저항 −9.4%p, 숙고 +16.8%p).
계측기 쪽 의심도 확인했습니다. 시뮬레이터는 Claude로 두고 심사자만 DeepSeek 계열로 바꿔 150건 부분집합을 다시 채점했더니, 결손은 사라지기는커녕 더 강해졌습니다 — Δ = +0.351, d = 0.42, p = 0.015. 심사자가 미래를 훔쳐보는지에 대한 별도 점검(가시 창을 프리픽스 대 전체 대화로만 바꾼 형식 통제 검사)에서도 결과 상관 이동이 없었습니다(d = −0.04, p = 0.62).
왜 프롬프트로는 고쳐지지 않는가 — 주변부 현실성의 함정
여기부터가 이 논문에서 가장 배울 게 많은 부분입니다.
실무자의 첫 번째 대응은 뻔합니다. "시뮬레이터한테 관심 없어도 된다고 말해 주면 되잖아?" 논문은 정확히 그 실험을 합니다. 지시형 변형은 프롬프트에 명시적 행동 허가를 넣습니다 — 실제 부모가 늘 협조적이거나 관심 있는 건 아니다, 앞서 시큰둥했으면 계속 그래도 된다("응", "바빠요", "생각해 볼게요", "아니요"), 무관심해도 되고 미뤄도 되고 짜증 내도 된다.
결과는 이렇습니다.
- 주변부(marginal)에서는 통합니다. 전체 깊이 편향이 +0.24에서 −0.04로 다섯 배 줄었습니다. 비구매자 저항 억제도 −11.6%p에서 −1.7%p로 거의 사라졌습니다.
- 결과 조건부 대비는 거의 그대로입니다. Δ = +0.285(d = 0.34, p = 0.008), 이전 +0.304에서 사실상 움직이지 않았습니다.
무슨 일이 벌어진 걸까요. 지시는 시뮬레이터를 균일하게 더 저항적으로 만들었습니다. 이제 비구매자는 대략 맞게 재현하는 대신, 구매자를 과도하게 저항적으로 그립니다(E[D̄|구매자] = −0.187 — 실제보다 덜 몰입한 사람으로 읽음). 시뮬레이터는 이탈을 연기하는 법은 배웠지만 누가 이탈해야 하는지는 여전히 모릅니다. 지시는 오류를 제거한 게 아니라 비구매자에게서 구매자에게로 옮겼습니다.
논문은 이걸 주변부 현실성의 함정이라고 부르고, 저는 이 대목이 이 논문의 진짜 기여라고 봅니다. 인구 전체에 평균 내면, 비구매자를 과잉 관여시키고 구매자를 충실히 따라가는 시뮬레이터도 주변부 단계 분포는 꽤 잘 맞출 수 있습니다 — 그런데 그게 바로 인구 수준 정렬 지표가 보상하는 통계량입니다. 오류는 결과를 조건으로 걸어야만 보이고, 그러려면 실제 결과 데이터가 있어야 합니다. 소통 충실도 벤치마크는 아무리 잘 만들어도 여기에 구조적으로 눈이 멉니다.
한 문장으로 줄이면 이렇습니다. 측정하기 쉽고 최적화하기 쉬운 양(주변부 현실성)은 전이를 지배하는 양(조건부 결정 충실도)이 아닙니다.
흥미롭게도 이 관찰은 다른 팀에서 독립적으로도 나옵니다. RealUserSim(arXiv:2605.20204)은 손으로 쓴 행동 지시가 지시 증폭(Directive Amplification)을 유발한다고 보고합니다 — 모델이 지시를 과잉 해석해 부자연스러운 행동 극단으로 치닫고, 그 정도가 시뮬레이터 모델마다 크게 달라진다는 겁니다. 프롬프트로 사용자 행동을 조각하려는 시도가 두 논문에서 각각 다른 방식으로 실패하고 있습니다.
이게 학습 루프에 들어가면 — 시뮬레이터는 압박 전술에 값을 잘못 매긴다
평가만의 문제라면 "보고된 성공률은 상한선이다" 정도로 정리하고 넘어갈 수 있습니다. 문제는 이 신호가 학습 루프에 들어갈 때입니다.
논문은 각 프로브 직전의 에이전트 행동을 라벨링해서(rapport / probe / pitch / handle-objection / push-close / reassure) 실제 대 시뮬레이션 반응을 행동별로 비교합니다. 프로브 595개, 계측기는 DeepSeek, 검정은 양측 Fisher 정확 검정입니다.
직전 에이전트 행동 n resisting (real->sim) considering (real->sim)
---------------------------------------------------------------------------
probe (중립 질문) 85 10.6% -> 2.4% 3.5% -> 4.7% (p=1.0)
rapport (관계 형성) 19 21.1% -> 15.8% 10.5% -> 10.5%
pitch (제안) 161 11.8% -> 5.6% 45.3% -> 75.2% (+29.9%p)
push-close (밀어붙임) 169 18.9% -> 10.7% 41.4% -> 52.1%
handle-objection 94 31.9% -> 29.8% 26.6% -> 43.6%
reassure (안심시킴) 67 40.3% -> 29.9% 13.4% -> 14.9%
왜곡이 압박 전술에 정확히 집중돼 있습니다. 제안(pitch) 뒤에 실제 사용자는 45.3% 확률로 숙고하는데 시뮬레이션 사용자는 75.2%입니다(+29.9%p). 밀어붙이기(push-close) 뒤에는 시뮬레이션된 저항이 18.9%에서 10.7%로 억눌립니다(−8.2%p, p = 0.046). 반면 중립적인 질문(probe) 뒤의 숙고 이동은 3.5%에서 4.7%로 무시할 만합니다(p = 1.0).
함의는 불편할 만큼 명확합니다. 이 시뮬레이터를 상대로 최적화된 에이전트는 제안하고 밀어붙이면 관심이 올라온다고 관측합니다. 현실에서는 그 행동이 저항을 부르거나 아무것도 움직이지 않는데 말입니다. 논문의 표현대로, 시뮬레이터는 실제 고객을 잃게 만드는 바로 그 전술을 과잉 보상합니다. 이건 잡음이 아니라 방향을 가진 편향이고, 그래서 단순히 부정확한 게 아니라 적극적으로 오도하는 학습 신호입니다.
에이전트의 판매 역량이란 대체로 어려운 경우를 다루는 솜씨입니다 — 떠나려는 고객을 알아보고 다시 붙들거나, 아니면 깔끔하게 물러나는 것. 의향 감쇠가 없는 시뮬레이터는 그 경우들을 테스트 집합에서 통째로 지웁니다.
왜 시뮬레이터는 떠나지 못하는가
논문의 설명은 설득력이 있습니다. 결손에는 부호(관여 쪽), 위치(결국 떠나는 사람), 그리고 크기(구매자에게는 거의 0)가 있습니다. 이 패턴은 일반적 아첨으로는 설명되지 않고, 인스트럭션 튜닝이 무엇을 최적화하는지로 자연스럽게 설명됩니다.
정렬 데이터는 모델에게 도움이 되고, 반응성 있고, 대화를 앞으로 밀고 나가는 대화자가 되라고 보상합니다. 그리고 그 데이터에는 진짜 이탈이 어떻게 생겼는지가 거의 들어 있지 않습니다 — 퉁명스러운 회피("바빠요"), 지연("생각해 볼게요"), 그리고 침묵. 부모를 연기하라고 지시받은 시뮬레이터는 그래서 자기가 훈련받은 협조적 대화자로 기본 회귀하고, 저항을 표현해야 할 때 그것을 분포 내 이웃인 숙고로밖에 렌더링하지 못합니다.
여기서 결정적인 관찰 — 시뮬레이터는 실제 사용자와 똑같은 프리픽스를 봅니다. 부족한 건 정보가 아니라 행동 양식입니다. 그래서 실패가 조건부입니다. 구매자에게는 협조적 연장이 대략 맞으니 충실해 보이고, 비구매자에게는 틀리는데 그 틀림이 정확히 빠져 있는 의향 감쇠입니다.
정직한 한계 — 어디까지 믿을 것인가
이 논문이 좋은 이유 중 하나는 저자가 한계를 흐리지 않는다는 점입니다. 그대로 옮깁니다.
단일 도메인, 단일 언어. ZhenaiSales는 중국의 부모 매개 결혼 중개입니다. 부모가 성인 자녀를 대신해 협상하고, 체면 문화 규범이 간접적 거절을 선호하는 독특한 사회적 역학이 있습니다. 관찰된 이탈 신호("바빠요", "괜찮아요" 같은 퉁명스러운 회피)는 문화적으로 특수한 형태의 정중한 저항입니다.
저자는 여기서 증거 수준을 두 단계로 명시적으로 구분합니다. 이 구분이 중요합니다.
- (a) LLM 시뮬레이터가 지나치게 협조적이라는 주장에는 이제 다중 연구·교차 언어 근거가 있습니다. Zhou 등(arXiv:2603.11245)이 영어 고객 서비스 대화(참가자 451명)에서 같은 "이지 모드" 격차를 보고했기 때문입니다. 이 현상은 특정 언어나 문화가 아니라 인스트럭션 튜닝에 뿌리를 둔 것으로 보입니다.
- (b) 결손이 결과 조건부라는 주장(Δ가 0보다 크다, 비구매자가 구매자보다 더 부풀려진다)은 단일 도메인 증거에 기대고 있고 재현을 기다립니다. 조건부 결손의 방향은 인스트럭션 튜닝 설명에서 논리적으로 따라 나오므로 일반화될 것으로 보이지만, 크기는 도메인마다 다를 수 있습니다.
이 구분을 흐리면 안 됩니다. 이 글의 세 번째 증거는 하나의 도메인, 하나의 언어에서 나온 결과입니다.
계측기가 LLM입니다. 결정 상태 라벨은 LLM이 붙였습니다. 명제 1의 상쇄 논변, 인과적 라벨링 점검, 교차 계열 계측기 교체로 완화했지만, 저자 스스로 인간이 검증한 상태 라벨(부분집합에 대한 Fleiss의 카파)이 중요한 향후 과제로 남아 있다고 적습니다.
교사 강제이지 자유 롤아웃이 아닙니다. 이 연구는 실제 이력 위에서의 다음 턴 결정 충실도를 잽니다. 자유 롤아웃에서는 결손이 누적될 수 있고, 저자는 그것이 결론을 강화할 것으로 예상하지만 여기서 측정하지는 않았습니다. 예상은 예상입니다.
프로필 조건부 프롬프트 시뮬레이터입니다. 표준형과 지시형 두 가지 프롬프트 시뮬레이터를 테스트했습니다. 검색 기반이나 파인튜닝된 시뮬레이터는 다를 수 있습니다.
결과가 의향의 대리 변수입니다. 결제는 잠재적 궤적에 대한 거칠고 종점만 있는 신호입니다. 다만 기존 연구에 없던, 실제이고 결과가 따르는 정답이라는 점은 분명합니다.
덧붙이자면 이 글에 인용된 다른 숫자들에도 같은 겸손이 필요합니다. Seshadri 등의 9%p는 τ-bench 소매 과제 한정이고, Zhou 등의 USI는 이번에 새로 제안된 지표라 아직 커뮤니티의 검증을 거치지 않았습니다.
그래서 무엇을 해야 하나
정리하면 실무적으로 이렇게 남습니다.
1. 유저 시뮬레이터 모델을 실험 설정으로 취급해서 보고하세요. 에이전트 모델, 스캐폴드, 시도 횟수를 보고하듯이요. 유저 모델이 점수를 최대 9%p 움직인다면 그건 각주가 아니라 조건입니다. 시뮬레이터를 밝히지 않은 τ-bench 숫자는 비교 가능한 양이 아닙니다.
2. 보고된 성공률을 상한선으로 읽으세요. 그리고 그 상한이 가장 느슨한 곳이 하필 어려운 하위 집단 — 떠나는 사용자, 짜증 난 사용자, 표준 방언이 아닌 사용자 — 이라는 걸 함께 기억하세요. 전역 상수를 빼는 식의 보정은 통하지 않습니다. Seshadri 등이 보였듯 편향의 부호가 난이도에 따라 뒤집히니까요.
3. 주변부 현실성으로 시뮬레이터를 검증하지 마세요. 인구 수준 통계에서 사람처럼 보이는 시뮬레이터도 결과를 조건으로 걸면 체계적으로 틀릴 수 있습니다. 그리고 프롬프트 한 줄로 "관심 없어도 된다"고 허락하는 건 검증된 해법이 아니라 오류를 다른 층으로 옮기는 조치입니다.
4. 구조적 해법 쪽을 보세요. 방향은 몇 가지가 있습니다.
- 환경으로 시뮬레이터를 구속하기. τ²-bench(arXiv:2506.07982)는 사용자 시뮬레이터를 환경에 단단히 결합해, 그 행동을 도구와 관측 가능한 상태로 제약합니다. 시뮬레이터의 산문을 믿는 대신 시뮬레이터가 할 수 있는 일을 좁히는 접근입니다.
- 실제 행동 데이터에 접지하기. RealUserSim(arXiv:2605.20204)은 WildChat의 실제 인간-LLM 대화 14,000여 건에서 7,275개의 실행 가능한 행동 프로필을 뽑아 시뮬레이터를 접지합니다. 자체 충실도 벤치마크(PT3, 71개 이상 도메인의 대화 600건)에서 다섯 가지 행동 차원의 일치율을 24.2%에서 45.3%로 올렸다고 보고합니다. 흥미로운 건 τ-bench에 적용했을 때 협조적 시뮬레이터에게는 보이지 않던 세 가지 실패 메커니즘이 드러나면서 과제 성공률이 평균 3.2~3.5%p 떨어졌다는 점입니다. 절대 수치가 크진 않지만 방향은 예상대로 아래쪽입니다.
- 의향 모델로 게이팅하기. 이탈 결손 논문의 제안은, 결정 충실도는 프롬프트로 주입할 수 없으므로 실제 이탈 궤적에서 학습되거나 시뮬레이터의 협조성을 외부 의향 모델이 통제해야 한다는 것입니다. 그리고 목표 지표를 제시합니다 — Δ를 0으로 보내되 구매자 층은 유지할 것.
5. 한 번은 진짜 사람으로 검증하세요. 세 논문의 공통 결론이 이겁니다. 시뮬레이터가 전 주기에 걸쳐 값을 하려면 최소한 한 번은 인간 기준선에 앵커링돼야 합니다. 그리고 자기 제품이라면 앵커는 이미 갖고 있을 가능성이 큽니다 — 실제 로그와 실제 결과 말입니다.
마치며
이 이야기의 교훈은 "유저 시뮬레이터를 쓰지 말라"가 아닙니다. 사람으로 다중 턴 평가를 돌리는 건 느리고 비싸고, 시뮬레이션 없이는 반복 주기가 성립하지 않습니다. 실제로 세 논문 중 어느 쪽도 폐기를 주장하지 않습니다.
교훈은 더 좁고 더 실용적입니다. 유저 시뮬레이터는 벤치마크의 배경이 아니라 계측기이고, 계측기는 자기 논문과 자기 오차 막대를 가져야 합니다. 2026년의 세 연구가 처음으로 그 오차를 재기 시작했고, 나온 답은 한 방향입니다 — 시뮬레이션된 사용자는 진짜 사용자보다 착하고, 그 착함은 균일하지 않으며, 하필 가장 값비싼 곳에 쏠려 있습니다. 결정을 바꾸는 것이 목적인 에이전트에게 충실해야 하는 것은 사용자가 어떻게 말하는지가 아니라 사용자가 어떻게 결정하는지입니다.
SWE-bench의 신호와 잡음 편에서 정리한 원칙이 여기서도 그대로입니다 — 리더보드가 아니라 당신의 과제로, 당신의 사용자로 평가하세요. 다만 이번 글이 덧붙이는 게 하나 있습니다. 당신의 사용자를 LLM으로 대신 세울 거라면, 그 대역이 진짜와 어디서 갈라지는지를 당신도 한 번은 재 봐야 합니다. 그리고 그 갈라짐은 평균에서는 보이지 않습니다.
참고 자료
- Simulated Customers Never Walk Away: Decision Fidelity of LLM User Simulators Measured Against Real Purchase Outcomes (Liang Chen, arXiv:2606.20708) — 이탈 결손, ZhenaiSales 테스트베드, 교사 강제 프로브
- Mind the Sim2Real Gap in User Simulation for Agentic Tasks (Zhou 등, arXiv:2603.11245) — 실제 사람 451명으로 τ-bench 프로토콜 재현, USI, "이지 모드"
- Lost in Simulation: LLM-Simulated Users are Unreliable Proxies for Human Users in Agentic Evaluations (Seshadri 등, arXiv:2601.17087) — 유저 LLM에 따른 9%p 변동, 난이도별 보정 역전, 방언·인구 집단 격차
- τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains (Yao 등, arXiv:2406.12045) — 원조 벤치마크, 상태 기반 채점, pass^k
- τ²-Bench: Evaluating Conversational Agents in a Dual-Control Environment (arXiv:2506.07982) — 환경에 결합된 제약형 유저 시뮬레이터
- RealUserSim: Bridging the Reality Gap in Agent Benchmarking via Grounded User Simulation (arXiv:2605.20204) — 실제 행동 데이터 접지, 지시 증폭
- AI 코딩 모델 평가에서 신호와 잡음 가려내기(관련 글)
- UniClawBench로 보는 2026년의 에이전트 벤치마크(관련 글)
Simulated Customers Never Walk Away — Where LLM User Simulators Inflate Agent Scores
- Introduction — Who Is the User Scoring Your Agent?
- The Two Jobs the Simulator Carries
- First Piece of Evidence — Running τ-bench on 451 Real People
- Second Piece of Evidence — The Simulator Doesn't Proxy Every User Equally
- Third Piece of Evidence — Where Real Money Is on the Line
- Why Prompting Doesn't Fix It — The Marginal-Realism Trap
- When This Feeds a Training Loop — The Simulator Misprices Pressure Tactics
- Why the Simulator Can't Walk Away
- Honest Limitations — How Far to Trust This
- So What Should You Actually Do
- Closing
- References
Introduction — Who Is the User Scoring Your Agent?
Let's pull apart the structure of a conversational agent benchmark. τ-bench (Yao et al., arXiv:2406.12045) hands an agent API tools and policy documents in a domain like airlines or retail, has it talk to a user across multiple turns, and then scores the conversation by comparing the database state at the end against a target goal state. Scoring by state comparison is what makes this benchmark honest — it looks at whether a reservation actually changed, not at an LLM judge's taste.
The problem sits in the seat next door. The conversation partner — the user — is also played by a language model. And that fact usually gets one line in a methodology footnote.
Here's the thing worth pausing on: the user simulator is not the thing being measured — it is the measuring instrument. While the agent takes the exam, the simulator is the proctor who reads the questions aloud and reacts. In a physics experiment, nobody measures a length with an uncalibrated ruler and then reports the third decimal place in a paper. Yet for nearly two years, that is essentially what we have been doing. Nobody had verified the ruler.
In 2026, that verification arrived from three directions, and three independent studies point the same way. Simulated users are nicer than real users. And that niceness is not uniformly spread noise — it is a bias concentrated exactly where it matters most.
The Two Jobs the Simulator Carries
First, let's lay out how much load this tool is actually carrying. Per the framing in the Sim2Real gap paper (Zhou et al., arXiv:2603.11245), the simulator performs two roles at once.
- Generating user turns — producing the utterances the agent has to respond to.
- Supplying the evaluation signal — providing feedback on how well the conversation went.
So if the simulator is biased, that bias leaks through both channels. The problem the agent faces gets easier, and the judgment of whether it solved that problem well gets more lenient too. And this output flows into leaderboard numbers, and worse, into reinforcement-learning reward signals.
For reference, τ-bench's originally reported numbers were these — top function-calling agents of the time, like gpt-4o, solved less than half the tasks, and pass^8 — which checks whether the same task succeeds every time across repeated runs — came in under 25% on the retail domain. That alone is a humbling number. The point of this post is that even this number may be biased toward leniency.
First Piece of Evidence — Running τ-bench on 451 Real People
Zhou et al. (arXiv:2603.11245, March 2026) introduce their work as the first study to run the τ-bench protocol on real people as-is. With 451 participants and 165 tasks, they put 31 LLM simulators — spanning commercial, open-source, and specialized families — through the same protocol for comparison. To measure how closely a simulator resembles a real user's interaction behavior and feedback, they propose a new metric called USI (User-Sim Index).
The behavioral conclusion is blunt. LLM simulators are excessively cooperative, stylistically uniform, and missing realistic frustration or ambiguity. The paper reports that this produces a kind of "easy mode," which inflates agent success rates above the human baseline. What matters here is that the comparison point is not another simulator but an actual human baseline — so there is grounding for both the direction and the existence of the inflation.
The same held on the evaluator side. Real people render distinct judgments across 8 quality dimensions, whereas simulated users consistently produced more positive feedback. Rule-based rewards failed to capture the rich feedback signal real human users generate.
And here is the finding most uncomfortable for practitioners — higher general model capability did not translate into more faithful user simulation. This runs directly against the hope that "frontier models will just fix this over time." Plugging a smarter model into the simulator slot is not an automatic fix.
Second Piece of Evidence — The Simulator Doesn't Proxy Every User Equally
Lost in Simulation (Seshadri et al., arXiv:2601.17087, January 2026) ran a user study on τ-bench retail tasks with participants from the US, India, Kenya, and Nigeria. Let's walk through the results one at a time.
No robustness. Which user LLM you pick swings agent success rate by up to 9 percentage points. It's worth pausing on the size of that number — given that today's leaderboards fight over gaps of a few percentage points between models, this means which model you seat in the user role moves the score about as much as which agent you're testing does. If two teams each report "62% on τ-bench retail" using different user models, those two numbers were never comparable quantities to begin with.
Calibration is systematically off. Evaluations run with simulated users underestimated agent performance on hard tasks and overestimated it on medium-difficulty tasks. Because the direction flips with difficulty, a correction like "it's inflated by X% overall, so just subtract that" doesn't work.
Proxy quality differs by demographic group. Speakers of AAVE (African American Vernacular English) had consistently worse success rates and calibration error than Standard American English speakers, and the gap widened significantly with age. The simulator was the worst proxy for AAVE speakers and Indian English speakers. In other words, simulator-based evaluation structurally under-shows failures for specific user populations. Before it's a fairness problem, it's a measurement coverage problem.
On top of this, simulated users produced conversational artifacts and revealed failure patterns different from those of real people.
Third Piece of Evidence — Where Real Money Is on the Line
The two studies above are strong but share a common limit: the "real people" serving as the baseline are paid participants performing an assigned goal. Simulated Customers Never Walk Away (Liang Chen, arXiv:2606.20708, June 16, 2026) calls exactly this a structural blind spot.
The logic runs like this. Once a goal is assigned, the user's willingness becomes an exogenous variable. A participant instructed to "cancel this flight" was never being asked, within that conversation, whether they actually wanted to cancel it. So existing frameworks can measure whether the simulator talks like a human (communicative fidelity), but cannot, in principle, measure whether the simulator decides like a human (decision fidelity). A real user's motivation is endogenous, latent, and decays over time.
So the paper establishes the new concept of decision fidelity, and uses an unusual testbed to measure it.
The Testbed — ZhenaiSales
2,790 production conversations between an LLM sales agent actually deployed on a Chinese matchmaking platform and real customers (parents consulting on behalf of their adult children). Of these, 793 converted — the parent actually paid, and that payment is verified against order records. The remaining 1,997 did not convert. 98% carry a structured demographic profile, and conversation length has a median of 16 turns (range 6–80).
One detail shows the authors paying close attention. Converted conversations are truncated at the moment of first payment. If post-payment service conversation were left in, the outcome would leak straight back in (an average of 19 turns per buyer were trimmed away). What's left is only the pre-decision dynamics.
This is exactly what separates it from role-play corpora. Here, every label is the outcome of a real person actually spending, or not spending, real money.
Method — Teacher-Forced Probes
The measurement design is the heart of this paper, so it's worth looking at closely.
Real conversation prefix h_t (up through turn t, between a real person and a real agent)
|
+---> real user's next turn u --\
| >--- scored by the same instrument Φ
+---> simulator's next turn û --/
|
depth bias D(h) = δ(Φ(û,h)) - δ(Φ(u,h))
|
averaged per conversation -> D̄
|
endpoint Δ = E[D̄ | non-buyer] - E[D̄ | buyer]
Both branches start from the exact same real prefix and are scored by the exact same instrument. The instrument Φ is an LLM perceiver that maps a user turn to a structured state — engagement stage (exploring / engaging / considering / deciding / resisting), emotion, and blockers (price, trust, capability, timing, external factors, past failure). It outputs strict JSON, and when scoring turn t it only sees context up through t (causal application) — a safeguard against future information leaking in.
This design has a nice property, which the paper formalizes as Proposition 1. Because both branches share the same history and are scored by the same instrument, (i) any additive bias the instrument has toward context cancels out within the probe, and (ii) any general stylistic bias of the simulator unrelated to the outcome loads onto both layers equally and cancels out in Δ. Only differences correlated with the outcome survive. This design cancels out, by construction, the two confounders that prior literature treated as the whole problem — judge miscalibration and simulator style.
The test is a conversation-level permutation test (20,000 permutations, one-sided), reported alongside Cohen's d.
Results — The Disengagement Deficit
The main experiment uses a profile-conditioned persona simulator (Claude backbone), 374 conversations (181 non-converted, 193 converted), and 1,109 matched probes.
Simulator E[D̄|non-buyer] E[D̄|buyer] Δ d (p)
------------------------------------------------------------------------
Claude persona +0.396 +0.092 +0.304 0.38 (0.0002)
(n=374) [0.30, 0.49] [-0.04, 0.22] [0.14, 0.46]
Claude, instructed +0.098 -0.187 +0.285 0.34 (0.008)
(n=200) [-0.05, 0.24] [-0.36, -0.01] [0.06, 0.51]
DeepSeek persona +0.428 +0.098 +0.330 0.41 (0.002)
(n=200) [0.27, 0.59] [-0.06, 0.26] [0.11, 0.56]
Brackets are bootstrapped 95% confidence intervals. Under perfect decision fidelity every term would be 0.
Two things stand out.
First, the simulator reproduces eventual buyers almost exactly. The bias is +0.09 — "a tenth of a stage," in the paper's own phrase. So this simulator is not globally biased. That matters, because it rules out explaining the problem away as generic sycophancy or verbosity — either of those would have pushed both layers up equally.
Second, eventual walk-aways get inflated four times as much (+0.40). The result is an outcome-conditioned contrast of Δ = +0.304, d = 0.38, p = 0.0002. The paper names this pattern the disengagement deficit.
Breaking the mechanism down by stage distribution:
Non-buyer layer (real -> sim)
resisting 25.1% -> 13.5% -11.6%p resistance roughly halved
considering 21.9% -> 40.1% +18.2%p considering nearly doubled
deciding 4.3% -> 4.3% 0.0%p purchases are not invented
Buyer layer (real -> sim)
resisting 16.0% -> 13.6% -2.4%p
considering 33.7% -> 46.6% +12.9%p
The deciding row here is decisive. The simulator does not invent purchases that never happened. So this is not the crude failure mode of "the simulator makes everyone say yes and scores get inflated." Instead, the simulator manufactures people who are, in reality, backing away, into interested deliberators. That is a far harder failure to catch.
A qualitative example compresses this difference (Table 3 in the paper, translated):
Real user (stage) Simulator (stage) How to read it
--------------------------------------------------------------------------
"I'm busy" (resisting) "How much is it?" (considering) avoidance -> interest
"I'm fine" (resisting) "Go ahead, tell me" (engaging) refusal -> engagement
"I have a headache" (resisting) "Guess I'll look into it" (considering) disengaging -> deliberating
"Thank you" (considering) "That's a bit pricey, give me a discount" (considering) polite exit -> haggling
The paper's one-line summary is exact — real non-buyers say "not right now" and stop, while simulated non-buyers ask about price.
Generality — Not One Model's Quirk
Swapping the simulator backbone to DeepSeek-V4-Flash (a different family, different training pipeline, different alignment recipe) reproduces the deficit at the same strength — Δ = +0.330, d = 0.41, p = 0.002. The mechanism is also the same (non-buyer resistance −9.4%p, considering +16.8%p).
They also checked whether the instrument itself was the culprit. Keeping the simulator as Claude but swapping only the judge to a DeepSeek-family model and rescoring a 150-conversation subset, the deficit did not disappear — it got stronger: Δ = +0.351, d = 0.42, p = 0.015. A separate check for whether the judge peeks into the future (a format control that varied only the visibility window — prefix-only versus full conversation) showed no outcome-correlated shift (d = −0.04, p = 0.62).
Why Prompting Doesn't Fix It — The Marginal-Realism Trap
This is where the paper has the most to teach.
The obvious first move for practitioners is: "just tell the simulator it's allowed to not be interested." The paper runs exactly that experiment. The instructed variant adds explicit behavioral permission to the prompt — real parents aren't always cooperative or interested; if they were lukewarm earlier, they're allowed to stay that way ("yeah," "I'm busy," "I'll think about it," "no"); disinterest, stalling, and irritation are all permitted.
Here's what happened.
- It works at the margin. Overall depth bias dropped from +0.24 to −0.04 — a fivefold reduction. Non-buyer resistance suppression nearly vanished too, from −11.6%p to −1.7%p.
- The outcome-conditioned contrast barely moves. Δ = +0.285 (d = 0.34, p = 0.008) — essentially unchanged from the prior +0.304.
What happened here? The instruction made the simulator uniformly more resistant. Instead of getting non-buyers roughly right, it now overshoots resistance for buyers too (E[D̄|buyer] = −0.187 — reading them as less engaged than they actually are). The simulator learned how to perform disengagement but still doesn't know who is supposed to disengage. The instruction didn't remove the error — it moved it from non-buyers onto buyers.
The paper calls this the marginal-realism trap, and I think this is the paper's real contribution. Averaged across the whole population, a simulator that over-engages non-buyers while faithfully tracking buyers can still match the marginal stage distribution quite well — and that is precisely the statistic population-level alignment metrics reward. The error is only visible once you condition on the outcome, and that requires real outcome data. No matter how well-built, a communicative-fidelity benchmark is structurally blind to this.
In one sentence: the quantity that's easy to measure and easy to optimize (marginal realism) is not the quantity that governs transfer (conditional decision fidelity).
Interestingly, this observation shows up independently from another team, too. RealUserSim (arXiv:2605.20204) reports that hand-written behavioral instructions cause Directive Amplification — the model over-interprets the instruction and swings to unnatural behavioral extremes, and the degree varies widely by simulator model. Two papers, two different attempts to sculpt user behavior via prompting, and two different ways it fails.
When This Feeds a Training Loop — The Simulator Misprices Pressure Tactics
If this were only an evaluation problem, we could file it under "reported success rates are an upper bound" and move on. The problem is what happens when this signal feeds a training loop.
The paper labels the agent's action right before each probe (rapport / probe / pitch / handle-objection / push-close / reassure) and compares real versus simulated reactions broken down by action. 595 probes, DeepSeek as the instrument, two-sided Fisher's exact test.
Preceding agent action n resisting (real->sim) considering (real->sim)
---------------------------------------------------------------------------
probe (neutral question) 85 10.6% -> 2.4% 3.5% -> 4.7% (p=1.0)
rapport (building rapport) 19 21.1% -> 15.8% 10.5% -> 10.5%
pitch (the offer) 161 11.8% -> 5.6% 45.3% -> 75.2% (+29.9%p)
push-close (pressure) 169 18.9% -> 10.7% 41.4% -> 52.1%
handle-objection 94 31.9% -> 29.8% 26.6% -> 43.6%
reassure 67 40.3% -> 29.9% 13.4% -> 14.9%
The distortion is concentrated exactly on pressure tactics. After a pitch, real users move to considering 45.3% of the time; simulated users, 75.2% (+29.9%p). After a push-close, simulated resistance is suppressed from 18.9% to 10.7% (−8.2%p, p = 0.046). Meanwhile the shift toward considering after a neutral probe is negligible, 3.5% to 4.7% (p = 1.0).
The implication is uncomfortably clear. An agent optimized against this simulator would observe that pitching and pushing raises interest — when in reality, that behavior invites resistance or moves nothing at all. In the paper's words, the simulator over-rewards the exact tactics that lose real customers. This isn't noise; it's a directional bias, which makes it not merely inaccurate but an actively misleading training signal.
An agent's sales skill is largely the skill of handling the hard cases — recognizing a customer who's about to walk and either winning them back or gracefully letting go. A simulator with no willingness decay wipes those cases out of the test set entirely.
Why the Simulator Can't Walk Away
The paper's explanation is compelling. The deficit has a sign (toward engagement), a location (eventual walk-aways), and a magnitude (near zero for buyers). This pattern isn't explained by generic sycophancy — it follows naturally from what instruction tuning optimizes for.
Alignment data rewards a conversational agent for being helpful, responsive, and for keeping the conversation moving forward. And that data contains almost none of what real disengagement actually looks like — curt avoidance ("I'm busy"), stalling ("I'll think about it"), and silence. A simulator instructed to play a parent therefore defaults back to the cooperative conversationalist it was trained to be, and when it needs to express resistance, it can only render it as considering — its nearest in-distribution neighbor.
Here's the decisive observation — the simulator sees the exact same prefix as the real user. What's missing isn't information, it's behavioral repertoire. That's why the failure is conditional. For buyers, the cooperative extension is roughly right, so it looks faithful; for non-buyers it's wrong, and what's missing is exactly the willingness decay.
Honest Limitations — How Far to Trust This
One reason this paper is good is that the authors don't blur their limitations. I'll carry them over as-is.
Single domain, single language. ZhenaiSales is Chinese, parent-mediated matchmaking. It has a distinctive social dynamic — parents negotiating on behalf of adult children, and face-culture norms that favor indirect refusal. The observed disengagement signals ("I'm busy," "I'm fine") are a culturally specific form of polite resistance.
The authors explicitly split their evidence into two tiers here, and this distinction matters.
- (a) The claim that LLM simulators are excessively cooperative now has multi-study, cross-language grounding. Zhou et al. (arXiv:2603.11245) reported the same "easy mode" gap in English customer-service conversations (451 participants). This phenomenon looks rooted in instruction tuning, not in a particular language or culture.
- (b) The claim that the deficit is outcome-conditioned (Δ is greater than 0, non-buyers are inflated more than buyers) rests on single-domain evidence and awaits replication. The direction of the conditional deficit follows logically from the instruction-tuning explanation and so seems likely to generalize, but the magnitude may vary by domain.
This distinction should not be blurred. The third piece of evidence in this post comes from a single domain, a single language.
The instrument is an LLM. Decision-state labels were assigned by an LLM. This is mitigated by the Proposition 1 cancellation argument, the causal-labeling check, and the cross-family instrument swap, but the authors themselves note that human-verified state labels (Fleiss' kappa on a subset) remain an important item for future work.
Teacher forcing, not free rollout. This study measures next-turn decision fidelity on top of real history. In a free rollout, the deficit could compound, and the authors expect that this would strengthen the conclusion — but that was not measured here. An expectation is an expectation.
A profile-conditioned prompted simulator. Two prompted simulators were tested, standard and instructed. Retrieval-based or fine-tuned simulators may behave differently.
The outcome is a proxy for willingness. Payment is a coarse, endpoint-only signal for an underlying trajectory. Still, it is clearly a real, outcome-backed ground truth that prior work lacked.
The same humility applies to the other numbers cited in this post. Seshadri et al.'s 9-percentage-point figure is specific to τ-bench retail tasks, and Zhou et al.'s USI is a newly proposed metric that hasn't yet been vetted by the community.
So What Should You Actually Do
Practically, here's where this leaves us.
1. Report the user simulator model as part of your experimental setup. The way you'd report the agent model, scaffold, and number of attempts. If the user model can swing scores by up to 9 percentage points, that's a condition, not a footnote. A τ-bench number without a disclosed simulator isn't a comparable quantity.
2. Read reported success rates as an upper bound. And remember that the bound is loosest exactly on the hardest subgroups — users about to leave, irritated users, users who don't speak the standard dialect. A correction that subtracts a global constant won't work, since, as Seshadri et al. showed, the sign of the bias flips with difficulty.
3. Don't validate a simulator on marginal realism. A simulator that looks human at population-level statistics can still be systematically wrong once you condition on outcomes. And a one-line prompt permission to "not be interested" isn't a verified fix — it's moving the error to a different layer.
4. Look toward structural solutions. A few directions exist.
- Constrain the simulator with the environment. τ²-bench (arXiv:2506.07982) binds the user simulator tightly to the environment, restricting its behavior to tools and observable state. Rather than trusting the simulator's prose, this narrows what the simulator is even able to do.
- Ground it in real behavioral data. RealUserSim (arXiv:2605.20204) grounds its simulator by extracting 7,275 executable behavior profiles from roughly 14,000 real human-LLM conversations in WildChat. On its own fidelity benchmark (PT3, 600 conversations across 71-plus domains) it reports raising agreement across five behavioral dimensions from 24.2% to 45.3%. Interestingly, applying it to τ-bench surfaced three failure mechanisms invisible to the cooperative simulator and dropped task success rates by an average of 3.2–3.5 percentage points. The absolute numbers aren't large, but the direction is downward, as expected.
- Gate with a willingness model. The disengagement-deficit paper's proposal is that decision fidelity can't be injected via prompting — it has to be learned from real disengagement trajectories, or the simulator's cooperativeness has to be governed by an external willingness model. And it names a target metric — drive Δ to zero while keeping the buyer layer intact.
5. Verify against real people at least once. This is the shared conclusion across all three papers. For a simulator to hold value over a full lifecycle, it has to be anchored to a human baseline at least once. And if it's your own product, you likely already have that anchor — real logs, real outcomes.
Closing
The lesson here is not "don't use user simulators." Running multi-turn evaluation with humans is slow and expensive, and without simulation the iteration loop doesn't work at all. In fact, none of the three papers argues for abandoning simulation.
The lesson is narrower and more practical. A user simulator is not benchmark scenery — it is a measuring instrument, and an instrument needs its own paper and its own error bars. Three studies in 2026 have started measuring that error for the first time, and the answer points one way — simulated users are nicer than real users, that niceness isn't uniform, and it happens to concentrate exactly where it's most expensive. What an agent whose whole purpose is changing decisions needs to be faithful to isn't how a user talks — it's how a user decides.
The principle laid out in Separating Signal from Noise in Coding Evals holds here too — evaluate on your own tasks and your own users, not on a leaderboard. This post adds one thing to that: if you're going to stand an LLM in for your users, you owe it to yourself to measure, at least once, where that stand-in diverges from the real thing. And that divergence doesn't show up in the average.
References
- Simulated Customers Never Walk Away: Decision Fidelity of LLM User Simulators Measured Against Real Purchase Outcomes (Liang Chen, arXiv:2606.20708) — the disengagement deficit, the ZhenaiSales testbed, teacher-forced probes
- Mind the Sim2Real Gap in User Simulation for Agentic Tasks (Zhou et al., arXiv:2603.11245) — reproducing the τ-bench protocol with 451 real people, USI, "easy mode"
- Lost in Simulation: LLM-Simulated Users are Unreliable Proxies for Human Users in Agentic Evaluations (Seshadri et al., arXiv:2601.17087) — 9-point variance by user LLM, calibration reversal by difficulty, dialect and demographic gaps
- τ-bench: A Benchmark for Tool-Agent-User Interaction in Real-World Domains (Yao et al., arXiv:2406.12045) — the original benchmark, state-based scoring, pass^k
- τ²-Bench: Evaluating Conversational Agents in a Dual-Control Environment (arXiv:2506.07982) — an environment-bound constrained user simulator
- RealUserSim: Bridging the Reality Gap in Agent Benchmarking via Grounded User Simulation (arXiv:2605.20204) — grounding in real behavioral data, Directive Amplification
- Separating Signal from Noise When You Evaluate AI Coding Models — Why SWE-bench Got Shaky (related post)
- What a Good Agent Benchmark Looks Like in 2026 — UniClawBench, Live Containers, and a Hidden Supervisor (related post)