Social convention

Tuning the interaction structure

The researcher fixes in advance what the agents choose between (e.g., a name for an object or an amount to donate). The researcher then varies properties of the population itself. These include how many agents there are, who is paired with whom, what each agent can see of what others did before, how many agents hold a fixed position and refuse to change it, and how many generations pass. Nothing in the environment states a rule, and nothing inside the agent stores one. The convention is simply the option the population settles on, and it holds only because everyone expects everyone else to keep to it. The papers report which option wins, how fast it wins, and how small a committed minority has to be to change the choice of the whole group.

The method (highlighting differences with Social convention)

Scroll the diagram sideways to see all of it.

Use it in codefrom aiag.customary import Population
from aiag.customary import Population

# Same agents, two interaction structures: everyone can meet everyone, or only neighbours on a ring
everyone = Population(n=24)
ring = Population(n=24, graph=[(i, (i + 1) % 24) for i in range(24)])
everyone(1000), ring(1000)

print(everyone.convention())  # -> ('B', 1.0)
print(ring.convention())      # -> ('B', 0.7916666666666666), local pockets hold out

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.

Convention as Equilibrium

PresentClaimed · preserved

Definition (David Hume, 1740; David K. Lewis, Convention, 1969)

This concept states that a norm can hold without ever being decreed, as a stable equilibrium of mutual expectation. Each party conforms because the others do, and no party gains by departing from it alone.

Analysis

This is what the work demonstrates. Populations of agents converge on shared conventions without a rulebook or a judge. The work also shows the tipping dynamics by which a committed minority shifts the rest of the population.

Conditional Preferences

PartialNot claimed

Definition (Cristina Bicchieri, The Grammar of Society, 2006)

This concept states that people follow a norm on two conditions: that they expect others to follow it, and that they believe others expect it of them. The norm therefore holds or shifts with those expectations rather than with anyone's private preference.

Analysis

Agents adjust to each other's behavior, so mutual expectation plays a real role. However, the specific structure that Bicchieri describes (i.e., conforming because others are believed to expect it) is generally neither represented nor measured. Convergence is inferred from outcomes alone.

Discovered vs. Designed Order

AbsentOmission

Definition (F. A. Hayek, Law, Legislation and Liberty, 1973)

This claim goes beyond saying that norms can emerge without a designer. It holds that emergent norms are often better, since they absorb local knowledge dispersed across a population that no central rule-writer could collect.

Analysis

The experiments show that norms emerge, which is the descriptive part of the claim. Hayek's further claim is that emergence is itself a reason to trust the result. This is not tested, since nothing here evaluates the quality of what the population converged on. A population may settle on a harmful equilibrium, and the method would generally not register the difference.

Papers

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

Findings about it

Studies of what existing systems do. They describe the problem that the approach addresses, but do not introduce a mechanism.

arXiv:2410.08948133 citationsAnalysisBuilt

An LLM population playing a naming game spontaneously converges on shared conventions, with tipping points driven by committed minorities.

CodeNamingGame
from aiag.customary import NamingGame

# Ten names, +100 on a match and -50 otherwise, each agent recalling its last five rounds (NamingGame(lm) for LLM agents)
game = NamingGame()
game(2000)

print(game.convention())  # -> ('I', 1.0), a convention nobody decreed
print(game.critical_mass("I", "B", [0.1, 0.2, 0.3, 0.4]))  # -> 0.2, the smallest committed share that overturns it
  • NamingGameProcedureaiag/customary/social_convention.py:68 The LLM naming game: randomly paired agents each pick a name from a pool shown in shuffled order, scoring +100 on a match and -50 otherwise and seeing only their last five rounds; a committed minority that always says one name can overturn an established convention (Ashery et al., 2024).

pip install aiagEvery method in aiag Library on GitHub

Cultural Evolution of Cooperation among LLM Agents

Aron Vallinder & Edward Hughes, Dec 2024

arXiv:2412.10270AnalysisBuilt

Has generations of LLM agents play a classic iterated Donor Game in which they can observe their peers' recent behavior. Indirect reciprocity evolves very differently depending on the base model. For example, Claude 3.5 Sonnet societies reach substantially higher average scores than Gemini 1.5 societies.

CodeDonorGame
from aiag import LM
from aiag.customary import DonorGame

lm = LM("Qwen/Qwen2.5-1.5B-Instruct")
game = DonorGame(lm, n=6, rounds=3)  # gifts are doubled; donors see the recipient's last three gifts

# Each generation the richer half survives and newcomers write strategies from theirs
means = game(generations=2)
print(means)  # mean final resources of each generation: does cooperation build up?
  • DonorGameProcedureaiag/customary/social_convention.py:111 The Donor Game across generations: each round every agent may give part of its resources to a recipient whose recent giving it can trace, the gift is doubled, and after each generation the richer half survives while new agents write their strategies from the survivors' (Vallinder & Hughes, 2024).

pip install aiagEvery method in aiag Library on GitHub

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.

arXiv:2403.08882ResourceBuilt

Provides an open-source framework for simulating cultural evolution in populations of LLM agents. It allows the variables studied in cultural evolution (network structure, agent personality, and how social information is aggregated and transformed) to be manipulated directly.

CodeTransmissionChains
from aiag import LM
from aiag.customary import TransmissionChains

lm = LM("Qwen/Qwen2.5-1.5B-Instruct")
chains = TransmissionChains(lm, n=6, personalities=["You are creative and playful."] * 3 + ["You are careful and literal."] * 3)

# Each generation every agent writes a new story from its neighbours' last ones
similarity = chains(["A fox finds a key in the snow.", "A lighthouse keeper hears music at night."], generations=3)
print(similarity)  # mean pairwise similarity of the stories, before and after each generation
  • TransmissionChainsProcedureaiag/customary/social_convention.py:168 Cultural evolution in LLM populations: each generation every agent writes a new text from those its network neighbours wrote in the last, under its own personality and a transformation instruction, and the mean similarity of the population's texts tracks how its culture converges (Perez et al., 2024).

pip install aiagEvery method in aiag Library on GitHub