IBM Bob Premium Package for Z (Bob PP4Z) wnosi specjalistyczną wiedzę o IBM Z bezpośrednio do Boba. PP4Z to funkcja premium zbudowana na agentowej podstawie Boba, zaprojektowana, by wspierać zespoły mainframe w szerszym zakresie prac deweloperskich.
PP4Z jest dostosowany do realiów korporacyjnego środowiska mainframe: dużych aplikacji, ściśle powiązanych systemów, kryptycznych nazw zmiennych, wieloletniej logiki biznesowej i prac modernizacyjnych, które muszą być realizowane bezpiecznie, spójnie i ze świadomością architektury.
Ten artykuł wyjaśnia, dlaczego w dużych środowiskach mainframe uniwersalne narzędzia AI do kodowania osiągają granice swoich możliwości. Omawia, co ustrukturyzowane metadane i słowniki danych zapewniają poza prostym pobieraniem kodu źródłowego, jak augmentacja modelu opiera odpowiedzi na dokumentacji zatwierdzonej przez IBM oraz jak PP4Z łączy rozumowanie Boba oparte na modelu z deterministycznymi narzędziami IBM Z do analizy i walidacji.
Doświadczenie premium dla programowania IBM Z
Nowoczesne programowanie IBM Z obejmuje szeroki zakres działań wykraczających poza pisanie nowego kodu: rozumienie istniejących aplikacji, śledzenie wpływu zmiany na duży system, dokumentowanie wieloletnich reguł biznesowych i podejmowanie decyzji modernizacyjnych, które muszą być zarówno bezpieczne, jak i uzasadnione.
PP4Z jest zaprojektowany, by wspierać ten szeroki zakres. Zbudowany jest na agentowej podstawie Boba i korzysta z jego skills, subagentów i workflows. Następnie rozszerza je o to, czego IBM Z wymaga w szczególności: strukturowaną wiedzę o dużych, wzajemnie powiązanych środowiskach aplikacji, deterministyczne narzędzia analizy dla COBOL, PL/I i Assemblera oraz tryby specyficzne dla Z dostosowane do sposobu pracy zespołów mainframe.
Lokalne i korporacyjne metadane dla głębszego wglądu w aplikacje
Duża aplikacja mainframe może składać się z dziesiątek tysięcy wzajemnie powiązanych programów obejmujących COBOL, PL/I i Assembler, koordynowanych przez harmonogramy batch i zintegrowanych z podsystemami takimi jak Db2, CICS i IMS. Model nie może rozumować w obrębie całego środowiska wyłącznie na podstawie kontekstu. Zanim będzie mógł odpowiedzieć na pytanie, musi ustalić, które programy i relacje mają znaczenie.
Tu właśnie zawodzi zwykłe wyszukiwanie kodu źródłowego. Wyobraź sobie, że prosisz ogólne AI o znalezienie wszystkich programów wywołujących wspólną procedurę przetwarzania dat (rodzaj procedury wywoływanej przez dziesiątki programów w dużym środowisku COBOL). Statyczne wyszukiwanie tekstu znajdzie jawne instrukcje wywołania, ale ominie wywołania dynamiczne, gdzie nazwa programu jest przechowywana w zmiennej i rozwiązywana w czasie wykonywania. Uruchom to samo zapytanie dwa razy, a model może za każdym razem wybrać inną strategię wyszukiwania i zwrócić różne wyniki. Odpowiedź wygląda wiarygodnie, ale nie jest niezawodna.
PP4Z rozwiązuje ten problem, budując strukturowaną, odpytywalną reprezentację aplikacji przed rozpoczęciem rozumowania AI. Lokalne skanery zasilają metadane bezpośrednio z przestrzeni roboczej. To te same skanery, które są używane w kontenerze Z Understand, dostępne bez kroku przesyłania. Metadane rejestrują relacje między programami, hierarchie wywołań, przepływ sterowania, przepływ danych, użycie SQL, definicje transakcji i zależności zasobów w formie, którą model może precyzyjnie odpytywać.
W przypadku analiz na skalę korporacyjną zespoły mogą podłączyć PP4Z do kontenera Z Understand. Daje to Bobowi dostęp do strukturalnych metadanych obejmujących szersze portfolio aplikacji, w tym relacje wykraczające poza lokalne środowisko robocze dewelopera. Deweloperzy mogą wtedy zadawać Bobowi pytania takie jak:
- Które programy wywołują dany utility?
- Które programy odczytują daną tabelę SQL?
- Na co może wpłynąć zmiana rozmiaru tego pola?
Bob odpytuje metadane, by zidentyfikować odpowiednie programy i relacje, a następnie analizuje odpowiedni kod źródłowy tam, gdzie potrzebna jest głębsza analiza. Odpowiedź jest oparta na spójnych, odpytywalnych danych aplikacji, a nie na probabilistycznym przeszukiwaniu plików źródłowych.

Augmentacja modelu: wypełnianie luki wiedzy IBM Z
Większość kodu aplikacji IBM Z znajduje się w prywatnych repozytoriach korporacyjnych. Ogólny model nie ma dostępu do kodu źródłowego, konwencji ani kontekstu biznesowego tych systemów. Musi też pracować z mniejszą liczbą publicznych przykładów niż dla popularnych języków i frameworków.
PP4Z odpowiada na ten problem za pomocą augmentacji modelu: wyselekcjonowane materiały referencyjne IBM Z są analizowane, indeksowane i udostępniane Bobowi, tak aby odpowiedzi dotyczące języków i middleware IBM Z były oparte na tym, co IBM faktycznie dokumentuje. Warstwa augmentacji przetwarza dokumentację IBM Z tak, aby deweloperzy mogli praktycznie wykorzystać ją do odpowiadania na konkretne pytania o konwencje wywołań, struktury pól, działanie middleware i udokumentowane przypadki brzegowe – obszary, w których uniwersalny model z ograniczoną znajomością tych środowisk może popełniać trudne do wykrycia błędy.
Praktyczna różnica ujawnia się, gdy deweloper pisze lub modyfikuje kod współpracujący z middleware IBM Z. Uniwersalny model może wygenerować pozornie poprawny składniowo kod, który narusza precyzyjne kontrakty określone przez IBM. Dzięki augmentacji modelu wiedza, z której PP4Z korzysta przy tworzeniu odpowiedzi, opiera się na tym, co IBM faktycznie specyfikuje, a nie na możliwie najlepszym przybliżeniu wynikającym z ograniczonej reprezentacji tych środowisk w danych treningowych.

AI świadome biznesu dzięki słownikom danych
Niejasne nazwy zmiennych istnieją w każdej bazie kodu, ale aplikacje IBM Z przedstawiają ten problem w innej skali i innej formie. W wielu wieloletnich aplikacjach COBOL logika biznesowa i logika aplikacji są ściśle splecione. Znaczenie jest zakodowane w skrótowych nazwach pól, układach copybook i konwencjach nazewnictwa, które nawarstwiły się przez dziesięciolecia bez spójnego egzekwowania. Weź pod uwagę tę sekcję WORKING-STORAGE SECTION:
01 WK10.
10 WK10-QUDISP PICTURE 9(10)
VALUE ZERO.
10 WK10-QUPIL PICTURE 9(3)
VALUE ZERO.
10 WK10-QUDIS PICTURE 9(15)
VALUE ZERO.
10 WK10-QUMYD PICTURE 9(10)
VALUE ZERO.Cztery akumulatory numeryczne znajdują się w grupie o nazwie WK10. Ani nazwy, ani klauzule PICTURE nie mówią deweloperowi ani modelowi, co każdy z nich reprezentuje. Model bez dodatkowego kontekstu mógłby zauważyć, że WK10-QUDISP i WK10-QUDIS to oba pola numeryczne, prawdopodobnie związane z odległością sądząc po fragmentach QU i DIS, i zgadnąć, że służą podobnym celom. To zgadywanie jest błędne. Jednoznakowa różnica między nimi to cała historia.
Dzięki słownikowi danych wygenerowanemu przez PP4Z rozróżnienie jest wyraźne. WK10-QUDIS to skumulowany całkowity dystans przeleciony przez wszystkich pilotów. Jest inkrementowany podczas przetwarzania zapisów lotów i używany w końcowym obliczeniu średniej. WK10-QUDISP to akumulator dla każdego pilota z osobna. Resetuje się do zera na początku bloku przetwarzania każdego pilota i jest wyświetlany obok identyfikacji tego pilota. Jeden resetuje się dla każdego pilota; drugi nigdy. Wyjaśnienie lub analiza wpływu, która je myli, daje błędną odpowiedź na temat tego, co program robi.

PP4Z generuje te wpisy poprzez statyczną analizę sposobu, w jaki każda zmienna uczestniczy w programie. Analiza obejmuje przepływ sterowania, operacje I/O, obliczenia i przemieszczanie danych. Zamiast próbować dokumentować każde pole, identyfikuje zmienne, które najbardziej wpływają na zachowanie programu: te, które po nazwaniu czynią resztę programu czytelną. Wpisy słownika danych mogą być zarządzane lokalnie lub poprzez kontener Z Understand, z obsługą zbiorczego generowania, przeglądu i synchronizacji między zespołami.
Dokumentacja, wyjaśnienie i refaktoryzacja
Sekcje dotyczące metadanych, słownika danych i augmentacji modelu omawiają, jak PP4Z buduje obraz aplikacji. Ta sekcja opisuje, jak deweloperzy wykorzystują ten obraz.
Dokumentacja i ekstrakcja reguł biznesowych tworzą trwałą wiedzę o aplikacji na dużą skalę. Zespoły mogą generować ustrukturyzowaną dokumentację dla programów COBOL, PL/I i Assembler, obejmującą logikę programu, przepływy danych i osadzone reguły biznesowe. Mogą korzystać z lokalnych metadanych skanera dla skoncentrowanego zakresu lub kontenera Z Understand dla całej aplikacji. Reguły biznesowe pojawiają się w ramach tego procesu, dając zespołom technicznym i interesariuszom modernizacji czytelny zapis tego, co robi aplikacja, bez ręcznego śledzenia każdego akapitu.

Ta dokumentacja na poziomie programu może być teraz skompilowana w widok aplikacji — ustrukturyzowaną stronę z diagramami i stronami z odsyłaczami obejmującymi całą aplikację. Indywidualna dokumentacja programu odpowiada na pytania dotyczące jednego programu. Widok aplikacji daje zespołom i interesariuszom modernizacji mapę całej aplikacji.

Kompleksowe wyjaśnienie generuje szczegółowe wyjaśnienie programu z perspektywy najbardziej istotnej dla danego zadania: Architekta, Dewelopera lub Biznesu. PP4Z korzysta z metadanych aplikacji, wpisów słownika danych i warstwy augmentacji modelu, aby oprzeć wyjaśnienie na działaniu programu.

Refaktoryzacja korzysta z zebranego kontekstu, by zrestrukturyzować istniejący kod w modularne, wielokrotnego użytku serwisy, zachowując funkcjonalność. Workflow Refactor COBOL or PL/I program identyfikuje kandydatów do ekstrakcji, mapuje ich zależności i prowadzi przez transformację. Daje to zespołom praktyczną ścieżkę modernizacji, która poprawia utrzymywalność bez wymagania pełnego przepisania.


Zintegrowane możliwości programistyczne, jakościowe i debugowania
Niektóre części procesu dewelopera mają deterministyczne odpowiedzi: czy kod jest zgodny z regułą, jaką ścieżką podąża dana zmienna przez program lub gdzie sterowanie jest przekazywane po PERFORM. PP4Z obsługuje je za pomocą dedykowanych narzędzi. Model interpretuje wynikowe fakty w kontekście tego, co deweloper stara się osiągnąć.
W trybie niestandardowym PP4Z Z Code, Z Code Scan zapewnia szybką analizę statyczną opartą na regułach dla programów COBOL i PL/I. Informacje zwrotne w stylu lintera wykrywają problemy bez probabilistycznego wnioskowania. Tryb niestandardowy Z Architecture zapewnia analizę przepływu sterowania i danych, w tym jak wykonywanie przebiega przez program i jak dane przekształcają się przepływając między akapitami i copybook. Narzędzia te produkują spójne, powtarzalne wyniki niezależnie od sposobu sformułowania pytania.

Model pracuje z danymi wyjściowymi tych narzędzi. Może interpretować wynik skanowania w kontekście proponowanej zmiany lub śledzić przepływ danych, by odpowiedzieć na konkretne pytanie dotyczące zachowania programu. Deterministyczna analiza obsługuje to, co jest oparte na regułach; AI obsługuje to, co wymaga osądu.
PP4Z zawiera również IBM Debug for z/OS i możliwości pokrycia kodu, dzięki czemu zespoły mogą przejść bezpośrednio od programowania wspomaganego AI do walidacji na poziomie wykonania w tym samym środowisku.
Skill Builder dla wiedzy specyficznej dla korporacji
Metadane aplikacji, słowniki danych, augmentacja modelu i deterministyczna analiza stanowią fundament IBM Z dostarczany przez PP4Z. Skill Builder pozwala organizacjom budować na tym fundamencie własną wiedzę.
Dzięki Skill Builder zespoły mogą tworzyć niestandardowe skills, które rejestrują i stosują wiedzę specyficzną dla korporacji, taką jak standardy kodowania, konwencje nazewnictwa, wzorce techniczne, terminologia biznesowa i wskazówki specyficzne dla środowiska. Te skills pomagają Bobowi zrozumieć, jak programowanie jest realizowane w konkretnej organizacji, redukując ogólne założenia i poprawiając trafność odpowiedzi generowanych przez AI. Skills mogą być automatycznie przyswajane i dynamicznie wywoływane, gdy są istotne dla zapytania i kontekstu kodu użytkownika, integrując się bezpośrednio z istniejącymi workflows PP4Z.

Łącząc to wszystko razem
Skala, gęstość semantyczna i zastrzeżony kontekst sprawiają, że tworzenie oprogramowania na mainframe jest trudne dla uniwersalnych narzędzi AI. PP4Z bezpośrednio odpowiada na każdy z tych czynników: ustrukturyzowane metadane umożliwiają pracę w dużej skali, słowniki danych zapewniają znaczenie biznesowe, augmentacja modelu pozwala uwzględnić dokumentację IBM Z, a deterministyczne narzędzia umożliwiają analizę opartą na regułach.
W tym podejściu rozumowanie AI i deterministyczna wiedza wzajemnie się wzmacniają. Bob zaczyna od strukturalnych metadanych, korzysta z wyselekcjonowanej dokumentacji i interpretuje wyniki narzędzi opartych na regułach. Deweloperzy mogą zbadać te dowody przed podjęciem działań na podstawie odpowiedzi w środowisku krytycznym dla misji.
Żeby zacząć, wybierz jeden program, którego Twój zespół unikał — być może dlatego, że jego cel jest niejasny albo jego logika biznesowa nie była dotykana od lat. Uruchom lokalny skaner, by zbudować jego metadane, i wygeneruj słownik danych dla kluczowych zmiennych. Skorzystaj z workflow wyjaśniania, by zrozumieć, co robi program, a następnie uruchom workflow dokumentowania, by utrwalić tę wiedzę w środowisku roboczym. Stamtąd ta sama podstawa obsługuje analizę wpływu, refaktoryzację i walidację jakości. Zespół zaczyna z programem, który teraz rozumie.
