Configurazione del contesto e dei prompt

AlphaEvolve guida le sue operazioni utilizzando la baseline del codice fornita, nonché il contesto specifico fornito dall'utente.

Contesto utente

Il contesto fornito dall'utente viene inserito in ogni prompt di generazione. Bilancia lo spazio di ricerca fornendo all'LLM conoscenza del dominio, formulazioni matematiche e vincoli di sistema.

  • Budget token: fino a 200.000 token hanno un buon rendimento. Oltre una soglia di 200.000 token, la finestra contestuale viene caricata, l'attenzione dell'LLM diminuisce e la qualità della mutazione si riduce. Se il contesto combinato (descrizione del problema, codice e programmi precedenti) supera i 200.000 token, devi ridurlo.

Cosa includere

  • Formulazione matematica precisa del problema di ottimizzazione.

  • Vincoli chiave e relativa motivazione chiara.

  • Terminologia e definizioni specifiche del dominio.

  • Approcci noti o stato dell'arte per guidare la direzione di ricerca del LLM.

  • Istruzioni specifiche ed esplicite che indicano cosa NON fare.

Cosa NON includere

  • Tutorial di programmazione generali.

  • Documentazione della libreria standard (l'LLM conosce già numpy, sklearn, ecc.). Tuttavia, INCLUDI la documentazione per librerie di nicchia o specifiche per il dominio che il LLM potrebbe non conoscere bene (API del kernel personalizzate, SDK proprietari o DSL specializzate).

  • Dati arbitrari non elaborati, fogli di lavoro o dump di dati di grandi dimensioni. I dati devono essere inseriti nell'imbracatura del valutatore, non nel contesto del prompt.

  • Contesto non correlato che consuma token senza aggiungere un indicatore di ricerca.

Ogni elemento di contesto che includi deve fornire un valore chiaro aiutando attivamente il LLM a produrre mutazioni migliori e strutturalmente valide.

Feedback sulla valutazione (approfondimenti)

Dopo ogni ciclo di esecuzione, il valutatore può restituire un testo di feedback diagnostico insieme ai punteggi numerici. Questo feedback viene aggiunto automaticamente alle future strutture dei prompt.

  • Baseline di qualità: un feedback efficace è specifico, pratico e conciso. Il feedback scadente è generico (ad esempio "valutazione non riuscita") o eccessivamente verboso.

  • Scopo operativo: questi approfondimenti vengono mostrati all'LLM nelle generazioni successive, consentendogli di imparare esplicitamente dagli errori di esecuzione ed evitare bug ripetitivi.

Diversificazione dei prompt integrata

AlphaEvolve diversifica automaticamente i prompt che trasmette all'ensemble LLM di backend. Questa operazione viene gestita internamente e non richiede alcuna configurazione manuale dell'utente.

Il sistema varia le istruzioni di base nelle generazioni successive per incoraggiare mutazioni diverse e impedire al LLM di cadere in schemi di codifica ripetitivi. Questo comportamento è uno dei meccanismi principali che aiutano AlphaEvolve a esplorare un ampio panorama anziché rimanere intrappolato in ottimi locali ristretti.

Leggibilità del codice

La complessità del codice funge da metrica ausiliaria efficace. Se la leggibilità del codice finale è un fattore importante per il tuo caso d'uso di produzione, valuta la possibilità di aggiungere la lunghezza del codice o la complessità cognitiva come metrica di destinazione secondaria.

AlphaEvolve può raggiungere una compressione dei file fino al 50% senza compromettere le prestazioni funzionali. Tuttavia, l'LLM sfrutterà metriche di semplicità ingenue (ad esempio rimuovendo tutti i commenti in linea per ridurre il numero di caratteri non elaborati). Per evitare questo problema, implementa metriche che acquisiscano una complessità strutturale significativa, come la complessità ciclamatica o i conteggi dei nodi dell'albero della sintassi astratta (AST), anziché valutare le lunghezze delle stringhe non elaborate.