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.9k
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
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
2
5.1k
Managing Database Migrations in Go Backend Systems
pyama86
0
150
新しい職場の CI が 20 分かかっていたらあなたならどうする?
pyama86
2
1.5k
事業を差別化する技術を生み出す技術
pyama86
4
1.9k
Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ
pyama86
9
9.9k
Tuning GraphQL on Rails
pyama86
2
2.4k
ttlcacheのここがスゴい
pyama86
1
220
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
3
690
実践ARMアーキテクチャ移行
pyama86
2
2.6k
Other Decks in Programming
See All in Programming
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
6
1.8k
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
1.1k
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
160
Implementation Patterns
denyspoltorak
0
140
Grafana:建立系統全知視角的捷徑
blueswen
0
280
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
340
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
640
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.4k
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
430
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
210
Combinatorial Interview Problems with Backtracking Solutions - From Imperative Procedural Programming to Declarative Functional Programming - Part 2
philipschwarz
PRO
0
130
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
31
Skip the Path - Find Your Career Trail
mkilby
0
38
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Become a Pro
speakerdeck
PRO
31
5.8k
Designing for humans not robots
tammielis
254
26k
The untapped power of vector embeddings
frankvandijk
1
1.5k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
100
What does AI have to do with Human Rights?
axbom
PRO
0
1.9k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
89
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
110
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
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