Torna al Blog🇬🇧 Read in English

Retrieval con Reranker RL: una Rete Neurale che Impara Cosa ti Serve Davvero

I reranker statici si congelano il giorno in cui vengono spediti. Il nostro si riaddestra ogni notte sul tuo codebase, sui tuoi log, sul tuo knowledge graph. Ecco cosa cambia.

Perché la sola cosine non basta sul piano personale

Ogni pipeline RAG segue lo stesso percorso: embedding della query, embedding dei doc, cosine similarity, top-K. Funziona—è per questo ovunque. Ha anche un soffitto.

La cosine misura sovrapposizione tematica, non utilità. Due frammenti entrambi "sull'autenticazione" dove solo uno risponde alla tua domanda attuale. "Pattern di rotazione JWT" e "Perché abbiamo abbandonato JWT" vivono vicini nello spazio embedding. Quale serve dipende da cosa stai facendo ora—l'indice non può saperlo.

Il retrieval a due stadi è ormai standard

La soluzione che tutti usano: pipeline a due stadi. Recall vettoriale economico per K candidati (50-200), poi reranker costoso che assegna punteggio alle coppie query+candidato. Il mercato reranker 2026 è affollato e buono. Cohere Rerank 3.5 e Voyage rerank-2.5 guidano closed-source; BGE reranker v2-m3, Jina Reranker v3, Mixedbread coprono open-source. Tutti condividono un tratto: statici in inference. Addestrati una volta su dati enormi, congelati, spediti. Ottimi giudici general-purpose che non sanno nulla di te.

Cosa fa il nostro reranker che gli altri non fanno

Orchestrator Pro distribuisce un reranker diverso. Sei elementi lo mettono in una categoria di prodotto diversa:

1. Impara dal TUO codebase e dai TUOI pattern. I reranker statici vengono addestrati una volta su click aggregati, poi congelati. Il nostro si riaddestra ogni notte sul log locale tramite offline_trainer.py. Dopo un mese il modello è plasmato da come tu cerchi, cosa tu citi, cosa tu modifichi—non da milioni di click anonimi del 2023.

2. È consapevole del contesto del knowledge graph. Quando assegna punteggio a un candidato, il reranker vede i vicini tipizzati di quel candidato nel grafo (via semantic_graph_search). I reranker statici vedono solo coppie (query, testo_doc). Il nostro vede (query, testo_doc, vicinato_grafo).

3. Sceglie il livello di dettaglio, non solo l'ordine. hybrid_search(detail="titles" | "descriptions" | "full"). La policy RL sceglie il livello per candidato per confidenza: top-3 ad alto punteggio ricevono testo completo, mid-score ricevono riassunti, low-score ricevono solo titoli. I reranker statici riordinano; il costo dei chunk completi rimane su top-K. Il nostro previene lo spreco di token.

4. Lo stesso modello alimenta il router degli agent. Una policy Q-learning decide quale agent—coder, planner, kg-navigator—riceve il task. Telemetria di routing e retrieval condividono un corpus; il sistema apprende su entrambi gli assi.

5. Per-utente, per-macchina, non lascia mai la tua macchina. I pesi in state/rl_model_1024.pt sono tuoi. Cohere e Voyage sono API cloud. BGE e Jina girano in locale ma restano congelati—l'esecuzione locale non è personalizzazione.

6. Degradazione graceful. Server RL non disponibile o file mancante? Il retrieval ricade al cosine. Nessuna richiesta fallisce perché il reranker è indisponibile.

Come funziona davvero

Il reranker Pro è una piccola rete PyTorch — dimensione di input 1024 per combaciare con qwen3-embedding, pesi in state/rl_model_1024.pt, servita da un processo locale sulla porta 11439. Per ogni query l'orchestrator preleva i top K da Weaviate, invia al server RL embedding della query + embedding dei candidati + metadata (recency, tipo di nodo, tag, frequenza di accesso, vicini nel grafo), e riceve un top-K riordinato più una decisione sul livello di dettaglio per ciascun elemento.

Ogni retrieval scrive una riga tramite rl_logger.py: quali candidati sono stati mostrati, quali l'agent ha citato o modificato, quali sono stati ignorati. Quello è il reward signal. Di notte, offline_trainer.py ripassa il log e aggiorna i pesi. La stessa pipeline alimenta il router Q-learning che assegna gli agent.

Baseline pre-addestrata, gradiente di personalizzazione

Baseline pre-addestrata + gradiente di personalizzazione. Dalla sessione uno, il reranker opera al livello della baseline addestrata sulla telemetria aggregata dell'orchestrator—non casuale, non solo cosine. Da lì, ogni retrieval alimenta il logger locale; il riaddestramento notturno stringe il modello intorno ai tuoi pattern. Nel giro di poche ore l'uso reale il segnale di personalizzazione è rilevabile; nel giro di settimane diventa dominante.

Se uno sviluppatore Python scrive "come funziona X" e clicca sistematicamente esempi di codice su nodi concettuali, il reranker apprende quello. Se scrive "pattern per Y" e clicca ADR, apprende anche questo. Cohere non può apprendere nessuno dei due. Né BGE.

Confronto

ProdottoMetodoSi personalizza all'utenteKG-awareSceglie il dettaglioLocalePrezzo
VibeCoded Orchestrator ProReranker neurale RL (Q-learning)Sì — riaddestrato ogni notte€19/mese, €149/anno, €199 lifetime (cap 100)
Cohere Rerank 3.5Cross-encoder staticoNoNoNoNo (cloud)Per-query
Voyage rerank-2.5Cross-encoder statico, instruction-tunedNoNoNoNo (cloud)Per-query
BGE reranker v2-m3Cross-encoder staticoNoNoNoGratis
Jina Reranker v3Listwise statico, 131k contestoNoNoNoSì (pesi)Pesi gratis / API a pagamento
Mixedbread rerank-large-v1Statico, GRPO + contrastive + preferenceNoNoNoPesi gratis
Retrieval di Cursor / CopilotProprietario, non divulgatoNon chiaroNon chiaroNon chiaroNoIncluso
Mem0 / Mem0gVector + BM25 + entity graphParziale (memory graph)ParzialeNoNo (cloud)Free → $19 → $249/mese

I cross-encoder statici—Cohere Rerank 3.5, Voyage rerank-2.5, BGE-v2-m3, Jina Reranker v3—sono ottimi reranker zero-shot. Addestrati su milioni di coppie cross-domain, buona accuratezza BEIR dal giorno 1. Il nostro reranker viene distribuito pre-addestrato sulla telemetria aggregata dell'orchestrator, quindi non parte da zero—baseline sensata all'installazione. La differenza: cosa accade dopo. I modelli statici si congelano al ship. Il nostro continua ad adattarsi al tuo codebase, KG, pattern. Nel giro di poche ore dall'uso reale è già in movimento a tuo favore; nel giro di settimane si accumula in qualcosa che nessun modello statico può replicare.

Funnel

L'Orchestrator base è gratuito e AGPL — KG, code graph, retrieval cosine, niente RL. La maggior parte degli utenti non avrà bisogno di altro.

Orchestrator Pro aggiunge il reranker RL, lo scoring KG-aware, la selezione del livello di dettaglio, e il router Q-learning condiviso a €19/mese, €149/anno, o €199 lifetime (cap a 100 posti). Se la personalizzazione nel tempo conta per il tuo workflow — e conta di più quanto più il tuo workflow è distintivo — Pro si ripaga intorno alla terza settimana. In caso contrario, il cosine è sempre lì, sempre gratis, sempre veloce.

MAO (il nostro orchestrator multi-agent gerarchico) è un prodotto separato su un binario separato — non fa parte di questo confronto.

Fonti