ãšãŒãžã§ã³ãã£ã㯠AI ã·ã¹ãã ã¯æ¥éã«ããžã¿ã«äžçãè¶
ããŠç©çäžçãžãšæ¡å€§ããŠãããAI ãšãŒãžã§ã³ãã¯å®éã®ç©çç°å¢ã§ç¥èŠãæšè«ãããã³è¡åããšããŸããAI ã·ã¹ãã ããããã£ã¯ã¹ãèªåŸèµ°è¡è»ãããã³ã¹ããŒãã€ã³ãã©ã¹ãã©ã¯ãã£ãéããŠç©çäžçãšãŸããŸãçžäºäœçšããã«ã€ããŠãæ ¹æ¬çãªçåãæµ®ãã³äžãããŸãïŒè€éãªæšè«ã®ããã«å€§èŠæš¡ãªã¯ã©ãŠãã³ã³ãã¥ãŒãã£ã³ã°ã掻çšããªãããç©ççãªæç¥ãšäœåã«å¯ŸããŠããªç§ã¬ãã«ã®å¿çæ§ãç¶æãããšãŒãžã§ã³ããã©ã®ããã«æ§ç¯ããã®ã§ããããïŒ 2025幎ã¯ãAWS ã«ããããšãŒãžã§ã³ãã£ã㯠AI ã«ãšã£ãŠå€é©çãªå¹Žã§ãããç§ãã¡ã¯ 2025 幎 5 æã« Strands Agents ãç«ã¡äžã ãã·ã³ãã«ãªéçºè
ãšã¯ã¹ããªãšã³ã¹ãš ã¢ãã«é§ååã¢ãããŒã ããšãŒãžã§ã³ãéçºã«ãããããŸããã7 æã«ã¯ããã«ããšãŒãžã§ã³ããªãŒã±ã¹ãã¬ãŒã·ã§ã³æ©èœãåãã ããŒãžã§ã³ 1.0 ããªãªãŒã¹ ãã Amazon Bedrock AgentCore ãå°å
¥ ããŠãããããèŠæš¡ã§ AI ãšãŒãžã§ã³ããæ¬çªç°å¢ã«è¿
éã«å±éã§ããããã«ããŸãããre:Invent 2025 ã§ã¯ã TypeScript SDK ã è©äŸ¡ ã é³å£°ãšãŒãžã§ã³ãçšã®åæ¹åã¹ããªãŒãã³ã° ãããã³ ã«ãŒã«å
ã«ãšãŒãžã§ã³ããèªå°ããããã®ã¹ãã¢ãªã³ã° ã远å ã㊠Strands ãæ¡åŒµããŸããã仿¥ãç§ãã¡ã¯ãããã®æ©èœããšããžããã£ãžã«ã« AI ã«ã©ã®ããã«æ¡åŒµãããããæ¢ã£ãŠããŸããããã§ã¯ããšãŒãžã§ã³ãã¯åã«æ
å ±ãåŠçããã ãã§ãªããç©ççãªäžçã§ç§ãã¡ãšå
±ã«åããŸãã ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã®å®å
šãªã³ãŒãã¯ä»¥äžã§èŠã€ããããšãã§ããŸãïŒ Strands + NVIDIA GR00T + SO-101 Strands + Boston Dynamics Spot ãããã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã§ã¯ããã£ãžã«ã« AI ãšãŒãžã§ã³ããçµ±äžããã Strands Agents ã€ã³ã¿ãŒãã§ãŒã¹ãéã㊠2 ã€ã®éåžžã«ç°ãªããããããå¶åŸ¡ããŸãããã®ã€ã³ã¿ãŒãã§ãŒã¹ã¯ AI ãšãŒãžã§ã³ããç©ççãªã»ã³ãµãŒãããŒããŠã§ã¢ã«æ¥ç¶ããŸãã3D ããªã³ãã® SO-101 ããããã¢ãŒã ã¯ã NVIDIA GR00T ããžã§ã³èšèªã¢ã¯ã·ã§ã³ã¢ãã«ïŒVLAïŒã䜿çšããŠæäœãåŠçããŸãããæç©ãæŸã£ãŠãã¹ã±ããã«å
¥ããããšããã³ãã³ãã«ããããªã³ãŽãèå¥ãããããææããŠã¿ã¹ã¯ãå®äºããŸããäžæ¹ã Boston Dynamics Spot åè¶³æ©è¡ããããã¯ãç§»åãšå
šèº«å¶åŸ¡ãæ±ããŸãããã»ã³ãµãŒãç¹æ€ããããšããã³ãã³ãã«ãããSpot ã¯ã»ã³ãµãŒãäžåŽã«ããããšãçè§£ããèªåŸçã«åº§ã£ãŠåŽé¢ã«è»¢ãã£ãŠã»ã³ãµãŒã«ã¢ã¯ã»ã¹ããŸããäž¡æ¹ã®ãã¢ã³ã¹ãã¬ãŒã·ã§ã³ã¯ NVIDIA Jetson ãšããžããŒããŠã§ã¢äžã§å®è¡ãããçµã¿èŸŒã¿ã·ã¹ãã äžã§çŽæ¥å®è¡ã§ããé«åºŠãª AI æ©èœã瀺ããŠããŸãã ãšããžãšã¯ã©ãŠãã®é£ç¶æ§ ãã£ãžã«ã« AI ã¢ããªã±ãŒã·ã§ã³ã¯ãã€ã³ããªãžã§ã³ãã·ã¹ãã ãæ§ç¯ããæ¹æ³ã«åœ±é¿ãäžãããã¬ãŒããªããæããã«ããŸããããŒã«ããã£ããããããããã¢ãŒã ãèããŠã¿ãŸããããããŒã«ãèŠãŠã°ãªãããŒã®äœçœ®ã調æŽããç¬éã¯ãããªç§åäœã§è¡ãããªããã°ãªããŸãããæéã®æ¥ç¶ã§ãã£ãŠããã¯ã©ãŠããµãŒãã¹ãžã®ãããã¯ãŒã¯é
å»¶ã¯ãããäžå¯èœã«ããŸããæšè«ã¯ãç©ççãªçŸå®ãèŠæ±ããã»ãŒç¬æã®å¿çæéã§ãããã€ã¹èªäœã®ãšããžã§è¡ãããªããã°ãªããŸãããããããåãããããã·ã¹ãã ã¯ã¯ã©ãŠãã®æ©èœããéåžžã«å€§ããªæ©æµãåããŸããè€æ°ã®ã¹ããããããªãçµç«äœæ¥ã®èšç»ãä»ã®ãããããšã®é£æºããŸãã¯äœåãã®é¡äŒŒããããã®éåçãªçµéšããåŠã¶ããšã¯ãã¯ã©ãŠãã®ã¿ãæäŸããèšç®èŠæš¡ãå¿
èŠãšããŸãã Anthropic Claude Sonnet 4.5 ã®ãããªã¢ãã«ã¯ããããããè€éãªã¿ã¹ã¯ãçè§£ãå®è¡ããæ¹æ³ãå€é©ããæšè«èœåããããããŸããããšããžããŒããŠã§ã¢ã§å®è¡ããã«ã¯å€§ããããŸãããã㯠Daniel Kahneman ã® System 1 and System 2 thinking ãåæ ããŠããŸã â ãšããžã¯éãæ¬èœçãªåå¿ãæäŸããã¯ã©ãŠãã¯æ
éãªæšè«ãé·æçãªèšç»ããããŠç¶ç¶çãªåŠç¿ãå¯èœã«ããŸããæãæèœãªãã£ãžã«ã« AI ã·ã¹ãã ã¯ãäž¡è
ãã·ãŒã ã¬ã¹ã«é£æºãããŠäœ¿çšããŸãã ã¯ã©ãŠãã¯ããšããžã§ã¯å®çŸäžå¯èœãªè¿œå æ©èœãå¯èœã«ããŸãã AgentCore Memory ã¯ãäœãèµ·ãã£ããã ãã§ãªããã©ãã§ãã€èµ·ãã£ãããèŠããŠãããæéçããã³ç©ºéçã³ã³ããã¹ããæ°æéãŸãã¯æ°æ¥éç¶æã§ããŸããåŠç¿ã¯åã
ã®ããã€ã¹ã«ãµã€ãåãããã®ã§ã¯ãªããå
šããã€ã¹ã«ããã£ãŠåéããé©çšã§ããŸã â 1 ã€ã®ãããããããè¯ãã¢ãããŒããçºèŠãããšããã®ç¥èã¯å
±æã¡ã¢ãªãéããŠãã¹ãŠã®ãããããå©çšã§ããããã«ãªããŸãã Distributed observability ã¯å
šããã€ã¹ã«ããã£ãŠæäŸãããAI ãšãŒãžã§ã³ããšãããããå€§èŠæš¡ã«å±éããããšãã«äœãããŠããããçè§£ããèœåãæäŸããåäžã®ããã€ã¹ã§ã¯çæã§ããªãæŽå¯ãæäŸããŸãã Amazon SageMaker ã¯ãã¢ãã«ã®å€§èŠæš¡ãªäžŠåã·ãã¥ã¬ãŒã·ã§ã³ãšãã¬ãŒãã³ã°ãå¯èœã«ããçµç¹ãå®äžçããã³ã·ãã¥ã¬ãŒã·ã§ã³ãããå±éããã®åŠç¿ãæ¹åãããã¢ãã«ã«é©çšããŠãå
šããã€ã¹ã«å©çãããããããšãå¯èœã«ããŸãã ãã®ãã€ããªããã¢ãŒããã¯ãã£ã¯ããŸã£ããæ°ããã«ããŽãªãŒã®ã€ã³ããªãžã§ã³ãã·ã¹ãã ãå¯èœã«ããŸãããã¥ãŒããã€ãããããã¯ãã¯ã©ãŠãããŒã¹ã®æšè«ã䜿çšããŠè€æ°ã®ã¹ããããããªãã¿ã¹ã¯ãèšç»ãããšããžããŒã¹ã®ããžã§ã³-èšèª-ã¢ã¯ã·ã§ã³ã¢ãã«ã§æ£ç¢ºãªç©ççãªåããå®è¡ããŸããã¯ã©ãŠããšãŒãžã§ã³ãã¯ãæé£ãæºåãããããšãèšç»ãããããã¹ãããã«åè§£ããããªãã奜ããã®ãèŠããŠãããããããŸãããããšããž VLA ã¢ãã«ã¯ã€ããŽãã€ã¶ããã«ã€ããããã®ããªç§ã¬ãã«ã®å¶åŸ¡ãåŠçããŸããèªåŸèµ°è¡è»ã¯ãã«ãŒãæé©åãšäº€éäºæž¬ã«ã¯ã©ãŠãã€ã³ããªãžã§ã³ã¹ã掻çšããªããããšããžã§ãªã¢ã«ã¿ã€ã ã®é害ç©åé¿ãç¶æããŸããè»äž¡ã¯æ©è¡è
ãé¿ããããã«ã¯ã©ãŠãã®å¿çãåŸ
ã€ããšã¯ã§ããŸããããéœåžå
šäœã®äº€éãã¿ãŒã³ã®ã¯ã©ãŠãããŒã¹ã®åæããæ©æµãåããŸãã ã³ãŒããéãã鲿©çãªãžã£ãŒã㌠ãšããžããã³ãã£ãžã«ã« AI ã·ã¹ãã ã®æ§ç¯ã«ã¯ããšããžãšã¯ã©ãŠãã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®å®å
šãªè€éãããå§ããå¿
èŠã¯ãããŸãããåé²ã®éã¯ãã·ã³ãã«ã«å§ããŠãããŒãºãæé·ããã«ã€ããŠæŽç·ŽåºŠãé«ããŠãã鲿©çãªå埩ã§ãã ãšããžããå§ãã ãŸãããšããžããã€ã¹ã« Strands Agents Python SDK ã Ollama ãšå
±ã«ã€ã³ã¹ããŒã«ãã Qwen3-VL ã¢ãã«ããã«ããŸããOllama ã ã€ã³ã¹ããŒã« ãããããã®ã³ãã³ããå®è¡ããŸãïŒ ollama pull qwen3-vl:2b pip install 'strands-agents[ollama]' ã·ã³ãã«ãªåºçºç¹ã¯ããšããžããã€ã¹äžã§ã¢ãã«ãããŒã«ã«ã«å®è¡ããããšã§ããStrands ã® Ollama ãããã€ã㌠ã䜿çšãããšãQwen3-VL ã®ãããªãªãŒãã³ãœãŒã¹ã¢ãã«ããšããžããŒããŠã§ã¢äžã§çŽæ¥å®è¡ã§ããŸããStrands ã¯ãŸããéååã¢ãã«ã䜿çšããé«ããã©ãŒãã³ã¹æšè«ã®ããã® llama.cpp ãšãApple Silicon äžã§ã¢ãã«ãå®è¡ããããã® MLX ããµããŒãããŠããŸãïŒ from strands import Agent from strands.models.ollama import OllamaModel edge_model = OllamaModel( host="http://localhost:11434", model_id="qwen3-vl:2b" ) agent = Agent( model=edge_model, system_prompt="You are a helpful assistant running on edge hardware." ) result = agent("Hello!") ãã£ãžã«ã« AI ã¯ãããã¹ãã®åŠçã ãã§ãªããç©ççãªäžçãçè§£ããå¿
èŠãããããšããããããŸããã«ã¡ã©å
¥åãä»ããŠèŠèŠççè§£ã远å ããã®ã¯ç°¡åã§ã â ããã¹ããåŠçããåããšãŒãžã§ã³ããä»ãç»åãåŠçã§ããç©ççãªç°å¢ãèŠãããšãã§ããŸãïŒ def get_camera_frame() -> bytes: # Example function that returns the current camera frame with open("camera_frame.jpg", "rb") as f: return f.read() result = agent([ {"text": "What objects do you see?"}, {"image": {"source": {"bytes": get_camera_frame()}}} ]) èŠèŠãè¶
ããŠããšãŒãžã§ã³ãã¯ä»ã®ã»ã³ãµãŒã«ã¢ã¯ã»ã¹ããŠç¶æ
ãçè§£ã§ããŸããã»ã³ãµãŒèªã¿åããããŒã«ãšããŠã©ããããããšã§ããšãŒãžã§ã³ãã¯æ
å ±ã«åºã¥ããæ±ºå®ãè¡ãããã«å¿
èŠã«å¿ããŠããããåçã«åŒã³åºãããšãã§ããŸããããããªãŒã¬ãã«ã®èªã¿åãã¯ããšãŒãžã§ã³ããã¿ã¹ã¯ãç¶è¡ãããå
é»ã«æ»ãããæ±ºå®ããã®ã«åœ¹ç«ã¡ãŸãïŒ @tool def get_battery_level() -> str: """Get current battery level percentage and remaining duration.""" # Example function that returns battery metrics percentage = robot.get_battery_percentage() duration = robot.get_battery_duration_minutes() return f"Battery level: {percentage}%, approximately {duration} minutes remaining" agent = Agent( model=edge_model, tools=[get_battery_level], system_prompt="You are a robot assistant. Use available tools to answer questions." ) result = agent("How long until you need to recharge?") ç©ççãªäžçã§è¡åãã ãã£ãžã«ã« AI ã·ã¹ãã ã¯ãç°å¢ãæç¥ããäœããã¹ãããæšè«ããç®æšãéæããããã«ç©çäžçãå€ããããã«è¡åãããšããé£ç¶çãªãµã€ã¯ã«ã«åŸããŸããã«ã¡ã©ãšã»ã³ãµãŒãéããæç¥ã«ã€ããŠã¯èª¬æããŸãããä»ããšãŒãžã§ã³ããæ±ºå®ãç©ççãªè¡åã«å€æããæ¹æ³ãæ¢ã£ãŠã¿ãŸãããã ç©çäžçã§è¡åãããšããããšã¯ãããŒããŠã§ã¢ãå¶åŸ¡ããããšãæå³ããŸããããããã®é¢ç¯ãå転ãããã¢ãŒã¿ãŒãééããã°ãªãããŒãç§»åãã©ãããã©ãŒã ãé§åããè»èŒªãªã©ã§ããããããã¢ãŒã ã«ã¯ 6 ã€ã®é¢ç¯ãããããããããç¹å®ã®è§åºŠã«å転ã§ããã¢ãŒã¿ãŒã§å¶åŸ¡ãããŠããŸãããªããžã§ã¯ããæŸãã«ã¯ããããã㯠6 ã€ã®é¢ç¯ãåæã«èª¿æŽããçŸåšã®äœçœ®ãããªããžã§ã¯ãã«å°éããã°ãªãããŒã®è§åºŠã調æŽããã°ãªãããŒãéããŠæã¡äžããå¿
èŠããããŸãããã®èª¿æŽã¯ãã¿ãŒã²ããé¢ç¯äœçœ®ãã¢ãŒã¿ãŒã«éä¿¡ããããšã§è¡ãããã¢ãŒã¿ãŒãããããã®ç©çæ§é ãåãããŸããããã«ã¯ 2 ã€ã®æ¹æ³ããããŸãïŒããããã¢ã¯ã·ã§ã³ãçŽæ¥åºåããããžã§ã³-èšèª-ã¢ã¯ã·ã§ã³ã¢ãã«ã䜿çšããããAI ãé«ã¬ãã«ã®ã³ãã³ããæäŸããåŸæ¥ã®ãããã SDK ã䜿çšããããšã§ãã NVIDIA GR00T ã®ãã㪠ããžã§ã³-èšèª-ã¢ã¯ã·ã§ã³ã¢ãã« ã¯ãèŠèŠçç¥èŠãèšèªçè§£ãè¡åäºæž¬ã 1 ã€ã®ã¢ãã«ã«çµã¿åãããŸããã«ã¡ã©ç»åãããããé¢ç¯äœçœ®ãèšèªæç€ºãå
¥åãšããŠåããæ°ããã¿ãŒã²ããé¢ç¯äœçœ®ãçŽæ¥åºåããŸãã ãããªããšåãè²ã®æç©ãæŸã£ãŠãã¹ã±ããã«å
¥ããŠãã ããããšããæç€ºãèããŠã¿ãŸããããVLA ã¢ãã«ã®ããžã§ã³-èšèªããã¯ããŒã³ããŸãæç€ºãšã«ã¡ã©ç»åã§èŠããã®ãæšè«ããã©ã®ãªããžã§ã¯ãããªã³ãŽã§ãã©ãããã¹ã±ããããèå¥ããŸããããããã®çŸåšã®ç¶æ
ïŒé¢ç¯äœçœ®ïŒãå«ããããšã§ãã¢ãã«ã¯ããããããªã³ãŽã«ç§»åãããã®åšãã§ã°ãªãããŒãéãããã¹ã±ããã«ç§»åããæŸåºããæ°ããé¢ç¯äœçœ®ã®ã·ãŒã±ã³ã¹ãçæããŸããã¢ãã«ã¯ãããã¢ã¯ã·ã§ã³ãã£ã³ã¯ãšããŠå®è¡ããŸã â ãããããã·ãŒã³ãç¶ç¶çã«èгå¯ããªããå®è¡ããå°ããªé¢ç¯ç§»åã®ã·ãŒã±ã³ã¹ã§ããã¿ã¹ã¯äžã«èª°ãããªã³ãŽãåãããå ŽåãVLA ã¢ãã«ã¯æ¬¡ã®ã«ã¡ã©ãã¬ãŒã ã§ãããèªèãããªã³ãŽã®æ°ããäœçœ®ã«å°éããããã®ä¿®æ£ãããé¢ç¯ç§»åãçæããŸãã Hugging Face ã® LeRobot ã¯ãããããããŒããŠã§ã¢ã®æäœã容æã«ããããŒã¿ãšããŒããŠã§ã¢ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããŸãããã¬ãªãã¬ãŒã·ã§ã³ãŸãã¯ã·ãã¥ã¬ãŒã·ã§ã³ã䜿çšããŠãã¢ã³ã¹ãã¬ãŒã·ã§ã³ãèšé²ããããŒã¿ã§ã¢ãã«ããã¬ãŒãã³ã°ããããããã«ãããã€ããŸããLeRobot ã®ãããªããŒããŠã§ã¢æœè±¡åãš NVIDIA GR00T ã®ãã㪠VLA ã¢ãã«ãçµã¿åãããããšã§ãç©çäžçã§ç¥èŠããæšè«ããè¡åãããšããž AI ã¢ããªã±ãŒã·ã§ã³ãäœæããŸãïŒ @tool def execute_manipulation(instruction: str) -> str: """Execute a manipulation task using your robotics hardware.""" # Example function that runs inference on a VLA model and actuates a robot while not task_complete: observation = robot.get_observation() # Camera + joint positions action = vla.get_action(observation, instruction) # Inference from the VLA model robot.apply_action(action) # Execute joint movements return f"Completed: {instruction}" robot_agent = Agent( model=edge_model, tools=[execute_manipulation], system_prompt="You control a robotic arm. Use the manipulation tool to complete physical tasks." ) result = robot_agent("place the apple in the basket.") ããã«ãããèªç¶ãªåœ¹å²åæ
ãçãŸããŸããStrands ãé«ã¬ãã«ã®ã¿ã¹ã¯åè§£ãåŠçããGR00T ãããªç§ã¬ãã«ã®æèŠéåå¶åŸ¡ãšãªã¢ã«ã¿ã€ã ã®èªå·±ä¿®æ£ãåŠçããŸãã ãã«ããŒã«ãšã£ãŠãããããç°¡åã«ããããã«ãç§ãã¡ã¯ NVIDIA GR00T ã®ãã㪠VLA ã¢ãã«ãšããŒããŠã§ã¢ãæ¥ç¶ããããã®ã·ã³ãã«ãªã€ã³ã¿ãŒãã§ãŒã¹ãåãã å®éšçãªããããã¯ã©ã¹ ããªãªãŒã¹ããŸããã from strands import Agent from strands_robots import Robot # Create robot with cameras robot = Robot( tool_name="my_arm", robot="so101_follower", cameras={ "front": {"type": "opencv", "index_or_path": "/dev/video0", "fps": 30}, "wrist": {"type": "opencv", "index_or_path": "/dev/video2", "fps": 30} }, port="/dev/ttyACM0", data_config="so100_dualcam" ) # Create agent with robot tool agent = Agent(tools=[robot]) agent("place the apple in the basket") SDK ããŒã¹ã®å¶åŸ¡ ã¯ãããããã¡ãŒã«ãŒãå
ç¢ãªã¢ãŒã·ã§ã³ããªããã£ããæäŸãããã¹ãæžã¿ã®å¶åŸ¡ã·ã¹ãã ãæŽ»çšãããå Žåã«é©ããŠããŸãã Boston Dynamics Spot ã§ã¯ãSDK ã³ãã³ãã Strands ããŒã«ãšããŠã©ããããŸãïŒ from bosdyn.client.robot_command import RobotCommandBuilder, blocking_command, blocking_stand, blocking_sit @tool def stand() -> str: """Command the robot to stand up.""" blocking_stand(command_client, timeout_sec=10) return "Robot is now standing" @tool def sit() -> str: """Command the robot to sit down.""" blocking_sit(command_client, timeout_sec=10) return "Robot is now sitting" @tool def battery_change_pose(direction: str = "right") -> str: """Position robot for battery access by rolling onto its side.""" cmd = RobotCommandBuilder.battery_change_pose_command( dir_hint=1 if direction == "right" else 2 ) blocking_command(command_client, cmd, timeout_sec=20) return f"Robot positioned for battery access" spot_agent = Agent( model=edge_model, tools=[stand, sit, battery_change_pose], system_prompt="You control a Boston Dynamics Spot robot." ) result = spot_agent("I need to inspect your sensors") ãã»ã³ãµãŒãç¹æ€ããå¿
èŠããããŸãããšèŠæ±ããããšãããšãŒãžã§ã³ãã¯ã»ã³ãµãŒãããããã®äžåŽã«ãããšå€æããSpot ã«åº§ãã³ãã³ããšããããªãŒäº€æããŒãºãå®è¡ããããæç€ºããŸããSDK ã¯ããããããå®å
šã«æšªåãã«ããã®ã«å¿
èŠãªè€éãªãã©ã³ã¹ãšã¢ãŒã¿ãŒå¶åŸ¡ãåŠçããŸãã ãšããžãšã¯ã©ãŠãã®æ¶ãæ© ãšããžãšãŒãžã§ã³ãã¯ãå¿
èŠã«å¿ããŠè€éãªæšè«ãã¯ã©ãŠãã«å§ä»»ã§ããŸããVLA ã¢ãã«ã¯ç©ççãªã¢ã¯ã·ã§ã³ã«å¯ŸããŠããªç§ã¬ãã«ã®å¶åŸ¡ãæäŸããŸãããã·ã¹ãã ãããæ·±ãæšè«ãå¿
èŠãšããç¶æ³ïŒè€æ°ã¹ãããã®ã¿ã¹ã¯ã®èšç»ãéå»ã®ãã¿ãŒã³ã«åºã¥ã決å®ãªã©ïŒã«ééããå Žåã agents-as-tools ãã¿ãŒã³ã䜿çšããŠããã匷åãªã¯ã©ãŠãããŒã¹ã®ãšãŒãžã§ã³ãã«çžè«ã§ããŸãïŒ from strands import Agent, tool from strands.models import BedrockModel from strands.models.ollama import OllamaModel # Cloud agent with powerful reasoning cloud_agent = Agent( model=BedrockModel(model_id="global.anthropic.claude-sonnet-4-5-20250929-v1:0"), system_prompt="Plan tasks step-by-step for edge robots." ) # Expose cloud agent as a tool so that it can be delegated to # using the agents-as-tools pattern @tool def plan_task(task: str) -> str: """Delegate complex planning to cloud-based reasoning.""" return str(cloud_agent(task)) # Edge agent with local model edge_agent = Agent( model=OllamaModel( host="http://localhost:11434", model_id="qwen3-vl:2b" ), tools=[plan_task], system_prompt="Complete tasks. Consult cloud for complex planning." ) result = edge_agent("Fetch me a drink") éã®ãã¿ãŒã³ãåæ§ã«åŒ·åã§ããã¯ã©ãŠãããŒã¹ã®ãªãŒã±ã¹ãã¬ãŒã¿ãŒã¯ãåãšããžããã€ã¹ãç¬èªã®ãªã¢ã«ã¿ã€ã å¶åŸ¡ãåŠçããéãã¯ã©ãŠããšãŒãžã§ã³ããå
šäœçãªã¯ãŒã¯ãããŒã管çããããšã§ãè€æ°ã®ãšããžããã€ã¹ã調æŽã§ããŸãïŒ @tool def control_robot_arm(command: str) -> str: """Control robotic arm for manipulation tasks.""" # Example function that invokes a remote robot arm agent return str(robot_arm_agent(command)) @tool def control_mobile_robot(command: str) -> str: """Control mobile robot for navigation and transport.""" # Example function that invokes a remote mobile agent return str(mobile_robot_agent(command)) warehouse_orchestrator = Agent( model=BedrockModel(model_id="global.anthropic.claude-sonnet-4-5-20250929-v1:0"), tools=[control_robot_arm, control_mobile_robot], system_prompt="You coordinate multiple robots in a warehouse environment." ) result = warehouse_orchestrator( "Coordinate inventory check: scan shelves, retrieve items, and sort" ) å庫ã§ã¯ãããã¯ããããã¢ãŒã ãã¢ãã€ã«ãããããæ€æ»ãããŒã³ã調æŽããŠè€éãªåšåº«ã¿ã¹ã¯ãå®äºããããšãæå³ãããããããŸãããåããã€ã¹ã¯å³æã®å¿çã®ããã«ç¬èªã®ãšããžã€ã³ããªãžã§ã³ã¹ãç¶æããŸãããã¯ã©ãŠããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®äžã§äžç·ã«åããŸãã ããªãŒãå
šäœã§ã®åŠç¿ãšæ¹å ã¯ã©ãŠããšãŒãžã§ã³ããè€æ°ã®ãšããžããã€ã¹ã調æŽã§ããããšãèŠãŠããããã«ããã£ãžã«ã« AI ã·ã¹ãã ã¯ãéåçãªçµéšããåŠã³ã芳å¯ãšãã£ãŒãããã¯ãéããŠç¶ç¶çã«æ¹åã§ããããã«ãªããšããã«èœåãåäžããŸãã 倿°ã®ã¢ãã€ã«ãããããæã€å庫ãèããŠã¿ãŸããããè€æ°ã®ãããããåãåé¡ã«ééãããšãåäžã®ããããã§ã¯æ€åºã§ããªããã¿ãŒã³ãçŸããŸãã AgentCore Memory ã«ããããã®éåçç¥æ§ãå¯èœã«ãªããŸã â åããããã¯åäœäžã«èгå¯ãå
±æã¡ã¢ãªã«ä¿åããŸãïŒ from bedrock_agentcore.memory import MemoryClient memory_client = MemoryClient(region_name="us-east-1") # Robot stores observation after navigation issue memory_client.create_event( memory_id=FLEET_MEMORY_ID, actor_id=robot_id, session_id=f"robot-{robot_id}", messages=[ ("Navigation failure in north corridor - low confidence in visual localization. " "Location: north_corridor, light_level: high_contrast", "ASSISTANT") ] ) ããªãŒãã³ãŒãã£ããŒã¿ãŒã¯ããã®å
±æã¡ã¢ãªãç
§äŒããŠãååŽã®éè·¯ã«ããã87%ã®ããã²ãŒã·ã§ã³å€±æãååŸ2æãã4æã®éã«çºçãããã®ãšãã®å€©çªããã®æ¥å
ãããžã§ã³ã·ã¹ãã ãæ··ä¹±ãããŠããããšãçºèŠããããšãã§ããŸãããã®æŽå¯ã«ãããå³åº§ã«éçšå€æŽãè¡ãããã¢ãã«æ¹åã«ã€ãªãããŸãã AgentCore Observability ã¯ãæšè« â ã·ãã¥ã¬ãŒã/å®è¡ â èŠ³å¯ â è©äŸ¡ â æé©åã®å®å
šãªãã£ãŒãããã¯ã«ãŒããéããŠç¶ç¶çãªæ¹åã®åºç€ãæäŸããŸããCloudWatch ã® GenAI Observability ããã·ã¥ããŒãã¯ããšããžããã€ã¹ããã®ãšã³ãããŒãšã³ãã®ãã¬ãŒã¹ããã£ããã£ãããšãŒãžã§ã³ãã®å®è¡ãã¹ãã¡ã¢ãªã®ååŸæäœãããã³ã·ã¹ãã å
šäœã®ã¬ã€ãã³ã·ãŒã®å
èš³ãæããã«ããŸãããã®èгå¯ããŒã¿ã¯åŒ·ååŠç¿ã®ãã¬ãŒãã³ã°ã·ã°ãã«ãšãªããæåããè¡åã¯åŒ·åããã倱æã¯ä¿®æ£ã«åœ¹ç«ã¡ãŸãã Amazon SageMaker ã¯ããããã®åŠç¿ãé©çšããããã®å€§èŠæš¡ãªäžŠåã·ãã¥ã¬ãŒã·ã§ã³ãšãã¬ãŒãã³ã°ãå¯èœã«ããŸãã NVIDIA Isaac Sim ã MuJoCo ãªã©ã®ç©çã·ãã¥ã¬ãŒã¿ãŒã¯ãããããããããã€åã«äœçŸäžãã®ã·ããªãªãå®å
šã«ç·Žç¿ã§ããçŸå®çãªç©çç°å¢ãæäŸããŸããLLM ããŒã¹ã®ãŠãŒã¶ãŒã·ãã¥ã¬ãŒã¿ãŒãå«ãããžã¿ã«ã·ãã¥ã¬ãŒã¿ãŒã¯ããšãŒãžã§ã³ãããšããžã±ãŒã¹ãåŠçããã®ã«åœ¹ç«ã€å€æ§ãªçžäºäœçšãã¿ãŒã³ãçæããŸãããµã€ã¯ã«ã¯ç¹°ãè¿ãããŸãïŒå®éã®ããããã«ãããã€ããè¡åã芳å¯ããå€§èŠæš¡ã«æ¹åãã·ãã¥ã¬ãŒãããæŽæ°ãããã¢ãã«ããã¬ãŒãã³ã°ããããªãŒãã«åãããã€ããŸããåå埩ã«ãããããªãŒãå
šäœãããæèœã«ãªããŸããAWS ã§ Isaac GR00T ã®ãã¡ã€ã³ãã¥ãŒãã³ã°ã䜿çšããã¹ã±ãŒã©ãã«ãªããããåŠç¿ãã€ãã©ã€ã³ã®èšå®ã«é¢ãã詳现ãªãŠã©ãŒã¯ã¹ã«ãŒã«ã€ããŠã¯ã embodied AI ããã°æçš¿ã·ãªãŒãº ãã芧ãã ããã æ¬¡äžä»£ã®ã€ã³ããªãžã§ã³ãã·ã¹ãã ã®æ§ç¯ ãã®ç¬éãè峿·±ããã®ã«ããŠããã®ã¯ãããã€ãã®åéã§èŠãããåæã§ãã匷åãªãã«ãã¢ãŒãã«æšè«ã¢ãã«ã¯ç©ççãªã¿ã¹ã¯ãçè§£ãèšç»ããããšãã§ãããšããžããŒããŠã§ã¢ã¯ VLA ã¢ãã«ãç©çã·ã¹ãã ãèŠæ±ããäœã¬ã€ãã³ã·ãŒã§ããŒã«ã«ã§å®è¡ããããšãå¯èœã«ãããªãŒãã³ãœãŒã¹ã®ãããã£ã¯ã¹ããŒããŠã§ã¢ã¯ããåºããã«ããŒã³ãã¥ããã£ã«ãã£ãžã«ã« AI éçºãå¯èœã«ããŠããŸããVLA ã¢ãã«ã¯ããããããããªç§ã¬ãã«ã®å¶åŸ¡ã§åçç°å¢ãæç¥ãè¡åããããšãå¯èœã«ãããšãŒãžã§ã³ããã·ãã¥ã¬ãŒã·ã§ã³ãšå®éã®ç©ççãªãããã€ã¡ã³ãã®äž¡æ¹ãéããŠæ¹åããç¶ç¶çãªåŠç¿ã«ãŒããã¯ã©ãŠãäžã§å®çšçã«ãªããŸããã AWS ã®ç®æšã®äžã€ã¯ãAI ãšãŒãžã§ã³ãéçºã容æãªãã®ã«ããããšã§ãããã®åãçµã¿ã¯ããã®ç®æšãç©ççãªäžçã«ãŸã§æ¡åŒµããŸããDavid Silver ãš Richard S. Sutton ã Welcome to the Era of Experience ã§èª¬æããŠããããã«ãAI ãšãŒãžã§ã³ãã¯ç°å¢ã§ã®çµéšããåŠç¿ããã¢ãã«ã®ãã¬ãŒãã³ã°ããã¥ãŒãã³ã°ãé·æèšæ¶ãããã³ã³ã³ããã¹ãæé©åãéããŠæ¹åããŠããŸãããããã®ã·ã¹ãã ãç©ççãªäžçã«ã€ããŠããæ·±ãæšè«ããèœåãéçºããã«ã€ããè¡åãèµ·ããåã«å°æ¥ã®äžçç¶æ
ãã·ãã¥ã¬ãŒãããæ±ºå®ã®çµæãäºæž¬ãããã倧ããªã·ã¹ãã ã®äžéšãšããŠç¢ºå®ã«é£æºã§ããããã«ãªããŸãã ãã®æ¥éã«æé·ããåéã§ãä»åŸæ°ã¶æéã§çãããäœãäœããæ¥œãã¿ã«ããŠããŸãã 仿¥ããå§ããŸãããïŒ Strands Agents Amazon Bedrock AgentCore Amazon SageMaker NVIDIA Isaac GR00T Hugging Face LeRobot SO-101 robot arm Boston Dynamics Spot Experimental Strands Robot Class ãã®ããã°ã¯ã Building intelligent physical AI: From edge to cloud with Strands Agents, Bedrock AgentCore, Claude 4.5, NVIDIA GR00T, and Hugging Face LeRobot ããAWSãžã£ãã³ã®ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ããå²©æ ¹çŸ©å¿ ã翻蚳ããŸããã Arron Bailiss Arron Bailiss ã¯AWSã®äž»ä»»ãšã³ãžãã¢ã§ã人工ç¥èœãæ©æ¢°åŠç¿ãããããå·¥åŠã®éã§åã Agent AI ã«çŠç¹ãåœãŠãŠããŸãã圌ã¯ããã«ããŒãé«åºŠãªAIé§åã®ã¢ããªã±ãŒã·ã§ã³ãäœæã§ããããã«ããéçºè
ããŒã«ã®æªæ¥ã圢äœãæå©ããããŠããŸãã Cagatay Cali Cagatay Cali ã¯AWSã®ãªãµãŒããšã³ãžãã¢ã§ããšãŒãžã§ã³ãAIãšãããã£ã¯ã¹ã«æ³šåããŠããŸãã圌ã¯ãAI ãšãŒãžã§ã³ããå®éã®ããããã«æ¥ç¶ããã€ã³ã¿ãŒãã§ãŒã¹ãèšèšããéçºè
ãèªç¶èšèªã§ããããã·ã¹ãã ãå¶åŸ¡ã§ããããã«ããŠããŸãããŸãããšãŒãžã§ã³ããšããããéçºããããããã¹ãã«ã¬ãã«ã®æ§ç¯è
ã䜿ããããã«ããŠããŸãã Rachita Chandra Rachita Chandra ã¯ãããã¿ã€ãã³ã°ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ãããAWSäžã®ã¯ãŒã¯ããŒãã«ãããŠçæAIããã³æ©æ¢°åŠç¿ãœãªã¥ãŒã·ã§ã³ã®å®è£
ã«ç¹åããŠããŸãã圌女ã®å°éç¥èã«ã¯ããšã³ã¿ãŒãã©ã€ãºã°ã¬ãŒãã®ã»ãã¥ãªãã£ãšã³ã³ãã©ã€ã¢ã³ã¹ã確ä¿ããªãããã¹ã±ãŒã©ãã«ãªAIãã€ãã©ã€ã³ãèšèšããããšãå«ãŸããŸãã Aaron Su Aaron Su ã¯ã¢ããŸã³ ãŠã§ã ãµãŒãã¹ã®ãœãªã¥ãŒã·ã§ã³ã¢ãŒããã¯ãã§ãããã¹ã¿ãŒãã¢ãããæŠå¿µããå®éã®éçšãŸã§ AI ãœãªã¥ãŒã·ã§ã³ãæ§ç¯ããŠæ¡åŒµããããšãæ¯æŽããŠããŸãã圌ã¯ãã£ãžã«ã« AI ãšãšãŒãžã§ã³ãã·ã¹ãã ã«æ·±ãæ
ç±ã泚ãããªãŒãã³ãœãŒã¹ãããžã§ã¯ããèŠç¹ã®ã¬ã€ãã³ã¹ããªãã¡ã¬ã³ã¹ã¢ãŒããã¯ãã£ãéããŠæè¡ã³ãã¥ããã£ã«ç©æ¥µçã«è²¢ç®ããŠããŸããã¢ãŒãã³ã¯äžçäžã®äœçŸãã®èµ·æ¥å®¶ãæ¯æŽããäžçã®äŒè°ã§æè¡ã»ãã·ã§ã³ãè¡ã£ãŠããŸãã圌ã¯èµ·æ¥å®¶ããã³ããããå·¥åŠã®ç ç©¶è
ãšããŠã®çµéšãæã£ãŠããŸãã