Esperimenti

Questa sezione documenta esperimenti in corso o completati di recente. Ogni voce descrive cosa stavo cercando di fare, cosa ho configurato e cosa ho osservato.

Gli esperimenti possono cambiare direzione, fermarsi o essere abbandonati. È normale. Il valore sta nel tentativo e in ciò che rivela, non nel raggiungere un risultato predefinito.


Runtime guidato dall’AI

Stato: attivo

Contesto: La maggior parte dello sviluppo assistito dall’AI genera codice che un umano poi integra. Volevo testare un modello diverso: un’AI che opera dentro un runtime predefinito con confini rigidi, invece di produrre codice da copiare altrove.

Cosa ho testato: Un ambiente di esecuzione vincolato dove gli agenti AI possono invocare operazioni pre-approvate (lettura, trasformazione, validazione) ma non possono modificare il runtime stesso. L’umano definisce il perimetro. L’AI lavora al suo interno.

Cosa ha funzionato: Vincolare lo spazio d’azione ha reso il comportamento dell’AI più prevedibile e più facile da verificare. I fallimenti sono diventati visibili invece che sottili.

Cosa non ha funzionato: Definire il giusto livello di astrazione per le operazioni consentite ha richiesto più tempo del previsto. Troppo granulare, e l’AI non riusciva a comporre azioni utili. Troppo ampio, e i vincoli perdevano il loro scopo.


Scaffolding di moduli componibili

Stato: in pausa

Contesto: Volevo testare se un insieme di moduli standardizzati (frontend, backend, infrastruttura) potesse essere generato e poi esteso da workflow assistiti dall’AI senza perdere coerenza strutturale nel tempo.

Cosa ho testato: Un generatore che produce un progetto base con confini di modulo chiari, convenzioni di naming e punti di integrazione. Dopo lo scaffolding, ho usato strumenti AI per estendere i moduli — aggiungendo endpoint, viste e configurazioni di deploy.

Cosa ha funzionato: Lo scaffolding iniziale ha retto bene. Le estensioni assistite dall’AI sono rimaste coerenti quando le convenzioni di naming erano esplicite e imposte.

Cosa non ha funzionato: Quando ho rilassato le convenzioni per permettere più flessibilità, il codice generato dall’AI ha iniziato a divergere dalla struttura originale in poche iterazioni. Le convenzioni devono essere vincoli, non suggerimenti.


Agente human-in-the-loop per decisioni tecniche

Stato: attivo

Contesto: Volevo esplorare agenti che assistono nelle decisioni tecniche (architettura, selezione di dipendenze, strategia di deploy) senza prendere quelle decisioni in autonomia.

Cosa ho testato: Un agente che riceve la descrizione di un problema, propone due o tre opzioni con i relativi trade-off e attende una decisione umana prima di procedere. L’agente non agisce da solo.

Cosa ha funzionato: La qualità delle proposte è migliorata significativamente quando l’agente aveva accesso al contesto specifico del progetto (dipendenze esistenti, decisioni passate, vincoli). Le proposte generiche erano raramente utili.

Cosa non ha funzionato: Il modello di interazione è più lento degli agenti completamente autonomi. Questo è accettabile per decisioni architetturali ma impraticabile per task ad alta frequenza. Il confine giusto tra autonomia e consultazione non è ancora chiaro.


Micro-app con notifiche

Stato: completato

Contesto: Un piccolo esperimento per testare se uno strumento personale utile potesse essere progettato, costruito e deployato in una singola sessione di lavoro usando assistenza AI.

Cosa ho testato: Un’app minimale con un sistema di notifiche giornaliere. L’obiettivo non era l’app in sé ma il workflow: dall’idea al software funzionante e deployato in una sera.

Cosa ha funzionato: Il ciclo base (descrivi, genera, testa, deploya) è stato fluido. L’AI ha gestito bene il boilerplate e la configurazione. Il vincolo della singola sessione ha forzato una chiara definizione delle priorità.

Cosa non ha funzionato: I casi limite relativi ai tempi delle notifiche e alla compatibilità dei dispositivi hanno richiesto debug manuale che l’AI non poteva risolvere solo dal contesto. L’ultimo 10% di rifinitura ha richiesto uno sforzo sproporzionato.