GitHub Copilot for Xcode で visionOS 向け開発を進めている
AI をどう visionOS 向け開発に適用していくかについて試行錯誤を重ねてきたが、Swift の開発環境という点に限っては、Xcode + GitHub Copilot for Xcode という組み合わせに落ち着きつつある。
まず、visionOS 向けの開発をしている以上、エディタは Xcode 一択だなと考えており (Fleet に期待はしているが現状はまだすべてをまかすには難しい) 、したがってエディタ統合型の AI ツールも特に選択肢としては浮かび上がってこない。
GitHub Copilot for Xcode は思った以上に使い勝手がよく、Chat ウインドウを並べても UI 的に違和感がないのが気に入っている。対象ファイルや関連ファイルのコンテキストを指示しやすいのもメリットだ。プロジェクトのファイル類の構成を把握しているというのはありがたい。
ただし、GitHub Copilot の VSCode 向け機能拡張と比べると挙動に違いがある。VSCode 版はコードを全体的に書き換えてくれるのに対し、Xcode 版は単に挿入されるだけなので、ちょっとした手間が増える。早く VSCode 版のような機能が欲しい。
AI を使った開発が一般的になるにつれ、エンジニアの役割も変わっていくのかもしれないなあとこの頃は思う。
これからの時代、手を動かすのは遅くても人の作ったもののレビューが異常に速い人がスーパーパワーを持った人としてもてはやされる可能性はかなりある。実際、AI がコードを書く場面は増えているし、その成果物を迅速にレビューして的確にフィードバックできる能力の価値はますます上がるだろう。
AI との対話についても悪戦苦闘していることで考えさせられることがある。たとえば ChatGPT は時折人間とは違うタイプの「わからんちん」になることがある。そうなると、変に粘るより一旦チャットを破棄して最初からやり直したほうが早いこともあるのだ。AI に期待しすぎないのが、上手く付き合うコツかもしれない。
AI による開発支援が進めば「人間のマネージメントは苦手で…」というタイプの人が、AI デベロップメントマネージャ的な職種に就くことも増えるのではないかと思う。人間関係が苦手でも、開発のマネジメントや最適化のスキルを活かしてキャリアを築ける道ができるような気がする。
この頃はいろいろな AI ツールの比較情報があり、いろいろ迷うものの、個人的には正直どれでもいいような気もする。どれも切磋琢磨して進化していくだろうから今時点の性能は気にしなくていいように思うし、むしろ自分に合うものを一つ使い自分なりのワークフローを構築していくほうが大事な気がするからだ。
ということで Xcode + GitHub Copilot for Xcode という選択も、現時点での自分にとってのベストな組み合わせというだけで、また別の最適解が出てくる日も来るだろうと思う。いまはまだ気に入っているのでしばらくは掘っていくつもり。