Fino a poco tempo fa si credeva che le prestazioni di Claude Fable 5 di Anthropic dipendessero principalmente dal modello in sé. Thariq Shihipar, sviluppatore di Anthropic, ha invece sostenuto in un recente articolo che i risultati ottenuti con Fable 5 dipendono sempre di più dall'abilità del programma utente nel chiarire le proprie lacune. La principale limitazione non è più il modello in sé, ma i "punti ciechi" del programmatore.
Come funziona il concetto delle "sconosciute sconosciute"
Secondo Shihipar, il ruolo chiave nel prompting riguarda l’individuazione di quattro categorie di conoscenza:
- Conosciute note: informazioni esplicite fornite nel prompt
- Conosciute sconosciute: informazioni di cui il programmatore è consapevole, ma che non ha ancora chiarito
- Sconosciute note: informazioni implicithe o intuite, ma non espresse
- Sconosciute sconosciute: informazioni non individuate né anticipate
Lavorare con Fable 5 richiede quindi una consapevolezza precisa su dove cade l’utente in questa tipologia. Le sconosciute sconosciute costituiscono la categoria più problematica, poiché il programmatore non si è nemmeno reso conto che non le conosce.
Il problema centrale riguarda l'equilibrio tra specificità ed ambiguità nel prompting. Indicazioni troppo dettagliate possono spingere il modello a seguire traiettorie errate; viceversa, istruzioni troppo ambigue possono indurre Fable 5 a generare soluzioni non adatte o standard.
A causa di questa delicatezza, Shihipar sottolinea l’importanza di utilizzare tecniche mirate durante il processo iniziale, per identificare eventuali fallimenti di progettazione e per anticipare soluzioni alternative, quando i presupposti riscontrati nella prima fase non si rivelano validi.
Tecniche per individuare i punti ciechi durante la programmazione
Per affrontare tale situazione, Shihipar introduce diverse tecniche:
Brainstorming e prototipazione
Shihipar adotta spesso lo spazio del brainstorming iniziale. Lui stesso inizia quasi ogni sessione di codifica con una fase esplorativa. Questo aiuta a definire consapevolmente le caratteristiche del progetto e ad aprire spazio per soluzioni innovative.
In particolare, per settori come il design visivo, in cui le "sconosciute note" sono abbondanti e difficili da trascrivere esattamente in codice, lo sfruttamento di prototipi visivi e diversi stili HTML-Artefatti permette di chiarire i parametri estetici e adattarli meglio al contesto tecnico.
Interviews strutturati
Un’altra tecnica adottata consiste nello sfruttare interviste strutturate: Shihipar presenta a Fable 5 una serie di domande mirate a identificare ambiguità nel contesto del problema. Le priorità vengono imposte in base a quelle che possono influenzare l’architettura complessiva del progetto o la coerenza del codice.
Le domande vengono elaborate in ordine di rilevanza per l’implementazione e i dati ottenuti servono non solo a chiarire i termini, ma anche per raffinare i presupposti iniziali.
"Blind Spot Pass"
Una tecnica particolarmente potente, consigliata da Shihipar, è il "Blind Spot Pass", in cui si chiede a Fable 5 di individuare gli spazi di conoscenza non chiari o non considerati. Questa tecnica è particolarmente utile quando si lavora in aree della codifica non già note all'utente o dove manca chiarezza sugli strumenti da applicare.
- Esempio di promp: “Lavoro per aggiungere un nuovo Auth-Provider, ma non ho familiarità con i moduli Auth in questa codebase. Puoi eseguire un Blind Spot Pass per aiutarmi a rivelare le mie Unknown Unknowns e ottimizzare le mie istruzioni?”.
Il ruolo delle referenze e dell'esplorazione iniziale
Le referenze svolgono un ruolo fondamentale: Shihipar sottolinea che il codice sorgente è spesso il miglior riferimento, anche quando non coincide con la tecnologia utilizzata. Per esempio, il codice sottostante di un sito web può essere analizzato da Fable 5 meglio di qualsiasi immagine o descrizione.
Al fine di preparare efficacemente l'implementazione, Shihipar chiede a Fable 5 di creare un piano di implementazione concentrato su elementi facilmente modificabili, come modelli di dati, interfacce e componenti utente, riservando le operazioni di refactoring a una fase successiva.
Documentazione durante e dopo l'implementazione
Nel processo di realizzazione, Shihipar incoraggia la documentazione. Un file temporaneo "implementation-notes.md" serve per registrare le deviazioni dal piano originale. La strategia di Fable 5 è scegliere la soluzione più conservativa in presenza di imprevisti e annotare con chiarezza le modifiche per permettere un’analisi futura.
Dopo l’implementazione, Shihipar presenta due approcci importanti:
- Pitches ed Explainer: documenti che sintetizzano il lavoro svolto e presentano la sua utilità ai vari stakeholders.
- Quizzes: report generati da Fable 5 che spiega le motivazioni delle modifiche, accompagnati da test per valutare il comprendere.
Questi passaggi supportano anche la costruzione di una logica narrativa attorno al lavoro realizzato. Shihipar non inconsideratamente merga il codice finché non completa l’esercizio con il Quiz.
Un esempio pratico: il video lancio per Fable
In un esempio reale Shihipar ha utilizzato Fable 5 per creare il video di lancio per il modello stesso. La videoeditoria era un settore completamente nuovo per lui. Ha cominciato con ciò che già conosceva: transcrivi di video e programmazione. Ha fatto testare a Fable 5 se il transitorio fosse affidabile e se fosse possibile utilizzare FFMPEG per la gestione di pause e filler.
Quando i colori apparivano "pianeggianti", Shihipar non si è limitato a tentativi casuali di stili. Ha fatto in modo che Fable 5 lo istruisse sugli aspetti fondamentali del color grading, identificando in questo modo le proprie "sconosciute sconosciute".
Futuro e conclusioni
Con l’aumento delle capacità dei modelli di AI, i risultati raggiungibili dipenderanno da come i programmatori riescono a chiarire le loro proprie lacune iniziali. Secondo Shihipar, ogni brainstorming, intervista o prototipo costituisce un modo economico per chiarire i propri errori prima che diventino costosi da sistemare.
Il