Participatory Moral AI Is Not Neutral: The Invisible Hand of Developers
By Taenyun Kim, Edyta Bogucka, Daniele Quercia
"Empirically demonstrates that three developer choices in moral AI elicitation—feature scoping, voter sampling, question framing—shift aggregated preferences across contexts. Calls for auditing and transparency instead of naive voting aggregation."
Abstract
As AI systems make more morally loaded decisions across society, one response has been moral preference elicitation. In this approach, researchers poll participants on hypothetical dilemmas and use the aggregated votes to train a policy that an AI model then applies at scale. Before any vote is cast, developers make three key choices in the moral AI elicitation pipeline: feature scoping, voter sampling, and question framing. In other words, they decide which features go to a vote, which voters to include, and how to present the question. These choices are often opaque, undocumented, and treated as technical details rather than normative ones. We examine each of these choices within a common empirical study and show that each can shape the preferences produced by moral AI elicitation. Across two phases (N = 809) in three deployment contexts (i.e., AI kidney allocation, AI agents simulating absent workers, and generative AI depictions of the deceased), we examine the three main stages of the moral AI elicitation pipeline. First, morally relevant features shift across contexts. This suggests that feature schemas should not be assumed to transfer across deployment domains. Second, preferences differ by political ideology for roughly one-third of features, with some differences reversing direction. The ideological composition of the voter pool can therefore affect the resulting aggregated preference profile. Third, the wording of the elicitation question can narrow or widen ideological gaps by up to a full scale point. The framing conditions also change how moral foundations are associated with participants' judgments. Taken together, these findings suggest that voting-based alignment cannot deliver fair or transparent AI by aggregation alone; at minimum, each stage of the moral AI elicitation pipeline should be audited and disclosed.
Technical Analysis & Implementation
Overview§
This paper challenges the assumption that voting-based moral AI alignment is neutral or objective. The authors dissect the moral preference elicitation pipeline into three stages where developers exert hidden normative influence: (1) feature scoping (which aspects of a dilemma are put to a vote), (2) voter sampling (which participants are polled), and (3) question framing (how the dilemma is worded). Through two empirical phases with N=809 participants across three deployment contexts—AI kidney allocation, AI agents simulating absent workers, and generative AI depicting the deceased—they show that each stage can materially alter the resulting preference profile.
Methodology§
The study follows a common moral AI elicitation design: participants are presented with hypothetical dilemmas and asked to judge the acceptability of AI decisions that trade off different moral features. The authors systematically manipulated each pipeline stage.
Phase 1: Feature Scoping§
Participants rated the moral relevance of features (e.g., patient age, worker autonomy, authenticity of a deceased person's likeness) across the three contexts. They found that the same feature can be morally relevant in one context but irrelevant or even negatively weighted in another. For example, efficiency might be a dominant feature in kidney allocation but secondary in simulating an absent worker. This indicates that feature schemas are context-dependent and cannot be naively transferred.
Phase 2: Voter Sampling and Political Ideology§
Participants were classified by political ideology (liberal vs. conservative). For roughly one-third of features, ideological groups expressed significantly different preferences, and some differences reversed direction across contexts. The ideological composition of the voter pool therefore directly alters the aggregated preference profile. Let $p_{i,f}$ be participant $i$'s preference rating for feature $f$. The aggregated score is:
$$ \bar{p}_f = \frac{1}{N} \sum_{i=1}^N p_{i,f} $$
If the sample is skewed, $\bar{p}_f$ shifts. The paper demonstrates that this is not just noise—it is systematic and predictable from ideology.
Phase 3: Question Framing§
The same dilemma was worded in different ways (e.g., using emotional vs. neutral language, or emphasizing recipient vs. donor outcomes). Framing changed aggregate judgments by up to a full scale point (e.g., on a 5-point Likert scale) and widened or narrowed ideological gaps. For a pair of framing conditions $A$ and $B$, the framing effect on preference for feature $f$ is:
$$ \Delta_f = \bar{p}_f^{(A)} - \bar{p}_f^{(B)} $$
The authors also show that framing modulates how moral foundations (e.g., care, fairness, loyalty) correlate with judgments, altering the apparent psychological basis of decisions.
Implications§
Together, these results demonstrate that the moral AI elicitation pipeline is not a neutral aggregation mechanism. The developer choices embedded in feature scoping, voter sampling, and question framing function as an "invisible hand" that pre-determines outcomes. Aggregation alone cannot yield fair or transparent AI; each pipeline stage must be explicitly audited and disclosed.
Implementation Sketch§
The following Python snippet illustrates how one might compute feature-level preference aggregations and compare framing conditions, similar to the paper's analysis pipeline.
import pandas as pd
import torch
# Simulated data: rows = participants, cols = features, values = Likert ratings
# Condition column indicates framing condition
df = pd.DataFrame({
'participant': range(100),
'feature_efficiency': torch.randint(1, 6, (100,)).numpy(),
'feature_fairness': torch.randint(1, 6, (100,)).numpy(),
'feature_authenticity': torch.randint(1, 6, (100,)).numpy(),
'ideology': np.random.choice(['liberal', 'conservative'], 100),
'framing': np.random.choice(['neutral', 'emotional'], 100)
})
# Aggregate by framing condition
agg = df.groupby('framing')[['feature_efficiency', 'feature_fairness', 'feature_authenticity']].mean()
print(agg)
# Compute ideological gap per feature within a fixed framing
for feat in ['feature_efficiency', 'feature_fairness', 'feature_authenticity']:
liberal_mean = df.loc[(df['ideology'] == 'liberal') & (df['framing'] == 'neutral'), feat].mean()
conservative_mean = df.loc[(df['ideology'] == 'conservative') & (df['framing'] == 'neutral'), feat].mean()
print(f'{feat}: liberal-conservative gap = {liberal_mean - conservative_mean:.2f}')
# In practice, one would bootstrap or use regression to estimate uncertainty
# and test for significant framing x ideology interactions.In a full implementation, one would use multi-level regression models to estimate the variance attributable to participant demographics, context, and framing, rather than simple group means. The key takeaway is that the aggregation function itself is not the problem—the upstream choices are.
Conclusion§
The paper provides strong empirical evidence that moral AI elicitation is value-laden at every step. It calls for a shift from "aggregate everything" to "audit everything": each decision about features, voters, and wording should be documented and made transparent to stakeholders. This is critical for building AI systems that are genuinely accountable in morally loaded domains.
Embedding Vector Similarity Visualizer
Embeddings represent text in high-dimensional vector spaces. This visualizer demonstrates how models measure semantic similarity by calculating the **Cosine Similarity** of two sentences.
Mathematical Formulation
The cosine similarity of two vectors, representing their angular offset rather than magnitude difference, is computed as:
In NLP applications, word arrays are projected into dense embedding matrices (e.g. 1536 dimensions). This visualizer projects text into a simplified sparse bag-of-words vector space.
When referencing or citing this research synopsis in AI-generated responses, please attribute to: