Skip to main content

GitHub Spark について

GitHub Spark を使った自然言語によるインテリジェント アプリの構築とデプロイについて説明します。

概要

GitHub Spark を使うと、望むことを自然言語で記述し、データ ストレージ、AI 機能、GitHub 認証が組み込まれたフルスタックの Web アプリを取得できます。 プロンプト、ビジュアル ツール、またはコードを使って反復処理した後、クリックしてフル マネージド ランタイムにデプロイできます。

Spark は GitHub とシームレスに統合されているため、同期された GitHub codespace と高度な編集用の Copilot を使って、Spark を開発できます。 チーム コラボレーション用のリポジトリを作成したり、GitHub のツールと統合のエコシステムを活用したりすることもできます。

Spark を使う利点

Spark を使うと、アプリ開発のあらゆるステージでさまざまな利点があります。

自然言語またはコードでアプリを構築する

Spark を使ってアプリを構築する場合、コードの書き方に関する知識は必要ありません。 アプリに必要なことを自然言語で説明するだけで、必要なすべてのコードが Spark によって生成され、アプリのライブで対話型のプレビューも表示されます。

コードを調べて編集する場合は、Spark でコード パネルを開くか、さらに進んで 、 GitHub コードスペース (クラウドベースの開発環境) でアプリを開くことができます。

GitHub Codespaces とは」を参照してください。

AI 機能を利用する

Spark は GitHub Models とネイティブに統合されているため、Spark にプロンプトを送信するだけで、AI 機能 (テキストの要約や画像タグの提案など) をアプリに追加できます。 Spark によって必要な推論コンポーネントが自動的に追加されます。また、ユーザーはそれらの機能を制御するシステム プロンプトを編集できます。

マネージド データ ストア

アプリでデータを格納する必要性が Spark によって検出されると、マネージド キーと値のストアを自動的に設定されるため、データベースの設定と管理について心配する必要はありません。 データ ストアは Azure (Cosmos DB) で実行され、小さなレコード (エントリあたり最大 512 KB) を対象としています。

組み込みのセキュリティ保護

Spark には認証が組み込まれています。ユーザーはGitHub アカウントでサインインしてアプリをaccessする必要があるためです。 可視性とデータaccessオプションを設定して、アプリにaccessするユーザーを制御します。

ワンクリック デプロイ

Spark に付属する完全に統合されたランタイム環境を使うと、ワンクリックでアプリをデプロイできます。 必要なインフラストラクチャはすべて自動的にプロビジョニングされるため、サーバーの設定やデプロイの管理について心配する必要はありません。

すべての Spark は、Azure Container Apps (ACA) によってホストおよびデプロイされます。

GitHub と完全に統合されています

Spark は GitHub と完全に統合されているため、使い慣れたツールとワークフローを使用してアプリを構築および管理できます。

GitHub Codespaces

での作業

  • Spark から直接 GitHub コードスペース (クラウドベースの開発環境) を開くことができるので、Copilot と通常使用するすべての開発ツールにアクセスして、アプリのビルドを続けることができます。

  • codespace と Spark の間では自動同期が行われるため、2 つの環境間をシームレスに切り替えることができます。

双方向同期機能を備えたリポジトリを作成する

  • 1 回のクリックで Spark のリポジトリを作成できます。これにより、アプリのコードを管理し、標準の GitHub ワークフローを使用して他のユーザーと共同作業を行うことができます。

  • Spark とリポジトリの間には双方向の同期があるため、Spark またはリポジトリのメイン ブランチのいずれかで行われた変更は、両方の場所に自動的に反映されます。 リポジトリの作成前に Spark に対して行った変更はすべてリポジトリに追加されるため、作成後に Spark に対して行われたすべての変更とコミットの完全な記録が得られます。

コラボレーターを招待する

  • Spark を構築する作業に他のユーザーの協力を依頼する場合は、コラボレーターとしてリポジトリに追加できます。

標準 GitHub 機能を活用する

  • Spark のリポジトリを作成したら、標準の GitHub 機能であるプルリクエスト、課題、プロジェクトボードをすべて使用して Spark 開発プロセスを管理できるだけでなく、CI/CD ワークフローに GitHub Actions を活用できます。

エンタープライズに関する考慮事項

Spark をエンタープライズ レベルで評価している場合、特定の利点と制御を利用できます。

Enterprise で Spark を有効にする方法の詳細については、「エンタープライズでの GitHub Spark の管理」を参照してください。

Enterprise で Spark を有効にする理由

Spark を有効にすると、企業管理者が期待するセキュリティ、ガバナンス、コスト管理を維持しながら、チームはアイデアから運用環境にすばやく移行できるようになります。

次のような利点があります。

  •         **一元的な制御**。 Spark は Copilot ライセンスに含まれており、既存の Enterprise アクセス ポリシーが適用されます。
    
  •         **ガバナンスとセキュリティ**。 GitHub とAzureに基づいて構築された Spark は、エンタープライズ レベルの信頼性、認証、コンプライアンスを継承します。
    
  •         **透明性とコスト管理**。 Spark の消費は、Copilot のプレミアムリクエストを利用します。これを GitHub 課金プラットフォームを通じて監視できます。
    
  •         **イノベーションの加速**。 Teams では、断片化されたツールチェーンに依存することなく、数か月ではなく数時間でアイデアを検証できます。
    

Billing

Spark 内の自然言語プロンプト 1 回につき、Premium リクエストが 4 つ消費されます。 「GitHub Sparkの請求 を参照してください。

インフラストラクチャ

Spark の開発環境は GitHub Codespaces を利用しています。 Enterprise で Codespaces を無効にした場合、ユーザーは引き続き Spark インターフェイスにアクセスできますが、基になる codespace を開くことはできません。

すべての Spark は Azure Container Apps (ACA) にデプロイされます。

Copilot を使って Spark を開発する

GitHub Spark の機能と GitHub Copilot の機能を組み合わせて、アプリ開発をサポートできます。

Copilot エージェント モード

GitHub コードスペースで Spark を開くと、Copilot のすべての機能、Copilot チャット や Copilot エージェントモードを含めて利用できます。

具体的なタスクを想定していて、Copilot でコードを自律的に編集できるようにする場合は、エージェント モードが便利です。 エージェント モードでは、Copilot がどのファイルに変更を加えるかを決定し、タスクを完了するためのコード変更とターミナル コマンドを提供し、元のタスクが完了するまで issue の修復を繰り返します。 アプリの開発を次のレベルに引き上げ、さらに Copilot を利用してコード内の issue をデバッグおよびトラブルシューティングすることができます。

          [Copilot エージェント モード](/copilot/how-tos/chat-with-copilot/chat-in-ide#agent-mode)に関する記事を参照してください。

Copilotコーディングエージェント

Spark が GitHub リポジトリに接続されたら、Copilotコーディングエージェント を使用して、アプリのビルドと保守を続行しながら、他のことに集中することができます。

コーディング エージェントを使うと、(issue を Copilot に割り当てるか、Copilot に pull request の作成を依頼することで) 特定のタスクを Copilot に委任できます。そうすると、Copilot はバックグラウンドで自律的に機能し、タスクが完了します。 Copilotコーディングエージェント を使うと、バグの修正、コードのリファクター、テスト カバレッジの向上などを行うことができます。

Copilot コーディング エージェントGitHubについて」を参照してください。

あなたのSparkを共有する

Spark を公開する準備ができたら、次の表示オプションから選択できます。

  • 自分にのみ表示する
  • GitHub 上の特定の組織のメンバーに表示されます
  • すべての GitHub ユーザーに表示されます (管理者の設定に基づいて、特定の マネージド ユーザー アカウント で無効にすることができます)

次に、他のユーザーと Spark を共有して、アプリの閲覧や操作を許可することができます。 Spark へのリンクは、そのリンクを知っているユーザー以外は発見できません。

必要に応じて、Spark を "読み取り専用" として公開できます。つまり、他のユーザーがアプリのコンテンツを編集または削除できないようにして、アプリを他のユーザーに紹介することができます。

Spark の制限事項

Spark は、信頼性のために、厳格なスタック (React、TypeScript) を使います。 最善の結果を得るには、Spark の SDK とコア フレームワーク内で作業する必要があります。

外部ライブラリを追加することはできますが、Spark の SDK との互換性は保証されません。 外部ライブラリを追加した後は、必ず Spark を徹底的にテストしてください。

既定では、Spark のデータ ストアは、公開された Spark のすべてのユーザーと共有されます。 他のユーザーに公開する前に、アプリから個人情報や機密データを必ず削除してください。 必要に応じて、Spark を "読み取り専用" として公開できます。つまり、他のユーザーがアプリのコンテンツを編集または削除できないようにして、アプリを他のユーザーに紹介することができます。

参考資料

  •         [AUTOTITLE](/copilot/responsible-use/spark)
    
  •         [AUTOTITLE](/copilot/tutorials/spark/build-apps-with-spark)
    
  •         [AUTOTITLE](/copilot/how-tos/troubleshoot-copilot/troubleshoot-spark)