GitHub、OpenAI、Microsoft の AI ツールを調べる
開発者向けの AI ツールは、近年ますます普及しています。 GitHub、OpenAI、Microsoft などの企業は、ソフトウェア開発をサポートするさまざまな AI 支援ツールを提供しています。 これらのツールは、人工知能を使用して、アイデアのブレーンストーミングからコード セキュリティの更新に至るまでのあらゆる場面で、コーディングのさまざまな側面を自動化します。 開発者向けの AI ツールを使用すると、生産性を向上させ、人為的ミスが起こりにくくなります。 しかし、利用できるツールが非常に多いため、どのツールが特定のプロジェクトや個人にとって最適であるかを知ることは困難です。
このユニットでは、AI ツールを開発タスクやプロジェクトに合わせて調整するために、次のリソースを検討します。
- 鋳造ツール。
- Microsoft Foundry ポータル。
- AI Builder。
- Copilot Studio。
- セマンティック カーネル SDK
- Visual Studio IntelliCode
- ChatGPT。
- GitHub Copilot。
鋳造ツール
Foundry Tools は、開発者が機械学習の専門知識を必要とせずに AI を利用したアプリケーションを構築できるようにするクラウドベースのサービスのセットです。 これらのサービスは、音声認識、自然言語処理、コンピューター ビジョン、意思決定など、さまざまな AI 機能をカバーしています。 Foundry Tools は、使いやすく、既存のアプリケーションと統合できるように設計されています。
Foundry Tools には、テキスト分析、画像認識、言語翻訳などの一般的なタスク用の事前構築済みの AI モデルが用意されています。 これらのモデルは、REST API または SDK を使用してアプリケーションに統合できます。
Foundry Tools は、AI 機能を必要とするが、ゼロからカスタム モデルを構築するためのリソースや専門知識がないプロジェクトに最適です。 これらのサービスは、開発者がアプリケーションに AI 機能を追加するのに役立ちます。 これにより、ユーザー エクスペリエンスが向上します。
Foundry Tools の目的は次のとおりです。
- カスタム モデルを構築する必要なく、アプリケーションに AI 機能を追加することを求める開発者。
- AI に特化した専門知識に投資することなく、AI を活用したソリューションを迅速にデプロイする必要がある組織。
- 音声認識、自然言語処理、コンピューター ビジョンなどの一般的な AI 機能を必要とするプロジェクト。
Microsoft Foundry ポータル
Microsoft Foundry ポータルは、開発者がビジュアル インターフェイスを使用して機械学習モデルを構築、トレーニング、デプロイできる Web ベースのプラットフォームです。 開発者がコードを記述せずに AI モデルを作成するのに役立つさまざまなツールとテンプレートが用意されています。 Microsoft Foundry ポータルでは、TensorFlow や PyTorch などの一般的な機械学習フレームワークがサポートされているため、既存のモデルを簡単に操作できます。
Microsoft Foundry ポータルには、データ準備、モデル トレーニング、モデル評価の機能も含まれています。 開発者は、ドラッグ アンド ドロップ ツールを使用してデータ パイプラインを作成し、さまざまなアルゴリズムを試し、モデルのパフォーマンスを監視できます。 モデルをトレーニングしたら、Web サービスとしてデプロイすることも、既存のアプリケーションに統合することもできます。
Microsoft Foundry ポータルは、コードの記述やインフラストラクチャの管理を必要とせずに機械学習モデルを試したい開発者に最適です。 AI モデルを構築してデプロイするためのユーザーにとってわかりやすいインターフェイスを提供し、幅広い開発者が利用できるようにします。
Microsoft Foundry ポータルの目的は次のとおりです。
- コードを記述せずに機械学習モデルを試したい開発者。
- AI モデルを構築、トレーニング、デプロイするためのプラットフォームを必要とするデータ サイエンティスト。
- 専門的な専門知識を必要とせずに AI 機能を開発者に提供したいと考える組織。
- 特定のビジネス ニーズに合わせて調整されたカスタム機械学習モデルを必要とするプロジェクト。
AI Builder
AI Builderは、ユーザーが深いデータ サイエンスの専門知識を必要とせずにアプリケーションに AI 機能を追加できる、Microsoft Power Platformの機能です。 予測、フォーム処理、オブジェクト検出、テキスト分類などの一般的なタスクに対して事前構築済みの AI モデルを提供します。 ユーザーは、独自のデータを使用して、特定のビジネス ニーズに合わせて調整されたカスタム AI モデルを作成することもできます。
AI Builderには、次の機能があります。
- 事前構築済みの AI モデル: 予測、フォーム処理、物体検出、テキスト分類などの一般的なタスクのモデルが含まれています。
- カスタム モデル: データを使用して、特定のビジネス ニーズに合わせて調整されたカスタム モデルを構築できます。
- Easy Integration: AI 機能をPower Appsで構築されたアプリにシームレスに統合し、ユーザー エクスペリエンスと効率を向上させます。
AI Builderは、コードを記述したり、深いデータ サイエンスの専門知識を持ったりすることなく、アプリケーションに AI 機能を追加したいユーザーに最適です。 AI モデルを作成してデプロイするためのユーザー フレンドリなインターフェイスを提供し、幅広いユーザーが利用できるようにします。 ビジネス アナリスト、開発者、市民開発者は、AI Builderを活用して、AI 機能を使用してアプリケーションを強化できます。
AI Builderは次を目的としています。
- コードを記述する必要なく、アプリケーションに AI 機能を追加することを求めるユーザー。
- ビジネス プロセスを自動化するために AI モデルを構築する必要があるビジネス アナリスト。
- AI モデルを試してアプリケーションに追加することを求める一般の開発者。
- 予測、フォーム処理、オブジェクト検出などの AI 機能を必要とするプロジェクト。
- 専門的な専門知識を必要とせずに AI 機能をユーザーに提供したいと考える組織。
Copilot Studio
Copilot Studio は、ユーザーが AI を利用したチャットボットを作成および管理できるようにするcopilot作成ツールです。 会話フローの設計、チャットボットのトレーニング、パフォーマンスの監視を行うビジュアル インターフェイスを提供します。 Copilot Studio では、自然言語理解 (NLU) と自然言語生成 (NLG) 機能がサポートされており、ユーザーはユーザーのクエリを理解して応答できるチャットボットを構築できます。
注
コパイロットとは、大規模な言語モデル (LLM) と追加の知識ソースに基づく AI を利用した対話型インターフェイスです。 これは、単純な回答や一般的な質問から、複雑な会話を必要とする問題の解決まで、さまざまな要求を処理できる強力な AI アシスタントです。 Copilots は、Web サイト、モバイル アプリ、Facebook、Microsoft Teams、またはAzure Bot Serviceでサポートされている任意のチャネルにわたって、複数の言語で顧客や従業員と交流できます。
データ サイエンティストや開発者を必要とせずに、Copilot Studio で簡単に副操縦士を作成できます。 このプラットフォームには、チャットボットの設計とトレーニングに役立つさまざまなテンプレートとツールが用意されており、簡単に作業を開始できます。 Copilot Studio には、チャットボットのパフォーマンスの監視、ユーザーの操作の分析、時間の経過と共に会話フローを改善するための機能も含まれています。
コパイロットの用途には、次のようなものがあります。
- 販売の支援とサポートの問題。
- 店舗の営業時間と情報。
- 従業員の健康と休暇の特典。
- 公衆衛生の追跡情報。
- 企業に関する一般的な従業員の質問。
Copilot Studio は、スタンドアロンの Web アプリとして、および Teams 内の個別のアプリとして使用できます。 この 2 つの機能はほとんど同じです。 ただし、Copilot Studio の使用方法に基づいて、バージョンを選択する理由が異なる場合があります。
Copilot Studio の目的は次のとおりです。
- コードを記述する必要なく、AI を利用したチャットボットを作成および管理することを求めるユーザー。
- 顧客との対話を自動化するためにチャットボットを構築する必要があるビジネス アナリスト。
- 専門の専門知識を必要とせずにチャットボットの機能をユーザーに提供したいと考える組織。
- チャットボットが顧客の問い合わせを処理し、サポートを提供し、ビジネス プロセスを自動化する必要があるプロジェクト。
Semantic Kernel SDK
Semantic Kernel SDK を使用すると、開発者は既存のコード プロジェクト内に AI モデルの相互作用を実装できます。
現在の AI モデルでは、ユーザーが指定したプロンプトに基づいてテキスト応答と画像を簡単に生成できます。 この機能は単純なチャット アプリを構築する場合に役立ちますが、ビジネス プロセスを自動化し、ユーザーがより多くのことを達成できるようにする完全に自動化された AI エージェントを構築するには不十分です。 この実現のためには、これらのモデルからの応答を受け取り、それらを使用して既存のコード内の処理に影響を与え、サポートできるフレームワークが必要です。 Semantic Kernel SDK には、これらの種類のプロジェクトを作成するために必要なフレームワークが用意されています。
Semantic Kernelは、AI モデルと対話し、応答を使用して既存のコードを強化できるエージェントを簡単に構築できるオープンソース SDK です。 拡張性の高い SDK として、OpenAI、Azure OpenAI、Hugging Face などのモデルでSemantic Kernelを使用できます。 既存の 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 チャットなど、AI 支援型プログラミング ツールのスイートが用意されています。 GitHub Copilotは、コードをより迅速かつ少ない労力で記述するのに役立つ AI ペア プログラマです。 GitHub Copilotはコード エディターで直接連携し、AI をワークフローにシームレスに統合します。 コードのコンテキストに基づいてインテリジェントなコード候補と入力候補が提供され、コードをより効率的かつ正確に記述するのに役立ちます。 GitHub Copilot チャットは、GitHub Copilotと対話し、GitHub.com およびサポートされている IDE 内でコーディング関連の質問に対する回答を得ることができるチャット インターフェイスです。
一般的なサポート機能:
- 言語のサポート: 作業中のコードに合わせて、複数のプログラミング言語とフレームワークをサポートします。
- IDE 統合: コードエディター上で直接動作し、コードを書く際に提案や補完候補を提供します。
- 複数の AI モデル: OpenAI、Anthropic、Google などの複数のプロバイダーのモデルを使用して、コードに最適な提案を提供します。
GitHub Copilotのコード補完機能:
- コード行の入力候補と提案は、コードのコンテキストに基づきます。
- 提案は、コードの 1 行、関数全体、またはクラス全体である場合があります。
- 次の編集候補は、次に行う可能性がある編集の場所を予測し、その編集の完了を提案します。
GitHub Copilot提案は、コードをより迅速かつ少ないエラーで記述し、生産性と効率を向上させるのに役立ちます。
GitHub Copilot チャットの AI アシスタンス機能:
- Chat インターフェイス: GitHub Copilotと対話し、コーディング関連の質問に対する回答を求めて受け取るためのチャット インターフェイスを提供します。
- コードの説明: 選択したコード スニペットの説明を提供し、ドキュメントの移動やオンライン フォーラムの検索を必要とせずに、構文、プログラミングの概念、テスト ケース、デバッグなどを理解するのに役立ちます。
- ドキュメントの生成: 選択したコードまたはワークスペース全体の説明またはドキュメントを生成し、コードベースを理解して文書化するのに役立ちます。
- テスト ケースの生成: コードのテスト ケースの生成、時間の節約、およびコード品質の向上に役立ちます。
- コード修正: コードのリファクタリングと一般的な問題の修正、コードの品質と保守容易性の向上に関する提案を提供します。
GitHub Copilotエージェントとエージェント機能:
- エージェント: 要求を自律的に評価し、編集するファイルを決定し、必要な作業を計画し、コードベースに変更を適用する組み込みエージェント。
- プラン: タスクの構造化されたステップ バイ ステップの実装計画を作成する組み込みエージェント。これにより、実装のためにエージェントに渡すことができます。
- 質問: ファイルを変更せずに、コードベース、コーディング トピック、および一般的なテクノロジの概念に関する質問に回答する組み込みのエージェント。
- GitHub Copilot コーディング エージェント: GitHubのIssueまたはGitHub Copilot Chatのプロンプトからプルリクエストを作成することで、コードの変更を行う自律型AIエージェントです。
- GitHub Copilot コード レビュー: より優れたコードの記述に役立つ AI によって生成されたコード レビューの提案を提供します。
AI を使用してコーディング タスクを支援することで、GitHub Copilotは構文と実装の詳細に悩まされるのではなく、より高度な設計と問題解決に集中するのに役立ちます。
GitHub CopilotチャットとGitHub Copilotチャットは次の目的で使用されます。
- コードをより迅速かつ少ないエラーで記述することを求める開発者。
- プロジェクト間でコードの品質と一貫性を向上させたいチーム。
- コード補完、リファクタリング支援、およびコードの説明を必要とするプロジェクト。
- AI を活用したコーディング ツールを使用して開発者を支援したいと考える組織。
まとめ
AI 支援型プログラミング ツールは、コードの記述とリファクタリングから機械学習モデルの構築やデプロイまで、幅広い開発ニーズに対応します。 AI ツールを使用すると、楽しみながら利用しやすいツールでソフトウェアを開発でき、開発効率が向上します。 AI ツールを使用すると、熟練した開発者か初心者かを問わず、一段上のレベルでコードを作成できます。