IBM Bob으로 80년대 ATM 시스템을 3분 만에 현대화하기 (전체 분석)
BBetter Stack
Computing/SoftwareManagementInternet Technology
Transcript
00:00:00이걸 한번 보세요.
00:00:01흥미로운 내용입니다.
00:00:02테스트가 추가되지 않았는데, 이는 레거시 메인프레임 애플리케이션에서 흔히 볼 수 있는 현상입니다.
00:00:07수동 테스트나 리포지토리에 없는 메인프레임 전용 테스트 도구에 의존하기 때문이죠.
00:00:13이건 IBM의 새로운 IDE인 '밥(Bob)'입니다. IBM은 이걸 AI 기반 개발 파트너라고 부르더군요.
00:00:20몇 달 전 제가 IBM의 대표 모델인 그래닛(Granite)에 대한 영상을 올렸었는데, 이제는 그 모델을 기반으로
00:00:25귀여운 아바타와 수많은 멋진 기능을 탑재한 새로운 IDE 플랫폼을 출시하면서
00:00:31한 단계 더 발전시키고 있습니다.
00:00:34이번 영상에서는 밥에 대해 자세히 살펴보고, 작동 방식과 성능을 테스트해 보면서
00:00:39밥이 정말 우리가 기다려온 차세대 자율형 아키텍트인지 확인해 보겠습니다.
00:00:45정말 재미있을 것 같으니 바로 시작해 보죠.
00:00:51클로드 코드(Claude Code), 제미나이(Gemini), 코덱(Codecs) 등 수많은 AI 모델 도구들이 넘쳐나는 세상에서
00:00:58밥은 도대체 무엇이 특별하고 독특할까요?
00:01:01대부분의 어시스턴트가 빠르게 코드 조각을 생성하는 '바이브 코딩(vibe coding)'에 초점을 맞추는 반면,
00:01:06밥은 아키텍처 거버넌스를 위해 구축되었습니다.
00:01:11단순한 채팅 창보다는 계획과 실행을 분리하는 에이전트 워크플로우에 더 집중하고 있죠.
00:01:17계획과 실행은 별개니까요.
00:01:18IBM은 밥에 개발 주기의 여러 단계, 즉 기획, 코딩, 검토 등을 신중하게
00:01:23제어할 수 있도록 유용한 기능들을 설계했습니다.
00:01:30채팅창 맨 아래에 있는 모드 선택기에서 확인할 수 있습니다.
00:01:34간단한 질문을 위한 'Ask(질문) 모드', 구현을 위한 'Code(코드) 모드', 그리고 'Plan(계획) 모드'가 있습니다.
00:01:40필요에 따라 직접 커스텀 모드를 만들 수도 있죠.
00:01:44하지만 제가 가장 좋아하는 기능 중 하나는 'Review(검토) 모드'입니다.
00:01:48slash review 명령어를 실행하면, 밥은 내장된 보안 가드레일을 사용하여
00:01:53하드코딩된 비밀 값, 주입 위험, 취약한 OWASP 관행 등을 스캔합니다.
00:01:59심지어 전문 보안 감사 도구처럼 이슈를 분류할 수 있는 전용 결과 패널까지
00:02:05제공해 줍니다.
00:02:07그런데 이 모든 게 IDE 내부에 내장되어 있는 거죠.
00:02:09CLI를 선호하신다면 'Bob Shell'을 통해 터미널에서도 사용할 수 있습니다.
00:02:14IBM은 가장 오래된 기술 기업 중 하나이고 메인프레임 시스템에 깊은 뿌리를 두고 있어서,
00:02:18밥은 COBOL과 같은 구형 언어에 대해 매우 특화된 이해도를 가지고 있을 겁니다.
00:02:24그래서 제대로 테스트해 보기로 했습니다.
00:02:25궁극의 테스트를 준비했죠.
00:02:28다들 COBOL이 아직도 많은 은행 시스템과 ATM기를 구동하는 고대 언어라고 농담하곤 하잖아요.
00:02:33글로벌 금융 파이프라인이 망가질까 봐 아무도 소스 코드를 건드리기 두려워하는 그 언어 말이죠.
00:02:38그 두려움은 정말 대단하죠.
00:02:42저는 'zBank'라는 오픈 소스 COBOL 리포지토리를 가져왔습니다. 과연 밥이
00:02:48이 레거시 메인프레임 로직을 리버스 엔지니어링해서 자율적으로 현대적인
00:02:53기능형 파이썬 앱으로 현대화할 수 있는지 보겠습니다.
00:02:55처음 밥을 열자마자 VS Code 같은 다른 인기 IDE에서 설정을 불러올지 물어봅니다.
00:03:00그래서 바로 진행해 보겠습니다.
00:03:03이제 들어가 보면, VS Code와 매우 비슷해 보이지만
00:03:04측면에 작고 귀여운 밥 채팅 패널이 있다는 점이 다릅니다.
00:03:09여기를 보시면 아까 말씀드린 모드 중 하나를 선택할 수 있습니다.
00:03:12새 프로젝트를 기획하는 게 아니니까 바로 'Code 모드'로 설정하고
00:03:17밥에게 코딩을 시작하라고 요청하겠습니다.
00:03:22프롬프트에는 밥을 파이썬 개발자로 지정하고,
00:03:24오래된 COBOL ATM 스택을 현대화해서 보기 좋은 UI를 갖춘 스트림릿(Streamlit) 기반 웹 앱으로
00:03:28변환해 달라고 요청했습니다.
00:03:34코드를 작성하기 전에 밥은 매우 상세한 자동 승인 모델을 보여줍니다.
00:03:37이 기능은 정말 좋은데, 에이전트가 승인 없이 무엇을 할 수 있는지
00:03:43정확히 지정할 수 있기 때문입니다.
00:03:47사실 우리는 대부분 그냥 계속 자동 승인을 누르곤 하지만,
00:03:49여기서는 명확한 샌드박스를 정의해서 선택적으로 허용할 수 있습니다.
00:03:53이번 데모에서는 리포지토리의 파일을 읽고 쓰는 것을 허용하고
00:03:58알아서 하게 두겠습니다.
00:04:03밥이 작업을 완료하는 데 약 3분이 걸렸습니다. 이제 앱을 실행해서
00:04:04실제로 어떻게 작동하는지 보겠습니다.
00:04:08보시다시피 깔끔한 다크 테마 로그인 페이지가 먼저 나옵니다.
00:04:10하드코딩된 데모 자격 증명으로 로그인해서 테스트해 보겠습니다.
00:04:13대시보드도 꽤 괜찮아 보이지만, 팝업 텍스트가 너무 밝네요.
00:04:18디자인 감각은 약간 부족할지 몰라도 모든 기능은 정상적으로 작동합니다.
00:04:22전반적으로 성공적으로 작업을 완료하고 COBOL 스택을 현대화해 냈습니다.
00:04:27이제 'Review(검토)' 기능을 사용해 보고 싶습니다.
00:04:33밥이 강제로 코드베이스 전체를 감사하게 해서 잠재적인 보안 문제를 찾게 할 겁니다.
00:04:35실행하면 새로운 'Bob Findings(밥 결과)' 패널이 나타나고
00:04:42각 이슈를 더 자세히 살펴볼 수 있습니다.
00:04:46이슈 중 하나를 클릭하면 편리한 전구 버튼이 보입니다.
00:04:49클릭하면 밥이 자동으로 해당 이슈를 스스로 수정하려고 시도합니다.
00:04:54수정 후에는 해당 이슈에 대한 전용 유닛 테스트를 추가할지까지 물어봅니다.
00:04:55네, 추가해 보겠습니다.
00:05:00이제 밥이 추가 테스트를 작성하고 실행하여
00:05:05이슈가 확실히 해결되었는지 다시 한번 확인합니다.
00:05:08여기 밥이 만든 변경 사항의 diff 로그도 볼 수 있습니다.
00:05:10다른 이슈도 확인해 보죠. 흥미롭군요.
00:05:15잠재적인 경쟁 상태(Race condition) 문제를 감지했습니다.
00:05:17전구 버튼을 눌러 수정해 보겠습니다.
00:05:21와, 수정된 코드를 보니 SQLite에서 적절한 잠금을 위해 'begin immediate' 명령어를
00:05:22딱 한 줄 추가하는 방식이네요. 꽤 괜찮습니다.
00:05:23다시 한번 수정하게 둔 뒤 제대로 해결되었는지 확인할 테스트를 추가하겠습니다.
00:05:26마지막으로 확인하고 싶은 게 있습니다.
00:05:29파이썬 변경 사항이 적용되지 않은 원래 리포지토리의 복사본을 엽니다.
00:05:30원본 COBOL 구현에서 Review 명령을 실행하여
00:05:35잠재적인 문제가 있는지 확인해 보겠습니다.
00:05:37보세요, 8개의 이슈를 찾아냈습니다.
00:05:38COBOL 같은 아주 오래된 언어에서도 치명적인 버그를 정확히 식별해 냅니다.
00:05:43무슨 내용인지 정확히는 모르겠지만,
00:05:46이슈 하나를 수정해 보겠습니다.
00:05:47수정 후 밥이 또 테스트를 추가할지 묻는군요.
00:05:52예를 누르겠습니다. 어? 이것도 흥미롭네요.
00:05:57테스트를 추가하지 않았습니다. 메인프레임 특유의 테스트 도구나
00:05:59수동 테스트에 의존하는 전형적인 레거시 환경이기 때문이죠.
00:06:00와.
00:06:02당시에는 자동화된 테스트조차 없던 아주 고대의 스택이었나 봅니다.
00:06:08아마 COBOL용 테스트 프레임워크 자체가 거의 없었을 겁니다.
00:06:10상당히 흥미로운 결과네요.
00:06:12어쨌든, 이것이 밥의 핵심입니다.
00:06:19조금 편파적일 수도 있지만, 저는 개인적으로 에이전트가 무슨 짓을 하는지 이해하기 힘든 CLI보다는
00:06:20IDE 환경을 사용하는 게 훨씬 좋습니다.
00:06:21밥처럼 승인이나 검토 결과를 위한 별도의 패널과 UI 컨트롤이 있다는 점을 정말 높게 평가합니다.
00:06:23코드베이스 내에서 훨씬 구조적으로 작업할 수 있고, 작업을 분할하며
00:06:28실제로 무슨 일이 일어나고 있는지 전체적으로 파악하기가 쉽거든요.
00:06:33직접 체험해 보고 싶으시다면 40개의 '밥 코인'이 포함된 무료 체험판을 제공하고 있습니다.
00:06:34참고로 방금 수행한 테스트는 약 4개의 밥 코인이 소요되었고,
00:06:39밥 코인 1개는 미화 50센트 정도의 가치입니다.
00:06:40밥에 대해 어떻게 생각하시나요?
00:06:45사용해 보셨나요?
00:06:47앞으로 사용하실 계획인가요?
00:06:49아래 댓글창에 알려주세요.
00:06:51이런 기술적인 분석이 도움이 되셨다면,
00:06:57영상 아래의 '좋아요' 버튼을 눌러서 알려주세요.
00:07:00채널 구독도 잊지 마시고요.
00:07:06Betterstack의 앤드리스였습니다. 다음 영상에서 뵙겠습니다.
00:07:09코드베이스 내에서 훨씬 구조적으로 작업할 수 있고,
00:07:15작업을 분할하며 실제로 무슨 일이 일어나고 있는지 전체적으로 파악하기가 쉽거든요.
00:07:19직접 체험해 보고 싶으시다면 40개의 밥 코인이 포함된 무료 체험판을
00:07:24제공하고 있습니다.
00:07:25참고로 방금 수행한 테스트는 약 4개의 밥 코인이 소요되었고,
00:07:30밥 코인 1개는 미화 50센트 정도의 가치입니다.
00:07:33밥에 대해 어떻게 생각하시나요?
00:07:34사용해 보셨나요?
00:07:35앞으로 사용하실 계획인가요?
00:07:36아래 댓글창에 알려주세요.
00:07:38여러분, 이런 기술적인 분석이 도움이 되셨다면,
00:07:42영상 아래의 좋아요 버튼을 눌러서 알려주세요.
00:07:44채널 구독도 잊지 마시고요.
00:07:47Betterstack의 앤드리스였습니다. 다음 영상에서 뵙겠습니다.