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.