1. TimeTreeラヂオ
  2. ChatGPTやCopilotなどGenerati..
2023-05-17 19:52

ChatGPTやCopilotなどGenerative AI技術を使った開発事情 #TimeTreeTechTalk

「TimeTreeラヂオ」はカレンダーシェアアプリTimeTreeを運営する私たちメンバーが、ふだんの仕事に関係することもそうでないことも、だいたい15分でひとつのテーマを話しきるインターネットラジオ番組です。

この放送はTimeTreeエンジニアによるテックなお話をお届けする #TimeTree Tech Talk です。

今回は「ChatGPTやCopilotなどGenerative AI技術を使った開発事情」。バックエンドエンジニアのScott(@bonty)、AndroidエンジニアのAndy(@wada811)が話しました!

◎TimeTree Company Deck(会社案内資料) ⁠https://bit.ly/timetree_company_deck⁠

◎一緒に働く仲間を募集しています!(採用応募ページ) ⁠https://bit.ly/3MyqZjE⁠

番組の感想・コメント・ご要望はハッシュタグ ⁠#TimeTreeラヂオ⁠ でつぶやいてください!

チャットGPTとGitHubコパイロットの紹介
久しぶりだからね、確か。ちょっとパンを取り戻しつつ座っていただきたいと思います。
パンを取り戻さないと。
声張ってもらって。
頑張って頂きます、はい。
はい、じゃあTimeTreeテクトーク始めていきたいと思います。
はい。
お願いします。
お願いします。
今回はですね、ちょっとテーマとしてはチャットGPTとかGitHubコパイロットなんかについて話していきたいなと思っていて、
社内でよく使ってそうな雰囲気を感じたアンディをゲストに話していきたいと思います。
はい、じゃあアンディ。
ちょっと軽く自己紹介とかした方がいいのかな。
そうですね、はい。
お願いします。
はい、アンディです。よろしくお願いします。
チャットGPTとかNotion AIとかGitHubコパイロットとかをちょっと触ってみてるみたいな人です。
本当か。
いい感じの説明だな。
そうですね、なんかチャットGPT、そうですね、社内でも結構話題になったのは、
3月頃に結構話題に社内でもなって、
遊んでる人が何人かいたりっていう感じで社内でも結構話題になって、
世間とそんなに時差はないですかね。
そんな中で結構社内でどうやって使っていくかとか、
どういう遊び方をしてるだとかっていう感じでいろいろタイムツリー社内では使ってた感じなんですけれども、
今具体的にどういう感じの使い方をしてますかね、アンディは。
チャットGPTの社内利用事例
僕はですね、社内のスラックの方にランダムチャットGPTっていうチャンネルがあって、
チャットGPTのボットがいるんですね。
そのボットに対してメンションを送るとチャットGPTのAPIで返信をしてくれるみたいな機能のボットがいて、
そこに対して何かやっている感じですね。
なるほど。
そうですね。
このチャンネルは誰だっけ、ジールが作ってくれたんだっけ、APIへと。
そうですね、ジールが作ってくれたみたいですね。
早くできていましたよね。
そうですよね。
早いと思ったらもうチャンネルができてて。
早くできてましたね。
チャンネルの最初の発言はいつなんだろう。
チャンネルできたの3月14日?
API使えるよねってなってすぐ作りましたね、確かね。
一応社内、API経由で使っているんで、入力した内容が学習データに使われないとか、
そういうことも考えて作った感じでしたね。
本家で使うより使いやすいですよね、データ気にしなくてもいいみたいな。
安心して、一応社内情報はNGとなってはいるんですけれども、
どうなのかなみたいなところが学習されないとか、そういう安心感があるかなというところですね。
今本家ではオプトアウトのフォームをやらないといけないんでしたっけ、
そういう設定項目もできたんでしたっけ。
確かそういう話ありましたよね。
途中からそういう設定が出てきてフォームで申請したらみたいな話がありましたね。
アンディはちなみにここでどういう遊び方をしてるんですか?
そうですね、とりあえずどんなことできるのかなって適当なことを依頼してみたり、
あとは実際にコードも書いてみてほしいなみたいなのを思って、
ノーションのAPIを呼び出してプロパティの値を移行するような作業があったんですけど、
それをコードをGPTさんに生成してもらおうみたいな感じのことをチャレンジしてみました。
どうでしたか、成果的には。
成果的には、そうですね、結構ゼロからやるよりかは早くできたなみたいな形。
そのままのコードは使えないんですけど、試行錯誤するところがだいぶ減ったなみたいな感じで、
結構聞けばちゃんとそれっぽいコードを返してくれるみたいな形で、すごいやりやすかったですね。
GitHubコパイロットの活用とPythonコーディング
使い方のコードをいい感じに書かせるコツみたいなのとかってあったりするんですか?
要件を本当に明確にしっかり書くみたいな形ですかね。
ちゃんと依頼すればそれに合わせたものがちゃんと出てくる。
ちゃんとっていうほどでもないんですけど、そのまま使えるわけじゃないんで。
ある程度60点ぐらいのコードとかは出てきたりするので、微調整は自分でやったりみたいな形で使える。
圧倒的に0点から60点までの間をスキップできるみたいなところがすごい良かったですね。
コードを書くっていうところで言うと、ギットハブコパイロット。
会社でビジネス契約をこないだしましたけれども、コパイロットとかも結構あるかなと思うんですけど、そっちで使ってます?
もう使ってます。
バキバキに?
Androidで書いてますね。
どうですか?そっちの書き味は。
書き味はもうコパイロットがサジェストを出すように書くみたいな形で。
AIに使われる感じで。
AIをもう使いこなしてという感じで。
コパイロット僕もちょっとコード試して書いたことはあるんですけど、これはどんなタスクだったかな。
セントリーからAPIキーで発生したイベントのデータを取ってくるみたいなことをやろうと思って、
あんま書いたことないPythonのスクリプトを書いてみようと思って、Pythonでわざわざ書いてみたんですよね。
コパイロットとGPTの活用事例と課金制度の影響
その時にコパイロットに書かせてみたんですけど、知らない言語でもちょっとしたタスクこなすだけなら1時間ちょっとで思ったことができるので、
知らない言語を書くっていうか勉強するっていう意味でもいいなと思いながらちょっと使ってたんですよね。
わかります。
それは僕のさっきのNotion APIの話もそうなんですけど、
タイプスクリプトで書くっていう時にあんまり僕がそんなに慣れてるわけじゃないので、
やっぱゼロベースでやるってなるとちょっと大変だったんですけど、
多少読み書きはできるっていう程度なので、
もうベースを生成してしまえば調整するだけみたいなのはすごくやりやすかったですね。
AIがもたらすコーディングに対する影響っていうそういうところがありますよね。
ある一定のレベルまでを持ってくるまでがすごく早いっていうか、
すぐ進歩するんだろうと思うんですけど、
コンラクトの現時点で使ってる感覚としては、
それこそさっき言ってたように60点ぐらいのものが上がってくるから、
そいつを手直しするみたいな作業って感じですよね。
確かにその辺が今ちょっと実感としてはあるなと思いますね。
コパイロットにコードを書いてもらって、
GPTにそいつのテストを書いてもらうっていうのをちょっとやってもらおうと思ってて。
いいですね。確かにテスト結構生成してくれるって話ありますもんね。
前適当なコードでテスト生成してもらったんですけど、
全部の分岐のテストコードをガーって書いてくれるんで、
この分岐はいいかなみたいな感じで書けたり。
楽ですね。そういうのがすごいいいですね。
合わせ技で。
自分の仕事はほとんどそれを調整して、
一足半分をするぐらいの感じですね。
AIさんの橋渡しだけするみたいな。
VSコードだけかもしれないんですけど、
GitHubコパイロットラボっていうマイクロソフトが作ってるエクステンションがあって、
それを入れるとタイプスクリプトだとテストも書いてくれるみたいなんですね。
選択した範囲のテストを書いてくれるみたいなことをやってくれたり、
リファクタリングとかリーダブルにするみたいなこととかをやってくれるっていう機能が、
まだナイトリーだと思うんですけどあって、
僕とかはRailsなんで、Rubyでも早く使えるようにならないけど。
他の言語でもその機能を使いたいですね。
そうそう、使いたいなと思いながらちょっと触ってる感じなんですけど、
そういうのがどんどん出てくるかなっていう感じがしますね。
どうだろう、巷で言われてるのかわかんないんですけど、
AIに仕事が乗っ取れるかっていうと、
まだまだそこの感覚はないなっていう感覚はありますけど、
アンディどうですか?
そうですね、同じような形ですね。
AIによるコーディングの現状と限界
やっぱり判断みたいなところは人間に残されていくところなのかなみたいな感じはしていて、
あとは要件の受け渡しですよね。
何をして欲しいかはやっぱりAIは考えてくれないので、
自分が考えてAIに伝えるっていうところはもう残るのかなという感じですかね。
なんかTwitterとかでも見ますけど、
やっぱり人にうまく指示を出せる人がAIをうまく使えるというか。
チャットGPT話題になって割とすぐ会社の中では課金しようぜっていう動きが出て、
僕とか何人かはすでに社内で使える、
月額3万円の業務のためになると思うことに対して使えるお金、
倫理がなしに使えるお金っていうのがあるんですけど、
そこを使ってGPTとかあとコパイロット課金したりみたいなことを
みんなでやってる人は結構やってた感じですね。
なので別に新しいことが出てきたときに柔軟に使えるっていう感じもあって、
新鮮もなく使えるのですごく意味のある制度だなと思ってるんですけど、
多分スティーブとかだと思うと思うんですけど、
外部に発信しづらいですよね、こういうことってね。
自由すぎて。
なんかあれなんですかね、
この制度を使って我々はGPTに活用してますみたいなこととかが
言えるといいのかもしれないですよね。
でも多分この制度があるおかげで、
タイムツリーのエンジニアは割といち早く触れているとは思いますね。
コパイロットとかは確か2022年、
去年でしたっけね。
コパイロット自体は結構去年のうちにリリースされてて、
月間課金で出てたんですよね。
ちょっと僕、Ruby書いてるっていうのもあって、
タイムツリーと強いっていうイメージがすごい強かったのと、
あとプログラム書くのに、
自分はそれ以上のバリを出せるんだろうかみたいなすごい不安があって、
課金できなかったんですけど、
何か課金してるメンバーはいた気がしますね。
フロントエンドで割と早く使い始めてた印象がありますね。
そうですね。
実際、もうなきゃ生産性が落ちるみたいな声も。
そうですね。
僕はそういう声を聞いて、
ジェネレティブAIのリスク対策
ちょっとやってみなきゃなと思って、
さっきの3万円の話の制度のやつで、
実際体験してみてすごく良かったんで、
ちょっとみんなも使おうみたいな感じで、
初めからガイドの記事を書いたり。
そうですね。みんなガイドとか、
どうやって使うんだみたいなガイドとか、
リスクの話とかもあると思うんですけど、
こういうの使う、いざ会社として課金するってなった時に、
いわゆるジェネレティブAIのリスクみたいなことを考えなきゃいけないなと思って、
まだ弁護士さんに確認中のところではあったりするんですけど、
いくつかガイドラインをガーッと書いて、
こういうふうにとりあえず、
現時点ではこういうふうにガイドラインを作って、
こういうふうに使いましょうみたいなことを紹介したりとかは、
社内でしたりしてまして、
具体的に言うと、
GPTのところとかではよくあると思うんですけど、
社内情報を入れちゃうみたいな、
あと、コパイロットとかでやっぱり心配になったのは、
アウトプットのリスクっていうんですかね、
いわゆるコードの著作権とかソフトウェアライセンスっていうところがあって、
著作権侵害とかソフトウェアライセンス違反になってしまうっていうリスクがあって、
それについてまだ全然考えられてなかったなと思って、
いくつか考えたんですよね。
アンディとかってその辺のことで気になってたかなと思って。
そうですね、ライセンスとかはちょっと不安なところもあったので、
実際まとめてもらって、設定の方も変えてもらったりとかして、
これで一旦安心して使えるかなという感じがして。
難しいのは、確かにアメリカでまだ裁判してる途中で、
判決出てないんですよね。
こうすればとりあえず絶対安全なみたいなことを絶対言えないみたいな状況もあって、
問題が難しくなってるところなんですよね。
結構、まだうちはこうですみたいな外部的に発表できる状態にはなくて、
曖昧なものになっちゃうんですけど、やっぱりどうしても。
学習したデータが人間とAIと何が違うんだっていう問題とかもあると思ってて、
オープンソースのコードについて
そこら辺のちょっと哲学的な話とかも出てくるんじゃないかなって思ってたりします。
こういうことの結論を出すに至って。
ソフトウェアライセンスの話、スティーブとかだとわかりづらいと思うんですけど、
オープンソースのコードってライセンスがあって、
こういうふうに使ってくださいねみたいな言ってしまうと、
簡単な規約みたいな共通の規約みたいなのがいくつかあって、
よく言われてるのはGPLっていうライセンスで、
オープンソースで書いたこのGPLってライセンスで公開されてるコードを使う人は、
そのコードを使う人もGPLにしてくださいっていう規約になってて、
なかなか商用だと使いづらいライセンスだったりするんですね。
そういうライセンスとコードをGPTが生成してしまって、
それを含めてしまうとGPTのライセンスとコードがコードに含まれてしまうことになるんじゃないか、
みたいな議論が今ちょうどなされてるって感じで、
結論はないんですけど、
っていうこともあるなっていうところですね。
社内ガイドラインの運用
なんでそんなライセンスになってるんだみたいな話ちょっといろいろあると思うので、
今省きますけど、
それがAIが生成したからなのか、
人間がそれをGPLのコードを含めてして、
自分のコードに使いましたって言ったときに、
そういうことになるのかっていう問題は議論の観点とかでは出てくるんじゃないかなと思ってたりしますね。
結構いろんな要素が複雑に絡み合っててむずいですね。
そうですね。
今のところ社内のガイドライン的には、
いわゆるコンフィデンシャル取扱い注意っていう情報と、
社内情報、公開情報って3つぐらい区分分けて、
基本的には事前相談とか申請みたいなものもありつつ、
この区分だったら自由に使っていいよ、
ここだったら相談してね、
ここ申請必要だよみたいな区分けで運用しようとしてますよね、今ね。
そういう区分けでワークフローって言うんですかね、
それごとにワークフローを定めて、
こうしてくださいねみたいなことを定めることによって、
判断に困らないようにしようっていう動きは今、
ちょうどさっき話題に出たディールとかがやってくれてて、
すごい助かってますね。
もうちょっと身近な話とかで、
エンジニア的に身近な例とかで言うと、
生成したコードが長いと、
そういうコードがある特定のコードを元にしたコードが生成しやすいって話があって、
それ確かGitコパイロットのドキュメントかフォーラムかなんかに書いてあったと思うんですけど、
あんまり長いサジェクションを使わないようにしようというのは、
タイムツリーの社内のガイドラインでは定めてたりします。
Generative AI技術のリスクとアウトプット重視の開発事情
もう長いの基準がかなり難しいんですけど、
ちょっとラス2ペットぐらいにしようね、
みたいな1回の生成で使うものは、
みたいな形でやってたりしますね。
ただあんまり使い慣れてないから、
長いがどれぐらいのものなのかとか、
そういう判断が個々では難しいと思うんですけど、
そういうちょっとファジーな状態ではあるんですけど、
こういうことをするとリスクが増えるよ、
みたいなことだけ結構共有しているっていう感じで、
今は運用しているという感じになりますね。
でもあれですよね、
リスクとかどうしても会社でやる以上、
そういう話をしなきゃいけない日はいないんですけど、
アンディ使ってて楽しいですよね。
そうですね。
楽しく便利に使ってますね。
やっぱり定型的なコードとかは書くのもめんどくさくなるので、
そこはもうコパイロットに頼むみたいな形ですね。
僕らエンジニアとかになって10年以上経ってるんですけど、
結構若い人とかにとって結構いいんじゃないかなと思っていて、
なんか逆に若い人っていうか、
そういうエンジニア歴が短い人にとっても、
学習のショートカットができるんじゃないかなと思ったりして、
こういう使いこなしができる人はもうあっという間に、
言うとあれですけど戦力っていうか、
価値を出せるようになってくると思うっていうところもあって、
こういうものを使いこなしてアウトプットを出すっていうことを
結構繰り返すことが、
若手エンジニアの学習ショートカットとタイムツリーの柔軟な制度
全エンジニアにとってこれからどんどん重要になってくるんじゃないかなとは考えてますね。
いろいろリスクはあるし、まだ不透明なところもある新しい技術ですけど、
やっぱり使ってみるといいなって思うし、
こういうITの仕事をしているので、
なるべく新しいものをパンパン触って、
世の中がどう変わっていくのかっていうことを考えながら、
サービスについても考えていくみたいなことってすごい重要だと思っていて、
結構確かに世の中が変わるなって思った技術だなって思いますね。
久しぶりに。
そういうものを、当然お金かかったりするところをタイムツリーでは
わりと柔軟な制度でできるようになっていて、
そこがとてもいい会社だなって思います。
また今後も使い方とか、プロダクトへの活用とかもしかしたらあるかもしれないので、
社内の動向は発信していきましょう。
そうですね。
ありがとうございます。
ありがとうございます。
ありがとうございます。
19:52

コメント

スクロール