|
AIアプリケーション開発における共通の課題は、ヒント管理に対する統一されたアプローチの欠如です。各チームが独自のヒント構築・保存方法を採用していることが多く、これはリソースの浪費につながるだけでなく、チーム間の知識共有やコラボレーションの妨げにもなります。この問題に対処するため、Microsoftが支援するオープンソースプロジェクト「Prompty」が開発されました。Promptyは、大規模言語モデル(LLM)ヒントの構築と管理を簡素化・標準化するために設計されたVisual Studio Code拡張機能です。 Prompty: モデルに依存しない LLM を実装する新しい方法 人工知能の開発と応用においては、特定のモデルに依存しない大規模言語モデル(LLM)の作業方法が緊急に必要とされています。この方法により、開発ツール内で様々なLLMを容易に試用でき、作業環境を変更することなく柔軟に活用できるようになります。これはまさに、Microsoftが支援するProject Promptyが目指す目標です。 Visual Studio Code拡張機能であるPromptyは、LLMやその他の生成AIツールに関連する多くの課題に効果的に対処します。Promptyを使用すると、開発者は使い慣れたコーディング環境内でLLMヒントを直接管理およびテストできるため、開発効率と柔軟性が大幅に向上します。 PromptyプロジェクトはGitHubでオープンソースとして公開されており、コミュニティからの貢献とフィードバックを歓迎しています。コードの投稿や開発チームへの提案など、Promptyは皆様のご参加をお待ちしています。すぐにコーディングを始めたい場合は、Visual Studio Code MarketplaceでPrompty拡張機能を簡単に見つけてインストールできます。この拡張機能は、ファイルシステムやコードエディターと緊密に統合されます。 Promptyの設計理念は、直感性と使いやすさです。YAMLなどのよく知られた設定言語に着想を得た、分かりやすいフォーマットを採用しています。生成AIはヒントを通して設定され、モデルが答えを探す際に探索すべき意味空間を定義します。 Promptyは、本質的には生成AIとのインタラクションを記述するためのドメイン固有言語です。この言語はVisual Studio Code拡張機能に組み込まれており、書式設定、エラーのハイライト、コード補完といった言語サーバーの機能を最大限に活用できます。現在、PromptyはPythonとC#の出力をサポートしており、将来のバージョンではJavaScriptとTypeScriptのサポートも追加される予定です。 Build 2024カンファレンスのコンテンツを詳しくご覧になっていない方は、AI開発プラットフォームの一部としてPromptyを活用することに関する興味深い議論を見逃していたかもしれません。PromptyはLLMヒントの管理と利用を簡素化するだけでなく、生成型AIアプリケーションをより効率的に構築・テストするための強力なツールを開発者に提供します。 Promptyを使ったビルドとテストのヒント Promptyは、Visual Studio Code環境内で大規模言語モデル(LLM)のヒントを簡単に構築・テストできる、直感的で強力なツールを開発者に提供します。以下は、Promptyを使用してヒントを構築・テストする詳細な手順です。
Promptを使用することで、開発者は基盤となる複雑さや設定の問題を気にすることなく、高品質なLLMヒントの構築に集中できます。これにより、生成AIとのやり取りが大幅に簡素化され、AIアプリケーションの開発サイクルが加速されます。 PromptyをLMオーケストレーターと組み合わせて使用する Promptyを使用してLLMキューを構築・テストした後、開発者はこれらのキューアセットデータを様々なLLMオーケストレーターと組み合わせることで、より強力で柔軟なAIアプリケーションを作成できます。これには、Azure AI Studioのキューストリームや、スタンドアロンAI駆動型エージェントを構築するためのセマンティックカーネルなどのツールが含まれます。 このアプローチにより、開発者はプロンプトをRAG(Retrieval Enhancement Generation)駆動型アプリケーションの基盤として活用できます。つまり、基盤となるデータを追加し、プロンプトを使用して外部データソースから自然言語インターフェースを生成することで、誤った出力のリスクを効果的に低減できます。 LLMオーケストレーターと併用することで、Promptによって生成されたプロンプト記述を用いてLLMとのインタラクションを構築し、非同期操作にカプセル化することができます。これにより、開発者は、セマンティックカーネルなどのツールによって処理の大部分が処理されるAIアプリケーションを作成できます。プロンプト定義をアプリケーションコードから分離することで、開発者は.promptアセットファイルを使用してアプリケーション外でLLMインタラクションを更新でき、柔軟性と保守性が向上します。 アプリケーションにヒントアセットを含めることも非常に簡単です。開発者は適切なオーケストレーターを選択するだけで、ヒントをアプリケーションに統合するためのコードスニペットが自動生成されます。現在サポートされているオーケストレーターの数は限られていますが、Promptyはオープンソースプロジェクトであるため、開発者は他のアプリケーション開発ツールチェーンをサポートするために追加のコードジェネレーターを提出することができます。 Promptyは現在、主にクラウドホスト型のLLMチップの構築に注力していることは注目に値します。しかし、テクノロジーの進化に伴い、私たちは大規模なモデルから、MicrosoftのPhi Silicaのような、個人用およびエッジハードウェア、さらにはモバイルフォン上のニューラルプロセッシングユニットで動作するように設計された、より小規模で集中化されたツールへと移行しています。 エッジAIアプリケーションの開発を目指す開発者にとって、Promptのようなツールはツールチェーンに不可欠な要素となるはずです。これらのツールは、ネイティブエンドポイントと連携して、汎用SDK用のAPI呼び出しを生成する必要があります。今後、MicrosoftはPromptの機能を拡張し、Windows App SDKのCopilot Runtimeの一部として提供することを約束しているPhi Silicaなどのツールをサポートするようになると予想されます。これにより、.NETおよびC++開発者はネイティブおよびクラウドベースのプロンプトを管理するために必要なツールを利用でき、AI技術の開発と応用をさらに促進することができます。 AIツールチェーンの開発:Promptの役割と連携の利点 人工知能(AI)アプリケーションの構築には、堅牢なツールチェーンが不可欠です。このようなツールチェーンは、多様なスキルを持つ人材が効率的に連携することを可能にし、AIアプリケーションの開発プロセスを加速させます。Promptyは、このツールチェーンの主要コンポーネントとして、プロンプティングエンジニアとアプリケーション開発者の間に橋渡しを行い、より協調的な作業を可能にします。 Promptのメリットは、エンジニアが一貫性のあるAIアプリケーションを開発するために必要なヒントを構築・管理できるよう促す機能と、アプリケーション開発者がコード内で使用できる形でヒントを提供する機能にあります。このアプローチにより、ヒントの構築と管理がより直感的かつ効率的になり、AIアプリケーション開発の複雑さが大幅に軽減されます。 さらに、強力なコードエディタであるVisual Studio Codeは、数多くの拡張機能をサポートしており、様々なツールを統合されたツールチェーンに組み込むことができます。単一のAI開発環境を使用する場合と比較して、このアプローチはより柔軟で拡張性に優れています。開発者は、プロジェクトの具体的なニーズに基づいて必要な拡張機能を選択し、統合することで、要件に最適な開発環境を構築できます。 AIツールチェーンでは、様々なツールがそれぞれ異なる役割を果たします。例えば、Windows AI Toolkitはモデルのチューニングに適しています。一方、Promptはプロンプトの構築と管理に重点を置いているため、開発者はAIの技術的な詳細をあまり気にすることなく、アプリケーションロジックの実装に集中できます。 Promptyは、プロンプトエンジニアとアプリケーション開発者のコラボレーションも促進します。プロンプトを記録してテストすることで、アプリケーションとプロンプトを並行して構築できます。この共同作業は、開発効率を向上させるだけでなく、AIアプリケーションの一貫性と品質を確保します。 まとめると、PromptはAIツールチェーンにおいて重要な役割を果たします。Visual Studio Codeなどのツールとの緊密な統合により、開発者に強力で柔軟な開発環境を提供し、高品質なAIアプリケーションをより効率的に構築できます。同時に、Promptは異なるスキルセットを持つ人々間のコラボレーションを促進し、AIアプリケーション開発に新たな活力をもたらします。 編集者: |