GitHub、OpenAI、Microsoft の AI ツールを調べる

完了

開発者向けの AI ツールは、近年ますます普及しています。 GitHub、OpenAI、Microsoft などの企業は、ソフトウェア開発をサポートするさまざまな AI 支援ツールを提供しています。 これらのツールは、人工知能を使用して、アイデアのブレーンストーミングからコード セキュリティの更新に至るまでのあらゆる場面で、コーディングのさまざまな側面を自動化します。 開発者向けの AI ツールを使用すると、生産性を向上させ、人為的ミスが起こりにくくなります。 しかし、利用できるツールが非常に多いため、どのツールが特定のプロジェクトや個人にとって最適であるかを知ることは困難です。

このユニットでは、AI ツールを開発タスクやプロジェクトに合わせて調整するために、次のリソースを検討します。

  • Azure AI サービス。
  • Azure AI Foundry ポータル。
  • AI Builder。
  • Copilot Studio。
  • Semantic Kernel SDK。
  • Visual Studio IntelliCode。
  • ChatGPT。
  • GitHub Copilot。

Azure AI サービス

Azure AI サービスは、開発者が機械学習の専門知識を必要とせずに、AI を利用したアプリケーションを構築できるようにするクラウドベースのサービスのセットです。 これらのサービスは、音声認識、自然言語処理、コンピューター ビジョン、意思決定など、さまざまな AI 機能をカバーしています。 Azure AI サービスは、簡単に使え、既存のアプリケーションと統合できるように設計されています。

Azure Cognitive Services は、テキスト分析、画像認識、言語翻訳などの一般的なタスクに対して事前構築済みの AI モデルを提供する Azure AI サービスのサブセットです。 これらのモデルは、REST API または SDK を使用してアプリケーションに統合できます。

Azure AI サービスは、AI 機能を必要とするものの、カスタム モデルを最初から構築するだけのリソースや専門知識がないプロジェクトに最適です。 これらのサービスは、開発者がアプリケーションに AI 機能を追加するのに役立ちます。 これにより、ユーザー エクスペリエンスが向上します。

Azure AI サービスの対象ユーザーは次のとおりです。

  • カスタム モデルを構築する必要なく、アプリケーションに AI 機能を追加することを求める開発者。
  • AI に特化した専門知識に投資することなく、AI を活用したソリューションを迅速にデプロイする必要がある組織。
  • 音声認識、自然言語処理、コンピューター ビジョンなどの一般的な AI 機能を必要とするプロジェクト。

Azure AI Foundry ポータル

Azure AI Foundry ポータルは Web ベースのプラットフォームであり、開発者が機械学習モデルの構築、トレーニング、デプロイをビジュアル インターフェイスを使用して行うことができます。 開発者がコードを記述せずに AI モデルを作成するのに役立つさまざまなツールとテンプレートが用意されています。 Azure AI Foundry ポータルでは一般的な機械学習フレームワーク (TensorFlow や PyTorch など) がサポートされているため、既存のモデルでの作業が簡単になります。

Azure AI Foundry ポータルには、データ準備、モデル トレーニング、モデル評価の機能も含まれています。 開発者は、ドラッグ アンド ドロップ ツールを使用してデータ パイプラインを作成し、さまざまなアルゴリズムを試し、モデルのパフォーマンスを監視できます。 モデルをトレーニングしたら、Web サービスとしてデプロイすることも、既存のアプリケーションに統合することもできます。

Azure AI Foundry ポータルは、コードを書いたりインフラストラクチャを管理したりする必要なく機械学習モデルでの実験をしたい開発者に最適です。 AI モデルを構築してデプロイするためのユーザーにとってわかりやすいインターフェイスを提供し、幅広い開発者が利用できるようにします。

Azure AI Foundry ポータルの対象は次のとおりです。

  • コードを記述せずに機械学習モデルを試したい開発者。
  • AI モデルを構築、トレーニング、デプロイするためのプラットフォームを必要とするデータ サイエンティスト。
  • 専門的な専門知識を必要とせずに AI 機能を開発者に提供したいと考える組織。
  • 特定のビジネス ニーズに合わせて調整されたカスタム機械学習モデルを必要とするプロジェクト。

AIビルダー

AI Builder は Microsoft Power Platform の機能であり、ユーザーは、深いデータ サイエンスの専門知識を必要とせずに、アプリケーションに AI 機能を追加できます。 予測、フォーム処理、オブジェクト検出、テキスト分類などの一般的なタスクに対して事前構築済みの AI モデルを提供します。 ユーザーは、独自のデータを使用して、特定のビジネス ニーズに合わせて調整されたカスタム AI モデルを作成することもできます。

AI Builder には、次の機能があります。

  • 事前構築済みの AI モデル: 予測、フォーム処理、物体検出、テキスト分類などの一般的なタスクのモデルが含まれています。
  • カスタム モデル: データを使用して、特定のビジネス ニーズに合わせて調整されたカスタム モデルを構築できます。
  • 簡単な統合: Power Apps で構築されたアプリに AI 機能をシームレスに統合し、ユーザー エクスペリエンスと効率を向上させます。

AI Builder は、コードの記述やデータ サイエンスに関する深い専門知識を必要とせずに、アプリケーションに AI 機能を追加したい開発者に最適です。 AI モデルを作成してデプロイするためのユーザー フレンドリなインターフェイスを提供し、幅広いユーザーが利用できるようにします。 ビジネス アナリスト、専業開発者、一般の開発者は、AI Builder を利用して、AI 機能を独自のアプリケーションの強化のために役立てられます。

AI Builder の対象ユーザーは次のとおりです。

  • コードを記述する必要なく、アプリケーションに AI 機能を追加することを求めるユーザー。
  • ビジネス プロセスを自動化するために AI モデルを構築する必要があるビジネス アナリスト。
  • AI モデルを試してアプリケーションに追加することを求める一般の開発者。
  • 予測、フォーム処理、オブジェクト検出などの AI 機能を必要とするプロジェクト。
  • 専門的な専門知識を必要とせずに AI 機能をユーザーに提供したいと考える組織。

コピロット スタジオ

Copilot Studio は、ユーザーが AI を利用したチャットボットを作成および管理できるようにする、コパイロット作成ツールです。 会話フローの設計、チャットボットのトレーニング、パフォーマンスの監視を行うビジュアル インターフェイスを提供します。 Copilot Studio では、自然言語理解 (NLU) と自然言語生成 (NLG) 機能がサポートされており、ユーザーはユーザーのクエリを理解して応答できるチャットボットを構築できます。

コパイロットとは、大規模な言語モデル (LLM) と追加の知識ソースに基づく AI を利用した対話型インターフェイスです。 これは、単純な回答や一般的な質問から、複雑な会話を必要とする問題の解決まで、さまざまな要求を処理できる強力な AI アシスタントです。 コパイロットは、Web サイト、モバイル アプリ、Facebook、Microsoft Teams、または Azure Bot Service でサポートされているチャネルを使い、複数の言語で顧客や従業員と連携します。

データ サイエンティストや開発者を必要とせずに、Copilot Studio で簡単にコパイロットを作成できます。 このプラットフォームには、チャットボットの設計とトレーニングに役立つさまざまなテンプレートとツールが用意されており、簡単に作業を開始できます。 Copilot Studio には、チャットボットのパフォーマンスの監視、ユーザーの操作の分析、時間の経過と共に会話フローを改善するための機能も含まれています。

コパイロットの用途には、次のようなものがあります。

  • 販売の支援とサポートの問題。
  • 店舗の営業時間と情報。
  • 従業員の健康と休暇の特典。
  • 公衆衛生の追跡情報。
  • 企業に関する一般的な従業員の質問。

Copilot Studio は、スタンドアロンの Web アプリとして、および Teams 内の個別のアプリとして使用できます。 この 2 つの機能はほとんど同じです。 ただし、バージョンの選択理由は、Copilot Studio の用途に基づいて異なる場合があります。

Copilot Studio の対象ユーザーは次のとおりです。

  • コードを記述する必要なく、AI を利用したチャットボットを作成および管理することを求めるユーザー。
  • 顧客との対話を自動化するためにチャットボットを構築する必要があるビジネス アナリスト。
  • 専門の専門知識を必要とせずにチャットボットの機能をユーザーに提供したいと考える組織。
  • チャットボットが顧客の問い合わせを処理し、サポートを提供し、ビジネス プロセスを自動化する必要があるプロジェクト。

セマンティック カーネル SDK

開発者は、Semantic Kernel SDK を使用することで、既存のコード プロジェクト内に AI モデルの相互作用を実装できます。

現在の AI モデルでは、ユーザーが指定したプロンプトに基づいてテキスト応答と画像を簡単に生成できます。 この機能は単純なチャット アプリを構築する場合に役立ちますが、ビジネス プロセスを自動化し、ユーザーがより多くのことを達成できるようにする完全に自動化された AI エージェントを構築するには不十分です。 この実現のためには、これらのモデルからの応答を受け取り、それらを使用して既存のコード内の処理に影響を与え、サポートできるフレームワークが必要です。 Semantic Kernel SDK には、これらの種類のプロジェクトを作成するために必要なフレームワークが用意されています。

Semantic Kernel は、AI モデルと対話し、応答を使用して既存のコードを強化できるエージェントを簡単に構築できるオープンソース SDK です。 Semantic Kernel は、高度に拡張可能な SDK として、OpenAI、Azure OpenAI、Hugging Face などのモデルで使用できます。 既存の C#、Python、Java コードをこれらのモデルと組み合わせることで、これまで不可能だった方法でアプリケーションを拡張するエージェントを構築できます。

Semantic Kernel SDK の対象ユーザーは次のとおりです。

  • AI モデルを既存のコード プロジェクトに統合することを求める開発者。
  • ビジネス プロセスを自動化するために AI を利用したエージェントを構築する必要がある組織。
  • AI モデルが既存のコードと対話し、処理に影響を与える必要があるプロジェクト。

Visual Studio IntelliCode

Visual Studio IntelliCode は、AI を利用した推奨事項を提供することでコーディング エクスペリエンスを強化する Visual Studio の拡張機能です。 IntelliCode は、何千ものオープンソース プロジェクトでトレーニングされた機械学習モデルを使用して、コンテキストに適したコード補完を提案します。 複数のプログラミング言語をサポートしており、信頼性が高く保守しやすいコードを開発者が記述するのに役立ちます。

Visual Studio IntelliCode の機能:

  • AI-Powered コード補完: 単純なアルファベット順のリストを超えたインテリジェントな提案を提供し、コーディングパターンとプラクティスを理解します。
  • リファクタリングの支援: コードリファクタリングが有益であり、変更を行う際の支援を提供する可能性がある場合に推奨されます。
  • コード スタイルの推論: コード スタイルの設定を学習し、コードの入力時に適用し、プロジェクト全体で一貫したコード スタイルを確保します。

Visual Studio IntelliCode の対象ユーザーは次のとおりです。

  • コーディングの生産性と効率の向上を求める開発者。
  • 一貫したコーディングの実践とコード品質を維持することを求めるチーム。
  • コード補完、リファクタリング支援、およびコード スタイルの推論を必要とするプロジェクト。

ChatGPT

ChatGPT は、OpenAI によって開発された対話型 AI モデルであり、さまざまなトピックに関して人間のような対話に参加できます。 ユーザーの質問に対して一貫性がありコンテキストに関連する応答を生成するように設計されています。 ChatGPT は、チャットボット、仮想アシスタント、その他の会話アプリケーションで使用して、魅力的で有益な対話を提供できます。

ChatGPT を使用すると、コード スニペットの生成、プログラミングの概念の説明、タスクのデバッグの支援を行うことができます。 ただし、ChatGPT はプログラミング タスク用に設計されておらず、常に正確または関連するコード候補が提供されるとは限らない点に注意してください。 ChatGPT を使用する開発者は、汎用の対話型 AI モデルであることを理解し、自分のコードに組み込む前に、応答の精度を確認する必要があります。

ChatGPT は開発環境に統合されていないため、コードを直接記述するのでなく、アイデアや説明を生成する用途が適している場合があります。 開発者は、ソリューションのブレーンストーミング、概念の明確化、自分のコードベースに実装する前の新しいアイデアの探索などのために ChatGPT を活用できます。

ChatGPT の対象ユーザーは次のとおりです。

  • ソリューションのブレーンストーミング、概念の明確化、または開発環境以外での新しいアイデアの探究を行いたいと考える開発者またはチーム。
  • チャットボット、仮想アシスタント、またはその他のアプリケーション用の対話型 AI 機能を必要とするプロジェクト。
  • 会話型の対話のために AI モデルを試す必要がある組織。
  • 個人的な使用のためにアプリケーションまたは Web サイトを構築する一般の開発者。

GitHub Copilot ツール

GitHub には、GitHub Copilot や GitHub Copilot Chat など、AI 支援型プログラミング ツールのスイートが用意されています。 OpenAI の Codex を利用した GitHub Copilot は、コードをより迅速かつ少ない労力で記述するのに役立つ AI ペア プログラマです。 Copilot はコード エディターで直接連携し、AI をワークフローにシームレスに統合します。 コードのコンテキストに基づいてインテリジェントなコード候補と入力候補が提供され、コードをより効率的かつ正確に記述するのに役立ちます。 GitHub Copilot Chat は、GitHub Copilot と対話し、GitHub.com およびサポートされている IDE 内でコーディング関連の質問に対する回答が得られるチャット インターフェイスです。

一般的なサポート機能:

  • 言語のサポート: 作業中のコードに合わせて、複数のプログラミング言語とフレームワークをサポートします。
  • IDE 統合: コードエディター上で直接動作し、コードを書く際に提案や補完候補を提供します。

GitHub Copilot のオートコンプリート機能:

  • コード行の入力候補と提案は、コードのコンテキストに基づきます。
  • 提案は、コードの 1 行、関数全体、またはクラス全体である場合があります。

Copilot の提案は、コードをより迅速かつ少ないエラーで記述し、生産性と効率の向上に役立ちます。

GitHub Copilot Chat の AI アシスタンス機能:

  • チャット インターフェイス: GitHub Copilot と対話し、コーディング関連の質問に対する回答を尋ねて受け取るためのチャット インターフェイスを提供します。
  • コードの説明: 選択したコード スニペットの説明を提供し、ドキュメントの移動やオンライン フォーラムの検索を必要とせずに、構文、プログラミングの概念、テスト ケース、デバッグなどを理解するのに役立ちます。
  • ドキュメントの生成: 選択したコードまたはワークスペース全体の説明またはドキュメントを生成し、コードベースを理解して文書化するのに役立ちます。
  • テスト ケースの生成: コードのテスト ケースの生成、時間の節約、およびコード品質の向上に役立ちます。
  • コード修正: コードのリファクタリングと一般的な問題の修正、コードの品質と保守容易性の向上に関する提案を提供します。

GitHub Copilot を使用することで、コーディング タスクに AI の支援が受けられるため、構文や実装の詳細に忙殺されることなく、より高度な設計と問題解決に注力できます。

GitHub Copilot と GitHub Copilot Chat は次を目的としています。

  • コードをより迅速かつ少ないエラーで記述することを求める開発者。
  • プロジェクト間でコードの品質と一貫性を向上させたいチーム。
  • コード補完、リファクタリング支援、およびコードの説明を必要とするプロジェクト。
  • AI を活用したコーディング ツールを使用して開発者を支援したいと考える組織。

まとめ

AI 支援型プログラミング ツールは、コードの記述とリファクタリングから機械学習モデルの構築やデプロイまで、幅広い開発ニーズに対応します。 AI ツールを使用すると、楽しみながら利用しやすいツールでソフトウェアを開発でき、開発効率が向上します。 AI ツールを使用すると、熟練した開発者か初心者かを問わず、一段上のレベルでコードを作成できます。