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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Kazuhiko Yamashita
November 12, 2024
Programming
2k
6
Share
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
1.8k
継続的な負荷検証を目指して
pyama86
3
1.6k
成長期における、 ユーザー領域の複雑さと 整備の進め方
pyama86
1
580
Stay Hacker 〜九州で生まれ、Perlに出会い、コミュニティで育つ〜
pyama86
2
6.3k
Managing Database Migrations in Go Backend Systems
pyama86
0
470
新しい職場の CI が 20 分かかっていたらあなたならどうする?
pyama86
2
1.5k
事業を差別化する技術を生み出す技術
pyama86
4
2.2k
Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ
pyama86
9
11k
Tuning GraphQL on Rails
pyama86
2
2.8k
Other Decks in Programming
See All in Programming
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
3
1.8k
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
980
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
190
今さら聞けないCancellationToken
htkym
0
200
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
210
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
7
1.3k
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
530
誰も頼んでない機能を出荷した話
zekutax
0
150
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
470
GitHub Copilot CLIのいいところ
htkym
2
1.2k
New "Type" system on PicoRuby
pocke
1
380
AIエージェントの隔離技術の徹底比較
kawayu
0
440
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
74k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
230
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Odyssey Design
rkendrick25
PRO
2
650
How to Think Like a Performance Engineer
csswizardry
28
2.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
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