Slide 1

Slide 1 text

動くと思う⼈!✋

Slide 2

Slide 2 text

動きません! ※ 間接オブジェクト記法のせいです。解説しません!

Slide 3

Slide 3 text

AIも間違えてました!

Slide 4

Slide 4 text

+をつけたら動きます✌

Slide 5

Slide 5 text

最悪😡

Slide 6

Slide 6 text

use v5.42 しましょう!

Slide 7

Slide 7 text

Perlは初学者泣かせ ● AIも泣かせる ● 最近のPerlはこういったところを改善

Slide 8

Slide 8 text

オブジェクトの判定

Slide 9

Slide 9 text

例外処理

Slide 10

Slide 10 text

インデックス付きの反復処理

Slide 11

Slide 11 text

複数の値を同時に使う反復処理

Slide 12

Slide 12 text

関数の引数

Slide 13

Slide 13 text

名前付き引数

Slide 14

Slide 14 text

テストフレームワーク

Slide 15

Slide 15 text

おまじない

Slide 16

Slide 16 text

1; いらない!!

Slide 17

Slide 17 text

けれど、AIが空気読んでくれない!

Slide 18

Slide 18 text

しょうがない? ● 旧時代のコンテンツをたくさん学習しているから ● perldocに新旧の情報が両⽅書かれている

Slide 19

Slide 19 text

AI⽤にドキュメントを書く

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

ノウハウを書くのも⾯倒 ● 悪い意味で怠惰? ● AIに書かせればいいじゃん ● → うーん🧐 ● 新旧混ざると、Perlを理解していないとドキュメントの 良し悪し判断できない ● → Perlのエキスパートでないとダメ

Slide 22

Slide 22 text

本書いた!(無料) ● これで⼈間もAIも学べる! ● AIが利⽤しやすいように 切り刻み放題!

Slide 23

Slide 23 text

もうひとりの⾃分からのお便りが

Slide 24

Slide 24 text

「動くなら別に良いのでは?」 ● 「機能要件は満たしているんでしょ?」 ● 「新しい書き⽅にしてデグレしそう。古いままでも良 い?」 ● 「Perlの後⽅互換性なら動き続けそう」 ● 「AIが更新をするなら書き⽅はどうでも良いのでは?」

Slide 25

Slide 25 text

そうかもだけど、そうじゃない! ● 未来を運に任せたくない ● 統⼀されるに越したことない ○ TMTOWTDI BSCINABTE ● デグレが怖いなら、どうすれば良いか考えよう

Slide 26

Slide 26 text

TMTOWTDI BSCINABTE “There’s more than one way to do it (TMTOWTDI / Tim Toady). But sometimes consistency is not a bad thing either (BSCINABTE / Bicarbonate)” やり⽅は⼀つだけじゃない。けれど、⼀貫性を保つことは悪 くないこともある。 「 Perl 重曹」で検索!

Slide 27

Slide 27 text

Q. Try::Tiny と feature tryは共存できるの?

Slide 28

Slide 28 text

A. no feature を使おう スコープ単位で挙動を切り替えられて最⾼!

Slide 29

Slide 29 text

Q. Use of non-ASCII character って何?

Slide 30

Slide 30 text

A. 理想は use utf8

Slide 31

Slide 31 text

そもそも基本utf8していれば困らないのでは? ● それはそう ● → Perl::CriticにPR送った。マージされてほしい! ○ https://github.com/Perl-Critic/Perl-Critic/pull/1098

Slide 32

Slide 32 text

ここまでまとめ ● Perlには多様な書き⽅があり、AIも惑う ● 初学者泣かせな書き⽅の改善を取り⼊れるには? ● 情報が新旧混ぜこぜで混乱するなら... ● 参照先になる最近のPerlの本を書いた(無料) ● → これをAIに使ってもらいたい

Slide 33

Slide 33 text

AIは本をそのまま飲み込のは苦⼿? ● コンテキストウインドウを圧迫する ○ 未来はわからないけど ● 必要なタイミングで必要な情報だけ取得してほしい ● 確実に適⽤したい ○ この後のnikkieさんのLTで!

Slide 34

Slide 34 text

Hono CLIアプローチ ● 探す、 詳細、 テスト機能をCLIで提供 ○ CLIだと ■ どのAIツールにも組み込み易い👍 ■ token消費も少ない👍 ○ 中⾝は、Algoliaでの全⽂検索と、AI向けの公式ドキュメ ントの参照→参照先が必要

Slide 35

Slide 35 text

AIが参照しやすいように 情報をまとめるぞ!

Slide 36

Slide 36 text

perldoc-ai ● AI向けにperldocをまとめ直す ● 新旧の事情を混ぜない ● 開発中🚧

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

CPANモジュール to Claude Skill ● AI向けにCPANモジュールの使い⽅の要点をまとめ直す ● マイナーモジュールでも👍 ○ https://github.com/kfly8/claude-cpan-plugins

Slide 41

Slide 41 text

汎⽤知識の参照先ができて 👍

Slide 42

Slide 42 text

もっと空気を読んで開発したい ● cpanfileに宣⾔された依存モジュールを優先参照? ● 反例 「依存してても利⽤したくないモジュール」 ● cpanfileに優先度の⽬印をつけて、ドキュメント⽣成?

Slide 43

Slide 43 text

cpanfile CPANモジュール claude skill perldoc perldoc-ai summary 汎⽤知識 CLAUDE.md ⽣成 モジュールに利⽤優先度設定 ⾃分で書いた perlの本 LLMs.txt? プロジェクト固有知識

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

もっともっと空気を読んで開発したい ● AIは既存のコードを真似する ○ 古いコードも真似する←勘弁してほしい ○ 最近の事情とかも加味したい ● etc ○ 仕様書、QAデータ、ユーザーインタビューなどなど⾷ わせたいとか⾊々あるけど

Slide 46

Slide 46 text

ここまでまとめ ● コーディングエージェントの精度を⾼めるために ● AIフレンドリーなドキュメントを整えたい ○ 公式ドキュメント、モジュール各種のサマリー ○ 検索、サマリー、詳細

Slide 47

Slide 47 text

1.5年後の未来は?

Slide 48

Slide 48 text

何もせずとも解決しかねない

Slide 49

Slide 49 text

けど!

Slide 50

Slide 50 text

こうだったろうどうだろう? あーなったら良いな!って ガチャガチャするのが楽しい!

Slide 51

Slide 51 text

やっていき!

Slide 52

Slide 52 text

プロジェクトの空気を読んで 開発してくれるPerlのAIツールがほしい YAPC::Fukuoka 2025

Slide 53

Slide 53 text

⾃⼰紹介 ● kobaken a.k.a @kfly8 ● 経歴 ○ YAPC::Hiroshima 2024 実⾏委員⻑ ○ YAYAPC::Hiroshima スポンサー ○ 元Japan Perl Association理事 ○ 元エンジニア組織開発責任者 ● 現在 ○ 個⼈事業主 ○ 9歳と1歳の娘の⽗