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.