J'ai modernisé un distributeur automatique des années 80 en 3 minutes avec Bob d'IBM (Analyse complète)
BBetter Stack
컴퓨터/소프트웨어경영/리더십AI/미래기술
Transcript
00:00:00Regardez ça.
00:00:01C'est intéressant.
00:00:02Il n'a ajouté aucun test, car c'est classique pour les applications mainframe héritées qui reposent
00:00:07sur des tests manuels ou des outils de test spécifiques aux mainframes absents du dépôt.
00:00:13Voici Bob, le nouvel IDE d'IBM, qu'ils appellent votre partenaire de développement boosté par l'IA.
00:00:20Il y a quelques mois, j'ai fait une vidéo sur les modèles phares Granite d'IBM, et maintenant ils passent
00:00:25au niveau supérieur en lançant une toute nouvelle plateforme IDE avec un avatar mignon et une tonne
00:00:31de fonctionnalités géniales, toutes propulsées par leurs modèles Granite.
00:00:34Dans cette vidéo, nous allons examiner Bob de plus près, voir comment il fonctionne, le tester et déterminer
00:00:39si Bob est vraiment le prochain architecte autonome que nous attendions tous.
00:00:45Ça va être très amusant, alors plongeons dans le vif du sujet.
00:00:51Dans un monde de Claude Codes, Geminis, codecs et autres harnais de modèles d'IA, on est en droit
00:00:58de se demander ce qui rend Bob spécial ou unique.
00:01:01Eh bien, alors que la plupart des assistants se concentrent sur le "vibe coding", qui consiste essentiellement à générer
00:01:06des extraits de code le plus rapidement possible, Bob est conçu pour la gouvernance architecturale.
00:01:11Il ne s'agit pas d'une simple fenêtre de chat, mais d'un flux de travail agentique qui sépare la planification
00:01:17de l'exécution.
00:01:18IBM a spécifiquement conçu Bob avec un ensemble de fonctionnalités utiles qui vous permettent de contrôler soigneusement
00:01:23les différentes phases de vos cycles de développement, comme la planification, le codage, la revue, etc.
00:01:30Et vous pouvez le voir dans leur sélecteur de mode tout en bas du chat.
00:01:34Vous avez un mode "ask" pour les questions rapides, un mode "code" pour l'implémentation et un mode "plan".
00:01:40Et vous pouvez même créer vos propres modes personnalisés adaptés à vos besoins.
00:01:44Mais l'une de mes fonctionnalités préférées est leur mode de revue.
00:01:48Vous pouvez exécuter une commande slash review, et Bob utilise ses garde-fous de sécurité intégrés pour rechercher
00:01:53des éléments comme des secrets codés en dur, des risques d'injection ou de faibles pratiques OWASP.
00:01:59Il vous offre même un panneau dédié aux résultats où vous pouvez trier les problèmes, à l'instar d'un outil
00:02:05professionnel d'audit de sécurité.
00:02:07Mais celui-ci est intégré directement dans votre IDE.
00:02:09Et si vous préférez les lignes de commande, vous pouvez également l'utiliser dans le terminal avec Bob Shell.
00:02:14Et comme IBM est l'une des plus anciennes entreprises technologiques et qu'ils ont des racines très profondes
00:02:18dans les systèmes mainframe, Bob a probablement une compréhension spécialisée des langages plus anciens
00:02:24comme le COBOL.
00:02:25J'ai donc décidé de le mettre à l'épreuve ultime.
00:02:28Vous savez comment tout le monde plaisante sur le fait que le COBOL est l'un des langages les plus anciens qui alimente encore
00:02:33beaucoup de systèmes bancaires et de distributeurs automatiques, et à quel point tout le monde est terrifié à l'idée de toucher au
00:02:38code source par peur de briser une pipeline financière mondiale ?
00:02:42Eh bien, j'ai récupéré un dépôt COBOL open source appelé zBank, et nous allons voir si Bob
00:02:48peut faire de l'ingénierie inverse sur cette logique mainframe héritée et la moderniser de manière autonome en une
00:02:53application Python fonctionnelle.
00:02:55Dès que j'ouvre Bob pour la première fois, il vous demande d'importer vos paramètres depuis
00:03:00d'autres IDE populaires comme VS Code.
00:03:03Je vais donc le faire.
00:03:04Et maintenant, une fois à l'intérieur, nous pouvons voir qu'il ressemble beaucoup à VS Code, mais avec
00:03:09un petit panneau de chat Bob mignon sur le côté.
00:03:12Et ici, nous pouvons voir que nous pouvons également choisir l'un des modes dont nous avons discuté précédemment.
00:03:17Comme je ne planifie pas de nouveau projet, je vais simplement utiliser le mode code pour demander à
00:03:22Bob de commencer à coder immédiatement.
00:03:24Et pour le prompt, j'ai précisé que Bob est un développeur Python chargé de
00:03:28moderniser l'ancienne pile COBOL de distributeur automatique pour la transformer en une application web claire propulsée
00:03:34par Streamlit avec une interface utilisateur attrayante.
00:03:37Et avant que Bob ne commence à écrire le code, il affiche un modèle d'approbation automatique très détaillé.
00:03:43C'est une touche agréable, car vous pouvez spécifier exactement ce que l'agent est autorisé
00:03:47à faire sans votre permission.
00:03:49Soyons honnêtes, je pense que la plupart du temps, nous cliquons tout le temps sur l'approbation automatique.
00:03:53Mais ici, vous pouvez réellement définir une sandbox claire, donc vous pouvez choisir.
00:03:58Mais pour cette démonstration, je vais l'autoriser à lire et écrire des fichiers dans notre repo, puis le laisser
00:04:03faire son travail.
00:04:04Il a fallu environ trois minutes à Bob pour terminer la tâche, maintenant lançons l'application et
00:04:08voyons comment elle fonctionne réellement.
00:04:10Nous avons donc cette belle page de connexion sombre dès le début.
00:04:13Et nous pouvons nous connecter avec les identifiants de démonstration codés en dur pour tester.
00:04:18Le tableau de bord a l'air assez correct, bien que le texte de la fenêtre contextuelle soit trop brillant.
00:04:22Il manque donc un peu de jugement en matière de design, mais toutes les opérations sont fonctionnelles.
00:04:27Dans l'ensemble, il a réussi à terminer cette tâche et à moderniser la pile COBOL.
00:04:33Maintenant, je veux essayer la fonction de revue.
00:04:35Cela forcera Bob à effectuer un audit complet de la base de code et à trouver tout problème de sécurité potentiel.
00:04:42Une fois exécuté, nous voyons apparaître un nouveau panneau de résultats Bob, où nous pouvons
00:04:46examiner chaque problème plus en détail.
00:04:49Et si nous cliquons sur l'un des problèmes, vous pouvez voir qu'il y a aussi ce bouton ampoule
00:04:54pratique.
00:04:55En cliquant dessus, Bob essaiera automatiquement de résoudre ce problème de son propre chef.
00:05:00Non seulement cela, mais après l'avoir corrigé, il demande aussi si nous voulons ajouter un test unitaire dédié
00:05:05pour ce problème spécifique.
00:05:08Allons-y, cliquons dessus.
00:05:10Et maintenant, nous pouvons voir que Bob ajoute des tests supplémentaires et les exécute pour vérifier deux fois que
00:05:15le problème est effectivement résolu.
00:05:17Ici, nous pouvons aussi voir les journaux de diff des modifications apportées par Bob.
00:05:21Essayons un autre problème.
00:05:22Celui-ci est intéressant.
00:05:23Il a détecté un problème potentiel de condition de concurrence.
00:05:26Cliquez donc sur l'ampoule et essayons de le corriger.
00:05:29Oh, wow.
00:05:30La correction est en fait une modification d'une seule ligne pour ajouter une commande begin immediate pour un verrouillage
00:05:35approprié dans SQLite.
00:05:37Assez sympa.
00:05:38Maintenant, nous pouvons à nouveau le laisser corriger et lui demander d'ajouter des tests appropriés pour s'assurer
00:05:43que le problème est correctement géré.
00:05:46Il reste une dernière chose que je veux vérifier.
00:05:47Je vais ouvrir une nouvelle copie de ce dépôt sans nos modifications Python.
00:05:52Et je veux exécuter la commande de revue sur l'implémentation COBOL originale pour voir s'il
00:05:57trouve des problèmes potentiels.
00:05:59Regardez ça.
00:06:00Il a trouvé huit problèmes.
00:06:02Il peut donc identifier en toute confiance des bugs critiques, même dans des langages aussi vieux que le COBOL.
00:06:08Je ne comprends pas ce qui se passe ici.
00:06:10Mais essayons de résoudre l'un de ces problèmes.
00:06:12Une fois de plus, après l'avoir corrigé, Bob demande si nous voulons y ajouter des tests dédiés.
00:06:19Cliquez sur oui.
00:06:20Regardez ça.
00:06:21C'est intéressant.
00:06:23Il n'a ajouté aucun test, car c'est typique des applications mainframe héritées qui reposent
00:06:28sur des tests manuels ou des outils de test spécifiques au mainframe non présents dans le dépôt.
00:06:33Wow.
00:06:34Donc je suppose que c'est une pile si ancienne qu'ils ne testaient même pas automatiquement à
00:06:39l'époque.
00:06:40Il n'existe probablement aucun framework de test pour le COBOL dans la nature.
00:06:45C'est donc assez intéressant.
00:06:47Mais bref, voilà les amis.
00:06:49C'est Bob en un mot.
00:06:51C'est peut-être un avis controversé, mais j'aime honnêtement beaucoup utiliser des IDE plutôt que des lignes de commande où
00:06:57je ne comprends pas ce que fait l'agent la plupart du temps.
00:07:00J'apprécie vraiment le fait qu'un outil comme Bob possède des panneaux séparés et des contrôles d'interface utilisateur pour
00:07:06des choses comme les approbations ou les résultats de revue.
00:07:09Je trouve que cela offre une manière beaucoup plus structurée de travailler au sein des bases de code, de diviser
00:07:15les tâches et d'avoir une image complète de ce qui se passe réellement.
00:07:19Donc si vous voulez essayer Bob par vous-même, ils proposent un essai gratuit qui inclut 40 pièces Bob
00:07:24à dépenser.
00:07:25Et pour comparaison, le test que nous venons de faire a coûté environ quatre pièces Bob, et une pièce Bob
00:07:30équivaut à 50 cents USD.
00:07:33Alors que pensez-vous de Bob ?
00:07:34L'avez-vous essayé ?
00:07:35L'utiliserez-vous ?
00:07:36Faites-le-nous savoir dans la section des commentaires ci-dessous.
00:07:38Et les amis, si vous aimez ces types d'analyses techniques, faites-le-moi savoir en fracassant
00:07:42ce bouton like sous la vidéo.
00:07:44Et n'oubliez pas non plus de vous abonner à notre chaîne.
00:07:47C'était Andris de Betterstack, et je vous verrai dans les prochaines vidéos.