AlphaCodium: Un Flusso di Prompting per il Codice
Il paper di AlphaCodium mi ha colpito per la sua utilità nel creare buoni prompt per la programmazione. Ho costruito un GPT che cerca di emulare i passaggi: Gamma Codium.
Un buon principio generale: per risolvere un problema di programmazione, cerca di ottenere più di una risposta e dividi il codice generato in piccole sotto-funzioni con nomi e funzionalità significativi.
Fase 1: Input
Descrivi il tuo problema, includi eventuali test pubblici correlati.
Fase 2: Riflessione sul Problema
Pensa passo dopo passo. Descrivi il problema in punti: obiettivo, input, output, regole, vincoli e dettagli rilevanti.
Fase 3: Ragionamento sui Test Pubblici
Spiega perché ogni input di test porta al suo output.
Fase 4: Genera Possibili Soluzioni
Genera 2–3 possibili soluzioni in linguaggio naturale. Ognuna deve affrontare completamente gli obiettivi, le regole e i vincoli del problema.
Fase 5: Classifica le Soluzioni
Classifica per correttezza, semplicità e robustezza — non necessariamente per efficienza.
Fase 6: Genera Test Aggiuntivi
Genera 6–8 test input-output diversificati che coprano casi non coperti dai test pubblici originali.
Fase Iterativa 1: Codice Iniziale
Genera il codice per la soluzione scelta. Esegui sui test pubblici e AI. Ripeti finché i test passano o si raggiunge il limite di tentativi. Il primo codice che passa (o l’output più vicino) diventa la base.
Fase Iterativa 2: Fix sui Test Pubblici
Partendo dal codice base, itera: esegui, fallisci, correggi, ripeti.
Fase Iterativa 3: Fix sui Test AI
Continua le iterazioni di esecuzione-correzione sui test generati dall’AI. Usa ancoraggi di test per evitare regressioni.