大規模言語モデル(LLM)を一般的なプログラミング言語と統合するSDKであるSemantic Kernelが、Javaで利用可能になった。マイクロソフト社は最近のブログ記事で、Javaライブラリの登場を発表した。マイクロソフト社は今年初め、Semantic Kernelを初めてオープンソース化した。マイクロソフト社はSemantic Kernelを、AI LLMの統合を可能にする軽量SDKと呼んでいる。Semantic KernelSDKはJava以外に、C#とPythonプログラミング言語もサポートしている。
2023年7月、マイクロソフト社はSemantic Kernel Toolsのアップデートも発表した。Visual Studio Codeの拡張機能により、開発者は異なるAIツールのパフォーマンスを測定可能になり、APIは異なるプロバイダー間の切り替えをサポートする。さらに、Azure CognitiveSearchとの統合により、Semantic Kernelにもベクトル検索機能が追加される。しかし現時点では、Java開発者はこの機能を利用できない。
一方、言語としてのJava自体も、統合と計算のためのより良いネイティブサポートに向けて変化を遂げつつある。開発者は、既存のLLMを利用する必要性をますます認識するようになっている。これは、Javaアプリケーションが生成AIとの統合など、最新の開発手法を全面的に採用し、その恩恵を受けるために不可欠なステップである。このような開発アプローチは、アプリケーション設計や機能性におけるユーザーエクスペリエンスや柔軟性を大幅に向上させる可能性を秘めている。
影響力のある国際組織の世界経済フォーラムは、ハイテク産業におけるプロンプトエンジニアリングの重要性の高まりを認識している。その重要性を強調し、プロンプトエンジニアリングを新興職種トップ3に挙げている。プロンプトエンジニアリングは、幅広いユースケースでLLMを活用できるようにする手法で、アプリケーションの開発方法を再構築し、複数の垂直ユースケースでLLMを使用できるようになる。これは、多くの基幹業務システムでJavaが広く使用されていることから、Javaを扱う開発者にとって特に有益だ。しかし、プロンプトエンジニアにとっての課題は、常に問題設定あるいは適切な質問、そして複数のプロンプトを扱うことだ。
Semantic Kernel SDKは、この課題に対する解決策を提案する。開発者は、複数のプロンプトをスキルとして使用し、それらのプロンプトを連鎖させ、プロンプト間で共有されるコンテキストを定義できる。開発者にとっては、プロンプトパイプラインと独断的な設計パターンの管理とみなすこともできる。マイクロソフト社のプリンシパルプロダクトマネージャーであるBruno Borges氏は、自身のブログ記事でいくつかのコードスニペットを提供している。これらの例をより深く掘り下げ、実践的な経験を積むために、開発者はSemantic KernelのGitHubリポジトリを探索し、特にexperimental-javaブランチを利用することが推奨される。
この最近の進歩は、一般的なプログラミング言語におけるAIの統合が進化し続けていることを強調している。LLMがより洗練され、その用途がより多様になるにつれ、開発者がその潜在能力を効果的かつ効率的に活用できるようにするために、Semantic KernelSDKのようなツールの重要性が増していくだろう。