Ich habe ein 80er-Jahre-Geldautomatensystem in 3 Minuten mit IBMs Bob modernisiert (Vollständige Analyse)
BBetter Stack
Computing/SoftwareManagementInternet Technology
Transcript
00:00:00Schaut euch das an.
00:00:01Das ist interessant.
00:00:02Es wurden keine Tests hinzugefügt, da dies typisch für alte Mainframe-Anwendungen ist, die
00:00:07auf manuellen Tests oder speziellen Mainframe-Testtools basieren, die nicht im Repository vorhanden sind.
00:00:13Das ist Bob, IBMs neue IDE, die sie ihren KI-gestützten Entwicklungspartner nennen.
00:00:20Vor ein paar Monaten habe ich ein Video über IBMs Flaggschiff-Granite-Modelle gemacht, und jetzt gehen sie
00:00:25einen Schritt weiter, indem sie eine brandneue IDE-Plattform mit einem niedlichen Avatar und einer Menge
00:00:31cooler Funktionen veröffentlichen, die alle von ihren Granite-Modellen angetrieben werden.
00:00:34In diesem Video werden wir uns Bob genauer ansehen, schauen, wie es funktioniert, es testen und herausfinden,
00:00:39ob Bob wirklich der nächste autonome Architekt ist, auf den wir alle gewartet haben.
00:00:45Das wird eine Menge Spaß machen, also lasst uns direkt eintauchen.
00:00:51In einer Welt von Claude Codes, Geminis, Codecs und all den anderen KI-Modell-Harnesses stellt sich
00:00:58die Frage: Was macht Bob so besonders oder einzigartig?
00:01:01Nun, während die meisten Assistenten auf Vibe-Coding fokussiert sind, was im Grunde nur bedeutet, so schnell
00:01:06wie möglich Code-Schnipsel zu generieren, ist Bob für architektonische Governance gebaut.
00:01:11Es geht weniger um ein einzelnes Chat-Fenster, sondern um einen agentenbasierten Workflow, der Planung
00:01:17von der Ausführung trennt.
00:01:18IBM hat Bob speziell so entworfen, dass er eine Reihe hilfreicher Funktionen besitzt, mit denen man sorgfältig
00:01:23verschiedene Phasen der Entwicklungszyklen steuern kann, wie Planung, Codierung, Überprüfung usw.
00:01:30Und das sieht man an der Modus-Auswahl ganz unten im Chat.
00:01:34Man hat einen Ask-Modus für schnelle Fragen, einen Code-Modus für die Implementierung und einen Plan-Modus.
00:01:40Und man kann sogar eigene, benutzerdefinierte Modi erstellen, die auf die eigenen Bedürfnisse zugeschnitten sind.
00:01:44Aber eine meiner Lieblingsfunktionen ist der Überprüfungsmodus.
00:01:48Man kann einen Slash-Review-Befehl ausführen, und Bob nutzt seine eingebauten Sicherheitsleitplanken, um nach
00:01:53Dingen wie hartcodierten Geheimnissen, Injektionsrisiken oder schwachen OWASP-Praktiken zu suchen.
00:01:59Es bietet sogar ein eigenes Ergebnis-Panel, in dem man Probleme wie bei einem professionellen
00:02:05Sicherheits-Audit-Tool triagieren kann.
00:02:07Aber dieses ist direkt in die IDE integriert.
00:02:09Und wenn man CLIs bevorzugt, kann man es auch im Terminal mit Bob Shell verwenden.
00:02:14Und da IBM eines der ältesten Technologieunternehmen überhaupt ist und so tiefe
00:02:18Wurzeln in Mainframe-Systemen hat, hat Bob wahrscheinlich ein spezielles Verständnis für ältere Sprachen
00:02:24wie COBOL.
00:02:25Also habe ich beschlossen, es dem ultimativen Test zu unterziehen.
00:02:28Ihr wisst, wie jeder scherzt, dass COBOL eine der ältesten Sprachen ist, die immer noch viele
00:02:33Bankensysteme und Geldautomaten antreibt, und wie jeder Angst hat, den Quellcode zu berühren,
00:02:38aus Angst, eine globale Finanzpipeline zu unterbrechen?
00:02:42Nun, ich habe ein Open-Source-COBOL-Repository namens zBank genommen, und wir werden sehen, ob Bob
00:02:48diese alte Mainframe-Logik zurückentwickeln und autonom in eine
00:02:53funktionale Python-App modernisieren kann.
00:02:55Sobald ich Bob zum ersten Mal öffne, werde ich aufgefordert, meine Einstellungen von
00:03:00anderen beliebten IDEs wie VS Code zu importieren.
00:03:03Also werde ich das jetzt tun.
00:03:04Und jetzt, wenn wir drin sind, sehen wir, dass es sehr ähnlich wie VS Code aussieht, aber mit
00:03:09einem kleinen, niedlichen Bob-Chat-Panel an der Seite.
00:03:12Und hier können wir sehen, dass wir auch einen der Modi wählen können, die wir zuvor besprochen haben.
00:03:17Da ich kein neues Projekt plane, werde ich einfach den Code-Modus verwenden, um Bob zu bitten,
00:03:22sofort mit dem Codieren zu beginnen.
00:03:24Und für den Prompt habe ich spezifiziert, dass Bob ein Python-Entwickler ist, der die Aufgabe hat,
00:03:28den alten COBOL-Geldautomaten-Stack zu modernisieren und in eine schöne, klare Web-App zu verwandeln,
00:03:34die von Streamlit mit einer gut aussehenden UI betrieben wird.
00:03:37Und bevor Bob anfängt, den Code zu schreiben, zeigt es ein sehr detailliertes Auto-Genehmigungsmodell an.
00:03:43Und das ist eine nette Sache, denn hier kann man genau festlegen, was der Agent
00:03:47ohne die eigene Erlaubnis tun darf.
00:03:49Und seien wir ehrlich, ich denke, die meiste Zeit klicken wir einfach ständig auf Auto-Genehmigung.
00:03:53Aber hier kann man tatsächlich eine klare Sandbox definieren, also kann man auswählen.
00:03:58Aber für diese Demo werde ich erlauben, Dateien in unserem Repo zu lesen und zu schreiben und dann
00:04:03Bob seine Arbeit machen lassen.
00:04:04Es hat Bob ungefähr drei Minuten gekostet, die Aufgabe zu erledigen, und jetzt starten wir die App und
00:04:08sehen, wie sie tatsächlich funktioniert.
00:04:10Wir haben also diese schöne dunkel gestaltete Anmeldeseite ganz am Anfang.
00:04:13Und wir können uns mit den hartcodierten Demo-Anmeldedaten anmelden, um es zu testen.
00:04:18Und das Dashboard sieht auch ziemlich gut aus, obwohl der Pop-up-Text zu hell ist.
00:04:22Es mangelt also ein wenig an Design-Urteilsvermögen, aber alle Operationen sind funktional.
00:04:27Insgesamt ist es ihm also gelungen, diese Aufgabe erfolgreich zu erledigen und den COBOL-Stack zu modernisieren.
00:04:33Und jetzt möchte ich die Überprüfungsfunktion ausprobieren.
00:04:35Dadurch wird Bob gezwungen, eine vollständige Prüfung des Codes durchzuführen und potenzielle Sicherheitsprobleme zu finden.
00:04:42Sobald wir das ausführen, sehen wir nun, dass es ein neues Bob-Ergebnis-Panel gibt, das gerade
00:04:46aufgetaucht ist, wo wir jedes Problem genauer untersuchen können.
00:04:49Und wenn wir auf eines der Probleme klicken, sieht man, dass es auch diese praktische Glühbirnen-Schaltfläche
00:04:54gibt.
00:04:55Und wenn wir darauf klicken, wird Bob automatisch versuchen, dieses Problem von sich aus zu beheben.
00:05:00Und nicht nur das, nach der Behebung fragt es auch, ob wir einen dedizierten Unit-Test
00:05:05für dieses spezifische Problem hinzufügen möchten.
00:05:08Also klicken wir da drauf.
00:05:10Und jetzt sehen wir, dass Bob zusätzliche Tests hinzufügt und sie ausführt, um doppelt zu überprüfen, ob
00:05:15das Problem tatsächlich behoben ist.
00:05:17Und hier können wir auch die Diff-Logs der Änderungen sehen, die Bob vorgenommen hat.
00:05:21Lass uns ein anderes Problem versuchen.
00:05:22Dieses hier ist interessant.
00:05:23Es hat ein potenzielles Race-Condition-Problem erkannt.
00:05:26Also klicken wir auf die Glühbirne und versuchen, das zu beheben.
00:05:29Oh, wow.
00:05:30Die Lösung hierfür ist eigentlich eine Ein-Zeilen-Änderung, um einen Befehl für sofortiges Beginnen zur ordnungsgemäßen
00:05:35Sperrung in SQLite hinzuzufügen.
00:05:37Ziemlich nett.
00:05:38Also können wir es wieder beheben lassen und dann bitten, ordnungsgemäße Tests dafür hinzuzufügen, um sicherzugehen,
00:05:43dass das Problem ordnungsgemäß behandelt wird.
00:05:46Und es gibt noch eine letzte Sache, die ich überprüfen möchte.
00:05:47Also öffne ich eine neue Kopie dieses Repositorys ohne unsere Python-Änderungen.
00:05:52Und ich möchte den Überprüfungsbefehl auf der ursprünglichen COBOL-Implementierung ausführen, um zu sehen, ob es
00:05:57irgendwelche potenziellen Probleme findet.
00:05:59Und schaut euch das an.
00:06:00Es hat acht Probleme gefunden.
00:06:02Es kann also selbst in so alten Sprachen wie COBOL kritische Bugs sicher identifizieren.
00:06:08Und ich, ich verstehe nicht, was hier vor sich geht.
00:06:10Aber lasst uns einfach versuchen, eines dieser Probleme zu beheben.
00:06:12Und wieder einmal fragt Bob nach der Behebung, ob wir dedizierte Tests dafür hinzufügen wollen.
00:06:19Also klicken wir auf Ja.
00:06:20Und schaut euch das an.
00:06:21Das ist interessant.
00:06:23Es hat keine Tests hinzugefügt, da dies typisch für alte Mainframe-Anwendungen ist, die
00:06:28auf manuellen Tests oder speziellen Mainframe-Testtools basieren, die nicht im Repository vorhanden sind.
00:06:33Wow.
00:06:34Also nehme ich an, das ist ein so alter Stack, dass sie damals nicht einmal automatisch
00:06:39getestet haben.
00:06:40Es gibt also wahrscheinlich keine Testframeworks für COBOL, die in der freien Natur existieren.
00:06:45Das ist also ziemlich interessant.
00:06:47Aber wie auch immer, da habt ihr es, Leute.
00:06:49Das ist Bob im Grunde genommen.
00:06:51Nun, das mag eine gewagte Meinung sein, aber ich mag es ehrlich gesagt wirklich, IDEs im Gegensatz zu CLIs zu verwenden, bei denen
00:06:57ich die meiste Zeit nicht verstehe, was der Agent tut.
00:07:00Ich schätze es wirklich sehr, dass ein Tool wie Bob separate Panels und UI-Steuerelemente für
00:07:06Dinge wie Genehmigungen oder Überprüfungsergebnisse hat.
00:07:09Ich finde, es bietet eine viel strukturiertere Art und Weise, innerhalb von Codebasen zu arbeiten, Aufgaben aufzuteilen
00:07:15und ein vollständiges Bild davon zu haben, was eigentlich vor sich geht.
00:07:19Wenn ihr also Bob selbst ausprobieren wollt, bieten sie eine kostenlose Testversion an, die 40 Bob-Münzen zum
00:07:24Ausgeben beinhaltet.
00:07:25Und zum Vergleich: der Test, den wir gerade durchgeführt haben, hat etwa vier Bob-Münzen gekostet, und eine Bob-Münze
00:07:30entspricht 50 Cent USD.
00:07:33Also, was denkt ihr über Bob?
00:07:34Habt ihr es ausprobiert?
00:07:35Werdet ihr es benutzen?
00:07:36Lasst es uns in den Kommentaren unten wissen.
00:07:38Und Leute, wenn ihr diese Art von technischen Aufschlüsselungen mögt, lasst es mich bitte wissen, indem ihr diesen
00:07:42Like-Button unter dem Video drückt.
00:07:44Und vergesst auch nicht, unseren Kanal zu abonnieren.
00:07:47Das war Andris von Betterstack, und ich sehe euch in den nächsten Videos.