Modernizei um sistema de caixa eletrônico dos anos 80 em 3 minutos com o Bob da IBM (Análise completa)

BBetter Stack
컴퓨터/소프트웨어경영/리더십AI/미래기술

Transcript

00:00:00Dê uma olhada nisso.
00:00:01Isso é interessante.
00:00:02Ele não adicionou nenhum teste porque isso é típico de aplicações mainframe legadas que dependem
00:00:07de testes manuais ou ferramentas de teste específicas para mainframe que não estão presentes no repositório.
00:00:13Este é o Bob, a nova IDE da IBM, que eles chamam de seu parceiro de desenvolvimento com IA.
00:00:20Então, alguns meses atrás, fiz um vídeo sobre os modelos carro-chefe da IBM, o Granite, e agora eles estão levando
00:00:25para o próximo nível ao lançar uma nova plataforma IDE com um avatar fofo e uma tonelada
00:00:31de recursos legais, todos alimentados por seus modelos Granite.
00:00:34Neste vídeo, vamos dar uma olhada mais de perto no Bob, ver como funciona, testá-lo e descobrir
00:00:39se o Bob é realmente o próximo arquiteto autônomo que todos nós estávamos esperando.
00:00:45Vai ser muito divertido, então vamos mergulhar nisso.
00:00:51Então, em um mundo de Claude codes, Geminis, codecs e todos os outros copilotos de modelos de IA, surge
00:00:58a pergunta: o que torna o Bob especial ou único?
00:01:01Bem, enquanto a maioria dos assistentes está focada em "vibe coding", que é basicamente gerar
00:01:06snippets o mais rápido possível, o Bob foi criado para governança arquitetural.
00:01:11É menos sobre uma janela de chat única e mais sobre um fluxo de trabalho agentico que separa o planejamento
00:01:17da execução.
00:01:18A IBM projetou o Bob especificamente para ter um conjunto de recursos úteis que permitem que você controle
00:01:23cuidadosamente diferentes fases dos seus ciclos de desenvolvimento, como planejamento, codificação, revisão, etc.
00:01:30E você pode ver isso no seletor de modo na parte inferior do chat.
00:01:34Você tem um modo "ask" para perguntas rápidas, ou modo "code" para implementação, e um modo "plan".
00:01:40E você pode até criar seus próprios modos personalizados adaptados às suas necessidades.
00:01:44Mas um dos meus recursos favoritos é o modo de revisão.
00:01:48Você pode executar um comando slash "review", e o Bob usa suas proteções de segurança integradas para verificar
00:01:53coisas como segredos hard-coded, riscos de injeção ou práticas fracas da OWASP.
00:01:59Ele até lhe dá um painel de descobertas dedicado onde você pode fazer a triagem de problemas, semelhante a uma
00:02:05ferramenta profissional de auditoria de segurança.
00:02:07Mas esta é construída diretamente na sua IDE.
00:02:09E se você prefere CLIs, você também pode usá-la no terminal com o Bob Shell.
00:02:14E porque a IBM é uma das empresas de tecnologia mais antigas que existem e tem raízes tão profundas
00:02:18em sistemas mainframe, o Bob provavelmente tem um entendimento especializado de linguagens mais antigas
00:02:24como COBOL.
00:02:25Então decidi colocá-lo à prova definitiva.
00:02:28Você sabe como todos brincam que COBOL é uma das linguagens mais antigas que ainda alimenta
00:02:33muitos sistemas bancários e caixas eletrônicos, e como todos ficam aterrorizados ao tocar no
00:02:38código-fonte por medo de quebrar um pipeline financeiro global?
00:02:42Bem, eu peguei um repositório COBOL de código aberto chamado zBank, e vamos ver se o Bob
00:02:48consegue fazer engenharia reversa dessa lógica de mainframe legada e modernizá-la autonomamente para um
00:02:53aplicativo Python funcional.
00:02:55Então, assim que abro o Bob pela primeira vez, ele pede para você importar suas configurações de
00:03:00outras IDEs populares como VS Code.
00:03:03Então vou seguir em frente e fazer isso.
00:03:04E agora, uma vez dentro, podemos ver que parece muito com o VS Code, mas com
00:03:09um pequeno e fofo painel de chat do Bob ao lado.
00:03:12E aqui podemos ver que também podemos escolher um dos modos que discutimos anteriormente.
00:03:17Como não estou planejando um novo projeto, vou seguir com o modo "code" para pedir
00:03:22ao Bob para começar a codificar imediatamente.
00:03:24E para o prompt, especifiquei que o Bob é um desenvolvedor Python que foi encarregado de
00:03:28modernizar a antiga pilha de caixas eletrônicos COBOL e transformá-la em um aplicativo web claro e
00:03:34alimentado por Streamlit, com uma interface bonita.
00:03:37E antes de o Bob começar a escrever o código, ele exibe um modelo de autoaprovação muito detalhado.
00:03:43E esse é um toque legal porque aqui você pode especificar exatamente o que o agente tem permissão
00:03:47para fazer sem sua permissão.
00:03:49E vamos ser sinceros, acho que na maioria das vezes estamos clicando em autoaprovação o tempo todo.
00:03:53Mas aqui você pode realmente definir um sandbox claro para que possa escolher.
00:03:58Mas para esta demonstração, vou permitir que ele leia e escreva arquivos em nosso repositório e então deixar
00:04:03ele fazer seu trabalho.
00:04:04Então, levou cerca de três minutos para o Bob terminar a tarefa e agora vamos iniciar o aplicativo e
00:04:08ver como ele realmente funciona.
00:04:10Então, temos esta página de login com tema escuro logo no início.
00:04:13E podemos fazer o login com as credenciais de demonstração hard-coded para testar.
00:04:18E o painel também parece bastante decente, embora o texto pop-up seja muito brilhante.
00:04:22Então, falta um pouco de julgamento de design, mas todas as operações são funcionais.
00:04:27Então, no geral, ele conseguiu completar com sucesso esta tarefa e modernizar a pilha COBOL.
00:04:33E agora quero testar a função de revisão.
00:04:35Isso forçará o Bob a fazer uma auditoria completa da base de código e encontrar quaisquer problemas de segurança potenciais.
00:04:42Assim que executarmos isso, agora vemos que há um novo painel de descobertas do Bob, que acabou de surgir,
00:04:46onde podemos examinar cada problema com mais detalhes.
00:04:49E se clicarmos em um dos problemas, você pode ver que também existe este prático botão de lâmpada.
00:04:54botão.
00:04:55E se clicarmos nisso, o Bob irá automaticamente em frente e tentará corrigir este problema por conta própria.
00:05:00E não só isso, mas depois de corrigi-lo, ele também pergunta se queremos adicionar um teste unitário
00:05:05dedicado para esse problema específico.
00:05:08Então vamos em frente e clicar nisso.
00:05:10E agora podemos ver que o Bob adiciona testes adicionais e os executa para verificar duas vezes se
00:05:15o problema foi realmente corrigido.
00:05:17E aqui também podemos ver os logs diff das alterações que o Bob fez.
00:05:21Vamos tentar outro problema.
00:05:22Este é interessante.
00:05:23Ele detectou um potencial problema de condição de corrida.
00:05:26Então vamos clicar na lâmpada e tentar corrigir esse.
00:05:29Oh, uau.
00:05:30A correção para isso é, na verdade, uma alteração de uma linha para adicionar um comando "begin immediate" para um bloqueio
00:05:35adequado no SQLite.
00:05:37Muito bom.
00:05:38Então, novamente, podemos deixá-lo corrigir e depois pedir que ele adicione testes adequados para garantir
00:05:43que o problema seja tratado corretamente.
00:05:46E há uma última coisa que quero verificar.
00:05:47Então vou abrir uma nova cópia deste repositório sem nossas alterações em Python.
00:05:52E quero executar o comando de revisão na implementação original em COBOL para ver se ele
00:05:57encontra quaisquer problemas potenciais.
00:05:59E olhe só para isso.
00:06:00Ele encontrou oito problemas.
00:06:02Portanto, ele pode identificar bugs críticos com confiança, mesmo em linguagens tão antigas quanto o COBOL.
00:06:08E eu não entendo o que está acontecendo aqui.
00:06:10Mas vamos apenas tentar corrigir um desses problemas.
00:06:12E, mais uma vez, após corrigi-lo, o Bob pergunta se queremos adicionar testes dedicados a ele.
00:06:19Então vamos clicar em "sim".
00:06:20E dê uma olhada nisso.
00:06:21Isso é interessante.
00:06:23Ele não adicionou nenhum teste porque isso é típico de aplicações mainframe legadas que dependem
00:06:28de testes manuais ou ferramentas de teste específicas para mainframe que não estão presentes no repositório.
00:06:33Uau.
00:06:34Então, acho que esta é uma pilha tão antiga que eles nem testavam automaticamente naquela
00:06:39época.
00:06:40Então, provavelmente não existem estruturas de teste para COBOL por aí.
00:06:45Então, isso é bem interessante.
00:06:47Mas, de qualquer forma, aí está, pessoal.
00:06:49Isso é o Bob em poucas palavras.
00:06:51Agora, esta pode ser uma opinião polêmica, mas honestamente eu realmente gosto de usar IDEs em oposição a CLIs onde
00:06:57eu não entendo o que o agente está fazendo na maior parte do tempo.
00:07:00Eu realmente valorizo o fato de que uma ferramenta como o Bob possui painéis separados e controles de interface para
00:07:06coisas como aprovações ou descobertas de revisão.
00:07:09Acho que ele fornece uma maneira muito mais estruturada de trabalhar dentro de bases de código e dividir
00:07:15tarefas e ter uma imagem completa do que realmente está acontecendo.
00:07:19Então, se você quiser experimentar o Bob por si mesmo, eles fornecem um teste gratuito que inclui 40 Bob
00:07:24coins para gastar.
00:07:25E para comparação, o teste que fizemos custou cerca de quatro Bob coins, e um Bob coin
00:07:30é equivalente a 50 centavos de dólar USD.
00:07:33Então, o que você acha do Bob?
00:07:34Você já experimentou?
00:07:35Você vai usar?
00:07:36Deixe-nos saber na seção de comentários abaixo.
00:07:38E pessoal, se vocês gostam desses tipos de análises técnicas, por favor, me avisem esmagando
00:07:42aquele botão de like embaixo do vídeo.
00:07:44E também não se esqueçam de se inscrever no nosso canal.
00:07:47Este foi Andris da Betterstack, e eu vejo vocês nos próximos vídeos.

Key Takeaway

O Bob da IBM moderniza sistemas legados como o COBOL e melhora a governança de código através de uma IDE agentica que separa planejamento, execução e auditoria de segurança em um fluxo de trabalho estruturado.

Highlights

  • O Bob é uma plataforma IDE alimentada pelos modelos Granite da IBM, com foco em governança arquitetural e fluxos de trabalho agenticos.

  • A interface oferece modos distintos de operação, incluindo modos "ask", "code" e "plan" para segmentar as fases do desenvolvimento.

  • O recurso de revisão slash "review" automatiza a detecção de segredos hard-coded, riscos de injeção e falhas de conformidade OWASP diretamente na IDE.

  • A modernização de um repositório COBOL legado para um aplicativo Python com interface Streamlit foi concluída em cerca de três minutos.

  • O sistema consegue realizar auditorias em código COBOL, identificando oito problemas críticos e sugerindo correções automatizadas.

  • A plataforma utiliza um modelo de autoaprovação configurável que permite definir limites específicos para as ações autônomas do agente.

Timeline

Arquitetura e Funcionalidades do Bob

  • O Bob prioriza a governança arquitetural sobre a simples geração de código acelerada.
  • O fluxo de trabalho separa explicitamente as fases de planejamento, codificação e revisão.
  • A ferramenta inclui proteções integradas para identificar práticas de segurança fracas.

Diferente de assistentes focados puramente na velocidade de codificação, esta plataforma é projetada para controlar cuidadosamente o ciclo de vida do software. O seletor de modos na interface permite alternar entre funções como "ask", "code" e "plan". A integração de ferramentas de auditoria de segurança dentro da IDE permite a triagem de problemas de forma profissional através de um painel de descobertas.

Modernização de Sistema Legado COBOL

  • O Bob realizou a engenharia reversa de um repositório COBOL chamado zBank.
  • O processo de modernização para um aplicativo Python funcional via Streamlit levou três minutos.
  • O agente opera sob um modelo de autoaprovação que define permissões específicas de leitura e escrita.

Para testar a capacidade da plataforma com linguagens antigas, foi utilizado o repositório zBank. O agente interpretou a lógica mainframe e reescreveu a base em Python. O usuário configurou um sandbox claro, permitindo que o sistema agisse autonomamente dentro dos limites estabelecidos para completar a migração da pilha de caixas eletrônicos.

Auditoria de Segurança e Testes Automatizados

  • O recurso de revisão automatiza a correção de bugs críticos e a criação de testes unitários dedicados.
  • A ferramenta detectou oito problemas críticos no código original em COBOL.
  • A ausência de testes em sistemas legados é um desafio comum que o sistema identifica durante a análise.

Ao executar o comando de revisão, o sistema identifica falhas e oferece correções automáticas através de um botão de lâmpada, validando as mudanças com testes unitários adicionais. Durante a análise do código COBOL original, o sistema foi capaz de identificar lacunas de segurança, embora não tenha adicionado testes unitários por falta de frameworks compatíveis com a tecnologia legada, demonstrando um entendimento técnico profundo da base de código.

Community Posts

View all posts