Se vuoi risultati diversi da un agente, cambia il contesto in cui lavora prima di cambiare l'agente. System prompt, tool e istruzioni si fissano all'inizio della sessione e pesano poco. La repo, i documenti, le note e le decisioni che l'agente legge mentre lavora pesano molto di più, e decidono cosa nota e cosa ignora. L'ho visto l'8 novembre su una feature vera, e da allora progetto contesti al posto di squadre di agenti.
Per multi-context intendo un sistema in cui gli stessi agenti lavorano in più ambienti separati, ognuno con il suo materiale e il suo tipo di domanda, e tra uno e l'altro passa informazione, mai la conversazione intera. Un sistema multi-agent classico fa il contrario: tanti agenti con ruoli diversi nello stesso ambiente.
Cosa decide davvero il comportamento di un agente
Quando avvii una sessione, l'agente riceve un system prompt, una lista di tool e le istruzioni del progetto. È la parte che tutti curano, ed è sottile. Poi l'agente legge: file, test, documenti, decisioni passate, la storia della repo. Questa parte è spessa e cresce a ogni passo. Nelle mie sessioni, che durano settimane, quasi tutto quello che il modello ha davanti a un certo punto viene dall'ambiente.
C'è anche un bias di partenza. Gli agenti di coding nascono per scrivere codice, e una repo di codice spinge ogni domanda verso un'implementazione. Gli chiedi cosa dovrebbe fare una feature e ti risponde con dati, schermate e componenti. Va benissimo quando la domanda è come costruire. Quando la domanda è cosa costruire e per chi, la repo è il posto sbagliato.
Il caso: un brand, tanti mercati
motive osserva cosa rispondono gli assistenti AI quando qualcuno chiede di un mercato. Fino all'8 novembre un brand stava in un mercato solo, con una sola lingua. Il mondo vero è diverso. Un brand con un dominio italiano vende ovunque e pubblica il sito in 27 lingue. Un brand globale ha un mercato «international» che può essere in inglese, oppure in spagnolo se vuoi raggiungere chi parla spagnolo nel mondo. Un'agenzia divide il lavoro per mercato e per linea di prodotto, e porta al cliente una scorecard per ogni mercato.
Il coding agent aveva già il prompt e una prima risposta. Io sapevo già dove stava il materiale per decidere bene: come le agenzie lavorano sui mercati, le lingue, i clienti, gli errori che ho visto fare. Niente di questo vive nella repo, e mentre lavoro sul prodotto non riesco a richiamarlo tutto a memoria. Vive nel mio second brain.
Non ho creato un agente per il brainstorming. Non penso più in agenti, penso in contesti. Ho aperto una sessione nel second brain e ci ho portato lo stesso prompt, la risposta del coding agent e i miei dubbi. Nessun system prompt nuovo, nessun tool nuovo. È cambiato solo il posto in cui si lavorava.
La risposta è arrivata con lo sguardo di un'agenzia seria. Alcune cose che la repo non poteva sapere:
- La lingua conta più del paese. Un assistente interrogato in inglese su un mercato che parla un'altra lingua può saltare la ricerca web e rispondere da una memoria vecchia.
- Ogni mercato ha il suo mix di assistenti, con il suo peso. In Cina ChatGPT non c'è, e contano Doubao, Qwen, DeepSeek e altri.
- Una domanda va adattata a ogni mercato. Tradotta parola per parola misura un'altra cosa, e il confronto tra mercati vale solo sulle domande che condividono lo stesso nucleo.
- Un brand è il nome che dice chi compra. Aperol è un brand, Campari Group è l'azienda.
- Le versioni del sito per lingua dicono dove esiste il contenuto. Dove il cliente vende lo decide il cliente.
- Si paga per domande osservate. Un prezzo per mercato punirebbe proprio il brand che vende in 27 lingue.
Ho commentato, il second brain ha corretto, e la decisione è finita scritta in un ADR corto nella repo di motive. Il coding agent l'ha ricevuta a decisione presa. Al brainstorm non ha mai partecipato.
La decisione è entrata nella repo all'ora di pranzo. Prima di cena motive tracciava brand su più mercati in produzione: mercati suggeriti dal sito, domande adattate per mercato, un peso per ogni assistente e una scorecard per mercato. Cinque slice, ognuno con la sua spec, e in serata gli audit erano chiusi.
Perché lo stesso agente risponde in un altro modo
Il modello non è diventato più bravo in marketing tra una sessione e l'altra. Ha letto altre cose. Nella repo aveva davanti com'è fatto il prodotto. Nel second brain aveva davanti per chi è fatto e come lavora chi lo comprerà. Le domande che un agente si pone dipendono da quello che ha intorno.
Il costruttivismo lo dice da più di quarant'anni. In «La realtà inventata», la raccolta curata da Paul Watzlawick nel 1981, Heinz von Foerster scrive che l'ambiente come lo percepiamo è una nostra invenzione, ed Ernst von Glasersfeld che la conoscenza deve funzionare dentro l'esperienza di chi la usa, più che corrispondere a una realtà esterna. L'agente nella repo e quello nel second brain hanno costruito due realtà della stessa feature, entrambe coerenti con quello che avevano davanti. Il contesto decide quale delle due ottieni.
L'avevo già notato con l'archiviazione: lo stesso modello scriveva note profonde nel mio vault e note magre in un'altra memoria collegata da fuori, perché istruzioni e fonti erano diverse (la storia). Lì cambiava la qualità del lavoro. Qui è cambiata una decisione di prodotto.
Una squadra di agenti è spesso un modello solo con cinque cappelli
Il pattern più diffuso è una squadra: il PM agent, l'architect agent, il QA agent, ognuno con il suo system prompt. Se girano tutti sullo stesso modello, nella stessa repo, leggendo gli stessi file, la differenza tra loro sta in poche righe iniziali. Il resto del contesto è identico, e lo sono anche i punti ciechi.
Per questo divido il lavoro per contesto. Una domanda su cosa costruire va dove vivono utenti, clienti e decisioni passate. Una domanda su come costruire va nella repo. La review va a un modello di un'altra famiglia, che guarda con occhi diversi (perché). Ogni contesto ha il suo lavoro, e i ruoli vengono da lì.
Tra un contesto e l'altro c'è uno scambio di informazione
Tra i due contesti la conversazione resta ferma. Passa informazione. Gregory Bateson la definiva una differenza che fa la differenza («Verso un'ecologia della mente», 1972). Di tutto il brainstorming, al coding agent arriva solo quello che cambia cosa farà: la decisione, le ragioni, cosa resta fuori, i criteri per dire che è fatto. Le idee scartate e i miei dubbi a metà restano dove sono nati, perché per chi costruisce sono rumore.
Per Luhmann l'informazione la seleziona chi riceve: la stessa decisione informa il coding agent in un modo e la review in un altro. Per questo scrivo lo scambio pensando a chi lo leggerà, nel suo contesto, e lo provo da lì. Il supporto conta poco. Questa volta era un ADR, altre volte è una spec.
Lo scambio va nei due sensi, come in ogni sistema cibernetico da Norbert Wiener in poi: senza feedback non c'è controllo. Quello che il coding agent scopre costruendo torna al second brain quando cambia qualcosa destinato a durare, una decisione o una lezione. Lo stato del lavoro resta nella repo, che è il suo posto.
L'obiezione più forte: allora il system prompt non conta
Conta per quello che deve valere sempre: permessi, sicurezza, i tool a cui l'agente ha accesso. E il modello conta quando vuoi un punto di vista davvero diverso, come in review. La domanda è dove metti il lavoro. Rifinire le personas di agenti che vivono tutti nello stesso posto cambia il tono delle risposte. Cambiare il posto cambia le domande che si fanno.
Da lunedì
- Prima di creare un agente nuovo, chiediti se ti serve un contesto nuovo.
- Separa le domande su cosa costruire da quelle su come costruirlo, e dai a ciascuna il suo posto.
- Tieni quello che sai di utenti, clienti e mercato dove un agente può leggerlo per intero.
- Porta lo stesso prompt in due contesti e confronta le risposte prima di decidere.
- Tra un contesto e l'altro fai passare informazione: decisione, ragioni, cosa resta fuori, quando è fatto. La conversazione resta dov'è nata.
- Tieni il coding agent fuori dal brainstorm.
- Per la review usa un modello di un'altra famiglia, in un contesto diverso da quello di chi ha scritto.
Da leggere
- Gregory Bateson, «Verso un'ecologia della mente», Adelphi, 1976 (ed. orig. «Steps to an Ecology of Mind», 1972). L'informazione come differenza che fa la differenza.
- Norbert Wiener, «La cibernetica. Controllo e comunicazione nell'animale e nella macchina», il Saggiatore, 1968 (ed. orig. «Cybernetics», 1948). Il feedback.
- Paul Watzlawick (a cura di), «La realtà inventata. Contributi al costruttivismo», Feltrinelli, 1988 (ed. orig. «Die erfundene Wirklichkeit», Piper, 1981). Con i saggi di Heinz von Foerster, Ernst von Glasersfeld e Francisco Varela.
- Il seguito di questo saggio, su cosa insegna Niklas Luhmann a chi costruisce con tanti agenti: La codebase è una società.
// stesso prompt, altra casa. ha vinto la casa.