Slide 1

Slide 1 text

1 生成AIとの対話から 概念を見つけ、名前をつける 中山 慶祐 / GMO PEPABO inc. 2024.02.16 Developers Summit 2024

Slide 2

Slide 2 text

2 アジェンダ 1. 自己紹介 2. 名前をつける行為 3. 生成AIと命名 4. 生成AIを使った命名のプロセス 1. 提案 2. 評価 3. 自己検証

Slide 3

Slide 3 text

GMOペパボ株式会社 EC事業部 ECグループ プロダクトチーム エンジニアリングリード 2021年 新卒入社 3 自己紹介 中山 慶祐 Nakayama Keisuke あだ名: やんまー (yammer) Webアプリケーションエンジニア 趣味: 🤿, dotfiles盆栽, awk   @yammerjp

Slide 4

Slide 4 text

4 名前をつける行為

Slide 5

Slide 5 text

5 プログラマーが日常的に行う行為 的を得ていなくても 動くプログラムは作れる 動き続けるソフトウェアをつくることは難しい 命名していますか? 名前をつける行為

Slide 6

Slide 6 text

6 適切な名前をつけられると言うことは、その機能が正しく理解され て、設計されているということで、逆にふさわしい名前がつけられな いということは、その機能が果たすべき役割を設計者自身も十分理 解できていないということなのではないでしょうか。 “ 名前重要” 名前をつける行為 出典: Kevlin Henney(編)、和田卓人(監修) 夏目 大 (訳)『プログラマが知るべき97のこと』 (オライリー・ジャパン、2010年) まつもとゆきひろ

Slide 7

Slide 7 text

7 正確性と簡潔さ 抽象度のバランス 他言語での命名 命名は難しい 名前をつける行為

Slide 8

Slide 8 text

8 生成AIと命名

Slide 9

Slide 9 text

9 ChatGPTやGitHub Copilotは命名に広く使われている ☺ 適当な発話を元に、発想を膨らませられる ☺ 英語に精通していなくても様々な語彙をもとに選べる ☺ 良さそうな名前かどうか、意見をもらう 生成AIで 命名はいくらか楽になった 生成AIと命名

Slide 10

Slide 10 text

10 生成AIを使った命名のプロセスを 整理 生成AIと命名 自己 検証 評価 提案

Slide 11

Slide 11 text

11 生成AIを使った命名のプロセス

Slide 12

Slide 12 text

12 生成AIを使った命名のプロセス 提案 生成AIに、命名の案を提案させる 複数出させ、比較する 「〇〇をする関数名の候補を10つ挙げてくださ い」 「〇〇を記録する、◻◻テーブルのカラム名とし て適切なものを5個挙げてください」 概 念 名 前

Slide 13

Slide 13 text

13 生成AIを使った命名のプロセス 提案

Slide 14

Slide 14 text

14 生成AIを使った命名のプロセス 評価 生成AIに、命名案を評価させる 説明させ、意図したものか確認する 「〇〇という関数は、どのような振る舞いをする と予想されますか?」 「◻◻.〇〇というテーブルに記録された値の表 すものを説明してください」 概 念 名 前

Slide 15

Slide 15 text

15 生成AIを使った命名のプロセス 評価

Slide 16

Slide 16 text

16 生成AIを使った命名のプロセス 自己検証 生成AIとの対話から、対象の概念 への、自身の理解が適切か確認 「厳密には、〇〇な場合では△△の振る舞いをす る場合もあります。このことを考慮して、元の◻◻ を代替する、より適切な名前の候補を5つ挙げて ください」 概 念 名 前

Slide 17

Slide 17 text

17 生成AIを使った命名のプロセス 自己検証

Slide 18

Slide 18 text

18 まとめ

Slide 19

Slide 19 text

19 生成AIとの対話から、以下のプロセス を通し、概念を見つけ、名前をつける まとめ 自己 検証 評価 提案

Slide 20

Slide 20 text

生成AIは命名のナイスガイな相棒 悩んだら相談しよう! 20