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
Ruby and LLM Ecosystem
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Koichi ITO
September 12, 2025
Programming
13k
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 NotImplementedError Problem in Ruby
koic
1
1.3k
Exploring RuboCop with MCP
koic
0
6.2k
Ruby and LLM Ecosystem 2nd
koic
1
2.2k
STYLE
koic
0
2.2k
Write Code Every Day
koic
1
2.6k
Bliki (ja), and the Cathedral, and the Bazaar
koic
7
3.2k
Welcome to the LLM Club
koic
0
420
RuboCop: Modularity and AST Insights
koic
3
5.8k
Carving the Way to Ruby Engineering
koic
3
1.3k
Other Decks in Programming
See All in Programming
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
1.5k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
280
才能?センス?知らん、 続けたもん勝ちだ。-- 結婚・出産・癌を越えてなお、私がプロダクトを創り続ける理由
16bitidol
2
860
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
140
act2-costs.pdf
sumedhbala
0
110
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.1k
Claude Opus 4.6以後の受託開発エンジニアの変化(Claude Code開発ノウハウ大公開スペシャルbyクラスメソッド)
iidatakuma
1
740
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
190
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
190
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
920
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
130
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.5k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
KATA
mclloyd
PRO
35
15k
How to Talk to Developers About Accessibility
jct
2
370
Test your architecture with Archunit
thirion
1
2.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
WENDY [Excerpt]
tessaabrams
11
38k
Odyssey Design
rkendrick25
PRO
2
730
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
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"*