The Pulse
Alibaba rende open source il suo sistema di revisione del codice basato sull’IA
Alibaba ha pubblicato OpenCodeReview, uno strumento di revisione del codice basato sull’IA e utilizzabile da riga di comando, che combina procedure di revisione deterministiche con modelli linguistici configurabili.

AI.info Team ·
Alibaba ha pubblicato OpenCodeReview, un sistema interno di revisione del codice che combina un approccio ingegneristico deterministico con un agente basato su un modello linguistico. La documentazione del progetto afferma che è nato come assistente interno di Alibaba Group per la revisione del codice basato sull’IA, che per due anni è stato usato da decine di migliaia di sviluppatori e ha individuato milioni di difetti nel codice, prima di diventare un progetto incubato come open source con licenza Apache-2.0.
OpenCodeReview è progettato per esaminare le modifiche a Git e fornire al modello il contesto del repository, andando oltre le differenze immediate. Legge i file modificati, può esaminarne l’intero contenuto, cerca nel codebase e produce commenti strutturati associati a righe specifiche. Il comando ocr scan può anche esaminare file, directory o repository completi che non presentano differenze Git significative.
Regole deterministiche prima del giudizio del modello
Il progetto funziona come strumento da riga di comando ocr. Gli sviluppatori possono esaminare le modifiche già messe in stage, quelle non messe in stage e quelle non tracciate, confrontare branch, ispezionare un singolo commit o analizzare file e directory completi. Gli utenti installano il comando a livello globale con npm install -g @alibaba-group/open-code-review.
OpenCodeReview separa le attività di revisione che richiedono un comportamento fisso da quelle che traggono vantaggio dal ragionamento del modello. Il suo livello deterministico seleziona i file da esaminare, filtra i file quando opportuno, raggruppa i file correlati in unità di revisione e associa le regole di revisione alle caratteristiche dei file. Secondo il repository, questi controlli mirano a ridurre la copertura incompleta, la deriva delle posizioni e l’instabilità della qualità causate da un processo di revisione basato esclusivamente sul linguaggio.
L’agente gestisce le decisioni dinamiche e il recupero del contesto. Durante la revisione può leggere i file del repository, cercare codice pertinente ed esaminare modifiche correlate. Il progetto descrive il proprio set di strumenti e i prompt come specificamente concepiti per la revisione del codice, anziché basarsi sulla configurazione di un agente generalista.
Le regole integrate coprono problemi come gli errori di puntatore nullo, la sicurezza dei thread, il cross-site scripting e l’iniezione SQL. Lo strumento supporta endpoint compatibili con OpenAI e Anthropic, consentendo agli utenti di configurare il modello linguistico separatamente dal software di revisione.
Un benchmark basato su pull request reali
Il repository descrive AACR-Bench come un benchmark di revisione del codice basato su 50 popolari repository open source, 200 pull request reali e 10 linguaggi di programmazione. Oltre 80 ingegneri senior hanno verificato in modo incrociato il benchmark, che contiene 1.505 problemi annotati come verità di riferimento.
Alibaba presenta precisione, richiamo e F1 come misure distinte della qualità della revisione. La precisione misura la quota dei problemi segnalati che sono difetti reali, mentre il richiamo misura la quota dei difetti reali individuati. Secondo il repository, a parità di modello sottostante OpenCodeReview raggiunge una precisione e un F1 superiori a quelli di agenti generalisti come Claude Code, consumando circa un nono dei token e completando le revisioni più rapidamente.
La documentazione segnala anche un limite: OpenCodeReview ha un richiamo inferiore rispetto agli agenti generalisti. Alibaba lo descrive come un compromesso deliberato, che privilegia la precisione rispetto al rumore. L’approccio mira a ridurre il numero di falsi allarmi che gli sviluppatori devono valutare, anche se i team possono considerare diversamente questo compromesso, a seconda che il costo maggiore sia legato ai difetti non rilevati o alle segnalazioni aggiuntive.
Flusso di lavoro da CLI e modalità di delega
Dopo aver configurato un provider e un modello, gli sviluppatori possono eseguire ocr review dalla directory di un progetto. Il comando esamina le modifiche all’area di lavoro, mentre altre opzioni consentono di specificare intervalli di branch e singoli commit. I risultati della revisione possono essere salvati in formato JSON e le revisioni interrotte possono essere riprese tramite i comandi di sessione del progetto.
Il repository offre anche una modalità di delega per gli utenti che già lavorano con un agente di programmazione basato sull’IA. In questa modalità OpenCodeReview si occupa della selezione dei file e dell’individuazione delle regole, mentre l’agente di programmazione ospitante esegue la revisione usando il proprio modello linguistico. La documentazione afferma che questa modalità non richiede una configurazione separata del modello per OpenCodeReview.
La documentazione di OpenCodeReview elenca integrazioni per Claude Code, Codex, Cursor, Kimi Code e OpenCode, oltre a documentazione CI/CD che copre GitHub Actions, GitLab CI, GitFlic CI e Gerrit. Il repository rimanda anche alla documentazione di un server MCP, delle regole di revisione, della configurazione e della consultazione delle sessioni.
Uno strumento open source che dipende da modelli esterni
Il repository pubblico presenta OpenCodeReview come uno strumento di revisione del codice collaudato in produzione, non come un modello linguistico autonomo. Nella modalità operativa standard dipende da un endpoint di un modello esterno, mentre la modalità di delega consente a un agente di programmazione già esistente di fornire il modello.
Per i team di ingegneria, la proposta principale del progetto è un flusso di revisione controllato: la logica deterministica gestisce la selezione dei file, l’associazione delle regole, il raggruppamento e la precisione dei commenti, mentre un agente esamina il contesto del repository e spiega i potenziali difetti. Le informazioni sul benchmark pubblicate insieme al repository sottolineano la maggiore precisione e il minor consumo di token rispetto agli agenti generalisti, riconoscendo al contempo la corrispondente riduzione del richiamo.