はじめに
ここ最近、AI を活用した開発支援が急速に広がっています。
たとえば ChatGPT は、会議議事録の要約からコード生成まで、個人利用の場面でも広く使われるようになりました。
チャットで質問すれば SQL を書いてくれたり、エラーの原因を解説してくれたり、そんな「AI によるコーディング支援」は、もはや特別なものではなく、開発者にとって身近な存在になりつつあります。
そして今、その波は IBM i の開発現場にも到来しています。
本記事では、VS Code の Code for IBM i 拡張機能と GitHub Copilot の連携によって実現できる AI 活用について紹介します。
概要
GitHub Copilot は、AI によるコーディング支援ツールで、SaaS 型として提供されています。
IBM i の環境では、「GitHub Copilot」拡張機能と「Code for IBM i」拡張機能と組み合わせることで、RPG・CL・SQL といった IBM i 関連のコード作成や説明を AI がサポートしてくれます。
特徴
GitHub Copilot の特徴として、まず VS Code 上で直接利用できる点があります。エディタを離れることなく、その場で作業を進められるのは大きなメリットです。
さらに、IBM i に接続済みの環境では Code for IBM i 拡張機能と組み合わせることで、チャット画面から自然言語で指示を出すだけで対話形式の操作が可能になります。
「Continue」という拡張機能を入れて、他の LLM を使うことも可能ですが、Continue は LLM をローカルに持つため比較的重いです。GitHub Copilot は LLM が SaaS で提供されている点が大きな違いです。
ユースケース
- SQL クエリ生成
自然言語で指令を出すと、Copilot がスキーマを参照してSQL を自動生成します。 - SQL クエリ説明
既存の SQL を読み取り、日本語で「このクエリはこういう意味です」と解説してくれます。初学者や他人のコード理解に便利です。 - SQL 最適化
効率の悪い SQL をビジュアル Explain で確認し、その結果をもとに Copilot に相談することで、インデックス活用や書き換え提案といったアドバイスが得られます。 - エラー解析
SQL 実行時やコンパイル時のエラーメッセージを入力すると、原因と修正方法を分かりやすく提示してくれます。 - RPG / CL コードの生成・説明
SQL だけでなく、RPG や CL コードについても生成や解説が可能です。
利用手順
- VS Code の拡張機能マーケットから「GitHub Copilot」をインストール

- GitHub アカウントでサインイン(GitHubのアカウントが必要)
- IBM i の Db2 for i を利用する場合、チャット画面で最初に @db2i と入力
→ Copilot が Db2 for i と連携し、SQL の生成や解析が可能になります。

使用例1
FUCENLIBのJUMEIP01というテーブルを開きます。
チャットに「FUCENLIB.JUMEIP01からデータを取得するSQL文をいくつか作成してください」を投げます。
いくつかのサンプル SQL が提示されました。

さらに、「JDTOKBが02050のデータをください。」と依頼すると、Copilot が SELECT 文を生成してくれました。
そのSELECT文をコピーして、実行します。
SELECT *
FROM FUCENLIB.JUMEIP01
WHERE JDTOKB = '02050';
利用例2
データベース操作だけでなく、RPGLE プログラムの解説や生成も Copilot で行えます。
VS Code の右側にある サーバーボタンをクリックすると、IBM i のライブラリーやソースファイル、IFS を参照できます。
ここで DEMO 用のソースを一つ選び、BCH110 というプログラムを開きます。
Copilot は「このファイルを開いている」と認識しているので、チャットで「このプログラムを解説してください」と送信します。
すると Copilot がコード全体を分析し、各仕様の説明や このプログラムの目的をまとめて返してくれます。
さらに「改善の提案」まで提示してくれるのが便利なポイントです。
利用例3
簡単な例として RPGLE プログラム ADD10 を生成してみます。
こちらも Copilot に「PGM の説明」を添えて依頼すると、新規プログラムのソースコードを自動で作ってくれます。
たとえば、
「RPGILEプログラム「ADD10」を作成してください。RPGILEプログラム「ADD10」は、入力された区分が 'S' の場合に限り、指定された数値に10を加えた結果を文字列で返し、画面などに表示します。区分が 'S' 以外であれば、「区分NG」というメッセージを表示します。演算処理は sub というサブプロシージャで行われています。」と送りますと、下記のように、ソースコードとそのコードの解説を返してくれます。
その他
もし Copilot にこのソースコードを読み込ませたくない場合は、
チャット欄に表示されるファイル名の横にある「目のアイコン」をクリックして、非表示にできます。
おわりに
生成されるコードや解説は、必ずしもすべて正しいとは限りません。
ただし、VS Code 上で簡単に GitHub Copilot を試すことができます。
若手エンジニアにとっては、最初の一歩の学びとして役立つきっかけにもなるでしょう。ぜひ「小さな試み」から始めてみて、IBM i 開発における AI 活用を体験してみてください。