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
23
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
75
リリースされたばかりのLaravel Cloudを触ってみた / try-the-just-released-Laravel-cloud
dero1to
0
110
PHPを使ってFFmpegに入門してみる / Introduction to FFmpeg using PHP
dero1to
0
78
ISUCON、今年も参加してみた / ISUCON, I challenged it again this year.
dero1to
0
700
カンファレンスの「アレ」Webでなんとかしませんか? / Conference “thing” Why don't you do something about it on the Web?
dero1to
2
290
JetBrains Plugins
dero1to
0
110
私が技術イベントで 配信をする理由 / Why I live-stream technical events
dero1to
0
1.1k
技術イベントをもっと低遅延でお届けする技術
dero1to
0
130
JetBrainsIDEに入門してみた
dero1to
0
84
Other Decks in Programming
See All in Programming
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
560
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
590
源内ハンズオン概要編
hideg
0
200
React本体のコードリーディング
high_g_engineer
1
150
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
350
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
260
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
240
Flow は今どうなっているか
mizdra
PRO
0
660
Oxlintはいいぞ(続)
yug1224
1
320
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
270
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
220
プロポーザルを書いてもらう
pvcresin
0
570
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Docker and Python
trallard
47
4.1k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
270
Statistics for Hackers
jakevdp
799
230k
エンジニアに許された特別な時間の終わり
watany
108
250k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
350
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
550
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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を作っている⽅々 いつも本当にありがとうございます