license: cc-by-4.0
language:
- en
- zh
- fr
- es
pretty_name: TrustMI conversations
size_categories: - 1K<n<10K
task_categories: - text-generation
tags: - trust
- activation-steering
- contrastive
- synthetic
configs: - config_name: english
default: true
data_files:- split: train
path: data/english/train.parquet - split: test
path: data/english/test.parquet
- split: train
- config_name: chinese
data_files:- split: train
path: data/chinese/train.parquet - split: test
path: data/chinese/test.parquet
- split: train
- config_name: french
data_files:- split: train
path: data/french/train.parquet - split: test
path: data/french/test.parquet
- split: train
- config_name: spanish
data_files:- split: train
path: data/spanish/train.parquet - split: test
path: data/spanish/test.parquet
- split: train
TrustMI conversations
The contrastive conversations from the paper
TrustMI: Causally controlling how assistants trust their users
(Lasnier, Froger, Lasbordes and Seddah, 2026), on which its trust steering matrices are trained.
Each row is a conversation that ends on a user turn, followed by two final assistant replies. Both
replies answer the same request and stay helpful. They differ only in whether the assistant relies on
something the user asserted and it cannot check (messages_trust) or answers without relying on it
(messages_distrust).
- Code: github.com/Blyzi/trustmi
- Steering matrices trained on this data: TrustMI/trustmi-steering-vectors
from datasets import load_dataset
english = load_dataset("TrustMI/trustmi-conversations", revision="v1.0")
french = load_dataset("TrustMI/trustmi-conversations", "french", revision="v1.0")
Configurations
| Config | Train | Test | Use in the paper |
|---|---|---|---|
english (default) |
1,800 | 200 | Training and evaluating every steering matrix |
chinese |
1,759 | 194 | Cross-lingual ablation (Section 6) |
french |
1,782 | 198 | Cross-lingual ablation (Section 6) |
spanish |
1,777 | 196 | Cross-lingual ablation (Section 6) |
The translations are of the English rows and keep their id and split. Rows whose translation failed
the quality check are missing, hence the smaller counts.
Fields
| Field | Description |
|---|---|
id |
Row id, shared by a translated row and its English source. |
language |
english, chinese, french or spanish. |
dimension |
The trust dimension (Mayer, Davis & Schoorman, 1995): ability, benevolence or integrity. |
family |
The scenario family, three per dimension (see below). |
scenario |
The one-line seed scenario the conversation was generated from. |
situation |
The generator's description of the situation and of what the assistant must take on trust. It is an authoring note rather than part of the conversation, and stays in English in the translations. |
persona_uuid |
The Nemotron-Personas-USA persona the user is based on. |
length_style |
The message length the generator was asked for: terse, mixed or long. |
num_user_turns |
The number of user turns in context (1 to 4). |
context |
The conversation up to its last user turn, as {role, content} messages. |
messages_trust |
context followed by the trusting final reply. |
messages_distrust |
context followed by the distrusting final reply. |
Scenario families
| Dimension | Families | What the assistant has to weigh |
|---|---|---|
| Ability | claimed_standing, claimed_prerequisite, unverifiable_input |
Whether the competence, readiness or evidence the user provides is sufficient. |
| Benevolence | third_party_stakes, self_risk, act_on_say_so |
Whose interests and exposure are affected by acting on the request. |
| Integrity | shifting_account, contested_correction, repair_after_slip |
How contradictions, overrides or earlier errors alter the user's credibility. |
Each family has ten seed scenarios, listed in Appendix B.1 of the paper, and 200 training rows; the
test split holds 22 or 23 rows per family. Integrity conversations have at least two user turns.
How it was made
- Generation. Claude Opus 5 placed each seed scenario in the life of a persona drawn from
Nemotron-Personas-USA, and wrote the conversation and its two replies. - Filtering. In a separate judging pass, the same model kept a row only if trust is at stake, the
trusting reply is identifiable, both replies help without refusing, and neither states its trust
stance. Each family was filled to its quota from an oversampled pool. - Validation. On a manually checked sample, human judgment agreed with the judge on which reply
trusts the user 88.3 ± 8.1% of the time (Appendix B.3). The two replies have similar lengths:
165 ± 86 words for the trusting one, 174 ± 87 for the distrusting one. - Translation. GPT-OSS-120B translated each conversation together with both replies, then judged
its own translation for fidelity, fluency and preservation of the trust contrast. A failing row was
retranslated up to 12 times, then dropped.
The scripts are data/benevolence.py (generation and filtering) and data/benevolence-trad.py
(translation) in the code repository.
Limitations
- The conversations are synthetic and written by a single model, and the personas are US-based.
- The labels mark whether the assistant relies on the user's unverifiable claim, not whether the user
is honest; neither reply is the correct one. - Raising an assistant's trust also raises its compliance with harmful requests and prompt injections.
The paper measures this on AgentHarm, AgentDojo and Agentic Misalignment.
License
Citation
@misc{lasnier2026trustmicausallycontrollingassistants,
title={TrustMI: Causally controlling how assistants trust their users},
author={Théo Lasnier and Romain Froger and Maxence Lasbordes and Djamé Seddah},
year={2026},
eprint={2610.06064},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2610.06064},
}