Configurazione del contesto e dei prompt

AlphaEvolve guida le sue operazioni utilizzando la baseline del codice fornita e 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 conoscenze del dominio, formulazioni matematiche e vincoli di sistema.

  • Budget di token: fino a 200.000 token funziona bene. Oltre una soglia di 200.000 token, la finestra di contesto diventa 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 logica chiara.

  • Terminologia e definizioni specifiche del dominio.

  • Approcci validi noti o stato dell'arte per guidare la direzione di ricerca dell'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 e così via). Tuttavia, INCLUDI la documentazione per le librerie di nicchia o specifiche del dominio che l'LLM potrebbe non conoscere bene (API del kernel personalizzate, SDK proprietari o DSL specializzati).

  • Dati arbitrari non elaborati, fogli di lavoro o dump di dati di grandi dimensioni. I dati appartengono all'ambiente di valutazione, non al contesto del prompt.

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

Ogni parte del contesto che includi deve fornire un valore chiaro aiutando attivamente l'LLM a produrre mutazioni migliori e strutturalmente valide.

Feedback di 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. Un feedback di scarsa qualità è generico (ad esempio "la valutazione non è riuscita") o eccessivamente prolisso.

  • Scopo operativo: questi approfondimenti vengono visualizzati per l'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'insieme di LLM di backend. Questa operazione viene gestita internamente e non richiede alcuna configurazione manuale dell'utente.

Il sistema varia le istruzioni principali nelle generazioni successive per incoraggiare mutazioni diverse e impedire all'LLM di rientrare in pattern di codifica ripetitivi. Questo comportamento è uno dei meccanismi principali che aiutano AlphaEvolve a esplorare un panorama ampio 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ò ottenere una compressione dei file fino al 50% senza compromettere il rendimento funzionale. Tuttavia, l'LLM sfrutterà le 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à ciclomica o il numero di nodi dell'albero della sintassi astratta (AST), anziché valutare le lunghezze delle stringhe non elaborate.