Modernicé un sistema de cajero automático de los 80 en 3 minutos con Bob de IBM (Análisis completo)

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

Transcript

00:00:00Echa un vistazo a esto.
00:00:01Esto es interesante.
00:00:02No añadió ninguna prueba porque esto es típico de aplicaciones
00:00:07mainframe heredadas que dependen de pruebas manuales o herramientas específicas de mainframe no presentes en el repositorio.
00:00:13Este es Bob, el nuevo IDE de IBM, al que llaman tu socio de desarrollo impulsado por IA.
00:00:20Hace unos meses, hice un video sobre los modelos insignia Granite de IBM, y ahora están llevando
00:00:25esto al siguiente nivel lanzando una nueva plataforma IDE con un avatar simpático y un montón
00:00:31de características geniales, todo impulsado por sus modelos Granite.
00:00:34En este video, veremos más de cerca a Bob, veremos cómo funciona, lo probaremos y descubriremos
00:00:39si Bob es realmente el próximo arquitecto autónomo que todos hemos estado esperando.
00:00:45Va a ser muy divertido, así que vamos a ello.
00:00:51Entonces, en un mundo de Claude Codes, Geminis, codecs y otros asistentes de modelos de IA, surge
00:00:58la pregunta, ¿qué hace que Bob sea especial o único?
00:01:01Bueno, mientras que la mayoría de los asistentes se centran en la codificación basada en sensaciones, que básicamente es solo generar
00:01:06fragmentos lo más rápido posible, Bob está diseñado para la gobernanza arquitectónica.
00:01:11Se trata menos de una ventana de chat única y más de un flujo de trabajo agente que separa la planificación
00:01:17de la ejecución.
00:01:18IBM diseñó específicamente a Bob para tener un conjunto de funciones útiles que te permiten controlar cuidadosamente
00:01:23diferentes fases de tus ciclos de desarrollo, como planificación, codificación, revisión, etc.
00:01:30Y puedes ver esto en su selector de modo en la parte inferior del chat.
00:01:34Tienes un modo de consulta para preguntas rápidas, o modo de código para implementación y un modo de planificación.
00:01:40E incluso puedes crear tus propios modos personalizados adaptados a tus necesidades.
00:01:44Pero una de mis características favoritas es su modo de revisión.
00:01:48Puedes ejecutar un comando "slash review", y Bob usa sus protecciones de seguridad integradas para escanear
00:01:53en busca de cosas como secretos codificados, riesgos de inyección o prácticas débiles de OWASP.
00:01:59Incluso te ofrece un panel de hallazgos dedicado donde puedes clasificar problemas de forma similar a una herramienta profesional
00:02:05de auditoría de seguridad.
00:02:07Pero esta está integrada directamente en tu IDE.
00:02:09Y si prefieres las CLI, también puedes usarla en la terminal con Bob Shell.
00:02:14Y debido a que IBM es una de las empresas tecnológicas más antiguas que existen y tienen raíces tan profundas
00:02:18en sistemas mainframe, Bob probablemente tenga un conocimiento especializado de lenguajes antiguos
00:02:24como COBOL.
00:02:25Así que decidí ponerlo a prueba definitiva.
00:02:28Ya sabes cómo todos bromean diciendo que COBOL es uno de los lenguajes más antiguos que todavía alimenta
00:02:33muchos sistemas bancarios y cajeros automáticos, y cómo todo el mundo tiene miedo de tocar
00:02:38el código fuente por miedo a romper un canal financiero global.
00:02:42Bueno, he tomado un repositorio de código abierto de COBOL llamado zBank, y vamos a ver si Bob
00:02:48puede realizar ingeniería inversa de esta lógica de mainframe heredada y modernizarla de forma autónoma a una
00:02:53aplicación funcional en Python.
00:02:55Así que, en cuanto abro Bob por primera vez, te pedirá que importes tu configuración desde
00:03:00otros IDE populares como VS Code.
00:03:03Así que voy a hacer eso.
00:03:04Y ahora, una vez dentro, podemos ver que se parece mucho a VS Code, pero con
00:03:09un pequeño y simpático panel de chat de Bob en el lateral.
00:03:12Y aquí podemos ver que también podemos elegir uno de los modos que discutimos anteriormente.
00:03:17Como no estoy planeando un nuevo proyecto, voy a continuar con el modo de código para pedirle
00:03:22a Bob que comience a programar de inmediato.
00:03:24Y para el prompt, he especificado que Bob es un desarrollador de Python al que se le ha encomendado
00:03:28la tarea de modernizar la antigua pila de cajeros automáticos de COBOL y convertirla en una aplicación web clara
00:03:34impulsada por Streamlit con una interfaz de usuario atractiva.
00:03:37Y antes de que Bob comience a escribir el código, muestra un modelo de aprobación automática muy detallado.
00:03:43Y este es un buen toque porque aquí puedes especificar exactamente lo que el agente tiene permitido
00:03:47hacer sin tu permiso.
00:03:49Y seamos realistas, creo que la mayoría de las veces simplemente presionamos la aprobación automática todo el tiempo.
00:03:53Pero aquí puedes definir un entorno aislado claro para que puedas elegir.
00:03:58Pero para esta demostración, voy a permitirle leer y escribir archivos en nuestro repositorio y luego dejar
00:04:03que haga lo suyo.
00:04:04Así que a Bob le tomó aproximadamente tres minutos terminar la tarea y ahora vamos a iniciar la aplicación y
00:04:08ver cómo funciona realmente.
00:04:10Tenemos esta bonita página de inicio de sesión de tema oscuro al principio.
00:04:13Y podemos iniciar sesión con las credenciales de demostración codificadas para probarlo.
00:04:18Y el panel también se ve bastante decente, aunque el texto emergente es demasiado brillante.
00:04:22Así que le falta un poco de criterio de diseño, pero todas las operaciones son funcionales.
00:04:27Así que, en general, logró completar con éxito esta tarea y modernizar la pila de COBOL.
00:04:33Y ahora quiero probar la función de revisión.
00:04:35Esto obligará a Bob a realizar una auditoría completa de la base de código y encontrar cualquier posible problema de seguridad.
00:04:42Una vez que ejecutamos esto, vemos que hay un nuevo panel de hallazgos de Bob, que acaba de aparecer
00:04:46donde podemos examinar cada problema con más detalle.
00:04:49Y si hacemos clic en uno de los problemas, puedes ver que también existe este práctico botón de
00:04:54bombilla.
00:04:55Y si hacemos clic en él, Bob intentará automáticamente solucionar este problema por su cuenta.
00:05:00Y no solo eso, sino que después de arreglarlo, también pregunta si queremos agregar una prueba unitaria
00:05:05dedicada para ese problema específico.
00:05:08Así que sigamos adelante y hagamos clic en eso.
00:05:10Y ahora podemos ver que Bob añade pruebas adicionales y las ejecuta para verificar dos veces que
00:05:15el problema esté realmente solucionado.
00:05:17Y aquí también podemos ver los registros de diferencias de los cambios que hizo Bob.
00:05:21Probemos otro problema.
00:05:22Este es interesante.
00:05:23Detectó un posible problema de condición de carrera.
00:05:26Así que hagamos clic en la bombilla e intentemos solucionar ese.
00:05:29Oh, guau.
00:05:30La solución para esto es en realidad un cambio de una sola línea para agregar un comando "begin immediate" para un bloqueo
00:05:35adecuado en SQLite.
00:05:37Bastante bien.
00:05:38Así que de nuevo, podemos dejar que lo arregle y luego pedirle que agregue las pruebas adecuadas para asegurarse
00:05:43de que el problema se maneje correctamente.
00:05:46Y hay una última cosa que quiero comprobar.
00:05:47Así que voy a abrir una nueva copia de este repositorio sin nuestros cambios de Python.
00:05:52Y quiero ejecutar el comando de revisión en la implementación original de COBOL para ver si
00:05:57encuentra algún posible problema.
00:05:59Y mira eso.
00:06:00Encontró ocho problemas.
00:06:02Así que puede identificar con confianza errores críticos, incluso en lenguajes tan antiguos como COBOL.
00:06:08Y no no entiendo qué está pasando aquí.
00:06:10Pero intentemos arreglar uno de estos problemas.
00:06:12Y una vez más, después de arreglarlo, Bob pregunta si queremos agregar pruebas dedicadas al respecto.
00:06:19Así que hagamos clic en sí.
00:06:20Y echa un vistazo a esto.
00:06:21Esto es interesante.
00:06:23No añadió ninguna prueba porque esto es típico de aplicaciones mainframe heredadas que dependen
00:06:28de pruebas manuales o herramientas específicas de mainframe no presentes en el repositorio.
00:06:33Guau.
00:06:34Así que supongo que esta es una pila tan antigua que ni siquiera la probaban automáticamente en aquel
00:06:39entonces.
00:06:40Así que probablemente no existan marcos de prueba para COBOL en la naturaleza.
00:06:45Así que eso es bastante interesante.
00:06:47Pero de todos modos, ahí lo tienen, amigos.
00:06:49Eso es Bob en pocas palabras.
00:06:51Ahora, esto podría ser una opinión controvertida, pero sinceramente me gusta mucho usar IDE en lugar de CLI donde
00:06:57no entiendo qué está haciendo el agente la mayor parte del tiempo.
00:07:00Realmente valoro el hecho de que una herramienta como Bob tenga paneles separados y controles de interfaz de usuario para
00:07:06cosas como aprobaciones o hallazgos de revisión.
00:07:09Me parece que proporciona una forma mucho más estructurada de trabajar dentro de las bases de código y dividir
00:07:15tareas y tener una imagen completa de lo que está sucediendo realmente.
00:07:19Así que, si quieres probar Bob por ti mismo, ofrecen una prueba gratuita que incluye 40 monedas Bob
00:07:24para gastar.
00:07:25Y para comparar, la prueba que acabamos de hacer costó alrededor de cuatro monedas Bob y una moneda Bob
00:07:30equivale a 50 centavos de USD.
00:07:33Entonces, ¿qué piensas de Bob?
00:07:34¿Lo has probado?
00:07:35¿Lo usarás?
00:07:36Háznoslo saber en la sección de comentarios a continuación.
00:07:38Y amigos, si les gustan estos tipos de análisis técnicos, por favor háganmelo saber presionando
00:07:42ese botón de "me gusta" debajo del video.
00:07:44Y también no olviden suscribirse a nuestro canal.
00:07:47Este ha sido Andris de Betterstack, y los veré en los próximos videos.

Key Takeaway

Bob moderniza sistemas de mainframe heredados como COBOL de forma autónoma mediante flujos de trabajo agentes estructurados y auditorías de seguridad integradas en el IDE.

Highlights

  • Bob es un IDE impulsado por IA diseñado para la gobernanza arquitectónica, permitiendo separar la planificación de la ejecución mediante un flujo de trabajo basado en agentes.

  • La función de revisión escanea el código en busca de secretos, riesgos de inyección y vulnerabilidades de OWASP, ofreciendo un panel dedicado para clasificar los hallazgos.

  • Bob logró realizar ingeniería inversa y modernizar una base de código COBOL de un cajero automático heredado a una aplicación funcional de Python con interfaz Streamlit en aproximadamente 3 minutos.

  • El asistente identifica problemas en código COBOL antiguo, como condiciones de carrera, y propone soluciones automáticas mediante un botón de acción rápida.

  • El modelo de aprobación automática permite definir un entorno aislado, especificando qué acciones el agente tiene permitido ejecutar sin intervención humana.

  • La plataforma ofrece un sistema de pago basado en monedas, donde una moneda equivale a 0,50 USD, y la modernización completa del sistema COBOL tuvo un costo de 4 monedas.

Timeline

Arquitectura y capacidades del IDE Bob

  • Bob prioriza la gobernanza arquitectónica sobre la generación de código rápida.
  • El IDE utiliza selectores de modo para gestionar fases como consulta, codificación y planificación.
  • La integración de seguridad incluye detección de secretos y prácticas débiles de OWASP.

El entorno de desarrollo se centra en un flujo de trabajo agente que separa la planificación de la ejecución. A través de un selector de modo en el chat, los desarrolladores pueden adaptar el comportamiento de la IA según la fase del ciclo de desarrollo. El panel de revisión proporciona herramientas de auditoría profesional integradas directamente en el flujo de trabajo.

Modernización de código COBOL a Python

  • El repositorio zBank de COBOL fue seleccionado para probar la capacidad de modernización de Bob.
  • La modernización resultó en una aplicación funcional basada en Python y Streamlit.
  • El agente permitió configurar un entorno de aprobación automática antes de ejecutar los cambios en los archivos del repositorio.

El proceso demostró cómo Bob interactúa con lenguajes antiguos de mainframe. El usuario importó su configuración existente y utilizó el modo de código para transformar la lógica de negocio antigua en una aplicación moderna. El sistema solicitó permisos específicos para leer y escribir archivos, operando de forma autónoma durante tres minutos.

Auditoría de seguridad y corrección automatizada

  • Las vulnerabilidades detectadas pueden corregirse automáticamente mediante un botón de acción rápida.
  • El sistema genera pruebas unitarias dedicadas después de aplicar correcciones de seguridad.
  • Bob identificó ocho problemas críticos en la base original de COBOL, confirmando su capacidad para auditar código heredado.

La función de revisión permite examinar hallazgos detallados, donde el asistente sugiere soluciones y verifica su efectividad añadiendo pruebas. En el caso de código COBOL sin marcos de pruebas previos, el sistema reconoce la limitación de la pila heredada. La experiencia de uso se define por un control estructurado a través de interfaces visuales en lugar de depender únicamente de comandos de terminal.

Community Posts

View all posts