AIは開発者だけではなく、社員全員のものである
私は開発者ではありません。最初に言っておきます。これからお話ししようとしていることに関して重要なことだからです。私は、コーディングができる人に提案できそうなアイデアは常に持っていました。しかし今では、AIのおかげで、言葉で説明できることは、AIに行うように依頼することができます。AIは、私が求めているものを作り出すことができます。それこそが、私が生成AIに非常にワクワクしている理由の1つです。
数年前に生成AIブームが始まる前に、ARCAD社は、Discoverと呼ばれる製品で、すでにこの方向に進んでいました。チャットをそれに接続して、それを私たちのメタデータ リポジトリ内に隠れていたものに接続していました。まさにエウレカ モーメント(ひらめきの瞬間)でした。アプリケーション リポジトリについてAIに尋ねて、そこから情報を取り出すことができたのです。
生成AIが登場し、Anthropic社によって開発されたものの1つに、MCP(モデル コンテキスト プロトコル)がありました。これはオープン プロトコルであり、LLMアグノスティック(LLMを選ばない)という素晴らしい方式でした。つまり、Anthropicのショップ、OpenAIのショップ、またはAzure OpenAIのショップである必要はなく、同じ方法で、適切なモデルを使用してそれらと対話することができるということです。AIでは、実に様々な異なるモデルの選択肢があり、モデルによって、得意なことはそれぞれ異なります。ARCAD社は、何百ものAPIを自社のツールにすでに組み込んでいます。AIによって、そうした情報をARCADリポジトリへ接続させる場合でも、自分でツールを選べるということになります。
IBMのBobも同じ機能を持つことになることは承知しています。そして、1つ興味深いことがあります。Bobのプレビュー モデルでは、実際にチャットのエクスポートを行うことができました。そして、どのLLMを使用しているかが示されている行がありました。今はもうありませんが、人々は知っています。彼らは、Anthropic Claudeをリライセンスしています。Perplexityと同様です。それはそれで結構なことです。肝心なのは、LLMアグノスティックであることです。
生成AIは、開発者だけのものではない
最近、ほとんどの人々が生成AIについて考えるときには、コードを書いている、そしてコード アシスタントで前処理されたLLMからのコードをアセンブルしている開発者のことを思い浮かべます。しかし、組織の中には、アプリケーション履歴へのこうしたLLMアクセスを利用することができるユーザーは他にもいます。ビジネス アナリストがそうですし、CTO(最高技術責任者)もそうです。今では経営幹部の誰もが、AIボットに質問して、確定的な結果を得ることができるようになっています(確定的な結果は、私が強い関心を抱いている重要なポイントの1つです)。これは、自分のリアル データに対してAPIおよびMCPを使用しているからです。
ビジネス上の観点から、私はいつもこう言っています。開発者側のことばかり考えるようにはしないでください。たとえそれが、明らかに生成AI向けのキラー アプリケーションであるとしてもです。これを利用しているすべての人のことを考えるようにしてください。
始めたばかりの人に伝えていること
PowerUPなどの折に会う人に話を聞くと、彼らは自らのショップにAIを導入していると言います。私は、それは素晴らしいと彼らに伝えて、そうした方針を取ることに対して拍手を送ります。しかし、私は彼らにこう尋ねます。あなたは、どのようなユース ケースおよび問題を解決しようとしているのですか。すると、彼らは考え込みます。まだそれが分かっていないからです。毎日のニュースを見てAIが至る所にあることを知っているだけなのです。
そこで私はこう言います。研修中の段階のうちに、日常的に行っている業務について考えてみて、次のようなことを自問自答してみてください。これは、いつもはGoogleに尋ねているケースなのか。15行ほどのコードを書くのに、構文を整えることに悪戦苦闘しているのか。このようなプレゼンテーションを作成しようとしているのか。そうしたことを、常に考えるべきです。これを迅速化したり、すぐに事実情報を得たりすることができたとしたら、それはあなたのユース ケースということになります。
私の生成AIのユース ケースを紹介しましょう。私は香辛料のクミンが苦手です。そのため、一部のレシピ向けに、私は良いクミンの代用品を必要としています(豚肉料理でも鶏肉料理でも牛肉料理でも)。そして、ChatGPTやClaudeが調べてくれて、良い代用品を見つけてくれます。時には、間違いもありますが、うまく機能していないときは分かります。しかし、そんなことは思い付きもしなかったというような回答が得られることもあります。ここで重要なのは、 そんなことは思い付きもしなかったということです。
それが何を意味するか考えてみてください。AIトレーニング済みモデルについて考えるとき、あまり十分には理解されていないと思う1つのことは、モデルがトレーニング済みの情報は、ほぼ瞬時に利用可能になるということです。人間の頭脳というのは、AIエンジンのように、そうした膨大な情報を保存したり、それにアクセスしたりすることはできません。AIは知識の巨大な書類棚だと私は思います。
私は、IBM i コネクタ向けにIBM i ソース コードを読み取るためにMCPを自分で作成しました。私は開発者ではありません。でもそうしたかったので、自分で作成しました。私たちのMCPサーバー(現在、開発中です)は、同じことを行うことになりますが、開発者のために開発者によって書かれるので、とても素晴らしいものになりそうです。
AIの回答をそのまま自分の考えにしてはならない
もうひとつ、ビジネスでの生成AIの使用に関して重要なことがあります。生成AIの回答をそのまま自分の考えにしてはなりません。生成AIには自分の考えをまとめる支援をさせます。
私は生成AIモデルの助けを借りながら調査を行っています。あることについて調査を行っていて、関連する参考資料が必要になりました。もちろん、生成AIはそれらの参考資料を見つけてきてくれます。たとえば、私は米国の経済成長率が約3%となりそうだと知っていたのですが、それは間違いでした。実際には経済調査の平均は4%でした。それが、AIリサーチ アシスタントのユース ケースです。AIは、物事を知ることには卓越しています。そして、AIは上手にクロールを行います。
そして、あなたは何かを調べていて、こう考えたとします。これは自分でコーディングしたら5分くらい掛かるだろうか。それなら、AIに解決を頼むような問題ではありません。しかし、何千ものソース コード メンバーに目を通して、何がどこで参照されているのかを見つける必要がある場合は、AIは非常に有益です。近々リリース予定のARCAD MCPサーバーは、そのような作業に大いに役立つはずです。すべてを読み出して、それがどのバージョンで変更されたのか指摘することができます。したがって、たとえば、ここを変更すると、他の15か所も変更することになるということが分かります。「Hey Claude、このフィールドを更新する必要があるのだけど、その場合、参照されている他のすべてのコードにも追加する必要が生じる。これらすべてのコードにその行を追加してほしい」 これで指示は完了です。Enterキーを押すと、処理が始まり、指示した作業が実行されます。あなたは次の作業に移り、大変な作業はAIの相棒が処理してくれます。これは1つのユース ケースです。
セキュリティの問題
生成AIをしばらく触ってみた後で、人々が最終的に尋ねるようになることの1つは、AIに、それらにアクセスさせ、それらを強化させているアプリケーションがどれくらいセキュアであるかということです。
IBMは、Bobの公開前、IBM i 向けコード アシスタントを作成しようとしていたときに、顧客に対して彼らのデータをIBMに送信するように依頼しました。また、トレーニングを行うために説明とともにソース コードをIBMに提供するよう依頼しました。それに応じる企業は非常に少ないでしょう。考えてみてください。たとえば、あなたがバンクオブアメリカ銀行だったとして、住宅ローン金利の計算方法に関するソース コードを提供したとします。そして、チェース銀行が、「住宅ローン金利を計算するより良い方法を見つける必要がある」とLLMに問い合わせたとします。そのモデルは、バンクオブアメリカ銀行のデータおよびアプリケーションでトレーニングされています。つまり、プロプライエタリな業務を行う方法を教えてしまうことになります。
一部のモデルは、サブスクリプションに基づいてトレーニングを許可します。一部ではそれをオフにすることができ、一部ではそれをオンにすることができます。セキュリティに関して言えば、それは、ここARCAD社で私たちが常に重視していることの1つです。
ARCAD社でも、MCPサーバーでこれを導入した方がよいだろうか、セキュリティ上の懸念があるだろうかと実際に検討を行いました。私は、ユーザーに独自のものを書いてもらうよりも、アプリケーションにアクセスする際のセキュリティを私たちが制御するようにした方がよいと考えました。そうすることで、それがセキュアであること、許可ユーザーのみがそれを使用していることを私たちが保証することができるからです。これに対して、開発者は、コードを書いて作業を完了させようとするだけです。セキュリティについて考えるのは、何か起こった後です。「元に戻って、強化を行う必要があります」 すでに先に進んでしまっているので無理です。決して修正されることはありません。
私たちは、それを組み込むことができます。そして、それを監査証跡にすることができます。たとえば、ユーザーXが、このAPIキーを使用して、このMCPツールにアクセスして、あなたのアプリケーションに関するこの情報にアクセスしたということが分かります。それらに実際にセキュリティが備わっていることを監査に示すことができます。これは重要なことです。誰が何にアクセスできるかということは、私たちのツールに組み込んでいるものの1つです。APIキーを入手したら、30日間だけ利用できます。70以上のツールがありますが、そのうち、これら5つを利用できることになります。あなたのジョブで必要なのはそれらだけだからです。そうしたアクセスを制限することは、最初にアクセスを与えるのと同じくらい重要なことです。
ARCAD MCPサーバー
ここまでが、まさにARCAD MCPサーバーの話です。ARCAD社は、3月にテック プレビューとしてこれをリリースしました(リリースされたばかりです)。どのようにしたらこれを機能させることができるか検討し始めたところだからです。次のリリース(26.1)は今月末に提供されます。はるかに多くのセキュリティ機能が組み込まれ、はるかに多くのツールも組み込まれています。
ARCAD MCP Serverは、ARCAD DevOpsスイート全体と連携しますが、他のツール(オーケストレーション向けのDrops、コード品質向けのCode Checker)にも拡張されます。セキュリティの観点から、コード品質についてLLMに尋ねることができるようになります。また、VS Codeでチャット ボットを使用することなく、Claude Desktopから、尋ねることができるようになります。それは、あまり知られていないと思われるもうひとつの側面です。つまり、一般に想定されるような単なる開発者だけのツールではないということです。
非常に多くの人々がAIを採用しています。彼らは独自のものを書こうとしており、使い方を模索しています。そうした情報が提示される仕組みとそのセキュリティを統制しましょう。それが重要なポイントです。
もうひとつ、AIを採用し始めている人にいつも話していることがあります。選んだデータに対して書かれたMCPを使用すると、リアル データが提供されているため、LLMからハルシネーションは除去されます。AIは、でっち上げをする必要がないからです。それが重要です。それは、APIを通じてリアル データに接続されたMCPがもたらす決定的な価値です。LLMは、AとDの間に何が入るか考える必要はありません。BとCが入ることを知っているからです。それをでっち上げる必要はないのです。
コンテキストが鍵になる
このような話を耳にすることがあります。「AIのせいで、コンピューター サイエンス専攻学生やプログラミング技術者は消滅してしまいそうだ」 そんなことはありません。進化しているだけです。そうしたコンピューター サイエンス専攻学生は、これからはプロンプト コンテキスト エンジニアになるでしょうし、そうした役割を、哲学専攻学生や、英語学専攻学生や、歴史学専攻学生が担うこともあるでしょう。適切なコンテキストや適切なプロンプトを言葉にしてAIに示すとすれば、もちろん必要としているものについての説明は多少長くなるため、最初にコンテキスト トークンをいくらか消費することになりますが、バック エンドでの不必要な処理は回避されます。
「ジョンはLAへ旅する必要がある」というようなプロンプトがあるとします。モデルはそれで何を行うことになるでしょうか。次のプロンプトと比べてみてください。「10月15日にLAでカンファレンスがある。このホテルの周辺で行えることを調べたい。香辛料の効いた食事は避けたい」 といったコンテキストを与えると、はるかにより良い結果が得られるようになります。コードの開発、アプリケーションについての質問、およびビジネスについての質問でも同じことです。
今度はビジネス アナリストのプロンプトです。「郵便番号10101から55055までの地域別の販売分布率を調べる必要がある。実際にどのような製品がそれぞれの地域に出荷されているのか、地域によって分布率がどうしてそれほどばらつきがあるのかを知りたい。これらの製品とこれらの郵便番号で分析してほしい」 すると、あなたのデータを読み込んで、実情を把握し、あなたに代わってそれらの計算を行ってくれます。これに対して、「これら2つの郵便番号および出荷されている製品の間の相違を把握したい」というプロンプトの場合はどうでしょうか。「分かりました。それで何を行ったらよいですか。これらの製品だけですか、それともすべての製品ですか。これをどのようにして見つたらよいですか」 そうなるのは、これが「データの消防ホース」(大量のデータが勢いよく流れる状態)となるからです。データを洗練させる必要があります。
結局、LLMが行っているのは、基本的にPythonコードをSQLで書いて、あなたのデータについてそうした情報を照会することだけです。実際にバックエンドで行われているのはそういうことです。Pythonコードを実行して処理が行われているのを確認することができます。コンテキストが鍵になります。プロンプトが鍵になります。そして同じくらい重要なのが、あなたが解決しようとしているユース ケースや問題そのものです。
IBM i の展望
IBM i コミュニティが年を重ねていることは周知の通りです。IBM i プラットフォーム、そのデータベース、およびそれらの上で稼働させているアプリケーションを理解しているのは、1世代か2世代の人々です。そして、今後は、何も知らない非常に多くの人々が入って来ることになります。彼らは、基本原則についての訓練を行う必要があります。基本原則が身に就けば、AIは完全に理にかなうようになり、全体としての価値をプラスにすることができます。
そして、それこそが、ARCAD社が行おうとしていることです。ARCAD社は、セキュリティ認可、制限機能、アプリケーションの可監査性といった基本原則が適切に維持されるようにするべく取り組みを行っています。もちろん、コードを書いて処理させるだけのために生成AIを使用するのもよいでしょう。しかし、そこから出て来たものを信頼できるでしょうか。けれども、生成AIがどのように使用されているかを制御するためのツールを手にすれば、生成AIから得られた結果をもう少しだけ信頼できるようになります。そこが目指すところです。
