Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AIと二人三脚で OSSにコントリビューションしてみた/I tried contributin...
Search
デロ
May 28, 2026
Programming
30
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
80
ISUCON、今年も参加してみた / ISUCON, I challenged it again this year.
dero1to
0
900
カンファレンスの「アレ」Webでなんとかしませんか? / Conference “thing” Why don't you do something about it on the Web?
dero1to
2
290
JetBrains Plugins
dero1to
0
120
私が技術イベントで 配信をする理由 / Why I live-stream technical events
dero1to
0
1.5k
技術イベントをもっと低遅延でお届けする技術
dero1to
0
140
JetBrainsIDEに入門してみた
dero1to
0
84
Other Decks in Programming
See All in Programming
RSSとCodexを使ってX投稿自動化してみた
ochtum
0
110
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
4
3.2k
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.8k
MIZARU@SPAJAM2026 第二回予選
1901drama
0
110
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
4.4k
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
130
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
220
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
0
400
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
130
Building an Out-of-Order CPU
latte72
1
730
What We Talk About When We Talk About XP
m_seki
2
410
Featured
See All Featured
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
710
The agentic SEO stack - context over prompts
schlessera
0
910
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Visualization
eitanlees
152
17k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Exploring anti-patterns in Rails
aemeredith
3
500
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を作っている⽅々 いつも本当にありがとうございます