GitHubは、GitHub Sparkと呼ばれる大規模な新製品を発表した。ユーザーは自然言語による記述だけでマイクロアプリを構築・共有でき、ソフトウェア開発への障壁を劇的に下げることができる。ユーザーは深いプログラミングの知識を持っている必要はない。システムは技術的な詳細をすべて自動的に処理し、アプリを構築するプロセスをリアルタイムで表示するほか、「マイクロアプリ」または「スパーク」と呼ばれる新しいAIツールを構築する。マイクロアプリケーションを構築するために、ユーザーは最初のプロンプトから始め、Sparkは数秒でライブプレビューを表示する。その後、ユーザーはボットとやり取りすることで微調整できる。
ギットハブ・スパーク
AIと完全に管理されたランタイム環境を利用することで、誰もが自分自身のためにソフトウェアを作成したり、適合させたりできるようになるのだろうか?
パーソナライズされたマイクロアプリケーション(「火花」)の構築と共有
開発者として、私たちは環境をカスタマイズし、独自の好みやワークフローに合ったツールを構築することに情熱を注いでいます。これは生産性と操作の快適性を向上させるだけでなく、日々の仕事をより個人的なものにします。そして、パーソナライズされたものは、通常より楽しいものです。
しかし、ドットファイルの管理、自動化スクリプトの作成、エディターの設定などに時間を費やしているにもかかわらず、私たちは何度、独自のアプリを作ることをあきらめたことだろう。作れないからではなく、刹那的で、特殊で、時間がかかりすぎて、優先する価値がないと思われるからだ。😩
私たちのデスクやポケットにあるコンピューターは非常にパワフルだが、あまり "パーソナライズ "されていない。私たちのデスクやポケットにあるコンピューターは非常にパワフルだが、あまり "パーソナル化 "されていない。その代わりに、私たちは他人がデザインした汎用ツールに頼っている。
ソフトウェアのパーソナライズを、開発環境のパーソナライズと同じくらい簡単にするにはどうすればいいのか?そして、そのパーソナライゼーションを周囲の人たちにも簡単にできるようにするにはどうすればいいのだろうか?それは必要だからというだけでなく、楽しいことでもあるからだ🙌。
GitHub Sparkの紹介
GitHub Sparkは、ニーズや好みに合わせてカスタマイズできるマイクロアプリケーション(「スパーク」)を作成・共有するためのAI主導のツールで、デスクトップやモバイルデバイスで直接使用することができます。コードを書いたり、デプロイしたりする必要はない。
これは、緊密に統合された3つのコンポーネントによって実現される:
- 自然言語ベースのエディターで、アイデアを簡単に記述し、時間をかけて洗練させていくことができます。
- スパークをホストし、データストア、テーマ設定、ラージ言語モデル(LLM)へのアクセスを提供するホスト型ランタイム環境。
- いつでもどこからでも火花を管理・起動できるPWA対応コントロールパネル
さらにGitHub Sparkでは、自分のスパークを他のユーザーと共有し、そのユーザーが読み取り専用か読み書き可能かをコントロールすることができます。ユーザーはスパークをブックマークして、直接使うか、自分の好みに合うようにリミックスするかを選択できます。結局のところ......パーソナライズしてください!
さて、どう動くか見てみよう🎬。
マイクロアプリケーション」とは何か?
GitHub SparkはUnixの哲学を支持しており、ソフトウェアは一度に一つのことに集中し、それを極めてうまくこなすことができると主張しています。したがって、"マイクロ "とはアプリケーションの価値の大きさを指すのではなく、設計された機能的な複雑さを指す。
例えば、GitHub SparkチームがGitHub Sparkの開発で作った(そして使った!)火花をご紹介します。これらのアプリは、生活管理ツールから学習補助、楽しいアニメーション、ニュースクライアントまで様々です。しかし、それらすべてに共通しているのは、作成者が意図したとおりの見た目と使い心地だということです。それ以上でも以下でもない、ちょうどいい ❤️
トップ20の投稿を表示し、大きな言語モデルを使用してコメントスレッドを要約するカスタムHackerNewsクライアント(非常に便利!)。.これがチームの毎日のHNドライバーだ。
このような背景を念頭に置いて、GitHub Sparkの主なコンポーネントの「What?と "なぜ?"👍
自然言語ベースのツールチェーン
アプリを作るときは、自分が何をしたいのかを正確に知る必要がある。一般的なアイデアだけでなく、正確な機能セット、詳細なインタラクション動作、全体的なルック&フィール。残念ながら、これは非常に複雑になり、人によっては尻込みしてしまうことさえあります。これこそが、私たちが解決したい問題なのです!
GitHub Sparkは、シンプルなアイデア(例えば「子供のお小遣いを管理するアプリ」)から始めて、「探索支援」によって徐々に複雑さを増していくことで、この問題を軽減します。特に、その自然言語エディターは、4つのコアな反復機能によって、簡単に楽しく前進できるように設計されている:
- インタラクティブ・プレビュー
- 修正変型
- 履歴の自動記録
- モデルの選択
インタラクティブ・プレビュー
GitHub Sparkに自然言語表現を入力すると、コードが生成されるだけでなく、すぐに実行され、インタラクティブなプレビューで表示されます。この "アプリ中心のフィードバック・ループ "により、あなたは望むだけ詳細な情報を指定することができ、ビジュアライゼーションが徐々にあなたの意図を理解するにつれて、繰り返し実行することができる(「うーん、ここにトグル・ボタンが必要みたい!」)。.
修正変型
スパークを作成したり反復したりするときに、バリアントのセットを生成することを選択できます。これにより、それぞれ微妙な、しかし意味のある違いを持つ、3~6種類のリクエストのバージョンが生成されます。ある機能が欲しいことは分かっていても、それがどのように見えるべきか、どのように振る舞うべきかは分からないかもしれないので、AIの思考パートナーのように、アイデアを広げるためのインスピレーションや提案を得ることは役に立つかもしれない!
履歴の自動記録
スパークを繰り返すと、各リビジョンが自動的に保存され、ワンクリックで復元できます。これにより、進捗を失う心配をすることなく、アイデア(およびバリアント)を探求することができます。さらに重要なのは、バージョン管理を自分で行う必要がないということだ。このアプローチは "好奇心駆動型開発 "をサポートし、アプリケーションに悪影響を与える(例えば、台無しにする)ことを心配することなく、アイデアを思いついて試すことができます。
履歴はコラボレーションの観点からも魅力的で、誰かがスパークを共有したときに「セマンティック・ビュー・ソース」のような形で提供されます。GitHub Sparkを作る中で、私たちは自然と新しいアイデアを共有し合い、それがどのように実装されたかをすぐに履歴で確認することに気づきました。他の人のアイデアの連載を垣間見るようなものだ。
モデルの選択
スパークを作成または修正する際、クロード・ソネット3.5、GPT-4o、o1-preview、o1-miniの4つのAIモデルから選択することができる。この利点は、期待した結果が得られなかった場合、元に戻して全く別のモデルで再試行できることだ。加えて、履歴は各リビジョンで使用されたモデルを記録しているので、スパークの経時変化を観察することができます。
ホストされた動作環境
私たちはGitHub Sparkを("コード中心 "のツールではなく)"アプリケーション中心 "のツールと呼んでいます。コードを見たり編集したりすることができないからではなく(できます!)、人々が見たり体験したり使ったりするためのツールを作るように設計されているからです。ただコードを生成して、自分でビルド、デプロイ、データベースの設定などをさせるのではなく、人々に見て、体験して、使ってもらうためのアプリケーションを作成するように設計されているからです。
GitHub Sparkは、実行環境の4つのコア機能をホストすることでこれを実現している:
- デプロイなしのホスティング
- カスタマイズ可能なテーマによるデザインシステム
- 永続的データストレージ
- 統合モデルのヒント
デプロイなしのホスティング
スパークを作成または変更すると、変更内容は自動的にデプロイされ、デスクトップ、タブレット、モバイルデバイス(PWA経由)で実行およびインストールできます。この意味で、GitHub Spark は、ソフトウェアの作成、デプロイ、利用のプロセスを一つのアクションに簡素化するミニ・アプリ・クラウドのようなものです。
カスタマイズ可能なテーマによるデザインシステム
アプリの見た目を美しくするために、GitHub Spark は組み込みの UI コンポーネントセットと、カスタマイズ可能なテーマを備えたデザインシステムを提供しています。その結果、フォームコントロール、レイアウト、アイコンなどは、新しいアプリを作成するたびにデフォルトで洗練された外観になります。さらに微調整したい場合は、テーマエディタを使ってデフォルトのアクセントカラー、ボーダー半径、アプリの間隔、カラーテーマ(明暗)を変更できます。
永続的データストレージ
GitHub Sparkのランタイムは、ホスティングされたキーバリューストアを提供し、それを使用するタイミングを自動的に判断します。さらに、GitHub Sparkはデータエディタを提供し、スパークが使用するデータを簡単に表示・編集できる。これにより、細かいことを気にすることなくアプリケーションの状態を完全にコントロールできる。
統合モデルのヒント
GitHub Sparkランタイム GitHubモデルを統合することで、LLMの知識がなくてもsparkに生成AI機能を追加することができます(例:要約生成、子供の就寝前の物語生成)。さらに、GitHub Sparkが生成したヒントを表示し、必要に応じて微調整できるヒントエディターも提供します。
ふぅー!すごい量だ。しかし、GitHub Sparkの目標(アプリ制作のコストをゼロにする)を達成するためには、このようなツールチェーンと実行環境は絶対に必要だと考えています。私たちは、ユーザーがそれを使う経験を気に入ってくれると確信しています🥰。
次はどうする?
テクノロジープレビューとして、GitHub Sparkはまだ初期段階にあり、やるべきことはたくさんあります。しかし、今後数ヶ月の間に、ウェイティングリストからユーザーを招待し、毎週密に交流していくことを楽しみにしています! ウィークリー・アップデート.この旅に参加することに興味がある方は、以下をご覧ください。 よくあるご質問に参加し、GitHub Nextの Discordサーバー 👋
私たちの今後の焦点について興味がある方は、以下の方向性を探求することを楽しみにしていてほしい:
- 拡張されたコラボレーション方法(例えば、公開ギャラリー、ユーザーがスパークのブランチでセマンティック・マージを実行できるようにする、マルチユーザーモード)。
- エディター機能の拡張(例えば、アプリケーションの正確な動作を要約して調整できる「X線モード」の提供など)
- 拡張されたランタイム環境(例:より多くの組み込みコンポーネント、サードパーティ・サービスのより良い統合、ファイル・ストレージとベクトル検索のサポート)
- 私たちがまだ考えてもいないクールな機能もたくさんある!