この記事はソニックガーデン プログラマ アドベントカレンダーの23日目の記事です。
はじめに
iOSアプリではSwift、WebアプリではRubyなど、複数の言語を同時に使うことがあります。
今回は、そんな複数言語の開発でAIを活用する方法を紹介します。
なお、AIツールを使うとコードが学習データとして使われる可能性があります。仕事で利用する場合は社内ルールを確認してください。
結論
複数の言語・IDEを併用するなら、コード補完にはGitHub Copilotを、抽象的な質問や相談にはChatGPTの「Work with App」を使うのがおすすめです。
開発時に利用しているAI
GitHub Copilot - RubyMine
Web開発では主にRubyMineを使用しています。
GitHub Copilotのプラグインを入れるだけで、優秀な入力補完が得られます。たとえばModelのメソッドを作ると、全パターンを網羅するRSpecのコードを自動提案してくれます。
GitHub Copilot - Xcode
iOSやvisionOSのアプリ開発ではXcodeを使っています。
SwiftUIで画面プレビューしながら開発できるのが魅力です。
入力補完は優秀ですが、Copilot Chatがないので「もっと良い書き方は?」「コードの改善点は?」といった抽象的な質問ができません。
ChatGPT - Work with App
Work with AppでmacOSのアプリと連携 |
ChatGPTのWork with Appを使うと、RubyMineやXcode、ターミナルなどmacOSアプリならほぼ連携可能です。
コードをコピーせずにChatGPTから指示を出せるため、IDEやアプリの画面をそのまま読み取ってもらえます。どのIDEでもUIが変わらずに使える点も便利です。
Work with Appの利用には、有料プランへの加入が必要です。
Xcodeに表示されているコードをリファクタ |
(おまけ)Gemini - Share your screen
個人的には、今一番気になっているのは「Gemini」です。GeminiのShare your screenを利用すればコードを書きつつ、同僚に話しかけるように音声で質問ができたり、音声で提案が返ってくるのが特徴的です。
次の動画はXcodeのコードに対して解説してもらっています。
※ 動画を見やすくするためにGeminiの返答までの時間はトリミングしています。実際には返答までにそれなりの時間がかかります。
ただ、すべて音声ベースなので、コードを含むやりとりには少し不便です。
テキストと音声を両方使えれば、より快適になると思います。
まとめ
現状は、コード補完にGitHub Copilot、抽象的な質問にChatGPTのWork with Appという組み合わせを使っています。
将来的には、言葉にするだけでコードを自動生成できるかもしれません。
Geminiのような新しい技術が進化すれば、AIとのペアプロがもっとスムーズになりそうで楽しみですね!