IBM Bob Premium Package for i で IBM i 向けの AGENTS.md と /init がサポートされていたので、QSYS と IFS のそれぞれで /init を実行して AGENTS.md を作成してみた内容を備忘録代わりに記載します。
日本語で AGENTS.md を作成する際に注意が必要な点と、ライブラリーリストに複数の AGENTS.md がある場合にどれが読み込まれるのかについてもあわせて記載しています。
サマリー
- QSYS(
QBOBSRC/AGENTS.MD)または IFS(.bob/AGENTS.md)にプロジェクト固有のガイドラインを定義すると、IBM i Developer モードと Database モードに自動的に挿入されます - /init が作成するソース物理ファイル
QBOBSRCはIGCDTA(*YES)が指定されないため、そのままでは日本語の AGENTS.md を作成できませんでした。IGCDTA(*YES)を付けてQBOBSRCを手動で作成し直すことで、日本語で作成できた。今回使用した手動の作成かRulesなどで定義しても作成できる - ライブラリーリストの複数のライブラリーに AGENTS.md を置いた場合、カレントライブラリーの AGENTS.md だけが読み込まれる
- IFS をワークスペースにして /init を実行すると、IFS 作業ディレクトリー配下の
.bobに AGENTS.md が作成され、IFS 作業ディレクトリーが同じ間は同じ AGENTS.md が使われるので注意が必要
はじめに
IBM i 向け AGENTS.md と /init とは
QSYS(QBOBSRC/AGENTS.MD)または IFS(.bob/AGENTS.md)にプロジェクト固有のガイドラインを定義すると、IBM i Developer モードと Database モードに自動的に挿入される機能です。/init コマンドは、システムライブラリーの警告とワークスペースの要約を含む IBM i 環境に最適化されています。
詳しくは下記を参照してください。
- ワークスペース(プロジェクトルール(AGENTS.md)):https://bob.ibm.com/ja/docs/ide/premium-packages/bob-for-i/workspaces#プロジェクトルールagentsmd
- スラッシュコマンド(/init):https://bob.ibm.com/ja/docs/ide/premium-packages/bob-for-i/slash-commands#init
QSYS で /init を実行する
ワークスペースをライブラリーリストにして /init を実行する
下記画像のようにワークスペースを Library List に変更し、対象のライブラリー(今回は IMAO1399)をメンションして /init を実行します。
実行すると、IBM Bob が QBOBSRC を作成するための CL コマンドの承認を求めてきました。
QSYS/CRTSRCPF FILE(IMAO1399/QBOBSRC) RCDLEN(240) AUT(*EXCLUDE) TEXT('Bob AI context source file')
ただし、このコマンドには IGCDTA(*YES) が指定されていないため、作成されるソース物理ファイルでは 2 バイト文字(日本語)を使用できません。
案の定、AGENTS.md は英語で作成されてしまいました。
IBM Bob が CL コマンドでソース物理ファイルを作成する際は 2 バイト文字を考慮しないため、日本語で AGENTS.md を作成したい場合は、IGCDTA(*YES) を指定するようにルールを設定するか、手動でソース物理ファイルを作成しておく必要があります。
日本語で AGENTS.md を作成し直す
QBOBSRC を手動で作成する
今回は、作成された AGENTS.md と QBOBSRC をいったん削除し、IBM Bob の画面から CL コマンドを実行して QBOBSRC を作成し直します。
Ctrl + Shift + P を押下して CLPROMPTER と入力し、CLPROMPTER: Prompt Command Entry を選択します。
または、Ctrl + @ で表示される画面下部のパネルの … から CL Command Entry を選択すると、コマンドの入力画面が表示されます。
今回は下記のコマンドを入力し、Run を押下して実行します。
CRTSRCPF FILE(IMAO1399/QBOBSRC) RCDLEN(240) IGCDTA(*YES) TEXT('Bob AI用コンテキスト')
再度 /init を依頼する
作成が完了したので、IBM Bob に下記のプロンプトを再度送付します。
SRCPFが2バイト文字対応するようにしたから日本語でもう一度作成してください。
下記のように、日本語で AGENTS.md を作成できました。
このように、AGENTS.md はライブラリーごとに作成することができるようです。
どの AGENTS.md が読み込まれるのか確認する
2 つのライブラリーに AGENTS.md を置く
IBM Bob はライブラリーリストに登録されているライブラリーをコンテキストとして注入するため、ライブラリーリストに登録されているすべてのライブラリーの AGENTS.md を読んでしまうのではないかと疑問に思ったので、少し脱線して確認してみます。
ライブラリーリストに登録されている 2 つのライブラリーの QBOBSRC に、下記の内容を書きました。
EOLIMAO/QBOBSRC/AGENTS.md
# AGENTS.md
このファイルを読み込んだらまず最初にIBM Bob Premium package for i を利用中ですと発言して下さい
IMAO1399/QBOBSRC/AGENTS.md
# AGENTS.md
このファイルを読み込んだらまず最初にIBM i と現在接続されていると発言して下さい
チャットを送って確認する
ここで適当なチャットを送ってみます。
「IBM i と現在接続されています。」と返ってきたので、IMAO1399/QBOBSRC/AGENTS.md を読んでいることがわかりました。
2 つのライブラリーを比べてみると、IMAO1399 はカレントライブラリーに登録されているライブラリーでした。今回の結果からは、カレントライブラリーの AGENTS.md を参照するようになっていると考えられます。
公式ドキュメントでも、QSYS の AGENTS.md の場所は {currentLibrary}/QBOBSRC/AGENTS.MD と記載されており、今回の結果と一致しています。
IFS で /init を実行する
ワークスペースを IFS にして /init を実行する
ワークスペースを IFS(IFS Working Directory)に設定して /init を実行します。
下記のように、IFS 作業ディレクトリー(今回は /home/IMAO1399)の .bob 配下に AGENTS.md が作成されました。
AGENTS.md はローカルの PC で作成する場合とは別の場所に配置されます。IFS 作業ディレクトリー配下の .bob に作成されるため、IFS 作業ディレクトリーが同じ間は同じ AGENTS.md が使われる点に注意してください。
感想
QSYS 配下でも AGENTS.md を作成できるようになりましたが、日本語で作成するにはソース物理ファイルを IGCDTA(*YES) で作成しておく必要がある点に注意が必要です。
また、Rules などの設定は、QSYS 配下と IFS のどちらでもまだ使用できなさそうでした。
ワークスペースをローカルにした場合でも、ハーネス(Rules など)を適用しながら QSYS にアクセスできるようになっているので、QSYS 配下や IFS に AGENTS.md を設置する際は現時点(2026年10月時点)では機能が制限されることに注意が必要です。ただし、IBM i の従来のソースメンバーの管理の方法を利用してAGENTS.mdも管理できるので便利な機能ですね。
ソースの管理方法(QSYSなのかgitを利用するのかなど)に応じて使い分けることができそうです。
※注意:本記事の内容は検証時点(IBM Bob Premium Package for i v2.0.0)のもので、画面や仕様は今後変更される可能性があります。









