登壇者の自己紹介

池田将氏:コミューン株式会社の池田将と申します。めちゃくちゃ緊張しています(笑)。登壇は初めてで、GitHubの方もいて、今「すごいな」と思っている感じです。コーディングの話を先に紹介していただいたので、順番に恵まれたなと思います。

軽く自己紹介をして、コミューンがどうやって「GitHub Copilot」を導入したのかを説明した後、活用事例を紹介させてもらえればと思います。

コミューンは、2つのプロダクトを作っています。ビジョンは「あらゆる組織とひとが融け合う未来をつくる」で、コミュニティ作りに特化したプロダクトの「commmune」と、営業・CSのアクションを最速で効率化するプロダクトである「SuccessHub」の2つを提供しています。

私は、コミューンのエンジニアリングの部署で、SREチームとして活動しています。「最高のスピード・品質で作る」というのを目標に、セキュリティ周りの対応やインフラの構築などを行っています。コミューンには、2023年3月より入社しています。IaC、パブリッククラウドなどが非常に興味のある領域です。

IKEAのサメが大好きで、サメちゃんのアイコンです。小さいのもいるので、みなさんも一家に一台サメちゃんをぜひお願いします。

ビックウェーブに乗り、試験導入から1週間で「GitHub Copilot」を正式導入

コミューンで、どんな感じに導入したのかというと、AIチャットですね。みなさんご存じだと思いますが、ビジネスサイドの中で非常に話題になり「AIチャットの開発とかをガンガンやっていこうぜ!」という流れが社内でできています。弊社のエンジニアマネージャーから(要望が)来て、個人的にGitHub Copilotを使っていたので、その流れに乗っかって「試験導入したいです」という流れですね。

導入してから社内でアンケートを取った結果を基にしたり、社内のSlackで活用事例を紹介するチャンネルを作ったりして、そこで「こんなことをやってみた!」「すごいぞ!」とみんなでワイワイやっていました。その結果もあってか、1週間で正式導入ができて、Copilotと共に仕事をしている状況です。

コメント生成や文章の補助に活用

ここから活用事例についてお話しさせていただければと思います。Copilotを非常に使っている方にとっては「もうそれ知っているよ」ということがけっこう多いかもしれないですが、初めて使う方は「こういうことができるんだな」と思ってもらえると。

私は、SREのバックエンドのアプリケーションとかはふだん書きません。コードというよりは、IaCのコメントを書いたり、そのドキュメントを書いたりしています。朝起きた時や夕方もミーティングとかで疲れてしまった時とかにCopilotがいい感じに提案してくれるので非常に助かっています。

例えば、IaCをTypeScriptで書いているのですが、プロパティを定義した後にコメントを書こうとすると全部書いてくれたり、あとは下のコンテナの依存関係を一応定義しているのですが「コンテナの依存関係はこうなっています」みたいなコメントをもう勝手に作ってくれて、どうやって判断しているんだろう? と(笑)。

裏側は本当にわからないのですが、「(服部佑樹氏が)意識しなくていい」と先ほどおっしゃっていたので、意識せずに、正しいので採用しています。

あとはブログを書いている時、今回みたいにトークテーマを下書きで書いている時、次に何書こうという時に提案してくれるので「あぁ、そんな感じに聞けばいいのか」とか、「いや、そうじゃないんだよな」みたいな自問自答をCopilotと一緒にやっている感じです。

自然言語の翻訳ツールとして活用

突然なんですが、みなさん英語は得意ですか? 私は英語は不得意です(笑)。コミューンは組織もシステムも今は英語化というのが普通になってきていて、非日本語話者のメンバーも増えてきていますし、プロダクトとして英語版の事業もあったり、英語がなくてはならない存在にけっこうなってきているんですね。

Slackに翻訳BOTも入っていたり、コードのコメントは基本的に英語で書きましょうという状況になっています。

そこで、Copilotが私の代わりにすべて英語で書いてくれるという感じです。国際化で対訳データを生成したい時とかに、これはもう先に英語で書いている時点で(翻訳結果が)わかってしまっているんですけど(笑)。構造を保ったまま日本語を書いてくれるというのが非常に便利なところかなと思っています。

あとは、例えばコメントを日本語を先に書いて、英語にする。in Englishとか。これが効いているかとか、コメントを書かないと効かないかというのは、たぶん必ずしもそうではないと思うんですけども。おそらくなんとなく意図を汲み取って、英語をいい感じに書いてくれるので、非常に助かっています。

例えば自己紹介だと、とりあえず空のファイルを開いて日本語を書いた後に「英訳すると」と言うと、複数行でもガンガンやってくれます。以前は、翻訳時にセキュリティに問題がある文言は、AとかBとか単語に直して「英訳かけて」と言ってAIに訳させていたのですが、そんなことは必要なくなったので、非常にスピーディに翻訳ができていると思います。

「Copilot Chat」もけっこうイケてる

最後に、「Copilot Chat」についてちょっと紹介させていただければと思います。AIチャットツールでは、緑の(アイコンのチャットアプリ)がよく話題に上がるのかなと思っています。エンジニア間では、先ほどのCopilotがけっこう話題になっているのでイメージしやすいと思いますが、けっこうチャットもイケてるぞというのを紹介して終われればなと思います。

速度は、裏側がたぶん同じというのもあって、そんなに差はありません。実際に使い勝手でいうと、ショートカットが3つもあって、アクセスするハードルが非常に下がっているんですよね。1秒でも2秒でも短縮できたら、すごく時間短縮になるだろうと思います。Copilot Chatの汎用性はどうなの? というところがあると思いますが、意外とCopilotで事足りるぐらいの活用範囲があるんだなと、使っていて思っています。

コードの解説・要約・カジュアルな質問・機能仕様の修正…活用事例はさまざま

これはよく事例として挙がると思いますが、コードの解説ですね。ただ説明させると英語で出てきてしまうので、「日本語で」と加えるといい感じに日本語で説明してくれます。ただやはりちょっと説明が短くなってしまうので、一度英語で説明をさせてから、次に「日本語にして」という感じで言うと、思ったとおりの説明かつ日本語でしてくれます。英語力がなくてもCopilotに説明させることが可能になると思います。

ここからは、よくあるCopilot Chatの使い方になりますが、「ブログ記事を要約してください」と言うと、普通に日本語でも要約してくれますね。こういった使い方もできますし、例えばブログなどで最後にconclusionをチャットに書かせることもできるのかなと思っています。

例えば英語の記事を理解したいけれど、全部訳して全部溜めるとそれはそれで面倒くさいなという時は、とりあえず「要約してください」と(言ってみる)。すると、英語のブログ記事を日本語に要約してくれます。この例は、弊社のAlekseiというエンジニアが書いたブログを要約しています。だいたい内容は合っていると思います。

他にも、カジュアルに質問するのでもぜんぜんいいかなと思います。頭の整理をしたり、わからないことはとりあえずチャットに聞いたりして最初の調査の足掛かりにしてもらってもいいのかなと思っています。

コーディングや要約以外だと、例えば機能仕様の修正とかも全部やってくれます。これは弊社のQAエンジニアが「Notion AI」を使っていたのをCopilotにもやってみてもらったという感じですね。精度もどちらかというとCopilotのほうがいいんじゃないかなというので、非常に便利だなと感じています。

ちょっと最後におまけですが、「VS Code」じゃないとCopilot Chatは使いにくいかなと思うので、チャットっぽいなにかがいるよというのだけ最後に紹介させてもらおうかなと思います。q:で「何をしているのかな?」と質問をやると、意図を汲み取って、アンサーはこんな感じで会話もコード上でできますよという紹介です。

ご清聴ありがとうございました。エンジニアをはじめカジュアル面談も募集しているので、ぜひご連絡ください。ありがとうございました。

(会場拍手)