Swift Assistは、開発者がアイデアをコードに変換し、より高度な問題に集中できる支援を目的としている。Appleのクラウド上で動作するモデルを搭載したSwift Assistは、Xcodeに統合され、人間の言語で表現されたプロンプトからコードを生成できる。
Swift Assistを使えば、新しいフレームワークの探索や新しいアイデアの実験などのタスクは、たった1回のリクエストで実行できます。Swift Assistは、クラウド上で動作する強力なモデルを使用しています。
例えば、関数をasync/await
を使用するように変換したり、ユーザーの現在地を表示するマップを追加したり、ビューのアクセシビリティを向上させるなど、Swift Assistに依頼できる。
Apple社によれば、クラウドで実行する利点のひとつは、Swift Assistが常に最新のソフトウェア開発キット(SDK)とSwift言語の機能を備えていることだという。その一方で、ユーザーコードはリクエストの処理にのみ使用され、Apple社のサーバーに保存されたり、モデルのトレーニングに使用されたりしないと同社は保証している。
WWDC 2024での講演で、XcodeとSwift Playgroundのシニア・マネージャーであるKen Orr氏は、空のXcodeプロジェクトからクラシックMacのカタログを作成するアプリを作成するためにSwift Assistの使用方法を紹介した。
Orr氏の最初のプロンプトは、「名前と説明を持つクラシックMacのリストを作成する」というもので、Swift Assistは、Macモデルを表すClassicMac
struct
と、Macのあらかじめ入力された配列とそれらを表示するList
を持つSwiftUIビューを作成し対応した。その後、彼はSwift Assistに「各Macの横に画像を追加する」と依頼し、それによって既存のstruct
が画像名を含ませる修正をされ、Macモデルの画像がプロジェクトのアセットカタログから取得された。従って、SwiftUIのビューは、リストに画像を含ませる修正をされた。Swift Assistの柔軟性のさらなる例として、Orr氏は「リストの代わりにグリッド上にMacを表示する」と質問し、LazyVGrid
を使用するとコードが即座に修正された。
Swift Assistは、ビューのローカライズ、ログインサポートの追加、リストへの例の追加、異なるStackタイプ間の変換など、開発者が多くの異なるタスクを実行するのを助けられる、とOrr氏は説明した。
Orr氏によると、Swift AssistはXcodeの予測コード補完とともに、Appleのツールにさらなる「インテリジェンス」を組み込むための第一歩に過ぎないが、Appleのロードマップに関する追加情報は提供しなかった。
AppleはSwift Assistを動かすモデルについてあまり詳細を発表していないが、Trail of BitsのArtem Dinaburg氏によると、それはSwiftコード、SDK、ドキュメントを特別に訓練した700億以上のパラメータモデルであるはずだという。
Swift Assistは、Digital Marketplace Actに関連する規制の不確実性のため、Apple社によれば、EU諸国を除き、今年後半には一般的に利用可能になるという。