Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AIと二人三脚で OSSにコントリビューションしてみた/I tried contributin...
Search
デロ
May 28, 2026
Programming
17
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AIと二人三脚で OSSにコントリビューションしてみた/I tried contributing to OSS working hand-in-hand with AI
PHP勉強会@東京 #187 #phpstudy
https://phpstudy.connpass.com/event/391794/
デロ
May 28, 2026
More Decks by デロ
See All by デロ
Bref Cloudに入門する / Getting Started with Bref Cloud
dero1to
0
70
リリースされたばかりのLaravel Cloudを触ってみた / try-the-just-released-Laravel-cloud
dero1to
0
110
PHPを使ってFFmpegに入門してみる / Introduction to FFmpeg using PHP
dero1to
0
70
ISUCON、今年も参加してみた / ISUCON, I challenged it again this year.
dero1to
0
520
カンファレンスの「アレ」Webでなんとかしませんか? / Conference “thing” Why don't you do something about it on the Web?
dero1to
2
280
JetBrains Plugins
dero1to
0
110
私が技術イベントで 配信をする理由 / Why I live-stream technical events
dero1to
0
780
技術イベントをもっと低遅延でお届けする技術
dero1to
0
130
JetBrainsIDEに入門してみた
dero1to
0
82
Other Decks in Programming
See All in Programming
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
150
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
190
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
17k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
500
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
3.1k
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
450
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
160
継続モナドとリアクティブプログラミング
yukikurage
3
670
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
560
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
180
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
200
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
130
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
1
3.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
350
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
What's in a price? How to price your products and services
michaelherold
247
13k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
880
Paper Plane
katiecoart
PRO
2
52k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
340
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Design in an AI World
tapps
1
270
Transcript
AIと⼆⼈三脚で OSSにコントリビューションしてみた PHP勉強会@東京 #187 デロ | @dero1to
@dero1to 所属 株式会社キュービック Webエンジニア 技術 Ruby、Rails、PHP、Laravel 趣味 ドライブ、ダーツ、アニメ、⾃宅鯖 カンファレンスのスタッフ、配信 デロ
運営 ・PHP勉強会@東京 ・PHPカンファレンス⼩⽥原・愛媛 2026 ・EMTEC
OSSに Contribution したことありますか?
⾃分は今回はじめて OSSに Contributionしました
LT(体験談)
今回、初めて⾃分がContributionしたOSS
PHPのじゃなくてごめんなさい!
今回、初めて⾃分がContributionしたOSS
なぜContributionしたのか
本業で困ったから
なぜ困ったのか 担当しているシステムで⾊々なライブラリのバージョンアップの対応をし ていたところ、Google広告のSDKを更新した際に認証が通らなくなった
困ったけどどうしよう • まずは Issuesを⾒に⾏った
困ったけどどうしよう • まずは Issuesを⾒に⾏った → 他の⼈で困っているといった様⼦は無い。。
困ったけどどうしよう • まずは Issuesを⾒に⾏った → 他の⼈で困っているといった様⼦は無い。。 → 急ぎではなかったので、⼀旦保留にした
困ったけどどうしよう • まずは Issuesを⾒に⾏った → 他の⼈で困っているといった様⼦は無い。。 → 急ぎではなかったので、⼀旦保留にした そろそろなんとかしないと⾏けなくなってきた
困ったな
AIの⼒を借りよう
ただし、AIの⼒は借りつつも 出来る限り⾃分が理解して出したい
AIと⼈間の⼆⼈三脚
• 原因を特定するためにどのバージョンから発⽣したかを調べる まずは調査フェーズ
• 原因を特定するためにどのバージョンから発⽣したかを調べる → v38.0.0 以降で発⽣ まずは調査フェーズ
• 原因を特定するためにどのバージョンから発⽣したかを調べる → v38.0.0 以降で発⽣ • v37.0.0~v38.0.0の間でどんな変更が合ったかをAIと共に調べる まずは調査フェーズ
まずは調査フェーズ • 原因を特定するためにどのバージョンから発⽣したかを調べる → v38.0.0 以降で発⽣ • v37.0.0~v38.0.0の間でどんな変更が合ったかをAIと共に調べる → MetadataInterceptorというのが追加され、
代わりに今までの認証情報の受け渡しの処理が削除されていた
まずは調査フェーズ • 原因を特定するためにどのバージョンから発⽣したかを調べる → v38.0.0 以降で発⽣ • v37.0.0~v38.0.0の間でどんな変更が合ったかをAIと共に調べる → MetadataInterceptorというのが追加され、
代わりに今までの認証情報の受け渡しの処理が削除されていた MetadataInterceptorって何者?
機能追加のPullRequestを⾒てみる メタデータヘッダーを Google API Clientで共通化するために導⼊されたものらしい
対応できるなら MetadataInterceptorの 流れに沿った⽅がよさそう
AIに⾊々調べてもらった
AIに⾊々調べてもらった google-ads-googleads gapic-common grpc <AIからの回答> gapic-common で gRPC を呼び出し をする際のオプションをgRPC側が破棄
してしまっている
AIに⾊々調べてもらった google-ads-googleads gapic-common grpc なるほど、 よく分からん <AIからの回答> gapic-common で gRPC
を呼び出し をする際のオプションをgRPC側が破棄 してしまっている
AIに⾊々調べてもらった google-ads-googleads gapic-common gRCP <AIからの回答> gapic-common で gRPC を呼び出し をする際のオプションをgRPC側が破棄
してしまっている gRPCにバグがありそう
gRPCのバグの情報がないか調べる
gRPCのバグの情報がないか調べる
gRPCのバグの情報がないか調べる コードの情報までは難しくて追えなかったが時系列を追いかけてみた
gRPCのバグの情報がないか調べる コードの情報までは難しくて追えなかったが時系列を追いかけてみた 数年前にgRPCで不具合が起票されていたが、流れて時間経過でクローズ されてしまった。その後Issuesの再Openの話が上がっていたものの結局 再Openされず、ちょうど⾃分が⾒に来る少し前に別の⼈が新たにIssues が作成されていた
ここで悩みます
何を悩んだのか • 結局原因のちゃんと理解したわけではない • gRPCの問題を直す技術⼒はない • 今回使いたいライブラリを使えている⼈がいそう
半分メンテナーに相談する 気持ちで出してみよう
Issuesを書く • どんなバグが起こっていそうか • 再現するためのコードとバージョンの情報 • エラーログ • 回避案
⽇本語では説明できるけど、 英語でちゃんと伝えられるのか
AIを使って英語化する 複数のAIモデルを使って、伝わるかを推敲 ⽇本語 -> 英語 -> ⽇本語にしたり、 ニュアンスの気になるところを直していく
いざ、Issues!
Issues出せた!😄
いや、、 せっかくなら もうちょいやってみよう
PullRequestを作る • MetadataInterceptorが⼊る前のコードを復元する • 恐らくgRPC側のバグが修正されれば治りそうなのでその旨を記録 • ちゃんとテストコードを書く
PullRequestも出せた!😄
😴
🌅
翌朝 メンテナーの⽅がApproval & Merge してくれていた!
数⽇後
無事にリリース ⼿元の環境にインストールして、動作確認 無事に新しいバージョンを利⽤できるように!
まとめ • ⾃分が困っている課題は⾃分が表現しないと伝わらない • AIを使いつつも⾃分なりに努⼒をしてみると結構楽しい • ⾃分が寝ている間にもOSSをメンテナンスしてくれている⼈がいる OSSを作っている⽅々 いつも本当にありがとうございます