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
6
1.7k
AI時代におけるSRE、 あるいはエンジニアの生存戦略
AI時代におけるSRE、あるいはエンジニアの生存戦略 - Infra Study Returns#2でお話しました。
Kazuhiko Yamashita
November 12, 2024
Tweet
Share
More Decks by Kazuhiko Yamashita
See All by Kazuhiko Yamashita
新しい職場の CI が 20 分かかっていたらあなたならどうする?
pyama86
1
1.3k
事業を差別化する技術を生み出す技術
pyama86
4
1.7k
Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ
pyama86
9
8.3k
Tuning GraphQL on Rails
pyama86
2
2k
ttlcacheのここがスゴい
pyama86
1
160
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
3
620
実践ARMアーキテクチャ移行
pyama86
2
2.5k
リモートワーク時代の守護神 PHP開発者のためのセキュリティ強化術
pyama86
3
1.3k
実践DevSecOps~クラウドネイティブとオンプレミスの間から~
pyama86
1
160
Other Decks in Programming
See All in Programming
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
120
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
320
AIともっと楽するE2Eテスト
myohei
6
2.6k
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
150
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.3k
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
820
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
550
PicoRuby on Rails
makicamel
2
130
Porting a visionOS App to Android XR
akkeylab
0
470
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
160
iOS 26にアップデートすると実機でのHot Reloadができない?
umigishiaoi
0
130
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
1
10k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Become a Pro
speakerdeck
PRO
29
5.4k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Typedesign – Prime Four
hannesfritz
42
2.7k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
The Pragmatic Product Professional
lauravandoore
35
6.7k
How to train your dragon (web standard)
notwaldorf
95
6.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
970
How GitHub (no longer) Works
holman
314
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
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