こんにちは。オープンワークでプロダクトを作っている組織を管掌している池内です。弊社のプロダクト開発組織では3月初旬にGitHub Copilotを導入しました。せっかくなので、2カ月経過した利用状況や感想等をまとめてみます。
導入目的
私の立場からすれば、もちろん開発効率UPが第一の目的です。一人当たり月に$19かかるので、年間で考えれば組織全体で約100万円の投資です。「おお、、、まあまあ高いな」とは思いましたが、開発効率UPにより機能開発のスピードが少しでもあがることは将来の売上向上にも貢献してくれるはずなので、導入を決断しました。 また、相変わらず競争が激しいプロダクト人材の採用市場で、少しでも有利に働いてくれることも期待しています。
もう一つ立場関係なく言えば、デモ動画を見て「すごい!使ってみたい!」と思ったというのもあります。
Copilotを使えるようにしたチーム
プロダクトの開発にかかわる以下のチームメンバーにライセンスを渡し、Copilotを利用可能な状態にしました。
- 開発ユニット
- Webアプリケーショングループ
- ネイティブアプリグループ(iOSとAndroid)
- インフラグループ
- プロダクトユニット
- デザイングループ
開発ユニットはエンジニアが所属しているチームです。このチームに導入するのはわかりやすいと思いますが、今回はデザイングループにも導入しました。オープンワークのデザイナーはデザインだけでなく、UIを表現するためにHTML/CSSを用いたコーディングも担当しているので、効果が期待できると判断しました。
利用状況
チーム毎にエディタとあわせて見ていきたいと思います。
チーム | エディタ/IDE |
---|---|
Webアプリケーション | PhpStorm |
ネイティブアプリAndroid | Android Studio |
インフラ | PhpStorm, VSCode |
デザイン | VSCode |
ネイティブアプリiOSチームも、GitHub Copilotをぜひ使いたかったものの、やはりXcodeが未対応問題により、断念しました。VSCodeで無理やり使えなくはないですが、逆にXcodeの恩恵を受けることができなくなるため、泣く泣くです。
利用者の声
slackで各々のメンバーがつぶやいていたCopilot使ったときのコメントを集めてみました。(つぶやいてたメンバーに許可はもらってます)
copilotが最高すぎる!!!! サジェスト神
GitHub Copilot でコードサジェストしてもらう度に「えなんで分かったん…??」となってしまうな、楽しい
使ってる時はサジェストが自然すぎて効果に気付きにくいかも。 使うの辞めたら良さに気づく系
Copilotが書いたコードを見て精度まだまだやなーと思って修正したら、自分の方が間違ってた。負けた。
リモートワークも重要だが、chatgptとcopilotの利用も転職の際の条件で重要な気が。 自分だったらそれらを使ってない会社に入りたい気がしない。面接とかでそう言われたら萎える。
セミコロンを打っただけで書こうとしてたことを Copilot が書いてくれた、良い体験 <store> @type s3 @id s3_apache_access_log ; aws_key_id and aws_sec_key are optional if you have IAM role <= ここ aws_key_id "#{ENV['XXXX_ACCESS_KEY_ID']}" aws_sec_key "#{ENV['XXXX_SECRET_ACCESS_KEY']}"
copilotをPHPStormに入れて今のところ一番役立ったのは、 jQuery撲滅ということで、jQueryのメソッドの直下に、同じ内容の純Javascriptのメソッドを書いていたら、 途中から全文サジェストが出たという流れですね。
Copilotはstruct とかenumで表現できる系の処理のサジェストは超的確でした。 スタブの作成とかはCopilotで爆速で終わる。
それぞれ、いい開発者体験できているようです。導入の費用対効果を数字で表すことはできませんが、コメントを見ていると導入してよかったと思えますね。
今後のAI系ツールとの付き合い方
ChatGPTもそうですが、ただ便利というのではなく、世の中が大きく変わる技術です。GitHub Copilotも開発体験を大きく変えました。各社もChatGPTを自社のプロダクトに取り入れているように、弊社もプロダクト開発のツールとしてだけでなく、プロダクトの機能としても取り込んでいきたいと考えています。
ただ、開発ツールとして、プロダクト機能として、取り入れたとしても、今はまだ崩してはならないポイントもあると思っています。
AIの回答への責任
AIの回答はAIの回答でしかないので、それを使うことには使う側の責任が伴います。 GitHub Copilotを用いた開発を例にあげると「Copilotでサジェストされたまま使ったらバグが発生した」といった状況です。サジェストされたものを使うのかの判断、それが正しい動作なのかの判断は、使う側の責任です。さらに精度があがってくると、人間の方が間違う確率が高くなるかもしれませんが。。。
botなのか、人なのか
人だと思っていた相手が、実はChatBotだったという体験をした場合、どう思いますか?たぶんケースバイケースなんですが、「スゲーな、生成系AI!」と思うこともあれば、「裏切られた!」と感じる場合もあると思います。後者はユーザー体験的に非常に悪いため、プロダクトのどこに生成系AIを取り込むのか、その際、ユーザーの期待値をどう作るのか、気を付けなければなりません。
これらには注意しつつも、ChatGPTをはじめとして、AI系ツールは魅力的でワクワクします。事業、採用、様々な面での競争優位性を高め、「働きがいが得られる世界を作っていく」ためにも、これらを取り入れていきたいと思います。
最後に
エンジニア、デザイナー、データサイエンティスト、PdMなどプロダクト開発にかかわるメンバーを募集中です。