最近、Github Copilotを始めとするLLMを用いたプログラミングをサポートするサービスを耳にします。
これにより、開発工数の削減や品質の向上など、システム開発における課題が解決できることを期待されています。
弊社でも以前から上記の様な課題があったことから、今回導入を検討するべく、いくつかサービスを調べましたので、投稿致しました。
前提条件
・使用言語
サーバー:Python, Django
フロント:HTML, CSS, Javascript, Vue.js
・IDE:VS Code
以下、良さそうであると感じたサービスになります。
これらを候補として選んだ理由としては、以下が大きな点でした
①コード生成、コード補完が可能
②チャットによる質疑応答が可能
③現時点でシェアが多いと考えられる
(= 検索した際に記事が多くあげられている)
特に②に関しては、将来的にエンジニア以外の人員も開発が可能になるように体制を整える
ことを検討しているので、チャットを用いて開発できる事は必須であると考えています。
費用に関しては、(A) GitHub Copilot 以外は無料で利用可能ということですが、プロジェクトでの開発となると、結局有料プランで契約せざるを得ない様な気がします・・・
あと、セキュリティ面で言うと、(D) Amazon CodeWhisperer及び(E) Replit Ghostwriter はミスをするとコードが公開されてしまう恐れがあるので、注意が必要そうです。
今後の課題となりそうなのが、フレームワークへの対応でした。
公式ドキュメントを確認しても、まだ対応していないフレームワークが多い(又はそもそも記載されていない)事多く、今回調べたサービスでも Djando に対応しているフレームワークは無さそうでした。
また、プロジェクトの仕様を理解した上のでの、ソースコードの生成や提案も精度はまだまだ完全ではなく、有識者による確認がいるという事なので、エンジニア以外でも開発できる、と言うのは先になりそうだと感じています。
従って、今の所AIアシスタントを用いた開発としては
①仕様を設計
②①を処理単位で細かく分割
③②の処理ごとにAIアシスタントで実装
④③の各処理を組み合わせる
という流れになるのでは、と考えています。
※PMが作業者(SE)にタスクを振っていくイメージですね^^;
引き続き、調査を進めていく予定ですので、また何かあれば投稿していきたいと思います。