IBM i のウンチクを語ろう
~ その97:IBM i についてChatGPTに議論を挑んでみた
皆さん、こんにちは。私自身はセミナー講師を務めたり直接お客様に製品説明を行なったりするなどして、IBM i のメリットや価値を社内外に認知いただくことを主な生業としているのですが、敢えて今回は逆の立場に立ってみようと思います。すなわちIBM i の顧客として生成AIに質問を投げ掛けて、どの程度説得力ある回答が返って来るのかを試してみようというものです。日頃はIBM i のビジネスを守る側にまわることが多いので、たまには攻守交替して憂さを晴らしてやろうと考えたわけではありません、いや、実は半分くらいそう思っています。日常ではあまりしつこく食い下がると嫌われるかも知れないと、思わず自制してしまうこともあるのですが、金を払っているのはこっちですし(有償バージョンを使います)、何をどれだけ言ったところで嫌われることはないだろうと少々相手を舐めています。もし意表を突くような回答が返ってきたら、それはそれで貴重な見つけものとして、今後の情報発信におけるヒントにしようという、前向きな姿勢も持ち合わせているつもりです。
さて今回の議論の相手はChatGPT 4.0です。月額料金20ドルですから日本円にして3,000円と少々を支払うと、自分好みにGPTをカスタマイズする、マイGPTと呼ばれる機能を利用できるようになります。質問を投げ掛ける前に、どのような役割を担い、どのような情報を主に参照しながら、どのように回答すれば良いのか、といった「指示」を登録しておきます。指示に不十分な点があると、ChatGPT君が確認を求めてくるので適宜回答します。何度かのやり取りを経て、ChatGPT君は自分の役割や心掛けを以下のように理解したことが確認できました。これら全てをこなせるとしたら、立派なIBM i のエキスパートだと言えるでしょう。
- IBM i のセールスとして活動する
- IT全般の幅広い知見を持ちながらソリューションを提案する
- 顧客の意見を尊重するが、顧客が間違った方向に進もうとしている場合は、正しい決定を下せるように導く
- 回答は経営層向けにサマリされ説得力がある
- 主要なIBM i 関連のサイトの内容を理解している 具体的にIBMやe-BELLNETなど、私が参照することが多いURLをいくつか指定しました
ついでながら、他の人が作成・公開している「指示」を利用できることをご存知の方もいらっしゃるでしょう。例えばどのようなイメージが欲しいのかを文章で指定すると、それらしい画像を生成してくれる機能がTVで紹介されたこともありました。湖と桜と富士山の絵も生成してくれますし、ついでにヒマワリも加えて欲しいとやると、素直にあり得ない画像を生成してくれるのはご愛嬌といったところでしょうか。よく言われることなのですが、ChatGPT君は豊富な知識を持ちながらも、常識を平然と超越(?)することもあるので注意が必要です。
さてIBM i に関するお悩みとしてありがちな点を、質問として投げ掛けてみましょう。前提とか背景を全く説明せずに、いきなり聞きたいポイントだけを投げかけるという、日常会話にありがちな展開です。
- 現在S814を使っています。置き換えるとしたら、S1014とWindowsサーバーのどちらであるべきですか。
ChatGPT君が示した結論は、S814を使っているのであれば、同じシリーズの最新モデルであるS1014に置き換えることを強く推奨する、というものでした。そしてその理由として、互換性と移行の容易さ、信頼性と可用性の高さ、TCOの低さ、強固なセキュリティを挙げました。逆にWindowsのメリットとして、ユーザー数の多さと技術者確保の容易性、ソフトウェア選択肢の多さ、GUIを標準実装していること、を述べています。そして必要であれば、IBM i とWindowsとを統合した、ハイブリッドな環境を実装するべきであるとしています。
なかなか良い線を行っているな、というのが第一印象です。方針とその理由、そして要件次第ではハイブリッドなシステムを検討するべきという指摘は概ね正しいと思います。惜しいと思うのは、IBM i の既存アプリケーションの記述言語にまで考慮が及べば、もう一歩具体的で説得力が増す回答になった可能性があります。質問文の中でRPGアプリを使っていることを示すと、回答はどう変わるのかを見てみましょう。
- 現在S814上でRPGアプリケーションを使っています。置き換えるとしたら、S1014とWindowsサーバーのどちらであるべきですか。
ChatGPT君の回答は概ね変わりませんが、IBM i上にあるRPGアプリケーションはS1014でもそのまま動作する、という説明が冒頭に加わりました。質問が具体的であれば回答もそれに応じて具体的なものになる、だから質問の仕方は大事、ということなのでしょう。利用しているプログラム言語は何か、と確認を求めてくれても良かったはずですし、RPGであることはまず間違いないだろうと想定し、その旨を明らかにした上で回答する、といったやり方もあったはずです。質問の一枚上を行く回答ができれば完璧ですが、このあたりは限界なのかもしれません。
さてIBM i を継続利用しようとする際に、懸念事項として多くの方が指摘するのが人材不足問題です。脚光を浴びるようになったのは比較的最近ですので、過去の情報蓄積量はあまり多くありません。ChatGPT君はどのように回答を導き出すのでしょうか。
- IBM i を継続利用するにしても、技術者を将来も確保できるのかが不安です。
ChatGPT君は、経験豊富なIBM i 技術者が多数いるけれども概ね高齢化しつつあるため、新しい技術者の育成が課題である、と現状認識を述べます。この点は正しいですね。そして自力で育成する、社外の技術者を頼る、IBM i 関連のコミュニティを活用する、長期的視野に立った人事施策を検討する、といった点を推奨しました。
理屈は間違っていないし、それらしい言葉が並んでいる優等生的回答文という印象ですが、どうも表面的な印象を免れません。「あーそーですか」とその場は流しておいて、あまり議論を深めようという気にならないところですが、コラムのネタとして取り上げている以上は、もう少し食いついてゆかねばなりません。具体的問いには具体的回答が返って来る、という原則(?)を思い出す必要がありそうです。
- 若手技術者はAIとかスマートフォンのような技術に関心を持つことはわかるのですが、現在IBM i で多くのユーザーが利用しているRPG言語に携わろうという人はいるのでしょうか?
ChatGPT君は、最新技術に関心を持つ傾向のある若手技術者にとって、RPGは必ずしも魅力的ではないかもしれません、とまずは質問文の中の現状認識を肯定し、続けてフリーフォームRPG(以下FF RPG)とRDiの採用を推奨しました。FF RPGの特徴として、他の現代的なプログラム言語と構文が近いことを挙げており、この点が若手技術者に受け入れられ易いと指摘しました。ここまではなかなかそつがありません。
もう一つの特徴として、オブジェクト指向の概念が取り入れられていることも挙げたのですが、これは正しくないと思います。そもそもFF RPGは手続き型言語のカテゴリに入りますし、オブジェクト指向は手続き型よりも優れると一概には言い切れないはずです。業務とは手続きの塊なので、特に業務用途においては手続き型言語の方が相性が良い、という指摘を聞いたこともあります。
ChatGPT君はさらに、FF RPGを魅力的にする施策も有効だと続けました。AIやIoTを活かすプロジェクトにおいてFF RPGを利用する、教育プログラムを充実させる、人事施策を改善する、といった点です。このあたりになると、FF RPGを何か別のプログラム言語に置き換えても、文章としてはそのまま成立しそうなので、やはり表面的な印象は免れませんし、そもそも全部同時に取り組むのは無理があります。もう少しメリハリのある回答を求めてみましょう。
- 理屈としてはわかるのですが、ユーザーの立場では全ての施策を実施することは現実的にできません。これらの中で最も優先度を上げて取り組むべきなのはどれですか。
ChatGPT君は、教育とトレーニングを挙げました。そのためには、社内体制を作る、外部のプログラムを活用する、教育機関と提携する、といった施策が必要と主張します。一般論が続くと聞いている方も疲れてしまうのですが、ChatGPT君の方も限界を超えているのでしょうか。これ以上突っ込んでも、堂々巡りになりそうな気がしたので、質問の方向を変えてみます。
- 若手技術者を教育するにしても、IBM i のどのプログラム言語のスキルを身に着けてもらえば良いのですか?
ChatGPT君はRPG、SQL、CLの三つを挙げました。概ね問題はありませんが、RPGについてはFF RPGと言い切って欲しかったところです。多くの既存アプリケーションはRPGで記述されていることを理由として挙げたので、FF RPGだけではなく、どうやらRPGⅢとか初期の(固定フォームの)RPGⅣも含んでいるような言いっぷりです。同時に三種類も学ぶのは大変ですよね。旧来のRPGからFF RPGへの移行ツールを活かすことを想定して欲しかったところです。あとSQLとCLも挙げたのは、ちゃんと考慮しているな、と褒めてあげたい気分です。
せっかくなのでRPGについて掘り下げてもらいましょう。
- RPGにはRPGⅢ、固定フォームのRPGⅣ、フリーフォームRPGといくつかあるのですが、どこから始めるのが良いですか?
さすがにこれは期待通りFF RPGというコメントが返ってきました。いちいちこちらから突っ込む前に、最初からそう答えておいて欲しいですね。では昔のRPGⅢプログラムがあったらどうするのか、と追求してみます。
- 若手がフリーフォームRPGのスキルを身に着けたとして、現在のアプリケーションの多くはRPGⅢで記述されています。彼らがRPGⅢを学ぶまで待たなければならないのでしょうか?
ChatGPT君は待つ必要は無いとしたのですが、FF RPGとRPGⅢとを並行して学べるようなプログラムを用意する、ツールでFF RPGに変換する、ベテランと若手とをペアにして両方のRPGを学ぶようにする、社内の知見を明文化する、といった案を提示しました。またしても一般論です。ツールとは具体的に何か、とさらに突っ込むと、ARCAD社の変換ツールであることが明らかになります。追加質問が来ることがほぼ間違い無いのであれば、最初から気を回してきちんと答えて欲しいものです。・・・とまあ、このような調子で実は延々とChatGPT君とやり取りを続けてしまいました。
さて、これまでのところでChatGPT君の癖が垣間見えたのではないかと思います。知識は豊富かもしれませんが、気働きは無く、聞かれた内容に相応するレベルの回答しか返さない(返せない?)傾向を感じます。質問を投げかける際には、できるだけ具体的であった方が回答も具体的になるようです。
IBM i の人材不足対策に関するやり取りは、十分な情報を得られなかったためか、ChatGPT君の回答は一般論に偏り気味でした。インターネット上にあるIBM i 関連の様々な情報において、例えば「生産性向上をもたらす」といった言葉は入っていても、「人材需要を抑制するので人材不足問題を緩和できる」とまで言及されているのを目にすることはなかなかありません。ChatGPT君は生産性向上策を人材不足問題に関連付けられないので、これらの情報を見過ごしてしまう、ということではないかと推測しています。ただ回答文は一見自信たっぷりなので、読む側が気を付けなければいけません。人間のように「知見がないのであまりよくわからないが」などと、状況次第では自信の度合いを示してくれた方が親切なのですけどね。
最後に一言でまとめると、ChatGPTは概ね役に立つ、ただし「ナントカとハサミは使いよう」であることを忘れずに、といったところでしょうか。
ではまた