Pular para o conteúdo

Tutorial de revisão de código com Open Code Review: Alibaba libera sua ferramenta interna

Ver no idioma original →

Autoria: Fahd Mirza · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: Open Code Review Tutorial: Alibaba Open-Sourced Their Internal Code Reviewer · Canal: Fahd Mirza · 08:26 · Assistir no YouTube

Tópicos: Agentes de IA, Engenharia de software com IA, Ferramentas de desenvolvimento com IA, Mercados e economia

O vídeo apresenta o Open Code Review, ferramenta interna da Alibaba que foi disponibilizada publicamente e que combina engenharia determinística com raciocínio de um agent para revisar código. O apresentador explica a arquitetura, instala a ferramenta no Ubuntu e configura um modelo para usá-la. Em uma demonstração prática, a ferramenta identifica problemas de lógica em uma alteração de código e apresenta uma correção em formato de diff. Por fim, ele mostra como integrar o Open Code Review ao OpenCode e verificar a conexão com o modelo.

  • O Open Code Review foi usado internamente na Alibaba por dois anos e, segundo o vídeo, revisou código de dezenas de milhares de desenvolvedores e encontrou milhões de defeitos.
  • A ferramenta usa engenharia determinística para selecionar arquivos, agrupar conteúdo, corresponder regras e posicionar comentários; o agent fica responsável pelo raciocínio.
  • Segundo o benchmark apresentado, a ferramenta superou Claude Code em precisão e F1 usando o mesmo modelo subjacente e cerca de um nono dos tokens, com menor recall como contrapartida.
  • A instalação é feita via NPM e requer Node.js; em seguida, é possível configurar um provedor de modelo.
  • Na demonstração, o modo de prévia mostra quais arquivos foram detectados e estão no escopo antes de fazer uma chamada ao LLM.
  • Durante a revisão, o agent pesquisa o código, lê arquivos e consulta o README para entender o contexto do repo, em vez de analisar apenas o diff.
  • A ferramenta encontrou problemas de lógica além do bug introduzido na demonstração e sugeriu uma correção em formato de diff.
  • O vídeo também demonstra a integração com OpenCode por meio de um plugin e uma verificação de saúde da conexão com DeepSeek.
Início Capítulo Resumo
00:01 Apresentação e arquitetura O apresentador introduz o Open Code Review, explica sua abordagem híbrida e menciona os resultados de um benchmark.
02:09 Instalação e configuração A ferramenta é instalada via NPM e configurada com um provedor de modelo, após dificuldades com a chave da Alibaba.
04:14 Demonstração da revisão de código O vídeo mostra a seleção determinística de arquivos, as buscas feitas pelo agent e os problemas de lógica encontrados na revisão.
06:51 Integração com OpenCode e encerramento O apresentador instala o plugin, verifica a conexão com DeepSeek e demonstra como solicitar uma revisão do workspace.

A correção é híbrida: a engenharia determinística cuida da seleção de arquivos, do agrupamento, da correspondência de regras e do posicionamento dos comentários; o agent cuida apenas do raciocínio. — 01:05

O menor recall é a contrapartida. — 01:37

Ele não está apenas olhando para o diff isoladamente; está entendendo o código ao redor. — 05:49

Este é um bug real de lógica, não apenas um erro de digitação. — 06:51

  • Open Code Review (ferramenta): Ferramenta de revisão de código da Alibaba que combina etapas determinísticas com o raciocínio de um agent.
  • Alibaba (empresa): Empresa que desenvolveu internamente o Open Code Review e o disponibilizou publicamente.
  • Claude Code (ferramenta): Ferramenta citada como comparação de desempenho no benchmark apresentado.
  • OpenCode (ferramenta): Ambiente ao qual o vídeo demonstra integrar o Open Code Review por meio de um plugin.
  • DeepSeek (modelo): Modelo configurado pelo apresentador após a chave da API da Alibaba não funcionar.
  • Node.js (ferramenta): Pré-requisito mencionado para instalar o Open Code Review via NPM.
  • Fahd Mirza (pessoa): Apresentador do vídeo e autor da demonstração da ferramenta.
  • Engenharia determinística (conceito): Abordagem usada pela ferramenta para selecionar arquivos, agrupar conteúdo, aplicar regras e posicionar comentários.

00:01 Ultimamente, a Alibaba tem sido muito generosa. Tem disponibilizado suas ferramentas internas como chuva no deserto. A Alibaba acabou de disponibilizar sua ferramenta interna de revisão de código com IA, a Open Code Review. Essa ferramenta está em funcionamento dentro da Alibaba há 2 anos, revisando o código de dezenas de milhares de desenvolvedores da empresa, e já encontrou milhões de defeitos. Agora, ela é pública. Você pode usá-la hoje sob duas licenças. Neste

00:33 vídeo, vamos instalá-la. Vou fazer uma demonstração prática em um repo real, além de mostrar como integrá-la ao Open Code. Aqui é Fahad Mirza, e dou as boas-vindas ao canal. Recentemente, também comecei esta newsletter semanal gratuita sobre IA, na qual você pode se inscrever em fahadmirza.substack.com. Voltando a essa ferramenta, primeiro vamos tentar entender o que exatamente acontece nos bastidores. O que diferencia essa ferramenta de simplesmente apontar o Claude Code para um diff é a

01:05 arquitetura, como você pode ver na tela. A maioria dos agents de uso geral que fazem revisão de código enfrenta três grandes problemas. Eles ignoram arquivos em conjuntos grandes de alterações, os números das linhas não correspondem ao problema real, e a qualidade varia dependendo de como o prompt foi formulado. A Open Code Review, ou OCR, para abreviar, resolve isso com uma abordagem híbrida. A engenharia determinística cuida da seleção de arquivos, do agrupamento, da correspondência com regras e do posicionamento dos comentários,

01:37 enquanto o agent cuida apenas do raciocínio. No benchmark próprio que compartilharam, com 200 PRs em 50 repos, eles superam o Claude Code em precisão e F1 usando o mesmo modelo subjacente e cerca de um nono dos tokens. A contrapartida, aliás, é um recall menor. Vamos instalá-la e depois seguimos. E, se quiser ajudar o canal, torne-se membro. Este é o meu sistema Ubuntu, onde

02:09 já tenho o Node instalado, pois esse é um dos pré-requisitos. Vou instalá-la pelo NPM e depois também vamos exibir a versão. É uma ferramenta bem leve, então a instalação não deve demorar muito. A instalação termina em poucos segundos. Agora, vamos configurar o modelo. Vou configurar o provedor com este comando, OCR config provider, e então você pode selecionar o provedor que preferir.

02:40 Para esta demonstração, vou usar a API DashScope da própria Alibaba. Acabei de selecioná-la. Vamos escolher o 23.8 max. Pronto, isso também está feito. Vou colar minha chave de API. Minha chave da Alibaba para o DashScope não estava funcionando, então usei o DeepSeek. E, a propósito, só um aparte: acho que a Alibaba realmente precisa melhorar essa confusão com as chaves de API. Eles têm o Quan Cloud, têm a API DashScope, têm algum AliYun e

03:10 depois têm o plano de tokens. Há, sabe, uma porção de opções. É muito confuso, e as chaves realmente não são compatíveis entre si. Enfim, agora nossa OCR está configurada com o modelo. Vamos em frente. Agora é hora de testar essa ferramenta. Tenho este pequeno app em FastAPI para validar preços de remessas de minério de ferro. Se você olhar a linha 123, acabei de introduzir um bug sutil de SQL nela, e vou deixar a Open Code

03:42 Review encontrá-lo. Não há, sabe, nenhum comentário nem nada. Vou até remover esta linha. Ela não nos diz nada, então vou removê-la. Salvei, então não há comentário algum. E agora há um bug na linha 120. Vou até lá. Primeiro, vou mostrar o Git diff e depois vou usar esta revisão da OCR no modo de pré-visualização. Aí está. Você vê que ela encontrou o bug e

04:14 me deu as informações porque também está verificando o último commit. Essa é a camada determinística. Ainda não houve nenhuma chamada ao LLM. Ela está apenas mostrando quais arquivos detectou como alterados e confirmando que estão dentro do escopo da revisão. Agora, vamos fazer a revisão de verdade, sem pré-visualização. Vamos esperar a resposta, e vou explicar o que está acontecendo. Você vê que ela está lendo os arquivos um por um.

04:47 E este é o resultado completo. Dê-me 2 minutos para explicar, linha por linha, em palavras bem curtas e simples, o que está acontecendo, porque isso é muito importante. Veja, confira desde o começo. Você pode ver que diz que um arquivo foi alterado e está sendo revisado. Então, encontrou nossa única edição e confirmou que está dentro do escopo. Essa é a camada determinística de seleção de arquivos fazendo seu trabalho antes de qualquer IA entrar em ação. Depois, diz que está pulando a etapa de planejamento porque, para alterações pequenas, como um diff de sete linhas,

05:18 a OCR não se dá ao trabalho de fazer todo um planejamento. Ela vai direto para a revisão, o que economiza tempo e tokens em alterações pequenas, e isso é uma das inteligências dessa ferramenta. Depois vêm as chamadas de ferramentas. Veja, há várias chamadas, como pesquisa de código, leitura de arquivos e commit de código. É o agent trabalhando de verdade. Ele está pesquisando no código por faixas de preço, lendo trechos de main.py em diferentes intervalos de linhas e até consultando o readme para obter contexto. É o agent cuidando do raciocínio e do contexto do repo, como no diagrama de arquitetura do nosso

05:49 artigo. Ele não está apenas olhando para o diff isoladamente. Está examinando e entendendo o código ao redor, e esse é o principal recurso, na minha humilde opinião. Se eu continuar descendo, por volta de duas por duas, ele faz até duas passagens por padrão e parou mais cedo quando a segunda passagem não encontrou nada de novo. Muito eficiente. Depois, ele nos deu esta linha de resumo, na qual, como você pode ver, diz que um

06:20 arquivo foi revisado, com um comentário, cerca de 53.000 tokens usados e 25 segundos. Esse é o custo real de uma revisão assim. Depois, ele nos mostrou esta descoberta, em que não apenas detectou o erro de digitação que plantamos de propósito, mas também encontrou dois problemas separados. Por exemplo, a coluna com o nome data text existe; além disso, também percebeu que usamos inner join em vez de left join e chegou a essa conclusão com base na docstring. Veja, este é um bug real de lógica, não apenas um erro de digitação, e ele

06:51 nos deu a correção exata como um diff no final. Aí está. Então, o que acham? Uma ferramenta muito, muito bacana. Acho que definitivamente vou adotá-la no meu dia a dia. Agora, vou mostrar rapidamente como integrá-la ao Open Code. Já tenho o Open Code instalado e, a propósito, também dá para fazer isso com o Code X, o Claude Code e alguns outros harnesses. Em seguida, vou instalar o plugin da OCR para o Open Code. Tudo funciona como plugin ou ferramenta externa. Então, você pode

07:23 ver que ele já foi baixado. Em seguida, vou instalar algumas dependências para o runtime. Isso deve levar um segundo. Pronto. Agora você pode iniciar o Open Code. Este é o meu Open Code, atualmente configurado com o DeepSeek. Você pode fazer uma verificação rápida de integridade, como acabei de fazer com /OCR health, e ele me informa que a Open Code Review está em execução e conectada com sucesso ao modelo DeepSeek.

07:55 E, se você tiver algum workspace ou algo assim, basta dizer: “Certo, revise o workspace atual.” O que estiver no seu workspace atual, você pode, sabe, pedir para ele verificar. Claro, não estou em um repo Git onde eu poderia fazer isso. Mas, se você estiver usando o Open Code apontado para seu repo do GitHub, repo Git ou qualquer outro, ele vai verificar e apresentar o mesmo resultado que mostrei antes. Algo assim; como você pode ver, indiquei aquele repo e então

08:26 ele me deu este resultado, parecido com o que vimos antes. Um ponto interessante é que você pode ver esses caracteres chineses aparecendo aqui e ali. Lembre-se: esta é a ferramenta interna deles, que compartilharam conosco. É isso. Digam o que acham dessa ferramenta. Vou deixar o link na descrição do vídeo. Mais uma vez, se quiser ajudar o canal, torne-se membro e não se esqueça de se inscrever nesta newsletter. Obrigado por todo o apoio.

Transcrição original

[00:01] Lately, Alibaba has become very generous. They have been open-sourcing their internal tooling like a rain in the desert. Alibaba just open-sourced their internal AI code review tool, Open Code Review. This thing has been running inside Alibaba for 2 years, reviewing the code for tens of thousands of their own developers, and it’s found millions of defects. Now, it’s public. You can use it today under two license. In this

[00:33] video, we are going to install it. I’m going to do a hands-on demo on a real repo, plus how to get it integrated with Open Code. This is Fahad Mirza, and I welcome you to the channel. Recently, I also have started this free weekly AI newsletter, which you can subscribe at fahadmirza.substack.com. Coming back to this tool, first, let’s try to understand what exactly is happening under the hood. What makes this tool different from just pointing Claude Code at a diff is the

[01:05] architecture, as you can see on your screen. Most general-purpose agents doing code review hit three major problems. They skip files on large change sets, the line numbers drift from the actual issue, and quality swings depending on how the prompts worded. Open Code Review, or OCR in short, the fix is a hybrid. Deterministic engineering handles file selection, bundling, rule matching, and comment

[01:37] positioning, while the agent only handles the reasoning part. On their own benchmark, which they have shared, 200 PRs across 50 repos, they are beating Claude Code on precision and F1 with the same underlying model using about a ninth of of tokens. Lower recall is the trade-off, by the way. Let’s get it installed and then we will go from there. And if you want to help out the channel, please become a member. So, this is my Ubuntu system where I

[02:09] already have a node installed because that is one of the prerequisites. Let me get it installed through NPM and then we will also display its version. It is quite a lightweight tool, so it shouldn’t take too long to get installed. Installation is done in a few seconds. Now, let’s configure the model. So, I’m just going to configure provider with this command, OCR config provider, and then you can select provider of your choice.

[02:40] So, for this one, I’ll just go with Alibaba’s own dash scope API. So, I have just selected it. Let’s go with 23.8 max. And that is also done. Let me paste my API key. My dash scope Alibaba key was not working, so I have just gone with DeepSeek. And by the way, just a digression, I think Alibaba really needs to improve this API key fiasco. They have Quan Cloud, they have dash scope API, they have some AliYun, and

[03:10] then they have token plan. There are, you know, heaps of options. It’s so confusing, and the keys are really not compatible. Anyway, so now our OCR is configured with the model. Let’s move forward. And now it’s the time to test this tool. I have got this small fast API app for validating iron ore shipment prices. So, if you look at the line 123, I I have just introduced a subtle SQL bug into it, and I’m going to let open code

[03:42] review catch this. There are no, um, you know, sort of comments or anything. I’m just even going to remove this line. It doesn’t tell us anything, but I’ll just remove it. Saved it, so there are no comments whatsoever. And this is a bug now on line 120. So, I’ll just go here. First, I will show you the Git diff, and then I will use this OCR review in preview mode. There you go. You see, it has got the bug, and then it has

[04:14] given me the information because it is also checking the last commit. So, this is a deterministic layer. Um no LLM call yet. It It is just showing which files it detected as changed, and confirming they’re in scope for review. Now, let’s let me do the actual review without any preview. So, let’s wait for it to come back, and I will explain what is happening. You see, it is reading file by file.

[04:47] And this is the whole output. Allow me 2 minutes while I go line by line in very short and simple words to explain what is happening because this is very crucial. So, look. Just check out from the top. You can see that it says one file changed, reviewing it. So, it found our one edit, and confirmed it’s in scope. That’s the deterministic file selection layer doing its job before any AI gets involved. Then it says skipping plan phase because for tiny changes like a seven-line diff,

[05:18] OCR doesn’t bother with a whole planning step. It just gets straight to reviewing, which saves time and tokens on small stuff, and that is one intelligence of this tool. And then comes the tool calls. You see, there are a lot of tool calls like code search, file read, code commit. This is the agent actually working. It is searching the code base for price bands, reading chunks of main.py at different line ranges, even pulling in the readme for context. This is the agent handling reasoning and repo context part from our

[05:49] article architecture diagram. It is not just staring at diff in isolation. It is going and understanding the surrounding code and that is the flagship feature in my humble opinion. If I just keep coming down, if you look at this around two by two, it does up to two passes by default and stopped early once the second pass didn’t find anything in new. So, very efficient. And then it has given us this summary line which you know, you can see that it says one

[06:20] file reviewed, one comment, about 53,000 tokens used, 25 seconds and that is the real cost of review like this. And then it has given us this actual finding where it didn’t just catch the typo we obviously planted. It caught also two separate problems like you know, column name data text exists then then it also noticed that we stuck in inner join instead of left join and reason from docstring. So, look, this is a real logic bug, not just a typo and it has

[06:51] given us the exact fix as a diff at the bottom. There you go. So, how good is that? Very very nifty tool. I think I’m definitely going to make it my usual stuff. Let me now quickly show you how to integrate it with open code. So, I already have open code installed and by the way, you can also do it with code X and cloud code and few other harnesses. Next up, I’m just going to get the plugin for OCR for open code. Everything works as a plugin or external stuff. So, you can

[07:23] see it is already downloaded. Next up, I’m just going to install some dependencies for the runtime. And that should take a second. That’s done. And now you can launch your open code. And this is my open code currently configured with DeepSeek. And you can do a quick health check like I just gave {slash} OCR health and it is telling me that open code review is running this with a successful connection to the DeepSeek model.

[07:55] And if you have any workspace or something, you can simply just go and say, “Okay, just go and review the current workspace.” And whatever is in your current workspace, you can go uh and it is going to check it out. And of course, I’m not in the Git repo where I could check it out. So, but if you have open code in pointing to your GitHub repo or Git repo or whatever, it is going to check it out and give you the same result which I showed you earlier. Something like this as you can see, I have just given it um that repo and then

[08:26] it has given me this result which is similar to what we saw earlier. One interesting point is that you might see these Chinese characters creeping in here and there. Remember, this is their internal tool which they have shared with us. So, look, that’s it. Let me know what do you think about this tool. I will drop the link to it in video’s description. Again, if you want to help out the channel, please become a member and don’t forget to subscribe to this newsletter. Thank you for all the support.