AI IN AZIENDA

Mentre facevo altro: come ho delegato il mio piano editoriale LinkedIn a un agente AI che manovra il Mac (e perché i numeri mi hanno stupito)

Quello che segue non è il racconto di un tool provato per curiosità durante la pausa pranzo, né l’ennesimo tutorial su come farsi generare venti post da un prompt copia-incollato su un chatbot. Quello appartiene ormai alla preistoria del 2023.

Questa è la cronaca forense di un esperimento ad alta automazione: cosa accade quando lasci il Mac sulla scrivania, ti alzi per preparare un espresso o revisionare un progetto, e lasci che un agente autonomo (Google Antigravity) prenda in carico l’intero ciclo del tuo social media management. Non invocando costose API nel cloud né webhook invisibili, ma operando direttamente sul desktop: leggendo il database SQLite locale del blog, analizzando il codice sorgente di dieci repository su GitHub, sintetizzando quaranta contenuti inediti nel mio rigoroso tono di voce, compilando utility in C per pilotare il mouse di sistema e inserendo dieci bozze direttamente dentro Buffer su un browser già autenticato.

I numeri finali — 40 post, 10 repository analizzate, 10 banner editoriali generati, 10 bozze perfettamente allineate su Buffer in 384 secondi netti di esecuzione a schermo — mi hanno impressionato non per la loro velocità, ma per l’incredibile densità concettuale che una macchina è in grado di produrre quando la liberi dal gergo del marketing e la costringi all’interno di un perimetro d’acciaio.


1. Il Mandato e la Tesi: Delegare la Fatica, Preservare il Giudizio

Da quando ho iniziato a insegnare nel 2009 — prima nelle aule accademiche milanesi di Brera e NABA, poi alle aziende e ai team di progettisti — ho sempre difeso un principio cardinale: se una procedura non è chiara in italiano, l’intelligenza artificiale non la risolverà. Renderà soltanto la confusione più veloce.

La stragrande maggioranza dei professionisti usa l’AI per i social media in un modo che produce solo mediocrità: aprono una chat, digitano «scrivimi 5 post accattivanti su LinkedIn sul tema dell’innovazione» e ottengono in risposta quella poltiglia uniforme e zuccherosa che oggi viene giustamente etichettata come AI slop. Frasi che iniziano con «Nel panorama dinamico di oggi», elenchi puntati prevedibili, aggettivi roboanti e un senso pervasivo di fuffa prefabbricata che distrugge qualsiasi autorevolezza in tre secondi netti.

Volevo testare la tesi opposta: è possibile trasformare un agente AI avanzato nel mio Direttore Operativo Social, dandogli accesso alle fonti primarie della mia produzione intellettuale e ordinandogli di agire in totale autonomia sul computer, ma con vincoli talmente rigidi da rendere matematicamente impossibile la produzione di slop?

Il mandato iniziale consegnato ad Antigravity è stato sintetico e spietato:

«Esplora il mio blog, comprendi chi sono, cosa insegno dal 2009 e come progetto. Decidi tu cosa pubblicare su LinkedIn, varia i formati senza mai cadere nell’AI slop, mantieni il mio tono di voce e metti tutto in programmazione su Buffer direttamente dallo schermo del mio Mac mentre io faccio altro.»

Da quel momento, l’agente ha preso il controllo della sessione.


2. Le Quattro Fasi del Cantiere: Anatomia di 40 Post

L’esperimento si è articolato attraverso quattro cicli operativi consecutivi, ciascuno progettato per stressare una specifica capacità cognitiva e operativa dell’agente:

Fase OperativaFonte dei DatiOutputFormato & VincoloDestinazione
01. Hook di ConversioneArchivio Blog (35 saggi)5Hook narrativi brevi + Link ad articoliCoda Buffer Generale
02. AI in AziendaTag tematico #AI IN AZIENDA15Thought Leadership, casi studio, dialetticaCoda Buffer Specialistica
03. GitHub Showcase10 Repository open source10Layout 16:9 Swiss Graphic DesignCoda Buffer con Immagini
04. Sintesi EstremaTrascrizioni lezioni e masterclass10Regola ferrea: massimo 20 paroleBozze Buffer (Drafts 10)

Fase 01 & 02: Dalle Pagine del Blog alla Dialettica Professionale (20 post)

Invece di chiedermi «di cosa vuoi parlare oggi?», l’agente ha interrogato direttamente il file SQLite di Publii (input/db.sqlite), indicizzando 35 articoli integrali. Ha estratto i passaggi più densi — dal paradosso di «Torno Subito» e l’estetica del limite, alla diatriba sulla fallacia del vibe coding senza art direction, fino all’audit forense sui 100GB di Vault didattico per architetti.

I primi 20 post prodotti non sono stati riassunti scolastici. Sono stati formulati come sfide intellettuali: post brevi da 50 parole per stimolare il clic verso il blog, alternati a riflessioni lunghe e asimmetriche che smontavano luoghi comuni sull’automazione aziendale. L’agente ha capito che la mia cifra stilistica non è quella del divulgatore entusiasta, ma del docente forense che smonta la macchina pezzo per pezzo per mostrare dove si inceppa.

Fase 03: Il Cantiere Open-Source e i Banner Svizzeri (10 post + 10 banner)

Nel terzo passaggio ho chiesto all’agente di esplorare le mie repository pubbliche su GitHub (da tapetone, il processore audio analogico in Web Audio API a zero dipendenze, a rex-for-chatgpt, fixyoureyes, dead-text-society, office-os e simple-pdf-sign). L’obiettivo era raccontare la filosofia artigianale del software client-side e local-first.

Non solo l’agente ha redatto dieci testi tecnici precisi, ma ha generato in autonomia il codice grafico per produrre dieci banner 16:9 conformi al mio canone estetico svizzero: griglia rigorosa, contrasto tra carta avorio #f4f1eb e grafite profonda #121417, micro-accenti in rosso Campari, assenza totale di rendering fittizi o gradienti gratuiti.

Showcase Bento dei Banner GitHub generati dall agente

Figura 1: Composizione Bento che raccoglie quattro dei dieci banner grafici 16:9 generati in tempo reale per le repository GitHub — rigore tipografico elvetico, assenza di gradienti AI e rispetto assoluto dell’identità visiva.


3. Dietro le Quinte: Forensic Engineering sul Sistema Operativo

Qui l’esperimento ha abbandonato la dimensione teorica ed è entrato nel territorio dell’ingegneria di sistema. Molti pensano che collegare un agente a Buffer significhi pagare 50 dollari al mese per una chiave API o configurare un webhook su Zapier che invia stringhe JSON anonime.

Nel mio caso la sfida era radicalmente diversa: Buffer era già aperto in una scheda di Google Chrome sul Mac, loggato con la mia sessione attiva. Volevo che l’agente manovrasse la finestra esattamente come farebbe un collaboratore umano seduto alla mia scrivania, senza esporre token di autenticazione, senza salvare cookie in chiaro su server di terzi e senza toccare le mie altre finestre aperte.

Log di telemetria forense e compilazione di macclick

Figura 2: La telemetria forense del terminale durante l’esecuzione — compilazione al volo di macclick in C, mappatura dei profili Chrome e diagnosi del bug di focus DOM in tempo reale.

La Compilazione di un Micro-Tool Nativo in C (`macclick`)

Per interagire con il sistema operativo macOS a livello di pixel, AppleScript standard o gli Apple Events mostrano spesso limiti invalicabili: la sandboxing di sistema intercetta le simulazioni ordinarie e blocca gli eventi periferici all’interno delle web app moderne in Electron o Chrome.

L’agente ha risolto il problema alla radice: ha scritto sul disco un file sorgente C minimale (macclick.c) agganciato al framework nativo ApplicationServices e lo ha compilato al volo con clang:

#import <ApplicationServices/ApplicationServices.h>
#import <unistd.h>
#import <stdlib.h>

int main(int argc, char *argv[]) {
    if (argc < 3) return 1;
    float x = atof(argv[1]);
    float y = atof(argv[2]);
    CGPoint pt = CGPointMake(x, y);
    CGEventRef move = CGEventCreateMouseEvent(NULL, kCGEventMouseMoved, pt, kCGMouseButtonLeft);
    CGEventPost(kCGHIDEventTap, move);
    CFRelease(move);
    usleep(50000);
    CGEventRef down = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseDown, pt, kCGMouseButtonLeft);
    CGEventPost(kCGHIDEventTap, down);
    CFRelease(down);
    usleep(100000);
    CGEventRef up = CGEventCreateMouseEvent(NULL, kCGEventLeftMouseUp, pt, kCGMouseButtonLeft);
    CGEventPost(kCGHIDEventTap, up);
    CFRelease(up);
    return 0;
}

Con questo strumento, l’agente disponeva di un puntatore hardware virtuale a precisione sub-pixel, capace di iniettare clic nel server grafico di macOS scavalcando qualsiasi restrizione.

L’Incidente Forense del Focus DOM (`AXRaise` vs Browser TextArea)

Durante il caricamento delle prime bozze, la sequenza ha rischiato di fallire per un comportamento subdolo tipico delle finestre Chromium su macOS. L’agente, per essere sicuro che la finestra di Buffer fosse attiva prima di incollare il testo, invocava il comando di accessibilità:

perform action "AXRaise" of first window

Cosa succedeva? L’azione AXRaise riportava sì la finestra principale di Chrome in primo piano, ma scatenava un evento di blur() sull’elemento attivo nel DOM. Il cursore usciva dalla textarea di inserimento di Buffer. Quando la sequenza successiva inviava Cmd+V tramite il buffer di sistema (pbcopy), il testo non veniva incollato in nessun campo di input, lasciando il pulsante Save Draft disabilitato in grigio.

Un operatore distratto si sarebbe arreso pensando che Buffer fosse protetto da meccanismi anti-bot. L’agente ha invece applicato un vero metodo diagnostico forense: ha catturato uno screenshot della schermata intermedia, ha constatato che il pulsante Save Draft era disattivato a causa del campo vuoto, ha rintracciato la causa nella chiamata ridondante di AXRaise e ha risposto con una correzione chirurgica:

  1. Attivare il processo Chrome una sola volta a monte senza sollecitare l’albero di accessibilità.
  2. Effettuare un clic fisico tramite macclick alle coordinate esatte del composer (x=380, y=360) per garantire il focus nativo del cursore.
  3. Inviare il testo formattato tramite pbcopy e la combinazione Cmd+V.
  4. Attendere 800 millisecondi per consentire a Buffer di calcolare la preview LinkedIn e abilitare lo stato interattivo.
  5. Fare clic sul pulsante Save Draft a coordinate (x=315, y=945).

Da quel momento in avanti, dieci bozze consecutive sono entrate nel database di Buffer con un tempo medio di 7,8 secondi per post, con zero errori e zero interferenze sulle altre applicazioni attive.

Buffer Composer con anteprima LinkedIn live

Figura 3: La sessione in diretta a schermo — l’agente incolla il post nel composer di Buffer, attiva il rendering dell’anteprima LinkedIn e individua le coordinate del pulsante Save Draft.


4. Il Paradosso delle 20 Parole: L’Anti-Slop come Disciplina

La quarta fase dell’esperimento è stata la più rivelatrice dal punto di vista concettuale. Ho imposto all’agente un vincolo quantitativo apparentemente punitivo: massimo 20 parole per post. Nessun preambolo, nessun saluto, nessun hashtag di contorno, nessuna conclusione accomodante.

Perché questo test è fondamentale? Perché nei modelli linguistici la prolissità è un rifugio sicuro: quando l’AI ha spazio per scrivere 300 parole, può mascherare l’assenza di un concetto forte dietro una cascata di sinonimi eleganti e strutture sintattiche rassicuranti. Ma quando la costringi sotto la soglia delle venti parole, o c’è un’idea vera, oppure la frase collassa nell’inutilità.

L’agente ha scandagliato le trascrizioni delle mie lezioni universitarie e dei workshop aziendali, isolando dieci massime che riassumono la mia visione sull’intelligenza artificiale, e le ha salvate direttamente tra le bozze di Buffer:

1. «Se una procedura non è chiara in italiano, l'AI non la risolverà. Renderà soltanto la confusione più veloce.» (18 parole)

2. «Il prompt più potente non parte da una funzione. Parte da un bisogno umano che nessuno aveva ancora visto.» (19 parole)

3. «Il modello è il dieci percento. Il novanta è l'ordine spietato che dai ai tuoi dati prima dell'AI.» (18 parole)

4. «Insegnare con l'intelligenza artificiale non significa spiegare un software. Significa insegnare alle persone a fidarsi del proprio giudizio.» (18 parole)

5. «L'AI risponde con precisione solo quando hai il coraggio di ammettere cosa non sai.» (13 parole)

6. «Non automatizzare ciò che non hai ancora compreso fino in fondo con le tue mani.» (14 parole)

7. «Un'azienda non ha bisogno di mille prompt: ha bisogno di tre processi scritti senza ambiguità.» (15 parole)

8. «La creatività con l'AI non è generare l'infinito. È saper scartare il novantanove per cento.» (15 parole)

9. «Chi cerca scorciatoie nell'AI trova solo una replica più veloce dei propri errori.» (14 parole)

10. «Il computer esegue il calcolo. L'architetto sceglie il limite.» (8 parole)

Nessun post supera le venti parole. Ciascuno di essi porta con sé anni di docenza reale e osservazione sul campo. E soprattutto: nessuno di questi post suona come un output generato da una macchina.

Buffer Dashboard con il badge Drafts 10 verificato

Figura 4: La schermata finale autentica catturata a fine sessione — il badge riporta esattamente «Drafts 10», con le schede contrassegnate dall’etichetta Draft pronte per la revisione e la pubblicazione finale.


5. Bilancio Forense: Uomo vs Agente a Confronto

Se mettiamo a confronto il flusso tradizionale di gestione editoriale con la pipeline agentica eseguita in questa sessione, i numeri parlano da soli:

Dimensione del LavoroWorkflow Umano TradizionalePipeline Agentica LocaleFattore di Rendimento
Lettura & Indicizzazione Corpus10-15 ore (rilettura 35 articoli + note)~180 secondi (query SQLite diretta)~200x
Scrittura 40 Post (senza slop)20-25 ore di brainstorming e stesura~120 secondi (generazione vincolata)~600x
Grafica 10 Banner 16:96-8 ore su Figma o Illustrator~45 secondi (codice PIL e rendering)~500x
Caricamento su Buffer (10 bozze)30-40 minuti di copia-incolla manuale~78 secondi (automazione C nativa)~25x
Costo API & Piattaforme EsterneAbbonamenti SaaS, Zapier, Make ($50-100/mo)0€ (session tap sul browser locale)Costo Zero
Carico Cognitivo dell’AutoreEsaurimento da ripetitività operativaPura Direzione Artistica e StrategicaFocus Totale

Il tempo complessivo in cui il Mac ha operato in background è stato di poco più di sei minuti. In quei sei minuti io stavo preparando il caffè, rispondendo a una telefonata o guardando fuori dalla finestra del mio studio a Milano.


6. L’Architetto come Direttore di Macchine: La Nuova Grammatica del Lavoro

Cosa ci insegna questo esperimento al di là dei tecnicismi di programmazione e delle coordinate dello schermo?

Ci insegna che il dibattito contemporaneo sull’intelligenza artificiale sta guardando il dito invece della luna. Si continua a discutere se l’AI sostituirà il copywriter, il social media manager o il progettista, come se il valore di una persona risiedesse nel tempo impiegato a digitare caratteri su una tastiera o a incollare testi dentro una piattaforma SaaS.

La verità è che l’attività di esecuzione pura — formattare una card, riassumere un articolo, compilare un campo, fare clic su un pulsante di invio — è lavoro a basso valore aggiunto. Quando deleghi questa fatica a un agente capace di operare a livello di sistema operativo, la tua funzione non viene cancellata: viene nobilitata.

Diventi il Direttore Artistico del tuo ecosistema:

  • Sei tu a decidere che i post non devono contenere aggettivi gonfiati.
  • Sei tu a pretendere che i banner grafici rispettino una griglia razionale svizzera e non un’illustrazione psichedelica da generatore casuale.
  • Sei tu a imporre il limite crudele delle venti parole per forzare la macchina a trovare una verità invece di un riempitivo.
  • E sei tu, infine, a mantenere le mani sul pulsante di approvazione finale: su Buffer ho voluto che l’agente salvasse le schede come Draft, riservando a me il diritto di revisionare, ritoccare e approvare con un solo tocco prima dell’invio a LinkedIn.

L’automazione agentica del futuro non vive in una scatola nera nel cloud gestita da intermediari commerciali. Vive sulla tua macchina, parla la lingua dei tuoi file, rispetta i confini della tua privacy e lavora per te mentre tu ti dedichi a ciò che conta davvero: pensare, progettare e insegnare.