>_ DevTrendsit

Lingua

Home

Linguaggi

Sezioni

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Sicurezza
Jupyter

Evoluzione dei Prompt al Posto di RL: Come Funziona il Framework GEPA

La messa a punto delle istruzioni di sistema e degli agenti di solito si trasforma in un'infinita modifica manuale del testo. Correggi una formulazione — migliora la logica, ma rompi la formattazione dell'output. L'utilizzo dell'apprendimento per rinforzo come GRPO per questa messa a punto è troppo costoso: gli algoritmi richiedono decine di migliaia di esecuzioni, e tutto il feedback si riduce a un singolo punteggio.

Recentemente ho esplorato il repository GEPA (Genetic-Pareto). Il progetto è sviluppato da ricercatori di Berkeley e Stanford, offrendo un approccio fondamentalmente diverso all'ottimizzazione di qualsiasi parametro testuale.

GEPA Logo

L'Idea di Base del Progetto

Gli ottimizzatori classici trattano il sistema come una scatola nera: ricevono un punteggio numerico in output e cercano di indovinare dove muoversi successivamente. GEPA funziona in modo diverso. Il framework fornisce alla rete neurale l'intero log di esecuzione — errori, output del profiler, stack trace e ragionamento intermedio.

Il modello analizza questi dati allo stesso modo in cui un developer lo fa durante il debugging. Vede la causa specifica di un fallimento e suggerisce correzioni mirate. Poi entra in gioco un algoritmo genetico con considerazioni del fronte di Pareto: il sistema preserva le varianti testuali che performano meglio su diversi sottoinsiemi di task.

Cosa Può Fare il Framework

Questo approccio consente la messa a punto automatica di vari elementi:

  • Prompt per modelli individuali o catene in DSPy e LangChain
  • Architettura degli agenti e i loro set di competenze
  • Regole di pianificazione dei task e file di configurazione
  • Descrizioni degli strumenti per il protocollo MCP

Nei test degli autori, il modello GPT-4.1 Mini ha migliorato l'accuratezza sul benchmark matematico AIME dal 46,6% al 56,6% dopo cento iterazioni. Gli ingegneri di Databricks hanno usato GEPA per ridurre i costi di operazione dei loro agenti di 90x senza perdere in qualità.

Come Funziona il Processo di Ottimizzazione

Il framework opera in un loop di cinque passaggi sequenziali:

  1. Selezione del candidato dal fronte di Pareto. Il sistema sceglie una variante che ha mostrato il risultato massimo su uno specifico gruppo di test.
  2. Esecuzione su un dataset piccolo. Durante questa fase, vengono raccolti tutti i log di esecuzione e gli errori.
  3. Riflessione. Il modello reflector legge i log testuali degli errori e formula una diagnosi.
  4. Mutazione. Viene creata una nuova versione del prompt o del codice, tenendo conto degli errori passati di tutti gli antenati.
  5. Decisione. Il nuovo candidato viene aggiunto al pool condiviso se ha dimostrato un miglioramento reale.

Tutte le diagnosi sono chiamate Actionable Side Information nella terminologia degli autori. Nell'ottimizzazione testuale, funziona come l'equivalente del gradiente dall'apprendimento automatico tradizionale.

AIME Prompt Example

Come Scrivere il Codice

Puoi installare la libreria da PyPI:

pip install gepa

Il progetto ha una API semplice chiamata optimize_anything. Ti permette di mettere a punto non solo i prompt, ma qualsiasi artefatto testuale:

import gepa.optimize_anything as oa
from gepa.optimize_anything import GEPAConfig, EngineConfig, optimize_anything


def evaluate(candidate: str) -> float:
    result = run_my_system(candidate)
    oa.log(f"Output: {result.output}")
    oa.log(f"Error: {result.error}")
    return result.score


result = optimize_anything(
    seed_candidate="Начальный текст инструкции или кода",
    evaluator=evaluate,
    objective="Уменьшить количество ошибок форматирования вывода",
    config=GEPAConfig(engine=EngineConfig(max_metric_calls=100)),
)

I log inviati attraverso oa.log() sono esattamente ciò che va al modello reflector per il rilevamento degli errori. Se usi già DSPy, lo strumento è disponibile out of the box come dspy.GEPA.

Quando la Messa a Punto tramite GEPA È Davvero Conveniente

Il metodo performa meglio nei seguenti scenari:

  • Esecuzione di agenti con molti strumenti esterni
  • Dataset di training piccoli con solo 5–10 esempi
  • Modelli chiusi senza accesso ai pesi tramite API
  • Chiamate costose o lente, inclusa la compilazione del codice e le simulazioni

Dove RL richiede 5.000–25.000 esecuzioni per convergere, questo algoritmo di solito necessita di sole 100–500 valutazioni.

In Conclusione

Il framework affronta il tema spinoso della messa a punto manuale delle istruzioni testuali. È bello che lo strumento sia già stato integrato in MLflow, Pydantic AI e Google ADK, quindi non dovrai trascinare un sacco di codice extra nel tuo progetto. Inizia con il breve tutorial nella documentazione o esegui optimize_anything su un paio dei tuoi prompt più problematici.

Progetti correlati