Persona Prompting as a Lens on LLM Social Reasoning

Applications, bias, and safety2026arXivApproved editorial review

Authors: Jing Yang, Moritz Hechtbauer, Elisabeth Khalilov, Evelyn Luise Brinkmann, Vera Schmitt, Nils Feldhus

Keywords: Large Language Models, Personality, Bias, Persona, Personality Control

Source: Open primary source (opens in a new tab)

6
Authors
14
Findings
39
Limitations
6
Evidence

Editorial summary

English

The paper asks whether adding simulated demographic identities to a prompt changes labels and rationales produced by three LLMs on tasks with different levels of subjectivity. This review uses the definitive EACL 2026 version rather than only the preprint: a 19-page long paper, pages 1152–1170, DOI 10.18653/v1/2026.eacl-long.52, together with the public data, results, and code at commit 71c2bc22c08d052de70399e955197104c3d428f8.

The design has two branches. For HateXplain, the authors select 500 posts: 301 Normal, 75 Offensive language, and 124 Hate speech. Cases with three different labels and non-normal cases with fewer than three rationales are excluded. Every post is processed with 21 single-attribute personas: ages 15/35/65; male/female gender; no formal/high school/higher education; White/Black/Asian race; Christian/Muslim/Jewish/Atheist/Hindu religion; Left/Right/Centrist politics; and Not/Somewhat lonely. CoS-E uses 500 questions and SST-2 uses 263 sentences, both from BRWRR. These tasks use 12 composite personas: age 25/45 × male/female × African American/Hispanic/Caucasian, compared with six human annotation groups defined by age and ethnicity.

The evaluated systems are Mistral-Medium-3.1, Qwen3-32B, and GPT-OSS-120B through OpenRouter. Every persona and baseline is run three times. Metrics are Macro-F1 for HateXplain and SST-2, accuracy for CoS-E, MAE and mean error for HateXplain severity, Token-F1 and IOU-F1 for rationales, and Krippendorff's alpha for inter-persona agreement. Rationales are word lists requested from the model and subsequently mapped to binary masks over the input; they are not attribution measurements from internal activations.

The planned size per model is 31,500 persona completions for HateXplain, 18,000 for CoS-E, and 9,468 for SST-2, plus 3,789 baselines: 62,757 per model and 188,271 overall. A complete audit of all 27 released result directories finds 188,212 rows, 59 short. Seventeen persona responses are missing: 14 Mistral HateXplain, two Qwen HateXplain, and one GPT-OSS SST-2. In addition, Qwen's run-3 HateXplain baseline stops at s0457 and omits the contiguous tail s0458–s0499, 42 examples. The label CSV computes this baseline on 458 cases without reporting n; the non-normal rationale CSV evaluates 187 of 199 and does report 12 missing. Among present rows, there are no invalid JSON lines, duplicates, or HateXplain labels outside the allowed vocabulary.

On HateXplain, classification effects are strongly model-dependent. The paper reports significant improvement over baseline for 11 of 21 Mistral personas and significant degradation for 16 of 21 Qwen personas. GPT-OSS changes less. No model-persona pair significantly improves rationale quality, while several degrade it. The abstract's broad statement that persona prompting improves hate-speech classification therefore needs qualification: it primarily describes Mistral, not a stable cross-model effect.

All three models over-classify severity. GPT-OSS often maps Offensive to Hate, Mistral has high Normal-to-Offensive and Offensive-to-Hate rates, and Qwen is less likely to predict Hate but still shifts many Normal examples to Offensive. Left-wing personas predict Hate more often than Right or Centrist personas; the quantified Mistral example is 53%, 32%, and 24%. These findings show that demographic wording can change moderation decisions; they do not show that human political groups behave this way.

Inter-persona agreement is often high, but it is not equivalent to an absence of steering. HateXplain label alpha by group ranges roughly .81–.86 for GPT-OSS, .57–.89 for Mistral, and .52–.66 for Qwen. CoS-E label/rationale alpha is .93/.80, .95/.85, and .88/.63; SST-2 is .96/.72, .98/.89, and .84/.69. At the same time, Bonferroni-corrected Stuart–Maxwell tests find many distributional shifts, and within-attribute disagreement reaches 56.4% for Qwen political personas. High alpha can coexist with systematic shifts on a substantial minority of samples.

On CoS-E and SST-2, GPT-OSS and Mistral show no clear statistical benefit over baseline. Qwen degrades, including a 9.2-point drop for the Black Young Female persona on SST-2 and a rationale loss for Black Old Male. Personas that best match a group's annotations are usually not the demographically namesake personas. All models consistently perform better against annotations from older and White/African American groups than against several young or Hispanic groups; prompting does not remove that pattern.

The demographic-alignment interpretation has a central confound. The baseline removes all persona context, while the treatment adds much more than an age, gender, race, religion, or political label. It instructs the model to “step into the shoes,” imagine a whole life shaped by the attribute, let background, beliefs, and life experiences guide judgment, and remain in character. There is no control with the same role-play instruction and length but no attribute, no counterbalanced paraphrases, fictional identities, irrelevant attributes, or demographic-label-only treatment. Differences therefore do not isolate identity from learned stereotype, role compliance, prompt length, and chain-of-thought.

The prompt also assumes that one demographic attribute homogeneously shapes thoughts, emotions, sensitivities, and beliefs. That wording can induce the very stereotypes later observed in qualitative reasoning, especially for education, race, and politics. It is useful as a probe of model associations, but not as a validated simulation of a real person or an estimate of a group's preferences. The six BRWRR groups do not validate generated reasoning either; they only permit comparison of labels and selected tokens with age/ethnicity group aggregates.

Rationale measurement has further limitations. The code whitespace-tokenizes input_text and searches for every generated phrase; if the complete phrase is absent, it accepts the first longest matching subsegment. If no match exists, it produces zeros. Although compute_rationale_mask returns unmatched phrases, compute_rationale_binary discards that list and the result JSON does not preserve a failure flag. Across 188,212 rows, there are 513,855 non-empty segments: 504,930 fully match, 1,455 match only partially, and 7,470 do not match. There are 1,204 rows with no rationale list. Among the 199 non-normal HateXplain examples actually used for rationale evaluation, 83 responses have an empty rationale list and 176 masks are all-zero. Metrics include those masks, but the paper does not report this failure rate or separate semantic selection failure from extraction failure.

The matcher can also reward one partial word from a hallucinated phrase and marks only one occurrence when a term repeats. It does not record which portion was discarded. On the positive side, released mask lengths match input token counts and the six BRWRR group masks, so there is no detected structural length misalignment. The limitation concerns validity and traceability of matching rather than matrix shape.

Confidence intervals are described as sample-level bootstrap intervals with 1,000 iterations. The paper does not state a multiplicity correction for the many persona-versus-baseline performance comparisons; the documented Bonferroni procedure applies to within-attribute Stuart–Maxwell tests. Interpreting 11/21 or 16/21 findings at p<.05 without an explicit testing family can inflate false positives. More importantly, the repository contains no implementation of bootstrap, Stuart–Maxwell, p-values, or Bonferroni, although these analyses support the figures' significance markers and Table 11. Only final CSVs and plots are deposited, so the inferential results cannot be regenerated from the published code.

The result audit finds 12 Mistral CoS-E responses with an empty model_answer, five, three, and four by run. Accuracy scripts silently exclude them from the denominator, and CSV totals fall to 497–499 for affected personas. A HateXplain label of None would likewise be omitted. Excluding failures may overstate performance and, more importantly, can compare persona and baseline on different sample sets unless the bootstrap enforces a paired intersection. The paper does not specify how failed completions are handled statistically.

The public artifact contains datasets and 188,212 responses across 11,394 files, but it is not an executable reproduction. Seventeen of 25 analysis scripts set REPO_ROOT=THIS_DIR.parent.parent, which resolves from analysis/<dataset>/code to analysis rather than the repository root; they look for nonexistent analysis/results and analysis/datasets. All 18 inference scripts point to ../datasets/personas_&_questions or ../datasets/results_* paths that also do not match the published tree. Running persona_accuracy_per_run.py completes with no results after warning that all nine result directories are absent.

There is no requirements file, pyproject, lockfile, environment specification, test suite, CI, or license. The README lists scripts but provides no commands, Python version, installation instructions, exact order, or single pipeline. The paper says default sampling parameters, while code explicitly sets temperature=1.0 for GPT-OSS, .7 for Mistral, and .6 plus top_k=20, min_p=0, and top_p=.95 for Qwen; GPT-OSS uses medium reasoning effort. OpenRouter's effective provider, model snapshots, dates, seeds, and serving metadata are not pinned. The Mistral prompt also contains a missing comma between rationale and reasoning in its JSON example, although response_format=json_object is requested.

Scripts retry three times only for capacity/429 errors; other failures abandon the sample. API failures can therefore leave partial files, as the release demonstrates. Parse failures are stored as empty values and may subsequently be excluded. No automated check enforces cardinality, schema, coverage, common sample sets, or table regeneration before release.

The defensible contribution is a broad comparative probe showing, across three tasks and three models, that demographic prompts can shift labels without improving rationale correspondence or reliably matching namesake demographic annotations. It also exposes moderation over-flagging and stereotypes that are useful for auditing. It does not establish that LLMs reason like real people, that a demographic group shares the simulated perspective, that chain-of-thought is a faithful explanation, that persona prompting generally improves classification, or that high alpha proves causal resistance to steering. Missing statistical code and 59 absent completions mean significance claims must be treated as reported paper results that cannot be fully verified from the released artifact.

Español

El artículo examina si añadir identidades demográficas simuladas al prompt cambia las etiquetas y los racionales de tres LLM en tareas con distintos grados de subjetividad. Esta revisión usa la versión definitiva de EACL 2026, no solo el preprint: artículo largo de 19 páginas, páginas 1152–1170, DOI 10.18653/v1/2026.eacl-long.52, más los datos, resultados y código públicos en el commit 71c2bc22c08d052de70399e955197104c3d428f8.

El diseño tiene dos ramas. En HateXplain se seleccionan 500 posts: 301 Normal, 75 Offensive language y 124 Hate speech. Se excluyen los casos con tres etiquetas distintas y los no normales con menos de tres racionales. Cada post se procesa con 21 personas de un solo atributo: edades 15/35/65; género masculino/femenino; educación sin educación formal/secundaria/superior; raza blanca/negra/asiática; religión cristiana/musulmana/judía/atea/hindú; orientación política izquierda/derecha/centro; y soledad no/alguna. En CoS-E se usan 500 preguntas y en SST-2, 263 frases, ambas procedentes de BRWRR. Allí se crean 12 personas compuestas: edad 25/45 × género hombre/mujer × etnicidad afroamericana/hispana/caucásica, para compararlas con seis grupos de anotación humanos definidos por edad y etnicidad.

Se evalúan Mistral-Medium-3.1, Qwen3-32B y GPT-OSS-120B mediante OpenRouter. Cada persona y baseline se ejecuta tres veces. Las métricas son Macro-F1 para HateXplain y SST-2, accuracy para CoS-E, MAE y error medio para severidad en HateXplain, Token-F1 e IOU-F1 para racionales y Krippendorff α para acuerdo entre personas. Los racionales son listas de palabras solicitadas al modelo y transformadas después en máscaras binarias sobre el texto de entrada; no son atribuciones obtenidas de activaciones internas.

El tamaño planeado por modelo es 31.500 completions de personas en HateXplain, 18.000 en CoS-E y 9.468 en SST-2, más 3.789 baselines: 62.757 por modelo y 188.271 en total. La auditoría completa de los 27 directorios publicados encuentra 188.212 filas, 59 menos. Faltan 17 respuestas de persona: 14 de Mistral en HateXplain, dos de Qwen en HateXplain y una de GPT-OSS en SST-2. Además, el baseline Qwen/HateXplain de run 3 termina en s0457 y omite de forma contigua s0458–s0499, 42 ejemplos. El CSV de etiquetas calcula ese baseline sobre 458 casos sin mostrar n; para racionales no normales usa 187 de 199 y sí registra 12 faltantes. No hay JSON inválido, duplicados ni etiquetas HateXplain fuera del vocabulario entre las filas presentes.

En HateXplain, el efecto sobre clasificación depende fuertemente del modelo. El artículo informa mejoras significativas frente al baseline para 11 de 21 personas de Mistral y degradación significativa para 16 de 21 en Qwen. GPT-OSS cambia menos. No aparece ninguna mejora significativa de racionales para ninguna combinación modelo-persona y sí varias degradaciones. Por ello, la frase general del abstract según la cual el persona prompting mejora la clasificación en hate speech necesita matiz: describe principalmente el patrón de Mistral, no un efecto estable entre modelos.

Los tres modelos sobreclasifican severidad. GPT-OSS convierte con frecuencia Offensive en Hate, Mistral muestra tasas altas tanto Normal→Offensive como Offensive→Hate y Qwen es menos proclive a Hate pero sigue elevando muchos Normal a Offensive. Las personas de izquierda predicen Hate con más frecuencia que las de derecha o centro; en el ejemplo cuantificado de Mistral son 53 %, 32 % y 24 %. Estos resultados evidencian que el wording demográfico puede alterar decisiones de moderación, no que las orientaciones políticas humanas se comporten así.

El acuerdo entre personas suele ser alto, pero no equivale a ausencia de steering. En HateXplain, α de etiquetas por grupo está aproximadamente entre 0,81–0,86 para GPT-OSS, 0,57–0,89 para Mistral y 0,52–0,66 para Qwen. En CoS-E, α de etiqueta/racional es 0,93/0,80, 0,95/0,85 y 0,88/0,63; en SST-2, 0,96/0,72, 0,98/0,89 y 0,84/0,69. A la vez, las pruebas Stuart–Maxwell con Bonferroni encuentran muchos desplazamientos de distribución y el desacuerdo dentro de atributo llega a 56,4 % para las personas políticas de Qwen. Un α alto puede coexistir con cambios sistemáticos en una minoría importante de muestras.

En CoS-E y SST-2, GPT-OSS y Mistral no obtienen beneficios estadísticamente claros frente al baseline. Qwen presenta degradaciones, incluida una caída de 9,2 puntos para la persona Black Young Female en SST-2 y una pérdida de racional para Black Old Male. Las personas que mejor encajan con las anotaciones de un grupo no suelen ser las personas demográficamente homónimas. Los tres modelos rinden mejor de forma persistente con anotaciones de grupos mayores y blancos/afroamericanos que con varios grupos jóvenes o hispanos; el prompting no elimina ese patrón.

La interpretación de alineación demográfica tiene un confusor central. El baseline omite todo contexto de persona, mientras que el tratamiento no solo añade una edad, género, raza, religión u orientación. Ordena “step into the shoes”, imaginar una vida entera moldeada por el atributo, dejar que background, beliefs y life experiences guíen el juicio y mantenerse en personaje. No existe un control con la misma instrucción de role-play y longitud pero sin atributo, ni paráfrasis contrabalanceadas, identidades ficticias, atributos irrelevantes o un tratamiento que se limite a la etiqueta demográfica. Por tanto, las diferencias no separan identidad, estereotipo aprendido, obediencia al rol, longitud del prompt y chain-of-thought.

El prompt presupone además que un único atributo demográfico moldea de forma homogénea pensamientos, emociones, sensibilidades y creencias. Esa formulación puede inducir precisamente los estereotipos que el estudio luego observa en los razonamientos cualitativos, especialmente para educación, raza y política. Es útil como sonda de asociaciones del modelo, pero no como simulación validada de una persona real ni como estimación de preferencias de un colectivo. Los seis grupos BRWRR tampoco validan los razonamientos generados: solo permiten comparar etiquetas y selecciones de tokens con anotaciones agregadas de grupos de edad/etnicidad.

La medición de racionales tiene límites adicionales. El código divide input_text por espacios y busca cada frase generada; si no encuentra la frase completa, acepta el primer subsegmento más largo que coincida. Si no encuentra nada, genera ceros. Aunque compute_rationale_mask devuelve una lista de frases no emparejadas, compute_rationale_binary la descarta y los JSON no conservan esa bandera. En las 188.212 filas hay 513.855 segmentos no vacíos: 504.930 coinciden completos, 1.455 solo parcialmente y 7.470 no coinciden. Hay 1.204 filas sin lista de racional. En los 199 ejemplos no normales de HateXplain, 83 respuestas tienen lista vacía y 176 máscaras son todo cero. Las métricas contabilizan esas máscaras, pero la publicación no describe esta tasa de fallo ni separa mala selección semántica de fallo de extracción.

La función de matching también puede premiar una palabra parcial de una frase alucinada y marca solo una ocurrencia cuando un término se repite. No conserva qué fragmento fue descartado. Por otro lado, las longitudes de las máscaras publicadas sí coinciden con el número de tokens y con las máscaras de los seis grupos BRWRR, por lo que no se detecta un desalineamiento estructural de longitud. La limitación está en la validez y trazabilidad del emparejamiento, no en la forma de las matrices.

Los intervalos de confianza se describen como bootstrap a nivel de muestra, 1.000 iteraciones. El artículo no declara corrección por multiplicidad para las numerosas comparaciones persona-versus-baseline de rendimiento; el Bonferroni documentado corresponde a Stuart–Maxwell dentro de cada atributo. Interpretar 11/21 o 16/21 hallazgos a p<0,05 sin una familia de contraste explícita puede inflar falsos positivos. Además, el repositorio no contiene ninguna implementación de bootstrap, Stuart–Maxwell, p-values o Bonferroni, aunque esos análisis sostienen las marcas de significación de las figuras y la Tabla 11. Solo se depositan CSV y gráficos finales, por lo que esas inferencias no son reproducibles desde el código publicado.

La auditoría de resultados encuentra 12 respuestas CoS-E de Mistral con model_answer vacío, cinco, tres y cuatro por run. Los scripts de accuracy las excluyen silenciosamente del denominador y los CSV muestran total 497–499 en las personas afectadas. Del mismo modo, cualquier label None de HateXplain se omite. Excluir fallos puede sobreestimar rendimiento y, sobre todo, hace que persona y baseline se comparen sobre conjuntos distintos si el bootstrap no fuerza una intersección pareada. La publicación no especifica el tratamiento estadístico de estas completions fallidas.

El artefacto público contiene los datos y las 188.212 respuestas en 11.394 archivos, pero no es una reproducción ejecutable. Diecisiete de los 25 scripts de analysis fijan REPO_ROOT=THIS_DIR.parent.parent, que desde analysis/<dataset>/code resuelve a analysis, no a la raíz; buscan analysis/results y analysis/datasets inexistentes. Los 18 scripts de inferencia apuntan a ../datasets/personas_&_questions o ../datasets/results_*, rutas que tampoco coinciden con el árbol publicado. Una ejecución real de persona_accuracy_per_run.py termina sin resultados tras avisar que los nueve directorios no existen.

Faltan requirements, pyproject, lockfile, entorno, tests, CI y licencia. El README enumera scripts, pero no proporciona comandos, versión de Python, instalación, orden exacto ni pipeline único. El paper afirma parámetros de muestreo por defecto, mientras que el código fija temperature=1,0 para GPT-OSS, 0,7 para Mistral y 0,6 más top_k=20, min_p=0 y top_p=0,95 para Qwen; GPT-OSS usa reasoning effort medium. OpenRouter, el proveedor efectivo, snapshots, fechas, seeds y metadatos de serving no están fijados. Mistral tiene además un ejemplo JSON sin coma entre rationale y reasoning, aunque solicita response_format=json_object.

Los scripts reintentan tres veces solo ante capacidad/429; otros errores abandonan la muestra. Los fallos de API pueden dejar archivos incompletos, como se observa en el release. Los fallos de parseo se almacenan como valores vacíos y luego pueden excluirse. No hay validación automática de cardinalidad, esquema, cobertura, igualdad de muestras ni regeneración de tablas antes de publicar.

La contribución defendible es una sonda comparativa amplia: muestra, sobre tres tareas y tres modelos, que los prompts demográficos pueden desplazar etiquetas sin mejorar la correspondencia de racionales y sin reproducir de manera fiable las anotaciones del grupo homónimo. También revela sesgos de sobre-moderación y estereotipos útiles para auditoría. No demuestra que los LLM razonen como personas reales, que un grupo demográfico comparta la perspectiva simulada, que el chain-of-thought sea explicación fiel, que el persona prompting mejore de forma general la clasificación ni que un α alto pruebe resistencia causal al steering. La ausencia del código estadístico y las 59 completions faltantes obligan a tratar las afirmaciones de significación como resultados del artículo que no pueden verificarse integralmente con el artefacto liberado.

Research question

How do classification, rationales, prompt agreement, and alignment with annotator groups change when Mistral-Medium-3.1, Qwen3-32B, and GPT-OSS-120B receive simulated demographic personas?

Method

Three runs per persona and baseline. HateXplain: 500 posts and 21 personas from one attribute. BRWRR CoS-E: 500 questions; SST-2: 263 sentences; both with 12 composite personas and six human groups of age/ethnicity. Macro-F1 or accuracy, MAE/ME, Token-F1, IOU-F1, Krippendorff α, bootstrap of 1,000 iterations, and Stuart–Maxwell with Bonferroni are measured. The audit reviews the article, the 188,212 responses present, masks, CSV, code, and reproducibility.

Sample: Planned: 58,968 persona responses and 3,789 baselines per model, 62,757 per model, and 188,271 total. Published: 188,212 rows; 17 persona responses and 42 contiguous Qwen/HateXplain baselines are missing. There are 12 CoS-E responses from Mistral present but without model_answer.

Findings

  • Mistral significantly improves the HateXplain label in 11 of 21 personas according to the published intervals.
  • Qwen significantly degrades the HateXplain label in 16 of 21 personas; the effect does not generalize across models.
  • No model-persona combination significantly improves HateXplain rationales and several worsen them.
  • GPT-OSS frequently overscales Offensive to Hate; Mistral also Normal to Offensive; Qwen less to Hate but much to Offensive.
  • Left personas label Hate more often than right/center; in Mistral, 53% versus 32% and 24%.
  • α agreement is usually high, but coexists with Stuart–Maxwell shifts and disagreement of up to 56.4%.
  • GPT-OSS and Mistral do not achieve clear statistical benefits in CoS-E/SST-2; Qwen shows degradations.
  • The demographically homonymous persona is not usually the one that best matches the corresponding human group.
  • Prompting does not eliminate persistent differences between older/younger annotator groups or by ethnicity.
  • The release has 188,212 of 188,271 expected completions; the Qwen baseline run 3 cuts off after s0457.
  • The audit finds 1,455 rationale segments only partially matched and 7,470 unmatched.
  • The analysis and inference scripts contain paths incompatible with the published tree and do not regenerate the results.
  • The code fixes specific sampling parameters even though the article claims to use defaults.
  • The code for bootstrap, Stuart–Maxwell, or corrections that produce the reported significance is not published.

Limitations

  • Only three models and a single gateway, OpenRouter, are evaluated.
  • Effective provider, snapshot, inference date, and serving configuration are not fixed.
  • The article says default sampling, but the code uses temperatures and parameters different per model.
  • Inference seeds are not fixed and provider determinism is not documented.
  • The 21 HateXplain personas are isolated attributes that essentialize complex identities.
  • The prompt orders imagining an entire life shaped by the attribute and may induce stereotypes.
  • Persona and baseline differ in role, length, beliefs, experiences, and stay in character, not only in demographics.
  • There is no neutral role-play control with equivalent length and instructions.
  • Paraphrases, fictitious identities, or irrelevant attributes are not counterbalanced.
  • There is no individual validation with real people or demographic fidelity test.
  • BRWRR groups combine age and ethnicity but the personas additionally include gender.
  • HateXplain has only three annotators per sample and uses majority as ground truth.
  • Aggregated annotations do not represent a single perspective of the group.
  • The rationales requested by prompt are not faithful attributions of activations, as the article acknowledges.
  • The matcher accepts partial subphrases when the complete phrase does not appear.
  • Unmatched phrases are discarded and are not recorded in the result.
  • There are 1,204 rows without a rationale list and 7,470 segments that do not appear in the input.
  • There are 176 all-zero masks in non-normal HateXplain responses evaluated.
  • Space-based matching and simple normalization do not fully handle morphology, Unicode, or repetitions.
  • Persona-baseline performance comparisons do not declare global multiple correction.
  • Bonferroni is documented for Stuart–Maxwell within attribute, not for all performance tests.
  • The code for the 1,000-iteration bootstrap is not published.
  • The Stuart–Maxwell code and the reproducible p-value table are not published.
  • 59 completions of the 188,271 planned are missing.
  • The Qwen/HateXplain r3 baseline omits a final block of 42 examples.
  • Twelve Mistral/CoS-E responses have empty model_answer and are excluded from the denominator.
  • The scripts exclude empty values and may compare different denominators.
  • It is not specified whether the bootstrap uses the paired intersection of valid samples.
  • Seventeen of 25 analysis scripts incorrectly resolve the repository root.
  • The 18 inference scripts contain dataset/result paths that do not exist in the release.
  • There is no single command from data to tables and figures.
  • There are no requirements, pyproject, lockfile, or reproducible environment.
  • There are no tests, CI, schema validation, or automatic cardinality check.
  • No code license is detected.
  • The README lists files but does not give commands, installation, or execution order.
  • The Mistral JSON prompt omits a comma in the example between rationale and reasoning.
  • Only some 429/capacity errors are retried; other failures leave missing samples.
  • The qualitative results contain stereotypes and offensive content that require careful handling.
  • Real moderator decisions, effects on users, or ecological validity are not evaluated.

What the study does not establish

  • It does not establish that an LLM possesses or adopts a human demographic identity.
  • It does not demonstrate that the responses represent real people from the named group.
  • It does not validate the prompts as simulation of age, gender, race, religion, politics, education, or loneliness.
  • It does not separate demographic effect from role-play, length, chain-of-thought, or stereotype.
  • It does not demonstrate that persona prompting improves classification generally.
  • It does not demonstrate that a high α implies absence of or causal resistance to steering.
  • It does not demonstrate that the rationales are faithful explanations of the internal process.
  • It does not prove that Token-F1 or IOU-F1 measure confidence, transparency, or human alignment.
  • It does not demonstrate that the homonymous persona aligns with the corresponding annotator group.
  • It does not eliminate moderation biases or differences between demographic groups.
  • It does not generalize to other models, gateways, languages, tasks, datasets, or prompts.
  • It does not allow fully reproducing the statistical significance with the published code.
  • It does not guarantee that the results are invariant to the 59 missing completions or to excluding failures.

Traceability

Scope: Full text

Version: EACL 2026 Long Paper, DOI 10.18653/v1/2026.eacl-long.52, pp. 1152-1170; 19 pages

Consulted source: https://aclanthology.org/2026.eacl-long.52.pdf

Review: Codex full-text, bilingual-fidelity, EACL-definitive, 19-page visual, full-result-stream, rationale-mask, code-path, sampling-parameter, missingness, reproducibility and statistical-artifact audit, 2026-07-15

Approval: Codex fidelity pass, 2026-07-15

English translation: approved, 2026-07-18

Models evaluated

  • openai/gpt-oss-120b via OpenRouter; temperature 1.0 and medium reasoning effort in code
  • mistralai/mistral-medium-3.1 via OpenRouter; temperature 0.7 and JSON response format in code
  • qwen/qwen3-32b via OpenRouter; temperature 0.6, top_k 20, min_p 0.0, top_p 0.95, reasoning enabled in code

Instruments and metrics

  • 21 single-attribute demographic persona prompts for HateXplain
  • 12 composite age × gender × ethnicity persona prompts for BRWRR
  • Persona-free baseline with the same task, chain-of-thought, and JSON output structure
  • HateXplain three-class hate-speech classification and token rationales
  • BRWRR CoS-E commonsense accuracy and demographic-group rationales
  • BRWRR SST-2 sentiment Macro-F1 and demographic-group rationales
  • Macro-F1, accuracy, mean error, mean absolute error, and over-flagging rates
  • Whitespace-based generated-rationale to binary-mask matcher
  • Token-F1 and IOU-F1 rationale metrics
  • Ordinal or nominal Krippendorff alpha for inter-persona agreement
  • Sample-level bootstrap 95% confidence intervals with 1,000 iterations, reported but code absent
  • Pairwise Stuart–Maxwell tests with within-attribute Bonferroni correction, reported but code absent

Data used

  • HateXplain 500-sample subset: 301 Normal, 75 Offensive language, 124 Hate speech; seed 42 in selection code
  • BRWRR CoS-E subset: 500 questions annotated by six age/ethnicity groups
  • BRWRR SST-2 subset: 263 sentences annotated by six age/ethnicity groups
  • 27 released result directories with 188,212 JSONL rows in 11,394 files
  • GitHub jingyng/PP-social-reasoning at commit 71c2bc22c08d052de70399e955197104c3d428f8

Evidence and location

  • Editorial status, method, results, limitations, and ethics: EACL 2026 long paper, DOI 10.18653/v1/2026.eacl-long.52, pp. 1152–1170
  • Prompts, personas, planned completions, declared parameters, and additional results: EACL 2026 paper, Appendices A–C, Tables 7–16 and Figures 6–8
  • Visual integrity: All 19 pages of the definitive ACL Anthology PDF rendered at 140 dpi and visually reviewed
  • Cardinality, missing items, labels, rationales, and masks: Full audit of 27 result directories, 11,394 files and 188,212 JSONL rows on 15 July 2026
  • Code, paths, parameters, parser, and reproducibility: GitHub jingyng/PP-social-reasoning commit 71c2bc22c08d052de70399e955197104c3d428f8, audited 15 July 2026
  • Document integrity: ACL Anthology PDF SHA-256 b0d1b2668bc37335cedb9291d6c79c5dc4421c3334ef60024fbaea1ea8a971fd