# comparethemarket-context-retrieval-ai-code-review-gkg-rag-2026-03-06

## Veille

Studio empirico del team di ingegneria di **Compare the Market** (Meerkat Careers, UK) che valuta quattro approcci al **recupero di contesto per la revisione del codice con IA**: Baseline (nessun contesto aggiuntivo), **RAG** (ricerca vettoriale), **GKG** (GitLab Knowledge Graph, grafo di conoscenza basato su AST), e **GKG+RAG** (ibrido). Valutazione su **79 merge request reali** con **MLflow su Databricks**. Risultato sorprendente: **RAG ottiene risultati peggiori della baseline** su quasi tutte le metriche — il rumore vettoriale è controproducente per la revisione del codice. **GKG supera RAG del +21%** nella copertura dei commenti inline (0,696 contro 0,577) grazie alla comprensione strutturale dell'AST (Tree-sitter + database a grafo Kuzu). Il codice richiede una comprensione **strutturale** (chiamanti, firme, gerarchie), non una semplice similarità semantica. GKG costa 4 volte la baseline ma offre miglioramenti misurabili; RAG costa 3 volte senza alcun miglioramento. Implementato come **sidecar Docker** in CI/CD che avvolge il binario GKG (ancora in beta su GitLab) con un server MCP locale.

## Titre Article

Comparing Context Retrieval Approaches for AI Code Review

## Date

2026-03-06

## URL

https://comparethemarketcareers.com/blog/comparing-context-retrieval-approaches-for-ai-code-review/

## Keywords

Compare the Market, Meerkat Careers, revisione del codice con IA, recupero del contesto, RAG, GKG, GitLab Knowledge Graph, AST, Tree-sitter, Kuzu, grafo di conoscenza del codice, MLflow, Databricks, merge request, valutazione empirica, copertura commenti inline, similarità semantica vs strutturale, sidecar Docker CI/CD, server MCP locale, rumore vettoriale controproducente, revisione automatica del codice, efficienza dei costi della revisione IA, RAG peggiore della baseline, approccio strutturale al codice

## Authors

Équipe Engineering Compare the Market (Meerkat Careers, UK — site de comparaison d'assurances et services financiers).

## Ton

**Profilo**: Articolo tecnico pubblicato sul blog carriere di Compare the Market (marchio Meerkat Careers, UK), un'azienda di comparazione prezzi al consumo. Un formato di ingegneria interno condiviso pubblicamente — il tono è quello di un team che ha condotto una valutazione rigorosa e ne condivide i risultati senza abbellimenti. Pubblico di riferimento: ingegneri software, DevOps, team di qualità del software che vogliono dotarsi di strumenti IA per la revisione del codice, architetti che valutano RAG contro approcci strutturali per il codice.

**Stile**: Registro tecnico empirico, incentrato sui dati. L'articolo procede in modo metodico: ipotesi → configurazione sperimentale (4 approcci, 79 MR, MLflow/Databricks) → metriche → risultati → analisi delle cause → raccomandazioni. Nessun hype, nessuna promessa di marketing: i risultati negativi di RAG sono presentati senza filtri, senza alcun tentativo di attenuarli. Lo stile è quello di un rapporto di ingegneria interno reso pubblico — fattuale, strutturato, con tabelle di metriche. L'autorevolezza deriva dai dati, non dalla retorica.

**Posizione epistemica**: onestà empirica. L'articolo non cerca di vendere GKG come soluzione miracolosa — riconosce l'overhead di 4 volte e lo stato beta di GKG. Il risultato negativo su RAG è la scoperta più rilevante: dimostrare che un approccio popolare è controproducente in un caso d'uso specifico è più utile che promuovere l'alternativa. L'architettura del sidecar Docker è descritta come una soluzione pragmatica temporanea (GKG non ancora integrato nativamente nella CI/CD di GitLab).

## Pense-betes

- **Data / fonte**: 6 marzo 2026, blog Meerkat Careers (Compare the Market, UK). Autore: team di ingegneria (nome/i individuale/i non disponibile/i — sito bloccato 403, voce basata su contenuti indicizzati dai motori di ricerca e fonti secondarie).
- **Problema affrontato**: qual è il modo migliore per fornire il contesto della codebase a un revisore IA? La similarità semantica (RAG) è sufficiente, oppure è necessaria una comprensione strutturale del codice (AST/grafo)?
- **4 approcci valutati**: 1. **Baseline** — nessun contesto aggiuntivo, il modello IA vede solo il diff della MR. 2. **RAG** (Retrieval-Augmented Generation) — chunking del codice, embedding, ricerca vettoriale per recuperare frammenti semanticamente simili. 3. **GKG** (GitLab Knowledge Graph) — parsing AST tramite **Tree-sitter** (`gitlab-code-parser`), grafo di conoscenza strutturato memorizzato in **Kuzu** (database a grafo), query strutturali (chiamanti, gerarchia delle classi, firme delle funzioni). 4. **GKG+RAG** (ibrido) — combinazione dei due approcci.
- **Metriche chiave su 79 merge request** (valutate tramite **MLflow su Databricks**): | Metrica | GKG | RAG | Scarto | |----------|-----|-----|-------| | Copertura commenti inline | **0,696** | 0,577 | **+21%** | | Copertura riepiloghi | **0,681** | 0,664 | +3% | | Copertura issue | **0,929** | 0,926 | marginale | | Accuratezza punteggio | **GKG migliore** | RAG peggiore della baseline | — |
- **Risultato principale: RAG ottiene risultati peggiori della baseline** su quasi tutte le metriche. Aggiungere contesto rumoroso è controproducente.
- **4 cause identificate del fallimento di RAG per la revisione del codice**: 1. **Rumore** — la similarità vettoriale recupera codice che "sembra simile" ma non è pertinente. 2. **Falsi positivi** — RAG trova funzioni non correlate alla modifica. 3. **Limite per-file** — RAG non ha alcuna comprensione delle relazioni cross-file. 4. **Effetto di distrazione** — il contesto aggiuntivo può fuorviare il modello invece di aiutarlo.
- **Perché GKG funziona**: la revisione del codice richiede una comprensione **strutturale** — quando si esamina una modifica in una funzione, occorre sapere **chi la chiama**, **cosa chiama** e **come si inserisce nell'architettura**. GKG identifica con precisione i chiamanti, comprende le firme e traccia le relazioni del codice. Si tratta di **navigazione strutturale**, non di **similarità semantica**.
- **Implementazione tecnica**: GKG ancora in beta, non ancora disponibile come funzionalità nativa della CI/CD di GitLab → il team ha costruito un **sidecar Docker**: un container leggero che avvolge il binario ufficiale GKG, montato accanto al revisore nella pipeline CI. A ogni pipeline di MR: (1) il sidecar monta il sorgente del progetto, (2) indicizza l'intera codebase e costruisce da zero il grafo di conoscenza, (3) avvia il **server MCP di GKG** su una porta locale, (4) espone un insieme di tool call a cui il revisore IA si connette.
- **Analisi costi-benefici**:
- GKG: **4 volte il costo della baseline** → miglioramenti misurabili e giustificati.
- RAG: **3 volte il costo della baseline** → risultati peggiori rispetto a non aggiungere nulla.
- GKG+RAG: costo cumulativo senza alcun beneficio aggiuntivo rispetto al solo GKG.
- **Conclusione**: se la qualità è prioritaria, utilizzare GKG. Evitare RAG e GKG+RAG.
- **Collegamenti con altre fiche di veille**:
- **Forte convergenza** con la dottrina *"grep vince quando sai cosa stai cercando, l'AST vince quando servono relazioni strutturali"* — una tendenza del 2026 confermata dalle pratiche di Cursor, Claude Code, Devin (cfr. MindStudio *"Coding Agents Skipped RAG"*).
- In linea con **Zhutov/QMD** (2026-03-01) sulla superiorità della ricerca strutturata rispetto alla ricerca vettoriale per il codice.
- Estende **Trivedy/LangChain** (2026-03-10) *Anatomy of an Agent Harness*: l'harness (qui, il sidecar GKG + MCP) conta più del modello.
- In linea con **Dropbox/Okumura** (2026-05-28) *"il valore deriva meno dal modello in sé che dai sistemi che lo circondano"* — è il contesto strutturale a fare la differenza, non l'LLM.
- Complementa la fiche **MCP**: GKG esposto tramite un server MCP locale, a conferma del pattern del sidecar MCP in CI/CD.
- Corrobora **Anthropic Data Science** (2026-06-03): *"grep grezzo su migliaia di file SQL → l'accuratezza si muove di un solo punto"* — il collo di bottiglia è la struttura, non l'accesso.
- Rafforza la tesi anti-RAG-naïve di **Seale** (2025-05-30) *Philosophy Eats AI*: l'ontologia (qui, l'AST) prevale sulla similarità.
- **Da utilizzare per**: decisioni architetturali per la revisione del codice con IA in azienda; argomento contro il RAG-by-default per il codice; progettazione di pipeline CI/CD potenziate da agenti; valutazione di strumenti di contesto del codice (GKG, CodeGraphContext, code-review-graph).
- **Limiti**: (a) 79 MR = campione modesto; (b) un'unica codebase (Compare the Market) — bias di rappresentatività; (c) GKG ancora in beta, non ancora validato su larga scala; (d) autore/i non identificato/i — sito bloccato 403; (e) nessun confronto con altri approcci strutturali (Augment Context Engine, CodeGraphContext, ecc.).
- **Shortlink LinkedIn**: il link `lnkd.in/dacPc6fM` (in sospeso dal 2026-05-15) rimanda a questo articolo.

## RésuméDe400mots

Il team di ingegneria di **Compare the Market** (Meerkat Careers, UK) ha pubblicato, il 6 marzo 2026, una valutazione empirica di quattro approcci di recupero del contesto per la **revisione del codice con IA**: Baseline (nessun contesto aggiuntivo), **RAG** (ricerca vettoriale tramite embedding), **GKG** (GitLab Knowledge Graph, un grafo di conoscenza basato su AST tramite Tree-sitter e il database a grafo Kuzu), e un ibrido **GKG+RAG**. La valutazione copre **79 merge request reali**, misurate tramite **MLflow su Databricks**.

Il risultato principale è controintuitivo: **RAG ottiene risultati peggiori della baseline** su quasi tutte le metriche, inclusa la copertura dei commenti inline, la copertura dei riepiloghi e l'accuratezza del punteggio. Aggiungere contesto recuperato tramite similarità vettoriale non è solo inutile, ma **controproducente** per la revisione del codice. Vengono identificate quattro cause: il **rumore** (la similarità vettoriale recupera codice che "sembra simile" senza essere pertinente), i **falsi positivi**, la mancata comprensione delle **relazioni cross-file**, e un **effetto di distrazione** che fuorvia il modello.

Al contrario, **GKG supera RAG del +21%** nella copertura dei commenti inline (0,696 contro 0,577). Il motivo è strutturale: la revisione del codice richiede di sapere **chi chiama una funzione**, cosa essa chiama e come si inserisce nell'architettura — informazioni che l'AST e il grafo di conoscenza catturano in modo nativo, ma che la similarità semantica non può fornire. GKG identifica con precisione i chiamanti, comprende le firme delle funzioni e traccia le relazioni tra il codice.

L'implementazione è pragmatica: poiché GKG è ancora in beta e non è ancora integrato nativamente nella CI/CD di GitLab, il team ha costruito un **container sidecar Docker** che avvolge il binario GKG, indicizza la codebase a ogni pipeline di MR e espone gli strumenti tramite un **server MCP locale**. Il costo è 4 volte la baseline, ma i miglioramenti sono misurabili e giustificati. RAG costa 3 volte la baseline per risultati peggiori.

Questo studio conferma una tendenza importante del 2026: per il codice, gli approcci **strutturali** (AST, grafi di conoscenza, grep mirato) superano gli approcci **basati su vettori** (RAG semantico). Il codice non è testo — il suo valore informativo risiede nelle sue **relazioni strutturali**, non nella sua similarità lessicale. Forte convergenza con Zhutov/QMD, Dropbox/Okumura (*"il valore deriva dai sistemi che circondano il modello"*), e la dottrina di Anthropic Data Science (*"il collo di bottiglia è la struttura, non l'accesso"*). Da utilizzare come riferimento empirico per le scelte architetturali nella revisione del codice con IA e come controargomento al RAG-by-default nel dominio del codice.

## GrapheDeConnaissance

- Compare the Market —a_créé→ évaluation empirique revue de code IA (EVENEMENT, 0.95)
- GKG —surpasse→ RAG (TECHNOLOGIE, 0.97)
- GKG —mesure→ 0,696 inline comments coverage vs RAG 0,577 (+21 %) (MESURE, 0.96)
- RAG —mesure→ performance pire que baseline sur presque toutes les métriques (MESURE, 0.96)
- GKG —utilise→ Tree-sitter (TECHNOLOGIE, 0.95)
- GKG —utilise→ Kuzu (TECHNOLOGIE, 0.94)
- GKG —est_instance_de→ GitLab Knowledge Graph (TECHNOLOGIE, 0.97)
- Compare the Market —affirme_que→ le code exige une compréhension structurelle, pas une similarité sémantique (AFFIRMATION, 0.95)
- RAG —réduit→ qualité de la revue de code IA (bruit vectoriel contre-productif) (AFFIRMATION, 0.94)
- GKG —permet→ identification précise des appelants, signatures, hiérarchies de code (CONCEPT, 0.95)
- évaluation empirique revue de code IA —utilise→ MLflow (TECHNOLOGIE, 0.93)
- évaluation empirique revue de code IA —mesure→ 79 merge requests évaluées (MESURE, 0.95)
- Compare the Market —a_créé→ GKG (TECHNOLOGIE, 0.92)
- GKG —utilise→ serveur MCP local (TECHNOLOGIE, 0.92)
- GKG —mesure→ coût 4× baseline avec améliorations mesurables (MESURE, 0.93)

---
Canonical: https://www.thekb.eu/it/fiches/comparethemarket-context-retrieval-ai-code-review-gkg-rag-2026-03-06/
