Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ruby and LLM Ecosystem
Search
Koichi ITO
September 12, 2025
Programming
14k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ruby and LLM Ecosystem
RubyWorld Conference 2025 (
https://2025.rubyworld-conf.org/ja/program/day2/
)
Koichi ITO
September 12, 2025
More Decks by Koichi ITO
See All by Koichi ITO
The Rails Doctrine Decade
koic
2
640
Reframing the Agile Manifesto
koic
5
4.9k
The NotImplementedError Problem in Ruby
koic
1
2.1k
Exploring RuboCop with MCP
koic
0
8.5k
Ruby and LLM Ecosystem 2nd
koic
1
2.3k
STYLE
koic
1
2.2k
Write Code Every Day
koic
1
2.8k
Bliki (ja), and the Cathedral, and the Bazaar
koic
7
3.3k
Welcome to the LLM Club
koic
0
450
Other Decks in Programming
See All in Programming
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.1k
最近”作らせてる” ローカルAIアプリの話
akit37
0
500
Vue Fes Japan の “作る側”に関わってみて
naokihaba
1
200
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
280
続・コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions-again
handlename
0
130
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
170
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
120
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
480
PyConTW 2026 - AI Coding 不只是工具升級, 區域醫院醫療資訊系統協作開發與資訊團隊轉型實踐
cclai999
0
200
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
1.9k
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
7k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.3k
Featured
See All Featured
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
370
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
330
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
560
A Tale of Four Properties
chriscoyier
163
24k
The Curse of the Amulet
leimatthew05
3
16k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Building AI with AI
inesmontani
PRO
1
1.3k
Done Done
chrislema
187
17k
Transcript
3VCZͰ--.ΞϓϦέʔγϣϯ ։ൃΛࢧ͑Δجૅٕज़ Ruby x LLM Ecosystem ҏ౻ߒҰ&4. *OD 3VCZ8PSME$POGFSFODF
ۚ ౡࠜݝཱ࢈ۀަྲྀձؗʮ͘ʹͼ͖ϝοηʯ
w044ϓϩάϥϚʔ w3VCP$PQίΞνʔϜίϛολʔ w.$1TUFFSJOHHSPVQϝϯόʔ</&8> wגࣜձࣾӬγεςϜϚωδϝϯτ &4. *OD ΤϯδχΞϦϯάϚωʔδϟʔ σΟεςΟϯάΠογϡυɾΤϯδχΞ @koic
None
ϓϥνφεϙϯαʔϊϕϧςΟ 3VCZ8PSME$POGFSFODFಛผ֦ுύοΫΛ'ϒʔεʹͯத
࠾༻ͱಇ͖ํͷଟ༷Խ wਓੜͷঢ়گʹ͋Θͤͨ ϥΠϑελΠϧΛଚॏ͢Δ wؔ౦ݍɺҪɺ࣎լɺژ Վࢁɺౡࠜɺٶ࡚͔Βͷ ϦϞʔτϫʔΫ 🗾
Support OSS community
w มԽͷ͍--.पลٕज़ʹ͍ͭͯͷ w ༧ࢉͷ͍ͭͨ෦׆ಈ w Ӭࣾ4MBDLͷMMNDMVCνϟϯωϧ w ઈࢍ෦һืूத w ೖࣾ͢Δ͚ͩͰɺΕͳ͘ೖ෦Ͱ͖·͢
େنݴޠϞσϧ --. ݚڀ෦ IUUQTNBHB[JOFSVCZJTUOFUBSUJDMFT'PMMPX6Q,JSJTIJNB3VCZIUNM
ࠓͷ
☝ ຊࢿྉఏग़ޙ$IBU(15"QQT4%, "HFOU4LJMMT $IBU(15"UMBTͳͲܹྲྀ IUUQTSVCZXPSMEDPOGPSHKBBCPVU
--.େنݴޠϞσϧ 3"(ݕࡧ֦ுੜ .$1ϞσϧίϯςΩετϓϩτίϧ 3VCZY--.ͷՄೳੑ ࣍ Ruby
3.4.7, Langchain.rb 0.19.5, MCP Ruby SDK 0.4.0
-BSHF-BOHVBHF.PEFM --.
w ػցֶशͱ͍͑1ZUIPOͱֶͱ͍͏ੈք ͔Βɺ--.ͷࣗવݴޠͷϓϩϯϓςΟϯά Ͱ୭Ͱ"*͕࣮༻Մೳʹͳͬͨ w ςΩετੜͷ--.ͱը૾ɺԻɺಈըੜ ʹΘΕΔ%J ff VTJPO.PEFM͕ݱ"*ͷՖܗ --.ͱ͍͏ήʔϜνΣϯδϟʔ
֦ࢄϞσϧ େنݴޠϞσϧ --.ίϯςΩετʹର࣍͠τʔΫϯΛࣗݾճؼతʹ༧ଌ͠ଓ͚Δ֬తੜϞσϧ
w นଧͪͷνϟοτ"*ٞࣄϏδωε׆༻ w $MBVEF$PEF$VSTPSͰ"HFOUJD7JCF$PEJOH w ΞϓϦέʔγϣϯͷ--.ΈࠐΈ w --.ͷ"1*ɺ3"(ɺ.$1πʔϧ։ൃ w --.ࣗମ0MMBNBͳͲ--.࣮ߦج൫։ൃ
w BS9JWͷจͷධࣥච͢Δऀ --.ͱͷ༷ʑͳؔΘΓ ָ͠Έ ํ
w ΫϥΠΞϯτͱαʔόʔͰίʔυڞ༗Մೳͳ 6OJWFSTBM+BWB4DSJQUͷੈք w 1ZUIPOͰػցֶशΛॻ͘ͳΒɺ8FC·Ͱؚ Ίͯ1ZUIPOͱ͍͏ͷ64ͷைྲྀ ෩ฉ w --.पลͷ࣮ߦڥΛ3VCZͰॻ͚Εɺ
3VCZ3BJMTͷ··--.ΛΈࠐΊΔ ຊ 3VCZͷීวੑ
--.ΞϓϦέʔγϣϯ։ൃ IUUQTHJUIVCDPNMBOHDIBJOBJSBHGSPNTDSBUDI ੈͷதͰ--. ΞϓϦ։ൃݚڀ ͕ਐΜͰ͓Γɺ 1ZUIPO4%,ʹ ࣮ݶΒͳ͍ 3VCZͷग़൪ʂ
--.ΞϓϦྫ (VNSPBE IUUQTHJUIVCDPNBOUJXPSLHVNSPBECMPCQSPEVDUJPOGBBBDBQQNPEFMTQSPEVDU@SFGVOE@QPMJDZSC 5IBOLT(JO[BSC
w 0QFO"*"1*Λ3VCZ͔Β͏HFN w ΞϓϦଆ͔Β--.Λݺͼग़͢جຊ 3VCZ0QFO"*HFN OpenAI::Client.new.chat( parameters: { messages: [{role:
"user", content: prompt}], model: "gpt-4o-mini", temperature: 0.0, max_tokens: 10 } ) # gem 'ruby-openai' IUUQTHJUIVCDPNBOUJXPSLHVNSPBECMPCQSPEVDUJPOGBBBDBQQNPEFMTQSPEVDU@SFGVOE@QPMJDZSC-- LLMͷϓϩϯϓςΟϯάจࣈྻ
w ϧʔϧϕʔεͰϓϩάϥϛϯάͰ͖Δܾఆత ͳͷ͔ΒᷓΕͨɺਓ͕ӡ༻ͰΧόʔͯ͠ ͍ͨඇܾఆతͳྖҬΛ·ͣ--.ͰΧόʔ͢Δ w --.ΛͬͨνϟοτΞϓϦέʔγϣϯ ྫ2"γεςϜ w ϢʔβʔೖྗΛݩʹ--.ͰཁఏҊΛੜ
--.ΞϓϦͷߟ͑ํͱ༻ྫ
3"( 3FUSJFWBM"VHNFOUFE(FOFSBUJPO
w --.ͷֶशσʔλτϨʔχϯά͠ϦϦʔε ͨ࣌͠ʹݶΒΕΔͨΊɺֶशҎޙͷ࠷৽ ใඇެ։ใͷ֎෦ࣝΛ͍࣋ͬͯͳ͍ w ରԠͱͯ͠--.Λνϡʔχϯά͢Δख๏ͱɺ ֎෦ࣝΛݕࡧͯ͠ϓϩϯϓτʹຒΊࠐΉ ख๏͕͋Δ --.ͷಛੑͱͦͷରॲ
w 1ZUIPOͰ1Z5PSDI5FOTPS'MPX͕ɺ --.ͷτϨʔχϯάʹΘΕΔ Β͍͠ w ྫ͑1Z5PSDIͷ3VCZόΠϯσΟϯάʹ 5PSDISC͕͋Δ͕ɺ--.ͷτϨʔχϯά 1ZUIPOΛ͓ͬͯ͘ͷ͕Θ͔Γ͍͔͢ʁ --.ͦͷͷͷ܇࿅ௐ
τϨʔχϯάେͳܭࢉྔͱిྗ͕ඞཁͰɺຊؾͳΒσʔληϯλʔͷೖख͔Βʂʁ Training Fine-turning
'JOFUVSOJOHWT3"( IUUQTXXXBOZTDBMFDPNCMPH fi OFUVOJOHJTGPSGPSNOPUGBDUT w 'JOFUVSOJOH ݴ༿ݣ͍ग़ྗͱ ͍͏දݱ 'PSN
ͷௐʹ͏ w ֶशࡁΈࣝͷ ࣄ࣮ 'BDUVBM ͷ ௐ3"(Λ͏
3"(ͷΞϓϩʔν ΞϓϦέʔγϣϯ w --.ͦͷͷΛνϡʔχ ϯά͢ΔͷͰͳ͘ɺݕࡧ ͨ͠֎෦ࣝΛϓϩϯϓ τʹຒΊࠐΉ w ݕࡧओʹϕΫτϧ%# w
3"(ख๏Ͱ͋Γඪ४Խ ͞Εͨن֨Ͱͳ͍ --. --.ͷ"1*ϦΫΤετͱϨεϙϯε --.ΞϓϦجૅ ϕΫτϧ σʔλϕʔε Ϣʔβʔ Chroma, Milvus, pgvector, Pinecone, Weaviate, etc... ֎෦ࣝΛऔΓࠐΉ 3"(࣮ݱ
3"(ͱπʔϧݺͼग़͠ ֎෦πʔϧ "1*ݺͼग़͠ 5PPM6TF ΤʔδΣϯτߏஙڧԽ ΞϓϦέʔγϣϯ w --.ࣝʹͳ͍ใ͕ඞཁ ͳΒϕΫτϧσʔλϕʔε ͍߹ͤ݁ՌΛՃຯͯ͠
--.ϓϩϯϓςΟϯά ͍ΘΏΔٛͷ3"( w --.ͷϨεϙϯεʹԠ͡ɺ ֎෦πʔϧݺͼग़͠ͷ ΈΛೖΕΔ 3"(ͱผ࣠ --. --.ͷ"1*ϦΫΤετͱϨεϙϯε --.ΞϓϦجૅ ϕΫτϧ σʔλϕʔε ֎෦πʔϧ ίʔυ࣮ߦ Ϣʔβʔ Chroma, Milvus, pgvector, Pinecone, Weaviate, etc... ֎෦ࣝΛऔΓࠐΉ 3"(࣮ݱ
w 3"(ख๏Λࢦ͢ͷͰ͋Γɺϓϥοτ ϑΥʔϜΛލ͍ͩڞ௨ͷنͳ͍ w 1ZUIPOͳΒ-BOH$IBJO4FNBOUJD,FSOFM ͳͲ3"(࣮ݱͷͨΊͷϑϨʔϜϫʔΫ͕͋Δ w 3VCZ3"(ϑϨʔϜϫʔΫ-BOHDIBJOSC͕ 3VCZ$POG5BJXBOͰհ͞Ε͍ͯΔ 3"(࣮ݱͷϑϨʔϜϫʔΫ
w 3"(ΤʔδΣϯτߏஙΛ࣮ݱ͢ΔͨΊͷɺ --.ͷ"1*ΫϥΠΞϯτɺϕΫτϧσʔλ ϕʔε౷߹ɺπʔϧݺͼग़͠ͳͲΛࠝแ w ͦΕͧΕͷ"1*ΛநԽͨ͠ϓϥΨϒϧͳ ߏʹͳ͍ͬͯΔ w ຊՈ-BOH$IBJOͱൺͯɺ·͍ͩΖ͍Ζෆ -BOHDIBJOSC
"OESFJ#POEBSFW࡞
w -BOHDIBJO--."OUISPQJD -BOHDIBJO--.0QFO"*ͳͲ --.ʹԠͨ͡ΫϥΠΞϯτͷϥούʔΛ࣋ͭ w -BOHDIBJO--.#BTFΛܧঝ͠ɺMMNDIBU MMNTVNNBSJ[FͳͲಁաతͳந"1*Λ࣋ͭ --.Λಁաతʹѻ͏"1*Λ࣋ͭ llm
= Langchain::LLM::Anthropic.new( api_key: ENV['ANTHROPIC_API_KEY'] ) # Requires the `anthropic` gem as an LLM client
-BOHDIBJO7FDUPSTFBSDI require 'langchain' require 'chroma-db' chroma = Langchain::Vectorsearch::Chroma.new( url: ::Chroma.connect_host,
index_name: 'ruby40_collection', llm: Langchain::LLM::Ollama.new) response = chroma.ask(question: 'Ruby 4.0ͷRuby::Boxͷ࡞ऀʁ') response.chat_completion # => 'tagomoris͞ΜͰ͢ɻ' w --.͕ະͷ֎෦ࣝΛఏڙ͢ΔͨΊɺ ϕΫτϧ%#͔Βҙຯతʹ͍ۙใΛݕࡧ
w --.͕֎෦ػೳͱͯ͠ݺͼग़͠அͰ͖Δɺ ͍͔ͭ͘ͷΈࠐΈπʔϧΛαϙʔτ w -BOHDIBJO5PPM # Fetch weather from https://home.openweathermap.org
weather = Langchain::Tool::Weather.new( api_key: ENV['OPEN_WEATHER_API_KEY'] ) # Use `eqn` gem calculator = LangChain::Tool::Calculator.new # Use `safe_ruby` gem interpreter = Langchain::Tool::RubyCodeInterpreter.new
w --.ɺπʔϧͳͲΛΈ߹ΘͤͯϢʔβʔͷ ϓϩϯϓςΟϯάʹԠ͢Δத֩ͷΫϥε -BOHDIBJO"TTJTUBOU require 'langchain' llm = Langchain::LLM::Ollama.new assistant
= Langchain::Assistant.new( llm: llm, tools: [Langchain::Tool::Weather.new(api_key: api_key)] ) assistant.add_message(content: '໌ͷఱؾʁ') messages = assistant.run! messages.each { |message| p message.to_hash[:content] }
w 3"(ͰநԽͨ͠"1*͕༻ҙ͞ΕΔ͕ɺ --.Λม͑Δ͜ͱ͕௨ৗͳ͍ͷͰ͋Εɺ ಛఆ--.ͷ"1*ʹґଘͨ͠ํ͕༰қʁ w ྫ͑ɺ-BOHDIBJO--.0QFO"* SVCZPQFOBJHFNͷϥούʔʹա͗ͳ͍ 3"(ͳநԽઆු্ʁ ϑϨʔϜϫʔΫͰ--.ΞϓϦ૾ΛΓɺඞཁͳݸผϥΠϒϥϦΛ͏ͱγϯϓϧʁ
w -BOHDIBJOSCɺ--.ΛғΉ3VCZͷϥΠϒ ϥϦϛυϧΣΞΛΔ͖͔͚ͬʹͳΔ w 1ZUIPOͷ-BOH$IBJOʹ͋ΔػೳΛ3VCZͷ -BOHDIBJOSCʹҠ২Ͱ͖ͦ͏ w -BOHDIBJOSCͷίϯτϦϏϡʔγϣϯͷ ϙΠϯτͱͯ͠5PPM֦ॆɺ-$&-αϙʔτ -BOHDIBJOSCʹΑΔ3"(·ͱΊ
LangChain Expression Language
.PEFM$POUFYU1SPUPDPM .$1 NPEFMDPOUFYUQSPUPDPMJP
w .PEFM$POUFYU1SPUPDPMͷུশ w "OUISPQJD͔ࣾΒࡦఆެ։͞Εͨϓϩτίϧ ༷Ͱ͋ΓɺϓϥοτϑΥʔϜඇґଘ w ݱࡏɺ͕࠷৽൛Ͱ υϥϑτ൛ͱͯ࣍͠ظ༷Λࡦఆத w 4&1ͱͯ͠(JU)VCΠγϡʔͰ༷ఏҊ͞ΕΔ
.$1ͱʁ Specification Enhancement Proposal
w 'BTU.$1 ZKBDRVJOGBTUNDQ w .$13# GVOXBSJPJTJJNDQSC w .$1PO3VCZ
SVCZPOBJNDQ@PO@SVCZ w .$13VCZ4%, NPEFMDPOUFYUQSPUPDPMSVCZTEL 3VCZʹ͓͚Δ.$14%,HFN NPEFMDPOUFYUQSPUPDPMͷ63-͕ѹతͩͬͨͷͰɺͦ͜ʹίϛοτ͍ͯ͠Δ
w 1ZUIPO4%,ͱ5ZQF4DSJQU4%,͕ઌߦ w ݄ݱࡏݸͷެࣜ4%,͕ଘࡏ .$10G fi DJBM4%,T IUUQTNPEFMDPOUFYUQSPUPDPMJPBCPVU IUUQTNPEFMDPOUFYUQSPUPDPMJPEPDTTEL
w 4IPQJGZ͕ࣾͰ࡞͍ͬͯͨHFNΛެࣜͱ͠ ͯఏҊͯ͠ެ։͕࢝·ͬͨͬΆ͍ w .$1ͷΨόφϯε 4&1 ͕͏·Ͱͷ ؒɺ4IPQJGZͰϝϯςφϯε͞Ε͍ͯͨ w ݱࡏɺ"UF㶆(ÖSBM
5PQIFS#VMMPDL ࢲͷ ਓ͕ϝϯςφʔͱͯ͠׆ಈ͍ͯ͠Δ .$13VCZ4%,
w ެࣜ4%,.$1ͷ༷४ڌਵ͢Δ͜ͱ ͕ٻΊΒΕ͍ͯΔ ϕετΤϑΥʔτ w 3VCZ൛ͷ.$14%,HFNͰαʔόʔ4%,ʹ Ճ͑ɺΫϥΠΞϯτ4%,ఏڙݱࡏ།Ұ w .$1"VUIFOUJDBUJPO
0"VUI ࣮த 5IF0G fi DJBM3VCZ4%, ͭ·Γ.$1ͷ༷ͷΞοϓσʔτʹԠͯ͡ɺ4%,ରԠ͢Δ͜ͱ͕ظ͞ΕΔ
w -BOHVBHF4FSWFS 1SPUPDPM -41 ʹӨڹ Λड͚ͨΞʔΩςΫνϟ w .$1ϗετɺ ΫϥΠΞϯτɺαʔόʔ ͰΔ
w ΫϥΠΞϯτɺαʔόʔ +40/31$ج൫ ͷ.$1Ͱ௨৴͢Δ .$1ͷΞʔΩςΫνϟ IUUQTNPEFMDPOUFYUQSPUPDPMJPTQFDJ fi DBUJPOBSDIJUFDUVSF
.$1ϗετத৺ͷΦʔέετϨʔγϣϯ .$1αʔόʔ MCP on JSON-RPC 2.0 .$1 ΫϥΠΞϯτ .$1ϗετ w
.$1ϗετɺϢʔβʔͱ--. ͱ.$1ΫϥΠΞϯτͷՍ͚ڮ w .$1ϗετઃఆʹج͍ͮͯ .$1αʔόʔΛ--.ʹ͑Δ w .$1ϗετ--.͕.$1αʔ όʔݺͼग़͠Λ͢ΔΑ͏ฦͨ͠Β .$1αʔόʔݺͼग़͠Λ͢Δ w --.͕.$1αʔόʔͷ ݺͼग़͠Λ͢ΔΘ͚Ͱͳ͍ --. --.ͷ"1*ϦΫΤετͱϨεϙϯε ઃఆϑΝΠϧ NDQKTPO READ .$1αʔόʔ .$1 ΫϥΠΞϯτ Ϣʔβʔ αʔόʔઃఆ ։ൃऀతʹԠ͡ MCPαʔόʔΛ࣮
/BUJWFޚࡾՈ w .$1αʔόʔఏڙͷ πʔϧɺϦιʔεɺ ϓϩϯϓτ͕ओཁػೳ w ಛʹπʔϧ൚༻తͳ ػೳͰΫϥΠΞϯτͷ ଟ͕͘αϙʔτ IUUQTNPEFMDPOUFYUQSPUPDPMJPDMJFOUT
IUUQTNPEFMDPOUFYUQSPUPDPMJPBCPVU
ΫϥΠΞϯταʔόʔؒͷ௨৴ w TUEJPͱ4USFBNBCMF)551Λαϙʔτ w TUEJPϩʔΧϧͷ.$1αʔόʔͱͯ͠ଓ w 4USFBNBCMF)551ඞཁʹԠͯ͡44& 4FWFS4FOU&WFOUT ͕ΘΕΔɻαʔόʔ ެ։͢Δ߹0"VUIαϙʔτΛཁ֬ೝ
ݱঢ়4USFBNBCMF)551ΤϯτϦϙΠϯτΛ3BDL3BJMTͰࣗલ࣮͢Δܗࣜ
3VCZͰ.$1Λ࣮͢Δͱʁ w .$1༷ʹԊ࣮͕ͬͨ͞Εͨ.$1ΫϥΠ Ξϯτɺ.$1αʔόʔؒ૬ޓӡ༻Մೳ w ϓϩτίϧ༷ͷಈ͘ιϑτΣΞͱͯ͠ɺ ԿΒ͔ͷݴޠॲཧܥͷ࣮͕ඞཁ w 3VCZͰ࣮͢Ε࣮ͱӡ༻ͷϝϯςφϯ εΛ3VCZͰͰ͖Δ
require 'mcp' server = MCP::Server.new(name: 'example') server.define_tool( name: 'echo', description:
'Echoes back its arguments', input_schema: { properties: { message: {type: 'string'} }, required: ['message'] } ) do |message:| MCP::Tool::Response.new([{ type: 'text', text: "Echo for #{message}" }]) end MCP::Server::Transports::StdioTransport.new(server).open ྫ
w 3"(ख๏Ͱ-BOHDIBJOSC--.ΞϓϦͷ ಠࣗ"1*ͷఏڙϑϨʔϜϫʔΫͱͯ͠࠶ར༻ w .$1ϓϩτίϧ༷Ͱ͋Γ.$1αʔόʔ ن४ڌ.$1ΫϥΠΞϯτԣஅͰ࠶ར༻ w ͍ͣΕ--.݁ՌͷධՁඞཁ͕ͩɺ.$1 খ͘͞࠶ར༻͍͢͠σβΠϯ -BOHDIBJOSCWT.$1αʔόʔ
3VCZY--.ͷՄೳੑ
w ࣮ࡍͷͱ͜Ζɺ1ZUIPO͕ઌߦ͍ͯ͠Δ w 3"(ʹؔͯ͠ख๏ʹա͗ͳ͍ͨΊɺ ʮ΅͕͘ߟ͑ͨ࠷ڧͷ3"(ϑϨʔϜϫʔΫʯ 3VCZ൛͕ొ͢Δ༨͋Δ͔͠Εͳ͍ w .$1༷४ڌͷ4%,࣮ͷͨΊ༷ཧղ ͱෆ͍ͯ͠Δ3VCZ4%,։ൃΛਐΊ͍ͯ͘ 3VCZͷ3"(ͱ.$1ޙ͍
w 3VCZΤίγεςϜͷ͕Γʹ 3VCZॲཧܥΠϯετʔϧ͕ॏཁ w .$1αʔόʔ֤ݴޠͰ࣮Մ w 3VCZ.$1αʔόʔ͕͕Δ ͱ͍͏͜ͱɺ࣮ߦڥʹ3VCZ ॲཧܥ͕ೖΔػձ͕૿͑ɺ3VCZ ͷଟ༷ੑͷ͕Γʹܨ͕Δʂʁ
.$1αʔόʔ࣮ݴޠؒϨʔεʁ IUUQTHJUIVCDPNNPEFMDPOUFYUQSPUPDPMTFSWFST IUUQTNPEFMDPOUFYUQSPUPDPMJPBCPVU
.$13VCZ4%,ͷΞϓϦࣄྫٻΉ w 3VCZք۾Ͱͷ.$1ͷར༻ࣄྫͱͯ͠ɺ $MBVEF$PEF$VSTPSͳͲͷπʔϧΛ.$1 ϗετͱׂ͕ͨ͠Γ߹͍ͱͯ͠ଟ͍ʁ w 3BJMTΞϓϦΛ.$1ϗετͱͨ͠--.ΞϓϦ ͔Β.$1αʔόʔΛͬͨࣄྫՉฉ ઌ0QFO"*͔Β$IBU(15"QQT4%,ج൫͕.$1ͱ͍͏ൃද͋Γܹྲྀͷ࠷த IUUQTPQFOBJDPNJOEFYJOUSPEVDJOHBQQTJODIBUHQU
w 3VCZPO3BJMTʹΑΔΞϓϦέʔγϣϯͷ --.׆༻ͷΈࠐΈ3VCZͰͰ͖ΔΑ w --.पลʹ044ͰղܾͰ͖Δ͜ͱ͕ࢁ ͋ΓɺύΠΦχΞʹͳΔνϟϯεʂʁ w ͜Μͳ--.׆༻Ͱ͖ͳ͍͔ͳʁͱࢥͬͨΒ 1ZUIPOઌഐ͔ΒֶΜͰΈΔͷͻͱͭ ·ͱΊ
w --.ςΩετੜΤϯδϯͱ͍͏πʔϧ w --.ͷΈΛΔ͜ͱ--.Λͬͨ ΤϯδχΞϦϯάεΩϧͷ্ʹඞਢ --.ͦͷͷΛΔ ͓͢͢Ί
3VCZY"*