rate_review AI

OpenCodeReview: la code review AI di Alibaba dentro Claude Code

calendar_today personTeam EGSOFT schedule6 min di lettura
info

Disclaimer: le informazioni pubblicate in questa sezione hanno finalità di pura divulgazione tecnica. EG Software S.r.l. non si assume alcuna responsabilità per un utilizzo improprio dei contenuti, né per eventuali danni diretti o indiretti derivanti dalla loro applicazione, e non garantisce l'aggiornamento, l'accuratezza o la completezza delle informazioni riportate. Prima di utilizzare in produzione codice o procedure qui descritte, verificane sempre l'adeguatezza al proprio contesto.

OpenCodeReview (in breve ocr) nasce come assistente interno di code review di Alibaba Group: secondo il progetto ha servito per due anni decine di migliaia di sviluppatori, prima di essere rilasciato alla community come progetto open source. Legge i diff di Git, manda i file modificati a un modello linguistico configurabile e restituisce commenti di revisione strutturati, ancorati alla riga esatta di codice.

Perché non basta chiedere la review a un agente generico

Il README del progetto è esplicito nel descrivere i limiti che si incontrano chiedendo una code review a un agente generalista (Claude Code compreso) tramite una semplice skill testuale:

  • Copertura incompleta — su changeset grandi l'agente tende a "tagliare gli angoli", revisionando solo una parte dei file
  • Deriva di posizione — il problema segnalato non coincide con il punto reale del codice: numeri di riga e riferimenti ai file scivolano fuori bersaglio
  • Qualità instabile — una skill guidata solo dal linguaggio naturale è difficile da debuggare e la qualità oscilla al variare di dettagli minimi del prompt

La causa, secondo gli autori, è architetturale: un processo guidato puramente dal linguaggio non ha vincoli forti.

L'approccio: ingegneria deterministica più agente

La scelta di progetto è dividere i compiti. Quello che non deve sbagliare è affidato a codice deterministico, non al modello:

  • Selezione dei file — quali file vanno revisionati e quali filtrati viene deciso da logica applicativa, così nessuna modifica importante si perde
  • Raggruppamento intelligente — i file correlati (per esempio message_en.properties e message_zh.properties) finiscono nella stessa unità di revisione; ogni gruppo gira come sub-agente con contesto isolato, il che rende la revisione stabile anche su changeset enormi e naturalmente parallelizzabile
  • Matching delle regole — le regole di revisione vengono associate al file in base alle sue caratteristiche (il progetto include documenti di regole dedicati per decine di linguaggi, da Java e Go a PHP, Rust, Swift, Terraform)
  • Moduli esterni di posizionamento e riflessione — componenti indipendenti verificano dove va agganciato il commento e se il contenuto regge

All'agente restano le decisioni dinamiche e il recupero di contesto: leggere l'intero file, cercare nel codice, guardare gli altri file modificati.

Nel benchmark pubblicato dal progetto — 200 pull request reali da 50 repository open source, 10 linguaggi, con verifica incrociata di oltre 80 ingegneri senior — ocr dichiara precisione e F1 più alti di un agente generico a parità di modello, consumando circa un nono dei token. Il richiamo (recall) è invece più basso: è un compromesso dichiarato, precisione contro rumore.

Installazione

Serve Git 2.41 o superiore. La CLI si installa da npm:

npm install -g @alibaba-group/open-code-review

Poi si configura il modello (non serve se si usa la modalità delega, vedi sotto):

ocr config provider    # sceglie il provider o ne aggiunge uno custom
ocr config model       # sceglie il modello del provider attivo
ocr llm test           # verifica la connettività

Uso da riga di comando

# tutte le modifiche staged, unstaged e non tracciate
ocr review

# intervallo di branch (dal punto di divergenza da main)
ocr review --from main --to feature-branch

# singolo commit
ocr review --commit abc123

# scansione a file interi, senza bisogno di storia git
ocr scan
ocr scan --path internal/agent

# risultato su file (consigliato quando a leggerlo è un altro agente)
ocr review --format json --output result.json

Le sessioni interrotte si riprendono con ocr session list e --resume <session-id>.

Il plugin per Claude Code

Dentro Claude Code bastano due comandi:

/plugin marketplace add alibaba/open-code-review
/plugin install open-code-review@open-code-review

Si ottengono due slash command: /open-code-review:review e /open-code-review:delegate-review. Esistono integrazioni equivalenti per Codex, Cursor, Kimi Code e OpenCode.

La modalità delega: il pezzo più interessante

Nella delegation mode il modello non lo mette OpenCodeReview, lo mette l'agente che già si sta usando. ocr si occupa solo della parte deterministica — selezione dei file, raggruppamento, risoluzione delle regole — e passa il lavoro a Claude Code, che esegue la revisione con il proprio LLM:

ocr delegate preview
ocr delegate rule src/main.go src/handler.go

In pratica: nessuna API key aggiuntiva, nessun costo separato, ma si guadagnano i vincoli ingegneristici che a un agente generico mancano. Per chi ha già un abbonamento a Claude Code è il modo più diretto di provarlo.

Quando ha senso

ScenarioModalità consigliata
Provarlo senza configurare nulla, avendo già Claude CodePlugin + delegate-review
Revisione automatica in CI/CD (GitHub Actions, GitLab CI, Gerrit)CLI con LLM configurato
Audit di un codebase sconosciuto, senza diff significativiocr scan
Changeset molto grandi dove l'agente generico "salta" dei fileCLI o plugin: il raggruppamento a sub-agenti è pensato per questo

Il progetto è multipiattaforma (Windows, macOS, Linux), ha estensioni per VS Code e IntelliJ IDEA e un visualizzatore di sessioni nel browser per rivedere i commenti e marcarli come risolti o ignorati.

rate_reviewAltri articoli su AI grid_viewTutti gli articoli
Scrivici su WhatsApp