2026年02月26日
【てくさぽBLOG】IBM BobでRPG解析!複雑なロジックを一瞬で整理し、実務の即戦力に
更新日:2026-02-26
公開日:2025-12-24
[2026年2月26日追記]IBM Bob の提供開始日(GA)が発表されました。
2026年3月24日
また、Early Access 版の新規受付は終了となりました。
* * * * * *
こんにちは。てくさぽBLOGメンバー村上です。
今年の10月にIBM Tech Xchange 2025 Orlandoにて電撃発表された話題のIBM Bob はご存じですか?
今回は、IBM Bob をTech Preview版で検証している状況をタイムリーにお伝えいたします!
目次
IBM Bobってどんな製品?
Explain機能を試してみた
Explain機能の他社製品との比較
さいごに
お問い合わせ
IBM Bob ってどんな製品?
IBM Bob は、2025年10月の IBM TechXchange 2025 Orlando で発表された AIエージェント型のIDE(統合開発環境)です。
単なるAIアシスタント開発を超え、ソフトウェア開発ライフサイクル全体を自律的に動かし、生産性と品質を大幅に向上させることができる製品です。
IBM Bobが得意なこと
ソフトウェア開発とモダナイゼーションを変革
• 複数のモード (プラン、コード、質問、アドバンスド) を装備
• アプリケーション設計、コード説明、コード生成、テスト生成、ドキュメント作成
• 開発者の作業に応じて最適なLLMを選択
幅広い言語に対応
• RPG, COBOL, CL, SQL, DDS
• Java, Python, JavaScript, TypeScript, Node.js, bash
など
IBM Bobを利用するメリット
「システムの理解」にかかるコストを戦略的投資へ転換
・開発スピードが劇的に向上
・エンジニアの業務時間の多くを占める「既存コードの解析」という非生産的な時間を、AIによって極小化
・解析に費やしていた膨大な工数を、新しいビジネスモデルの構築や機能拡張へ再配置
プロジェクト内の知識共有(可視化)
・プロジェクトメンバー全員が常に「今、正しく動いている仕様」を共有できる
・新メンバーへの引継ぎが容易で立ち上がりが早くなる
AIによる標準化でガバナンスの聞いた開発体制を実現
・品質のばらつきを抑えエンタープライズレベルのガバナンスを維持し構築を支援
定型的な解析はBobに委ね、エンジニアはより高次元な創造性に知力を注ぐ。
そんな、互いの強みを活かし合える知的な相棒になってくれそうです!
Explain機能を試してみた
検証の背景
今回、IBM i(AS400) で利用する言語、RPGにフォーカスして検証を行いました。
現在、多くの企業で課題となっているのが、IBM i(AS400)上で長年稼働し続けているRPGプログラムの保守・継承です。
IBM i はその堅牢性ゆえに、10年以上前に書かれたコードが一度も改修されずに現役で動き続けているケースも珍しくありません。
しかし、その代償として「詳細設計書が消失している」「担当SEが高齢化し仕様がブラックボックス化してしまいそう」という深刻な問題が浮上しています。
後継者不足も重なり、このままではシステムの維持そのものが危ぶまれる未来がすぐそこまで来ています。
そこで期待されるのが、AIの力による「リバースエンジニアリング」です。人力では途方もない時間と労力がかかる既存コードからの仕様解読をAIが肩代わりし、さらに「現役エンジニアがそのまま実務に使えるレベルの、精度の高い設計書」を書き出すことができれば、属人化の解消へ向けた大きな一歩となります。
IBM Bobには、主に以下の4つの強力な機能が備わっています。
- Explain(説明):プログラムを解析、説明
- Transform(変換):プログラミング言語のバージョンアップ、モダナイズ
- Refactor(リファクタリング):コードの構造を最適化、保守性の向上
- Generate(生成):プログラム・アプリケーションの作成
今回の検証は、上記の背景より「Explain(説明)」機能に主眼を置いています。
IBM Bobが複雑なRPGの構造をどこまで正しく理解し、実務に耐えうる高精度な詳細設計書を再現できるのかを検証しました。
検証内容
検証では、ローカルPCに保管した既存のRPGプログラムを対象に、IBM Bob がどこまで実務に即したアウトプットを出せるかを試しました。
【検証のステップ】
事前準備: RPGのプログラムが保管されているローカルフォルダを参照先として指定
基本操作: Bobのチャット画面にて、解析対象のRPGプログラムを指定し「プログラム詳細設計書」を作成するように日本語(自然言語)で指示
環境拡張: Bob内のメニュー「Extensions」から「Mermaid Chart」のPluginを導入。出力された構成図(Mermaid形式)をより視覚的に確認できる環境を準備。
【検証の結果】
検証を通じて驚かされたのは、Bobの解読の速さと正確さです。
RPG特有の複雑な指標や深いネスト構造であっても、ロジックの骨組みが明瞭に描き出されており、要点が紐解かれるような丁寧さと平易さを兼ね備えたアウトプットとして提示されました。そして、文章による解説に加え、Mermaid図によって視覚的に補完されたフローは非常に分かりやすく、文字だけでは追い切れない処理の全体像を一目で把握することが可能となりました。
Bobで作成したプログラム詳細設計書は、これまで他社のAIツールを試しては『実務で使うにはまだ早い』と限界を感じてきた熟練の技術者さえも、思わず目を見張るほどの解析精度でした。
そして、Bobのチャット画面で指示を出す際の「Enhance Prompt(プロンプト強化)」ボタンは非常に便利でした。
「Enhance Prompt」ボタンは、指示内容をAIが解釈し、より精度の高い回答を引き出すために最適なプロンプトへと補ってくれます。
これにより、AIへの指示出しに慣れていない技術者でも、簡単に質の高い設計書を作成することができそうです。
今後の検証
現在、プログラム設計書作成の次のステップとして、作成したプログラム詳細設計書を利用してコード生成(Generate)やコード改修(Refactor)を行う検証を実施しています。
これにより、コードに直接手を入れなくても、詳細設計書の一部分を人間の言葉で直すだけでコード側に修正が及ぶようにできると考えております。
また、人間が気付かない関連している他のプログラムコードの修正箇所も気付いてくれるかもしれません。
また、Bobのチャット画面で、回答の精度を最大化するために、チャットモード(※)を切り替えた検証も行っており、Bobと対話しながら特定箇所を修正・作成することも試行しています。
※「チャットモード」のおススメ利用シーン(Bob自身に聞いてみました)
- Code: コード作成・修正時
- Plan: 設計・計画立案時
- Ask: 質問・説明が欲しい時
- Advanced: 複雑なコード実装時
Explain機能の他社製品との比較
さて、チーム内では他社製品も交えた横並びの比較検証を進めています。
同じ指示(プロンプト)を出し、コード解説の深さや図解の分かりやすさをプログラム詳細設計書(Explain機能)作成の観点で比較しましたのでご紹介します。
項目
IBM Bob
A社製品
B社製品
解析制度と網羅性
◎ 高度な構造解析と高精度な図解
〇 基本情報の列挙と標準的な図解
〇基本値の抽出がメイン
可読性・理解しやすさ
◎ 豊富な図解量と手順レベルの解説
〇 簡潔な説明(Bobに比べ情報不足)
△ パラメータの羅列に近い
柔軟性・拡張性
◎ 任意フォルダ参照・MCP連携に対応
〇 MCP連携対応
〇 MCP連携対応
総合判定
◎
〇
〇
※入力するプロンプトの内容によって得られる結果が異なる場合があります
今後、Generate機能やTransform機能でも比較検証を続けてみたいと思います。
さいごに
私自身、Bobに出会ってその賢さに驚かされましたが、今では複雑なコードを健気に読み解いてくれるBobが、どこか可愛らしい相棒のようにも感じています。
今回の検証を通じて、あまりに古すぎて誰も手を付けたがらなかったRPGプログラムも、決して攻略不可能なものではないと確信しました。
Bobという頼れる相棒がいれば、眠っていた過去の遺産は必ず未来の資産へと変えられます。
皆様もぜひ、この新しい開発の形を体感してみてください。
Tech Preview版 申し込みURL: https://ibm.biz/Try-Bob
末筆ながら、本年も「てくさぽBLOG」を見てくださりありがとうございました。
新しい年が、皆様にとってさらなる飛躍の年となりますよう心よりお祈り申し上げます。
お問い合わせ
エヌアイシー・パートナーズ株式会社
技術企画本部
E-Mail:nicp_support@NIandC.co.jp
.bigger {
font-size: larger;
}
.highlighter {
background: linear-gradient(transparent 50%, #ffff52 90% 90%, transparent 90%);
}
.anchor{
display: block;
margin-top:-20px;
padding-top:40px;
}
.btn_A{
height:30px;
}
.btn_A a{
display:block;
width:100%;
height:100%;
text-decoration: none;
background:#eb6100;
text-align:center;
border:1px solid #FFFFFF;
color:#FFFFFF;
font-size:16px;
border-radius:50px;
-webkit-border-radius:50px;
-moz-border-radius:50px;
box-shadow:0px 0px 0px 4px #eb6100;
transition: all 0.5s ease;
}
.btn_A a:hover{
background:#f56500;
color:#999999;
margin-left:0px;
margin-top:0px;
box-shadow:0px 0px 0px 4px #f56500;
}
.table {
border-collapse: collapse;
border-spacing: 0;
width: 100%;
}
.td {
padding: 10px;
vertical-align: top;
line-height: 1.5;
}
.tbody tr td:first-child {
font-weight: bold;
width: 20%;
}
.tbody tr td:last-child {
width: 80%;
}
.ul {
margin: 0 !important;
padding: 0 0 0 20px !important;
}
.ol {
margin: 0 !important;
padding: 0 0 0 20px !important;
}
.tr {
height: auto;
}
.table {
margin: 0;
}
*,
*:before,
*:after {
-webkit-box-sizing: inherit;
box-sizing: inherit;
}
.html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
font-size: 62.5%;
}
.btn,
a.btn,
button.btn {
font-size: 1.6rem;
font-weight: 700;
line-height: 1.5;
position: relative;
display: inline-block;
padding: 1rem 4rem;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-transition: all 0.3s;
transition: all 0.3s;
text-align: center;
vertical-align: middle;
text-decoration: none;
letter-spacing: 0.1em;
color: #212529;
border-radius: 0.5rem;
}
a.btn--orange {
color: #fff;
background-color: #eb6100;
border-bottom: 5px solid #b84c00;
}
a.btn--orange:hover {
margin-top: 3px;
color: #fff;
background: #f56500;
border-bottom: 2px solid #b84c00;
}
a.btn--shadow {
-webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
box-shadow: 0 3px 5px rgba(0, 0, 0, .3);
}