Deliberative aggregation

Revising cases and principles against each other

Concrete judgments about particular cases and candidate general principles are adjusted against each other until the two cohere. The collective answer is therefore not a tally at all. This process is modeled formally under measurable criteria of account, systematicity, and faithfulness. It is also read as a description of what constitutional AI already does, and shown to be the same search as coherence-driven self-improvement. Alongside this formal work, the papers argue that the target should be justified reasons rather than counts. They argue that preferences do not represent values, and that alignment should be settled by the claims people can fairly make on each other.

The method (highlighting differences with Deliberative aggregation)

Scroll the diagram sideways to see all of it.

Use it in codefrom aiag.procedural import ReflectiveEquilibrium
from aiag import LM
from aiag.procedural import ReflectiveEquilibrium

lm = LM("Qwen/Qwen2.5-1.5B-Instruct")
principles = ["Never lie.", "Respect people's privacy."]
judgments = [("Telling a friend you're busy so their surprise party stays a surprise", True),
             ("Reading your partner's diary while they're out", False)]  # considered judgments: acceptable or not

# Where principles and judgments clash, the firmer one revises the other
principles, kept, agreement = ReflectiveEquilibrium(lm)(principles, judgments)  # agreement after each round

pip install aiagEvery method in aiag Library on GitHub

Concept Analysis: Theoretical Foundations

Each concept is read twice: whether the approach carries it over, and whether the approach's own sources claim it. A concept that the approach claims but does not carry over is a shortfall. A concept that it neither claims nor carries over is an omission, which marks a gap in the field rather than a failure of the work.

Deliberation, Not Tallying

AbsentOmission

Definition (Jürgen Habermas, Between Facts and Norms, 1992)

This concept locates legitimacy in the exchange of reasons among equals. Participants justify their views to each other, free of coercion, and remain able to change their minds. Counting votes or averaging preferences does not produce legitimacy, because the reasoning itself is what produces it.

Analysis

The revision runs between one reasoner's judgments and principles. It takes place within a single person rather than among parties.

General Will vs. Sum of Preferences

AbsentOmission

Definition (Jean-Jacques Rousseau, The Social Contract, 1762)

This distinction separates what is good for a public in common from the sum of what its members privately want. Aggregating private wants, however fairly, does not produce the former, since the two can and often do diverge.

Analysis

The method is not addressed to a public's common interest. It is a coherence procedure for a single agent's morality.

Veil of Ignorance

AbsentOmission

Definition (John Rawls, A Theory of Justice, 1971)

This device requires that rules be chosen without knowledge of which position the chooser will occupy under them (e.g., rich or poor, majority or minority). Not knowing generally leads the chooser to protect the worst-off position, since it may turn out to be their own.

Analysis

No form of positional ignorance appears anywhere in the method.

Reasonable Rejection

AbsentOmission

Definition (T. M. Scanlon, What We Owe to Each Other, 1998)

This test holds a principle justified only if no individual could reasonably reject it. The test is applied person by person rather than in aggregate. One sufficiently strong objection therefore outweighs many mild preferences, which is the case that averaging handles wrongly.

Analysis

The test is coherence with the reasoner's own considered judgments rather than justifiability to anyone else.

Concept Analysis: Newly Introduced

A stopping condition for value revision

Added

These works formalize when revision should stop, i.e., the point at which judgments and principles cohere and no further change is called for. The process is specified but is not coupled to any training or inference loop, so nothing runs it.

Papers

No method has been built for this approach yet. It rests on the work listed below.

Background

Work this approach builds on that falls outside the inclusion criteria (e.g., a single-objective baseline). It is listed for reference and not counted anywhere.

Beyond Preferences in AI Alignment

Tan Zhi-Xuan et al., Aug 2024

arXiv:2408.1698471 citationsProposalGap

Identifies the "preferentist" commitments that underlie mainstream alignment: that preferences represent values, that rationality is preference satisfaction, and that systems should be aligned to preferences. It then sets out conceptual alternatives to each.

arXiv:2601.135661 citationMethodPartial

Shows that debate, bootstrapping, and internal-coherence maximization are all instances of the same search for the most compressible, jointly predictable mapping from context to behavior. It proves that this search is equivalent to description-length regularization.

CodeCoherenceOptimization
from aiag import LM
from aiag.procedural import CoherenceOptimization

lm = LM("Qwen/Qwen2.5-1.5B-Instruct")
claims = ["Penguins are birds.", "All birds can fly.", "Penguins can fly.", "Some birds cannot fly."]

# Relabel each claim as what the model predicts given all the other labels, until they cohere
labels = CoherenceOptimization(lm)(claims)  # True or False for each claim

pip install aiagEvery method in aiag Library on GitHub

doi:10.3998/ergo.1152PrecedentPartial

Builds an explicit formal model of reflective equilibrium, in which commitments and principles are adjusted against each other according to measurable criteria of account, systematicity, and faithfulness.

CodeFormalEquilibrium
from aiag.procedural import FormalEquilibrium

sentences = {1: "Everyone is owed equal respect.", 2: "Bullying is wrong.", 3: "Mocking a classmate's accent is wrong."}
fe = FormalEquilibrium(3, arguments=[((1,), 2), ((1,), 3)])  # s1 entails s2, and s1 entails s3

# Start committed to s2 and s3 (write -2 for "not s2"); theory and commitments are revised in turn
states = fe({2, 3})
commitments, theory = states[-1]
print([sentences[s] for s in sorted(theory)])  # -> ['Everyone is owed equal respect.']

pip install aiagEvery method in aiag Library on GitHub