---
title: "La codebase è una società: cosa insegna Luhmann a chi costruisce con gli agenti"
url: "https://simonebova.com/it/writing/la-codebase-e-una-societa"
lang: "it"
updated: "2026-11-09"
author: Simone Bova
alternates:
  it: "https://simonebova.com/md/it/writing/la-codebase-e-una-societa"
  en: "https://simonebova.com/md/en/writing/la-codebase-e-una-societa"
  pl: "https://simonebova.com/md/pl/writing/la-codebase-e-una-societa"
---

# La codebase è una società: cosa insegna Luhmann a chi costruisce con gli agenti

2026-11-09 · Frontiera

Per Niklas Luhmann una società è fatta di comunicazioni. Applicato a una codebase dove lavorano tanti agenti, cambia come scrivo handoff, review e stop. Un'ipotesi, con le regole che ne ho tratto.

Niklas Luhmann, sociologo tedesco (1927–1998), sosteneva in «Sistemi sociali» (1984) che una società è fatta di comunicazioni. Le persone sono indispensabili, ma stanno nel suo ambiente. La mia ipotesi è che una codebase dove lavorano tanti agenti funzioni allo stesso modo. Gli agenti sono l'ambiente, e la codebase è fatta di quello che si scambiano: commit, pull request, finding, test che falliscono, fix, review, decisioni scritte. È una lente, e mi sta già cambiando il modo di costruire.

Ci sono arrivato per una side quest. Stavo facendo brainstorming con ChatGPT su Paul Watzlawick e il costruttivismo, e la conversazione è scivolata su Luhmann, dalla cibernetica alla teoria della società. Più leggevo, più riconoscevo le mie repo.

## Luhmann in cinque idee

- La società è fatta di comunicazioni. In «Sistemi sociali» una comunicazione è la sintesi di tre selezioni: un'informazione, il modo in cui viene detta e la comprensione di chi la riceve, fraintendimenti compresi. La comprensione sta dalla parte di chi riceve, quindi nessuno da solo può far avvenire una comunicazione. È l'opposto del modello di Shannon, dove un messaggio viaggia da un mittente a un ricevente.
- Autopoiesi. Il termine viene da «De máquinas y seres vivos» (1972) dei biologi cileni Humberto Maturana e Francisco Varela: un sistema che produce gli elementi di cui è fatto. Luhmann lo porta dalla cellula alla società. Una comunicazione genera altre comunicazioni, e così il sistema si riproduce.
- Coscienze e società sono sistemi diversi. Pensare e comunicare sono operazioni diverse: senza coscienze non c'è comunicazione, ma la società è fatta solo della seconda.
- Differenziazione funzionale. Ogni sottosistema osserva il mondo con un suo codice binario: la scienza con vero e falso, il diritto con lecito e illecito, l'economia con pagare e non pagare. In «La realtà dei mass media» (1995) anche i media diventano un sistema, con il codice informazione e non informazione.
- Osservazione di secondo ordine. Luhmann la prende da Heinz von Foerster e dalle «Laws of Form» (1969) di George Spencer-Brown: osservare vuol dire tracciare una distinzione, e chi osserva non vede la distinzione che sta usando. Per vederla serve qualcuno che osservi come osservi.

## Gli agenti sono l'ambiente. La codebase è la comunicazione.

Gli agenti vanno e vengono. Una sessione finisce, il contesto si compatta, il modello cambia a ogni release. Quello che resta è quello che hanno lasciato dove il prossimo può leggerlo. Un ragionamento brillante rimasto in una chat, per la codebase, non è mai successo.

«La realtà dei mass media» si apre con un'idea che vale parola per parola per gli agenti: quello che sappiamo della società e del mondo lo sappiamo dai mass media. Quello che un agente sa della codebase lo sa da quello che è scritto nella codebase. Non ha un altro canale.

Per questo giudico un agente da quello che lascia: una decisione scritta, un test che fallisce prima del fix e passa dopo, una PR che dice cosa ha provato, cosa resta aperto e come si reverte. È la regola che uso anche nel company brain: un passaggio di consegne è finito quando chi riceve riesce a leggere ([qui](https://simonebova.com/it/writing/context-is-gold)). Luhmann direbbe che una comunicazione la completa chi la capisce.

## Non si può non comunicare, nemmeno in una repo

Paul Watzlawick, con Janet Beavin e Don Jackson, ha scritto nel 1967 «Pragmatica della comunicazione umana», il libro della scuola di Palo Alto. Il primo dei suoi cinque assiomi è il più citato: non si può non comunicare. Anche il silenzio dice qualcosa.

In un progetto di ricerca di quest'autunno, una suite di test si skippava da sola quando il motore dei container era spento, e il run diceva verde ([la storia](https://simonebova.com/it/writing/nessuno-legge-ogni-riga)). Nessuno aveva scritto «è tutto a posto». L'ha comunicato il silenzio. Un TODO vecchio comunica che lì si fa così. Un file morto comunica che serve ancora. Il prossimo agente legge tutto e ci costruisce sopra.

Così pulire diventa lavoro di prima classe. Tutto quello che resta nella repo è un messaggio per qualcuno che non c'era.

## Gli altri quattro assiomi, letti in una repo

- Ogni comunicazione ha un contenuto e una relazione, e la relazione dice come leggere il contenuto. In una repo la relazione è lo stato di un'affermazione: ipotesi, proposta, decisione presa. Se manca, l'agente legge un'ipotesi come una decisione. Nel company brain l'abbiamo pagato ([qui](https://simonebova.com/it/writing/context-is-gold)). In «La realtà inventata» lo studio di David Rosenhan mostra il caso estremo: una volta data un'etichetta, ogni comportamento successivo viene letto attraverso l'etichetta.
- La punteggiatura della sequenza. Ognuno divide lo stesso scambio in causa ed effetto a modo suo. In un loop di review l'autore pensa di rispondere al reviewer, il reviewer pensa di rispondere al nuovo bug dell'autore, e ognuno dei due ha ragione dal suo punto. Per questo nessuno dei due smette da solo.
- Comunicazione numerica e analogica. Gli agenti leggono il codice in due modi: quello che dice, e la forma che ha. Nomi, struttura, il file accanto. Copiano la forma con la stessa fedeltà del contenuto, quindi un solo modo ovvio per fare ogni cosa vale più di qualsiasi istruzione.
- Interazione simmetrica e complementare. Due agenti con la stessa autorità tendono all'escalation simmetrica: ogni fix produce un finding, ogni finding un fix più grande. Ruoli complementari la fermano: il bot descrive il rischio, la firma è di una persona ([qui](https://simonebova.com/it/writing/nessuno-legge-ogni-riga)).

## Ogni contesto osserva con il suo codice

La differenziazione funzionale spiega il mio saggio precedente meglio di come l'avevo spiegato io ([multi-context](https://simonebova.com/it/writing/non-e-mai-stato-multi-agent)). La CI osserva una modifica con verde e rosso. La review con finding e nessun finding. Il second brain, quando ragiono di prodotto, con deve esistere e non deve esistere. Sono tre sistemi che guardano lo stesso cambiamento con tre codici, come scienza, diritto ed economia guardano lo stesso evento.

Un agente con un codice solo fa bene il suo lavoro. Se a un agente chiedi di decidere insieme se il codice è corretto e se la feature ha senso, mescola due codici, e di solito uno dei due perde. Do a ogni contesto una domanda e lo lascio rispondere con il suo codice.

## Il punto cieco si vede solo da fuori

Un modello che rilegge il suo lavoro nello stesso contesto usa le stesse distinzioni che hanno prodotto l'errore, e quindi lo vede male. Per questo la review la chiedo sempre a un modello di un'altra famiglia, in un contesto separato. È un'osservazione di secondo ordine: qualcuno che guarda come ha guardato l'autore.

Il limite vale anche per me. Osservo con le mie distinzioni, e quello che scarto esce dal mio campo visivo. Per questo scrivo le decisioni di prodotto con le alternative scartate: chi viene dopo può vedere quello che io non ho visto.

## Un sistema che si riproduce ha bisogno di uno stop

Un finding genera un fix, il fix genera una review, la review un altro finding. È autopoiesi, ed è il motivo per cui una codebase con tanti agenti va avanti anche quando non guardi. È anche il motivo per cui un loop di review che nessuno ferma ti prosciuga il weekly. Il sistema non ha un motivo interno per smettere di comunicare. Lo stop va messo da fuori: un cap ai round, solo il diff nuovo dopo i primi, una soglia di confidenza.

## Non c'è un centro che vede tutto

Per Luhmann la società moderna non ha un centro che osserva e controlla il resto. Una codebase con tanti agenti nemmeno. L'orchestratore è un osservatore come gli altri, con il suo punto cieco, e un orchestratore che deve sapere tutto diventa il collo di bottiglia ([qui](https://simonebova.com/it/writing/il-modello-intelligente-e-il-collo-di-bottiglia)). Il sistema lo tengono insieme strutture che ogni agente legge: tipi, gate che falliscono, decisioni scritte, un solo modo ovvio per fare ogni cosa ([qui](https://simonebova.com/it/writing/cambia-il-codice-prima-del-prompt)).

## Il primo second brain era di legno

Luhmann ha lavorato per decenni con un archivio di circa 90.000 schede, il suo Zettelkasten. Nel 1981, in «Kommunikation mit Zettelkästen», lo descriveva come un partner di comunicazione: un sistema con cui parlare, con molti tratti di una persona a sé, capace di sorprenderlo. Oggi l'Università di Bielefeld, dove ha insegnato dal 1969 al 1993, lo sta digitalizzando e pubblicando online. Il mio second brain è la stessa idea in Markdown, con un agente che lo legge per intero.

Nel saggio precedente il second brain e la repo si scambiano informazione e nient'altro. Con le parole di Luhmann sono due sistemi operativamente chiusi, in accoppiamento strutturale: nessuno dei due entra nelle operazioni dell'altro, ciascuno legge quello che l'altro produce e lo trasforma in informazione sua. La chiusura è quello che li tiene puliti.

## L'obiezione più forte: è solo una metafora

Può darsi. Jürgen Habermas ha discusso con Luhmann per decenni, a partire dal libro che hanno firmato insieme nel 1971, «Teoria della società o tecnologia sociale». Luhmann chiedeva quali processi tengono in vita un sistema sociale. Habermas chiedeva a quali condizioni la comunicazione resta libera da costrizioni, e per lui ridurla a sistema lasciava fuori le persone. Qui il rischio è simile, perché trattare gli umani come «ambiente» della repo suona freddo.

Nel mio lavoro succede l'opposto. Gli agenti producono comunicazioni più in fretta di quanto chiunque possa leggerle riga per riga, e il mio lavoro si sposta dove il sistema da solo non arriva: decidere cosa deve esistere, che codice usa ogni contesto, dove vanno gli stop. La lente vale finché mi fa prendere decisioni migliori. Per ora lo fa.

## Da lunedì

- Giudica un agente da quello che lascia dove il prossimo legge.
- Tratta il silenzio come un messaggio: test skippati, TODO vecchi e file morti vengono letti.
- Dai a ogni contesto una domanda e un codice solo.
- Fai osservare l'autore da un altro modello, in un altro contesto.
- Metti lo stop da fuori a ogni loop che si riproduce da solo.
- Governa con strutture che tutti leggono, e lascia all'orchestratore il suo punto cieco.
- Scrivi le decisioni con le alternative scartate.

## Da leggere

- Niklas Luhmann, «Sistemi sociali. Fondamenti di una teoria generale», il Mulino, 1990 (ed. orig. «Soziale Systeme», Suhrkamp, 1984). La teoria della comunicazione e dell'autopoiesi sociale.
- Niklas Luhmann, «La realtà dei mass media», FrancoAngeli, con un'introduzione di Elena Esposito (ed. orig. «Die Realität der Massenmedien», 1995). Centosessanta pagine: un buon primo Luhmann.
- Niklas Luhmann, «Kommunikation mit Zettelkästen. Ein Erfahrungsbericht», 1981. Poche pagine sul suo archivio di schede come partner di comunicazione.
- Jürgen Habermas e Niklas Luhmann, «Teoria della società o tecnologia sociale», Etas, 1973 (ed. orig. Suhrkamp, 1971). Il dibattito.
- Humberto Maturana e Francisco Varela, «Autopoiesi e cognizione», Marsilio, 1985 (ed. orig. «De máquinas y seres vivos», 1972).
- Paul Watzlawick, Janet Beavin e Don Jackson, «Pragmatica della comunicazione umana», Astrolabio, 1971 (ed. orig. Norton, 1967). I cinque assiomi.
- Paul Watzlawick (a cura di), «La realtà inventata. Contributi al costruttivismo», Feltrinelli, 1988 (ed. orig. Piper, 1981). Von Foerster, von Glasersfeld, Varela, Rosenhan.

*// è un'ipotesi. se si rompe in una repo vera, la riscrivo qui.*

[simone@yempik.ai](mailto:simone@yempik.ai) · [Book a call](https://calendar.app.google/LKDrQPKGV2EAFCMN9)
