IBM Bob

메인프레임 규모의 컨텍스트

구조화된 메타데이터, 데이터 사전, 모델 증강이 대규모 Z 환경 전반에서 Bob에게 신뢰할 수 있는 컨텍스트를 제공하는 방법.

메인프레임 규모의 컨텍스트

저자

IBM Bob Team

게시됨

카테고리

guide

공유

IBM Bob Premium Package for Z (Bob PP4Z) 는 특화된 IBM Z 전문 지식을 Bob에 직접 제공합니다. PP4Z는 Bob의 에이전트 기반 위에 구축된 프리미엄 기능으로, 메인프레임 팀이 더 넓은 범위의 개발 작업을 수행할 수 있도록 설계되었습니다.

PP4Z는 엔터프라이즈 메인프레임 개발의 현실에 맞게 설계되었습니다. 대규모 애플리케이션, 긴밀하게 연결된 시스템, 난해한 변수명, 오래된 비즈니스 로직, 그리고 안전하고 일관되게 깊은 아키텍처 인식으로 수행해야 하는 모더나이제이션 작업이 포함됩니다.

이 글에서는 대규모 메인프레임 환경이 범용 AI 코딩 툴의 한계를 드러내는 이유를 설명합니다. 구조화된 메타데이터와 데이터 사전이 단순한 소스 검색을 넘어 제공하는 것, 모델 증강이 IBM 승인 문서를 기반으로 응답을 근거 있게 만드는 방법, 그리고 PP4Z가 Bob의 모델 기반 추론과 결정론적 IBM Z 분석 및 검증 툴을 결합하는 방법을 다룹니다.

IBM Z 개발을 위한 프리미엄 경험

현대 IBM Z 개발은 새 코드 작성을 넘어 기존 애플리케이션 이해, 변경이 대규모 시스템 전반에 미치는 영향 추적, 수십 년간의 비즈니스 로직 문서화, 안전하고 정당화 가능한 모더나이제이션 결정 등 다양한 활동을 포괄합니다.

PP4Z는 이런 넓은 범위를 지원하도록 설계되었습니다. Bob의 에이전트 기반 위에 구축되어 Bob의 skills, 서브에이전트, workflows를 활용합니다. 그리고 IBM Z 개발이 특별히 필요로 하는 것들로 확장합니다. 크고 상호 연결된 애플리케이션 환경에 대한 구조화된 지식, COBOL·PL/I·Assembler를 위한 확정적 분석 툴, 메인프레임 팀의 작업 방식에 맞게 조정된 Z 전용 모드입니다.

더 깊은 애플리케이션 이해를 위한 로컬 및 엔터프라이즈 메타데이터

대규모 메인프레임 애플리케이션은 COBOL·PL/I·Assembler에 걸친 수만 개의 상호 연결된 프로그램으로 구성되어 배치 스케줄러에 의해 조정되고 Db2·CICS·IMS 같은 서브시스템과 통합될 수 있습니다. 모델은 컨텍스트만으로는 이 환경 전체를 추론할 수 없습니다. 질문에 답하기 전에 어떤 프로그램과 관계가 중요한지 파악해야 합니다.

이것이 단순한 소스 검색이 실패하는 지점입니다. 범용 AI에게 공유 날짜 처리 유틸리티를 호출하는 모든 프로그램을 찾으라고 요청하는 경우를 생각해 보세요 (대규모 COBOL 환경에서 수십 개 프로그램이 호출하는 종류의 루틴). 정적 텍스트 검색은 명시적인 호출 문을 찾지만 프로그램 이름이 변수에 저장되어 런타임에 해석되는 동적 호출은 놓칩니다. 같은 쿼리를 두 번 실행하면 모델이 매번 다른 검색 전략을 선택해 다른 결과를 반환할 수 있습니다. 답은 그럴듯해 보이지만 신뢰할 수 없습니다.

PP4Z는 AI 추론이 시작되기 전에 애플리케이션의 구조화되고 쿼리 가능한 표현을 구축하여 이 문제에 대응합니다. 로컬 스캐너가 워크스페이스에서 직접 메타데이터를 채웁니다. 이것은 Z Understand 컨테이너에서 사용되는 것과 동일한 스캐너이며 업로드 단계 없이 사용할 수 있습니다. 메타데이터는 프로그램 관계, 호출 계층, 제어 흐름, 데이터 흐름, SQL 사용, 트랜잭션 정의, 리소스 의존성을 모델이 정확하게 쿼리할 수 있는 형태로 캡처합니다.

엔터프라이즈 규모 분석을 위해 팀은 PP4Z를 Z Understand 컨테이너에 연결할 수 있습니다. 이를 통해 Bob은 개발자의 로컬 워크스페이스를 넘어선 관계를 포함하여 더 넓은 애플리케이션 포트폴리오에 걸친 구조화된 메타데이터에 접근할 수 있습니다. 개발자는 Bob에게 다음과 같은 질문을 할 수 있습니다:

  • 특정 유틸리티를 호출하는 프로그램은 무엇인가?
  • 특정 SQL 테이블을 읽는 프로그램은 무엇인가?
  • 이 필드의 크기가 바뀌면 무엇이 영향을 받는가?

Bob은 메타데이터를 쿼리하여 관련 프로그램과 관계를 파악하고, 더 깊은 분석이 필요한 경우 해당 소스를 검토합니다. 응답은 원시 소스 파일에 대한 확률적 검색이 아닌 일관되고 쿼리 가능한 애플리케이션 데이터에 기반합니다.

Impact Analysis

모델 증강: IBM Z 지식 격차 해소

IBM Z 애플리케이션 코드의 대부분은 사설 엔터프라이즈 리포지토리에 있습니다. 범용 모델은 해당 시스템의 소스, 규칙, 비즈니스 컨텍스트에 접근할 수 없습니다. 주류 언어와 프레임워크보다 공개 예시가 적은 상황에서도 작동해야 합니다.

PP4Z는 모델 증강을 통해 이를 해소합니다. 선별된 IBM Z 참조 자료를 분석하고 인덱싱하여 Bob이 활용할 수 있도록 함으로써 IBM Z 언어 및 미들웨어와 관련된 응답이 IBM이 실제로 문서화한 내용에 근거하도록 합니다. 증강 레이어는 IBM Z 문서를 개발자가 실제로 묻는 구체적인 유형의 질문에 활용할 수 있는 형태로 처리합니다. 예를 들면 호출 규약, 필드 구조, 미들웨어 동작, 그리고 이러한 환경에 대한 경험이 부족한 범용 모델이 잘못 처리하기 쉽고 그 오류도 발견하기 어려운 문서화된 엣지 케이스가 있습니다.

실질적인 차이는 개발자가 IBM Z 미들웨어와 상호 작용하는 코드를 작성하거나 수정할 때 나타납니다. 범용 모델은 구문상 그럴듯하지만 IBM이 규정한 엄격한 계약을 위반하는 코드를 생성할 수 있습니다. 모델 증강을 사용하면 PP4Z가 응답을 구성할 때 활용하는 지식은 IBM이 실제로 명시한 내용에 근거하며, 제한된 학습 경험을 바탕으로 한 최선의 추정이 아닙니다.

모델 증강

데이터 사전을 활용한 비즈니스 인식 AI

불명확한 변수명은 모든 코드베이스에 존재하지만, IBM Z 애플리케이션은 이 문제를 다른 규모와 다른 형태로 제시합니다. 많은 오래된 COBOL 애플리케이션에서 비즈니스 로직과 애플리케이션 로직은 긴밀하게 얽혀 있습니다. 의미는 간결한 필드명, copybook 레이아웃, 그리고 일관된 강제 없이 수십 년에 걸쳐 축적된 명명 규칙에 인코딩되어 있습니다. 이 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.

WK10이라는 그룹에 네 개의 숫자 누산기가 있습니다. 이름이나 PICTURE 절 어느 것도 개발자나 모델에게 각각이 무엇을 나타내는지 알려주지 않습니다. 추가 컨텍스트가 없는 모델은 WK10-QUDISPWK10-QUDIS가 모두 숫자 필드이고 QUDIS 조각을 보아 아마도 거리 관련일 것이라고 추측하고 비슷한 목적을 수행한다고 가정할 수 있습니다. 그 추측은 틀렸습니다. 두 필드 사이의 한 글자 차이가 전체 이야기입니다.

PP4Z가 생성한 데이터 사전을 사용하면 그 구분이 명확합니다. WK10-QUDIS는 모든 파일럿의 총 누적 비행 거리입니다. 비행 기록 처리 전반에 걸쳐 증가하고 최종 평균 계산에 사용됩니다. WK10-QUDISP는 파일럿별 누산기입니다. 각 파일럿의 처리 블록 시작 시 0으로 리셋되고 해당 파일럿의 식별 정보와 함께 표시됩니다. 하나는 파일럿마다 리셋되고 다른 하나는 절대 리셋되지 않습니다. 이 둘을 혼동하는 설명이나 영향 분석은 프로그램이 무엇을 하는지에 대해 잘못된 답을 냅니다.

Data Dictionary

PP4Z는 각 변수가 프로그램에서 어떻게 참여하는지의 정적 분석을 통해 이 항목들을 생성합니다. 분석은 제어 흐름, I/O 작업, 계산, 데이터 이동을 포함합니다. 모든 필드를 문서화하려고 시도하는 대신, 프로그램 동작에 가장 영향을 미치는 변수, 즉 한 번 명명되면 프로그램의 나머지를 이해하기 쉽게 만드는 변수를 식별합니다. 데이터 사전 항목은 로컬로 관리하거나 Z Understand 컨테이너를 통해 관리할 수 있으며, 대량 생성, 검토, 팀 간 동기화를 지원합니다.

문서화, 설명, 리팩토링

메타데이터, 데이터 사전, 모델 증강을 다룬 각 섹션에서는 PP4Z가 애플리케이션의 전체 그림을 어떻게 구축하는지 설명합니다. 이 섹션에서는 개발자가 그 전체 그림을 어떻게 활용하는지 다룹니다.

문서화 및 비즈니스 규칙 추출은 대규모의 지속적인 애플리케이션 지식을 생성합니다. 팀은 COBOL·PL/I·Assembler 프로그램을 위한 구조화된 문서를 생성할 수 있으며 프로그램 로직, 데이터 흐름, 내장된 비즈니스 규칙을 다룹니다. 집중된 범위에는 로컬 스캐너 메타데이터를, 전체 애플리케이션에는 Z Understand 컨테이너를 사용할 수 있습니다. 비즈니스 규칙은 그 과정의 일환으로 나타나며, 기술 팀과 모더나이제이션 이해관계자에게 모든 단락을 수동으로 추적하지 않고도 애플리케이션이 무엇을 하는지에 대한 읽기 쉬운 기록을 제공합니다.

Documentation

그 프로그램 수준의 문서는 이제 애플리케이션 뷰로 컴파일될 수 있습니다. 전체 애플리케이션에 걸친 다이어그램과 교차 참조 페이지가 있는 구조화된 사이트입니다. 개별 프로그램 문서는 하나의 프로그램에 관한 질문에 답합니다. 애플리케이션 뷰는 팀과 모더나이제이션 이해관계자에게 전체 애플리케이션의 지도를 제공합니다.

Application View

포괄적인 설명은 현재 작업에 가장 적합한 Architect, Developer 또는 Business 관점에서 프로그램을 상세히 설명합니다. PP4Z는 애플리케이션 메타데이터, 데이터 사전 항목, 모델 증강 레이어를 활용하여 프로그램의 동작에 근거한 설명을 제공합니다.

Explain Workflow

리팩토링은 수집된 컨텍스트를 사용하여 기존 코드를 기능을 유지하면서 모듈식의 재사용 가능한 서비스로 재구성합니다. Refactor COBOL or PL/I program workflow는 추출 후보를 식별하고 의존성을 매핑하며 변환을 안내합니다. 이를 통해 팀은 완전한 재작성 없이 유지 보수성을 향상시키는 실용적인 모더나이제이션 경로를 갖게 됩니다.

Extraction Candidates

Refactor

통합된 개발, 품질, 디버그 기능

개발자 워크플로의 일부는 확정적인 답을 가집니다. 코드가 규칙을 준수하는지, 특정 변수가 프로그램을 어떤 경로로 탐색하는지, PERFORM 이후 제어가 어디로 이동하는지. PP4Z는 전용 툴을 통해 이것들을 처리합니다. 모델은 개발자가 달성하려는 것의 컨텍스트에서 결과 사실을 해석합니다.

PP4Z 커스텀 모드 Z Code에서 Z Code Scan은 COBOL 및 PL/I 프로그램에 대해 빠른 규칙 기반 정적 분석을 제공합니다. 린터 스타일 피드백은 확률적 추론 없이 문제를 잡아냅니다. 커스텀 모드 Z Architecture는 제어 흐름과 데이터 흐름 분석을 제공하며, 실행이 프로그램을 어떻게 이동하는지와 데이터가 단락과 copybook 사이를 흐르면서 어떻게 변환되는지를 포함합니다. 이 툴들은 질문이 어떻게 표현되는지에 관계없이 일관되고 재현 가능한 결과를 생성합니다.

Z Code Scan

모델은 그 툴들의 출력과 함께 작동합니다. 제안된 변경의 컨텍스트에서 스캔 결과를 해석하거나 프로그램 동작에 관한 특정 질문에 답하기 위해 데이터 흐름을 추적할 수 있습니다. 확정적 분석은 규칙에 묶인 것을 처리하고, AI는 판단이 필요한 것을 처리합니다.

PP4Z에는 IBM Debug for z/OS와 코드 커버리지 기능도 포함되어 있어 팀이 동일한 환경 내에서 AI 지원 개발에서 실행 수준 검증으로 직접 이동할 수 있습니다.

엔터프라이즈별 지식을 위한 Skill Builder

애플리케이션 메타데이터, 데이터 사전, 모델 증강, 결정론적 분석은 PP4Z가 제공하는 IBM Z 기반을 형성합니다. Skill Builder는 조직이 그 위에 자체 지식을 쌓는 방법입니다.

Skill Builder를 사용하면 팀이 코딩 표준, 명명 규칙, 기술 패턴, 비즈니스 용어, 환경별 지침과 같은 엔터프라이즈 특화 지식을 캡처하고 적용하는 커스텀 skills를 만들 수 있습니다. 이 skills는 특정 조직 내에서 개발이 어떻게 수행되는지 Bob이 이해하여 일반적인 가정을 줄이고 AI 생성 응답의 관련성을 향상시키는 데 도움이 됩니다. Skills는 사용자의 요청과 코드 컨텍스트에 관련될 때 자동으로 수집되고 동적으로 호출되어 기존 PP4Z workflows에 직접 통합됩니다.

Skill Builder

모든 것을 하나로

규모, 의미적 밀도, 기업 고유의 컨텍스트는 범용 AI 툴이 메인프레임 개발을 다루기 어렵게 만듭니다. PP4Z는 각 요소에 직접 대응합니다. 즉, 규모에는 구조화된 메타데이터를, 비즈니스 의미에는 데이터 사전을, IBM Z 문서 활용에는 모델 증강을, 규칙 기반 분석에는 결정론적 툴을 사용합니다.

이 접근 방식에서 AI 추론과 확정적 지식은 서로를 강화합니다. Bob은 구조화된 메타데이터로 시작하고 선별된 문서를 활용하며 규칙 기반 툴의 출력을 해석합니다. 개발자는 미션 크리티컬한 환경에서 답변에 따라 행동하기 전에 그 증거를 검토할 수 있습니다.

시작하려면 팀이 피해왔던 프로그램 하나를 선택하세요. 아마도 목적이 불분명하거나 비즈니스 로직이 몇 년 동안 손대지 않았던 것입니다. 로컬 스캐너를 실행하여 메타데이터를 구축하고 주요 변수에 대한 데이터 사전을 생성하세요. explain workflow를 사용하여 프로그램이 무엇을 하는지 이해한 다음 문서화 workflow를 실행하여 해당 지식을 워크스페이스에 기록하세요. 거기서부터 같은 기반이 영향 분석, 리팩토링, 품질 검증을 지원합니다. 팀은 이제 이해하는 프로그램으로 시작합니다.