
3D
ã€ãã³ã
ãã¬ãžã³
æè¡ããã°
ã¯ããã«ããã«ã¡ã¯ãLINEã€ããŒã§ã¢ãŒã·ã§ã³çæãã¢ãã¡ãŒã·ã§ã³çæã®ç ç©¶éçºã«åãçµãã§ããéã§ãããã®ãã³ãæã
ã®ããŒã ããæ¬¡ã® 2 æ¬ã®è«æã CVPR 2026 ã«æ¡æãããŸãããCausa...
2026 幎 4 æ 14 æ¥ãã¢ããŸã³ ãŠã§ã ãµãŒãã¹ ãžã£ãã³ååäŒç€ŸïŒä»¥äžãAWS ãžã£ãã³ïŒã¯ãããã£ãžã«ã« AI éçºæ¯æŽããã°ã©ã by AWS ãžã£ãã³ãã®æ¡æäŒæ¥åãå匷äŒãæ±äº¬ã® AWS ç®é»ãªãã£ã¹ã«ãŠéå¬ããŸãããå匷äŒã§ã¯ã NVIDIA å ç¬ æ¬å¯æ°ãããNVIDIA Robotics Solutions ãã玹ä»ããã ããŸãããAWS ããã¯ãPhysical AI éçº ãããŒã¿çæã ãã§ãŒãºã«ããã AWS ã®æŽ»çšæ¹æ³ãš Remote AWS Develop Station ã®ã玹ä»ãè¡ããŸãããæ¬ããã°ã©ã ã«ã€ããŠã¯ãéå»ã®ããã°ãåç
§ããŠãã ããã ããã£ãžã«ã« AI éçºæ¯æŽããã°ã©ã by AWS ãžã£ãã³ãã®å¿ååä»ãéå§ ããã£ãžã«ã« AI éçºæ¯æŽããã°ã©ã by AWS ãžã£ãã³ãããã¯ãªãã€ãã³ããéå¬ããŸãã ãPhysical AI on AWS ååŒ·äŒ #1ããéå¬ããŸãã NVIDIA Robotics Solutions ã®ãçŽ¹ä» Physical AI ã仿³šç®ãããèæ¯ãšãNVIDIA ã®ã·ãã¥ã¬ãŒã·ã§ã³æè¡ããããŠãäžçã¢ãã« Cosmos ãšãã¥ãŒããã€ãåãåºç€ã¢ãã« GR00T ã«ã€ããŠãNVIDIA Robotics Solution Architect ã® å ç¬ æ¬å¯æ°ããã玹ä»ããã ããŸããã Agentic AI ã®æ¬¡ã®ã¹ããããšããŠæ³šç®ãããŠããã®ã Physical AI ã§ããPhysical AI ãšããèšèã¯ããã¥ãŒããã€ãã ãã§ãªããç£èŠã«ã¡ã©ã»èªåé転ã»ãããŒã³ã»å·¥å Žããããçãç©çäžçãçè§£ãè¡åãã AI å
šè¬ãæããŸããåŸæ¥ã®ç£æ¥ããããã¯ã«ãŒã«ããŒã¹ã§æµã®äžã§ããåããŸããããPhysical AI ã¯çµéšããåŠç¿ãéæ§é åç°å¢ã§åäœããŸããæå€§ã®èª²é¡ã¯ããŒã¿äžè¶³ã§ãå®ããããããååŸã§ããããŒã¿ã«ã¯ç©ççéçããããããã·ãã¥ã¬ãŒã·ã§ã³ã«ããå€§èŠæš¡ããŒã¿çæãéµãšãªã£ãŠããŸãã Physical AI ã«ãããæå€§ã®èª²é¡ãããŒã¿äžè¶³ã«å¯ŸããŠãNVIDIA ã¯å®äžçã«ãããããããã®åããåçŸãããŒã¿ãååŸã§ãããããŸããŸãªã·ãã¥ã¬ãŒã·ã§ã³æè¡ãéçºããæäŸããŠããŸãããªãŒãã³ãœãŒã¹ã®ããããã·ãã¥ã¬ãŒã¿ãŒ Isaac Sim ãäžæ žã«ãå®ç°å¢ã iPhone æ®åœ±ãã 3D Gaussian Splatting ã§åæ§ç¯ãã NeuDexãæè»ç©ã·ãã¥ã¬ãŒã·ã§ã³ã«å¯Ÿå¿ããæ¬¡äžä»£ç©çãšã³ãžã³ Newton ãæäŸããŠããŸããåŠç¿ãã¬ãŒã ã¯ãŒã¯ Isaac Lab ã§ã¯åŒ·ååŠç¿ã»æš¡å£åŠç¿ã«å ããVR ããã€ã¹ã«ããã·ãã¥ã¬ãŒã·ã§ã³å
ãã¬ãªãã¬ãŒã·ã§ã³ïŒIsaac TeleopïŒãå¯èœã§ãã Physical AI ã®ã¢ãã«éçºã«ãããŠã¯ãã·ãã¥ã¬ãŒã·ã§ã³ã«ããããŒã¿åéã«å ããããŒã¿ã®ååŠçã»æ¡åŒµïŒAugmentationïŒã»å質è©äŸ¡ãšãã£ãäžé£ã®ããŒã¿ãã€ãã©ã€ã³ã®æŽåãäžå¯æ¬ ã§ããNVIDIA ããã¯ããã®å·¥çšãå®è¡ããããŒã«ãã¢ãã«ãšããŠãCosmos CuratorïŒåç»ãã¥ã¬ãŒã·ã§ã³ïŒãCosmos TransferïŒèæ¯å€æïŒãCosmos ReasonïŒPhysical AI ç¹å VLMïŒãæäŸããŠããŸãã ã·ãã¥ã¬ãŒã·ã§ã³ãããŒã¿ãã€ãã©ã€ã³ã«å ããNVIDIA ãéçºã»å
¬éããŠããã¢ãã«ããããã€åãããŒã«ã®ç޹ä»ããããŸãããCosmos v2 ã¯ã3500 äžæéã®åç»ããŒã¿ã§åŠç¿ãããäžçã¢ãã«ã§ãå
¥åæ åã®ç¶ããäºæž¬ã»çæããããšã§ããããã®æ€èšŒããã³ãããŒã¯ã«æŽ»çšã§ããŸãããã¥ãŒããã€ãåãåºç€ã¢ãã« GR00T N 㯠VLMïŒSystem 2ïŒãš 120Hz å¶åŸ¡ã® Diffusion TransformerïŒSystem 1ïŒã® 2 å±€æ§é ã§ãããããã€åãã«ã¯ GPU æé©å ROS ããã±ãŒãžçŸ€ Isaac ROS ããç°çš® GPU ãªãœãŒã¹ãçµ±å管çãã OSMO ãæäŸãããŠããŸãã Physical AI éçº ãããŒã¿çæã ãã§ãŒãºã«ããã AWS æŽ»çš Physical AI ã®éçºã§ã¯ ãããŒã¿çæã»åé â ã¢ãã«åŠç¿ â ã¢ãã«é
ä¿¡ã»æšè«ã ã® 3 ã¹ããããç¹°ãè¿ããŸãããã®åã¹ãããã«ããããAWS ããæäŸããã NVIDIA GPU ã®éžæè¢ãšãããŒã¿çæãã§ãŒãºã«ããã AWS ã®æŽ»çšæ¹æ³ã«ã€ããŠãSolutions Architect ã®æå±±ãã玹ä»ããŸããã Physical AI éçºã®åãã§ãŒãºã«æé©ãªã€ã³ã¹ã¿ã³ã¹ããã®çç±ãšãšãã«ã玹ä»ããŸãããããŒã¿ååŠçã«ãããŠã GPU ãäžèŠãªå Žåã¯ãAmazon EC2 C8/M8 çã®ã³ã³ãã¥ãŒãæé©åã€ã³ã¹ã¿ã³ã¹ãã·ãã¥ã¬ãŒã·ã§ã³ã«ã¯ã¬ã€ãã¬ãŒã·ã³ã°ã«ç¹åãã RT ã³ã¢ãšå€§å®¹é VRAM ãåããªã¢ã«ã¿ã€ã ã¬ã³ããªã³ã°ãå¯èœãª Amazon EC2 G6e/G7e (NVIDIA L40S Tensor Core GPU / RTX PRO 6000 Blackwell Server Edition æèŒ) ã€ã³ã¹ã¿ã³ã¹ãæšå¥šããŠããŸããåŠç¿ãã§ãŒãºã§ã¯ãVRAM æ¶è²»ãæ¯èŒç軜ã LoRA ãã¡ã€ã³ãã¥ãŒãã³ã°ã«ã¯Amazon EC2 G6eã倧容é VRAM ãå¿
é ãšãªããã«ãã¡ã€ã³ãã¥ãŒãã³ã°ã«ã¯ Amazon EC2 P5 (NVIDIA H100 Tensor Core GPU æèŒ)ã€ã³ã¹ã¿ã³ã¹ãé©ããŠããŸããããã«äºååŠç¿ããåãçµãå Žåã¯ãå€§èŠæš¡ãªåæ£åŠç¿ã«å¯Ÿå¿ãã Amazon EC2 P5en/P6-B200 (NVIDIA H200 / B200 Tensor Core GPU æèŒ) ã€ã³ã¹ã¿ã³ã¹ãããããã§ãã Physical AI ã¢ãã«éçºã«å©çšããããŒã¿çæç®çã®ã·ãã¥ã¬ãŒã·ã§ã³ã¯ãAmazon EC2 äžã«ã€ã³ã¹ããŒã«ããã Issac Sim ã§å®è¡ããŸãããããŠãçæãããããŒã¿ã¯ãã¹ã±ãŒã©ãã«ã§ã³ã¹ãå¹çã«åªãããªããžã§ã¯ãã¹ãã¬ãŒãžã§ãã Amazon S3 ãžã®ä¿åããã®ãäžè¬çã§ããAWS ã®æ±äº¬ãªãŒãžã§ã³ã§ã¯ãIssac Sim ã®ãªã¢ãŒããã¹ã¯ãããã«ããã°ã©ãã£ãã¯æäœãå¿«é©ã«è¡ãã Amazon EC2 G6e/G7e ã€ã³ã¹ã¿ã³ã¹ããå©çšããã ããŸããããã«ã髿§èœãªã¢ãŒããã¹ã¯ããããããã³ã«ã§ãã Amazon DCV ãå©çšããããšã§ãããå¿«é©ãªã·ãã¥ã¬ãŒã·ã§ã³ç°å¢ãå®çŸã§ããŸããEC2 éã® DCV æ¥ç¶ã¯ç¡æã§ãã ãŸããKubernetes ããŒã¹ã®ã¯ãŒã¯ãããŒãªãŒã±ã¹ãã¬ãŒã¿ãŒã§ãã NVIDIA OSMO ãã玹ä»ããŸãããNVIDIA OSMO ã¯ãPhysical AI ã®éçºãã€ãã©ã€ã³ã§ããã ãããŒã¿çæã»åé â ã¢ãã«åŠç¿ â ã¢ãã«é
ä¿¡ã»æšè«ã ã Kubernetes äžã§å®çŸ©ã»èªåå®è¡ãããªãŒã±ã¹ãã¬ãŒã¿ãŒã§ãåã¹ããŒãžã«æé©ãª GPU ãªãœãŒã¹ãèªåã§å²ãåœãŠãç¹ãç¹åŸŽã§ããNVIDIA OSMO 㯠AWS äžã§ãå©çšã§ããG ç³»ã»P ç³»ã€ã³ã¹ã¿ã³ã¹ã®éžæãèªåæé©åããããããã€ã³ã¹ã¿ã³ã¹éžå®ã®æéã軜æžãããŸãã ã¹ã©ã€ãè³æ Remote AWS Develop Station (RADS)â Physical AI éçºã«äŸ¿å©ãª Amazon EC2 ããŒã¹ã®éçºç°å¢ãâç°¡åã«èµ·å/æ¥ç¶/管çã§ãããµã³ãã« ãRemote AWS Develop Station (RADS)âã ã Solutions Architect ã®åç°ãããã玹ä»ããŸããã RADS 㯠Amazon EC2 ããŒã¹ã®éçºç°å¢ã Web ããŒã¿ã«çµç±ã§æäŸãããµã³ãã«ãœãªã¥ãŒã·ã§ã³ã§ããIsaac Sim ã ROS ã䜿ã£ãã·ãã¥ã¬ãŒã·ã§ã³ã¯ãŒã¯ããŒãã AWS äžã§æè»œã«å§ããããããšãç¹åŸŽãšããŠããããŠãŒã¶ãŒèªèº«ã® AWS ç°å¢ã«ãããã€ããŠäœ¿ãã»ã«ããããŒãžãç°å¢ã§ããæ¥ç¶æ¹åŒã¯ Amazon DCVïŒWeb / ãã€ãã£ãã¯ã©ã€ã¢ã³ãïŒãcode-serverïŒãã©ãŠã¶ IDEïŒãSSHïŒSystems Manager çµç±ïŒã® 3 çš®ããµããŒãããŠããŸããWeb ããŒã¿ã«ããã€ã³ã¹ã¿ã³ã¹ã¿ã€ãã»AMIã»EBS ãµã€ãºãéžã¶ã ãã§ç°å¢ãç«ã¡äžãããããŒã ã¡ã³ããŒããšã«ç¬ç«ããç°å¢ãã»ã«ããµãŒãã¹ã§äœæã»åæ¢ã»åé€ã§ããŸãã ãŽãŒã«ãã³ã€ã¡ãŒãžã«ã¯ NVIDIA ãã©ã€ããŒã»ROSã»Isaac Sim ã«å ããAmazon Bedrock 飿ºã® AI ã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãïŒClaude Code çïŒãã»ããã¢ããæžã¿ã§ãçŽ 5 åã§éçºãéå§ã§ããŸãã Physical AI éçºã«ããããŠãŒã¹ã±ãŒã¹ãšããŠã¯ 2 ã€ãããŸãã1 ã€ç®ã¯ Issac Sim ãªã©ãçšããã·ãã¥ã¬ãŒã·ã§ã³ã§ãDCV æ¥ç¶ãŸã§å«ããã»ããã¢ããæžã¿ç°å¢ã«ãããåããŠã®æ¹ã§ãããã«å§ããããŸãã2 ã€ç®ã¯ AI é§åéçºã§ããããŒã«ã«ããåé¢ããããµã³ãããã¯ã¹ç°å¢ãšããŠéçºç°å¢ãèµ·åãããããããŒã«ã«ã«ä¿åãããæ©å¯ããŒã¿ã® AI ãšãŒãžã§ã³ãã«ããæŒæŽ©ãæ¹å€ãå¿é
ããããšãªããé·æéãšãŒãžã§ã³ãã皌åããããã倧éã®ãšãŒãžã§ã³ãã䞊åã§å®è¡ããããšãã§ããŸãã å©çšéå§æ¹æ³ãã·ã³ãã«ã§ããã€ã³ãã©ã¯å
šãŠ AWS Cloud Development Kit (AWS CDK, ã³ãŒãã§ã¯ã©ãŠãã€ã³ãã©ãå®çŸ©ã»ããããžã§ãã³ã°ãããã¬ãŒã ã¯ãŒã¯) ã§å®çŸ©ãããŠããã2 ã€ã®ã³ãã³ããå®è¡ããã ãã§çŽ 30 åã 1 æéã§ãããã€ãå®äºããŸããçŸåšãªãŒãã³ãœãŒã¹å
¬éã«åããŠæºåäžã§ãã ä»åŸã®ã¹ã±ãžã¥ãŒã« ææ å
容 2026 幎 5 æäžæ¬ ããããå匷äŒ: AI éçºè
ãããããæ¥çã«å
¥ã£ãŠããäžã§ç¥ã£ãŠããã¹ãç¥èã®å
±æïŒå
å®¹ã»æ¥çšèª¿æŽäžïŒ 2026 幎 6 æ 1 æ¥ Community Meetup #1 â ç»é²ããŒãžã¯ ãã¡ã 2026 幎 6 æ 25-26 æ¥ Demo DayïŒäžéå ±åäŒïŒat AWS Summit Tokyo 2026ïŒå¹åŒµã¡ãã»ïŒ 2026 幎 7 æäžæ¬ Community Meetup #2 2026 幎 7 æäžæ¬ æçµææå ±åäŒïŒAWS 麻åžå°ãã«ãº ãªãã£ã¹ äºå®ïŒ ãããã« æ¬å匷äŒã§ã¯ãNVIDIA ã® Robotics Solutions ã«å ããPhysical AI éçºã®åãã§ãŒãºã«æé©ãª Amazon EC2 GPU ã€ã³ã¹ã¿ã³ã¹ã®éžã³æ¹ããããŠã·ãã¥ã¬ãŒã·ã§ã³ç°å¢ãæè»œã«æ§ç¯ã§ãããµã³ãã«ãœãªã¥ãŒã·ã§ã³ RADS ãã玹ä»ããAWS ç°å¢ã§ã·ãã¥ã¬ãŒã·ã§ã³ãå®è¡ããããã®å®è·µçãªç¥èãå
±æããããšãã§ããŸãããåå ãããäŒæ¥ã®çæ§ããæ¢åã®ç°å¢ãšåãããŠæŽ»çšããã ãããšã§ãããéçºãå éãããããšãã§ãããããAWS ãžã£ãã³ãšããŠãåŒãç¶ãæ¯æŽããããŠããã ããŸãã AWS ãžã£ãã³ã¯ãæ¬ããã°ã©ã ãéããŠæ¥æ¬ã®ãã£ãžã«ã« AI ã®çºå±ã«è²¢ç®ããŠãŸãããŸããæ¡æäŒæ¥ã®çããŸã®ææŠãšãææçºè¡šäŒãã©ãããæåŸ
ãã ããã é¢é£ãªã³ã¯ : â ãã£ãžã«ã« AI éçºæ¯æŽããã°ã©ã by AWS ãžã£ãã³ïŒçºè¡šããã°ïŒ â ããã£ãžã«ã« AI éçºæ¯æŽããã°ã©ã by AWS ãžã£ãã³ãããã¯ãªãã€ãã³ããéå¬ããŸãã â ãPhysical AI on AWS ååŒ·äŒ #1ããéå¬ããŸãã
ããã«ã¡ã¯ãã¿ã€ããŒã§SREæ¥åãæ
åœããŠãã埳å¯(@yannKazu1)ã§ãã å
æ¥ãåœé€šã§éå¬ãããRubyKaigi 2026ã«åå ããŠããŸãããRubyæ¬äœãããŒãµãGCãJITãšãã£ããèšèªã®äžèº«ããæ·±æãããã«ã³ãã¡ã¬ã³ã¹ãªã®ã§ãæ®æ®µã¢ããªã±ãŒã·ã§ã³ã³ãŒãããã€ã³ãã©å¯ãã®ä»äºãããŠããèªåãè¡ã£ãŠæ¥œãããã®ãããšããæ°æã¡ãå°ããããŸãããã§ãããçµæãšããŠãšãŠã楜ãããã®ã§ãææ³ãæžããŠãããŸãã SREãè¡ã£ãŠãæ®éã«æ¥œããã æ®æ®µã®ä»äºã¯Railsã¢ããªã±ãŒã·ã§ã³ãå®å®ããŠåãããããã¹ã±ãŒã«ããããã芳枬ãããããããšãäžå¿ã§ããRubyæ¬äœã«ã³ãããããããã§ããããŒãµãæžãããã§ããªãã®ã§ãå°éå€ã®è©±ãå€ãã ãããšæã£ãŠããŸããã å®éãèããŠããŠå
šéšã®çްéšãŸã§ã¯è¿œããªãã»ãã·ã§ã³ããããŸãããããã§ãã æ®æ®µãã©ãã¯ããã¯ã¹ãšããŠæ±ã£ãŠããGCãã©ã³ã¿ã€ã ã®äžèº«ããäœã£ãŠãã人ã®å£ããèªããã ä»ç€Ÿã®Railséçšããã£ãŠãã人ãã¡ãšçŽæ¥è©±ãã ãã®ãããã ãã§ãåå ãã䟡å€ãæããŸããã Day 1ã®ããŒã¹ãæå€ãšè¯ãã£ã åå ãããããšãããæ¹ãªãããããšæããŸãããDay 2以éã¯ããŒã¹å·¡ããæå€ãšæ
ãã ãããªããŸããã¹ã¿ã³ãã©ãªãŒã§äººãæµããããã»ãã·ã§ã³ã®åéã§æéãéãããŠãããã ãã®ç¹ã Day 1ã¯ã¹ã¿ã³ãã©ãªãŒããŸã å§ãŸã£ãŠããªãã®ã§ãããŒã¹ãæ¯èŒç空ããŠããŠãã£ãã話ããæé垯 ã§ãããç«ã¡å¯ã£ãŠãé çªåŸ
ã¡ãã»ãšãã©ãªãããšã³ãžãã¢ã®æ¹ãšãã£ãã話ããŸãã RubyKaigiã«ã¯ã»ãŒäŸå€ãªãRailsãæ¬çªéçšããŠããäŒç€Ÿãããã¹ãã³ãµãŒãšããŠåºå±ããŠããã®ã§ãSREãšããŠã¯ãä»ç€Ÿããã®ã¢ãŒããã¯ãã£ãå°ãããšãçŽæ¥èããå ŽããšããŠããããããªãé¢çœãã£ãã§ãã Railsã§å®çµãã vs ã¯ã©ãŠããã€ãã£ãã«æ¯ãåã è€æ°ã®äŒç€Ÿãããšè©±ããŠè峿·±ãã£ãã®ãããRailsã®äžã§å®çµãããããAWSã®ãããŒãžããµãŒãã¹ã«åãåºãããã®å€æåºæºãäŒç€Ÿã«ãã£ãŠå
šç¶éãããšã§ãã Railsã¯ããã§ããŠããŠãActiveJob + SidekiqãActiveStorageãActionCableãªã©ãçµã¿åãããã°ã倧æµã®ãŠãŒã¹ã±ãŒã¹ã¯Railsã®äžçã®äžã§å®çµããŸããããããã¯ã©ãŠããã€ãã£ããªãããŒãžããµãŒãã¹ã«åãåºããªããŠããéçšè² è·ãæããªããåããã±ãŒã¹ã¯å€ãã äžæ¹ã§ãããžã§ãã®é
å»¶ãäºæ¥KPIã«çŽçµããã®ã§ããããŒãžããµãŒãã¹ã«åãåºããŠæ°Žå¹³ã¹ã±ãŒã«ã確å®ã«ããŠããããšè©±ãäŒç€Ÿãããããã°ãéã«ãä»ã®ã¹ã¿ãã¯ã§ååæããŠããããRubyãšã³ãžãã¢ãéçšã§ããæ§æã«æããã»ããçµç¹çã«åŒ·ãããšè©±ãäŒç€ŸããããããŸããã æè¡éžå®ã®åºæºãšããŠæãã£ãŠããã®ã¯ããã£ãããããªèгç¹ã§ãã ã¹ãã€ã¯èæ§ãäºæ¥äžã¯ãªãã£ã«ã«ãã©ãã éçšããããŒã ã®ã¹ãã«ã»ãããšæ¡çšåžå Ž ã³ãŒã«ãã¹ã¿ãŒãã蚱容ã§ããã¯ãŒã¯ããŒãã RubyKaigiã¯ç»å£è
ãæ¥å Žè
ãã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ãäžå¿ã§ãããã®ããããSidekiqã®ãŸãŸãããããããšãåãåºããããšãã£ãããŒãã²ãšã€ãšã£ãŠãããã¢ããªã±ãŒã·ã§ã³åŽããã©ãèŠããŠããããäœãå¬ãããã€ãããããšããèŠç¹ã§èªãããŠããã®ãå°è±¡çã§ããã æ®æ®µãSREç³»ã®ã€ãã³ãã§ãã€ã³ãã©åŽã®éœåããšããŠãã®æã®è©±ãèãããšãå€ãç§ã«ãšã£ãŠã¯ããã®èŠç¹ã®å¯Ÿæ¯ãéåžžã«æ°é®®ã«æããããŸããã ãæ£è§£ã¯äžã€ãããªãããšé ã§ã¯ããã£ãŠããŠããSREç®ç·ãšã¢ããªç®ç·ã§ã¯åãæææ±ºå®ã§ãèŠããŠããæ¯è²ãéããŸããäž¡æ¹ã®èŠç¹ãæã£ãŠããããšã倧äºã ãªãšãæ¹ããŠæããŸããã AI掻çšã®æž©åºŠæ ããäžã€ãå€ãã®ããŒã¹ã§ã話é¡ã«ãªã£ãã®ã AIæŽ»çš ã§ãããããã¯ããžã®çµã¿èŸŒã¿ã瀟å
éçºãããŒãžã®å°å
¥ãå¶æ¥ã»ã«ã¹ã¿ããŒãµããŒããžã®æŽ»çšãšãã¬ã€ã€ãŒããšã«ç¶æ³ãéã£ãŠããŠé¢çœãã£ãã§ãã ç¹ã«å°è±¡ã«æ®ã£ãã®ããSmartBankããã®ããŒã¹ã§å±ç€ºãããŠãããã¹ããŒããã³ã¯ã§åãAI Agentãã¡ãã®ãã¹ã¿ãŒã§ãããã¢ããªãŠãŒã¶ãŒåãã®ã ã¯ã³ãã³ãã¬ã³ãº ã(å®¶èšãèªã¿è§£ããŠæ°ã¥ããå±ããAIã¢ã·ã¹ã¿ã³ã)ã瀟å
ã¡ã³ããŒåãã®ã Ask! ã¯ã³ãã³ ã(èªç¶èšèªã§ç€Ÿå
ããŒã¿ãæ€çŽ¢ã»åæããåæAI)ããããŠéçºè
åãã®ã Guardie ã(ãšã©ãŒãç°åžžãæ€ç¥ããŠãã°ã»ã³ãŒãã»å€æŽå±¥æŽã暪æããŠåå ç¹å®ãæ¯æŽããçªç¬AI)ãšããäžæ¬ç«ãŠã§ã ãŠãŒã¶ãŒåã / 瀟å
åã / éçºè
åãã®3ã¬ã€ã€ãŒã«å¯ŸããŠããããAIãšãŒãžã§ã³ããé
眮ããŠãã ã®ããããæŽçãããŠããŠå°è±¡çã§ããã ç¹ã«Guardieã¯SREèŠç¹ã§ãã¡ããã¡ãåºãããŸãããã2æéèŠæããŠãã調æ»ã10åã§çµãã£ãããšãã瀟å
ã®å£°ã玹ä»ãããŠããŠãããã¯é害察å¿ã«ããã MTTR(å¹³ååŸ©æ§æé)ãæ¬è³ªçã«ççž®ãã«è¡ã£ãŠãã äºäŸã ãªãšããšã©ãŒæ€ç¥ â ãã°ã»ã³ãŒãã»å€æŽå±¥æŽã暪æããåå ç¹å®ãŸã§ãAIã«ä»»ããããšããã®ã¯ããããæã
ãäœã£ãŠããããšæã£ãŠããä»çµã¿ãæ®éã«åããŠããŠãåºæ¿ãåããŸããã ããŒã¹æ
åœã®æ¹ãšã¯ãã©ããŸã§ãAIã«ä»»ããŠãã©ããã人éãããã¹ãããã誀æ€ç¥ãæŽèµ°ãžã®å®å
šè£
眮ãã©ãèšèšããŠããããã¿ãããªè©±ãŸã§ã§ããŠãããããäžæ¬¡æ
å ±ãèããã®ãRubyKaigiãªãã§ã¯ã§ããã æ°ã«ãªã£ã話ã¯ããã®åŸã®ã¢ãã¿ãŒããŒãã£ã§ããã«æ·±æãã§ããŸãããè³æã«ã¯èŒããªãçŸå Žã®ãªã¢ã«ãªç¥èŠã亀æãããå ŽãšããŠãããŒã¹ + ã¢ãã¿ãŒããŒãã£ã®çµã¿åããã¯ãã»ãã·ã§ã³ãšåãããã䟡å€ããã£ããšæããŸãã åå ããã»ãã·ã§ã³ãæ¥ããšã«æ¯ãè¿ã ããããã¯ãèªåãåå ããŠç¹ã«å°è±¡ã«æ®ã£ãã»ãã·ã§ã³ãæ¥ããšã«ç޹ä»ããŠãããŸãã Day 1: Exploring RuboCop with MCP (Koichi ITO ãã) 1æ¥ç®ã«èŽããã®ããRuboCopã³ã¢ããŒã ã»MCP Ruby SDKããŒã ã¡ã³ããŒã®Koichi ITOããã«ããã RuboCopãšMCP(Model Context Protocol) ãçµã¿åããã詊ã¿ã«ã€ããŠã®ã»ãã·ã§ã³ã§ãã ãããŸã§RuboCopã¯ã人éããŸãã¯ãä»ã®ããã°ã©ã ïŒCIãªã©ïŒãããã£ããã«å®è¡ãããŠããŸãããããã«AIæä»£ã«ãªã£ãŠã AIãšãŒãžã§ã³ããšããæ°ããå®è¡ã®ãã£ãã ãç»å Žããããšããã®ãå°å
¥ã®è©±ã§ããçæAIãšãªã³ã¿ãŒ/ãã©ãŒããã¿ãŒãã©ãçµã¿åãããããRubyã§å®è£
ãããMCPãµãŒããŒããšãŒãžã§ã³ãã®é£ã§èµ°ããããšã©ããªããããšããå
容ã§ããã æè¡çã«ã¯ã MCP SDKã®æ§é (ãµãŒããŒãšã¯ã©ã€ã¢ã³ãããããã®SDKãããããš) ãã©ã³ã¹ããŒãå±€ãšã㊠stdio ãš Streamable HTTP ã®2çš®é¡ããããçšéã§äœ¿ãåããããš HTTPãã©ã³ã¹ããŒãã§ã¯ã»ãã·ã§ã³ç®¡çãèã«ãªããPumaã®ãããªã¹ã¬ããã¢ãã« + ã·ã³ã°ã«ããã»ã¹æ§æã ãšçŽ çŽã«åãããè€æ°ããã»ã¹ã»è€æ°ãã¹ãã«æšªæãããšã»ãã·ã§ã³ã®ä¿æãé£ãããªãããš ãã ã Stateless Mode ( stateless: true )ã䜿ãã°ãPumaã®è€æ°ã¯ãŒã«ãŒãUnicornã®ãããªè€æ°ããã»ã¹æ§æã«ã察å¿ã§ããããšããã ããã㯠ãªã¯ãšã¹ãããšã«æ°ããtransportã€ã³ã¹ã¿ã³ã¹ãçæãããããMCP-Session-Idãå
±æã§ããªã ãšããå¶çŽãšã®ãã¬ãŒããªãã§ããããã»ãã·ã§ã³ä¿æã諊ãã代ããã«è€æ°ã¯ãŒã«ãŒ/ããã»ã¹ã§ãã¹ã±ãŒã«ã§ããããšããå²ãåã ããããç¹ã«å匷ã«ãªããŸãããç¹ã«ã»ãã·ã§ã³ç®¡çã®è©±ã¯ãMCPãµãŒããŒãWebã¢ããªã±ãŒã·ã§ã³ãšããŠæ¬çªã«ä¹ããããšãããšãããŒããã©ã³ãµãŒãã¹ã±ãŒã«ã¢ãŠããšã®å
ŒãåããåºãŠãããšããç¹ã§å®è·µçã§ããã ã¹ããŒããã«/ã¹ããŒãã¬ã¹ãã©ã䜿ãåããã ã¯ãããããèããªããšãããªãããŒãã«ãªãããã§ãã ã»ãã·ã§ã³ã®ç· ããããã§ãLLM㮠確ççãªæ§è³ª ãæ±ºå®çãªããŒã«ã«çµã¿èŸŒãããšã§ããããŸã§ã®æ±ºå®çãªããŒã«ãšã¯éãæªæ¥ãæããããšãã話ããã£ãŠããããå°è±¡çã§ãããMCPã® ãµã³ããªã³ã° (ãµãŒããŒãã¯ã©ã€ã¢ã³ãçµç±ã§LLMè£å®ãèŠæ±ããä»çµã¿)ãã Elicitation (å®è¡äžã«ãŠãŒã¶ãŒãžè¿œå æ
å ±ãåãåãããä»çµã¿)ãšãã£ãæ©èœã¯ãããŒã«ã®åœ¢ãã®ãã®ãå€ããããªäºæããããŸãã ã¹ã©ã€ã: https://speakerdeck.com/koic/exploring-rubocop-with-mcp Day 2: Chasing Real-Time Observability for CRuby (Shintaro Otsuka ãã) 2æ¥ç®ã§äžçªãã³ã·ã§ã³ãäžãã£ãã®ããã®ã»ãã·ã§ã³ãCRubyã®å®è¡ç¶æ
ã ãªã¢ã«ã¿ã€ã ã«3Då¯èŠåãã ãšããããŒã«ãrrtraceãã®è©±ã§ããã æ®éã®ãããã¡ã€ã©ã¯ãµã³ããªã³ã°ããŒã¹ã§ãåŸããéèšããŠçµæãèŠã圢ãå€ãã§ããããã®ããŒã«ã¯ãããŸãã®ç¬éã«CRubyã®äžã§äœãèµ·ããŠããããããè€æ°ã¹ã¬ããã®ã¹ã¿ãã¯ç¶æ
ãšããŠ3次å
空éã«ã¬ã³ããªã³ã°ããªããèŠããããšããã¢ãããŒãã§ãããã¢ãèŠããŠããã£ãæãIRBã«å
¥åãããã³ã«ã¹ã¿ãã¯ãç©ã¿äžãã£ãŠããæ§åããªã¢ã«ã¿ã€ã ã§èŠããŠãçŽç²ã«ãããããã®ãèŠãŠããããšããæèŠã«ãªããŸããã æè¡çãªãã€ã³ããšããŠã¯ã èšæž¬åŽã®Cæ¡åŒµã¯è»œéã«ä¿ã€èšèš ã§ãã€ãã³ãã®åéãšè»¢éã«ç¹åããŠãã ã€ãã³ã㯠TracePoint API ( CALL / RETURN / INTERNAL_GC_ENTER / INTERNAL_GC_EXIT )ãå
éšã®ã¹ã¬ããã€ãã³ã( INTERNAL_THREAD_EVENT ããã¡ãã¯Windowsã§ã¯å©çšäžå¯)ããåéããtimestamp(60bit) + event type(4bit) + method id/thread id(64bit)ã®åèš16ãã€ãã®æ§é äœã«çµ±äž Cæ¡åŒµ(èšæž¬åŽ)ãšããžã¥ã¢ã©ã€ã¶ããã»ã¹ã®é㯠OS管çã®å
±æã¡ã¢ãªäžã®ãªã³ã°ãããã¡ ã§åãæž¡ã ããžã¥ã¢ã©ã€ã¶åŽã¯CRubyã®ã³ã¢ã䜿ã£ãŠããªãå¥ããã»ã¹ãªã®ã§ãå¯èŠååŠçãéããŠãCRubyã®å®è¡ãçŽæ¥ãããã¯ããªã ã¹ã¿ãã¯ã·ãã¥ã¬ãŒã·ã§ã³ãéãããã Parallel Scanã¢ã«ãŽãªãºã ã§äžŠååããŠãã ãšããèšèšã§ããããã ããã¹ã©ã€ãã®ãã³ãããŒã¯çµæãèŠããšãrrtraceæå¹æã¯ 颿°åŒã³åºãã¹ã«ãŒããããplain CRubyã®17%çšåºŠ (73,417,127 â 12,760,131 calls/sãçŽ5.9åé
ããªã)ã RailsãµãŒããŒã®rpsãplain CRubyã®55%çšåºŠ (203.19 â 110.84 rps)ã«ãªããšã®ããšã§ã èšæž¬ã®ãªãŒããŒãããèªäœã¯ãå°ãããªã(not small)ã ãšã¹ã©ã€ãã§ãæèšãããŠããŸãããTracePointããã¯ã®ã³ã¹ããæ¯é
çã§ãããã¯ä»åŸã®èª²é¡ãšã®ããšã§ãã ããã§ããã éãåŠçãå¥ããã»ã¹ã«å
šéšå¯ãã ããšããã¢ãŒããã¯ãã£ã®èãæ¹ã¯é¢çœãã£ãã§ããèšæž¬åŽã¯ã§ããã ã軜ãä¿ã£ãŠãåæã»å¯èŠåã¯å¥ã®ãªãœãŒã¹ã§ããããã®å²ãåããèšèšãã·ã³ãã«ã«ããŠããŠããããã ãªãšæããŸããã ãçŸä»£ã®ãã·ã³ã¯10ã³ã¢ä»¥äžããã®ãæ®éã§ãCRubyã1ã³ã¢ã§åããªãæ®ãã®ã³ã¢ã芳枬ãããžã¥ã¢ã©ã€ãºã«èªç±ã«äœ¿ããããšããããªãœãŒã¹ã®æãæ¹ã®è©±ãæ°é®®ã§ãããGVLãããäžçã§ã®èŠ³æž¬ããŒã«ã®èšèšææ³ãšããŠãçŽåŸæã匷ãã£ãã§ãã ã¹ã©ã€ã: https://speakerdeck.com/whitegreen/chasing-real-time-observability-for-cruby Day 3: The Less-Told Story of Socket Timeouts (Misaki Shioi ãã) 3æ¥ç®ã«èŽããã®ãããããœã±ããã©ã€ãã©ãªã®ã¿ã€ã ã¢ãŠãã® æŽå²ãšå
éšå®è£
ããIssue/Commitãåç
§ããªããRuby 4.0ãŸã§ã®æµãã«æ²¿ã£ãŠè§£èª¬ããŠããã»ãã·ã§ã³ã§ãããã¿ã€ãã«ããããŠæ°ã«ãªã£ãŠãããã©ãæåŸ
以äžã®å
容ã§ããã Socket.tcp / TCPSocket.new ã«ã¯ã resolv_timeout (åå解決ã®ã¿ã€ã ã¢ãŠã) connect_timeout (æ¥ç¶ã®ã¿ã€ã ã¢ãŠã) ãããŠRuby 4.0ã§è¿œå ããã open_timeout (å
šäœã®ã¿ã€ã ã¢ãŠã) ã®3çš®é¡ããããŸããããã®3ã€ããªãå¿
èŠã§ãã©ãããé çªã§å°å
¥ãããã©ããªæŽå²çãªçŽäœæ²æããã£ãã®ããããIssue/Commitãåç
§ããªããäžå¯§ã«è¿œã£ãŠããæ§æã§ããã ç¹ã«å°è±¡çã ã£ãã®ãã ãŸã Socket.tcp ã« connect_timeout ãå°å
¥ãããç¶ã㊠Addrinfo.getaddrinfo ãžã® timeout ããã³ Socket.tcp ãžã® resolv_timeout ã远å ãããããš resolv_timeout ãš connect_timeout ãäž¡æ¹æå®ããŠããå
šäœã®ã¿ã€ã ã¢ãŠãæéã¯å¶åŸ¡ã§ããªã (è€æ°ã¢ãã¬ã¹ã«å¯ŸããŠé次æ¥ç¶ã詊è¡ãããããåèšæéãæ³å®ããé·ããªããã) ãããã®åé¡ã解決ããããã«ãRuby 4.0ã§ å
šäœæéã管çãã open_timeout ã远å ããã ãšããè©±ã®æµãã§ããæ®æ®µãHTTPã¯ã©ã€ã¢ã³ãã® open_timeout / read_timeout / write_timeout ããã ããããã®ããããã§èšå®ããã¡ã§ããããã®äžã®ã¬ã€ã€ãŒã§ã¯ååè§£æ±ºãšæ¥ç¶ã䞊è¡ã§èµ°ã£ãŠããŠã ã¿ã€ã ã¢ãŠãã®çµã¿åããã«ãã£ãŠã¯æ³å®ãšå
šç¶éãæåã«ãªã ãšããããšããæ¹ããŠæèãããããŸããã ãŸããæŽå²çãªçµç·¯ãšããŠç¹ã«é¢çœãã£ãã®ãã åå解決ã®äžæå¯èœå(interruptible)ãããã話 ã§ãã getaddrinfo(3) ã¯ããããã³ã°åŒã³åºãã§ã Ctrl+C ã§ãäžæã§ããªããšããåé¡ãé·å¹ŽãããŸãããããã解決ããã¢ãããŒããšããŠããŸã 2020幎1æã«ã Addrinfo.getaddrinfo ã timeout ããµããŒããããææ¡ãè¡ããããã®ãããã§ Addrinfo.getaddrinfo ã« timeout ã Socket.tcp ã« resolv_timeout ã远å ããããšåæã«ãå
éšçã«ãGNUæ¡åŒµã® getaddrinfo_a(3) ãå©çšå¯èœãªãããã䜿ããå®è£
ãå
¥ããŸãã ( getaddrinfo_a(3) ã¯ã¯ãŒã«ãŒã¹ã¬ããã§éåæã«åå解決ãè¡ãä»çµã¿)ããã®åŸ 2020幎8æã«ã¯ãMake Socket.getaddrinfo interruptibleããããŒãžããã Socket.getaddrinfo ã®å
éšããã® getaddrinfo_a(3) ã䜿ãããã«å©çšç¯å²ãæ¡åŒµ ãããã« 2020幎9æã«ã¯ TCPSocket.new ã«ã resolv_timeout / connect_timeout ã远å ãããåå解決ãäžæå¯èœã«ããæ¹åã§é²ããããŸããã ãšããããã®åŸã Rails ActiveJobã®çµ±åãã¹ãã倱æããããã«ãªã£ã ãšããå ±åãå
¥ãã調æ»ã®çµæã forkåŸã®åããã»ã¹ã§ getaddrinfo_a(3) ãåŒã³åºããšãã³ã°ãã ããšã倿ããŸãã getaddrinfo_a(3) ã¯å
éšã§åå©çšå¯èœãªã¯ãŒã«ãŒã¹ã¬ãããä¿æããŠããã®ã§ãããforkã§ã³ããŒãããåããã»ã¹ã«ã¯ã¯ãŒã«ãŒã¹ã¬ãããååšããªãã«ããããããå
éšç¶æ
ã¯ãã¯ãŒã«ãŒã¹ã¬ãããåŸ
æ©äžãã®ãŸãŸã«ãªã£ãŠãããããã«ãã£ãŠãããããã¯ãçºçããããšããä»çµã¿ã§ããã 2ã¶æä»¥äžã®èª¿æ»ãšåé¿çã®æ€èšãçµãŠãæçµçã«ã¯ getaddrinfo_a(3) ã®å°å
¥èªäœãæ€å ãããé¢é£å€æŽãrevertãããŸããããã®ä»£ãããåŸã«å¥ã¢ãããŒããšã㊠ãåå解決ããšã«å°çšã®pthreadãç«ãŠãŠ getaddrinfo(3) ãå®è¡ãããæ¹åŒ (mameããææ¡ã ruby/ruby#8695 )ãæ¡çšããããã¡ã㯠rsock_getaddrinfo å
ã«å®è£
ãããããšã§ãå
éšçã« rsock_getaddrinfo ãåŒãã§ãã Addrinfo.getaddrinfo ã Socket.getaddrinfo ãå«ãå¹
åºãã¡ãœãã ã§åå解決ã®ããããã³ã°åé¡ãè§£æ¶ãããããšããæµãã§ãã å€éšAPI飿ºã§ãã¿ã€ã ã¢ãŠããèšå®ããã¯ããªã®ã«ãã³ã°ãããã connect_timeout ãçãããã®ã«ãè€æ°ã¢ãã¬ã¹ããããã¹ãã§åèšæéãæ³å®ã®äœåãããããã¿ãããªçµéšããã人ã¯å°ãªããªããšæããŸããããŸãã«ããã®èæ¯ã«ãã話ã§ãããã¿ã€ã ã¢ãŠãèšèšã®èŠçŽãããRuby 4.0以é㯠open_timeout ãç©æ¥µçã«äœ¿ã£ãŠããããšããã¹ãã§ã¿ã€ã ã¢ãŠãåšãã®æåã確èªããŠããããšãªã©ãããã«æã¡åž°ããåŠã³ãããã€ããããŸããã ã¹ã©ã€ã: https://speakerdeck.com/coe401_/the-less-told-story-of-socket-timeouts ãªã¢ãŒãã¯ãŒã¯æä»£ã®å¯æ¬¡å¹æ ããäžã€æžããŠããããã®ã 瀟å
ã¡ã³ããŒãšã®é¢ä¿æ§ ã®è©±ã§ãã åŒç€Ÿãšã³ãžãã¢ã¯ãªã¢ãŒãã¯ãŒã¯äžå¿ã§ãæ®æ®µã®æ¥åã ãšéçºããŒã ã®å
šå¡ã𿝿¥è©±ãããã§ã¯ãããŸãããSlackãZoomã§ã¯è©±ãããã©ãéè«ããŒã¹ã§ãæè¿ã©ã?ãã¿ãããªäŒè©±ã«ãªãã«ãã人ãããŸãã ããããRubyKaigiã§3æ¥éäžç·ã«éãããšäžæ°ã«è·é¢ãçž®ãŸããŸããäžç·ã«ã»ãã·ã§ã³ãèããŠãäŒæ©äžã«ãä»ã®ã©ãæã£ã?ããšè©±ããŠãå€ã¯é£²ã¿ã«è¡ã£ãŠãç§»åäžã«éè«ããããã®3æ¥éã®å¯åºŠã¯ããªã¢ãŒãã§ã®æ°ã¶æåã®ã³ãã¥ãã±ãŒã·ã§ã³ã«çžåœããããããªãããšæããŸãã ãããã« RubyKaigiã¯ãRubyæ¬äœã«é¢ãã£ãŠãã人ãã¡ã®ãç¥ãããšããåŽé¢ã匷ãã«ã³ãã¡ã¬ã³ã¹ã§ãããRubyãæ¬çªã§åãããŠããåŽã®äººéã«ãšã£ãŠãååã«æ¥œãããå Žã§ãããSREãšããŠããã©ã³ã¿ã€ã ã®çè§£ãæ·±ãŸã£ãããä»ç€Ÿã®éçšç¥èŠããããããã瀟å
ã®é¢ä¿æ§ãæ·±ãŸã£ãããšã坿¬¡å¹æãå«ããŠæºè¶³åºŠã®é«ã3æ¥éã§ããã æ®æ®µRailsãåãããŠããSREã®æ¹ããããããRubyKaigiã©ããããããªãšè¿·ã£ãŠããæ¹ã®åèã«ãªãã°å¬ããã§ãã






















