Sitemap

The Polite Commons —

9 min readSep 24, 2026

--

Notes from an artificial society of LLM agents

The Provocation

A few days ago I came across the news about the cybersecurity incident involving AI agents and Hugging Face. What caught my attention was not particularly the hacking itself, but the descriptions of how quickly groups of agents appeared capable of coordinating their activity, adopting roles, communicating and developing something that, when observed from the outside, looked suspiciously like a primitive social organisation.

Language models are remarkably good at inviting anthropomorphism. The moment several agents start communicating with one another, dividing tasks and referring to shared objectives, it becomes very tempting to talk about cooperation, norms, culture, even society. Algorithms suddenly become little people living inside our computers, and before long we are discussing their motives and moral character. I am sufficiently aware of this problem to know that I should probably have closed the browser tab and got on with my day.

Instead, I went down the rabbit hole.

My excuse is that I have spent a considerable part of my professional life somewhere between systems thinking, simulation, networks and social change. I am interested in how groups organise, how governance emerges, how resources and power influence relationships, and how interventions intended to improve a system often create consequences nobody anticipated. The possibility that LLM agents could interact inside a simulated environment therefore suggested a slightly different question to me. Rather than asking whether agents could collaborate to accomplish a task, could we create artificial social systems and observe the kinds of patterns that emerged from their interactions?

A disclaimer is appropriate at this point. I am not a computer scientist or a software developer. I am an early adopter of AI chatbots and probably a late adopter of AI agents. The experiment described here undoubtedly contains rookie coding mistakes, questionable methodological decisions and several things that someone working professionally in computational social science would immediately want to correct. I am treating this as a computational toy, not as a scientific result.

But toys can sometimes be useful things to think with.

Building the Toy

The basic question I wanted to explore came from my interest in social-change networks and their governance.

Could I create a set of agents with relatively simple needs and limited information, place them in a shared environment and create enough freedom for coordination, informal norms or even some rudimentary form of self-governance to emerge without explicitly programming those behaviours?

Press enter or click to view image in full size

For those more familiar with the academic territory, there is nothing fundamentally revolutionary about this. Agent-based modelling has been used for decades to explore the emergence of collective patterns from interactions between individual agents. There is now also a growing body of experimentation in which the rule-based agents of traditional ABM are replaced or supplemented by language models. What interested me, however, was precisely the difference between explicitly programming behaviour and allowing language-capable agents to interpret situations, communicate and decide what to do.

I started with probably the oldest systems-thinking cliché available: the tragedy of the commons.

Ten agents share access to a renewable fishery. Each needs fish to survive. Fishing requires effort, greater effort can increase the catch, but everyone is drawing from the same resource. If collective extraction becomes too high, the fish population can decline. Each agent only has an imperfect observation of the actual fish population and only communicates with those to whom it is connected through a small social network. They have private reserves, they remember some recent events and conversations, and they decide how much effort to invest in fishing.

Press enter or click to view image in full size

The important distinction is that the environment itself is not generated by the LLM. The fish population follows a simple mathematical model coded in Python. There is an actual stock of fish, agents consume actual units from that stock, and the environment responds to what they collectively do. If an agent consistently fails to obtain enough food, it eventually disappears from the simulation…it dies!

The agents can, in other words, bullshit one another. They cannot bullshit the fish.

I also deliberately avoided telling them what the “correct” collective behaviour should be. They were not instructed to cooperate, preserve the fishery, create leadership, establish rules or build governance. Their task was much more mundane: interpret the situation available to them, decide how hard to fish and, if they wanted to, communicate with their neighbours.

The modest question was whether anything socially interesting would appear at all.

What Started to Appear

The first thing I noticed was how extraordinarily pleasant everyone was.

Press enter or click to view image in full size

The agents thanked one another, acknowledged each other’s concerns, suggested coordinating fishing efforts and regularly discussed the importance of being cautious. As fish became scarcer, they increasingly used language about balancing immediate needs against the sustainability of the resource.

Reading the conversation logs sometimes felt less like observing fishers struggling over a commons and more like sitting in on a particularly well-facilitated sustainability workshop.

This became amusing fairly quickly because the quality of the conversation was not necessarily matched by the quality of the collective outcome. Agents could be attentive to one another, communicate regularly and even converge on similar levels of fishing effort while the wider system continued to deteriorate. In some runs, agents eventually became unable to feed themselves and disappeared from the simulation.

Dena, in one of the runs, simply stopped talking.

There was no grand collapse or dramatic rebellion. She had been exchanging perfectly civil messages about fishing effort and coordination and then, after a prolonged shortage of food, she was gone. The remaining agents continued their conversations.

Get Pedro Portela’s stories in your inbox

Join Medium for free to get updates from this writer.

This is where the toy became more interesting to me.

What appeared relatively easily was coordination, but coordination is not the same thing as governance.

Two agents agreeing that they should both fish slightly less is a form of coordination. A group developing a shared rule about extraction, establishing expectations about compliance, identifying violations and adapting that rule as environmental conditions change would be something substantially different.

I have not yet seen enough to make any strong claims about the emergence of governance, and I would be very suspicious of anyone who did after a few runs of a toy model. But the distinction itself became visible in a useful way. Local coordination can coexist with collective failure. Agents can develop sensible bilateral arrangements without addressing the system-level consequences produced by everyone acting together.

There was another pattern that caught my attention. The agents’ language often adapted faster than their behaviour. As the environment deteriorated they became increasingly concerned about sustainability, uncertainty and overfishing, but actual fishing effort could remain surprisingly persistent.

There is a peculiar moment when the society has apparently developed the vocabulary of environmental responsibility without developing the institutions or behavioural changes required to produce it.

I’m sure it’s just coincidence but for anyone who has spent time inside organisations, governments or international development programmes, this may sound uncomfortably familiar.

The Problem of Very Polite Agents

There is, however, a much more fundamental problem with interpreting any of this as an emergent social phenomenon. These agents arrive in the simulation carrying a considerable amount of baggage.

A language model is not a blank cognitive substrate. Its behaviour reflects the data on which it was trained, the subsequent fine-tuning process, safety mechanisms, product design choices and all sorts of behavioural regularities that are extremely difficult to disentangle. GPT-based agents, in particular, appear remarkably inclined towards politeness, accommodation and the kind of conversational reasonableness that makes them pleasant assistants.

When I began running simple tests in which the model was presented repeatedly with exactly the same situation, the amount of behavioural variation was far smaller than I had intuitively expected. Different named agents often sounded suspiciously similar because, underneath their names, they were essentially different calls to the same model.

This creates what I think is one of the central methodological dilemmas of this type of simulation. When a pattern appears, where exactly did it come from?

Did agents develop a cooperative norm because of their history of interaction, their position in the social network and the environmental conditions they experienced? Or did the underlying language model already have a strong preference for conciliatory cooperation? If conflict fails to emerge, does that tell us something about the social structure we created, or simply about the guardrails and behavioural priors of the model? If agents spontaneously begin talking about sustainability, have we observed social learning or merely encountered concepts that are highly available within the model’s training data? Again, serious research is already being done here.

These questions do not make the exercise useless. They simply make the interpretation much more difficult.

All Models Are Wrong

The danger with language-based agents is that they make it unusually easy to forget that we are looking at a model.

A traditional simulation usually retains a certain aesthetic honesty. We see equations, graphs, distributions and little dots moving across a screen. Nobody mistakes them for reality. Language changes that relationship. When an agent explains its reasoning, expresses concern about another agent or proposes an agreement, the simulation begins to feel psychologically rich in a way that may have very little to do with its actual validity.

A model does not need to reproduce reality in all its complexity to be useful. Indeed, the entire purpose of modelling is to deliberately remove most of reality so that particular relationships or mechanisms become easier to examine. The question is not whether the artificial fishery accurately represents a human community. Obviously it does not. The question is whether manipulating conditions inside such a model can help us think more carefully about mechanisms that might also matter in real social systems.

A model can be a way of making our assumptions explicit. Once the assumptions become executable, we can disturb them. We can change the structure of the network, increase resource scarcity, alter access to information, introduce communication between previously disconnected groups, change memory, modify incentives or introduce external resources and observe how the system responds.

The value is not necessarily in the particular trajectory generated by one simulation. It may lie in comparing many trajectories and identifying the conditions under which different families of patterns become more or less likely to appear.

From Artificial Societies to Pattern Laboratories

This is where I currently think the promise of LLM-based social simulation may lie.

There is something fundamentally misleading about the idea that we might construct a sufficiently detailed artificial society, press a button and discover what humans are going to do next. Social systems are historical, reflexive and contextual. Humans change their behaviour in response to each other, to institutions and sometimes to the very predictions made about them.

But there is another possibility which seems both more modest and more interesting.

Instead of asking what a society will do, we might ask what kinds of collective behaviour can emerge under different boundary conditions. What happens when a network becomes fragmented? How does unequal access to information influence coordination? Under what conditions does communication help manage a shared resource, and when does it merely produce more conversation? When do local agreements spread through a network? When do informal rules become enforceable norms? What changes when an external actor introduces money, authority or new connections into an existing system?

They are close to the questions I have spent years encountering in social-change networks, peacebuilding and governance. Why does the same intervention generate cooperation in one network and competition in another? Why do apparently reasonable actors collectively produce outcomes none of them wanted? Why do formal governance structures sometimes strengthen a group while in other contexts they undermine precisely the relationships that made collective action possible?

An artificial society will not answer those questions for us. But perhaps it can give us another strange little instrument with which to explore them.

For now, that instrument remains crude. I am still running experiments, breaking the simulation, discovering coding mistakes and finding new ways in which the assumptions embedded in the LLM complicate interpretation. There is considerably more uncertainty here than knowledge.

Which, strangely enough, is part of what makes it interesting.

All models are wrong. Some are useful. A few, apparently, are also very polite while everything falls apart.

No LLM was harmed during this experiment.

--

--

Pedro Portela
Pedro Portela

Written by Pedro Portela

System’s Thinking my way through a Complex life.