天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

Qiita Night~"ChatGPT"などの活用方法を発信しよう!~に参加してきた

increments.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

以下、イベントページから引用です。

本イベントは、日本最大級*のエンジニアコミュニティ「Qiita(キータ)」を運営する当社が実施するオンラインのテックトークイベントです。

イベントごとにテーマを設け、技術についての知見を共有し合うQiita Nightを実施しています! Qiitaトップコントリビューターを中心に、テーマについて深い知見を持っている方にご登壇いただき、LTをしていただきます。

これを機に登壇者とも繋がり、気軽に情報交換や質問ができる場を作りたいと考えています。 イベント中の質問やご意見も大歓迎!関心のあるテーマの知見を深めるきっかけとしていただければ何よりです。

※「最大級」は、エンジニアが集うオンラインコミュニティを市場として、IT人材白書(2020年版)と当社登録会員数・UU数の比較をもとに表現しています。

会の様子

「最近のGPTのあれこれまとめ」  by徳永さん

最初に徳永さんから、OpenAIのGPT関連の流れ&ChatGPT移行の研究をざっくりと紹介してくれました。

OpenAIのGPT関連の流れとしては、

  • GPTからGPT-3まではパラメータ数とデータサイズを増やして性能向上
  • RLHFで人間の好みに沿った文章を生成するようにGPT-3を学習したGPT3.5
  • 会話特化にしたChatGPT
  • 画像もわかるようにしたGPT-4
  • 外部知識を活用したのがChatGPT Plugins

...という変遷を簡単に紹介してくれました。*1

また、ChatGPT移行の研究としては、

  • MetaがLLaMA(LLM)で重みを公開
  • LLMをChatGPTの入出力データでファインチューニングした結果、ChatGPTに匹敵する性能を叩き出したが商用利用不可
  • 商用利用可能なOpenAssistant / Dolly2.0の公開がされ、オープンソースのChatGPTが出始めつつある

の紹介がありました。

「新たなプログラミングパラダイム:対話によるプログラミング」 by寺尾さん

続いて寺尾さんから、LLMでプログラミングがどのように変わるのか?という話を聞いていきました。

2021年6月に発表されたGitHub Copilotはあくまでもプレビューでしたが、そこからGPT-3.5, GPT-4へと進化したという簡単な流れの後、プログラミングにどう活かせるのか?という話を聞いていきました。

プログラミングに活かせると寺尾さんが考えている点としては、

の3点が大きいと考えているそうです。ただし、

  • コンテキストの制限がある(1,500行程度のみ)
  • デバッグ(論理を正確に追うのが苦手なので、矛盾した状況(バグが出ている状況)でその矛盾を解消するのが苦手)

の2点はまだまだ得意じゃないと考えているそうです。

「ChatGPTを最強の学習ツールにする方法」 by小林さん

次に小林さんから、プログラミングを学ぶ際にどのようにChatGPTを活用していくとよいのか?という話がありました。

発達の中では、具体的に以下のような方法が紹介されていました。

  • カリキュラム作成(自分自身のレベル感と、何をどのくらいで学びたいかを伝える。ふわっとしているのは例題を作ってもらう)
  • 本を読んでいるときに理解が怪しい部分を具体的に聞く
  • わからない単語を聞く(ここでもレベル感を伝えることが重要)
  • 書籍に記載されているサンプルコードを別言語に変換してもらう
  • 「言語で一般的な〜」と型を伝えた上で変数名を考えてもらう
  • エラーコードをそのまま貼り付けて解決方法を聞く
  • 期待値と現実を教えて実装を教えてもらう
  • ChatGPTとペアプロする(ChatGPTがドライバー)。要件と制約を伝える
  • レビューしてもらう(優しくレビューしてもらうことも可能)
  • (GPT4以降は)図で教えてもらう
  • その他*2(コードの解説、リファクタリング、テストコードを書いてもらう、書籍を提案してもらう、バージョンの違いによる記述方法を教えてもらう、ドメインモデリング、ペルソナ設定、サービスのアイデア出し...)

「ChatGPTをエンジニアはどう受け止めるべきか」by 逆瀬川さん

続いて逆瀬川さんから、GPT4以降の開発フローとエンジニアとしてどう受け止めると良いのか?という話を聞いていきました。(ネタもふんだんに盛り込まれたゆるい雰囲気の発表でした)

今後の開発フローとしては、Copilot Xの発表内容から考えると、実装補助/理解補助/作業補助の3点をサポートしてくれるようになるだろうということで、エンジニアの作業も、「仕様書作成→実装→わからない部分の調査」の流れから、「仕様書作成→ChatGPTが仮実装→細かい部分を修正」の流れになる現場が増えてくるのではないか?というお話がありました。

また、AIツールにも進歩があるのではないか?ということで、

  1. AIをツールとして使う
  2. AIの補助で人間が実行する(ナビゲーターはGPT-4)
  3. 人間の補助でAIが実行する(ナビゲーターは人間)
  4. AIが実行する

の流れで進化すると予想しているという話が出ていました。*3

最後にエンジニアとしての心構えとして、なんとかAIができないことをしようとするのではなく、「AIができても誰ができても、自分はこれがやりたいんだ!」と思うものに取り組むことの方が大事ではないか?というまとめで発表が締めくくられました。

「Qiita 株式会社における ChatGPT の布教と活用 」by 千葉さん

最後に千葉さんから、QiitaがChatGPTをどう見ているのか?という話と、ChatGPTをどのように活用しているのか?という話がありました。

Qiitaでは、ChatGPTのことを自社サービスにとって影響が非常に大きい存在だと捉えているということで、

  • ユーザーがAIの補助を得て記事を書きやすくなるが、誤った内容が書かれ得る
  • 技術的な問題を解決するフローが検索からGPTへと大きく変わる
  • 今後の問題解決フロー次第では、フィードバックのもらいやすさに大きな影響がある

と考えているそうです。
ただ、QiitaではAIだからサービスから締め出そうとは考えてはいないそうで、積極的に利用していきたい方向で考えているということでした。

利用の方向性としては、

  1. まずは社内で活用する
  2. ユーザーに提供できる価値があるかを検証する
  3. Qiitaユーザーに実際に価値を届ける

を考えているそうで、現在は2のフェーズだということです。
取り組みとしては、ChatGPTを活用したbotを作ってSlack上で積極的に使ったりしているということで、社内布教やナレッジの蓄積がどんどん進んでいるということでした。

会全体を通した感想

発表のトーンも種類も内容も多種多様な話が聞けて面白かったです。

初めて触ってみるときの観点が色々な立場から整理できたイベントでした。

*1:流れはあくまでも目安

*2:時間の問題で触れられなかったもの

*3:なお、逆瀬川さんが実際に使うときは、依頼内容・仕様(処理の流れ)・参照ドキュメントをプロンプトに渡すようにしているそうです。