Slide 1

Slide 1 text

3VCZͰ--.ΞϓϦέʔγϣϯ ։ൃΛࢧ͑Δجૅٕज़ Ruby x LLM Ecosystem ҏ౻ߒҰ&4. *OD 3VCZ8PSME$POGFSFODF  ۚ ౡࠜݝཱ࢈ۀަྲྀձؗʮ͘ʹͼ͖ϝοηʯ

Slide 2

Slide 2 text

w044ϓϩάϥϚʔ w3VCP$PQίΞνʔϜίϛολʔ w.$1TUFFSJOHHSPVQϝϯόʔ wגࣜձࣾӬ࿨γεςϜϚωδϝϯτ &4. *OD  ΤϯδχΞϦϯάϚωʔδϟʔ σΟεςΟϯάΠογϡυɾΤϯδχΞ @koic

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

ϓϥνφεϙϯαʔϊϕϧςΟ 3VCZ8PSME$POGFSFODFಛผ֦ுύοΫΛ'ϒʔεʹͯ഑෍த

Slide 5

Slide 5 text

࠾༻ͱಇ͖ํͷଟ༷Խ wਓੜͷঢ়گʹ͋Θͤͨ ϥΠϑελΠϧΛଚॏ͢Δ wؔ౦ݍɺ෱Ҫɺ࣎լɺژ౎ ࿨Վࢁɺౡࠜɺٶ࡚͔Βͷ ϦϞʔτϫʔΫ 🗾

Slide 6

Slide 6 text

Support OSS community

Slide 7

Slide 7 text

w มԽͷ଎͍--.पลٕज़ʹ͍ͭͯͷ࿩୊ w ༧ࢉͷ͍ͭͨ෦׆ಈ w Ӭ࿨ࣾ಺4MBDLͷMMNDMVCνϟϯωϧ w ઈࢍ෦һืूத w ೖࣾ͢Δ͚ͩͰɺ΋Εͳ͘ೖ෦Ͱ͖·͢ େن໛ݴޠϞσϧ --. ݚڀ෦ IUUQTNBHB[JOFSVCZJTUOFUBSUJDMFT'PMMPX6Q,JSJTIJNB3VCZIUNM

Slide 8

Slide 8 text

ࠓ೔ͷ࿩

Slide 9

Slide 9 text

☝ ຊࢿྉఏग़ޙ΋$IBU(15"QQT4%, "HFOU4LJMMT $IBU(15"UMBTͳͲܹྲྀ IUUQTSVCZXPSMEDPOGPSHKBBCPVU

Slide 10

Slide 10 text

 --.େن໛ݴޠϞσϧ  3"(ݕࡧ֦ுੜ੒  .$1ϞσϧίϯςΩετϓϩτίϧ  3VCZY--.ͷՄೳੑ ໨࣍ Ruby 3.4.7, Langchain.rb 0.19.5, MCP Ruby SDK 0.4.0

Slide 11

Slide 11 text

 -BSHF-BOHVBHF.PEFM --.

Slide 12

Slide 12 text

w ػցֶशͱ͍͑͹1ZUIPOͱ਺ֶͱ͍͏ੈք ͔Βɺ--.΁ͷࣗવݴޠͷϓϩϯϓςΟϯά Ͱ୭Ͱ΋"*͕࣮༻Մೳʹͳͬͨ w ςΩετੜ੒ͷ--.ͱը૾ɺԻ੠ɺಈըੜ੒ ʹ࢖ΘΕΔ%J ff VTJPO.PEFM͕ݱ୅"*ͷՖܗ --.ͱ͍͏ήʔϜνΣϯδϟʔ ֦ࢄϞσϧ େن໛ݴޠϞσϧ --.͸ίϯςΩετʹର࣍͠τʔΫϯΛࣗݾճؼతʹ༧ଌ͠ଓ͚Δ֬཰తੜ੒Ϟσϧ

Slide 13

Slide 13 text

w นଧͪͷνϟοτ΍"*ٞࣄ࿥౳Ϗδωε׆༻ w $MBVEF$PEF΍$VSTPS౳Ͱ"HFOUJD7JCF$PEJOH w ΞϓϦέʔγϣϯ΁ͷ--.૊ΈࠐΈ w --.΁ͷ"1*ɺ3"(ɺ.$1౳πʔϧ։ൃ w --.ࣗମ΍0MMBNBͳͲ--.࣮ߦج൫։ൃ w BS9JWͷ࿦จ΁ͷධ࿦΍ࣥච͢Δ໠ऀ΋ --.ͱͷ༷ʑͳؔΘΓ ָ͠Έ ํ

Slide 14

Slide 14 text

w ΫϥΠΞϯτͱαʔόʔͰίʔυڞ༗Մೳͳ 6OJWFSTBM+BWB4DSJQUͷੈք w 1ZUIPOͰػցֶशΛॻ͘ͳΒɺ8FC·Ͱؚ Ίͯ1ZUIPOͱ͍͏೥୅ͷ64ͷைྲྀ ෩ฉ  w --.पลͷ࣮ߦ؀ڥΛ3VCZͰॻ͚Ε͹ɺ 3VCZ3BJMTͷ··--.Λ૊ΈࠐΊΔ ຊ୊ 3VCZͷීวੑ

Slide 15

Slide 15 text

--.ΞϓϦέʔγϣϯ։ൃ IUUQTHJUIVCDPNMBOHDIBJOBJSBHGSPNTDSBUDI ੈͷதͰ͸--. ΞϓϦ։ൃݚڀ ͕ਐΜͰ͓Γɺ 1ZUIPO4%,ʹ ࣮૷͸ݶΒͳ͍ 3VCZͷग़൪ʂ

Slide 16

Slide 16 text

--.ΞϓϦྫ (VNSPBE IUUQTHJUIVCDPNBOUJXPSLHVNSPBECMPCQSPEVDUJPOGBBBDBQQNPEFMTQSPEVDU@SFGVOE@QPMJDZSC 5IBOLT(JO[BSC

Slide 17

Slide 17 text

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΁ͷϓϩϯϓςΟϯάจࣈྻ

Slide 18

Slide 18 text

w ϧʔϧϕʔεͰϓϩάϥϛϯάͰ͖Δܾఆత ͳ΋ͷ͔ΒᷓΕͨɺਓ͕ӡ༻ͰΧόʔͯ͠ ͍ͨඇܾఆతͳྖҬΛ·ͣ--.ͰΧόʔ͢Δ w --.Λ࢖ͬͨνϟοτΞϓϦέʔγϣϯ ྫ2"γεςϜ  w ϢʔβʔೖྗΛݩʹ--.Ͱཁ໿΍ఏҊΛੜ੒ --.ΞϓϦͷߟ͑ํͱ༻ྫ

Slide 19

Slide 19 text

 3"( 3FUSJFWBM"VHNFOUFE(FOFSBUJPO

Slide 20

Slide 20 text

w --.ͷֶशσʔλ͸τϨʔχϯά͠ϦϦʔε ͨ࣌͠఺ʹݶΒΕΔͨΊɺֶशҎޙͷ࠷৽ ৘ใ΍ඇެ։৘ใͷ֎෦஌ࣝΛ͍࣋ͬͯͳ͍ w ରԠͱͯ͠--.Λνϡʔχϯά͢Δख๏ͱɺ ֎෦஌ࣝΛݕࡧͯ͠ϓϩϯϓτʹຒΊࠐΉ ख๏͕͋Δ --.ͷಛੑͱͦͷରॲ

Slide 21

Slide 21 text

w 1ZUIPOͰ͸1Z5PSDI΍5FOTPS'MPX͕ɺ --.ͷτϨʔχϯάʹ࢖ΘΕΔ Β͍͠  w ྫ͑͹1Z5PSDIͷ3VCZόΠϯσΟϯάʹ 5PSDISC͕͋Δ͕ɺ--.ͷτϨʔχϯά͸ 1ZUIPOΛ࢖͓ͬͯ͘ͷ͕Θ͔Γ΍͍͔͢΋ʁ --.ͦͷ΋ͷͷ܇࿅΍ௐ੔ τϨʔχϯά͸๲େͳܭࢉྔͱిྗ͕ඞཁͰɺຊؾͳΒσʔληϯλʔͷೖख͔Βʂʁ Training Fine-turning

Slide 22

Slide 22 text

'JOFUVSOJOHWT3"( IUUQTXXXBOZTDBMFDPNCMPH fi OFUVOJOHJTGPSGPSNOPUGBDUT w 'JOFUVSOJOH͸ ݴ༿ݣ͍΍ग़ྗͱ ͍͏දݱ 'PSN  ΁ͷௐ੔ʹ࢖͏ w ֶशࡁΈ஌ࣝ΁ͷ ࣄ࣮ 'BDUVBM ͷ ௐ੔͸3"(Λ࢖͏

Slide 23

Slide 23 text

3"(ͷΞϓϩʔν ΞϓϦέʔγϣϯ w --.ͦͷ΋ͷΛνϡʔχ ϯά͢ΔͷͰͳ͘ɺݕࡧ ͨ͠֎෦஌ࣝΛϓϩϯϓ τʹຒΊࠐΉ w ݕࡧ͸ओʹϕΫτϧ%# w 3"(͸ख๏Ͱ͋Γඪ४Խ ͞Εͨن֨Ͱ͸ͳ͍ --. --.΁ͷ"1*ϦΫΤετͱϨεϙϯε --.ΞϓϦجૅ ϕΫτϧ σʔλϕʔε Ϣʔβʔ Chroma, Milvus, pgvector, Pinecone, Weaviate, etc... ֎෦஌ࣝΛऔΓࠐΉ 3"(࣮ݱ

Slide 24

Slide 24 text

3"(ͱπʔϧݺͼग़͠ ֎෦πʔϧ "1*ݺͼग़͠ 5PPM6TF ΤʔδΣϯτߏஙڧԽ ΞϓϦέʔγϣϯ w --.஌ࣝʹͳ͍৘ใ͕ඞཁ ͳΒϕΫτϧσʔλϕʔε ໰͍߹ͤ݁ՌΛՃຯͯ͠ --.΁ϓϩϯϓςΟϯά ͍ΘΏΔ޿ٛͷ3"(  w --.ͷϨεϙϯεʹԠ͡ɺ ֎෦πʔϧݺͼग़͠ͷ࢓૊ ΈΛೖΕΔ 3"(ͱผ࣠ --. --.΁ͷ"1*ϦΫΤετͱϨεϙϯε --.ΞϓϦجૅ ϕΫτϧ σʔλϕʔε ֎෦πʔϧ ίʔυ࣮ߦ Ϣʔβʔ Chroma, Milvus, pgvector, Pinecone, Weaviate, etc... ֎෦஌ࣝΛऔΓࠐΉ 3"(࣮ݱ

Slide 25

Slide 25 text

w 3"(͸ख๏Λࢦ͢΋ͷͰ͋Γɺϓϥοτ ϑΥʔϜΛލ͍ͩڞ௨ͷن໿͸ͳ͍ w 1ZUIPOͳΒ-BOH$IBJO΍4FNBOUJD,FSOFM ͳͲ3"(࣮ݱͷͨΊͷϑϨʔϜϫʔΫ͕͋Δ w 3VCZ੡3"(ϑϨʔϜϫʔΫ-BOHDIBJOSC͕ 3VCZ$POG5BJXBOͰ঺հ͞Ε͍ͯΔ 3"(࣮ݱͷϑϨʔϜϫʔΫ

Slide 26

Slide 26 text

w 3"(΍ΤʔδΣϯτߏஙΛ࣮ݱ͢ΔͨΊͷɺ --.΁ͷ"1*ΫϥΠΞϯτɺϕΫτϧσʔλ ϕʔε౷߹ɺπʔϧݺͼग़͠ͳͲΛࠝแ w ͦΕͧΕͷ"1*Λந৅Խͨ͠ϓϥΨϒϧͳ ߏ੒ʹͳ͍ͬͯΔ w ຊՈ-BOH$IBJOͱൺ΂ͯɺ·͍ͩΖ͍Ζෆ଍ -BOHDIBJOSC "OESFJ#POEBSFW࡞

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

-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 --.͕ະ஌ͷ֎෦஌ࣝΛఏڙ͢ΔͨΊɺ ϕΫτϧ%#͔Βҙຯతʹ͍ۙ৘ใΛݕࡧ

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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] }

Slide 31

Slide 31 text

w 3"(Ͱ͸ந৅Խͨ͠"1*͕༻ҙ͞ΕΔ͕ɺ --.Λม͑Δ͜ͱ͕௨ৗͳ͍ͷͰ͋Ε͹ɺ ಛఆ--.ͷ"1*ʹ௚઀ґଘͨ͠ํ͕༰қʁ w ྫ͑͹ɺ-BOHDIBJO--.0QFO"*͸ SVCZPQFOBJHFN΁ͷϥούʔʹա͗ͳ͍ 3"(͸৑௕ͳந৅Խઆ΋ු্ʁ ϑϨʔϜϫʔΫͰ--.ΞϓϦ૾Λ஌ΓɺඞཁͳݸผϥΠϒϥϦΛ࢖͏ͱγϯϓϧʁ

Slide 32

Slide 32 text

w -BOHDIBJOSC͸ɺ--.ΛғΉ3VCZͷϥΠϒ ϥϦ΍ϛυϧ΢ΣΞΛ஌Δ͖͔͚ͬʹͳΔ w 1ZUIPOͷ-BOH$IBJOʹ͋ΔػೳΛ3VCZͷ -BOHDIBJOSCʹҠ২Ͱ͖ͦ͏ w -BOHDIBJOSC΁ͷίϯτϦϏϡʔγϣϯͷ ϙΠϯτͱͯ͠5PPM֦ॆɺ-$&-αϙʔτ౳ -BOHDIBJOSCʹΑΔ3"(·ͱΊ LangChain Expression Language

Slide 33

Slide 33 text

.PEFM$POUFYU1SPUPDPM  .$1 NPEFMDPOUFYUQSPUPDPMJP

Slide 34

Slide 34 text

w .PEFM$POUFYU1SPUPDPMͷུশ w "OUISPQJD͔ࣾΒࡦఆެ։͞Εͨϓϩτίϧ ࢓༷Ͱ͋ΓɺϓϥοτϑΥʔϜඇґଘ w ݱࡏɺ͕࠷৽൛Ͱ υϥϑτ൛ͱͯ࣍͠ظ࢓༷Λࡦఆத w 4&1ͱͯ͠(JU)VCΠγϡʔͰ࢓༷ఏҊ͞ΕΔ .$1ͱ͸ʁ Specification Enhancement Proposal

Slide 35

Slide 35 text

w 'BTU.$1 ZKBDRVJOGBTUNDQ  w .$13# GVOXBSJPJTJJNDQSC  w .$1PO3VCZ SVCZPOBJNDQ@PO@SVCZ  w .$13VCZ4%, NPEFMDPOUFYUQSPUPDPMSVCZTEL 3VCZʹ͓͚Δ.$14%,HFN NPEFMDPOUFYUQSPUPDPMͷ63-͕ѹ౗తͩͬͨͷͰɺͦ͜ʹίϛοτ͍ͯ͠Δ

Slide 36

Slide 36 text

w 1ZUIPO4%,ͱ5ZQF4DSJQU4%,͕ઌߦ w ೥݄ݱࡏ͸ݸͷެࣜ4%,͕ଘࡏ .$10G fi DJBM4%,T IUUQTNPEFMDPOUFYUQSPUPDPMJPBCPVU IUUQTNPEFMDPOUFYUQSPUPDPMJPEPDTTEL

Slide 37

Slide 37 text

w 4IPQJGZ͕ࣾ಺Ͱ࡞͍ͬͯͨHFNΛެࣜͱ͠ ͯఏҊͯ͠ެ։͕࢝·ͬͨͬΆ͍ w .$1ͷΨόφϯε 4&1 ͕੔͏·Ͱͷ ؒ͸ɺ4IPQJGZͰϝϯςφϯε͞Ε͍ͯͨ w ݱࡏɺ"UF㶆(ÖSBM 5PQIFS#VMMPDL ࢲͷ ਓ͕ϝϯςφʔͱͯ͠׆ಈ͍ͯ͠Δ .$13VCZ4%,

Slide 38

Slide 38 text

w ެࣜ4%,͸.$1ͷ࢓༷΁४ڌ௥ਵ͢Δ͜ͱ ͕ٻΊΒΕ͍ͯΔ ϕετΤϑΥʔτ  w 3VCZ൛ͷ.$14%,HFNͰαʔόʔ4%,ʹ Ճ͑ɺΫϥΠΞϯτ4%,ఏڙ͸ݱࡏ།Ұ w .$1"VUIFOUJDBUJPO 0"VUI ࣮૷த 5IF0G fi DJBM3VCZ4%, ͭ·Γ.$1ͷ࢓༷ͷΞοϓσʔτʹԠͯ͡ɺ4%,΋ରԠ͢Δ͜ͱ͕ظ଴͞ΕΔ

Slide 39

Slide 39 text

w -BOHVBHF4FSWFS 1SPUPDPM -41 ʹӨڹ Λड͚ͨΞʔΩςΫνϟ w .$1͸ϗετɺ ΫϥΠΞϯτɺαʔόʔ Ͱ੒Δ w ΫϥΠΞϯτɺαʔόʔ ͸+40/31$ج൫ ͷ.$1Ͱ௨৴͢Δ .$1ͷΞʔΩςΫνϟ IUUQTNPEFMDPOUFYUQSPUPDPMJPTQFDJ fi DBUJPOBSDIJUFDUVSF

Slide 40

Slide 40 text

.$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αʔόʔΛ࣮૷

Slide 41

Slide 41 text

/BUJWFޚࡾՈ w .$1αʔόʔఏڙͷ πʔϧɺϦιʔεɺ ϓϩϯϓτ͕ओཁػೳ w ಛʹπʔϧ͸൚༻తͳ ػೳͰΫϥΠΞϯτͷ ଟ͕͘αϙʔτ IUUQTNPEFMDPOUFYUQSPUPDPMJPDMJFOUT IUUQTNPEFMDPOUFYUQSPUPDPMJPBCPVU

Slide 42

Slide 42 text

ΫϥΠΞϯταʔόʔؒͷ௨৴ w TUEJPͱ4USFBNBCMF)551Λαϙʔτ w TUEJPϩʔΧϧͷ.$1αʔόʔͱͯ͠઀ଓ w 4USFBNBCMF)551ඞཁʹԠͯ͡44& 4FWFS4FOU&WFOUT ͕࢖ΘΕΔɻαʔόʔ ެ։͢Δ৔߹͸0"VUIαϙʔτΛཁ֬ೝ ݱঢ়4USFBNBCMF)551͸ΤϯτϦϙΠϯτΛ3BDL3BJMTͰࣗલ࣮૷͢Δܗࣜ

Slide 43

Slide 43 text

3VCZͰ.$1Λ࣮૷͢Δͱ͸ʁ w .$1࢓༷ʹԊ࣮ͬͨ૷͕͞Εͨ.$1ΫϥΠ Ξϯτɺ.$1αʔόʔؒ͸૬ޓӡ༻Մೳ w ϓϩτίϧ࢓༷ͷಈ͘ιϑτ΢ΣΞͱͯ͠ɺ ԿΒ͔ͷݴޠॲཧܥͷ࣮૷͕ඞཁ w 3VCZͰ࣮૷͢Ε͹࣮૷ͱӡ༻ͷϝϯςφϯ εΛ3VCZͰͰ͖Δ

Slide 44

Slide 44 text

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 ྫ

Slide 45

Slide 45 text

w 3"(͸ख๏Ͱ-BOHDIBJOSC͸--.ΞϓϦͷ ಠࣗ"1*ͷఏڙϑϨʔϜϫʔΫͱͯ͠࠶ར༻ w .$1͸ϓϩτίϧ࢓༷Ͱ͋Γ.$1αʔόʔ ͸ن໿४ڌ.$1ΫϥΠΞϯτԣஅͰ࠶ར༻ w ͍ͣΕ΋--.݁ՌͷධՁ͸ඞཁ͕ͩɺ.$1 ͸খ͘͞࠶ར༻͠΍͍͢σβΠϯ -BOHDIBJOSCWT.$1αʔόʔ

Slide 46

Slide 46 text

 3VCZY--.ͷՄೳੑ

Slide 47

Slide 47 text

w ࣮ࡍͷͱ͜Ζɺ1ZUIPO͕ઌߦ͍ͯ͠Δ w 3"(ʹؔͯ͠͸ख๏ʹա͗ͳ͍ͨΊɺ ʮ΅͕͘ߟ͑ͨ࠷ڧͷ3"(ϑϨʔϜϫʔΫʯ 3VCZ൛͕ొ৔͢Δ༨஍͸͋Δ͔΋͠Εͳ͍ w .$1͸࢓༷४ڌͷ4%,࣮૷ͷͨΊ࢓༷ཧղ ͱෆ଍͍ͯ͠Δ3VCZ4%,։ൃΛਐΊ͍ͯ͘ 3VCZͷ3"(ͱ.$1͸ޙ௥͍

Slide 48

Slide 48 text

w 3VCZΤίγεςϜͷ޿͕Γʹ͸ 3VCZॲཧܥΠϯετʔϧ͕ॏཁ w .$1αʔόʔ͸֤ݴޠͰ࣮૷Մ w 3VCZ੡.$1αʔόʔ͕޿͕Δ ͱ͍͏͜ͱ͸ɺ࣮ߦ؀ڥʹ3VCZ ॲཧܥ͕ೖΔػձ͕૿͑ɺ3VCZ ͷଟ༷ੑͷ޿͕Γʹܨ͕Δʂʁ .$1αʔόʔ࣮૷͸ݴޠؒϨʔεʁ IUUQTHJUIVCDPNNPEFMDPOUFYUQSPUPDPMTFSWFST IUUQTNPEFMDPOUFYUQSPUPDPMJPBCPVU

Slide 49

Slide 49 text

.$13VCZ4%,ͷΞϓϦࣄྫٻΉ w 3VCZք۾Ͱͷ.$1ͷར༻ࣄྫͱͯ͠ɺ $MBVEF$PEF΍$VSTPSͳͲͷπʔϧΛ.$1 ϗετͱͨ͠࿩ׂ͕Γ߹͍ͱͯ͠ଟ͍ʁ w 3BJMTΞϓϦΛ.$1ϗετͱͨ͠--.ΞϓϦ ͔Β.$1αʔόʔΛ࢖ͬͨࣄྫ͸Չฉ ઌ೔0QFO"*͔Β$IBU(15"QQT4%,ج൫͕.$1ͱ͍͏ൃද΋͋Γܹྲྀͷ࠷த IUUQTPQFOBJDPNJOEFYJOUSPEVDJOHBQQTJODIBUHQU

Slide 50

Slide 50 text

w 3VCZPO3BJMTʹΑΔΞϓϦέʔγϣϯ΁ͷ --.׆༻ͷ૊ΈࠐΈ͸3VCZͰ΋Ͱ͖ΔΑ w --.पลʹ͸044ͰղܾͰ͖Δ͜ͱ͕୔ࢁ ͋ΓɺύΠΦχΞʹͳΔνϟϯεʂʁ w ͜Μͳ--.׆༻͸Ͱ͖ͳ͍͔ͳʁͱࢥͬͨΒ 1ZUIPOઌഐ͔ΒֶΜͰΈΔͷ΋ͻͱͭ ·ͱΊ

Slide 51

Slide 51 text

w --.͸ςΩετੜ੒Τϯδϯͱ͍͏πʔϧ w --.ͷ࢓૊ΈΛ஌Δ͜ͱ͸--.Λ࢖ͬͨ ΤϯδχΞϦϯάεΩϧͷ޲্ʹඞਢ --.ͦͷ΋ͷΛ஌Δ ͓͢͢Ί

Slide 52

Slide 52 text

3VCZY"*