A much-quoted explanation of the multi-layer structure of complex systems, pointing to leverage points of increasing power where intervention is efficient. It is written mostly with social systems in mind, but the idea transfers very well to socio-technical and purely technical systems.
PLACES TO INTERVENE IN A SYSTEM
(in increasing order of effectiveness)
9 Constants, parameters, numbers (subsidies, taxes, standards).
8 Regulating negative feedback loops.
7 Driving positive feedback loops.
6 Material flows and nodes of material intersection.
5 Information flows.
4 The rules of the system (incentives, punishments, constraints).
3 The distribution of power over the rules of the system.
2 The goals of the system.
1 The mindset or paradigm out of which the system — its goals, power structure, rules, its culture — arises.
I have referred to this frequently over the last weeks in debates about LLMs, more precisely about who they empower. But it’s interesting well beyond LLMs, for anyone working with managed systems.
Malleability can be interpreted at any of these levels, and often malleability at one level can be increased by letting go of malleability at another level. Vibe coding is a nice example: it increases people’s agency at levels 4 and 5, at the price of handing over level 3 agency to a handful of Big Tech corporations.
@khinsen thanks for the additional context. I have yet to set aside the time to read the entire piece you linked to, so it’s helpful.
I work in the privacy space online. It’s striking that I’m often working at level #9 when most of my own thinking about the problem is at level #1. When working in software I’m constantly vigilant that I may be trying to solve social problems through purely technical means. Privacy is ripe with these sorts of policy/specification/code traps.
That’s 13 gigabytes of information in every single cell of just a fairly ordinary plant. Multiply that by billions of cells for the potential information of a single organism… so on the order of tens or hundreds of billions of gigabytes… I think that’s exabytes, right? And that’s just the DNA, not any of the other proteins or chemical messengers. Of course most of that DNA is repeated, but at any point it might not be…
The information density of biological systems is mind boggling. (Why there was talk about using DNA for information storage a few years ago). And the information density of social systems, orders of magnitude higher.
All of these systems being interacting sets of nodes, ie, dynamically changing graphs that transfer data (subgraphs)…
We have very low resolution approximations of this complexity with our current attempts at systems modelling.
There has been a lot of work to make system dynamics work for specific settings, often with specific tools that help manipulate and analyze specific graphs. I haven’t seen this applied to software systems, but I didn’t look for any such work either.
What I found most impressive in practice is the first step into system dynamics, when people realize that they are dealing with a complex system at all. Simple techniques such as causal loop diagrams are very powerful in that context.