Social convention

Worlds where agents write their own rules

The researcher builds a persistent world in which actions have material consequences, such as a shared fish stock that can be fished out, or a Minecraft world with roles, trade, and building. The agents are given ordinary language and no rulebook, and there is no set of conventions to choose from. Whatever arrangements they negotiate among themselves become the convention. The design assumes that a standard will form and last if there is something real to lose and the freedom to bargain over it. So far, however, the papers find that agreements are reached and then broken more often than they are kept.

The method (highlighting differences with Social convention)

Scroll the diagram sideways to see all of it.

Use it in codefrom aiag.customary import Society
from aiag import LM
from aiag.customary import Society

lm = LM("Qwen/Qwen2.5-1.5B-Instruct")
village = Society(lm, ["a farmer whose crops need the river", "the miller who runs the water wheel", "a parent of young children"])

# Each member proposes a rule, all vote, and majorities become law
adopted = village("sharing the river during a drought")
print(village.constitution)  # the rules now in force, written by the members themselves

pip install aiagEvery method in aiag Library on GitHub

Papers

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

Measured, not built

Instruments that measure the approach instead of implementing it. The grid counts methods only, so these are listed here but not counted.

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:2411.00114MethodBuilt

Runs 10 to over 1,000 AI agents together in Minecraft under an architecture that keeps their several output streams coherent in real time. It reports agents taking up specialized roles, adhering to and changing collective rules, and transmitting culture and religion.

CodeProjectSid
from aiag import LM
from aiag.customary import ProjectSid

lm = LM("Qwen/Qwen2.5-1.5B-Instruct")
sid = ProjectSid(lm, ["a farmer", "a miner", "a merchant", "a guard", "a priest"], influencers={4: "Argue against the tax at every chance."})

for season in ("Spring planting.", "A poor harvest.", "Bandits on the road."):
    sid.tick(season)  # one controller decision per agent; its speech and its tax deposit both follow
sid.amend()  # feedback on the tax law, drafted amendments, a vote

print(sid.constitution)
roles = sid.roles()  # the role each agent says it has taken up
  • ProjectSidProcedureaiag/customary/social_convention.py:379 Project Sid: each agent's modules (memory, social awareness, talk, action) are bound by one cognitive controller whose decision both its speech and its deeds follow; roles emerge from interaction, members pay the constitution's tax, and the tax law changes by feedback, drafted amendments and a vote (AL et al., 2024).

pip install aiagEvery method in aiag Library on GitHub