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.6k
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
事業を差別化する技術を生み出す技術
pyama86
4
1.5k
Re:Define 可用性を支える モニタリング、パフォーマンス最適化、そしてセキュリティ
pyama86
9
7.3k
Tuning GraphQL on Rails
pyama86
2
1.8k
ttlcacheのここがスゴい
pyama86
1
140
クラウドサービスの 利用コストを削減する技術 - 円安の真南風を感じて -
pyama86
3
590
実践ARMアーキテクチャ移行
pyama86
2
2.4k
リモートワーク時代の守護神 PHP開発者のためのセキュリティ強化術
pyama86
3
1.2k
実践DevSecOps~クラウドネイティブとオンプレミスの間から~
pyama86
1
120
ペパボOpenTelemetry革命
pyama86
2
2.2k
Other Decks in Programming
See All in Programming
読もう! Android build ドキュメント
andpad
1
240
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
480
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
120
‘무차별 LGTM~👍’만 외치던 우리가 ‘고봉밥 코드 리뷰’를?
hannah0731
0
530
RCPと宣言型ポリシーについてのお話し
kokitamura
2
150
보일러플레이트 코드가 진짜 나쁜 건가요?
gaeun5744
0
370
安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記
sakuraikotone
5
2.3k
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
1
340
本当だってば!俺もTRICK 2022に入賞してたんだってば!
jinroq
0
250
CTFのWebにおける⾼難易度問題について
hamayanhamayan
1
990
私の愛したLaravel 〜レールを超えたその先へ〜
kentaroutakeda
12
3.6k
令和トラベルにおけるコンテンツ生成AIアプリケーション開発の実践
ippo012
1
260
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
320
Building Your Own Lightsaber
phodgson
104
6.3k
Building Applications with DynamoDB
mza
94
6.3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.3k
Designing for Performance
lara
606
69k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
Designing Experiences People Love
moore
141
23k
Scaling GitHub
holman
459
140k
The Language of Interfaces
destraynor
157
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
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