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時代におけるSRE、 あるいはエンジニアの生存戦略
Search
Kazuhiko Yamashita
November 12, 2024
Programming
2.1k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI時代におけるSRE、 あるいはエンジニアの生存戦略
AI時代におけるSRE、あるいはエンジニアの生存戦略 - Infra Study Returns#2でお話しました。
Kazuhiko Yamashita
November 12, 2024
More Decks by Kazuhiko Yamashita
See All by Kazuhiko Yamashita
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2.5k
継続的な負荷検証を目指して
pyama86
3
1.8k
成長期における、 ユーザー領域の複雑さと 整備の進め方
pyama86
1
750
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
2
6.6k
Managing Database Migrations in Go Backend Systems
pyama86
0
560
新しい職場の CI が 20 分かかっていたらあなたならどうする?
pyama86
2
1.5k
事業を差別化する技術を生み出す技術
pyama86
4
2.3k
Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ
pyama86
9
11k
Tuning GraphQL on Rails
pyama86
2
2.9k
Other Decks in Programming
See All in Programming
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
110
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.4k
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
2
840
MySQLとPostgreSQLって何が違うの?
akagami
0
150
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.6k
不幸な GC
chencmd
0
840
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
8k
「人を評価する AI」の設計と実装
ryoyanara
0
270
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
630
Gradle-Plugin-in-2026.pdf
ryunen344
1
120
ALB ログから Trace を気合で繋げる技術
fohte
7
820
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
490
Featured
See All Featured
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
800
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Mobile First: as difficult as doing things right
swwweet
225
10k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
530
The SEO Collaboration Effect
kristinabergwall1
1
540
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
260
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Darren the Foodie - Storyboard
khoart
PRO
3
3.8k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
310
Transcript
AI࣌ʹ͓͚ΔSREɺ ͋Δ͍ΤϯδχΞͷੜଘઓུ εϚϒϥɺ͍ͭ·ͰܦͬͯVIPʹͳΕͳ͍ΜͰ͚͢Ͳฤ
ࢁԼ!QZBNB (.0ϖύϘٕज़ج൫νʔϜ γχΞɾϓϦϯγύϧ ɹΩϟϯϓɺཱྀߦɺώϧτϯ८ΓɺεϚϒϥ ػցֶशɺ$*$%
OpenAIͷ༂ਐʹΑΓɺզʑͷࣄAIͱ ͬͯΓͤͳ͍࣌ͱͳΓ·ͨ͠ɻ ࢲਖ਼10લʹ͜͏ͳΔ͜ͱΛ·ΔͰ༧ Ͱ͖·ͤΜͰͨ͠ɻ AIͷൃలʹΑΓɺࠓޙՃతʹมԽ͍ͯ͘͠Ͱ ͋Ζ͏ΤϯδχΞͷࣄʹ͍ͭͯɺSREͱͯ͠ͷ ཱ͔Βߟ͑ͯΈ͍ͨͱࢥ͍·͢ɻ
ࠓ͢͜ͱ • େنݴޠϞσϧ(LLM) • LLMΛར༻ͨ͠αʔϏεͷࣄྫ • Site Reliability Engineering (SRE)
• SREͱLLMͷؔΘΓ • ϓϩϯϓτɾΤϯδχΞϦϯά • ΤϯδχΞͷੜଘઓུ
େنݴޠ Ϟσϧ
େنݴޠϞσϧͱ(LLM) • େͳςΩετσʔλΛ༻͍ͯࣗવݴޠॲཧλεΫΛߦ͏ͨΊʹઃܭ͞Ε ͨػցֶशϞσϧ • ༩͑ΒΕͨจ຺ʹج͍ͮͯ࣍ʹདྷΔ୯ޠϑϨʔζͷग़ݱ֬Λ༧ଌ ʮࠓͷఱؾʁʯ 1.݄༵ 2. ΧϨʔύϯ
3.Ε
LLM͕ੜΜͩมԽ • ίʔσΟϯά࡞ۀͳͲͷࣗಈԽ • จষͷཁղઆ • ը૾ɺಈըੜ • όοΫΦϑΟεͷ࡞ۀޮԽ
ίʔσΟϯά࡞ۀͷࣗಈԽ • ࣮ͷαδΣετ • ςετ࣮ͷࣗಈԽ • ϦϑΝΫλϦϯάͷఏҊ
จষͷཁղઆ • ͍ӳޠจͷ༁ɺཁ • SlackͳͲͷσΟεΧογϣϯͷཁ • ಡॻͰΘ͔Βͳ͔ͬͨՕॴΛChatGPTΛ͍ͪͯ୳ࡧతʹཧղ
ը૾ɺಈըੜ • ςΩετ͔Βը૾ͷੜ͕༰қʹͳͬͨ • Soraͷিܸ • https://openai.com/index/sora/
όοΫΦϑΟεͷ࡞ۀͷޮԽ • SQLͷࣗಈੜ • εϓϨουγʔτͷղͳࣜͷ࣮ • DifyͳͲͷϫʔΫϑϩʔπʔϧͷීٴ
tblsͷεΩʔϚσʔλΛAIʹೖྗ͠ ࣗવݴޠ͔ΒΫΤϦΛࣗಈੜ https://github.com/kromiii/tbls-ask-agent-slack
--.Λར༻ͨ͠ αʔϏεͷࣄྫ
ςΩετΤσΟλ • GitHub Copilot • ϓϥάΠϯͱ༷ͯ͠ʑͳΤσΟλͱ࿈ܞՄೳ • Cursor • VS
CodeΛϑΥʔΫͯ͠ɺAIωΠςΟϒͳମݧ͕ՄೳͳΤσΟλ
ਪનγεςϜ εϦεϦAIνϟοτʢβʣ
OpenAIͰϢʔβʔͷจষΛ ݕࡧՄೳͳจݴมߋͯ͠ɺ SUZURIͷΛݕࡧ LangChain LangChainͰੜͨ͠ใΛͱʹΫΤϦ https://js.langchain.com/docs/modules/chains/popular/api
Ϣʔβʔͷೖྗิॿ • B/43 AIϨγʔτಡΈऔΓػೳ ※1 • ΧϥʔϛʔAIΞγελϯτ(β) ※1 https://b43.jp/news/entry/feature-update-self-input ΑΓը૾ΛҾ༻
Site Reliability Engineering
Site Reliability Engineering GoogleͰഓΘΕͨγεςϜཧ ͱαʔϏεӡ༻ͷํ๏ ࠃʹ͓͍ͯ༁ຊͷ ొʹΑͬͯҰؾʹ·ͬͨ https://www.oreilly.co.jp/books/9784873117911/
–O’REILLY SRE αΠτϦϥΠΞϏϦςΟΤϯδχΞϦϯά 1.2 αʔϏεཧऀͷGoogleͷΞϓϩʔν “SREͱɺιϑτΣΞΤϯδχΞʹ ӡ༻νʔϜͷઃܭΛґཔͨ͠ͱ͖ʹͰ͖͕͋ΔͷͰ͢”
SREͷׂ • ϞχλϦϯάͱՄ؍ଌੑͷ্ • Πϯγσϯτཧͱ෮چରԠ • ࣗಈԽͱޮԽ
ϞχλϦϯά ࢮ׆ࢹ Ϧιʔεࢹ ֎ܗࢹ γεςϜͷ݈શੑΛࢹ͢Δɺਓʑ͕ೳಈతʹߦ͏ߦҝ ྫɿαʔόɺαʔϏε͕ىಈ͍ͯ͠Δ͔ʁ ྫɿCPUϝϞϦɺωοτϫʔΫͷঢ়گͲ͏͔ʁ ྫɿhttps://pepabo.comΛ֎෦͔ΒΞΫηεͯ͠ར༻Մೳ͔ʁ
ΦϒβʔόϏϦςΟ γεςϜͷঢ়ଶΛ֎෦͔Βཧղ͢Δ͜ͱ͕Ͱ͖Δ=ΦϒβʔόϏϦςΟ͕ߴ͍ ͋ΔϦΫΤετͰར༻͞ΕͨϦιʔε͕୳ࡧՄೳͰ͋Δ ͋Δϓϩηεͷॲཧঢ়گ͕֎෦͔ΒΘ͔Δ ϩά͔ΒͲ͏͍ͬͨॲཧ͕ߦΘΕ͍ͯΔͷ͔Θ͔Δ Մ؍ଌੑ=γεςϜͷঢ়ଶ͕֎෦͔ΒखʹऔΔΑ͏ʹΘ͔Δ
Πϯγσϯτཧ
責任の所在は 「このパラメーター変えてみたら?」 「サーバ落ちてね?」 この障害いつ頃に収束しますか? 影響範囲を教えて下さい 何もしてないのに壊れた
Πϯγσϯτཧͷৄࡉ https://speakerdeck.com/hiboma
ϙετϞʔςϜ ൃੜͨ͠γεςϜোΠϯγσϯτʹରͯ͠ɺৼΓฦΓɺจॻԽ͠ɺ ࠜຊରԠͷཧɺະདྷͷφϨοδͱ͢Δ ൷ɺඇΛආ͚ɺࣄ࣮ΛͱʹͲ͏͢ΕվળͰ͖Δ͔Λߟ͑Δ
ࣗಈԽͱޮԽ
τΠϧͱ γεςϜͷӡ༻ʹඞཁ͕ͩɺظతʹՁͷͳ͍͜ͱ खಈʹΑΔσϓϩΠ աϦιʔεΛར༻͢ΔΫϥΠΞϯτͷ੍ݶ Զͷߟ͑ͨ࠷ڧͷεΫϦϓτͷखಈ࣮ߦ αʔϏεͷʹൺྫͯ͠૿͑Δͷ
ͳͥτΠϧΛ໓͢Δඞཁ͕͋Δ͔ʁ αʔϏεͷʹൺྫͯ͋͠ͳͨͷ࣌ؒͳ͘ͳΔ खಈʹΑΔσϓϩΠ → 110ճ͔Β11,000ճ աϦιʔεΛར༻͢ΔΫϥΠΞϯτͷ੍ݶ → ഭΓ͘ΔDDoS Զͷߟ͑ͨ࠷ڧͷεΫϦϓτͷखಈ࣮ߦ →
࠷ڧͷεΫϦϓτϕετ1000 αʔϏεͷʹൺྫͯ͠૿͑Δͷ → ͓͚ۚͩ૿͑Ε͍͍ͷʹͶ
SREͱLLMͷؔΘΓ • Ξϥʔτͷੳ • ΦϖϨʔγϣϯͷิॿ
Ξϥʔτͷੳ • දࣔ͞ΕͨΤϥʔΛLLMͰ ੳͨ͠Γɺղܾํ๏Λ ฉ͍ͨΓ
ΦϖϨʔγϣϯͷิॿ • TerraformͷఆٛͳͲɺৗ తͳߏஙࣗಈԽ
afaΛར༻ͨ͠ΦϖϨʔγϣϯͷࣗಈԽ ʮλʔϛφϧϑϨϯυϦʔͳAIίϚϯυɺafaΛ࡞ͬͨʯ https://blog.monochromegane.com/blog/2024/09/16/afa/ $ P=“Լʹ͋ΔgoͰऴΘΔϑΝΠϧͷҰཡΛग़ྗͯ͠" % afa new -script -Q
-j command_suggestion -p $P | jq -r ". | fromjson|.suggested_command" fi nd . -type f -name '*.go'
LLMΛ༻͍ͨ ٕज़ྖҬͷ֦ு
LLMΛ༻͍ٕͨज़ྖҬͷ֦ு ࣮ྫ: ػցֶशΛ͍ͪͨΞΫηε੍ޚ
େྔΞΫηε ػցֶशΛ͍ͪͨΞϓϩʔν ECαΠτʹର͢ΔɺपظੑURLͷϢχʔΫੑΛ ػցֶशΛ͍ͪͨϞσϧͰఆ͠ɺࣗಈͰϒϩοΫ
Known Unknowns͔ΒKnown Knowns • Known-Knowns ɹɹ͍ͬͯΔ͜ͱ • Known-Unknowns ɹɹΒͳ͍͜ͱΛ͍ͬͯΔ •
Unknown-Unknown ɹɹΒͳ͍͜ͱΛΒͳ͍ LLMΛར༻͢Δ͜ͱͰɺ ଘࡏΛ͍ͬͯΔٕज़Λ༻͍ͯ ࣮ݱ͢Δ͜ͱ͕ൺֱతʹ༰қʹͳͬͨ
༨ஊɿϓϩϯϓτ ΤϯδχΞϦϯά
ϓϩϯϓτɾΤϯδχΞϦϯά • ϓϩϯϓτΛ௨ͯ͡ɺ࠷దͳճΛಘΔͨΊͷςΫχοΫ • ϓϩϯϓτɾεΫʔϧͷΑ͏ͳϏδωε͋Γɺʮ͋ͳͨʓʓͰ͢ʯͷ Α͏ʹׂΛ༩͑ΔΑ͏ͳςΫχοΫɺϒϥοΫϘοΫεͳ࣮ʹ͍ͭ ͯɺޮՌతͳʓʓͱ͍͏Α͏ʹਧௌ͢ΔςΫχοΫʹ͍ͭͯpyamaջ ٙతͰ͢
࣮ྫ:ϓϩͷϓϩάϥϚ Լهͷ࣮ΛϦϑΝΫλϦϯά͍ͯͩ͘͠͞ɻ p (1..10).map { |n| n**n.to_s.reverse.to_i % 11 }.join.chars.uniq.sort
unique_sorted_chars result = (1..10).map do |n| exponent = n.to_s.reverse.to_i n**exponent % 11 end unique_sorted_digits = result.join.chars.uniq.sort p unique_sorted_digits
࣮ྫ:ϓϩͷϓϩάϥϚ ͋ͳͨϓϩͷϓϩάϥϚͰ͢ɻ Լهͷ࣮ΛϦϑΝΫλϦϯά͍ͯͩ͘͠͞ɻ p (1..10).map { |n| n**n.to_s.reverse.to_i % 11
}.join.chars.uniq.sort result = (1..10).map do |n| power_result = n**n reversed_number = power_result.to_s.reverse.to_i reversed_number % 11 end unique_sorted_chars = result.join.chars.uniq.sort p unique_sorted_chars
ΤϯδχΞͷ ੜଘઓུ
ͲͷΑ͏ͳࣄ͕Δ͔ʁ • LLMͷग़ྗͷਅآΛݟۃΊΔΤϯδχΞ • LLMͷάϧʔ࣮ͱͯ͠ͷΤϯδχΞ • ֶशσʔλΛ৽ͨʹੜΈग़ͨ͢ΊͷΤϯδχΞ
LLMͷग़ྗͷਅآΛݟۃΊΔΤϯδχΞ • ϋϧγωʔγϣϯ • ӕΛݟൈ͚ͳ͍ͱΠϯλʔωοτΛ͏ͷ͍͠ by ଜͻΖΏ͖
LLMͷάϧʔ࣮ͱͯ͠ͷΤϯδχΞ • ݱঢ়ਓ͕ؒԿ͔͠ΒͷೖྗΛ༩͑ɺͦΕΛͱʹLLM͕ճΛੜ͢Δ • RAGLangChainʹ͍ͭͯݱঢ়Ͱಉ༷ͷঢ়گʹ͋Δ
ֶशσʔλΛ৽ͨʹੜΈग़ͨ͢ΊͷΤϯδχΞ • LLMਓྨ͕ੜ࢈ͨ͠େͳใΛֶश͍ͯ͠Δ • ྫ͑ίϯϐϡʔλʔݴޠOSͷൃలʹతʹLLM͕͙͢ʹతʹ د༩͢Δ͔ʁ
ݱঢ়ͰLLM͕͍͍ͯͳ͍͜ͱ • όϦσʔγϣϯ • ܾఆͷ࠷ऴஅ
όϦσʔγϣϯ • LLMҰఆͷ֬ͰޡΓΛൃੜͤ͞Δ • ϢʔβʔϑΥʔϜͷೖྗͷνΣοΫͱ͔·ͩϧʔϧϕʔεͷ΄͏͕֬ ͕ߴ͍έʔε͕͋Δ
ܾఆͷ࠷ऴஅ • ྫ͑څ༩ͷৼࠐઌࢦఆͷࣗಈԽͰLLMʹͤΒΕΔ͔Ͳ͏͔ʁ • AmazonͰຖ݄ࣗʹඞཁͳͷΛࣗಈߪೖͤΒΕΔ͔Ͳ͏͔ʁ
͜ͷઌLLMͲ͏ͳ͍͔ͬͯ͘ • ϓϥοτϑΥʔϜͱͯ͠ͷLLM • ϩʔΧϧ࣮ߦ͞ΕΔLLM
ϓϥοτϑΥʔϜͱͯ͠ͷLLM • ༏ΕͨLLM࡞͢ΔʹେͳίϯϐϡʔςΟϯάϦιʔε͕ඞཁͰ͋Γɺ ࢿຊྗ͕ඞཁ • iOSɺAndroidɺGCPɺAWSͷΑ͏ʹϓϥοτϑΥʔϜԽ͕ࠓޙਐΉ
ϩʔΧϧͰ࣮ߦ͞ΕΔLLM • ਫ਼ྼΔ͕ɺػඍͳใͳͲΛѻ͏ͨΊͷܰྔϞσϧ͕ϩʔΧϧͰಈ͘ • LLM + RAG ͘͠ɺϩʔΧϧͰಈ͘AI AgentͷΑ͏ͳͷͰใ࿈ܞ] •
“LLM for SRE“ͷੈք୳ࡧ ※ ※ https://blog.yuuk.io/entry/2024/the-world-of-llm4sre
͜ͷઌpyamaͲ͏͍͔ͯ͘͠ • ܧଓతͳجૅࣝͷݚᮎ • ٕज़తͳ໘ന͞ΛٻΊͯ • ใͷਅآΛݟΔྗΛཆ͏
ܧଓతͳجૅࣝͷݚᮎ • ͜Ε·ͰͱมΘΒͣɺKnownsͳྖҬΛ͍͔ʹ૿͔͕͢େࣄ • ͘ɺਖ਼͘͠ཧղ͢ΔൣғΛ͛Δ͜ͱͰLLMΛ׆༻͢Δ͜ͱͰΑΓେ͖ ͍όϦϡʔΛੜΉ͜ͱ͕Ͱ͖Δ
ٕज़తͳ໘ന͞ΛٻΊͯ • ݸਓతʹKubernetes͕ग़͖ͯͨͱ͖ͱࣅͨɺࣗ͏ଆͰ͋Δɺ ແྗײɺ໘ന͘ͳ͞Έ͍ͨͳͷਖ਼ײ͍ͯ͡Δ • fujiwara͞Μͷ伱ؒՈ۩ͷߟ͑ํ • ϓϥοτϑΥʔϜͷ্Ͱҧ͍ΛੜΉݯઘٕज़ྗͰ͋Δ͜ͱ͜Ε·Ͱͱ มΘΒͳ͍
ใͷਅآΛݟΔྗΛཆ͏ • ΤϯδχΞϦϯάʹؔΘΒͣɺใͷਅآɺࣄͷળ͠ѱ͠ɺےͷྑ͞ѱ ͞ΛݟۃΊΔೳྗ • UnknownsͳྖҬʹ͍ͭͯࣗͷඨʹҾ͖ࠐΜͰKnownsʹ͢Δೳྗ • γωΫυΩ୳ࡧΛʹ͚ͭΔ ※ ※ಠֶେશ
https://www.diamond.co.jp/book/9784478108536.html
–Platon ୳ٻͷύϥυοΫε “୳ٻ͢ΔରΛΒͳ͚Εɺͦͦ୳ٻͰ͖ͳ͍ɻ ͔ͦ͠͠ͷରΛ͍ͬͯΕ୳ٻ͢Δඞཁ͕ͳ͍”
5IBOLT ࠷৽ͷ࠾༻ใΛνΣοΫˠ !QC@SFDSVJU