ã¯ããã« ããã«ã¡ã¯ãã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšãµã€ããŒã»ãã¥ãªãã£ãã¯ãããžãŒã»ã³ã¿ãŒã®å°ç¬ åã§ãã æšä»ã®èåŒ±æ§æ€æ»ã«ãããŠã以äžã®HTTPã¬ã¹ãã³ã¹ãããã®æªèšå®ãæ€åºãããã±ãŒã¹ãå¢ããŠããŸãã COEPïŒCross-Origin-Embedder-PolicyïŒ CORPïŒCross-Origin-Resource-PolicyïŒ COOPïŒCross-Origin-Opener-PolicyïŒ ãããã¯ãã©ãŠã¶ãæäŸãããã¯ãã¹ãªãªãžã³åé¢ïŒCross-Origin IsolationïŒããå®çŸããããã®ã»ãã¥ãªãã£æ©èœã§ãã ãèšå®ãããšäœãå€ããã®ããã察å¿ã¯å¿
é ãªã®ãããšçåã«æã£ãæ¹ãããã®ã§ã¯ãªãã§ããããã æ¬èšäºã§ã¯èåŒ±æ§æ€æ»ã®èгç¹ããCOEPãCORPãCOOPãããã®åœ¹å²ãæ€åºãããçç±ã«ã€ããŠç޹ä»ããŸãã ãªãèåŒ±æ§æ€æ»ã§ææãããã®ã ãããã®ãããã¯ä»¥äžã®èгç¹ããã»ãã¥ãªãã£åŒ·åé
ç®ãšããŠæ±ãããŠããŸãã Spectreã®ãããªãµã€ããã£ãã«æ»æãžã®å¯Ÿç äžéšã®é«åºŠãªãã©ãŠã¶æ©èœãå®å
šã«å©çšããããã®èŠä»¶ãžã®å¯Ÿå¿ æšä»ã®ãã©ãŠã¶ã§ã¯å®å
šãªå®è¡ç°å¢ã確ä¿ãããããäžéšã®é«åºŠãªãã©ãŠã¶æ©èœãå©çšããéã«ãã¯ãã¹ãªãªãžã³åé¢ããšåŒã°ããç¶æ
ãæ±ããããŠããŸãã ãã®ãããèåŒ±æ§æ€æ»ã§ã¯ä»¥äžã®ãããªèгç¹ã確èªé
ç®ãšããŠææãããã±ãŒã¹ãå¢ããŠããŸãã ãã©ãŠã¶ã»ãã¥ãªãã£åŒ·åãžã®å¯Ÿå¿ç¶æ³ ã¯ãã¹ãªãªãžã³åé¢ãžã®å¯Ÿå¿ç¶æ³ Spectreãªã©ã®æ°ããè
åšãžã®åã ãšã¯ãããã¯ãã¹ãªãªãžã³åé¢ãããSpectreããšãã£ãèšèã«éŠŽæã¿ããªãæ¹ãããããšæããŸãã æ¬¡ç« ã§ã¯ãŸããæ¬èšäºãèªãã«ããã£ãŠåæãšãªãç¥èãæŽçããŸãã åæç¥è æ¬èšäºãèªãã«ããããåæãšãªãçšèªãå
ã«æŽçããŸãã ãªãªãžã³ãšã¯ ãªãªãžã³ãšã¯Webãµã€ããèå¥ããåäœã§ãããã¹ããŒã ã»ãã¹ãåã»ããŒãçªå·ã®3ã€ã®çµã¿åããã§æ§æãããŸãã ãã®3ã€ããã¹ãŠäžèŽããå Žåã®ã¿ãåäžãªãªãžã³ãã1ã€ã§ãç°ãªãå Žåã¯ãå¥ãªãªãžã³ïŒã¯ãã¹ãªãªãžã³ïŒããšããŠæ±ãããŸãã æ¯èŒå¯Ÿè±¡ å€å® çç± https://example.com ãš https://example.com/page åäžãªãªãžã³ ã¹ããŒã ã»ãã¹ãã»ããŒããäžèŽïŒãã¹ã¯ç¡é¢ä¿ïŒ https://example.com ãš https://sub.example.com å¥ãªãªãžã³ ãã¹ãåãç°ãªã https://example.com ãš http://example.com å¥ãªãªãžã³ ã¹ããŒã ãç°ãªã https://example.com ãš https://example.com:8443 å¥ãªãªãžã³ ããŒãçªå·ãç°ãªã æ¬èšäºã§æ±ããã¯ãã¹ãªãªãžã³ããšã¯ãã®ãªãªãžã³ãç°ãªãWebãµã€ãå士ã®ã¢ã¯ã»ã¹ãæããŸãã ãªããåŸè¿°ããCORPãããã®èšå®å€ã«ã¯ããµã€ãããšããåäœãç»å ŽããŸãã ããµã€ããã¯ãªãªãžã³ããåºãåäœã§ç»é²å¯èœãªãã¡ã€ã³ïŒäŸïŒexample.comïŒãåãã§ããã°ããµããã¡ã€ã³ãç°ãªã£ãŠãåäžãµã€ããšã¿ãªãããŸãã äŸãã° https://example.com ãš https://sub.example.com ã¯ãå¥ãªãªãžã³ã ãåäžãµã€ãããšããé¢ä¿ã«ãªããŸãã ã¯ãã¹ãªãªãžã³åé¢ãšã¯ ã¯ãã¹ãªãªãžã³åé¢ãšã¯ä¿¡é Œã§ããªãã¯ãã¹ãªãªãžã³ãšã®äžèŠãªããŒã¿å
±æãçžäºåç
§ãå¶éãããã©ãŠã¶äžã§ããå®å
šãªå®è¡ç°å¢ãå®çŸããä»çµã¿ã§ãã ã¯ãã¹ãªãªãžã³åé¢ãå®çŸããããšã§Spectreãã¯ãããšãããµã€ããã£ãã«æ»æã®ãªã¹ã¯ãäœæžã§ããã»ããåŸè¿°ããSharedArrayBufferãªã©äžéšã®é«åºŠãªãã©ãŠã¶æ©èœãå©çšã§ããããã«ãªããŸãã ãµã€ããã£ãã«æ»æãšSpectre ã»ãµã€ããã£ãã«æ»æãšã¯ããã°ã©ã ã®åŠçå
容ãã®ãã®ã§ã¯ãªããåŠçã«ãããæéãã¡ã¢ãªã®æåãšãã£ãã坿¬¡çã«æŒãåºãæ
å ±ããæãããã«æ¬æ¥ç¥ãåŸãªãæ
å ±ãæšæž¬ããæ»æææ³ã§ãã ã»Spectreã¯ãã®ä»£è¡šäŸã§CPUã®ææ©çå®è¡ïŒå
ã®åŠçãäºæž¬ããŠå
åãã§å®è¡ããé«éåããä»çµã¿ïŒãæªçšããæ¬æ¥ã¢ã¯ã»ã¹ã§ããªãã¡ã¢ãªäžã®æ
å ±ãæšæž¬ããŠååŸãããµã€ããã£ãã«æ»æã§ãã ãããã®æ»æã¯ãã©ãŠã¶äžã§è€æ°ãªãªãžã³ã®ããŒã¿ãåãããã»ã¹ã«åå±
ããŠãããšæç«ãããããªããŸãã ãã®ããããªãªãžã³å士ãåé¢ããã¯ãã¹ãªãªãžã³åé¢ã察çãšããŠæå¹ã§ãã ã¯ãã¹ãªãªãžã³åé¢ãå¿
èŠãšãã代衚çãªãã©ãŠã¶æ©èœ 以äžã®ãããªæ©èœã¯å®å
šã«å©çšããããã«ã¯ãã¹ãªãªãžã³åé¢ãå¿
èŠãšããŸãã SharedArrayBuffer è€æ°ã¹ã¬ããéã§ã¡ã¢ãªãå
±æã§ããæ©èœ performance.measureUserAgentSpecificMemory() WebããŒãžã䜿çšããŠããã¡ã¢ãªéã詳现ã«èšæž¬ããæ©èœ é«ç²ŸåºŠã¿ã€ããŒïŒperformance.now()ãªã©ïŒ ãã€ã¯ãç§åäœã§åŠçæéãèšæž¬ã§ããæ©èœ WebAssembly Threads WebAssemblyã«ãããã«ãã¹ã¬ããåŠçãå®çŸããæ©èœ ãããã®æ©èœãå®å
šã«å©çšããããã«ã¯COOPãCOEPãé©åã«èšå®ããã¯ãã¹ãªãªãžã³åé¢ãå®çŸããå¿
èŠããããŸãã 3ã€ã®ãããã®å
šäœå åãããã®è©³çްã«å
¥ãåã«ãŸãCOEPã»CORPã»COOPã®åœ¹å²ã俯ç°ããŸãã 3ã€ã®ãããã¯ããããç°ãªã芳ç¹ããã¯ãã¹ãªãªãžã³ã¢ã¯ã»ã¹ãå¶åŸ¡ããŸãã COEPïŒå€éšãªãœãŒã¹ãèªã¿èŸŒãåŽã®å¶åŸ¡ æªãããã®ã¯èªã¿èŸŒãŸãªã CORPïŒãªãœãŒã¹ãæäŸããåŽã®å¶åŸ¡ èªåã®ãã®ã¯åæã«äœ¿ãããªã COOPïŒä»ãµã€ããšã®ãŠã£ã³ããŠé¢ä¿ã®å¶åŸ¡ ä»ãµã€ããšã®ã€ãªãããåã ãããã圹å²ã¯ç°ãªããŸããå
±éããç®çã¯ãä¿¡é Œã§ããªãã¯ãã¹ãªãªãžã³ãšã®äžèŠãªé¢ãããæžããããšãã§ãã ããããçµã¿åãããããšã§ã¯ãã¹ãªãªãžã³åé¢ãå®çŸãããããå®å
šãªå®è¡ç°å¢ãæ§ç¯ã§ããŸãã ãªããã¯ãã¹ãªãªãžã³åé¢ã¯COOPãšCOEPã®äž¡æ¹ãèšå®ããŠåããŠæç«ããŸãïŒCORPã¯COEPãè£å©ãã圹å²ã§ãïŒã ã©ã¡ããäžæ¹ã ãã§ã¯åé¢ç¶æ
ã«ã¯ãªããªãç¹ã«æ³šæããŠãã ããã å
·äœçãªèšå®å€ã¯æ¬¡ç« 以éã§åãããããšã«èª¬æããŸãã 以éã§ãåãããã®è©³çްãé ã«èŠãŠãããŸãã COEPããããšã¯ æŠèŠ COEPãããã¯ãå©çšãæç€ºçã«èš±å¯ãããå€éšãªãœãŒã¹ã®ã¿èªã¿èŸŒããããã®ãããã§ãã Webãµã€ãã§ã¯ç»åãJavaScriptãiframeãªã©ã®å€éšãªãœãŒã¹ãå©çšããããšããããŸãã COEPããããèšå®ãããšã¯ãã¹ãªãªãžã³ãªãœãŒã¹ã®åãæ±ããå¶éãããå©çšãæç€ºçã«èš±å¯ãããŠããªããªãœãŒã¹ã¯ãã©ãŠã¶ã«ãã£ãŠãããã¯ãããŸãã å³1. COEPã«ããã¯ãã¹ãªãªãžã³ãªãœãŒã¹ã®èªã¿èŸŒã¿å¶åŸ¡ åºå
žïŒ web.devãåªããæ©èœã®ããã«ãã¯ãã¹ãªãªãžã³åé¢ããå¿
èŠãªçç±ã https://web.dev/articles/why-coop-coep Licensed under CC BY 4.0. èšå®å€ã¯ä»¥äžã®ãšããã§ãã require-corpïŒCORSãŸãã¯CORPã§å©çšãèš±å¯ããããªãœãŒã¹ã®ã¿èš±å¯ credentiallessïŒèªèšŒæ
å ±ãéä¿¡ããªãæ¡ä»¶ã§äžéšã®ã¯ãã¹ãªãªãžã³ãªãœãŒã¹ãèš±å¯ unsafe-noneïŒå¶éãªãïŒããã©ã«ãïŒ â»CORSïŒCross-Origin Resource SharingïŒãšã¯ãããªãªãžã³ã®ããŒãžããå¥ãªãªãžã³ã®ãªãœãŒã¹ãžã®ã¢ã¯ã»ã¹ããªãœãŒã¹æäŸåŽãèš±å¯ããç¯å²ã§èªããä»çµã¿ã§ãã 广 å®å
šæ§ã確èªã§ããªãå€éšãªãœãŒã¹ã®èªã¿èŸŒã¿ã鲿¢ãã ã¯ãã¹ãªãªãžã³åé¢ãå®çŸããSpectre ãªã©ã®ãµã€ããã£ãã«æ»æã®ãªã¹ã¯ãäœæžãã CORPããããšã¯ æŠèŠ CORPãããã¯ãèªãµã€ãã®ãªãœãŒã¹å©çšç¯å²ãå¶åŸ¡ãããããã®ãããã§ãã äŸãã°ãèªãµã€ãã§å
¬éããŠããç»åãJavaScriptãªã©ã®ãªãœãŒã¹ãæå³ããªãå€éšãµã€ãããå©çšãããããªãå Žåã«äœ¿çšããŸãã CORPããããèšå®ããããšã§èªãµã€ãã®ãªãœãŒã¹ãã©ã®ãµã€ãããå©çšã§ããããå¶åŸ¡ã§ããå€éšãµã€ãã«ããæå³ããªãå©çšãé²ãããšãã§ããŸãã èšå®å€ã¯ä»¥äžã®ãšããã§ãã same-originïŒåäžãªãªãžã³ã®ã¿èš±å¯ same-siteïŒåäžãµã€ãã®ã¿èš±å¯ cross-originïŒãã¹ãŠã®ãªãªãžã³ããã®å©çšãèš±å¯ å¹æ èªãµã€ãã®ãªãœãŒã¹å©çšç¯å²ãå¶åŸ¡ãã ãªãœãŒã¹ãæäŸããåŽããã¯ãã¹ãªãªãžã³åé¢ãæ¯æŽãã COOPããããšã¯ æŠèŠ COOPãããã¯ãä»ãµã€ããšã®ãŠã£ã³ããŠã®ã€ãªãããåãé¢ããããã®ãããã§ãã äŸãã°ãå€éšãµã€ãã window.open() ãå©çšããŠèªãµã€ããéããå Žåãéåžžã¯éããåŽãšéãããåŽã®éã«é¢ä¿ãæ®ããéããåŽã®ããŒãžã¯éãããããŒãžã®ãŠã£ã³ããŠãåç
§ããããããŒãžé·ç§»ãåŒãèµ·ããããšãã§ããŸãã COOPããããèšå®ãããšãã®é¢ä¿ãåé¢ãããå€éšãµã€ãããèªãµã€ãã®ãŠã£ã³ããŠãåç
§ã»æäœã§ããªããªããŸãã å³2. COOPã«ãããã©ãŠãžã³ã°ã³ã³ããã¹ãã®åé¢ åºå
žïŒ web.devãåªããæ©èœã®ããã«ãã¯ãã¹ãªãªãžã³åé¢ããå¿
èŠãªçç±ã https://web.dev/articles/why-coop-coep Licensed under CC BY 4.0. â»ãã©ãŠãžã³ã°ã³ã³ããã¹ããšã¯ã¿ãããŠã£ã³ããŠãiframeãªã©ãWebããŒãžã衚瀺ã»å®è¡ãããåäœãæãçšèªã§ãã COOPã¯ãã®åäœå士ã®ã€ãªãããå¶åŸ¡ããŸãã èšå®å€ã¯ä»¥äžã®ãšããã§ãã same-originïŒåäžãªãªãžã³ä»¥å€ãšã®ãŠã£ã³ããŠé¢ä¿ãåé¢ãã same-origin-allow-popupsïŒèªããŒãžãéãããããã¢ãããšã®ãŠã£ã³ããŠé¢ä¿ã¯ç¶æãããã以å€ã¯åé¢ãã noopener-allow-popupsïŒãããã¢ãããéãããšèªäœã¯èš±å¯ããããéãããããã¢ãããšã®ãŠã£ã³ããŠé¢ä¿ã¯åé¢ãã unsafe-noneïŒå¶éãªãïŒããã©ã«ãïŒ å¹æ å€éšãµã€ããšã®ãŠã£ã³ããŠé¢ä¿ãåé¢ããã¯ãã¹ãªãªãžã³éã®äžèŠãªé£æºã圱é¿ãæå¶ãã ã¯ãã¹ãªãªãžã³åé¢ã®ç¢ºèªæ¹æ³ ã¯ãã¹ãªãªãžã³åé¢ãæå¹ã«ãªã£ãŠãããã¯ãã©ãŠã¶ã®éçºè
ããŒã«ïŒConsoleïŒã§ä»¥äžãå®è¡ããããšã§ç¢ºèªã§ããŸãã self.crossOriginIsolated å®è¡çµæããtrueãã®å Žåã¯ã¯ãã¹ãªãªãžã³åé¢ãæå¹ã§ãã äžæ¹ããfalseãã衚瀺ãããå Žåã¯COOPïŒsame-originïŒãšCOEPïŒrequire-corpãªã©ïŒã®ãããããæªèšå®ã§ããããèªã¿èŸŒãã§ãããªãœãŒã¹ãCORS/CORPã®èŠä»¶ãæºãããŠããªããªã©ã®çç±ã§ã¯ãã¹ãªãªãžã³åé¢ãæç«ããŠããªãå¯èœæ§ããããŸãã 察å¿ã¯å¿
é ã COEPãCORPãCOOPãããã¯æªèšå®ã ãããšãã£ãŠçŽã¡ã«è匱æ§ãšãªãããã§ã¯ãããŸããã 倿ã®è»žã¯ãã¯ãã¹ãªãªãžã³åé¢ïŒCOOPïŒCOEPã®äœµçšïŒãå¿
èŠãããšãåã
ã®ãããã«ããä¿è·ãå¿
èŠãããåããŠèããããšã§ãã 以äžã®ãããªå Žåã¯èšå®ãæ€èšããããšãæšå¥šãããŸãã SharedArrayBufferãªã©ã¯ãã¹ãªãªãžã³åé¢ãå¿
èŠãšããæ©èœãå©çšããå ŽåïŒCOOPãšCOEPã®äœµçšãå¿
é ïŒ ãã©ãŠã¶ã»ãã¥ãªãã£ã匷åãããå Žå èåŒ±æ§æ€æ»ãã»ãã¥ãªãã£åºæºãžã®å¯Ÿå¿ãæ±ããããå Žå ã¯ãã¹ãªãªãžã³åé¢ãå¿
èŠãšããæ©èœã䜿ããªããµã€ãã§ã¯COOPãšCOEPã峿 Œã«èšå®ããå¿
èŠã¯å¿
ããããããŸããã ãã ãããã®å Žåã§ãCOOPïŒsame-originïŒåäœã¯ã¿ãããã³ã°ãªã©ãŠã£ã³ããŠçµç±ã®æ»æå¯ŸçãšããŠãCORPåäœã¯ãªãœãŒã¹ã®æå³ããªãå€éšå©çšã®é²æ¢ãšããŠããããåç¬ã§ãæå¹ã§ãã ãã®ããã«ãã¯ãã¹ãªãªãžã³åé¢ãšããŠã®å¯Ÿå¿ããšãåå¥ãããã«ããä¿è·ããåãåããèªãµã€ãã®èŠä»¶ã«å¿ããŠå¯Ÿå¿ç¯å²ã決ããããšãæãŸããã§ãããã TipsïŒCOEPãCORPãCOOPå°å
¥æã®æ³šæç¹ COEPãCORPãCOOPã¯ã»ãã¥ãªãã£ã匷åããäžæ¹ã§ãæ¢åã·ã¹ãã ãžé©çšããéã«ã¯æ³šæãå¿
èŠã§ãã COEPé©çšæã¯å€éšãªãœãŒã¹ã®åäœã«æ³šæãã COEPãæå¹ã«ãããšå€éšCDNããé
ä¿¡ãããç»åãJavaScriptãiframeãªã©ãèªã¿èŸŒããªããªãå ŽåããããŸãã ç¹ã«ä»¥äžã®ãããªãªãœãŒã¹ãå©çšããŠããå Žåã¯äºåã®åäœç¢ºèªãæšå¥šããŸãã CDNé
ä¿¡ã®JavaScript ã¢ã¯ã»ã¹è§£æããŒã« åºåã¿ã° å€éšãµãŒãã¹ãæäŸããiframe COOPé©çšæã¯å€éšãµãŒãã¹é£æºã確èªãã COOPïŒCross-Origin-Opener-PolicyïŒãæå¹ã«ãããšç°ãªããªãªãžã³ã®ããŒãžãšã®ãŠã£ã³ããŠé¢ä¿ãåé¢ãããŸãã ããã«ãããåŸæ¥ã¯å©çšã§ããŠããwindow.openerãªã©ã®ãŠã£ã³ããŠéåç
§ãå¶éãããç°ãªããµã€ãéã§ã®æ
å ±ã®åãæž¡ãã飿ºåŠçã«åœ±é¿ãäžããå ŽåããããŸãã ãã®ããã以äžã®ãããªæ©èœã§ã¯åäœã«åœ±é¿ãçºçããå¯èœæ§ããããŸãã OAuthèªèšŒ ã·ã³ã°ã«ãµã€ã³ãªã³ïŒSSOïŒ æ±ºæžãµãŒãã¹ window.open() ãå©çšããæ©èœ äŸãã°ãèªèšŒãµãŒãã¹ã決æžãµãŒãã¹ããããã¢ãããŠã£ã³ããŠãéããèªèšŒã決æžå®äºåŸã«window.openerãå©çšããŠå
ã®ç»é¢ãžçµæãéç¥ããå®è£
ã®å ŽåãCOOPã«ãã£ãŠãŠã£ã³ããŠéã®åç
§ãåãé¢ãããããšã§æ£åžžã«é£æºã§ããªããªãå¯èœæ§ããããŸãã ãããã¢ãããšã®é£æºãå¿
èŠãªå Žåã¯ã圱é¿ç¯å²ãååã«ç¢ºèªããããã§same-origin-allow-popupsã®å©çšãæ€èšããŠãã ããã ãŸãšã æ¬èšäºã§ã¯èåŒ±æ§æ€æ»ã§æ€åºãããããšãå¢ããŠããCOEPãCORPãCOOPãããã«ã€ããŠç޹ä»ããŸããã ãããã®ãããã¯ããããç°ãªã芳ç¹ããã¯ãã¹ãªãªãžã³ã¢ã¯ã»ã¹ãå¶åŸ¡ããçµã¿åãããããšã§ã¯ãã¹ãªãªãžã³åé¢ïŒCross-Origin IsolationïŒãå®çŸããŸãã ãã®çµæãSpectreãã¯ãããšãããµã€ããã£ãã«æ»æã®ãªã¹ã¯ãäœæžã§ããã»ããSharedArrayBufferãªã©ã®é«åºŠãªãã©ãŠã¶æ©èœãå©çšã§ããããã«ãªããŸãã æ€æ»çµæã§COEPãCORPãCOOPãããã®æªèšå®ãææãããéã¯åãªãHTTPãããäžè¶³ã§ã¯ãªããçŸä»£ãã©ãŠã¶ã®ã»ãã¥ãªãã£ã¢ãã«ãžã®å¯Ÿå¿ç¶æ³ã瀺ãé
ç®ãšããŠæããŠãã ããã æ¬èšäºãCOEPãCORPãCOOPãããã«å¯Ÿããçè§£ãæ·±ããäžå©ãšãªãã°å¹žãã§ãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @ogasawara.shota ã¬ãã¥ãŒïŒ @yahagi.ginpei1128 ïŒ Shodo ã§å·çãããŸãã ïŒ
1.ã¯ããã« ããã«ã¡ã¯ãOpenInnovationã©ãïŒéç§°ã€ãã©ãïŒã®å¥¥éæ£å¯ã§ãã çŸåšã€ãã©ãã§ã¯ãã£ãžã«ã«AIã®ç ç©¶éçºã«åãçµãã§ãã ååèšäº ã§ã¯ãå°åã¢ãŒã ã®SO-ARM101ã䜿ããVLAã¢ãã«ã§ããÏ0.5ã®ç²ŸåºŠãæ±åæ§ãæ€èšŒããŸããã ä»åã¯æ¥åå©çšãèŠæ®ããæ¥ååãã¬ãã«ã«ãã¯ãŒãšç²ŸåºŠãããååãããããšããŠxArm7ã2å°ã§åè
ã®ããããåºç€ã¢ãã«æ€èšŒã·ã¹ãã ãæ§ç¯ããå®èšŒããããšã«ã€ããŠæžããããšæããŸãã ä»åã®æ€èšŒã§ã¯Ï0.5ã§ä»¥äž2ã€ã®å
å®¹ãæ€èšŒããŠãããŸãã æ¬èšäºã§ã¯ãåãçµãã å
容ãšäœµããŠVLAãxArmã®ãããªååããããã«é©å¿ããã«ãããèŠåŽããããšããå®éã«å®æ©ã§åãããŠã¿ãŠåãã£ãããšãªã©ããäŒãããŸãã æ€èšŒâ ïŒåºæ¬çãªããã¯ïŒãã¬ã€ã¹ æ€èšŒâ¡ïŒã©ããªãŒãã¡ãŒã·ã§ã³ãæ³å®ãããé»åã¬ã³ãžã§è³æãæž©ããããšãããã³ã°ã¿ã¹ã¯ 2.ç¬èªã®RFMå®èšŒã·ã¹ãã ãæ§ç¯ ä»åãããããšããŠUFACTORYã® xArm7ã2å°çµã¿åãããåè
æ§æ ã«ããŸããã æäœã€ã³ã¿ãŒãã§ãŒã¹ã«ã¯åã¢ãŒã ã«å¯Ÿå¿ããGelloã䜿ããçŽæçãã€ç²ŸåºŠé«ãxArmãå¶åŸ¡ããŠããŒã¿åéã§ããæ§æãç®æããŸããã ã·ã¹ãã ã¯LeRobot0.6.1ãããŒã¹ã«éçºããããŒã¿ååŸãåŠç¿æžã¿VLAã¢ãã«ãå®è¡ã§ããã·ã¹ãã ãæ§ç¯ããŸããã ã«ã¡ã©ã¯åã¢ãŒã ã®æéŠã«RealSense1å°ãã€ãšã空éå
šäœãèŠãUSBã«ã¡ã©1å°ã®èš3å°ã§ãã ããŒã¿ååŸã§ã¯ãäœçŸåãšãšããœãŒãåäœãç¹°ãè¿ãããããŒã¿èšé²ã®å¹çæ§ãèæ
®ãã ãããã¹ã€ããã§èšé²çµäºã次ã®ãšããœãŒãã®èšé²éå§ãè¡ããããã«ããŸããã Gelloããæãé¢ããŠPCãæäœããå¿
èŠããªããäž¡æã§ãããããæäœããªãããå¹çããããŒã¿ãåéã§ããŸããã ã¿ã¹ã¯ã«ãã£ãŠã¯ãšããœãŒãã®åæç¶æ
ã«æ»ãããšãããããããå¶åŸ¡ããŠè¡ãããšãã§ããŸãã ãŸãå®èšŒã·ã¹ãã éçºã«ãããŠèæ
®ããç¹ãšããŠå®å
šæ§ããããŸããxArmã®ããã«å€§ãããŠãã¯ãŒãããããããã®å Žåãå¶åŸ¡ã«ãã£ãŠã¯åšå²ãžã®å±å®³ã ãã§ãªãããããèªäœã®ç Žæã®æžå¿µããããŸãã ä»åã¯å¯Ÿçã®äžäŸãšããŠãVLAã«ããå¶åŸ¡æã«ã¯ããããã«å¶åŸ¡å€ãéãåã«åé¢ç¯ãžã®æä»€å€ã®å€åéã«äžéãèšãããã£ã«ã¿ãŒãšãç§»åå¹³åã«ããã¹ã ãŒãžã³ã°ããããæ§æãšããŠãŸãã ãŸããæ±ãç©äœãäœæ¥ã«åãããŠãã°ãªãããŒã®å
端治å
·ã3Dããªã³ã¿ãŒã§äœæããŠããŸãã ç¹ã«ä»åã¯é»åã¬ã³ãžã®åº«å
ãžã®ã¢ã¯ã»ã¹ã®éã«æéŠã«ã¡ã©ãè¡çªããŠããŸãããšã倿ãããããæŽã¿ãããã ãã§ãªãã°ãªãããŒå
端ãé·ããã調æŽãå¿
èŠã§ããã äžã®äžã®ãã£ãžã«ã«AIã®äºäŸãåèã«Fin-Ray圢ç¶ã®æ²»å
·ãäœæããŸããããæ²ããããããªã©ã¯äœã£ãŠè©Šããªããšåãããªããã埮調æŽããªããæçµåœ¢ç¶ãèšèšããŠãŸãã ä»ã«ãGelloã®åºå®å°åº§ãªã©ã3Dããªã³ã¿ãŒã§äœæããŠããããããããããããã§3Dããªã³ã¿ãŒã¯å¿
é ã§ãããšæ¹ããŠæããŸããã 3. æ€èšŒâ ïŒÏ0.5ã«ããåºæ¬çãªããã¯ïŒãã¬ã€ã¹ åºæ¬åäœãã§ãããŸã§ã®è©Šè¡é¯èª€ ãŸãã¯ã·ã³ãã«ãªããã¯ïŒãã¬ã€ã¹ã®ã¿ã¹ã¯ã§ãã·ã¹ãã å
šäœãæ³å®éãã«åäœããããšãç®æããŸããã SO-ARM101ã§ã®çµéšããã£ããããåãããã«ããŒã¿ãéããŠÏ0.5ããã¡ã€ã³ãã¥ãŒãã³ã°ããã°ããçšåºŠã¯åããããšèããŠããŸããããæåã¯æåŸ
ãã粟床ãåºã詊è¡é¯èª€ãç¹°ãè¿ããŸããã ãã©ã€1 æåã¯å·Šå³ãããã50åãã€ããããå¥ã¢ã€ãã ãããã¯ïŒãã¬ã€ã¹ããããŒã¿ãååŸãÏ0.5ãåŠç¿ããã¢ãã«ã詊ããŸããã ããã³ããã®åãæ¿ãã§ããããã®ã¢ã€ãã ãåããããšãæåŸ
ããŸããããçæ¹ã®ããã³ããã¯ãããããåäœã¯ããããããçæ¹ã®ããã³ããã¯ã»ãšãã©åããªããªããªã©å
šãæåããªãçµæãšãªããŸããã åå ãæ€èšããçµæã以äžç¹ãæ³å®ããã·ã¹ãã ãèŠçŽããããã§ãã©ã€ïŒãžç§»è¡ã 空éã«ã¡ã©é
眮ã®èŠçŽã ã»æåã¯äœæ¥æºã®çäžããçäžãèŠäžãã圢ã§ç©ºéã«ã¡ã©ãèšçœ®ããŸããããããã ãšæ åã«å«ãŸããäœçœ®æ
å ±ãïŒæ¬¡å
ãšãªããé«ãã«é¢ããæ
å ±ãäžè¶³ãããšèããŸããã ã»Physical Intelligenceãªã©ã®äž»èŠãªVLAãã³ããŒã®ãã¢åç»ãåèã«ãããšãåè
ã®éã®äžæ¹éšããèŠäžããäœçœ®ã«ç©ºéã«ã¡ã©ãèšçœ®ããŠããããšãå€ããäžäžã®æ
å ±ãåããäœçœ®ã§ããããšããåæ§ã®äœçœ®ã«å€æŽããŸããã çè
åºå®ã«ããæ¡ä»¶ãçµã£ã ã»ä»ååè
ã®ãããããåããšåºå®ã«ã¡ã©ã¯ç©ºéã«ã¡ã©1å°ãšãªããæ®ãã®ïŒã«ã¡ã©ãåããšãªããšã«ã¡ã©äœçœ®ã®æ¡ä»¶ãçžåœå€ãããšã«ãªããšèããããŸããããã§çè
ãåºå®ããŠã«ã¡ã©ãšããŠäœ¿ãããŸãã¯åè
ã¢ãŒã ã·ã¹ãã ã®ç¶æ
ãšããŠæ€èšŒããããšã«ããŸããã ã»ååSO-ARMã§å®æœããæ€èšŒã§ã¯2å°ã®ã«ã¡ã©ãåºå®ã«ã¡ã©ãšããŠã100~200åçšåºŠã®ãšããœãŒãããŒã¿ã§ããçšåºŠããã¯ïŒãã¬ã€ã¹ã«æåããã¢ãã«ãåŠç¿ã§ããŠããããšãåèãšããŠãŸãã ãã©ã€2 äžèšã®ã«ã¡ã©äœçœ®å€æŽãåè
ã¢ãŒã åããç¶æ
ã§1ã€ã®ã¢ã€ãã ã«å¯Ÿããããã¯ïŒãã¬ã€ã¹ãæ€èšŒã ãããããã§ã粟床ãåºãªãããšããä»ã®ã·ã¹ãã ãã°ãããŒã¿äžæŽåãªã©ãäžå¿ã«èŠçŽããŸããã çµæãšããŠã°ãªãããŒã®ããŒã¿ãæ£ããä¿åã§ããŠããªããå®éã®åäœæéãšèšé²ããŒã¿ã®æéãããããã£ããLerobotèªäœã®ãã°ãªã©æ§ã
ãªèŠå ãçºèŠãããŸããã åä»ã ã£ãã®ã¯ãããããåé¡ããã£ãŠãããªããšãªãåããŠããŸããããš ããŒã¿ãè¶³ããªãã®ããåŠç¿ãããŸããã£ãŠããªãã®ããå¶åŸ¡åŽã®åé¡ãªã®ãåé¡åãåããå¿
èŠãšãªããŸãã ç°å¢æŽåã»ããŒã¿åãã»ã¢ãã«FTã»å®æ©æ€èšŒã»èŠå åæãç¹°ãè¿ã ããšã«ããæåŸ
ãã粟床ã®ã·ã¹ãã ã®æ§ç¯ãã§ããŸãããã®ç¹°ãè¿ããããã«å¹ççã«å®æœããããéèŠã ãšæããŸããã ãŸããããŸã§ã®çµéšãããVLAå®è¡æã«æ§ã
ãªåæç¶æ
ã«å¯Ÿå¿ããããã«ã¯åéããŒã¿ã«ãããŠã察象ç©ã®çœ®ãæ¹ã®ç¶²çŸ
æ§ãéèŠã§ãããšèããŸããã ããã§åææ¡ä»¶ãšããŠã®çœ®ãæ¹ã®ç¶²çŸ
æ§ã確èªããããã«ãåãšããœãŒãããŒã¿ããéç³ç»åã§ç¢ºèªã§ããããŒã«ãäœããŸããã 以äžã®ç»åã®ããã«åŠç¿ããŒã¿ã«ãããŠã©ãã«çœ®ããŠãªããäžç®ã§åããããšã§ãåŠç¿åŸã¢ãã«ã§ç²ŸåºŠã®ã§ãªãäœçœ®æ¡ä»¶ã®åå ãåãåããããã§ãã ããŒã¿æ¡ä»¶ãå°ãªãå Žåã¯ããŸãåé¡ãªãã£ãã§ãããæ¡ä»¶ãå¢ããŠãããšåãããªããªã£ãŠãããããããã£ãç¢ºèªæ¹æ³ã¯æå¹ã ãšæããŸãã æçµãã©ã€ æçµçã«ãããŸã§ã®äžå
·åèŠå ãä¿®æ£ããåè
ã§200åçšåºŠã®ããŒã¿ã䜿ãããšã§ãæåŸ
ããããã¯ïŒãã¬ã€ã¹ãã§ããÏ0.5ã®ã¢ãã«ãäœãããšãã§ããŸããã ãã®ãã¬æ€èšŒã§ã¯Ï0.5ã®å¯Ÿè±¡ç©ã«å¯Ÿããæ±åæ§ã確èªããããšãã§ããŸããã ããã³ãžã³ãæŽãã§ç¿ã«çœ®ããåäœã®ããŒã¿ã®ã¿ã§åŠç¿ããÏ0.5ã¢ãã«ã«å¯ŸããŠãå®è¡æã«å
¥åããã³ãããå€ãããšã æŽã察象ãšããŠåŠç¿ããŠããªãããŒãã³ããã¹ã§ãããã¯ïŒãã¬ã€ã¹ã«æå ããæåãèŠãããŸããã ãã³ãžã³ãããå Žåãããã³ããã§ä»ã®ã¢ã€ãã ãæå®ããŠããã³ãžã³ãåãã«ããæåã§ãã ãŸãã¿ã¹ã¯çµäºæ¡ä»¶ãšãªããã³ãžã³ãç¿ã«ä¹ã£ãç¶æ
ã«ãããŠããä»ã®ã¢ã€ãã ã«ã¯åå¿ããªãç¶æ
ãšãªããŸãã ãã³ãžã³ããªãç¶æ
ã§ãããã³ããã§ããŒãã³ããã¹ãæå®ãããšããããã®ã¢ã€ãã ãåãã«ããããšãåºæ¥ãŸããã åŠç¿æã«æŽã察象ãšããŠæ±ã£ãŠããªãéèã«ã察å¿ã§ããããšããã察象ç©ã«å¯ŸããŠæ±åããçµæãèŠãããŸããã ãµã€ãºã圢ç¶ãç°ãªãèµ€ãããªã«ã«å¯ŸããŠã¯ãæç€ºã«åå¿ããŠåãã«ãããæŽãããšã¯ã§ããŸããã§ããã ãã³ãžã³ã«å¯Ÿããææåäœã ãåŠç¿ããŠããããããããªã«ã®å€§ããã«åãããã¢ã¯ã·ã§ã³ãçæã§ããªãã£ãå¯èœæ§ãèããããŸãã 4. æ€èšŒâ¡:ã©ãäœæ¥ããµãã¿ã¹ã¯ã«åããŠæ€èšŒ æ¬æ€èšŒã§ã¯æ¥ååãæŽ»çšã®ãŠãŒã¹ã±ãŒã¹ãšããŠã©ããªãŒãã¡ãŒã·ã§ã³ãæ³å®ãããé»åã¬ã³ãžã§è³æãæž©ããããšããé·ãã¿ã¹ã¯ãèšå®ããŸããã 1ã€ã®ã¢ãã«ã§äžæ°ã«å
šã¿ã¹ã¯ãåäœãããæ¹æ³ããããŸãããÏ0.5ã«ãããŠè€éãã€é·ãã¿ã¹ã¯ãäžæ°ã«å®è¡ããããšã¯ç²ŸåºŠãåºãªããšèããŸããã Ï0.5ã®è«æã§ãå
éšçã«äžäœã§å
šäœã¿ã¹ã¯ããã¿ã¹ã¯ãžåå²ããã¢ã¯ã·ã§ã³çæããïŒæ®µéã®ãããŒãšãªã£ãŠããŸãããããã£ãŠä»åã¯Ï0.5ã®èãæ¹ã«æ²¿ã£ãŠãå
šäœã¿ã¹ã¯ã8ã€ã®ãµãã¿ã¹ã¯ã«åãã7ã€ã®å¥ã¢ãã«ã«åããåœ¢ã§æ€èšŒããŸããã çµæãšããŠãµãã¿ã¹ã¯ããšã®å°çšã¢ãã«ã§ã¯ã7ã€ã®ãã¡ã5.æž©ãå®è¡ããé€ã6ã€ã§æåããããšã確èªã§ããŸããã ãé»åã¬ã³ãžã§è³æãæž©ãããããµãã¿ã¹ã¯ãžåè§£ 1.ã³ããã«ãžã§ã«ãå
¥ãã 2.ã¬ã³ãžãéãã 3.ã³ããã庫å
ã«å
¥ãã 4.ã¬ã³ãžãéãã 5.æž©ãå®è¡ (2.ã¬ã³ãžãéãã) 6.ã³ãããåãåºããŠè³æãèœãšã 7.æž©ããè³æãã«ãŽã«å
¥ãã åè
ã§ã®ã¿ã¹ã¯å®è¡ åè
ã®æ¯èŒçåçŽãªåäœã§ããã°ã200åçšåºŠã®ããŒã¿ã§ããçšåºŠã®ç²ŸåºŠãåŸãããŸããã ãŸãã4.ã¬ã³ãžãéãããã®ããã«ããçšåºŠæ±ºãŸã£ãäœçœ®ã§ã¢ãŒã ãåããã°æåããã¿ã¹ã¯ã§ã¯100åçšåºŠã®ããŒã¿ã§ãã»ãšãã©æåããã¢ãã«ãšãªããŸããã ãã ãã察象ç©ã®äœçœ®ãå€ãããšå€±æããã±ãŒã¹ãå€ãããã1ã¢ãã«ã«ã€ã200åçšåºŠã§ã¯ããŒã¿ã«å«ãããã¹ãŠã®äœçœ®ã«å¯ŸããŠå®å®ããŠåããŸã§ã®ç²ŸåºŠã«ãªããªãçµæã§ãã åè
ã§ã®ã¿ã¹ã¯å®è¡ ä»åã®ãµãã¿ã¹ã¯ã®äžã§ã1.ã³ããã«ãžã§ã«ãå
¥ãããã ãåè
ã§åæã«2ã€ã®ã¢ãŒã ãåããã¿ã¹ã¯ã§ãããçæ¹ã®ã¢ãŒã ã§ã³ãããæã¡ãããçæ¹ã§ãžã§ã«ãæŽãã§ã³ããã«å
¥ããŠãã³ãããã¬ã³ãžã®æšªã«çœ®ãããšããã¿ã¹ã¯ã1ã€ã®ã¢ãã«ã«åŠç¿ããåœ¢ã§æ€èšŒããŸããã ã³ãããšãžã§ã«ã®äœçœ®æ¡ä»¶ãæºéãªã倿ŽããçŽ300ååã®ããŒã¿ã§åŠç¿ããçµæã ããŸãããç¹å®ã®åæäœçœ®ã®æ¡ä»¶ã§ã®ã¿æåããŸããã åŠç¿ããŒã¿ã«å«ãŸããã»ãšãã©ã®äœçœ®æ¡ä»¶ã§ãžã§ã«ãã³ãããæŽãããšãã§ãããäœçœ®ã«å¯Ÿããæ±åæ§ãåŸãããªãçµæã§ãã åºå®ã«ã¡ã©ã1å°ãšãªãåè
ã®å調åäœã«ãããŠã¯ãåè
ã«æ¯ã¹ãŠå¿
èŠãšãããããŒã¿éãçžåœã«å€ããªããšèããããŸãã ãæŒãããåãããªãããã¿ã³æäœã®é£ãã ä»åã®ãµãã¿ã¹ã¯ã®äžã§å¯äžæåããªãã£ãã®ã¯ãé»åã¬ã³ãžã®3ã€ã®ãã¿ã³ãé çªã«æŒãã5.æž©ãå®è¡ãã¿ã¹ã¯ã§ãã 200ååã®ããŒã¿ã§åŠç¿ãããã¿ã³ãæŒããçµæãåããããã«ã«ã¡ã©ã§æ¶²æ¶è¡šç€ºã®å€åãæ ããŸããããã¢ãã«å®è¡ãããšã°ãªãããŒã®å
端ã§ãã¿ã³ãæŒãã«ãããããªåäœã¯ãããã®ã®ããã¿ã³ã¯æŒãããšã¯åºæ¥ãŸããã§ãããèŠå ãšããŠå€§ãã2ã€ãããšèããŠããŸãã èŠå 1ïŒãã¿ã³ãæŒãã倿æ
å ±ããªã 人éã¯ãã¿ã³ãæŒããéã®æäœé³ãæŒããã¯ãªãã¯æã§å€æã§ããŸããäžæ¹ä»åã®åŠç¿ããŒã¿ã«ã¯é³ãåèŠã®æ
å ±ãå«ãŸããŠããããã«ã¡ã©ã«æ ããæ¶²æ¶è¡šç€ºã®å€åã ãã§ã¯ããã¿ã³æŒäžã®æåŠå€æãšããŠäžååã ã£ãå¯èœæ§ããããŸãã èŠå 2ïŒå
端ã®åŸ®å°ãªåäœãåŠç¿äžè¶³ ä»åã°ãªãããŒã®æ²»å
·ã§å
端ãå»¶é·ããŠãããããããããã®åé¢ç¯ã®è§åºŠå€åãå
端éšã§ã¯å€§ããªäœçœ®ããã«ã€ãªããããããªããŸããä»åã®æ§æã§ã¯VLAã¯åé¢ç¯è§åºŠãåºåããŠããããã¿ã³ãæŒãã»ã©ã®æ£ç¢ºãªå
端ã®äœçœ®å¶åŸ¡ãåçŸããã»ã©ã«ã¯åŠç¿ã§ããŠããªããšèããããŸãã å®çšåãèãããšããããã課é¡ãVLAã®åŠç¿ã ãã§è§£æ±ºããããšããããããIoTãã¿ã³ãªã©ã®å€éšæ©åšãå¥ã·ã¹ãã ãšã®é£æºã«ãã£ãŠã確å®ã«æäœã§ããä»çµã¿ãåãå
¥ããããšãæå¹ã ãšæããŠããŸãã 5.ããã³ããã®åãæ¿ããããã¢ãã«ã®åãæ¿ããžæ¹é転æ ããšããšãã®æ€èšŒãå§ããéã¯ãµãã¿ã¹ã¯å¥ã«å
¥åããã³ããã¯åããã1ã€ã®ã¢ãã«ã«å
šãŠã®ãµãã¿ã¹ã¯ã®ããŒã¿ã§åŠç¿ãããããã³ããã§å®è¡ãããµãã¿ã¹ã¯ãåãæ¿ããããšãæ³å®ããŠããŸããã ãããå®éãã£ãŠã¿ããš2ã€3ã€ã®ãµãã¿ã¹ã¯ã§ã1ã€ã®ã¢ãã«ã«ãŸãšããŠåŠç¿ãããšãããã³ãããåãæ¿ããŠãã»ãšãã©ã®ã¿ã¹ã¯ãæåããªãã¢ãã«ãšãªã£ãŠããŸãçµæã§ãããå
·äœçã«ã¯ããã³ããã®åãæ¿ããŠãé¢ä¿ãªããµãã¿ã¹ã¯ã®åäœãããŠããŸã£ãããåãµãã¿ã¹ã¯ã«è¿ãåäœã¯ãããã®ã®å
šãæåãããããªåãã«ãªããªããªã©ã§ãã ããã³ããèšèšã«ããåãæ¿ããããå¯èœæ§ãèããããŸããããããã§ã¯æ¹é転æããµãã¿ã¹ã¯ããšã«ã¢ãã«èªäœãå¥ã«äœã圢ãšããŸããã çµæãšããŠåè¿°ã®éãã§å€ãã®ãµãã¿ã¹ã¯ã§æåããã¢ãã«ãäœãããšãã§ããŸããïŒ ãããã¢ãã«èªäœãåãæ¿ããå Žåãã¢ãã«ã®åãæ¿ãæã«VRAMèªã¿èŸŒã¿çã§é·ãæéããããããšããæ¥åå©çšãæ³å®ãããšèª²é¡ãšããŠæ®ããŸãã ãã®èª²é¡ã®åé¿çãæ€èšãã倧ããVRAMãž2ã€ã®ã¢ãã«ãåæã«èªã¿èŸŒãŸãå®è¡ããã¢ãã«ãé æ¬¡åãæ¿ããå®è¡çµäºããã¢ãã«ã¯ç Žæ£ã»ã»ãšããããšãç¹°ãè¿ãããšã§å³åº§ã«ã¢ãã«åãæ¿ããåœ¢ãæ§ç¯ããŸããã Ï0.5ã¯å®è¡æã«1ã€ã®ã¢ãã«ã§10GBçšåºŠVRAMãæ¶è²»ããŸããä»åã®å®è¡ç°å¢ã§ã¯VRAMã32GBããRTX5090ã§ã¯ã2ã€ã®ãã«ã®åæå±éãåé¡ãªãå®çŸã§ããŠãŸãã 以äžãæåã®4ã€ã®ãµãã¿ã¹ã¯ã®ã¢ãã«ãé æ¬¡åãæ¿ããŠå®è¡ããŠããæ§åã§ãã 6.ãŸãšã ä»åã®å®èšŒã§ã¯ãLeRobotãšåè
ã®xArm7ã§ç¬èªã®ããããåºç€ã¢ãã«æ€èšŒã·ã¹ãã ãæ§ç¯ããÏ0.5ã«ãã察象ç©ãžã®æ±åããã©ãã顿ãšãããã³ã°ã¿ã¹ã¯ãžã®é©å¿ãæ€èšŒããŸããã é·ãã¿ã¹ã¯ã§ããµãã¿ã¹ã¯ã«åè§£ããããããå°çšã¢ãã«ãšããŠåŠç¿ããããšã§ãµãã¿ã¹ã¯ãå®çŸã§ããããšããŸããããã®å°çšã¢ãã«ãé æ¬¡åãæ¿ããæ§æã«ããé£ç¶å®è¡ã§ããããšã確èªã§ããŸããã äžæ¹ã§çŸå Žå°å
¥ãæ³å®ãããšäœçœ®ãªã©ã®æ¡ä»¶ã«å¯Ÿããæ±åæ§ã粟床ãé«ããããšãå¿
èŠã§ããã®ããã«ã¯ãã¯ã倧éã®ããŒã¿åéããã®ããã®å¹ççãªããŒã¿ååŸãããŒã¿ç®¡çã»éçšãéèŠãšãªããŸãã ä»åã®æ€èšŒã§ã¯æ±ãããŒã¿ãåŠç¿æžã¿ã¢ãã«ã®å®¹éãèšå€§ã«ãªããŸãããããŒã¿ã®ç®¡çãåŠç¿ç°å¢ãªã©ã®ã€ã³ãã©æŽåããã®ããã®ã¯ã©ãŠãè²»çšã課é¡ãšãªããã ããŒã¿åéãã管çã»åŠç¿ã»å®æ©è©äŸ¡ãŸã§ããè²»çšãå«ããŠå¹çããåããç°å¢ã¥ãããéèŠ ã ãšæããŠããŸãã ãŸãä»åã¯ç²Ÿç·»ãªæäœã®ããã«Gelloã䜿ããŸãããã1æ¬ã®ã¢ãŒã ã现ããåããã«ã¯äž¡æãå¿
èŠã§ãåè
ã®ããŒã¿åéã¯2人å¿
èŠã§åããåãããŠè¡ãå¿
èŠããããŸãããä»åŸã¯UMIãªã©ã®æäœã€ã³ã¿ãŒãã§ãŒã¹ãæ€èšããããŒã¿å質ãšåéå¹çãäž¡ç«ã§ããæ¹æ³ãæ¢ã£ãŠãããããšèããŠããŸãã 7.æåŸã« 詊è¡é¯èª€ãããŠããéã«ããæè¡ã¯å€§ããå€åããŠããŸãã Generalistã®GEN-1.5 ã®ããã« å°æ°ã®ææ¬ã§ã¿ã¹ã¯ã«å¯Ÿå¿ããã¯ã³ã·ã§ããã»ãã¥ãŒã·ã§ããåŠç¿ã®ææãç»å ŽããŠããŸãã ãŸããAstraã®ãããªææ°LLMã§è¿œå åŠç¿ãè¡ããã«ãããããå¶åŸ¡ããã·ãã¥ã¬ãŒã·ã§ã³ã§ã¯äžå®ã®æåçãåºãå ±åãããããªã©ããã®æ°ã¶æã¯ãã£ãžã«ã«AIã«ããã倧ããªæè¡é²åãšãé²åã¹ããŒããããæ©ãåºããªã£ãŠããŠãããšæããŸãã æ°ããæè¡ã®å¯èœæ§ãå«ããèªåãã¡ã®ç°å¢ã§å®éã«åãããŠç¢ºããããã®éçšã§åºæ¥ãããšãåºæ¥ãªãããšãèŠæ¥µããããšãéèŠã ãšèããŠãããã€ãã©ãã§ã¯åŒãç¶ããã£ãžã«ã«AIã®ç€ŸäŒå®è£
ãç®æããç ç©¶éçºãé²ããŠãããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @okuno_takahiro ã @miyazawa.hibiki ã¬ãã¥ãŒïŒ @azeta.takuya ïŒ Shodo ã§å·çãããŸãã ïŒ
1.ã¯ããã« 2.Ï0.5ãšã¯ïŒ Physical IntelligenceãéçºããVLA é«ã¬ãã«å€æãšäœã¬ãã«å¶åŸ¡ 3.ä»åã®æ€èšŒç°å¢ 4.ä»åã®æ€èšŒæŠèŠ èšå®ããã¿ã¹ã¯ 5.æ€èšŒçµæ æ€èšŒâ ïŒSmolVLAãšÏ0.5ã®æ¯èŒçµæ æ€èšŒâ¡ïŒÏ0.5ã®ãã«ãã¥ãŒãã³ã°ãšVLMããªãŒãºã®éã æ€èšŒâ¢ïŒÏ0.5ã®ãã¥ãŒãã³ã°Stepæ°ã«ããéã 6.çªå€ç·šïŒLeRobotããŒãžã§ã³éãã«ããããã£ãããš 7.ãŸãšã 1.ã¯ããã« ããã«ã¡ã¯ãOpenInnovationã©ãã®å¥¥éæ£å¯ã§ãã ååã®èšäº ã§ã¯ãHugging Faceã®LeRobotãšSO-ARM101ãçµã¿åãããç°å¢ã§ã軜éãªVLAã¢ãã«ã§ããSmolVLAãæ€èšŒããŸãããSmolVLAã¯ããçšåºŠã®ããŒã¿éã§åäžã¿ã¹ã¯ã®æåçã8å²ä»¥äžãšã§ãããã1ã€ã®ã¢ãã«ã§ããã³ãããåãæ¿ããŠè€æ°ã¿ã¹ã¯ãããããå®è¡ã§ããããšã確èªã§ããŸããã ä»åã¯ãã®ç¶ç·šèšäºãšããŠããã倧ããªVLAã¢ãã«ã§ãã Physical Intelligenceã®Ï0.5 ãåãSO-ARM101ç°å¢ã§æ€èšŒããå
容ã«ã€ããŠç޹ä»ããŸãã ååãšåæ§ã«ã现ããå®è¡ã³ãŒããªã©ã¯èšèŒãããVLAã¢ãã«ã«ããå·®ããã¡ã€ã³ãã¥ãŒãã³ã°ã®ãã©ã¡ãŒã¿ãŒå€æŽã§äœãå€ããã®ããå®éã«åãããŠã¿ãŠã©ããªèª²é¡ãããã®ããäžå¿ã«ãäŒãããããšæããŸãã ãªãä»åãã Hugging Faceã®LeRobotã䜿ã£ãŠã¢ãã«åŠç¿ããããããå¶åŸ¡å®è¡ãŸã§ ãè¡ã£ãŠããŸãã ãã ãåŸè¿°ãããšãããÏ0.5ã®è«æã§ç޹ä»ãããŠããé«ã¬ãã«ã®ãµãã¿ã¹ã¯çææ©èœã¯Physical IntelligenceãLerobotããå
¬éãããŠããã³ãŒãã«å«ãŸããŠãŸããã ãã®ããæ¬èšäºã§ã¯LeRobotã§æäŸãããŠããÏ0.5ç³»ã®å®è£
ã䜿ã£ãŠãç»åãã¿ã¹ã¯æç€ºããããããã®ã¢ã¯ã·ã§ã³çæããéšåãäžå¿ã«æ€èšŒããŠããŸãã 2.Ï0.5ãšã¯ïŒ Physical IntelligenceãéçºããVLA Ï0.5ã¯ãPhysical Intelligenceãçºè¡šããVLAïŒVision Language ActionïŒã¢ãã«ã§ãã ååã®èšäºã§æ±ã£ãSmolVLAãšåãããç»åãšããã¹ãããããããã®ã¢ã¯ã·ã§ã³ãåºåããã¢ãã«ã§ãããÏ0.5ã¯ããåºãç°å¢ãžã®æ±åã匷ãæèããã¢ãã«ãšããŠç޹ä»ãããŠããŸãã å
¬åŒããã°ã§ã¯ãå®¶åºå
ã®çä»ãããããã¡ã€ãã³ã°ã®ããã«ãç°å¢ããšã«ç©äœã®äœçœ®ãçš®é¡ã倧ããå€ããã¿ã¹ã¯ã§ã®æ€èšŒã瀺ãããŠããŸãããããããçŸå®äžçã§äœ¿ãããããã«ã¯ã決ãŸã£ãå·¥å Žã©ã€ã³ã®ãããªç°å¢ã ãã§ãªããæ¯åç¶æ³ãå€ããç°å¢ã§ãåããå¿
èŠããããŸãã Ï0.5ã¯ãã®ãããªæ°ããç°å¢ã§æŽ»çšã§ããããšãç®æããVLAãšãããŠããŸãã ãªãPhysical Intelligenceããã¯Ï0.5ã®åŸç¶ã®Ï0.6ãÏ0.7ãçºè¡šãããŠããŸãããæ¬èšäºå·çæç¹ã§å
¬éãããŠããã¢ãã«ã¯Ï0.5ãŸã§ãšãªã£ãŠããŸãã é«ã¬ãã«å€æãšäœã¬ãã«å¶åŸ¡ Ï0.5ã®ç¹åŸŽãšããŠãåã«äœã¬ãã«ã®ã¢ãŒã¿ãŒæä»€ãåºãã ãã§ãªããã¿ã¹ã¯ãé²ããããã®é«ã¬ãã«ãªæ¬¡ã®è¡åãèšèªçã«æšè«ãããã®ããã§äœã¬ãã«ã®ããããã¢ã¯ã·ã§ã³ãåºåããæ§æã§ãã äŸãã°ããããã³ãçä»ããããšãã倧ããªæç€ºã«å¯ŸããŠããç¿ãã·ã³ã¯ãžéã¶ããã¹ãã³ãžã§æãããšãã£ããµãã¿ã¹ã¯ãæšè«ããããããããããã®é¢ç¯åäœã«èœãšã蟌ãïŒæ®µéã®èãæ¹ã§ãã ãã ãPhysical Intelligenceããå
¬éãããŠããã³ãŒãããä»åã®å®èšŒã§äœ¿çšãã Lerobotçã®Ï0.5ã§ã¯ãµãã¿ã¹ã¯èšç»ã®çæã¯å«ãŸããŠããŸãããç»åãã¿ã¹ã¯æç€ºãVLMã§åŠçãããã®æ
å ±ããAction Expertãããããã®ã¢ã¯ã·ã§ã³ãçæããæ§æãšãªã£ãŠããŸãã ãã®ãããæ¬èšäºã§ã®æ€èšŒããè«æã§ç޹ä»ãããŠããé«ã¬ãã«ã®ãµãã¿ã¹ã¯çæãå«ããã®ã§ã¯ãªããäžããããã¿ã¹ã¯æç€ºã«åºã¥ãã¢ã¯ã·ã§ã³çæã察象ãšããŠããŸãã 3.ä»åã®æ€èšŒç°å¢ ãããããšå®æœç°å¢ã¯ååèšäºãšåãã§ãã ãã£ãžã«ã«AIã®å®åã¯ïŒSO-ARM101ã§SmolVLAãæ€èšŒããŠã¿ã . ãã ãÏ0.5ã®ãã¡ã€ã³ãã¥ãŒãã³ã°ã¯RTX5090ã ãšã¹ããã¯äžè¶³ã§ãããããAzureäžã«H100ã®ã€ã³ã¹ã¿ã³ã¹ãæ§ç¯ããŠå®æœããŠãããŸãããŸãåè¿°ã®éãä»åã®æ€èšŒã§ã¯Ï0.5ã®è«æã§èª¬æãããŠãããããªãé«ã¬ãã«ãªãµãã¿ã¹ã¯æšè«ãé·æéã®å®¶åºå
ã¿ã¹ã¯å®è¡ãšãã£ãèŠçŽ ã¯ãªãããããŸã§ã·ã³ãã«ãªããã¯ïŒãã¬ã€ã¹ãLeRobotã§å®è¡å¯èœãªç¯å²ã§è¡ã£ãÏ0.5ã®æ€èšŒãšãªããŸãã 4.ä»åã®æ€èšŒæŠèŠ ä»åã®æ€èšŒã¯3ãã¿ãŒã³ã§å®æœããŸããã ååã®SmolVLAæ€èšŒã§èŠãã課é¡ãèžãŸããã¢ãã«ã«ããå·®ç°ãšããã¥ãŒãã³ã°æ¹æ³ã«ãã£ãŠã©ã®ãããªå·®ãåºãã®ãã確èªããŸããã æ€èšŒâ ïŒ SmolVLAãšÏ0.5ã®éãã確èªãã æ€èšŒâ¡ ïŒ Ï0.5ã®ãã«ãã¥ãŒãã³ã°ãšãVLMããªãŒãºã®éãã確èªãã æ€èšŒâ¢ ïŒ Ï0.5ã®ãã¥ãŒãã³ã°Stepæ°ã«ããéãã確èªãã èšå®ããã¿ã¹ã¯ ã¿ã¹ã¯ã¯ååãšåãããã¢ã€ãã ãé»è²ã®ã«ãŽã«å
¥ããããã¯&ãã¬ã€ã¹ã§ãã åŠç¿ããŒã¿ååŸæã¯ãåã¢ã€ãã ã®åæäœçœ®ãããçšåºŠåºå®ãã€ã€ãäœçœ®ãããã®æ¡ä»¶ãå ããŸããã å
šãŠã®ã¢ãã«ã«ãããŠ4çš®ã®ã¢ã€ãã ããããã«ã€ããŠå®æœããããŒã¿ãå
šãŠå«ãã ããŒã¿ã»ããã§ã¢ãã«ããã¡ã€ã³ãã¥ãŒãã³ã°ããŠãŸããïŒè±æãã¢ãã«ãžã®å
¥åããã³ããïŒ çŽ«è²ã®ããŒã«ïŒPick up only purple ball and put in yellow basket é»è²ã®ããŒã«ïŒPick up only yellow ball and put in yellow basket èµ€è²ã®ãã¥ãŒãïŒPick up only red cube and put it in the basket éè²ã®ãã¥ãŒãïŒPick up only blue cube and put in yellow basket ãŸãæ€èšŒæã«ã¯åŠç¿ããŒã¿ã«å«ãŸãªãç·ãã¥ãŒããšçŽ«ãã¥ãŒãã®ããã³ããã§å®è¡ããããšã§ãè²ã«å¯Ÿããæ±åæ§ãæ€èšŒããŸããã 5.æ€èšŒçµæ æ€èšŒâ ïŒSmolVLAãšÏ0.5ã®æ¯èŒçµæ 以äžã¯SmolVLAãšÏ0.5ã§ãæç€ºæãšçœ®ããäœçœ®ã®çµã¿åãããå€ãããšãã®çµæã§ãã æç€ºæãã¢ãã«å®è¡æã«ããã³ããã§æç€ºããã¢ã€ãã ãåã«èšèŒã®ã¢ã€ãã ãåŠç¿ããŒã¿ã§çœ®ãããŠããäœçœ®ã«çœ®ããç¶æ
ã§å®è¡ãã10å宿œããŠæåããåæ°ãèšé²ããŠãŸãã SmolVLAã¯ãåŠç¿æã«æ³å®ããçµã¿åããã§ã¯æ¯èŒçé«ã粟床ã§åããŸããã äžæ¹ã§ã眮ããäœçœ®ãå€ããå Žåããæç€ºæãšç©äœäœçœ®ã®é¢ä¿ãå€ããæ¡ä»¶ã§ã¯ãã»ãšãã©æåããªãçµæã§æ±åæ§ãäœãããšãåãããŸãã Ï0.5ã§ã¯çŽ«ããŒã«ãé»è²ããŒã«ã®äœçœ®ã«çœ®ããªã©ãæå®ããã¢ã€ãã ãåŠç¿æãšéãäœçœ®ã§ãé«ãæåçãšãªãã±ãŒã¹ããããŸããã ãŸãåŠç¿ããŒã¿ã«ãªã玫ãã¥ãŒããç·ãã¥ãŒãã«å¯ŸããŠãæåããã±ãŒã¹ããããÏ0.5ã¯SmolVLAãããæ±åæ§ãèŠããçµæã§ããã æ€èšŒâ¡ïŒÏ0.5ã®ãã«ãã¥ãŒãã³ã°ãšVLMããªãŒãºã®éã Ï0.5ã®ãã¡ã€ã³ãã¥ãŒãã³ã°ã«ãããŠã¢ãã«å
šäœããã¥ãŒãã³ã°ããæ¹æ³ãšãVLMéšåãããªãŒãºããŠãã¥ãŒãã³ã°ããæ¹æ³ãæ¯èŒããŸããã VLMéšåãããªãŒãºããããšã§ãåŠç¿å¯Ÿè±¡ã®ãã©ã¡ãŒã¿ãŒãæžããGPUã¡ã¢ãªäœ¿çšéãåŠç¿æéã§ã®å¹çåãæåŸ
ã§ããŸãã åŠç¿æã®Stepæ°ã¯å
šãŠ30kãšåºå®ããŠæ¯èŒããŠããŸãã ç²ŸåºŠã®æ¯èŒçµæ å·Šã®ãã«ãã¥ãŒãã³ã°ã®çµæã«å¯ŸããŠãå³ã®VLMããªãŒãºã®çµæã§ã¯çŽ«ããŒã«ãé€ã粟床ãåå以äžã«ãªããŸããã ãã«ãã¥ãŒãã³ã°ãšVLMããªãŒãºæã®GPUã¡ã¢ãªäœ¿çšéã®æ¯èŒ VLMããªãŒãºã«ããVRAM䜿çšéã1/3匱ãŸã§æããããŠãŸãã åŠç¿æã®åŠç¿æ²ç·ã®æ¯èŒ lossã®æšç§»ãèŠããšãVLMããªãŒãºã§ãåŠç¿èªäœã¯é²ãã§ããŸããç·è²ã®ãã«ãã¥ãŒãã³ã°ã«å¯ŸããŠã玫è²ã®VLMããªãŒãºã¯30kã®stepã§ã¯lossãäžãããã£ãŠããªãããã«èŠããŸãã ã¢ã¯ã·ã§ã³ã«é¢ä¿ãªãVLMå±€ã§ããã°å€§ããªåœ±é¿ããªãããšãæåŸ
ããŸããããä»åã®æ€èšŒã«ãããŠã¯çµæãšããŠVLMããªãŒãºã«ããåŠç¿æã®VRAMã®äœ¿çšéã¯å€§ããäžããããããã¿ã¹ã¯å®è¡ç²ŸåºŠã¯åæžçšåºŠãŸã§äœäžãšãªããŸãããVLMå±€ã®åŠç¿ãã¢ãã«å®è¡ç²ŸåºŠãžã®åœ±é¿ã倧ãããšèšããçµæãšãªããŸããã ãã ãæ¯åÏ0.5ããã«ãã¥ãŒãã³ã°ããã«ã¯å¿
èŠãªGPUåºç€ã®ã³ã¹ããé«ããããã³ã¹ãè¯ãããçãèããããšããã§ãã äŸãã°äžå®ã®ãã«ãã¥ãŒãã³ã°åŸã®ã¢ãã«ã«ã€ããŠã¯VLMããªãŒãºã®ãã¡ã€ã³ãã¥ãŒãã³ã°ã®ã¿è¡ããšãã£ãæ¹æ³ãæ€èšŒã®äœå°ããããšèããŠãŸãã æ€èšŒâ¢ïŒÏ0.5ã®ãã¥ãŒãã³ã°Stepæ°ã«ããéã æåŸã«Ï0.5ã®ãã¥ãŒãã³ã°Stepæ°ã30kãã90kã«å¢ãããå Žåã®å®æ©åäœãæ¯èŒããŸããã VLAã®åŠç¿ã§ã¯ãlossãäžãã£ãŠãããããšãã£ãŠå¿
ããã宿©ã®åäœç²ŸåºŠãäžãããšã¯éããŸããã ããã§ä»åã¯ãåŠç¿éäžã®ã¢ãã«ã䜿ããªãããStepæ°ã«ãã£ãŠå®æ©åäœãã©ã®ããã«å€ãããã確èªããŸããã åŠç¿æžã¿ã®ç©äœã»é
眮ã§ã¯30kæç¹ã§æ¢ã«é«ãæåçã瀺ããŠããã90kã§ã倧ããªå€åã¯ãããŸããã§ããã äžæ¹ãåŠç¿æãšç°ãªãç©äœé
çœ®ãæªåŠç¿ã®ç·ãã¥ãŒãã«å¯ŸããŠã¯90kã§æåçãåäžããŠãããäžå®ã®æ±åæ§èœã®æ¹åãèŠãããŸãããããã¯ãåŠç¿æžã¿ã®åäœãã¿ãŒã³ãæªåŠç¿ç©äœãžé©çšããèœåãæ¹åããå¯èœæ§ã瀺ããŠããŸãã äžæ¹ãæªåŠç¿ã®çŽ«ãã¥ãŒããæå®ããå Žåãäžéšã®é
眮ã§ãããããåäœããªããªãçŸè±¡ãèŠãããŸããã Stepæ°ã®å¢å ã¯æ±åæ§èœãäžæ§ã«æ¹åããããã§ã¯ãªããç©äœã»é
眮ã»èšèªæç€ºã®çµã¿åããã«ãã£ãŠæåãå€åããããšãåãããŸãã ä»åã®çµæã§ã¯ã30kæç¹ã§åºæ¬ã¿ã¹ã¯ã®æåçã飜åããŠãããããstepæ°å¢å ã®å¹æã¯äž»ã«äœçœ®æ¡ä»¶ã®æ±åæ§ã§è©äŸ¡ããŸããã éã«ããå°ãªãstepæ°ã§ãã¿ã¹ã¯ç²ŸåºŠãåºããå¯èœæ§ããããåŠç¿ã³ã¹ããæžããããã«ãã¿ã¹ã¯ã®æåçãšæªåŠç¿æ¡ä»¶ãžã®æ±åæ§èœãäž¡ç«ã§ããStepæ°ãèŠæ¥µããéèŠã ãšæããŸãã 6.çªå€ç·šïŒLeRobotããŒãžã§ã³éãã«ããããã£ãããš ä»åã®æ€èšŒã§æãããã£ãã®ããLeRobotã®ããŒãžã§ã³éãã«ããã¢ã¯ã·ã§ã³å€ã®æ±ãã§ãã ããŒã¿ååŸæã¯LeRobot v0.4.1ããã¡ã€ã³ãã¥ãŒãã³ã°ãšå®è¡æã¯LeRobot v0.5.1ã䜿ããŸããã ããŒã¿ååŸæã®ç°å¢ã§ã¯ãããŒã¿ã»ããäžã®ã¢ã¯ã·ã§ã³ã¯åã¢ãŒã¿ãŒã®ãã£ãªãã¬ãŒã·ã§ã³ç¯å²ã«å¯Ÿããç§»åéã®ïŒ
ãšããŠæ±ãããŠããŸãããäžæ¹ã§ãLeRobot v0.5.1ã®å®è¡ç°å¢ã§ã¯ãããã©ã«ãã§VLAã®åºåãè§åºŠå€ãšããŠæ±ãæåã«ãªã£ãŠããŸããã ãã®éãã«ãããã¢ãã«èªäœã¯ããçšåºŠãããããã¢ã¯ã·ã§ã³ãåºããŠããã«ããããããã宿©åŽã§ã¯æå³ããè§åºŠã»ç§»åéãšãããŠããŸãã粟床ã倧ããèœã¡ãç¶æ
ã«ãªã£ãŠããŸããã åä»ã ã£ãã®ã¯ã ããã§ãäœçœ®ã«ãã£ãŠã¯ããçšåºŠæŽããŠããŸã£ãããš ã§ãã å®å
šã«åããªãã®ã§ããã°èšå®ãã¹ãçããããã®ã§ãããä»åã¯ãäžéšã®æ¡ä»¶ã§ã¯æŽããããå
šäœãšããŠç²ŸåºŠãäœãããšããèŠãæ¹ã§ããããã®ãããæåã¯ãã¡ã€ã³ãã¥ãŒãã³ã°ã®ãã¹ãããŒã¿ååŸãã¹ãããŒã¿éäžè¶³ããããªã©è²ã
ãšèããç¡é§ãªæ€èšŒãå€ã宿œããŠããŸãããšãšãªããŸããã ä»åã®æèšãšããŠLerobotã¯ããŒãžã§ã³å€æŽã«ãã现ãã仿§ãå€ããããšãªã©ããããããèšèšã®çè§£ãã³ãŒãèªäœã®ç¢ºèªãæ¹ããŠéèŠã§ããããšãèªèããŸããã 7.ãŸãšã ä»åã®æ€èšŒã§ã¯ãSO-ARM101ãšLeRobotç°å¢ã§Ï0.5ãåãããSmolVLAãšã®æ¯èŒãããã¡ã€ã³ãã¥ãŒãã³ã°ã®æ¡ä»¶ã«ããéãã確èªããŸããã Ï0.5ã§ã¯SmolVLAãããç©äœã®äœçœ®å€åãåŠç¿ããŒã¿ã«ãªãè²ãžã®å¯Ÿå¿ã«æ±åã®å
ããèŠãããVLAã¢ãã«ã®é²åãæããçµæãšãªããŸãããäžæ¹ã§ãVLMããªãŒãºãåŠç¿Stepæ°ã®å€æŽã宿©ã®åäœã«äžãã圱é¿ã¯äžæ§ã§ã¯ãªããã¢ãã«ã®å€§ãããåŠç¿éã ãã§ã¯å€æã§ããªãé£ããããããŸããã æ¹ããŠæããã®ã¯ãVLAã¯å®æ©ã§åãããŠã¿ãªããšåãããªãããšãå€ãæè¡é åã ãšããããšã§ãã ç¹ã«ä»åã®LeRobotã®ããŒãžã§ã³éãã®ããã«ãèšå®ã«åé¡ããã£ãŠãããªããšãªãåããŠããŸããããšãããããããããã£ãŠåå ã®åãåããé£ããããŸããããŸãåããªãçç±ãã¢ãã«ã«ããã®ããããŒã¿ã«ããã®ããå¶åŸ¡ç°å¢ã«ããã®ãã¯ãåŠç¿æã®åŠç¿æ²ç·ã§ã¯åãåããããªãããšãå€ãã§ãã ããŒã¿ã»ããã»ã¢ãã«ã»å¶åŸ¡å®è¡ç°å¢ãäžäœã§ç¢ºèªããªããã宿©ã®æ¯ãèããã仮説ãç«ãŠãŠåæ€èšŒãç¹°ãè¿ãããšãæ±ããããŸãã倧å€ã§ã¯ãããŸããããããã£ãæ³¥èãããã£ãžã«ã«AIã®é¢çœãã§ããããšæããŠããŸãã ãŸãã Skild AIã®S1 ã Generalistã®GEN-1.5 ãªã©ã1åããå°æ°ã®ææ¬ã§ã¿ã¹ã¯ã«å¯Ÿå¿ãããã¯ã³ã·ã§ããã»ãã¥ãŒã·ã§ããåŠç¿ã®ææãçºè¡šãããŠããŸãã åºç€ã¢ãã«ã®äºååŠç¿ã«ã¯åŒãç¶ã倧éã®ããŒã¿ãéèŠã§ãããå©çšããåŽãã¿ã¹ã¯ããšã«ããŒã¿ãéãããã¡ã€ã³ãã¥ãŒãã³ã°ãç¹°ãè¿ããšããåãçµã¿æ¹ã¯å€ãã£ãŠãããããããŸãããä»åã®ããã«ã¿ã¹ã¯ããšã«ããŒã¿ãåéããŠãã¡ã€ã³ãã¥ãŒãã³ã°ããçŸåšã®ã¢ãããŒããããå°æ°ã®ææ¬ã§çŽ æ©ãçŸå Žã«é©å¿ã§ããæ¹åãžãVLAã®å®çšåãé²ãããšãæåŸ
ããŠããŸãã ã€ãã©ãã§ã¯ãä»åã®ãããªå°åã¢ãŒã ã§ã®æ€èšŒã«å ããŠãåè
åã®ååãããããå°å
¥ããããæ¬æ ŒçãªVLAå®èšŒãé²ããŠããŸãã ä»åŸãããããæè¡ã®é²åã远ããªãããèªåãã¡ã®ç°å¢ã§å®éã«åããããã®å¯èœæ§ãšèª²é¡ã確ãããŠãããããšæããŸãã åŒãç¶ãã宿©ã§è©Šããããããåãã£ãããšãçºä¿¡ããŠãããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @okuno_takahiro ã¬ãã¥ãŒïŒ @azeta.takuya ïŒ Shodo ã§å·çãããŸãã ïŒ
XIæ¬éšAIDCæå±ã®äœè€ã§ã æ¬èšäºã¯ä»¥äžã®å
容ããŸãšããŠããŸã FastAPIã®èŠçŽ æè¡ã§ããã€ãã³ãã«ãŒãæ¹åŒã®çè§£ éåæé¢æ°å
ã§åæé¢æ°ãå®çŸ©ããããšã«ããé害çºçèšé² åæãéåæã«ãããšãã®èãæ¹ ç§ã¯ããããã€ãã³ãã«ãŒãæ¹åŒã§ã®ãªã¯ãšã¹ãåŠçãšã¹ã¬ããããŒã¹æ¹åŒã®éãã«ã€ããŠãæ£ç¢ºã«çè§£ã§ããŠããªãã£ãã®ã§èªåã®ã€ã³ããããšå¿çšããèšé²ãæ®ãããšæãæ¬èšäºãæžããŠããŸã ã€ãã³ãã«ãŒãæ¹åŒãšã¯äœã åŸæ¥ã¯ããã»ã¹/ã¹ã¬ããããªã¯ãšã¹ãã«å¯ŸããŠå²ãåœãŠããããã®ãªã¯ãšã¹ããå®äºãããŸã§ãã®ããã»ã¹/ã¹ã¬ããã¯å æããç¶ãããšããæ¹åŒãäžè¬çã§ãã äŸãšããŠåºå¡ãšå®¢ã§ç€ºããšä»¥äžã®ãããªç»åã®ã€ã¡ãŒãžã§ã ãã®æ¹åŒã§ã¯å®¢ïŒãªã¯ãšã¹ãïŒãå¢ããéã«åºå¡ïŒããã»ã¹/ã¹ã¬ããïŒãå¢ããŠåºïŒãµãŒããŒïŒãéçã«éããŸã ãã®åé¡ã C10kåé¡ ãšãããŸã OSã®å¶çŽã«ãã2 15 -1以äžã®ããã»ã¹çæãåºæ¥ãªããªããæ°èŠæ¥ç¶ãåŸ
ã€ããšã«ãªãåé¡ã§ã ãããè§£æ¶ããããã«ã¡ã€ã³ã®åºå¡ïŒã¹ã¬ããïŒã ãã§å®¢ïŒãªã¯ãšã¹ãïŒã®æ³šæã ããåã£ãŠéåæã§åŠçããã®ãã€ãã³ãã«ãŒãã§ã ãã®ã€ãã³ãã«ãŒãã§ã¯å®¢ïŒãªã¯ãšã¹ãïŒã®æ³šæãåã£ããæºåãã§ãããŸã§ä»ã®å®¢ã®æ³šæãåããŸã ãã®åºå¡ïŒã¹ã¬ããïŒã¯ãšã«ããæ³šæãåãããšã«éäžã§ããããã«ãªããŸã â»å³å¯ã«ã¯æ³šæãšãã®åšèŸºã®éBlockingãªé²è¡ ãããæ³šæã®åŠçã¯ã©ãããã®ããšããããšã§ãããããã¯åºå¡ãæ°ã«ããªããŠããããã¯ã€ãŒãïŒOSïŒã«ç§»è²ãããŸã äŸãã°å€éšãªã¯ãšã¹ããããŠãããšãããšãã®ãœã±ãããç£èŠããã¿ã¹ã¯ãOSã«å§ããŸã ãã®ãœã±ãããä»èªããç¶æ
ã«ãªã£ããšããOSã®éç¥ã§å床åºå¡ïŒã¹ã¬ããïŒã客ïŒãªã¯ãšã¹ãïŒã«ååïŒã¬ã¹ãã³ã¹ïŒãè¿ãããšãã§ããŸã ã³ã©ã ïŒå°ããã€ãã³ãã«ãŒãã®å®è£
ïŒ äžèšã®PythonïŒmini_epoll_loop.pyïŒã Python3 mini_epoll_loop.pyã§å®è¡ããŸããïŒLinuxç°å¢ïŒ #!/usr/bin/env python3 from __future__ import annotations import select import socket HOST = "127.0.0.1" PORT = 8765 def main() -> None: # --- 1. åä»çšãœã±ãããäœãïŒlisten socketïŒ--- server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind((HOST, PORT)) server.listen(16) # ããããã³ã°çŠæ¢: accept / recv ãæ¥ããŸã§ã¹ã¬ãããåºããªã server.setblocking(False) server_fd = server.fileno() print(f"[boot] listen on {HOST}:{PORT}") print(f"[boot] server socket ã® fd = {server_fd}") # --- 2. epoll ã€ã³ã¹ã¿ã³ã¹ãäœãïŒç£èŠä¿ïŒ--- epoll = select.epoll() # åä»ãœã±ããã¯ãæ¥ç¶ãæ¥ããèªãããæ±ããªã®ã§ EPOLLIN ãç£èŠ epoll.register(server_fd, select.EPOLLIN) # fd â socket ãªããžã§ã¯ãã®å¯Ÿå¿è¡šïŒçªå·ããå®äœã蟿ãããïŒ fd_to_socket: dict[int, socket.socket] = {server_fd: server} # ã¯ã©ã€ã¢ã³ãããšã«ããŸã éããããŠããªãè¿ä¿¡ããæºãã pending_out: dict[int, bytes] = {} print("[loop] epoll åŸ
ã¡åãéå§ïŒCtrl+C ã§çµäºïŒ") try: while True: # --- 3. ã€ãã³ããæ¥ããŸã§åŸ
ã€ïŒãããã€ãã³ãã«ãŒãã®å¿èïŒ--- # timeout=-1: äœãèµ·ãããŸã§å¯ããèµ·ããŠãã¹ã¬ããã¯ãç£èŠãã ãããŠã # 忥ç¶ã®åŸ
ã¡ã§åºãŸããªãã events = epoll.poll(timeout=-1) for fd, event in events: sock = fd_to_socket[fd] # --- 4a. åä»ãœã±ããããèªããã= æ°ããæ¥ç¶ãæ¥ã --- if fd == server_fd and event & select.EPOLLIN: client, addr = server.accept() client.setblocking(False) client_fd = client.fileno() fd_to_socket[client_fd] = client pending_out[client_fd] = b"" # ã¯ã©ã€ã¢ã³ãã¯ãããŒã¿ãæ¥ããèªããã ããŸãç»é² epoll.register(client_fd, select.EPOLLIN) print(f"[accept] {addr} â client fd={client_fd}") continue # --- 4b. ã¯ã©ã€ã¢ã³ãããããŒã¿ãå±ãã --- if event & select.EPOLLIN: data = sock.recv(1024) if not data: # çžæãåæ print(f"[close] fd={fd} (peer closed)") epoll.unregister(fd) sock.close() del fd_to_socket[fd] pending_out.pop(fd, None) continue print(f"[recv] fd={fd} {data!r}") # ãšã³ãŒ: åãåã£ãå
容ãè¿ä¿¡ãã¥ãŒãž pending_out[fd] += data # æžã蟌ã¿å¯èœãç£èŠããïŒéä¿¡ãããã¡ã«ç©ºããã§ãããæžãïŒ epoll.modify(fd, select.EPOLLIN | select.EPOLLOUT) # --- 4c. ãœã±ããããæžããã= è¿ä¿¡ãéãã --- if event & select.EPOLLOUT: out = pending_out.get(fd, b"") if out: sent = sock.send(out) pending_out[fd] = out[sent:] print(f"[send] fd={fd} sent={sent} bytes") # éããã£ããæžã蟌ã¿ç£èŠã¯å€ãïŒèªã¿èŸŒã¿ã ãæ®ãïŒ if not pending_out.get(fd): epoll.modify(fd, select.EPOLLIN) # --- 4d. ãšã©ãŒ / åæç³» --- if event & (select.EPOLLERR | select.EPOLLHUP): print(f"[error/hup] fd={fd}") epoll.unregister(fd) sock.close() del fd_to_socket[fd] pending_out.pop(fd, None) except KeyboardInterrupt: print("\n[boot] bye") finally: epoll.unregister(server_fd) epoll.close() server.close() if __name__ == "__main__": main() å
šäœã®æµãã¯4段ã§ãã åä»ãœã±ãããçšæ 8765 çªã§åŸ
ã¡åããsetblocking(False) ã§ãæ¥ç¶ãããŒã¿ãæ¥ããŸã§ã¹ã¬ããããšããªã epoll ã«ç»é²åä»ãœã±ããã® fd ã EPOLLINïŒèªããïŒæ¥ç¶ãæ¥ãïŒã§ç£èŠããäœãèµ·ãããæããŠããš OS ã«é Œã epoll.poll() ã€ãã³ããæ¥ããŸã§åŸ
æ©ãæ¥ãããã©ã® fd ã§äœãèµ·ããããã®ãªã¹ããè¿ããããã§è€æ°æ¥ç¶ããŸãšããŠåŠçããã å°ãããšã³ãŒãµãŒããŒã§ãœã±ããã®ç£èŠãããŠããããšã宿ã§ããŸã å¥ã®ã¿ãŒããã«ã§nc 127.0.0.1 8765ãå®è¡ããå
¥ååŸ
ã¡ã«ãªãã®ã§é©åœãªæåãå
¥åããŠEnterãæŒãã°ä»¥äžã®ãããªè¡šç€ºã«ãªããŸã [boot] listen on 127.0.0.1:8765 [boot] server socket ã® fd = 3 [loop] epoll åŸ
ã¡åãéå§ïŒCtrl+C ã§çµäºïŒ [accept] ('127.0.0.1', 33386) â client fd=5 [recv] fd=5 b'demo1\n' [send] fd=5 sent=6 bytes [recv] fd=5 b'demo2\n' [send] fd=5 sent=6 bytes [recv] fd=5 b'demo3\n' [send] fd=5 sent=6 bytes [recv] fd=5 b'demo4\n' [send] fd=5 sent=6 bytes [recv] fd=5 b'demo5\n' [send] fd=5 sent=6 bytes ãããããã¡ã€ã«ãã£ã¹ã¯ãªãã¿ãèªã¿åã£ãŠèªããç¶æ
ã«ãªããšå¯Ÿå¿ããåŠçãå®è¡ãããŠããããšãåãããŸãã ã€ãã³ãã«ãŒãã§éåæé¢æ°ã®äžã«åæåŠçãæžãããšã«ããé害çºç èŠç¥ããæ«å®å¯Ÿå¿ãŸã§ ããã§ã¯ãã®ã€ãã³ãã«ãŒãã®æ¹åŒã§å®è£
ã®åé¡ã«ãã£ãŠçºçããé害èšé²ã玹ä»ããŸãã èŠç¥ã¯ALBã®5xxãšã©ãŒãå¢å ããŠããããšããã§ãã æ¬¡ã«ECSã®health checkãã¹ã®å€±æã«ããã¿ã¹ã¯ãèœã¡ãŠããããšã確èªããŸããã ãã®æã®health checkãè¿ãããšãã§ããªãåå ããé·ãSSEã®éä¿¡ãåæåŠçã§è¡ã£ãŠããã¡ã€ã³ã®ã¹ã¬ããããããã¯ãããŠããããšã確èªããŸãã æ«å®å¯Ÿå¿ãšããŠFastAPIã®workeræ°ãå¢å ãããworkeræ°åã®ã¿ã¹ã¯ã«å²ãåœãŠãã¹ããã¯ã¢ããã宿œããŸããã â»äœè«ã§ãããworkeræ°ãå¢ããããšã¯å
šãŠã®ã¹ã¬ãããéå¡ããäºè±¡ã®äœäºè±¡ã®ç¢ºçã§ãµãŒãã¹ç¶ç¶ã§ããã ããªã®ã§æ ¹æ¬çãªè§£æ±ºçã«ã¯ãªããŸããããã®æã¯æãã¯ã€ãã¯ã«å¯Ÿå¿å¯èœãªææ®µãšããŠéžæããŸãããäŸãã°health checkã®ãã¹ã«æå°ã®httpãµãŒããŒãå¥ããã»ã¹ç«ãŠããããšã§liveness checkãšããŠã®ãã¹ãå²ãåœãŠå¯Ÿå¿ããããšãéžæè¢ãšããŠèããŠããŸãããããã¯ã¿ã¹ã¯ãçããŠããããšãããŒã¹ã«ãµãŒãã¹ãç¶ç¶ããŸãããFastAPIèªäœãreadyã§ãããã©ããã®æ
å ±ãæãèœã¡ãã®ã§ããã察å¿ãšããŠã¯å®å
šã§ã¯ãªãã§ããã æä¹
å¯Ÿå¿ ãããŸã§ãäžæçãªåé¿ã§ããããæ ¹æ¬åå ã¯é·ãSSEã®éä¿¡ãéåæé¢æ°ã®äžã§åæåŠçãšããŠèšèŒããŠããããšã§ãã ãããè§£æ¶ããæ¹ä¿®ãæä¹
察å¿ãšããŠå®æœããŸããã ãŸãã¯åé¡ã«ãªã£ããã®ãç°¡åã«ããã³ãŒãã®ãµã³ãã«ãèšèŒããŸãã ä»®ã®åæåŠçãããªãã©ã€ãã©ãªã®ãµã³ãã«ãæç€ºããŸãã class LegacyStreamClient: """åæAPIããæäŸããªãã¹ããªãŒãã³ã°ã¯ã©ã€ã¢ã³ã""" def stream(self, prompt: str, chunks: int = 20, interval: float = 0.5) -> Iterator[str]: for i in range(chunks): # äžæµããã®ã¬ã¹ãã³ã¹åŸ
ã¡ïŒããããã³ã°I/OïŒ time.sleep(interval) yield f"{prompt} - chunk {i + 1}/{chunks}" ãã®stream颿°ã¯åæçã«åŠçãè¡ãã©ã€ãã©ãªã®é¢æ°ã ãšèããŠãã ããã async def generate_events(prompt: str) -> AsyncIterator[str]: # NG: async def ã®äžã§ãåæå°çšã©ã€ãã©ãªã®ããããã³ã°åŠçãçŽæ¥åããŠããã for chunk in client.stream(prompt): yield f"data: {chunk}\n\n" yield "data: [DONE]\n\n" @app.get("/stream") async def stream(prompt: str = "hello"): return StreamingResponse(generate_events(prompt), media_type="text/event-stream") ãã®ã³ãŒãã¯éåæé¢æ°ã®äžã§åæåŠçã®stream颿°ãåŒã³åºããŠããŸãã ãããå®éã«åããšä»¥äžã®ããã«ãªããŸãã éåžžI/Oãçºçããéã«ã¯OSã«ç§»è²ã§ããŠããã«ãé¢ãããã1人ã®åŠçãæ³šæïŒéåæåŠçïŒã ãã®ãµããããŠãçšäºïŒåæåŠçïŒãŸã§åä»ã§æžãŸããããšããŠããã€ã¡ãŒãžã§ãã ããã§åŸãã«æ§ããŠããã®ãhealth checkã®åŠçã§ã¬ã¹ãã³ã¹ãè¿ããunhealthyãªã¿ã¹ã¯ãšããŠECSãèœãšããŸããã ãããä¿®æ£ããéã«ã¯ä»¥äžã®ãããªå®è£
ã«åãæ¿ããŸããã def generate_events_sync(prompt: str) -> Iterator[str]: #ãã®é¢æ°ã¯ã¯ãŒã«ãŒã¹ã¬ããã§å®è¡ãã for chunk in client.stream(prompt): yield f"data: {chunk}\n\n" yield "data: [DONE]\n\n" _SENTINEL = object() # ååã§éåæé¢æ°ãäœæ async def generate_events(prompt: str) -> AsyncIterator[str]: it = generate_events_sync(prompt) while True: # generate_events_sync(=it)ãã¹ã¬ããã«éããããŠéåæã«åŠçã§ããããã«ãªã£ãŠãã event = await asyncio.to_thread(next, it, _SENTINEL) if event is _SENTINEL: break yield event @app.get("/stream") async def stream(prompt: str = "hello"): # åŒã³åºãåŽã¯å€æŽãªã return StreamingResponse(generate_events(prompt), media_type="text/event-stream") éåæã®èãã©ãããŒé¢æ°ãå®çŸ©ããŠããã®äžã§åæé¢æ°ãã¹ã¬ããã«éãããŠåŒã³åºãããã«ä¿®æ£ããŸãã ãã®åæé¢æ°ã¯åä»ãšã¯å¥ã®ã¹ã¬ããã§å®è¡ããããããã¡ã€ã³ã®ã€ãã³ãã«ãŒãããããã¯ããããšãªãåŠçãç¶ç¶ããããšãã§ããŸãã éåæã®é¢æ°ã¯ååã§å®çŸ©ããªãããŠããã®ã§ãæ¢åã®ã³ãŒãã«åœ±é¿ãäžããããšãªãå©çšããããšãã§ããŸãã ãã®ä¿®æ£ã«ããæä¹
察å¿ãå®äºããããšãã§ããŸããã åæãéåæã«ãããšãã®èãæ¹ ä»åã¯åæã§ããæžããªãã©ã€ãã©ãªã®äœ¿çšã ã£ããããã¹ã¬ããã«éããåé¿çãæŽ»çšããŸããã åæ§ã®åé¡ã«çŽé¢ããã以äžã®é çªã§èããã®ãããã®ã§ã¯ãªãããšæããŸãã æ¯ãåã éåæå察å¿ã®ææ®µããªããæ¢ããã©ã€ãã©ãªã«ã¯asyncã¯ã©ã€ã¢ã³ããååšããããšãå€ãã 1ããªããã°I/Oã®åŠçãCPUåŠçããèãã I/OåŠçã®å Žå å
šäœã§äœ¿çšãããã¹ã¬ããæ°ãäžéã«è§Šããªããããã§ãã¯ãã ã¹ã¬ããã»ãŒããªåŠçãããã§ãã¯ãã äžææã®åŠçãèãã â»è£è¶³ ã¹ã¬ããæ°ã¯ä»åã®asyncio.to_threadã§ããã°CPUã®æ°+4ã§å°åºãããã®ã§ãã©ã®ãããã®åŠçãŸã§éãããã®ãã¯é ã«å
¥ããŠããå¿
èŠããããŸã äžèšã®3ç¹ãèããããã§ãto_threadã§å¥ã®ã¹ã¬ããããŒã«ã«åŠçãéããã®ããããšæããŸã CPUåŠçã®å Žå çŸç¶ã®ãµãŒããŒã®ã¡ããªã¯ã¹ããã§ãã¯ãã ããã»ã¹/workerãå¢ãããéã®èŠèŸŒã¿ã¹ããã¯ãç®åºãã äžèšã®2ç¹ãèããããã§ãããã»ã¹/workerãå¢å ãããŸãããããã¯ã¹ããã¯ã¢ãããå¿
èŠã«ãªãå Žåã®å€ãç·©åçã«éããªãããšã¯æèããŠããã¹ãã§ãã ãŸãšã AIãè³¢ããªã£ãŠããã蟺ã®å®è£
ãã§ãã¡ãããŸãããå°ããç¯å²ã®å®è£
çã§ã³ã³ããã¹ããååã«ããã£ãŠãªããšãã®ç¯å²ã§åãã³ãŒããåºåããããšããããŸãã æè¿ã¯AIã®åºåãçè§£ããã®ã§ç²Ÿäžæ¯ãªãšããããããŸãã ãã ããã®ã¹ããŒãæã«é£²ãŸããã«æ°ã«ãªã£ããšãããæ·±å ãããŠçè§£ããããšãè¥æã®ãšã³ãžãã¢ãAIã®åºåã®è¯ãæªãã倿ããããã®è¶³å Žã«ãªããšæã£ãŠãŸãã çµå±ããšã³ãžãã¢ã®ããæ¹ã®æ ¹æ¬ã¯å€ãã£ãŠãªãã®ãããããªãã§ããã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @sato.yu ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
ãšã³ã¿ãŒãã©ã€ãºäŒèšãœãªã¥ãŒã·ã§ã³æ¬éšã®äžäžã§ãã å
æ¥ãã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšã®å€§å²¡å¡ãããäž»å¬ããã25åååAWSååŒ·äŒ #4ãã«åå ããŠããŸããã®ã§ããã®æ§åããå±ãããŸãïŒ ç§ã¯æ¥åäžAWSã«è§Šããæ©äŒãéãããŠãããããææ°ã®AWS掻çšäºäŸãæè¡ååãåŠã¶ããšãç®çã«åå ããŸããã çæAIããšãŒãžã§ã³ãéçºãªã©ãçŸåšæ³šç®ãéããããŒãã«ã€ããŠå®è·µçãªç¥èŠã«è§Šããããšãã§ãã倧倿æçŸ©ãªæ©äŒãšãªããŸããã ã€ãã³ãæŠèŠ ã€ãã³ãå
容 çºè¡šå
容ã®çŽ¹ä» 1. Organizations+Control Towerã§ããã«ãœã³ç°å¢ãã€ãã 2. "LLMãAIã§åŒã¶ã ã"ã§ã¯çµãããªãã£ãAWS AIå°å
¥ 3. Databricksã䜿ã£ãŠS3ã®ããŒã¿ãåæããŠã¿ã 4. AgentCoreã䜿ã£ããšãŒãžã§ã³ãéçº 5. AWS Blocksã§çéã¢ããªéçºãããïŒ 6. AWS Codeã·ãªãŒãºã䜿ã£ãŠãCI/CDãå®çŸããŸããã ãŸãšã ã€ãã³ãæŠèŠ é嬿¥æïŒ2026/9/18(é) éå¬å ŽæïŒNECçå·äºæ¥å Ž NEC Innovation Park éå¬åœ¢æ
ïŒãã€ããªãã(察é¢+ãªã³ã©ã€ã³) åå è
ïŒ38å ã€ãã³ãå
容 ä»åã¯åèš6åãç»å£ããAWSã«é¢ä¿ããããŒãã§15åéãã€(çºè¡š10å+質ç5å)çºè¡šããŸããã åœæ¥ã®ã¿ã€ã ã¹ã±ãžã¥ãŒã«ã¯ä»¥äžã®ãšããã§ãã æé å
容 æå± çºè¡šè
çºè¡šããŒã 19:00-19:05 éäŒ é»éç·ç 河岞 æ©åž - 19:05-19:20 çºè¡š(1) NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿ ä»äº æŠèµ Organizations+Control Towerã§ããã«ãœã³ç°å¢ãã€ãã 19:20-19:35 çºè¡š(2) é»éç·ç è±ç° æ¶Œä» "LLMãAIã§åŒã¶ã ã"ã§ã¯çµãããªãã£ãAWS AIå°å
¥ 19:35-19:50 çºè¡š(3) ãŠãã« é«æ© å° Databricksã䜿ã£ãŠS3ã®ããŒã¿ãåæããŠã¿ã 19:50-20:10 äŒæ© - - - 20:10-20:25 çºè¡š(4) - çå±± æ©åž AgentCoreã䜿ã£ããšãŒãžã§ã³ãéçº 20:25-20:40 çºè¡š(5) - å·åŽ ç¿å€ª AWS Blocksã§çéã¢ããªéçºãããïŒ 20:40-20:55 çºè¡š(6) - äžäžæš èŒ AWS Codeã·ãªãŒãºã䜿ã£ãŠãCI/CDãå®çŸããŸããã 20:55-21:00 éäŒ é»éç·ç å€§å²¡å¡ - çºè¡šå
容ã®çŽ¹ä» AWSã®éçšåºç€ããçæAIãããŒã¿åæããšãŒãžã§ã³ãéçºãŸã§ãå€åœ©ãªããŒããåãäžããããŸããã®ã§ã玹ä»ããŸãã 1. Organizations+Control Towerã§ããã«ãœã³ç°å¢ãã€ãã AWS OrganizationsãšControl TowerãæŽ»çšããAWSããã«ãœã³åãã®æ€èšŒç°å¢ãæ§ç¯ã»éçšããæ¹æ³ãã玹ä»ããã ããŸãããããŒã ããšã®ã¢ã«ãŠã³ãã«å¯ŸããŠSSOã«ããèªèšŒçµ±åãã¬ãŒãã¬ãŒã«ã«ããçµ±å¶ãé©çšããåå è
ãå®å
šã«å©çšã§ããç°å¢ãå°ãªãéçšè² è·ã§å®çŸããŠããŸããã 2. "LLMãAIã§åŒã¶ã ã"ã§ã¯çµãããªãã£ãAWS AIå°å
¥ Amazon Bedrockãå©çšãã瀟å
ããã¥ã¡ã³ãæ€çŽ¢ãã£ãããããã®æ§ç¯çµéšãããšã«ãã»ãã¥ãªãã£ãã³ã¹ããã¬ã€ãã³ã·ã®3ã€ã®èª²é¡ãæ¹åããæ¹æ³ã«ã€ããŠè§£èª¬ããŠããã ããŸãããããããã®èª²é¡ã«ããããã©ã¡ãŒã¿ãå€ããå€è§çãªèŠç¹ãã詊è¡é¯èª€ãéããæ€èšŒãç¹°ãè¿ããªããæ¹åãé²ããããŠããç¹ãå°è±¡çã§ããã 3. Databricksã䜿ã£ãŠS3ã®ããŒã¿ãåæããŠã¿ã DatabricksãçšããŠããŒã¿åæåºç€ãæ§ç¯ããæ¹æ³ã玹ä»ããŠããã ããŸãããã¯ã©ãŠãåã®ã³ã³ã¿ã¯ãã»ã³ã¿ãŒãµãŒãã¹ã§ããAmazon Connectã®é話ããŒã¿ãåæããããã®ããŒã¿åºç€ã«ã€ããŠãAWSãµãŒãã¹ã«ããæ§æãšDatabricksæ§æãæ¯èŒããªãããããããã®ãµãŒãã¹ã®ç¹åŸŽãã説æããã ããŸããã 4. AgentCoreã䜿ã£ããšãŒãžã§ã³ãéçº Amazon Bedrock AgentCore RuntimeãCDKã§æ§ç¯ããéã®æ³šæç¹ã«ã€ããŠã玹ä»ããã ããŸãããCDK Bootstrapã§çæãããQualifierãçšããECRãªããžããªç®¡çã®ä»çµã¿ããè€æ°ãããžã§ã¯ãã§çºçãåŸãåé¡ãšãã®åé¿çãªã©ãå®éã«è§Šã£ãŠã¿ãªããšæ°ä»ãã«ããç¥èŠãå
±æãããŸããã 5. AWS Blocksã§çéã¢ããªéçºãããïŒ 2026幎6æã«ãããªãã¯ãã¬ãã¥ãŒãšãªã£ãAWS Blocksã«ã€ããŠè§£èª¬ããŠããã ããŸãããTypeScriptã§ã¢ããªã±ãŒã·ã§ã³ã³ãŒããæžãããšã§AWSã€ã³ãã©ãŸã§èªåçæã§ããä»çµã¿ã玹ä»ãããInfrastructure From Codeã®ãµãŒãã¹ãšããŠéåžžã«è峿·±ãå
容ã§ããããŸããç°¡åã«æ€èšŒãã§ããçç±ãæ¡åŒµæ§ã®é«ãã«ã€ããŠãã説æããã ããŸããã 6. AWS Codeã·ãªãŒãºã䜿ã£ãŠãCI/CDãå®çŸããŸããã AWS Codeã·ãªãŒãºã®AWS CodeCommitãCodeConnectionsãCodeBuildãCodeDeployãCodePipelineãçšããŠCI/CDãã€ãã©ã€ã³ãæ§ç¯ããæ¹æ³ã«ã€ããŠã説æããã ããŸãããCodeBuildãCodeDeployã§äœ¿çšããymlãã¡ã€ã«ã§ããbuildspec.ymlãappspec.ymlã®å
·äœäŸã亀ããªãã説æããŠããã ããåãµãŒãã¹ã®åœ¹å²ãåŠçã®æµããå
·äœçã»äœç³»çã«çè§£ããããšãã§ããŸããã ãŸãšã ä»åã¯AWSã®éçšåºç€ãçæAIãããŒã¿åæããšãŒãžã§ã³ãéçºãã¢ããªã±ãŒã·ã§ã³éçºãCI/CDãšãéåžžã«å¹
åºãããŒãã®çºè¡šãèãããšãã§ããŸãããã©ã®çºè¡šãå®éã®æ€èšŒãéçºãéããŠåŸãããå®è·µçãªç¥èŠã«åºã¥ããã®ã§ãããAWS掻çšã®å¯èœæ§ãæè¡é²åã®ã¹ããŒããæ¹ããŠå®æããæ©äŒãšãªããŸãããä»åŸã®æ¥åãèªå·±ç éœã«ã掻ãããŠãããããšæããã倧å€åºæ¿çãªå匷äŒã§ããã çºè¡šããŠããã ããçæ§ããããŠéå¶ããŠããã ãã倧岡ãããã¯ãããšããé¢ä¿è
ã®çæ§ãããããšãããããŸããïŒ æ¬¡åã®AWSå匷äŒã楜ãã¿ã«ããŠããŸãïŒ ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @mikami.ryosuke ã¬ãã¥ãŒïŒ @kinjo.ryuki ïŒ Shodo ã§å·çãããŸãã ïŒ
ãšã³ã¿ãŒãã©ã€ãºäŒèšãœãªã¥ãŒã·ã§ã³æ¬éšã®äžäžã§ãã å
æ¥ãã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšã®å€§å²¡å¡ãããäž»å¬ããã25åååAWSååŒ·äŒ #4ãã«åå ããŠããŸããã®ã§ããã®æ§åããå±ãããŸãïŒ ç§ã¯æ¥åäžAWSã«è§Šããæ©äŒãéãããŠãããããææ°ã®AWS掻çšäºäŸãæè¡ååãåŠã¶ããšãç®çã«åå ããŸããã çæAIããšãŒãžã§ã³ãéçºãªã©ãçŸåšæ³šç®ãéããããŒãã«ã€ããŠå®è·µçãªç¥èŠã«è§Šããããšãã§ãã倧倿æçŸ©ãªæ©äŒãšãªããŸããã ã€ãã³ãæŠèŠ ã€ãã³ãå
容 çºè¡šå
容ã®çŽ¹ä» 1. Organizations+Control Towerã§ããã«ãœã³ç°å¢ãã€ãã 2. "LLMãAIã§åŒã¶ã ã"ã§ã¯çµãããªãã£ãAWS AIå°å
¥ 3. Databricksã䜿ã£ãŠS3ã®ããŒã¿ãåæããŠã¿ã 4. AgentCoreã䜿ã£ããšãŒãžã§ã³ãéçº 5. AWS Blocksã§çéã¢ããªéçºãããïŒ 6. AWS Codeã·ãªãŒãºã䜿ã£ãŠãCI/CDãå®çŸããŸããã ãŸãšã ã€ãã³ãæŠèŠ é嬿¥æïŒ2026/9/18(é) éå¬å ŽæïŒNECçå·äºæ¥å Ž NEC Innovation Park éå¬åœ¢æ
ïŒãã€ããªãã(察é¢+ãªã³ã©ã€ã³) åå è
ïŒ38å ã€ãã³ãå
容 ä»åã¯åèš6åãç»å£ããAWSã«é¢ä¿ããããŒãã§15åéãã€(çºè¡š10å+質ç5å)çºè¡šããŸããã åœæ¥ã®ã¿ã€ã ã¹ã±ãžã¥ãŒã«ã¯ä»¥äžã®ãšããã§ãã æé å
容 æå± çºè¡šè
çºè¡šããŒã 19:00-19:05 éäŒ é»éç·ç 河岞 æ©åž - 19:05-19:20 çºè¡š(1) NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿ ä»äº æŠèµ Organizations+Control Towerã§ããã«ãœã³ç°å¢ãã€ãã 19:20-19:35 çºè¡š(2) é»éç·ç è±ç° æ¶Œä» "LLMãAIã§åŒã¶ã ã"ã§ã¯çµãããªãã£ãAWS AIå°å
¥ 19:35-19:50 çºè¡š(3) ãŠãã« é«æ© å° Databricksã䜿ã£ãŠS3ã®ããŒã¿ãåæããŠã¿ã 19:50-20:10 äŒæ© - - - 20:10-20:25 çºè¡š(4) - çå±± æ©åž AgentCoreã䜿ã£ããšãŒãžã§ã³ãéçº 20:25-20:40 çºè¡š(5) - å·åŽ ç¿å€ª AWS Blocksã§çéã¢ããªéçºãããïŒ 20:40-20:55 çºè¡š(6) - äžäžæš èŒ AWS Codeã·ãªãŒãºã䜿ã£ãŠãCI/CDãå®çŸããŸããã 20:55-21:00 éäŒ é»éç·ç å€§å²¡å¡ - çºè¡šå
容ã®çŽ¹ä» AWSã®éçšåºç€ããçæAIãããŒã¿åæããšãŒãžã§ã³ãéçºãŸã§ãå€åœ©ãªããŒããåãäžããããŸããã®ã§ã玹ä»ããŸãã 1. Organizations+Control Towerã§ããã«ãœã³ç°å¢ãã€ãã AWS OrganizationsãšControl TowerãæŽ»çšããAWSããã«ãœã³åãã®æ€èšŒç°å¢ãæ§ç¯ã»éçšããæ¹æ³ãã玹ä»ããã ããŸãããããŒã ããšã®ã¢ã«ãŠã³ãã«å¯ŸããŠSSOã«ããèªèšŒçµ±åãã¬ãŒãã¬ãŒã«ã«ããçµ±å¶ãé©çšããåå è
ãå®å
šã«å©çšã§ããç°å¢ãå°ãªãéçšè² è·ã§å®çŸããŠããŸããã 2. "LLMãAIã§åŒã¶ã ã"ã§ã¯çµãããªãã£ãAWS AIå°å
¥ Amazon Bedrockãå©çšãã瀟å
ããã¥ã¡ã³ãæ€çŽ¢ãã£ãããããã®æ§ç¯çµéšãããšã«ãã»ãã¥ãªãã£ãã³ã¹ããã¬ã€ãã³ã·ã®3ã€ã®èª²é¡ãæ¹åããæ¹æ³ã«ã€ããŠè§£èª¬ããŠããã ããŸãããããããã®èª²é¡ã«ããããã©ã¡ãŒã¿ãå€ããå€è§çãªèŠç¹ãã詊è¡é¯èª€ãéããæ€èšŒãç¹°ãè¿ããªããæ¹åãé²ããããŠããç¹ãå°è±¡çã§ããã 3. Databricksã䜿ã£ãŠS3ã®ããŒã¿ãåæããŠã¿ã DatabricksãçšããŠããŒã¿åæåºç€ãæ§ç¯ããæ¹æ³ã玹ä»ããŠããã ããŸãããã¯ã©ãŠãåã®ã³ã³ã¿ã¯ãã»ã³ã¿ãŒãµãŒãã¹ã§ããAmazon Connectã®é話ããŒã¿ãåæããããã®ããŒã¿åºç€ã«ã€ããŠãAWSãµãŒãã¹ã«ããæ§æãšDatabricksæ§æãæ¯èŒããªãããããããã®ãµãŒãã¹ã®ç¹åŸŽãã説æããã ããŸããã 4. AgentCoreã䜿ã£ããšãŒãžã§ã³ãéçº Amazon Bedrock AgentCore RuntimeãCDKã§æ§ç¯ããéã®æ³šæç¹ã«ã€ããŠã玹ä»ããã ããŸãããCDK Bootstrapã§çæãããQualifierãçšããECRãªããžããªç®¡çã®ä»çµã¿ããè€æ°ãããžã§ã¯ãã§çºçãåŸãåé¡ãšãã®åé¿çãªã©ãå®éã«è§Šã£ãŠã¿ãªããšæ°ä»ãã«ããç¥èŠãå
±æãããŸããã 5. AWS Blocksã§çéã¢ããªéçºãããïŒ 2026幎6æã«ãããªãã¯ãã¬ãã¥ãŒãšãªã£ãAWS Blocksã«ã€ããŠè§£èª¬ããŠããã ããŸãããTypeScriptã§ã¢ããªã±ãŒã·ã§ã³ã³ãŒããæžãããšã§AWSã€ã³ãã©ãŸã§èªåçæã§ããä»çµã¿ã玹ä»ãããInfrastructure From Codeã®ãµãŒãã¹ãšããŠéåžžã«è峿·±ãå
容ã§ããããŸããç°¡åã«æ€èšŒãã§ããçç±ãæ¡åŒµæ§ã®é«ãã«ã€ããŠãã説æããã ããŸããã 6. AWS Codeã·ãªãŒãºã䜿ã£ãŠãCI/CDãå®çŸããŸããã AWS Codeã·ãªãŒãºã®AWS CodeCommitãCodeConnectionsãCodeBuildãCodeDeployãCodePipelineãçšããŠCI/CDãã€ãã©ã€ã³ãæ§ç¯ããæ¹æ³ã«ã€ããŠã説æããã ããŸãããCodeBuildãCodeDeployã§äœ¿çšããymlãã¡ã€ã«ã§ããbuildspec.ymlãappspec.ymlã®å
·äœäŸã亀ããªãã説æããŠããã ããåãµãŒãã¹ã®åœ¹å²ãåŠçã®æµããå
·äœçã»äœç³»çã«çè§£ããããšãã§ããŸããã ãŸãšã ä»åã¯AWSã®éçšåºç€ãçæAIãããŒã¿åæããšãŒãžã§ã³ãéçºãã¢ããªã±ãŒã·ã§ã³éçºãCI/CDãšãéåžžã«å¹
åºãããŒãã®çºè¡šãèãããšãã§ããŸãããã©ã®çºè¡šãå®éã®æ€èšŒãéçºãéããŠåŸãããå®è·µçãªç¥èŠã«åºã¥ããã®ã§ãããAWS掻çšã®å¯èœæ§ãæè¡é²åã®ã¹ããŒããæ¹ããŠå®æããæ©äŒãšãªããŸãããä»åŸã®æ¥åãèªå·±ç éœã«ã掻ãããŠãããããšæããã倧å€åºæ¿çãªå匷äŒã§ããã çºè¡šããŠããã ããçæ§ããããŠéå¶ããŠããã ãã倧岡ãããã¯ãããšããé¢ä¿è
ã®çæ§ãããããšãããããŸããïŒ æ¬¡åã®AWSå匷äŒã楜ãã¿ã«ããŠããŸãïŒ ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @mikami.ryosuke ã¬ãã¥ãŒïŒ @kinjo.ryuki ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ãäºæ¥éçºå®€ã®éäžè£èŒã§ãã æ¬èšäºã§ã¯ãLayerXãããšå
±åã§éå¬ãããAIãšãŒãžã§ã³ãèšèšååŒ·äŒ ãèªå·±æ¹åãæ€çŽ¢ç·šãã ã«ã€ããŠã¬ããŒãããŸãã å匷äŒã®æŠèŠ æ¬å匷äŒã¯ãLayerXãããšé»éç·ç ãå
±åã§éå¬ããŠãããAIãšãŒãžã§ã³ãã«é¢ãããšã³ãžãã¢åãã®å匷äŒã€ãã³ãã§ãããã®ç¬¬3åç®ãšããŠã2026幎09æ15æ¥ïŒç«ïŒã«ãèªå·±æ¹åãæ€çŽ¢ã«é¢ããå匷äŒãéå¬ããŸããã çæAIã®ç»å Žããæ°å¹Žçµã¡ããããã¯ãã®æ©èœã«AIãšãŒãžã§ã³ããçµã¿èŸŒãäºäŸãå¢ããŠããŸããããã«çŽè¿ã§ã¯AIãšãŒãžã§ã³ããæŽ»çšããç¯å²ãåºããã人ãè¡ã£ãŠãããããã¯ãæ¹åäœæ¥ã®äžéšããAIãšãŒãžã§ã³ãã«ä»»ããåãçµã¿ãå¢ããŠããŠããŸãã ä»åã®å匷äŒã§ã¯ãLayerX ãš é»éç·ç ã AIãšãŒãžã§ã³ãèšèšã®ææ°ååã«ã€ããŠãäŒãããAIãšãŒãžã§ã³ããç¶ç¶çã«åããããã®èšèšã»å®è£
ã»éçšã®ç¥èŠãå
±æããŸããã äŒå Žã¯FINOLABã®ã€ãã³ãã¹ããŒã¹ã§ã50人çšåºŠã®æ¹ã«åå ããŠããã ããŸããã å匷äŒã®å
容ãšããŠã¯ä»¥äžã®ãšããã§ãã ã»æ ªåŒäŒç€ŸLayerXãå € 倧貎ãããïŒ ãAIãšãŒãžã§ã³ãã®èªå·±æ¹åãã©ãèšèšãããã ã»æ ªåŒäŒç€Ÿé»éç·ç ãéäž è£èŒãïŒ ããªãæ€çŽ¢ãææç©ã®è³ªã®äžéãæ±ºããã®ãã ã»æèŠªäŒ AIãšãŒãžã§ã³ãã®èªå·±æ¹åãã©ãèšèšããã å €ããããã¯ãåŸæ¥äººéãæäœæ¥ã§æ§ç¯ããŠããAI WorkflowãCoding AgentãçšããŠæ§ç¯ããæ¹æ³ã«ã€ããŠã話ããããŸããã Agentã«æ¹åãä»»ãããšã粟床ã90%çšåºŠã§åæ»ããäºäŸãå
±æããããã®åå ãšããŠèšèšãã®ãã®ãçãæ¹åæ¡ãåºãŠããªã課é¡ã瀺ãããŸãããæ¢åç ç©¶ã§ãææãããŠãããAnchoring Biasãã«å¯ŸããŠãããŒãã¹ã®èšèšã§è§£æ±ºããããšã詊ã¿ããã®å
容ãå
±æãããŸããã Training DataïŒå®è¡ãã°ããç¥èæœåºïŒãOptimizerïŒç·šééã®å¶åŸ¡ãšæ¹åã®æ€èšŒïŒãSearch StrategyïŒè€æ°åè£ã«ãã屿æé©åã®åé¿ïŒãEvaluationïŒè©äŸ¡ã®å質ïŒã®4ã€ã®èгç¹ãããŒãã¹äžã§çµã¿åãããããšã§è§£æ±ºããç¥èŠãã話ãããŠããã ããŸããã詳现ã¯ãäžèšã®çºè¡šè³æãã芧ãã ããã https://speakerdeck.com/22mi/how-to-design-self-improvement-for-ai-agents çºè¡šåŸã®è³ªçã§ã¯ããæ¹åã«ãŒããæ§ç¯ããã«ããããããžãã¹ã¢ããªã·ã¹ãããã»ã¹ãã€ãã³ã°ãéèŠãªã®ã§ã¯ãªããããšããã話ããæè¡éçºã®å
容ããããã¯ãã«åæ ããããã«ã顧客ããŒã¿ãã©ã®ãããªæ±ã£ãŠããã®ããã«ã€ããŠã®è³ªåããããŸããã ãªãæ€çŽ¢ãææç©ã®è³ªã®äžéãæ±ºããã®ã ç§ãéäžãã㯠Deep Searchã·ã¹ãã ã«ããããæ¢çŽ¢ãšæ€çŽ¢ã®éèŠæ§ã«ã€ããŠã話ããããŠããã ããŸããã Deep Searchã·ã¹ãã ããªãŒãã³ãŠã§ã€ããªã¢ãã«ãçšããŠæ§ç¯ããã«ããããæ¢çŽ¢ãæ€çŽ¢ã工倫ããããšãã粟床åäžã®äžã€ã®æ¹æ³ã§ããããšãã話ãããŸããã é»éç·ç ãéå»ã®æ¡ä»¶ããåŠäŒã®ã³ã³ããã£ã·ã§ã³ã§å®éã«è©Šããæ¹æ³ã®äžã§ãã¯ãšãªïŒæ€çŽ¢èªã®å€æ§åïŒãé©åãªãªã©ã³ãã³ã°ãåºå
žè¿œè·¡ãªã©ã®ææ³ããæ€çŽ¢çµæãæ¹åãã广ãé«ãã£ãããšãå
±æããŸãããçºè¡šã¹ã©ã€ãã¯ãã¡ãã§å
¬éããŠããã®ã§ãèå³ã®ããæ¹ã¯ã芧ãã ããã https://speakerdeck.com/hisanoriozaki/naze-kensaku-ga-seikabutsu-no-shitsu-no-jougen-o-kimeru-no-ka çºè¡šåŸã®è³ªçã§ã¯ããããã³ããã«Howãå«ãŸããŠããå Žåã«åãé€ãããšã¯æçšãªã®ãããšããã話ããWhyãæžããŠã¿ããšç²ŸåºŠãäžããã®ã§ã¯ãªããããªã©ã®è°è«ãè¡ãããŸããã æèŠªäŒ æèŠªäŒãå€ãã®æ¹ã«æ®ã£ãŠããã ããçºè¡šå
容ã«é¢ãã質çãåºãAIã«ã€ããŠã®ãã£ã¹ã«ãã·ã§ã³ãã§ããŸããã é»éç·ç ã®ã¡ã³ããŒãšããŠã¯çºè¡šå
容ã«é¢ãã話é¡ãäžå¿ã«äŒè©±ããŠãããŸãããããAIãšãŒãžã§ã³ããæ§ç¯ããããã«ãã©ã®ãã¬ãŒã ã¯ãŒã¯ã䜿ã£ãã»ãè¯ãããã§ãã£ãããéITäŒæ¥ã®éãšã³ãžãã¢ã®æ¹ã
ã«LLMããšãŒãžã§ã³ãã䜿ã£ãŠãããããã®ãã³ã¹ãæ¿çãã»ãã¥ãªãã£ã«ã€ããŠããªã©ãAIãšãŒãžã§ã³ãã®æ§ç¯ã»éçšã«é¢ãã質åãæ°å€ãèŠåããããŸããã ç§èªèº«ãšããŠãã倿§ãªèŠç¹ã§äŒè©±ããããšãã§ããææçŸ©ãªæèŠªäŒã ã£ããšæããŠãããŸãã ãŸãšã ä»åã¯ãLayerXãããšé»éç·ç ãå
±åã§éå¬ãã ãAIãšãŒãžã§ã³ãèšèšååŒ·äŒ ãèªå·±æ¹åãæ€çŽ¢ç·šãã ã«ã€ããŠã¬ããŒãããŸããã ä»åã®å匷äŒã§äž¡è
ã®çºè¡šã«å
±éãã話é¡ã¯ãã人éã®åœ¹å²ã¯ãæ¥åäžã®æ£ãããLLMãè©äŸ¡ã§ããææšã«èœãšã蟌ãããšããšãã話ã§ãããLayerXããã®çºè¡šã«ãã£ãAI Workflowãèªå·±æ¹åããä»çµã¿ããè©äŸ¡ãæ£ããè¡ããªããã°ç¶ç¶ããŠæ¹åã§ããä»çµã¿ã«ããããšã¯å°é£ã§ãããšããã話ã§ãããæã
ãé»éç·ç ã®çºè¡šãããã©ãããæ€çŽ¢çµæãåºããã°æåãªã®ããã人éãå®çŸ©ããªããšãããªããšããã話ããããŠããã ããŸãããLLMãAIãšãŒãžã§ã³ããæ¥é²ææ©ã§é«æ§èœã«ãªã£ãŠããŠããŸãããæ¥åãžã®æŽ»çšã«ãããŠã¯ãä»äºãä»»ãã人éãæ¥åäžã®æ£ãããèœãšã蟌ãå¿
èŠãããããšã宿ããŸããã é»éç·ç ã¯ãåŒãç¶ããã®ãããªå匷äŒãéå¬ããäºå®ã§ãã®ã§ãèå³ããæ¹ã¯ãã²ãåå ãã ããã https://engineersguild.peatix.com/ ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã å·çïŒ @satonaka.yusuke ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
1. ã¯ããã« ããã«ã¡ã¯ãé»éç·ç ã®æŠç°åµ©å²ïŒãããµã¿ïŒã§ãã ä»åã¯ãAWSãå
¬éããŠãã Engineering Development HubïŒEDHïŒ ãå®éã«ãããã€ããŠè§Šã£ãŠã¿ãã®ã§ããã®å
容ã玹ä»ããŸãã EDHã¯ä»¥å Scale-Out Computing on AWSïŒSOCAïŒ ãšããåç§°ã§å
¬éãããŠãããœãªã¥ãŒã·ã§ã³ã§ã2026幎4æããEngineering Development Hubãšããåç§°ã«ãªããŸããã AWSã«ã¯HPCç°å¢ãæ§ç¯ããããã®éžæè¢ãšããŠã AWS Batch ã AWS ParallelCluster ã AWS Parallel Computing ServiceïŒAWS PCSïŒ ãªã©ããããŸãã ãããªäžã§EDHã¯ã©ã®ãããªäœçœ®ä»ããªã®ãã ãŸããå®éã«ãããã€ãããšã©ã®ãããªç°å¢ãã§ããŠããŠãŒã¶ãŒã¯ã©ã®ããã«å©çšããã®ãã ä»åã¯å®éã«EDHãæ§ç¯ããªãã確èªããŠã¿ãŸããã æ¬èšäºã¯ä»¥äžã®æµããšãªã£ãŠãããŸãã ã¯ããã« AWSã®HPCé¢é£ãµãŒãã¹ãšEDH EDHããããã€ããŠã¿ã EDHã®åºæ¬æ©èœãè§Šã£ãŠã¿ã å®éã«è§Šã£ãŠã¿ãææ³ 2. AWSã®HPCé¢é£ãµãŒãã¹ãšEDH ãŸããEDHã«ã€ããŠç޹ä»ããåã«ãAWSã§HPCç°å¢ãæ§ç¯ããéã«å©çšã§ãã代衚çãªãµãŒãã¹ã»ãœãªã¥ãŒã·ã§ã³ãç°¡åã«æŽçããŠã¿ãŸãã 2.1 AWS Batch AWS Batch ã¯ãAWSäžã§ãããã¯ãŒã¯ããŒããå®è¡ããããã®ãã«ãããŒãžããµãŒãã¹ã§ãã ãžã§ãããã¥ãŒãžæå
¥ãããšãå¿
èŠãªã³ã³ãã¥ãŒããªãœãŒã¹ãAWS Batchãèªåçã«ããããžã§ãã³ã°ãããžã§ããå®è¡ããŸãã ïŒåŒçšå
ïŒ AWS Batch (BlackBeltè³æ) EC2ãAWS Fargateãªã©ãèšç®ãªãœãŒã¹ãšããŠå©çšã§ããå©çšè
åŽã§ãããåŠçåºç€ãã®ãã®ãæ§ç¯ã»ç®¡çããè² æ
ãæžãããç¹ãç¹åŸŽã§ãã äžæ¹ã§ãAWS Batchã¯ç¬èªã¹ã±ãžã¥ãŒã©ãŒã䜿ã£ãã³ã³ããäžå¿ã®ãžã§ãå®è¡åºç€ã§ãã ãã®ããã æ¢åã®HPCã¯ã©ã¹ã¿ããã®ãŸãŸã¯ã©ãŠããžç§»è¡ããã Slurmãªã©æ¢åã®ãžã§ãã¹ã±ãžã¥ãŒã©ã䜿ããã SSHãã°ã€ã³ããŠåŸæ¥åã®HPCã¯ã©ã¹ã¿ãšããŠå©çšããã ãšãã£ãã±ãŒã¹ã§ã¯ãAWS ParallelClusterãAWS PCSãªã©ãéžæè¢ãšãªã£ãŠããŸãã 2.2 AWS ParallelCluster AWS ParallelCluster ã¯ãAWSäžã«HPCã¯ã©ã¹ã¿ãæ§ç¯ã»ç®¡çãããªãŒãã³ãœãŒã¹ã®ããŒã«ã§ãã èšå®ãã¡ã€ã«ãå®çŸ©ããŠã¯ã©ã¹ã¿ãäœæãããšã Head Node Compute Node ãžã§ãã¹ã±ãžã¥ãŒã©ïŒSlurmïŒ å
±æãã¡ã€ã«ã·ã¹ãã Auto Scaling ãªã©ãHPCã¯ã©ã¹ã¿ã«å¿
èŠãªãªãœãŒã¹ããŸãšããŠæ§ç¯ã§ããŸãã ïŒåŒçšå
ïŒ AWS ParallelClusterã§ã¯ãããã¯ã©ãŠãHPC (BlackBeltè³æ) ïŒParallelClusterUIãšããGUIããç°å¢ãæ§ç¯ã§ããä»çµã¿ããããŸããïŒ ParallelClusterã§ã¯ãäž»ã«Slurmãå©çšããHPCã¯ã©ã¹ã¿ãæ¯èŒçç°¡åã«æ§ç¯ã§ããŸãã äžæ¹ãIaaSåºç€ãšããŠã®æ§ç¯ãšãªããããAWSå
šäœã®ç¥èãNWã»ãµãŒãã«é¢ããç¥èãå¿
èŠãšãªããŸãã ãªã³ãã¬ãã¹HPCã«è¿ãæ§æãAWSäžãžæ§ç¯ã§ããããã ãã¯ã©ãŠãäžã«äžè¬çãªHPCã¯ã©ã¹ã¿ãäœãããã ãåçšïŒåžè²©ïŒãœãããŠã§ã¢ã䜿ãããã ãšããã±ãŒã¹ã«é©ãããµãŒãã¹ã§ãã 2.3 AWS Parallel Computing ServiceïŒAWS PCSïŒ AWS Parallel Computing ServiceïŒAWS PCSïŒ ã¯ãSlurmãå©çšããHPCç°å¢ãAWSäžã§æ§ç¯ããããã®ãããŒãžããµãŒãã¹ã§ãã AWS PCSã§ã¯Slurmã®ã³ã³ãããŒã«ãã¬ãŒã³ãAWSåŽã§ç®¡çããEC2ãã¹ãã¬ãŒãžããããã¯ãŒã¯ãªã©ã®AWSãµãŒãã¹ãšçµã¿åãããŠHPCã¯ã©ã¹ã¿ãæ§ç¯ããŸãã ParallelClusterãšæ¯èŒãããšãSlurm/ã¯ã©ã¹ã¿ç®¡çããŒãã®ç®¡çè² è·ãAWSåŽãžå¯ããããç¹ã倧ããªç¹åŸŽã§ãã ãã®ããã ãSlurmã䜿ãããããã¹ã±ãžã¥ãŒã©ãå«ããã¯ã©ã¹ã¿ç®¡çã®è² æ
ãã§ããã ãæžããããã ãåçšïŒåžè²©ïŒãœãããŠã§ã¢ã䜿ãããã ãšããå Žåã«æ€èšãããããµãŒãã¹ã§ãã 2.4 Engineering Development HubïŒEDHïŒ ãããŠä»å玹ä»ããã®ã Engineering Development HubïŒEDHïŒ ã§ãã EDHã¯ãAWS BatchãAWS PCSã®ãããªãããŒãžããµãŒãã¹ã§ã¯ãªããAWS ParallelClusterã«è¿ãããAWSãµãŒãã¹ãçµã¿åãããHPCã¯ã©ã¹ã¿ç°å¢æ§ç¯ã®ãµãŒãã¹ã§ãã ãã¡ããAWS ParallelClusterãšåæ§ã« ãªãŒãã³ãœãŒã¹ãœãªã¥ãŒã·ã§ã³ ã§ãã 以å㯠Scale-Out Computing on AWSïŒSOCAïŒ ãšããåç§°ã§æäŸãããŠããŸãããã2026幎4æã«Engineering Development Hubãžãªãã©ã³ãã£ã³ã°ãããåç§°å€æŽãããŸããã EDHãšAWS ParallelClusterã®éãã¯ãEDHã¯HPCã¯ã©ã¹ã¿ãã®ãã®ã ãã§ã¯ãªãããã®åšèŸºã«å¿
èŠãšãªãæ©èœãŸã§å«ããŠæ§ç¯ã§ããç¹ã§ãã EDHã®äž»èŠãªæ©èœã以äžã«ç޹ä»ããŸãã é
ç® EDHã§æäŸãããæ©èœ EDHç¹æ HPCãžã§ã管ç OpenPBSãSlurmãIBM LSFãªã©ãå©çš ïŒ Compute ãžã§ãã«å¿ããEC2ã®åçããããžã§ãã³ã° ïŒ GUIç°å¢ Amazon DCVãå©çšããLinux / Windowsãã¹ã¯ãããç°å¢ã®å©çš/管ç ïŒ WebããŒã¿ã« ãžã§ãããã¹ã¯ãããããã¡ã€ã«ãªã©ã®ç®¡ç ã èªèšŒ OpenLDAP / Microsoft Active Directory ã ã¹ãã¬ãŒãž EFSãFSx for LustreãFSx for NetApp ONTAP ïŒ ã©ã€ã»ã³ã¹ FlexLMãªã©ã®ãããã¯ãŒã¯ã©ã€ã»ã³ã¹ãšã®é£æº ã ã³ã¹ã AWS Budgets / Cost Explorerãªã©ãšã®é£æº ã åæ ãžã§ããã¯ã©ã¹ã¿å©çšç¶æ³ã®å¯èŠå ã ãå¡äŸã ãïŒEDHç¹æã®æ©èœ ã ïŒïŒä»AWS HPCãµãŒãã¹ã«ãååšããæ©èœ EDHã¯AWS ParallelClusterãPCSãšç°ãªãã¹ã±ãžã¥ãŒã©ãŒãOpenPBSãIBM LSFãæ±ãããšãã§ãããšããéãããããŸãããWeb UIãçšãããžã§ã管çãã³ã¹ã管çããžã§ãã®å©çšç¶æ³å¯èŠåãŸã§è¡ãããã®ãšãªã£ãŠãããŸãã EDH㯠ãHPCã¯ã©ã¹ã¿ç°å¢ãäœããã®ã¿ã§ã¯ãªãã ãHPCã¯ã©ã¹ã¿ç°å¢ãšåšèŸºæ©èœããŸãšããŠäœããã®ã ãšãããŸãã 2.5. AWSã®HPCé¢é£ãµãŒãã¹ã®ãŸãšã ãŸãšãããšä»¥äžã®ãšããã§ãã ãµãŒãã¹ æŠèŠ äž»ãªãžã§ãã¹ã±ãžã¥ãŒã©ãŒ èšç®å®è¡åºç€ AWS Batch ããããžã§ããå®è¡ããããã® ãããŒãžããµãŒãã¹ ç¬èªã¹ã±ãžã¥ãŒã©ãŒ EC2, Fargate(ã³ã³ãã) AWS ParallelCluster AWSäžã«HPCã¯ã©ã¹ã¿ãæ§ç¯ããããã® ãªãŒãã³ãœãŒã¹ããŒã« Slurm EC2ã¯ã©ã¹ã¿ AWS PCS Slurmãå©çšããHPCç°å¢ã®ããã® ãããŒãžããµãŒãã¹ Slurm EC2ã¯ã©ã¹ã¿ EDH HPCç°å¢ã ãã§ãªããWebããŒã¿ã«ãä»®æ³ãã¹ã¯ãããïŒVDIïŒãªã©ãå«ãããšã³ãžãã¢ãªã³ã°ç°å¢ãæ§ç¯ããããã® ãªãŒãã³ãœãŒã¹ããŒã« OpenPBS, Slurm, IBM LSF EC2ã¯ã©ã¹ã¿ ã§ã¯ããã®EDHãå®éã«AWSäžãžãããã€ããŠãããããšæããŸãã 3. EDHããããã€ããŠã¿ã ããã§ã¯å®éã«EDHããããã€ããŠã¿ãŸããã€ã³ã¹ããŒã«ã¬ã€ã㯠ãã¡ã ã EDHã®ãœãŒã¹ã³ãŒã ã¯GitHubã§å
¬éãããŠããŸãã GitHubãããœãŒã¹ã³ãŒããã¯ããŒã³ããŸããŠãEDHã§çšæãããŠããã€ã³ã¹ããŒã©ãå©çšããŸãã installer/edh_installer.sh ã€ã³ã¹ããŒã©ãå®è¡ãããšãAWSç°å¢ããããã¯ãŒã¯ãEDHã§å©çšããåçš®èšå®ã察話圢åŒã§æå®ããŠãããŸãã ã€ã³ã¹ããŒã©ç»é¢ Python3.13ãèŠä»¶ãšãªãããããŸãã¯Pythonãã€ã³ã¹ããŒã«ãããããšãšãªããŸãã Pythonã€ã³ã¹ããŒã«åŸã察話圢åŒã®ã€ã³ã¹ããŒã©ãèµ·åãããâãããã€ãããªãŒãžã§ã³âãâæ°èŠãªãœãŒã¹ or æ¢åãªãœãŒã¹ãå©çšããã®ãâãâVPCã®CIDRã¯ã©ãããã®ãâããšãã£ãé
ç®ãå
¥åããŸãã äžéãã®å€ãå
¥åãããšãè£åŽã§CloudFormationãå©çšãããŠEDHã«å¿
èŠãªAWSãªãœãŒã¹ãäœæãããŸãã CloudFormation ãããã€åŸã«AWS Management Consoleã確èªãããšãEC2ãã¯ãããEDHãæ§æããããŸããŸãªAWSãªãœãŒã¹ãäœæãããŠããããšãåãããŸãã EDHã¯1å°ã®EC2äžã§åäœããã¢ããªã±ãŒã·ã§ã³ãšãããããè€æ°ã®AWSãµãŒãã¹ãçµã¿åãããŠ1ã€ã®ç°å¢ãäœãæ§æã«ãªã£ãŠããŸãããã£ããããæ§æå³ã¯ä»¥äžã®ãšããã§ããïŒVer.26.4.0çã ææ°ã®æ§æã¯ç°ãªãå ŽåãããããŸãïŒã ãã®ãããã¯å®éã«ãããã€ããŠã¿ããšãEDHã®å
šäœåãããªãæŽã¿ããããªããŸããã 4. EDHã®åºæ¬æ©èœãè§Šã£ãŠã¿ã ãããã€ãå®äºããã®ã§ãå®éã«EDHãžãã°ã€ã³ããŠã¿ãŸãã 4.1 WebããŒã¿ã« EDHã«ã¯WebããŒã¿ã«ãçšæãããŠããŸãã â»æ¬çªç°å¢ã ãšèšŒææžãã€ã³ã¹ããŒã«ããå¿
èŠããããŸããã ãã°ã€ã³ãããšããžã§ããä»®æ³ãã¹ã¯ãããããã¡ã€ã«ãªã©ã管çããããã®ç»é¢ã衚瀺ãããŸãã HPCç°å¢ãšãããšSSHã§ãã°ã€ã³ããŠã³ãã³ããå®è¡ããã€ã¡ãŒãžã匷ãã§ãããEDHã§ã¯ããŸããŸãªæäœãWebãã©ãŠã¶ããè¡ããããã«ãªã£ãŠããŸãã ã¡ãã¥ãŒãèŠãŠã¿ããšã ãã¡ã€ã«ãšã¯ã¹ãããŒã©ãŒ ãŠã§ãã¿ãŒããã« ä»®æ³ãã¹ã¯ããã ç§ã®HPCãžã§ãïŒMy HPC Jobã®æ¥æ¬èªèš³ã ãšæããŸããâŠïŒ ã¯ã©ã¹ã¿ãŒã¡ããªãã¯ã¹ ãªã©ãHPCç°å¢ãå©çšããããã®æ©èœãã¡ãã¥ãŒã«äžŠãã§ããŸãã ã¡ãã¥ãŒäžéšã«ã¯ããŠãŒã¶ãŒç®¡çãã°ã«ãŒã管çãªã©ç®¡çè
ã¡ãã¥ãŒã®ãããªãã®ã䞊ãã§ãŸããã ä»åã¯ããã®äžãããžã§ãã®å®è¡ãšä»®æ³ãã¹ã¯ãããåšããè§Šã£ãŠãããŸãã 4.2 ãžã§ãã®å®è¡ ããã§ã¯ç°¡åãªãžã§ããæå
¥ããŠãEDHäžã§ãžã§ããå®è¡ã§ããããšã確èªããŸãã EDHã§ã¯WebããŒã¿ã«äžããããžã§ãã®æå
¥ãè¡ãããããWebããŒã¿ã«ãããžã§ãã®å®è¡ãè¡ã£ãŠã¿ãŸãã ã¡ãã¥ãŒããâç§ã®HPCãžã§ãâãéžæããŸãã é·ç§»åŸã®ç»é¢ã§äœããžã§ããå
¥ã£ãŠããªãããšã確èªã§ããŸãã âæ°ãããžã§ããéå§ããâãéžæãããžã§ãã¹ã¯ãªãããéžæããŸãã ããã§å°ãåããã¥ããã®ãããžã§ãã¹ã¯ãªããã®éžææ¹æ³ã§ãã å·Šãã2ã€ç®ã®EC2ã€ã³ã¹ã¿ã³ã¹ã®ã¢ã€ã³ã³ã¿ãããªãã®ãéžæããŠããžã§ãã¹ã¯ãªãããéžæããŸãã ãã®åŸãã©ã®ã¯ãŒã¯ãããŒã§å®è¡ããããéžæã§ããŸãããä»åã¯ç¹æ®µã¢ããªã±ãŒã·ã§ã³ã¯ã€ã³ã¹ããŒã«ããŠããªãã®ã§ãâTest Applicationâã§é²ããŠãããŸããã¢ããªã±ãŒã·ã§ã³ã€ã³ã¹ããŒã«ããŠããå Žåã¯ãããã«åã¯ãŒã¯ããŒããç»é²ããŠãŠãŒã¶ãŒã«éžæãããããã«ããããšãã§ããŸãã ãã®åŸããžã§ããå®è¡ããããã«å¿
èŠãªãã©ã¡ãŒã¿ãŒãåããç»é¢ãšãªãã®ã§ãå¿
èŠæ
å ±ãå
¥åããŸãã ãã®ãããã®èšå®è©³çްã¯EDHã®ç®¡çç»é¢ããã«ã¹ã¿ãã€ãºã§ããããããŠãŒã¶ãŒãšäŒè©±ããŠå¿
èŠãªå
容ã«å€æŽããæ¹ã芪åã§ããã åçš®æ¡ä»¶ãèšå®ãããšããžã§ãå®è¡æã«ããããã·ã³ã®è²»çšïŒ/1æéïŒãç®åºããŠãããã®ã¯è¯ãã§ããïŒ è§£æã«ã©ã®ãããã®ã³ã¹ãããããã®ãã詊ç®åºæ¥ãŸãã ããã§ãžã§ããå®è¡ããŸãã ãžã§ããå®è¡ãããšå
ã»ã©ã¯ç©ºã ã£ããžã§ããªã¹ãã«æå
¥ãããžã§ãã衚瀺ãããŠããŸãã ãã°ãããããšããžã§ããå®è¡ããããã®EC2ã€ã³ã¹ã¿ã³ã¹ãèµ·åãå§ããŸããã ãžã§ããå®è¡ãããå®äºãããšèšç®ããŒããäžèŠã«ãªããããèªåçã«åé€ãããŸãã ããã«ããèšç®ãå®è¡ããŠããªããšãã«ã¯ãäžå¿
èŠãªEC2ãã·ã³ã®èµ·åãé²ãããã³ã¹ãã®æé©åãå³ããŸãã ãŸãããžã§ãã¹ã±ãžã¥ãŒã©ãŒã«ã¯OpenPBSãå©çšããŠããããããã°ã€ã³ããŒãã«æ¥ç¶ããŠéåžžã®PBSãšåãããã«ãžã§ããæå
¥ããããšãã§ããŸããïŒããã©ã«ããã°ã€ã³ããŒãã«ã¯âSOCA"ã®æåãæ®ã£ãŠããŸããïŒã qsub test_job.sh ãžã§ããæå
¥ãããšãQueueã«ãžã§ããç»é²ãããŸãã [edhadmin@ip-10-30-76-119 ~]$ qstat Job id Name User Time Use S Queue ---------------- ---------------- ---------------- -------- - ----- 1.ip-10-30-87-225 edh_test edhadmin 0 Q normal ãªã³ãã¬ãã¹ã®HPCç°å¢ã§ã¯èšç®ããŒãããããããçšæããŠããããšãäžè¬çã§ãããEDHã§ã¯AWSã®ç¹é·ã掻ãããŠãå¿
èŠãªã¿ã€ãã³ã°ã§èšç®ãªãœãŒã¹ãçšæã§ããŸãã ãã®ãããã®çްããªä»çµã¿ã«ã€ããŠã¯å¥¥ãæ·±ãããªã®ã§ãããå°ã詳ããèŠãå¿
èŠãããããã§ãã 4.3 ä»®æ³ãã¹ã¯ããã ã§ã¯ãç¶ããŠä»®æ³ãã¹ã¯ãããã«ç§»ããããšæããŸãã EDHã«ã¯WebããŒã¿ã«ããä»®æ³ãã¹ã¯ãããïŒVDIïŒãäœæããæ©èœããããŸãã ã¡ãã¥ãŒããâä»®æ³ãã¹ã¯ãããâãžç§»ããŸããä»åã¯æ°ããä»®æ³ãã¹ã¯ããããã·ã³ãäœæããŠã¿ãŸãã âæ°ããä»®æ³ãã¹ã¯ããããèµ·åããâãéžæããŸãã ããã§ãèµ·åã«å¿
èŠãªãã©ã¡ãŒã¿ãŒãèšå®ããŠãããŸããèšå®ãçµãããâãã€ãã¹ã¯ããããèµ·åâãæŒäžããŸãã ä»®æ³ãã¹ã¯ããããã·ã³ã®èµ·åãéå§ãããŸããïŒ ä»®æ³ãã¹ã¯ãããã«ã¯ Amazon DCV ãå©çšãããŠããããã©ãŠã¶ãDCVã¯ã©ã€ã¢ã³ãããLinuxãWindowsç°å¢ãžæ¥ç¶ã§ããŸãã EC2ãèµ·åããŠããæäžã«ãïŒãããïŒãŠãŒã¶ãŒããŒã¿ã䜿çšããŠAmazon DCVãã€ã³ã¹ããŒã«ããŠããŸãã ãã®ãããã¯ãŽãŒã«ãã³ã€ã¡ãŒãžãäœæããããšã§èµ·åæéã®ççž®ãå³ãããã§ããã ä»®æ³ãã¹ã¯ããããã·ã³ãžãæ¥ç¶ã§ããŸããã CAEçšéã§èãããšãEDHã®WebããŒã¿ã«äžã§ããªãã¹ãåŠççšã®GUIç°å¢ãçšæããŠãããªåŠçãè¡ããåºåããããŒã¿ãWebããŒã¿ã«ããHPCç°å¢ãžèšç®ãæµãããšãã£ãäœ¿ãæ¹ãã§ãããã§ãã åçŽãªHPCã¯ã©ã¹ã¿ã ãã§ãªãããã®ãããªãŠãŒã¶ãŒç°å¢ãŸã§ãŸãšããŠçšæã§ãããšãããEDHã®ç¹åŸŽã ãšæããŸããã AWS ParallelClusterã§ãAmazon DCVãããªã€ã³ã¹ããŒã«ãããªãã·ã§ã³éžæãªã©ã§ä»®æ³ãã¹ã¯ãããç°å¢ã¯æºåã§ããŸãããGUIãçšããŠãããŸã§æè»ã«äœæã»ç®¡çã§ããã®ã¯EDHã®åŒ·ã¿ã§ã¯ãªãããšæããŸãã 5. å®éã«è§Šã£ãŠã¿ãææ³ ä»ååããŠEDHããããã€ããŠã¿ãŸããããæåã«æ³åããŠãããããããªãæ©èœã®å€ããœãªã¥ãŒã·ã§ã³ã§ããã è§Šãåã¯ã"OpenPBSã«ã察å¿ããã¯ã©ãŠãHPCæ§ç¯ãµãŒãã¹"ãšããã€ã¡ãŒãžãæã£ãŠããŸããã å®éã«ã¯ãHPCã¯ã©ã¹ã¿ã ãã§ã¯ãªãã WebããŒã¿ã« ä»®æ³ãã¹ã¯ãããã®ç®¡çã»æ¥ç¶ ãã¡ã€ã«ç®¡ç ãŠãŒã¶ãŒç®¡ç ã³ã¹ã管ç ãžã§ãå®è¡ç®¡ç ãªã©ããŠãŒã¶ãŒãèšç®ç°å¢ãå©çšããããã®æ©èœã倿°ããã£ãŠããŸãã ç¹ã«CAEã®ããã«ã ããªåŠç â Solverå®è¡ â ãã¹ãåŠç ãšããäžé£ã®äœæ¥ãã¯ã©ãŠãäžã§è¡ãç°å¢ãäœãå Žåã«ã¯ãEDHããããã€ããã ãã§CAEç°å¢æ§ç¯ãã§ããããšã¯ããªãé¢çœããšæããŸããã äžæ¹ãããã©ã«ãã§ãããã€ããå ŽåãèŠä»¶ã«ãã£ãŠã¯äžèŠãªæ©èœã»ãµãŒãã¹ãäœæãããŠããŸãããšããããŸããæ©èœãå€ãããåé¢ãèŠä»¶ã«åŸã£ãæ§ç¯ã宿œããå Žåã«ã¯ãç¶¿å¯ãªèšèšãå¿
èŠãªãšããã¯æ³šæç¹ã§ãã ãã ãAWSã«ã¯AWS BatchãAWS ParallelClusterãAWS PCSãªã©ããŸããŸãªHPCåããµãŒãã¹ãããäžã§ããŸãå°ãéã£ãäœçœ®ä»ãã®EDHãæ°ãã«ãªãªãŒã¹ïŒæ£ç¢ºã«ã¯ãªãã©ã³ãã£ã³ã°ïŒãããã®ã¯å€§å€å¬ããã§ãïŒ å®éã«æ¥åã§EDHãæŽ»çšããŠãããšãªããšãåçŽã«ãããã€ããŠçµããã§ã¯ãªããã客æ§ç°å¢ã«åãããæ§æãåçšãœã«ããŒãšã®é£æºããŠãŒã¶ãŒã䜿ããããç°å¢ãžã®ã«ã¹ã¿ãã€ãºãªã©ããããããšèããããšãåºãŠããŸãã é»éç·ç ã§ã¯ããããŸã§HPC/CAEç°å¢ãAWSäžã§æ§ç¯ããŠããç¥èŠããããŸãã®ã§ãEDHã®å°å
¥ãæ€èšãããŠããæ¹ããAWSäžã§ã®HPC/CAEç°å¢ã«ã€ããŠæ°ã«ãªãããšããããŸãããããã²ãæ°è»œã« ãçžè« ãã ããã æ¬¡åã¯ããå°ãèžã¿èŸŒãã å¿çšç·šãæžããŠã¿ãããšæããŸãïŒæåŸãŸã§ãèªã¿ããã ãããããšãããããŸããïŒ ä»åã¯ä»¥äžãšãªããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @takeda.takafumi ã¬ãã¥ãŒïŒ @miyazaki.hirotoshi ïŒ Shodo ã§å·çãããŸãã ïŒ
1. ã¯ããã« ããã«ã¡ã¯ïŒé»éç·ç ã®æŠç°åµ©å²ïŒãããµã¿ïŒã§ãã ååã®ã AWS hpc8a ãã³ãããŒã¯ã¬ããŒã 第1å ãã§ã¯ãAMDã®ææ°ããã»ããµã§ããTurinïŒAMD EPYC 9R45ïŒãæèŒãã hpc8a.96xlarge ãäžå¿ã«ãAnsys FluentãšCradle MSC scFLOWã®ãã³ãããŒã¯çµæãã玹ä»ããŸããã ä»åã¯ç¬¬2åãšããããšã§ãååäºåããŠãã以äž2ã€ã®ãœã«ããŒã®çµæãã玹ä»ããŸãïŒ Ansys LS-DYNA Siemens STAR-CCM+ è¡çªè§£æç³»ã®LS-DYNAãæµäœè§£æç³»ã®STAR-CCM+ãšãæ§è³ªã®ç°ãªã2ã€ã®ãœã«ããŒã§hpc8aãã©ã®ãããªçµæã瀺ããã®ãã å®è¡æéã»ã³ã¹ãã»ã³ã¹ãããã©ãŒãã³ã¹ ã®3ã€ã®èгç¹ããèŠãŠãããããšæããŸãã æ¬èšäºã¯ä»¥äžã®æµããšãªã£ãŠãããŸãã ç®æ¬¡ ã¯ããã« âçµäº ãã³ãããŒã¯æŠèŠ Ansys LS-DYNA ãã³ãããŒã¯çµæ Siemens STAR-CCM+ ãã³ãããŒã¯çµæ ãããã« 2. ãã³ãããŒã¯æŠèŠ ç¬¬1åã®èšäºã§ãã玹ä»ããŸããããä»åã®ãã³ãããŒã¯ç°å¢ã«ã€ããŠç°¡åã«ããããããŸãã 2.1 ãã³ãããŒã¯ã«å©çšããã€ã³ã¹ã¿ã³ã¹ã¿ã€ã LS-DYNAããã³STAR-CCM+ã§ã¯ã以äžã®ã€ã³ã¹ã¿ã³ã¹ã¿ã€ããæ¯èŒå¯Ÿè±¡ãšããŸããã Instance type Spec Cost $ (instance/h) Cost $ (core/h) hpc6id.32xlarge (Intel) CPUïŒIntel Xeon Ice Lake 64 cores MemoryïŒ1024GB NICïŒ200Gbps EFA $5.70 $0.09 r8i.96xlarge (Intel) CPUïŒIntel Xeon 6 Granite Rapids-AP 192 cores MemoryïŒ3072GB NICïŒ100Gbps EFA $26.67 $0.14 c7a.48xlarge (AMD) CPUïŒAMD EPYC 9R14 Genoa 192 cores MemoryïŒ384GB NICïŒ50Gbps EFA $9.85 $0.05 hpc7a.96xlarge (AMD) CPUïŒAMD EPYC 9R14 Genoa 192 cores MemoryïŒ768GB NICïŒ300Gbps EFA $7.20 $0.04 c8a.48xlarge (AMD) CPUïŒAMD EPYC 9R45 Turin 192 cores MemoryïŒ384GB NICïŒ75Gbps EFA $10.35 $0.06 hpc8a.96xlarge (AMD) CPUïŒAMD EPYC 9R45 Turin 192 cores MemoryïŒ768GB NICïŒ300Gbps EFA $7.92 $0.04 â»Costã¯ãªãã€ãªãªãŒãžã§ã³ã§ã®å䟡ã§ãã â»Cost $ (core/h), Cost $ (instance/h)ã¯å°æ°ç¹3æ¡ãåæšäºå
¥ããå°æ°ç¹ä»¥äž2æ¡ã§è¡šèšããŠããŸãã â»äžéšã®äžŠåæ°ã»ã€ã³ã¹ã¿ã³ã¹ã¿ã€ãã§ã¯ãã³ãããŒã¯çµæãååšããªããã®ããããŸãã â»ç¬¬1åã®ãã³ãããŒã¯ã§å®æœããâm8a.48xlargeâãâc8g.48xlargeâã«ã€ããŠã¯ããªãœãŒã¹ã®éœåäžä»åãã³ãããŒã¯å®æœã§ããŸããã§ããã 2.2 ãã³ãããŒã¯ã¢ãã« ä»åã®èšäºïŒç¬¬1åãå«ãïŒã§æ±ããã³ãããŒã¯ã¢ãã«ã¯ä»¥äžã§ãã Solver Version Benchmark Model Ansys Fluent 2025R2 f1_racecar_140m Fluent benchmark model Ansys LS-DYNA 2025R2 Car2Car LS-DYNA benchmark model Siemens STAR-CCM+ 2506.0001 Golf_140M [Original Model] Cradle MSC scFLOW 2025.1 Common Research Model 2.3 ãã³ãããŒã¯å®æœç°å¢ãšè©äŸ¡é
ç® ãã³ãããŒã¯å®æœç°å¢ãè©äŸ¡é
ç®ã«ã€ããŸããŠã¯ç¬¬1åãšåãã«ãªããŸãã®ã§ã第1åã®èšäºããåç
§ãã ããã ïŒåèïŒ AWS "hpc8a" ãã³ãããŒã¯ã¬ããŒã 第1åïœAWS hpc8a Benchmark Report by Dentsusokenïœ 3. Ansys LS-DYNA ãã³ãããŒã¯çµæ ã§ã¯Ansys LS-DYNAã®çµæã§ãã LS-DYNAã§ã¯ã 64䞊åã»128䞊åã»256䞊åã»512䞊å ã§ãã³ãããŒã¯ã宿œããŸããã 3.1 å®è¡æé ãœã«ããŒå®è¡ã®çµéæéæ¯èŒ å
šãŠã®äžŠåæ°ã«ãããŠã hpc8a.96xlargeãæãçãå®è¡æé ãšãªããŸããã åäžä»£hpcã€ã³ã¹ã¿ã³ã¹ãšã®æ¯èŒ åäžä»£ã® hpc7a.96xlarge ãšæ¯èŒãããšãhpc8a.96xlargeã§ã¯ä»¥äžã®æ§èœåäžã確èªã§ããŸããã äžŠåæ° hpc7a å®è¡æé [s] hpc8a å®è¡æé [s] æ§èœåäžç 64 8,574.743 4,747.619 çŽ45%åäž 128 5,498.062 3,300.729 çŽ40%åäž 256 3,563.120 2,077.994 çŽ42%åäž 512 2,408.745 1,416.822 çŽ41%åäž å
šäžŠåæ°ã§4å²ååŸã®æ§èœæ¹å ãšãªã£ãŠãããä»å宿œãããœã«ããŒã®äžã§ããäžä»£æŽæ°ã«ãã广ãç¹ã«å€§ããèŠããçµæã§ãã åäžä»£Turinã®ã³ã³ãã¥ãŒãã£ã³ã°æé©åã€ã³ã¹ã¿ã³ã¹ãšã®æ¯èŒ åãTurinãæèŒãã c8a.48xlarge ãšæ¯èŒããŠããhpc8a.96xlargeã¯å
šäžŠåæ°ã§é«éã§ããã äžŠåæ° c8a å®è¡æé [s] hpc8a å®è¡æé [s] æ§èœåäžç 64 6,655.073 4,747.619 çŽ29%åäž 128 4,863.415 3,300.729 çŽ32%åäž 256 3,029.923 2,077.994 çŽ31%åäž 512 2,115.624 1,416.822 çŽ33%åäž CPUäžä»£ãåãã«ãããããã3å²ååŸã®å·®ãã€ããŠãããä»åã®LS-DYNAãã³ãããŒã¯ã§ã¯ã CPUæ§èœã ãã§ãªããhpc8aã®å€§ããªã¡ã¢ãªå®¹éã300Gbpsã®EFAãããã¯ãŒã¯åž¯åãšãã£ãHPCåãã®æ§æãæ§èœã«å¯äžããŠãã ããšããããããçµæãšãªããŸããã 3.2 ã³ã¹ã ã³ã¹ãæ¯èŒ å®è¡æéã ãã§ãªãã å
šãŠã®äžŠåæ°ã§hpc8a.96xlargeãæãäœããžã§ãã³ã¹ã ãšãªããŸããã åäžä»£hpcã€ã³ã¹ã¿ã³ã¹ãšã®ã³ã¹ãæ¯èŒ hpc7a.96xlargeãšã®æ¯èŒã§ã¯ã以äžã®ã³ã¹ãåæžå¹æã確èªã§ããŸããã äžŠåæ° hpc7a ã³ã¹ã ã³ã¹ãæ¹åç 64 $17.15 $10.44 | çŽ39%äœäž 128 $11.00 $7.26 | çŽ34%äœäž 256 $14.25 $9.14 | çŽ36%äœäž 512 $14.45 $9.35 | çŽ35%äœäž åäžä»£ã®hpc7aããã 4å²åŒ±ã®ã³ã¹ãæ¹å ãèŠãããŸããã ã³ã³ãã¥ãŒãã£ã³ã°æé©åã€ã³ã¹ã¿ã³ã¹ãšã®ã³ã¹ãæ¯èŒ c8a.48xlargeãšã®æ¯èŒã§ã¯ãããã«å·®ã倧ãããªããŸãã äžŠåæ° c8a ã³ã¹ã ã³ã¹ãæ¹åç 64 $19.13 $10.44 | çŽ45%äœäž 128 $13.98 $7.26 | çŽ48%äœäž 256 $17.42 $9.14 | çŽ48%äœäž 512 $18.25 $9.35 | çŽ49%äœäž ä»åã®LS-DYNAã¢ãã«ã§ã¯ãåãTurinäžä»£ã§ã HPCæé©åãããhpc8aãéžæããããšã§ãc8aæ¯ã§ã»ãŒååè¿ããŸã§ãžã§ãã³ã¹ããæãããã çµæãšãªããŸããã 3.3 ã³ã¹ãããã©ãŒãã³ã¹ ã³ã¹ãããã©ãŒãã³ã¹æ¯èŒ c7a.48xlargeãã1.0ããšããã³ã¹ãããã©ãŒãã³ã¹æ¯èŒã§ãã hpc8a.96xlargeãå
šäžŠåæ°ã§æãè¯ãçµæ ãšãªããŸããã ãŸããåãHPCã€ã³ã¹ã¿ã³ã¹ã§ããhpc7aãšæ¯èŒããŠããTurinäžä»£ã®hpc8aã¯äžæ®µäœãã¹ã³ã¢ãšãªã£ãŠããã èšç®é床ã ãã§ãªãããžã§ãåäœã®çµæžæ§ãšããé¢ã§ãäžä»£æŽæ°ã®ã¡ãªããã倧ãã ããšã確èªã§ããŸããã 以äžãLS-DYNAã®ãã³ãããŒã¯çµæã§ãã ä»åã®LS-DYNAã§ã¯ãå®è¡æéã»ã³ã¹ãã»ã³ã¹ãããã©ãŒãã³ã¹ã®å
šãŠã§hpc8aãåªããŠãããç¹ã«åäžä»£hpc7aããã®æ§èœåäžã4å²ååŸãc8aãšã®ã³ã¹ãå·®ã5å²è¿ããŸã§åºãã£ãç¹ãå°è±¡çã§ããã 4. Siemens STAR-CCM+ ãã³ãããŒã¯çµæ ç¶ããŠSiemens STAR-CCM+ã®ãã³ãããŒã¯çµæã§ãã STAR-CCM+ã§ã¯ã 128䞊åã»256䞊åã»512䞊åã»1024䞊åã»2048䞊å ã§ãã³ãããŒã¯ã宿œããŸããããªãœãŒã¹ã®éœåäžãäžéšäžŠåæ°ã«ã€ããŠã¯ãã³ãããŒã¯ã宿œã§ããŠããªãããšãäºæ¿ãã ããã 4.1 å®è¡æé ãœã«ããŒå®è¡ã®çµéæéæ¯èŒ STAR-CCM+ã§ã¯ã TurinãæèŒããc8aã»hpc8aãå
šäœãšããŠè¯å¥œãªæ§èœ ã瀺ããŸããã äžæ¹ã§ã256䞊åãŸã§ã¯Intel Xeon 6 Granite Rapids-APãæèŒãã r8i.96xlarge ãè¯ãæ§èœã瀺ããŠãããLS-DYNAãšã¯å°ãéã£ãåŸåãèŠãããŸãã åäžä»£hpcã€ã³ã¹ã¿ã³ã¹ãšã®æ¯èŒ hpc7a.96xlargeãšhpc8a.96xlargeãæ¯èŒãããšãå
šãŠã®äžŠåæ°ã§hpc8aãé«éãšãªããŸããã äžŠåæ° hpc7a å®è¡æé [s] hpc8a å®è¡æé [s] æ§èœåäžç 128 4,031 2,917 çŽ28%åäž 256 2,078 1,732 çŽ17%åäž 512 1,079 790 çŽ27%åäž 1024 614 467 çŽ24%åäž 2048 412 308 çŽ25%åäž 256䞊åã§ã¯çŽ17%ã«ãšã©ãŸããã®ã®ãå
šäœãšããŠã¯ 2å²ååŸãã3å²åŒ±ã®æ§èœæ¹å ã確èªã§ããŸããã ã³ã³ãã¥ãŒãã£ã³ã°æé©åã€ã³ã¹ã¿ã³ã¹ãšã®æ¯èŒ åãTurinãæèŒããc8a.48xlargeãšã®æ¯èŒã§ã¯ã以äžã®çµæãšãªã£ãŠããŸãã äžŠåæ° c8a å®è¡æé [s] hpc8a å®è¡æé [s] æ¯èŒ 128 3,268 2,917 hpc8aãçŽ11%é«é 256 1,702 1,732 hpc8aãçŽ2%äœé 512 889 790 hpc8aãçŽ11%é«é â»1024䞊åã»2048䞊åã§ã¯c8aã®çµæããªãããæ¯èŒå¯Ÿè±¡å€ã§ãã LS-DYNAã§ã¯c8aã«å¯ŸããŠ3å²ååŸã®æ§èœå·®ãåºãŠããŸããããSTAR-CCM+ã§ã¯ãã®å·®ã¯æ¯èŒçå°ããã ãœã«ããŒã«ãã£ãŠã€ã³ã¹ã¿ã³ã¹ç¹æ§ã®å¹ãæ¹ãç°ãªã ããšãåãããŸãã 4.2 ã³ã¹ã ã³ã¹ãæ¯èŒ STAR-CCM+ã§ãã å
šãŠã®äžŠåæ°ã§hpc8a.96xlargeãæãäœããžã§ãã³ã¹ã ãšãªããŸããã æ§èœå·®ãæ¯èŒçå°ããã£ã256䞊åã§ããhpc8aã¯ã€ã³ã¹ã¿ã³ã¹å䟡ãæããããŠãããããã³ã¹ãé¢ã§ã¯åªäœãªçµæãšãªã£ãŠããŸãã åäžä»£hpcã€ã³ã¹ã¿ã³ã¹ãšã®ã³ã¹ãæ¯èŒ hpc7a.96xlargeãšã®æ¯èŒã§ã¯ã以äžã®ã³ã¹ãæ¹åãšãªããŸããã äžŠåæ° hpc7a ã³ã¹ã ã³ã¹ãæ¹åç 128 $8.06 $6.42 | çŽ20%äœäž 256 $8.31 $7.62 | çŽ8%äœäž 512 $8.63 $6.95 | çŽ19%äœäž 1024 $9.82 $8.22 | çŽ16%äœäž 2048 $13.18 $10.84 | çŽ18%äœäž å
šäœãšããŠã 2å²çšåºŠã®ã³ã¹ãæ¹å ã確èªã§ããŸããã ã³ã³ãã¥ãŒãã£ã³ã°æé©åã€ã³ã¹ã¿ã³ã¹ãšã®ã³ã¹ãæ¯èŒ c8a.48xlargeãšã®æ¯èŒã§ã¯ã128ïœ512䞊åã§ä»¥äžã®çµæãšãªããŸããã äžŠåæ° c8a ã³ã¹ã ã³ã¹ãæ¹åç 128 $9.40 $6.42 | çŽ30%äœäž 256 $9.79 $7.62 | çŽ22%äœäž 512 $10.22 $6.95 | çŽ32%äœäž å®è¡æéã§ã¯c8aãšã®å·®ãå°ããã±ãŒã¹ããããŸããããã³ã¹ããŸã§å«ãããš hpc8aã¯3å²ååŸã®æ¹å ãšãªããŸããã 4.3 ã³ã¹ãããã©ãŒãã³ã¹ ã³ã¹ãããã©ãŒãã³ã¹æ¯èŒ c7a.48xlargeãã1.0ããšããŠæ¯èŒãããšãSTAR-CCM+ã§ã hpc8a.96xlargeãå
šäžŠåæ°ã§æãè¯ãã³ã¹ãããã©ãŒãã³ã¹ ãšãªããŸããã ãŸããäžŠåæ°ãå¢ããã«ã€ããŠäžéšã®ã€ã³ã¹ã¿ã³ã¹ã¿ã€ãã§ã¯ã³ã¹ãããã©ãŒãã³ã¹ãæªåããäžæ¹ãhpc8aã¯å€§èŠæš¡äžŠåã§ãè¯å¥œãªå€ãç¶æããŠããŸããã 以äžãSTAR-CCM+ã®ãã³ãããŒã¯çµæã§ãã LS-DYNAã»ã©hpc8aãšc8aã®å®è¡æéå·®ã¯å€§ãããããŸããã§ãããã åäžä»£hpc7aã«å¯Ÿããæ§èœåäžãšãhpc8aã®ã€ã³ã¹ã¿ã³ã¹äŸ¡æ Œã®ãã©ã³ã¹ã«ãããã³ã¹ãã»ã³ã¹ãããã©ãŒãã³ã¹ã§ã¯hpc8aãå®å®ããŠè¯ãçµæ ãšãªããŸããã 5. ãããã« å
š2åã«ããããAWSã®hpc8aã€ã³ã¹ã¿ã³ã¹ã«ã€ããŠãAnsys FluentãAnsys LS-DYNAãSiemens STAR-CCM+ãCradle MSC scFLOWã®4ã€ã®CAEãœã«ããŒãçšãããã³ãããŒã¯çµæãã玹ä»ããŸããããããã§ãããã ä»åã®LS-DYNAãšSTAR-CCM+ã§ãã第1åã®Fluentã»scFLOWãšåæ§ã«ã hpc8aã¯å®è¡æéã ãã§ãªããã³ã¹ãã»ã³ã¹ãããã©ãŒãã³ã¹ã®èгç¹ã§ãè¯ãçµæ ã瀺ããŸããã ç¹ã«å°è±¡çã ã£ãã®ã¯ããœã«ããŒã«ãã£ãŠå·®ã®åºæ¹ãç°ãªãããšã§ãã LS-DYNA ã§ã¯ãåäžä»£hpc7aã«å¯ŸããŠ4å²ååŸã®æ§èœåäžãèŠãããåäžä»£Turinã®c8aã«å¯ŸããŠã3å²ååŸé«éãšãã倧ããªå·®ãåºãŸããã STAR-CCM+ ã§ã¯ãc8aãšã®å®è¡æéå·®ã¯æ¯èŒçå°ããäžæ¹ã§ãåäžä»£hpc7aããã¯2å²ååŸã®æ§èœæ¹åãèŠãããã³ã¹ããå«ãããšhpc8aã®åªäœæ§ãæç¢ºã«ãªããŸããã hpc8aã¯æ±äº¬ãªãŒãžã§ã³ã§ãå©çšã§ããHPCåãã€ã³ã¹ã¿ã³ã¹ ã§ãã®ã§ãæ¥æ¬åœå
ã§å€§èŠæš¡ãªCAEã¯ãŒã¯ããŒããå®è¡ãããŠããæ¹ã«ãšã£ãŠããã²éžæè¢ã®äžã€ãšããŠãæ€èšããã ããã°ãšæããŸãïŒ CAE/HPCã§ã¯ããšã«ããäžçªéãã€ã³ã¹ã¿ã³ã¹ãéžã¹ã°ããããšããããã§ã¯ãªãããœã«ããŒã®ç¹æ§ãäžŠåæ°ããžã§ãå䟡ãŸã§å«ããè©äŸ¡ãéèŠã§ãã ä»åã®çµæã§ã¯åçŽãªé床æ¯èŒã ãã§ãªãã ã³ã¹ãããã©ãŒãã³ã¹ãšããææš ãå«ããŠã€ã³ã¹ã¿ã³ã¹ãæ¯èŒããŸããã é»éç·ç ã§ã¯ãå€è§çã«ã客æ§ã®ã¯ãŒã¯ããŒãã«é©ããã¯ã©ãŠãHPCã®æ§æãæ€èšããããŸãã ã¯ã©ãŠãHPCã«ãèå³ããæã¡ã®æ¹ã¯æ¯éãæ°è»œã«ãåãåãããã ããã æ«çã«ãªããŸããããæ¬ãã³ãããŒã¯å®æœã«ããããã©ã€ã»ã³ã¹ã»ãã³ãããŒã¯ã¢ãã«ã®ãæäŸãã¯ããããååããã ããŸããå瀟æ§ããé¢ä¿è
ã®çæ§ã«åãã瀌ç³ãäžããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @takeda.takafumi ã¬ãã¥ãŒïŒ @yahagi.ginpei1128 ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ããšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éš æŠç¥ãœãªã¥ãŒã·ã§ã³ 1 éšã®è±ã§ãã æ®æ®µã¯AWSã§Webã¢ããªäœããªã©ããŠããŸãã è¶£å³ã§ã¯ããŒãã²ãŒã ãåãã§ããããªããšèªå®
ã«çŽ200çš®é¡ä»¥äžã®ããã²ãææããŠããŸããããŒãã²ãŒããŒã§ãã ãããªç§ã®ããã«ç»å Žãããšèšã£ãŠãéèšã§ã¯ãªãããšãã§ããªããã¥ãŒã¹ãé£ã³èŸŒãã§ããŸããã â Amazonã®AWSãµãŒãã¹ãåŠã¹ãã«ãŒãã²ãŒã ãAWS BuilderCardsãæ¥æ¬èªçãäºçŽåä»äž ããã AWSã®ããã² ã§ãã ã¡ãã£ãšäœãèšã£ãŠããããããªãã®ã§ããšãããã賌å
¥ããŠã¿ãŸããã( Amazon賌å
¥ãªã³ã¯ ) ã¯ãã㊠ããã¯ããã°ãªã®ãã©ããæ©ãŸãããšããã§ãã ãä»åã¯ãã®ã²ãŒã ãAWSãšã³ãžãã¢å
ŒããŒãã²ãŒããŒãšã㊠ã¬ãã¬ãã¥ãŒ ãããŠããããšæããŸãã (ãã£ãšç€Ÿå
ã¬ãã¥ãŒãéãã¯ã) ã©ããªã²ãŒã ïŒ AWSã®ãªãœãŒã¹ãçµã¿åãããŠã·ã¹ãã ãæ§ç¯ããã¹ã³ã¢ãç«¶ãã«ãŒãã²ãŒã ã§ãã ãšããã®ã¯è¡šåãã®èª¬æã§ããã®æ¬æ§ãšããŠã¯ ãããæ§ç¯ ãžã£ã³ã«ã® 軜éçŽããŒãã²ãŒã ã§ããã ãã«ããŒã®ã¿ãªãããããããïŒ ä»æ¥ã¯ããªããITã¢ãŒããã¯ããšããŠæ¡çšããã忥ã§ãïŒããªãã®ä»äºã¯ãããŒã ãç«ã¡äžããã¢ãã³ã§ã驿°çã§ãã¯ã©ãŠããã€ãã£ããªã¢ããªã±ãŒã·ã§ã³ãããããäœãããš(æéèŠïŒ)ã§ãïŒãããããŸã ãªã³ãã¬ãã¹ã®ã€ã³ãã©ãæ®ã£ãŠããŸããæ¢åã®ãªãœãŒã¹ãè³¢ã䜿ããæ°ãããµãŒãã¹ãæ¡çšããAWSã¢ãŒããã¯ãã£ãæ§ç¯ããããããã®Well-Architectedãã€ã³ããååŸããŠãã ããïŒ AWS BuilderCardsã¯ãAWSãµãŒãã¹ã«ã€ããŠåŠã³ãªãããå®éã®ã¢ãŒããã¯ãã£ãæ§ç¯ããããã®ã«ãŒãã²ãŒã ã§ãã AWSã«é¢é£ããèªèº«ã®æ¥åãã·ã¹ãã ãšã®çµã³ã€ããŠãã¬ã€ããã®ãæé©ã§ãã â»åŒçšïŒããã±ãŒãžèé¢ ã²ãŒã æŠèŠ ãžã£ã³ã«ïŒãããæ§ç¯ ãã¬ã€äººæ°ïŒ2ïœ4人 ã²ãŒã æéïŒ20ïœ30å 察象幎霢ïŒ12+ éå°ã®å äžèº«ã¯ãããªæãã ã³ã³ããŒãã³ãã¯ã«ãŒãã®ã¿ã§ãã¯ã€ãã¯ãªãã¡ã¬ã³ã¹ã«ãŒããå
å
ãããŠããŸãã æ£çŽãªãšãããç§ã¯ã¯ã€ãã¯ãªãã¡ã¬ã³ã¹ã«ãŒãã ãã§ã«ãŒã«ãçè§£ããããšã¯é£ããã£ãã®ã§ãç®±ã®è£é¢ã«èšèŒã®QRã³ãŒãããããã¥ã¢ã«ã確èªãããŠããã ããŸããã å
å®¹ç© ã¯ã€ãã¯ãªãã¡ã¬ã³ã¹ã«ãŒã(ç°¡æã«ãŒã«èª¬æ)ïŒ2æ Starter Cards(åæããã)ïŒ10æÃ4 AWS Well-Architectedã«ãŒã(åå©ç¹)ïŒ12æ ãã«ããŒã«ãŒã(ã³ã¹ãç¡)ïŒ77æ ãã«ããŒã«ãŒã(ã³ã¹ãæ)ïŒ14æ ã²ãŒã ã®æµã åºæ¬çã«ã¯ä»¥äžã®2ã¹ããããè¡ããŸãã ææã®ã«ãŒãã䜿ã£ãŠã¢ãŒããã¯ãã£ãæ§ç¯ãã åŸãããã¯ã¬ãžããã§ æ°ããã«ãŒã ãŸã㯠åŸç¹ã«ãŒã ã賌å
¥ãã æèŠãšããŠã¯ ã¯ã©ã³ã¯ïŒ ã ããããªã³ ã«è¿ãã²ãŒã æ§ãæããŸããã ã«ãŒãããšã«çžæ§ããããã³ã³ããæ±ºããŠæ°æã¡è¯ããªãã¿ã€ãã®ã²ãŒã ã§ãã äžäŸãšããŠã ãAWS CloudTrailããšãAmazon OpenSearch Serviceããçµã¿åããããš1ãããŒã§ãã ãAmazon DynamoDBããšãAWS Lambdaããçµã¿åããããš1ãããŒã§ãã ã®ãããªããã¡ã§ã å®éã®AWSã§ãçžæ§ã®ãããµãŒãã¹éã«ã·ããžãŒãããããã«èšèšãããŠããŸã ã â»ãããŒïŒå±±æããã«ãŒããåŒã 1ã¯ãã°æ€çŽ¢ã®åºç€ãšããŠã2ã¯ãµãŒãã¬ã¹ã¢ãŒããã¯ãã£ã®åºç€ãšããŠããçµã¿åããããµãŒãã¹ã§ãããã ã»ããã¢ãã ä»åã¯äžäººãŸããã1æéã»ã©ãã¬ã€ããŠã¿ãŸããããã¡ããã¡ãèªå®
ã®é¢šæ¯ã§ãã¿ãŸããã 以äžã¯ã»ããã¢ãã颚æ¯ã§ãã å·Šäžã®å±±ïŒã³ã¹ãç¡ã®ãã«ããŒã«ãŒã å³äžã®å±±ïŒã³ã¹ãæã®ãã«ããŒã«ãŒã å³äžã®è¡šã®å±±ïŒWell-Architectedã«ãŒã(åå©ç¹) äžéšã®ã«ãŒãïŒçŸåšååŸã§ãããã«ããŒã«ãŒã(ã«ãŒãã·ã§ããã®ãããªãã®) ãã¬ã€ Amazon S3ãšAmazon CloudFrontãååŸããŸããã ã«ãŒãããã¹ããèŠããšããããšããããããã®ã«ãŒãã«ã¯ã·ããžãŒããããŸãã å·Šäžã®ãã«ããŒã«ãŒãããæ°ããã«ãŒããå
¬éããŸãã AWS Lambdaãå
¬éãããŸããã仿æããŠããAmazon S3ãšã·ããžãŒãããã®ã§æ¬²ãããšããã§ãã â»ä»åã¯äžäººåãã§ãããè€æ°ãã¬ã€ã€ãŒã®å Žåã¯æ¬²ããã«ãŒããç«¶åããŸã åæã§5æåŒããŸããå
šãŠã¹ã¿ãŒãããã(Sãä»ããŠããã«ãŒã)ã®ãããã³ã¹ãæã®ã«ãŒãã¯è²·ããŸããã æ¬¡ã®ã¿ãŒã³ã«ãªããŸãããAmazon CloudFrontã®å¹æã§1ãããŒã§ããŸãã ããã«ã¿ãŒã³ãé²ããŠãããŸããããã§åããŠãããå§çž®ãçºåããŸããã çºåæ¡ä»¶ã¯ã¿ãŒã³éå§æã®5æã®ææã§ãBuilder Cardã®ææ°ãStarter Cardã®ææ°ããå€ãããšã§ããïŒæ·»ä»ã®å ŽåãStarter 2æ < Builder 3æïŒ ãªã³ãã¬ã®Document Storeãã²ãŒã ããé€å€ããŸããããã§ãããå
ã®ãã«ããŒã«ãŒãã®æ¯çãåäžããããããµã€ã¯ã«ãæ¹åãããŸãã äžã®å³ã§ã¯2+2+2ã§6ã¯ã¬ãžãããããŸãã®ã§ãAWS Well-Architectedã«ãŒãã賌å
¥ã§ããŸãã Well-Architected Cardã®è³Œå
¥ã³ã¹ãã¯ã3ç¹ã«ãŒãã8ã¯ã¬ãžããã1ç¹ã«ãŒãã3ã¯ã¬ãžããã§ããïŒãããè¥å¹²ãããããïŒ èŠçŽ ãšããŠããããïŒããšæãããšãã 以äžã¯ããŒãã²ãŒããŒãšããŠã®åäººã®ææ³ã§ãã åºç€ãå調ãããïŒåºç€ã®éãåŸåã«é¿ã åæããã10æã§ã¯ã¢ãŒããã¯ãã£æ§ç¯ã«ããã¯ã¬ãžãããã»ãŒçã¿åºããªããããåºç€ã¯ã³ã¹ããªãBuilder CardãååŸããã¿ãŒã³ãç¶ãããã ååã®ãããå§çž®ãçºçããã¿ã€ãã³ã°ããæ¥å éãã (Builder Cardã®æ¯çãäžãããšãæ¥ã«ããããåãå§ãã) ã³ã³ããåãå§ããã¿ã€ãã³ã°ã«éèŠçŽ (ã«ãŒãã®åŒã)ã匷ããåºç€ã«éããå·®ãåãŸãã«ããã æ¹åæ¡ïŒãããå§çž®ã«æ¡ä»¶ãå®ãããæ¯ã¿ãŒã³1æã®ã«ãŒããé€å€ã§ããããã«ãã â»ãã®ã²ãŒã ã§ã¯ãããå§çž®ãé€å€ã®ããšããªã¿ã€ã¢ãšåŒã³ãŸã è¯ãèšèšããã人ãå¿
ãåãŠãããã§ã¯ãªã åå©ç¹ã®èšç®ã¯Well-Architectedã«ãŒãã®åèšã§ãã ã«ãŒã賌å
¥ã§ãã«ããŒã«ãŒããéžã¶ããWell-Architectedã«ãŒããéžã¹ãããã§ããããã«ããŒã«ãŒãã°ã£ããè²·ã£ãŠãããšè¯ãæ§ç¯ã«ã¯ãªããåå©ç¹ã«ãªããªãä»çµã¿ã§ãã ã€ãŸãã è¯ãæ§ç¯ãçŽæ¥è©äŸ¡ããä»çµã¿ã§ã¯ãªã ãšããããã§ãããã ãè¯ãæ§ç¯ãªãã°ãWell-Architectedã«ãŒããè²·ããã£ã³ã¹ãå€ãçºçããŸãã ããããªã³ ãšããã²ãŒã ãšåãã§ããã€åè² ã仿ããã(ç¹æ°ãåãã«è¡ãã)ãåæã«å€§ãã圱é¿ããŸãã æ¹åæ¡ïŒãµãããã·ã§ã³ãªã©è¿œå ã§åå©ç¹ãåŸãããä»çµã¿ãå°å
¥ãã ããŒãã²ãŒã ã«ãããã圢åŒãšããŠããã¬ã€ãããã³ã«ã©ã³ãã ãªç®æšãã»ãããããã±ãŒã¹ããããŸããæè¿ã ãš ãã¯ã³ ãšããã²ãŒã ããã®ä»çµã¿ã§ããã ä»åã®AWSã®ã²ãŒã ã§ããã°ããã¯ã©ã€ã¢ã³ãã¯ãªã³ãã¬ç°å¢ã«å€§éã®æžé¡ããŒã¿ã管çããŠãããèé害æ§ã§å°ã£ãŠããããã§ããã²ãŒã çµäºæã«EFSãS3ãå«ãã æ§ç¯ã«ãªã£ãŠããã远å ã§åå©ç¹+3ç¹ããªã©åã²ãŒã ããšã«å€åãããããã·ããªãªã«ãŒããããã°ããªãã¬ã€æ§ãåäžããŸãã ã§ãå®ã¯ãªããšAWSå
¬åŒããããã«è¿ã Mission Card ãšãããªãã·ã§ã³èŠçŽ ãçšæãããŠããŸãããã°ãããïŒ Mission Cardã¯ããŒã¹ã²ãŒã ã«ãé©çšã§ããGenerative AI Add-On Packãšãã远å ããã¯ã«ãå«ãŸããŠããŸãã åŒçšïŒ äžçŽã«ãŒã«è±èªç äžèšã¯ãBoost Developer ProductivityïŒéçºè
ã®çç£æ§ãé«ããïŒããšããããã·ã§ã³ã§ããAmazon CodeCatalystãAmazon Q DeveloperãCompute Service ãçµã¿åãããæå®ã®ã¢ãŒããã¯ãã£ã宿ãããããšã§ãMission CardãåŸç¹ãšããŠç²åŸã§ããŸãã ã©ã³ãã æ§ãèããåèª¿ã«æãã ããŒãã²ãŒã ã¯è¯ããæªãã æãããã«ãããªããšããã«æ¥œãã ããããŸãããã¬ã€ã€ãŒãçãããã€ã³ãã§ãã çŸåšã®ä»çµã¿ã ãšã欲ããã«ãŒããåãåããã¬ã€ã€ãŒéã®ã€ã³ã¿ã©ã¯ã·ã§ã³ã¯çºçããŸãããæ¯èŒçæŠç¥éãã«é²ãããããããã©ã³ãã æ§ã¯ããèãæããŸããã æ¹åæ¡ïŒéå®³ãæ»æèŠçŽ ããããšãããã äŸãã°ã10ã©ãŠã³ãããšã«ãçœå®³ããããã«ãŒã«ããæ»æãã®èŠçŽ ã§ã·ã¹ãã ã®äžéšãããŠã³(ã«ãŒãé€å€)ãããªã©ã®ã©ã³ãã ã€ãã³ããèšå®ãããã®æå®ã¿ãŒã³ãŸã§ã«å¯Ÿçãæã£ãŠãããªããšããã£ããèªåãæ§ç¯ããã·ã¹ãã ã«è¢«å®³ãåºãŠããŸãã¿ãããªã®ããããšãåå©ç¹ãéãã以å€ã® 远å ç®æš ã«ãªããŸãããAWSãšããŠã®ãªã¢ãªãã£ãæããããŠãã²ãŒã ãšããŠã®æ²¡å
¥æãããäžå±€é«ãŸãã®ã§ã¯ãªãããšæããŸãã ãšæã£ããããªããšãããæ¡åŒµçãšããŠæäŸãããŠããŸãããã°ãããããã Resilience Expansion ãšããæ¡åŒµãååšããåã©ãŠã³ãåŸã« Chaos Event ãçºçã ãããããŒã ã§å¯ŸåŠããªããèé害æ§ã®é«ãã¢ãŒããã¯ãã£ãæ§ç¯ããŠããåååã²ãŒã ã«ãªããŸãããããAWSãæ¬åœã«æãç®ããªãã§ãããã ãŸãšã(ææ³) ã¯ãããšããããã§ãä»åã¯æ¥æ¬èªçã®AWS BuilderCardsã§éãã§ã¿ãŸããã åºæ¬ã»ããã ãã§éã¶ãšããåèª¿ã«æããéšåããããŸããããAWSãµãŒãã¹å士ã®é¢ä¿æ§ãã«ãŒãã²ãŒã ãšããŠçŽæçã«äœéšã§ããç¹ã¯ããšãŠãé¢çœãã£ãã§ãã ããã«ãMission CardãResilience Expansionãªã©ã®è¿œå èŠçŽ ãŸã§å«ãããšããAWSãåŠã¶ã²ãŒã ããšããŠããªãããèããããŠãããšæããŸããã ããšãåçŽã«ã«ãŒãã«AWSãªãœãŒã¹ãæãããŠããã ãã§ããã³ã·ã§ã³äžãããŸãããã ã³ã¬ã¯ã·ã§ã³ç®çã§è³Œå
¥ããã®ãå
šç¶ããã ãšæããŸãã 1å20ïœ30åã§éã¹ãã®ã§ãAWSã«åããŠè§Šãã人åãã®å匷äŒããæ¡çšã»ç ä¿®æã®ã¢ã€ã¹ãã¬ã€ã¯ã«ã䜿ãããããã§ãã åè AWS BuilderCards å
¬åŒãµã€ã AWS BuilderCards 2nd Edition å
¬åŒã«ãŒã« AWS BuilderCards Builder's Guideline AWS BuilderCards Resilience Expansion AWS BuilderCards Second Edition / Generative AI Add-On Pack çŽ¹ä» æ¡çšæ
å ± å
æ¥Xã§ãJTCã§ã¯ç€Ÿå
ã®AIå©çšãé²ãã§ãããåãã«ãããã¿ãããªã®ã話é¡ã«ãªã£ãŠãŸããããåŒç€Ÿã¯ãã®æ°å¹Žéã§åçš®AIããŒã«ã®ã©ã€ã»ã³ã¹ãç³è«åšããããªãæŽåããããã¡ããã¡ãåããããã§ãã AIã䜿ã£ãŠå¹ççã«ä»äºãããSIã®æ¹ã¯ãã²ãæ€èšãã ãããClaudeCodeãCodexã䜿ãããæŸé¡ã§ãã(2026幎9æçŸåš) â ã®ã¹ã¿ãŒãæŒããŠããã ãããšå¬ããã§ããå±ã¿ã«ãªããŸãã æåŸãŸã§èªãã§ããã ããããããšãããããŸããã ãšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éšã§ã¯äžç·ã«åããŠãã ãã仲éãåéäžã§ãã以äžã®ãªã³ã¯ãããé¡ãããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã æ°åæ¡çš-ãšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éš å·çïŒ è± è¯æ²» (@hanabusa.ryoji) ã¬ãã¥ãŒïŒ @azeta.takuya ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ããšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éš æŠç¥ãœãªã¥ãŒã·ã§ã³ 1 éšã®è±ã§ãã æ®æ®µã¯Webã¢ããªãã¹ããã¢ããªã®æ¡ä»¶ãªã©ãæ
åœããŠããŸããããšãè¶£å³ã§AIãå匷ããŠããŸãã äžçäžãJevã®è©±é¡ã§æã¡åããªã®ã§ãæµè¡ãã«ä¹ããŸãã å¿ãã人åãã«çãç°¡æœã«æžããŸãïŒãã£ãš5ååŸã«ã¯ Jevããã£ãããïŒ ã®ç¶æ
ã«ãªããšæããŸãã 詊ãã«é»éç·ç ããã¯ããã°ã®èšäº100æ¬ãé«éã«ä»åããè¡ã«èŠç«ãŠãŠå¯èŠåããŠã¿ãã®ã§ããã®æ§åãã芧ãã ããïŒ åŒç€Ÿã®ãããŸã§ã®æ©ã¿ãæé·ãé«éã«å¯èŠåãããŸãã Jevãšã¯ïŒ æç« ãçæããAIã§ã¯ãªãã å°ããªå€æãé«éã«è¿ãAI ã§ãã ãã©ã®ã«ããŽãªãããäœç¹ãããYes / No ããã確çä»ãã®æ§é åããŒã¿ã§è¿ããŸããåé¡ãã¹ã³ã¢ãªã³ã°ãã¿ã°ä»ãã倧éããŒã¿ã®ä»åããäž»æŠå Žã§ãã ã©ãããä»çµã¿ïŒ æç« (state)ãšè³ªå(questions)ãæž¡ããŸãã質åã¯3çš®é¡ã§ã1åã®åŒã³åºãã«è€æ°ãŸãšããŠåæã«è©äŸ¡ã§ããŸãã çš®é¡ è¿ããã® äŸ Choice éžæè¢ããšã®ç¢ºç ãã®èšäºã®äž»é¡ã¯? Score 段éããšã®ç¢ºçãšæåŸ
å€ æè¡çãªæ·±ãã¯0ã4ã®ã©ã? Noul Yesã®ç¢ºç(0ã1) AWSã®èšäº? TypeSafe㯠å
¬åŒããã° ã§ãæ°ããã¢ãã«ã¢ãŒããã¯ãã£ãParallel Samplerã RLCD(Reinforcement Learning for Calibrated Decisions)ãšããåŠç¿æ³ãæ¡çšããŠãããšèª¬æããŠããŸãã ããå°ãã ãäžèº«ã®è©±(è§£é蟌ã¿) TypeSafeã«ãããšãJevã¯åŸæ¥ã®LLMãšã¯ç°ãªãæ°ããã¢ãã«ã¢ãŒããã¯ãã£ãæ¡çšããParallel Sampler ãš RLCDïŒReinforcement Learning for Calibrated DecisionsïŒãšããä»çµã¿ã䜿ã£ãŠããŸããå
éšã¢ãŒããã¯ãã£ã®è©³çްã¯çŸæç¹ã§ã¯å
¬éãããŠããŸããã Parallel Sampler ïŒLLMã®ããã«ããŒã¯ã³ã1ã€ãã€çæããã®ã§ã¯ãªããè€æ°ã®è³ªåã«å¯Ÿããåºåã䞊åã«è¿ã RLCD ïŒå€æçµæã«å ããŠããã®ç¢ºçãä¿¡é ŒåºŠãé©åã«ãªãããåŠç¿ãã åä»ãã®åºå ïŒæç« ã§ã¯ãªããChoice / Score / Noulãªã©äºåã«å®çŸ©ããã圢ã§çµæãè¿ã 誰ãäœã£ãïŒ Diogo Almeidaæ°ãã嵿¥ããTypeSafe AI ãDiogo Almeidaæ°ã¯TypeSafe AIã®å
±å嵿¥è
å
ŒCEOã§ãå
OpenAIã»Google Brainã®AIç ç©¶è
ã ãªãéããŠå®ãïŒ LLMã¯ããŒã¯ã³ãé ã«çæããŸãããJevã¯æç« çæã§ã¯ãªããåä»ãã®å€æãšãã®ç¢ºçãè¿ãããšã«ç¹åããŠããŸããè€æ°ã®è³ªåã«å¯Ÿããåºåã1åã®ã¯ãšãªã§äžŠåã«è¿ããŸããå
¬è¡šå€ã¯å¿ç70ã500msãå
¥å$0.042/çŸäžããŒã¯ã³ã åºåã¯ç¡æ ãTypeSafeã®è©äŸ¡ã§ã¯ãSystem Oneåã®ã¯ãšãªã§LLMãã40ã200åé«éãšã®ããšã ãšããããšã§è©ŠããŠã¿ã åŒç€Ÿã®ããã¯ããã°100æ¬ãJevã§åé¡ãã 3Dã®è¡ãçæããããã¢ã㪠ãäœããŸãããæ¬ããã°ã®æ©ã¿ãå¯èŠåãããŸãã èšäº1æ¬ = 1ãªã¯ãšã¹ãã§16åããŸãšããŠèããŸãã Choice Ã1: äž»é¡(AI / Cloud / Security / DevOps / Data / Software / Manufacturing / Productivity / Other) Score Ã3: æè¡çæ·±ãããã³ãºãªã³åºŠãæ°ãã Noul Ã12: AI / AIãšãŒãžã§ã³ã / AWS / Azure / Google Cloud / ã³ãŒã / ã¢ãŒããã¯ã㣠/ å®éš / ãã³ãããŒã¯ / CI/CD / IaC / ã»ãã¥ãªã㣠ã¢ããªããã®åŒã³åºã㯠èš100åã䞊å5æ¬ ã1,600å€å®ã100åã§æžãŸãã5æ¬åæã«é£ã°ããŠ1ã€è¿ããã³ã«æ¬¡ãæããŸãã é ã«åŒã¶ãšçŽ65ç§ã®èšç®ã§ããã宿ž¬13.26ç§ã§ãããJevã¯1ãªã¯ãšã¹ãå
šäœã§64kããŒã¯ã³ãŸã§æ±ããŸãããstate ãšæé·ã®è³ªå1ã€ãåãããŠ32kããŒã¯ã³ãŸã§ãšããå¶éããããŸãããã®ãããä»åã®ããã«1èšäºçŽ7,000ããŒã¯ã³ã®å Žåã100èšäºã1ãªã¯ãšã¹ãã«ãŸãšããããšã¯ã§ããŸããã æè¡ã¯ Next.js 15 + TypeScriptã3D 㯠React Three Fiber(Three.js)+ drei + postprocessingãç¶æ
管ç㯠zustandã Jev ã¯å
¬åŒ JavaScript SDK( @typesafe-ai/sdk )ããµãŒããŒåŽããåŒãã§ãŸãã Jevã®çµæ è¡ã§ã®è¡šçŸ äž»é¡(Choice) å°åº æè¡çæ·±ã / ãã³ãºãªã³åºŠ / æ°ãã(Score) é«ã / å¹
/ çºå
AIãšãŒãžã§ã³ããAWS / Azure / GCP(Noul) ãªã³ã°ãå±äžã®ããŒã³ã³ CI/CDãIaC(Noul) å±äžã®å転ããŒãäžéšã®è¶³å Žæ Œå ã³ãŒã / ã¢ãŒããã¯ã㣠/ å®éš / ãã³ã(Noul) ããã« / ã¢ã³ãã / ããŒãã£ã¯ã« / ã¡ãŒã¿ãŒ ããã«ã®èŠæ¹ 建ç©ãã¯ãªãã¯ãããšå® API ã§åå€å®ãã16åã®çãã質åã¿ã€ãå¥ã«è¡šç€ºããŸãã Primary Topic(Choice) : 9ã«ããŽãªã®ç¢ºçã®ãã¡1äœã FEATURES(Noul) : åé
ç®ã Yes ã®ç¢ºçãè€æ°åæã«æç«ããåèš100%ã«ã¯ãªããŸããã50%以äžã®ã¿è¡šç€ºã SCORES(Score) : æåŸ
å€ Ã· æå€§å€ãã75%ãã¯0ã4ã®æåŸ
å€3.0 / 4ã Classification NNN ms : åå€å®1åã®APIåŸåŸ©æéã INITIAL â LIVE : æåã®äžæ¬åæãšåå€å®ã®å·®ã ãã®åŸã建ç©ãéå±€ã«åè§£ãããŸãã1å±€ = 1å€å®ã§ãå€ã倧ããã»ã©åããªããŸãã 宿ž¬çµæ 100æ¬ã䞊å5ã§æããçµæ(2026-09-24ã jev-1.13.0 ã瀟å
ãããã·çµç±)ã INITIAL BUILD Articles 100 Completed 100 Decisions 1600 Wall-clock time 13.26 sec Avg API latency 651 ms Median API latency 568 ms p95 API latency 1280 ms Fastest 278 ms Slowest 1578 ms Input tokens 707,688 ãAPI latencyãã¯Jev APIã®åŸåŸ©æéã§ãã¢ãã«å
éšã®æšè«æéã§ã¯ãããŸãã(ãããã¯ãŒã¯åãå«ã)ã æ¬æã¯å
é 6,000æåã§æã¡åããçŽ71äžããŒã¯ã³ãå
¬è¡šå䟡㧠çŽ0.03ãã« ã倱æ0ä»¶(SDKæ¢å®ã®èªåãªãã©ã€ãå«ã)ã å
¥åããŒã¯ã³éãšå¿çæéã®çžé¢ã¯ã»ãŒãªã(çžé¢ä¿æ° 0.07)ãèšäºã®é·ãããåããšã®æºãã倧ããã äž»é¡ã®ååž: AI / GenAI 37ãSecurity 17ãProductivity 16ãCloud 11ãSoftware 7ãDevOps 4ãData 4ãManufacturing 3ãOther 1ã ãAmazon Bedrock Managed Knowledge Base ãæ¥æ¬èªPDFãæ±ããªãä»¶ãã¯ãäž»é¡ = AI / GenAI(1.00)ãAWS 0.99ãã³ãŒã 0.97ãå®éš 0.97ãæè¡çæ·±ã 3.0/4ã補åã§ã¯ãªããäœã®èšäºããã§åé¡ãããAWSã§ããããšã¯Noulã§å¥ã«æŸããŸãã 5ååå€å®ãããšãäž»é¡ã¯æ¯å100%ã§ãå¢çãææ§ãªFeatureã ãæ°ãã€ã³ãæºããŸããã INITIAL LIVE AI / GenAI 100% â 100% (5åãšã) AI Agent 89% â 89% Architecture 59% â 61% / 59% / 58% Benchmark 52% â 50% / 53% / 52% Latency 1176ms â 824 / 859 / 893 / 939 / 1257 ms ãŸãšã ãšããããšã§ä»åã¯è©±é¡ã®Jevã䜿ã£ãŠã¿ãŸããã åé¡ã¢ãã«ã«äŒŒãŠããŸãããçŸç¶æ±ããããŒã¿ã¯ããã¹ããäžå¿ã倿ã確çã§è¿ããšããããã€ã³ãã§ãã ãšã«ããéããŠå®ãã®ãè¯ãã§ãããä»åã®100èšäºã®äžæ¬åæã ããªãçŽ$0.03ãåå€å®ãéçºäžã®è©Šè¡é¯èª€ãŸã§å«ããŠãä»åã®æ€èšŒå
šäœã§$0.1çšåºŠããããããŸããã§ãããé©ç°çã§ããã ã³ãŒã«ã»ã³ã¿ãŒãªã©ã§å°å
¥ããå ŽåãäŸãã°éŸå€ã80%ã«èšå®ããä¿¡é ŒåºŠã80%以äžãªãJevãä¿¡é ŒããŠã·ã¹ãã ã§åŠçãã80%æªæºãªã人ã®å€æã«åãã¿ãããªäœ¿ãæ¹ãè¯ããšæããŸãã 瀟å
ãã·ã¹ãã å
ã®ãã«ã·ãããžã§ããJevã«çœ®ãæããã¿ãããªåãã¯ä»åŸãããããããŸãããã äžåžãJevã«çœ®ãæããŠããããªãã®ä»äºã¯åããããããŸããã å€§èŠæš¡ã·ã¹ãã ã§ã倧ããåŠçã§ã¯ãªãã®ã«ãç¡é§ã«ã³ãŒããè€éã ã£ããããã±ãŒã¹ã£ãŠãããŸãããã ãããã¯Jevã§å€åºãããšã§åŠçãã³ãŒããåçŽåã§ãããããããŸããã åè TypeSafe AI å
¬åŒããã¥ã¡ã³ã: https://docs.typesafe.ai/ Introducing System One Models & Jev(å
¬åŒããã° 2026-09-15): https://typesafe.ai/blog/introducing-system-one-models-and-jev é»éç·ç ããã¯ããã°: https://tech.dentsusoken.com/ æ¡çšæ
å ± å
æ¥Xã§ãJTCã§ã¯ç€Ÿå
ã®AIå©çšãé²ãã§ãããåãã«ãããã¿ãããªã®ã話é¡ã«ãªã£ãŠãŸããããåŒç€Ÿã¯ãã®æ°å¹Žéã§åçš®AIããŒã«ã®ã©ã€ã»ã³ã¹ãç³è«åšããããªãæŽåããããã¡ããã¡ãåããããã§ãã AIã䜿ã£ãŠå¹ççã«ä»äºãããSIã®æ¹ã¯ãã²ãæ€èšãã ãããClaudeCodeãCodexã䜿ãããæŸé¡ã§ãã(2026幎9æçŸåš) â ã®ã¹ã¿ãŒãæŒããŠããã ãããšå¬ããã§ããå±ã¿ã«ãªããŸãã æåŸãŸã§èªãã§ããã ããããããšãããããŸããã ãšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éšã§ã¯äžç·ã«åããŠãã ãã仲éãåéäžã§ãã以äžã®ãªã³ã¯ãããé¡ãããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ äžéæ¡çš-ãšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éš æ°åæ¡çš-ãšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éš å·çïŒ è± è¯æ²» (@hanabusa.ryoji) ã¬ãã¥ãŒïŒ @wang.yuxin ïŒ Shodo ã§å·çãããŸãã ïŒ
ã¯ãããŸããŠã ãšã³ã¿ãŒãã©ã€ãºäŒèšãœãªã¥ãŒã·ã§ã³æ¬éš 第2ãŠããã 補åéçºéšã®æ®µäž 幞倪éã§ãã çŸåšã¯2幎ç®ç€Ÿå¡ãšããŠãäŒèšãœãªã¥ãŒã·ã§ã³ã¢ããªã®åºç€éçºã«åŸäºããŠããŸãã ã¯ããã« æè¡ãã¥ãŒã¹ãæ¯æ¥ãã§ãã¯ãããããã©ãè€æ°ã®ãµã€ããè¡ãæ¥ããã®ãå°å³ã«é¢åââãããªèª²é¡ã解決ããããã«ãClaude Codeã䜿ã£ãŠå人çšã®ãã¥ãŒã¹ã¢ããªãIndiviNEWSããäœããŸããã Hacker Newsãã¯ãŠãªããã¯ããŒã¯äººæ°ãšã³ããªãŒãZennã»Publickeyã®RSSãã£ãŒãããŸãšããŠååŸããã·ã³ãã«ãªãªã¹ããšããŠè¡šç€ºããWebããŒãžã§ããiPhoneã®ãWeb Widgetãã¢ããªã®WebsiteãŠã£ãžã§ããã«åã蟌ãã§ãããŒã ç»é¢ããé²èЧã§ããããã«ããŠããŸãã ã³ãŒãã¯ãã¹ãŠClaude Codeã«æžããã éçšã³ã¹ãã¯å®è³ª$0 ãšããæ§æã§å®çŸããŸãããæ¬èšäºã§ã¯ããã®æ§æãšãAIé§åéçºãéããŠåŸãããåŠã³ããŸãšããŸãã æ¬èšäºã¯ãéé±ã§éå¬ããŠãã瀟å
å匷äŒã25åæè¡äŒãã§ã®çºè¡šå
容ãããšã«å·çãããŠããŸããåãå匷äŒã®ã¡ã³ããŒã§ããæž¡é ç倪éãããã ãã¡ãã®èšäº ã§çºè¡šå
容ããŸãšããŠããŸãããã²ã芧ãã ããïŒ Part 1. äœã£ããã® Part 2. ã¢ãŒããã¯ãã£ãçè§£ãã 2-1. ãµãŒããŒã¬ã¹æ§æã«ããçç± 2-2. ãã£ãã·ã¥ã«ããã³ã¹ãæé©å 2-3. æ¯æã®èªåãã€ãžã§ã¹ã Part 3. 䜿çšããæè¡ã¹ã¿ã㯠Part 4. åŠã³ãæŽçãã 4-1. ç¥ããªãæè¡ãžã®ãã£ããã¢ããã®æ©äŒã«ãªã 4-2. ãšã³ãžãã¢ååŠè
ã«ãšã£ãŠè¯ãæåäœéšã«ãªã 4-3. å人éçºã®å¿ççã»ééçããŒãã«ãäžãã ãŸãšã Part 1. äœã£ããã® IndiviNEWSã¯ã å人çšã®æè¡ãã¥ãŒã¹ã¢ã°ãªã²ãŒã¿ãŒ ã§ãã Hacker News / ã¯ãŠãªããã¯ããŒã¯äººæ°ãšã³ããªãŒ / Zennã»Publickeyã®RSSã1ã€ã®ãªã¹ãã«éçŽ çç¥è¡šç€ºã®ã·ã³ãã«ãªUIïŒãŠã£ãžã§ãããµã€ãºã«æé©åïŒ æ¯æ6:00(JST)ã«ããã®æ¥ã®èŠåºãããŸãšãããã€ãžã§ã¹ããèªåã§Markdownãã¡ã€ã«ãšããŠèšé² è€æ°ã®ãã¥ãŒã¹ãµã€ããæ¯æå·¡åããæéããªãããããŒã ç»é¢ãèŠãã ãã§æè¡ãã¥ãŒã¹ããã£ããã¢ããã§ããç¶æ
ãç®æããŸããã Part 2. ã¢ãŒããã¯ãã£ãçè§£ãã ãã®ã¢ããªã®ç¹åŸŽã¯ã åžžæèµ·åãããµãŒããŒãäžåæããªã æ§æã«ããç¹ã§ãã 2-1. ãµãŒããŒã¬ã¹æ§æã«ããçç± ãªã¯ãšã¹ããæ¥ããã³ã«ãVercelã®ãµãŒããŒã¬ã¹é¢æ°ïŒ api/index.js ïŒãHacker Newsã»ã¯ãŠãªããã¯ããŒã¯ã»RSSã®3ã€ã®ãœãŒã¹ã«ãã®å Žã§ã¢ã¯ã»ã¹ããçµæãHTMLã«æŽåœ¢ããŠè¿ããŸãããªã¯ãšã¹ããçµããã°é¢æ°ãçµäºãããããåžžé§ããã»ã¹ããããŸããã å人çšã®å°ããªã¢ããªã®ããã«èªå®
ãµãŒããŒãVPSãç«ãŠãŠç®¡çããã®ã¯ãèŠæš¡ã«èŠåããªãã³ã¹ãã§ãããµãŒããŒã¬ã¹æ§æã«ããããšã§ãPCã®é»æºãåã£ãŠããŠãã¢ããªã¯åãç¶ãããã€ã€ã³ãã©ç®¡çãã®ãã®ãäžèŠã«ãªããŸãã 2-2. ãã£ãã·ã¥ã«ããã³ã¹ãæé©å Cache-Control: s-maxage=1800 ã®èšå®ã«ãããVercelã®ãšããžãµãŒããŒãã¬ã¹ãã³ã¹ã30åéãã£ãã·ã¥ããŸãã30å以å
ã®åã¢ã¯ã»ã¹ã¯ãã£ãã·ã¥ããå³åº§ã«è¿ãããå€éšãžã®ååŸã¯çºçããŸããã30åãéããåŸã®æåã®ã¢ã¯ã»ã¹ã§ãåããŠææ°æ
å ±ãåååŸãããä»çµã¿ã§ãã Widgetsmithèªäœã®æŽæ°é »åºŠãããããé·ããããå®éã®é¢æ°å®è¡åæ°ã¯ãããããã§ãç¡ææ ã«äœè£ãæã£ãŠåãŸããŸãããããä»åã®æ§æã§ãã¡ã°ã工倫ããéšåã§ããåžžã«ææ°ã§ããå¿
èŠã¯ãªããããçšåºŠã®é®®åºŠãä¿ãããŠããã°ååããšããèŠä»¶ãããã£ãã·ã¥ã®æç¶æéãšãã圢ã«èœãšã蟌ã¿ãŸããã 2-3. æ¯æã®èªåãã€ãžã§ã¹ã ãŠã£ãžã§ãã衚瀺ãšã¯å¥ã«ãGitHub Actionsãæ¯æ6:00(JST)ã«èµ·åãããã®æ¥ã®å
šãœãŒã¹ã®èŠåºãããŸãšãã digests/YYYY-MM-DD.md ãèªåã§ãªããžããªã«ã³ãããããŸããLLMã¯äœ¿ããªãåçŽãªåŠçã®ããããã¡ãã远å ã³ã¹ãã¯ããããŸããã Part 3. 䜿çšããæè¡ã¹ã¿ã㯠é
ç® äœ¿çšæè¡ å®è¡ç°å¢ Node.js ãã¹ãã£ã³ã° VercelïŒç¡æ Hobby ãã©ã³ïŒ ããã¯ãšã³ã Vercel Serverless FunctionsïŒ api/index.js ïŒ ããŒã¿ãœãŒã¹ Hacker News APIãã¯ãŠãªããã¯ããŒã¯RSSãZennã»Publickeyã®RSS ãã£ãã·ã¥ Vercel Edge CacheïŒ Cache-Control: s-maxage ïŒ èªåå GitHub ActionsïŒæ¯æã®ãã€ãžã§ã¹ãçæïŒ ããã³ããšã³ã衚瀺å
iOSãWeb Widgetãã¢ã㪠ã³ãŒãçæ Claude Code ãããã€ãããŒãã·ã³ãã«ã§ãGitHubãªããžããªãšVercelã飿ºãããããšã§ã main ãã©ã³ãã«pushããã ãã§èªåçã«åãããã€ãããŸããã³ãŒãã倿Žããªãéãåãããã€ã¯äžèŠã§ãã³ã³ãã³ãã®æŽæ°ã¯ãã£ãã·ã¥åãåŸã®æ¬¡åã¢ã¯ã»ã¹æã«èªååæ ãããŸãã éçšã³ã¹ãã«ã€ããŠãè§ŠããŠãããšãVercelã®ç¡æHobbyãã©ã³ã¯å人ã»éåçšå©çšãåæã§ããä»åã®ãããªãå人ã®ãŠã£ãžã§ããçšã«ãã¥ãŒã¹ã衚瀺ããã ããã®çšéã§ããã°ç¡ææ å
ã§ååã§ãããä»åŸã¢ã¯ã»ã¹æ°ã倧ããå¢ãããçšéãå€ããå Žåã¯ãProãã©ã³ïŒææïŒãžã®åãæ¿ããæ€èšããå¿
èŠããããŸãã Part 4. åŠã³ãæŽçãã ä»åãã³ãŒãã®ã»ãŒãã¹ãŠãClaude Codeã«æžããããAIé§åéçºãã§ãã®ã¢ããªãäœããŸãããå®éã«ãã£ãŠã¿ãŠæããããšã3ã€ã«æŽçããŸãã 4-1. ç¥ããªãæè¡ãžã®ãã£ããã¢ããã®æ©äŒã«ãªã Vercelã®ãµãŒããŒã¬ã¹é¢æ°ããšããžãã£ãã·ã¥ã®ä»çµã¿ãªã©ãèªåããŒããã調ã¹ããšãªããšæéããããæè¡èŠçŽ ããAIã«å®è£
ãããªããããªããã®èšå®ãå¿
èŠãªã®ãããéœåºŠè³ªåããããšã§ãå®è·µãéããŠçè§£ãæ·±ããããšãã§ããŸãããæãåãããªããåŠã¹ãã®ã§ãããã¥ã¡ã³ããèªãã ããããå®çãããã宿ããããŸãã 4-2. ãšã³ãžãã¢ååŠè
ã«ãšã£ãŠè¯ãæåäœéšã«ãªã ãå人ã§äœ¿ããã¢ããªããå®éã«åã圢ãŸã§å®æãããããšããäœéšã¯ãååŠè
ã«ãšã£ãŠå€§ããªã¢ãããŒã·ã§ã³ã«ãªããŸããAIãã³ãŒãã®åå°ãäœã£ãŠãããããšã§ããäœãããããè©°ãŸã£ãŠè«ŠããããšããããŒãã«ãäžããã宿ãŸã§å°éãããããªããŸãã宿ããåŸã«ã³ãŒããèªã¿è¿ãããšã§ãèšèšã®æå³ãæè¡éžå®ã®çç±ãåŸããåŠã³çŽãããšãã§ããŸããã 4-3. å人éçºã®å¿ççã»ééçããŒãã«ãäžãã ãµãŒããŒç®¡çäžèŠã»ã³ã¹ã$0ãšããæ§æãAIãšäžç·ã«èšèšã§ããããšã§ãã詊ãã«äœã£ãŠã¿ããããšãžã®ããŒãã«ã倧ããäžãããŸãããä»åŸããã¡ãã£ãšããã¢ã€ãã¢ãæ°è»œã«åœ¢ã«ããææ®µãšããŠæŽ»çšããŠãããããšèããŠããŸãã ãŸãšã ä»åäœã£ãIndiviNEWSã¯ããããŸã§å人çšã®å°ããªããŒã«ã§ããããAIãšäžç·ã«æè¡éžå®ããå®è£
ããããã€ãŸã§äžéãçµéšããããšããç¹ã§åŸããã®ãå€ããããžã§ã¯ãã§ããã å®å
šã«AIã«ã³ãŒããæžãããAIé§åéçºã¯ãåãªãæçã®ææ®µã§ã¯ãªãã ç¥ããªãæè¡ãžã®ãã£ããã¢ããã®æ©äŒ ã§ããã ãšã³ãžãã¢ååŠè
ã«ãšã£ãŠã®æåäœéš ãäœãææ®µã§ããããšæããŠããŸããåãããã«æè¡ãã¥ãŒã¹ã®ãã£ããã¢ããã«æ©ãã§ããæ¹ããAIé§åéçºã詊ããŠã¿ããæ¹ã®åèã«ãªãã°å¹žãã§ãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @danshita.kotaro ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
ã¯ãããŸããŠã éèITæ¬éš ãããã¯ããœãªã¥ãŒã·ã§ã³ãŠããã èè³ãœãªã¥ãŒã·ã§ã³2éšã® æž¡é ç倪é ã§ãã çŸåšã¯ 2 幎ç®ç€Ÿå¡ãšããŠãå°åéèæ©é¢åãã® CRM / SFA ãµãŒãã¹éçºã«åŸäºããŠããŸãã 2025 幎 11 æãAnthropic ããšã³ãžãã¢ãªã³ã°ããã°ã®èšäºïŒ Effective harnesses for long-running agents ïŒã®ã¿ã€ãã«ã«ãããŒãã¹ïŒharnessïŒããšããèšèãæ²ããŸãããé·æéåãç¶ãã AI ãšãŒãžã§ã³ãããããã«ç Žç¶»ãããã«èµ°ããç¶ãããââãã®ãåæ ãããè¶³åããã«ãããä»çµã¿ãæãèšèã§ãã å
¬éçŽåŸããããã®èšèã¯äžæ°ã«çéãé§ãå·¡ããŸããããããããã¯ããã³ãããšã³ãžãã¢ãªã³ã°ã§ã¯ãªãããŒãã¹ãšã³ãžãã¢ãªã³ã°ã ããšãã£ãè«èª¿ããã¡ãã¡ã§èŠãããSNS ãæè¡èšäºã®ã¿ã€ã ã©ã€ã³ã¯ããã°ãããããŒãã¹ãäžè²ã ã£ãããã«æããŸãã ããããå幎çµã¡ãåœåã®ããºã¯ãŒãçãªéç±ã¯ããããèœã¡çããŸãããããããŒãã¹ãã¯äžéæ§ã®æµè¡èªãšããŠæ¶ããã©ããããããŒãã¹ãšã³ãžãã¢ãªã³ã°ããšããäžã€ã®èšèšåéãšããŠããããæ¥çã«å®çãã€ã€ãããŸãã ã ããããä»ãæµè¡ãèšèãšããŠãã æã¡äžããã®ã§ã¯ãªããã çµå±ããŒãã¹ãšã¯äœãªã®ã ããå°ã«è¶³ãã€ããŠçè§£ããããšèããŠããŸãã ããã§æ¬èšäºã§ã¯ãã¡ãã£ãšããæ€èšŒã亀ããªããããŒãã¹ãšããæŠå¿µãæ¹ããŠæŽçããŠã¿ãããšæããŸãã æ¬èšäºã¯ãéé±ã§éå¬ããŠãã瀟å
å匷äŒã25åæè¡äŒãã§ã®çºè¡šå
容ãããšã«å·çãããŠããŸãã ååã®èšäº ã¯ã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšã®å€§å²¡å¡ãããæžããŠããŸãïŒãã²ã芧ãã ããïŒ Part 1. ããŒãã¹ã®æŠèŠãç¥ã 1-1. ããŒãã¹ã®æè 1-2. ããŒãã¹ã®å®çŸ© Part 2. ãã詳ããçè§£ãã 2-1. ããŒãã¹ãäœç³»çã«çè§£ããé£ãã 2-2. ããŒãã¹ã®äœç³»çåé¡ ã¡ã€ã³ãšããŠæ±ãåé¡ïŒMeng ãã®6æåïŒETCSLVïŒ 2-3. ãããŸã§ã®ãŸãšã Part 3. èªåã§æ€èšŒãã 3-1. æ€èšŒæ¹æ³ EïŒå®è¡ã«ãŒãïŒ: äžæçãªå€±æããã®åŸ©åž° TïŒããŒã«ïŒ: ååŸ©äœæ¥ãå©ãã Skill CïŒæè管çïŒ: ã©ããæ£ããè³æããæãã SïŒç¶æ
ïŒ: ã»ãã·ã§ã³ãè·šãåŒãç¶ã LïŒããã¯ïŒ: å®äºåã®é¢é VïŒè©äŸ¡ïŒ: å¥ã®ãšãŒãžã§ã³ãã«ããç¹æ€ 3-2. åæåã®ã¿ã¹ã¯ãšããŒãã¹ïŒäžèŠ§ïŒ 3-3. ç¢ºèªææšãšå®éšæ¡ä»¶ 3-4. çµæ Part 4. åŠã³ãæŽçãã 4-1. ãã¹ããã©ã¯ãã£ã¹ã¯ããã®ãŸãŸåŸãããã®ã§ã¯ãªã 4-2. ã¢ãã«ãé²åããŠãå¹ãã®ã¯ãç¥èãè£ããããŒãã¹ 4-3. Haiku ã§ãããããååã«è³¢ã ãŸãšãïŒããŒãã¹ã¯ãçãããããå¹ãããã ããããã®ããŒãã¹ Part 1. ããŒãã¹ã®æŠèŠãç¥ã æ¬ Part ã§ã¯ããããããããŒãã¹ãšããèšèããèããããšãªãããšããæ¹åãã«ã ããŒãã¹ã®æèïŒãªãçãŸãããïŒïŒ ããŒãã¹ã®å®çŸ©ïŒã©ãããæå³ã®èšèãïŒïŒ ã説æããŸãã 1-1. ããŒãã¹ã®æè AI ã«ä»äºãããããšããç§ãã¡ãäœã蟌ã察象ã¯ããæ°å¹Žã§å°ããã€ç§»ãå€ãã£ãŠããŸããã ã¢ãã«ãžã®æç€ºãã®ãã® ããã ã¢ãã«ã«æž¡ãæ
å ± ãããã«ã¯ ã¢ãã«ãåãå²ãä»çµã¿ ãžãšã工倫ããé åãåºãã£ãŠããã€ã¡ãŒãžã§ãã ããã³ãããšã³ãžãã¢ãªã³ã° ïŒã¢ãã«ãžã®ãèšãæ¹ãã工倫ãã ã³ã³ããã¹ããšã³ãžãã¢ãªã³ã° ïŒã¢ãã«ã«ãäœãèŠãããïŒæèïŒããèšèšãã ããŒãã¹ãšã³ãžãã¢ãªã³ã° ïŒã¢ãã«ã® åšã ã«ãèšç»ã»èšæ¶ã»æ€èšŒã»åŸ©æ§ãªã©ã® æ©æ§ ãçµã ã¯ããã¯äžåäžçãäžå¿ã§ãããã«äžæãæç€ºãããïŒïŒããã³ããïŒã工倫ã®ãã©ããã§ããããããŠæ±ãã¿ã¹ã¯ã倧ãããªããæ€çŽ¢çµæãé·ãè³æãã¢ãã«ã«æž¡ãããã«ãªããšãéãããæèã«äœãã©ãèŒãããããããããã³ã³ããã¹ãããåãããããã«ãªã£ãŠãããŸããã ãã㊠AI ãšãŒãžã§ã³ããšããèªåŸçåŠçæ©æ§ã®å°é ã«ãããäžèšã®å·¥å€«ã ãã§ã¯è¶³ããªããªã£ãçµæçãŸããã®ããããŒãã¹ïŒãšã³ãžãã¢ãªã³ã°ïŒããšããèšèã§ãã ã¡ãªã¿ã«ãããŒãã¹ïŒharnessïŒãã¯ããšã㚠銬å
· ãæãèšèã§ã銬ïŒïŒã¢ãã«ïŒãå¶åŸ¡ããŠä»äºããããè£
å
·ããšããæ¯å©ã§ãã 1-2. ããŒãã¹ã®å®çŸ© 次ã«ãããŒãã¹ã®å³å¯ãªå®çŸ©ã«ç®ãåããŠãããŸãã âŠããå€ãã® IT ç³»ãããã¯ãŒãã®äŸã«æŒããããããŒãã¹ããšããèªãã³ãã¥ããã£ã§çãã«å©çšãããå²ã«ãæ¥ççµ±äžã§ã®å®çŸ©ã¯ãããŠããŸããã ãã£ãŠããã§ã¯ãå€ãã®äžæ¬¡æ
å ±ã§ç»å Žããèšèã®äœ¿ããæ¹ã 2 ç¹çšã玹ä»ããŸãã ãšãŒãžã§ã³ã = ã¢ãã« + ããŒãã¹ ã¢ãã«ãšã¯ã"Claude Opus" ã "GPT" ãªã©ã®ãAI æ¬äœãã®éšåã§ãã ããŒãã¹ã¯ãã®åšãã§ã¢ãã«ãåããç¶ããä»çµã¿ã§ãããã¢ãã«ãšããŒãã¹ãçµã¿åãããããšã«ãã£ãŠãšãŒãžã§ã³ããæãç«ã£ãŠããããšå€ãã®æç®ã§ã¯å®çŸ©ãããŸãã ä¹±æŽã«ç°¡æåãããšããAI ãšãŒãžã§ã³ãã®ãã¡ã ã¢ãã«ä»¥å€ã®ãã¹ãŠ ãããŒãã¹ã§ããããšããããšã§ãã ç矩ã®ããŒãã¹ åè¿°ã®ãã¢ãã«ä»¥å€ã®ä»çµã¿ããããå°ãåè§£ãããšãäžèšã®äºã€ã«åããããŸãã AI ãšãŒãžã§ã³ããèµ°ããã å ã«çµãã§ããèšå®: system promptãããŒã«ã®èª¬æãæèã®æž¡ãæ¹ãªã© AI ãšãŒãžã§ã³ããèµ°ã£ãŠãã æäž ã«å¹ãæ©æ§: ããŒã«åŒã³åºãã®åŠçãæèã®å§çž®ãå®å
šå¶çŽã®åŒ·å¶ãç¶æ
ã®æ°žç¶åãªã© ãã®ãã¡åè
ã scaffoldïŒè¶³å ŽïŒ ããããŠåŸè
ãç矩ãšããŠã® harnessïŒããŒãã¹ïŒ ãšåŒã³åããããšããããŸãã ç¹ã«åè
ãããæµžéããŠããããŒãã¹ãšããèªã®äœ¿ããæ¹ã ãšå人çã«ã¯æããŠããŸãã ãã£ãŠæ¬èšäºã§ãããã¢ãã«ãšå
±ã«ãšãŒãžã§ã³ããæ§æããèŠçŽ ïŒã¢ãã«ä»¥å€ã®ãã¹ãŠïŒããšãã åºçŸ©ã®ããŒãã¹ ãæããŠã以éãããŒãã¹ããšåŒãã§ãããŸãã Part 2. ãã詳ããçè§£ãã æ¬¡ã«ããããŒãã¹ãšã¯äœãããããå
·äœçã«æŽçããŸãã ããŒãã¹ãšããèªã¯ãã®è©±é¡æ§ã«åããæŠå¿µãæ·±ãçè§£ããäžã§ããã€ãã®éå£ãååšããŸãã ããã§ã¯ãŸãããã®åæãšãªãé£ãããæŽçããŠãããããŒãã¹ã®äœç³»çãªçè§£ã詊ã¿ãŸãã 2-1. ããŒãã¹ãäœç³»çã«çè§£ããé£ãã ããŒãã¹ãè
°ãæ®ããŠçè§£ããããšãããšãæåã«2ã€ã®å£ã«ã¶ã€ãããŸãã (1) ããã¡ã¯ãã®åé¡ãç¡ã ããŒãã¹ã¯éåžžã«åºãæŠå¿µãªã®ã§ãå
šäœåãã€ããã«ã¯ãã©ããªèŠçŽ ãããªãã®ã®ãããšããäœç³»ã»åé¡ãèèŠã§ãã ãšããããAnthropic ã OpenAI ãšãã£ãå瀟ã¯ãAI ãšãŒãžã§ã³ãã®èšèšã»éçšã«é¢ããåå¥ã®ãã¹ããã©ã¯ãã£ã¹ãæ°å€ãå
¬éããŠãããã®ã®ïŒäŸïŒAnthropic: Harness design for long-running application development ãOpenAI: Harness engineering ãªã©ïŒããããŒãã¹ãšã¯ããåé¡ãããããšæå®çã«ã¯æŽçããŠãããŸããã çµæãšããŠãå€ãã®æå¿ããAI ã¢ãã«ä»¥å€ã®ãã¥ãŒãã³ã°èŠçŽ ïŒããŒãã¹ããšãã倧æ ã®ããšã«ç¬èªã®äœç³»ãäœã£ãŠããã è€æ°ã®ãµã€ããèŠããšãã©ããå°ããã€éãåé¡ã«ãªã£ãŠãã ãšããã®ãçŸç¶ã§ãã (2) æŠå¿µãæµåç ããŒãã¹ã¯ãã¢ãã«ãè£å©ããæ©æ§ããšããæ§è³ªäžãã¢ãã«ãè³¢ããªãã»ã©ãã¹ããã©ã¯ãã£ã¹ãç§»ãå€ãããŸãã Anthropic èªèº«ã èšäº ã®äžã§ ã ããŒãã¹ã®åéšåã¯ãã¢ãã«ãèªåã§ã§ããªãããšã«ã€ããŠã®"ä»®å®"ã笊å·åããŠããããã®ä»®å®ã¯èª€ã£ãŠããããããããã¢ãã«ã®æ¹åãšãšãã«æ¥éã«é³è
åãããã®ã§ãæ€èšŒãã䟡å€ããã ããã ãšè¿°ã¹ãŠããŸãã å®éãå瀟ã¯ããã¢ãã«äžä»£ã§å¿
é ã ã£ããã³ã³ããã¹ãã®ãªã»ããæ©æ§ãããæ¬¡äžä»£ã§ã¯äžžããšå€ãããšå ±åããŠããŸãã ã€ãŸã åºå®çãªåé¡ãäœãã«ãããåã
ã®ãã¹ããã©ã¯ãã£ã¹ãç¶ç¶çã«è¿œããããå¿
èŠããã ããšããããã§ãã ãã®2ã€ãèžãŸããããã§ãå
šäœåãã€ããããã«ãæ¬èšäºã§ã¯ã çŸæç¹ã®ä»£è¡šçãªåé¡ã1ã€éžã³ãããã軞ã«ä»ã®åé¡ãèªã¿è§£ã ããšããé²ãæ¹ããšããŸãã 2-2. ããŒãã¹ã®äœç³»çåé¡ ã¡ã€ã³ãšããŠæ±ãåé¡ïŒMeng ãã®6æåïŒETCSLVïŒ æ¬èšäºã§ã¯ãããŒãã¹ãæ£é¢ãã圢åŒçã«åè§£ããææ°ã®ãµãŒãã€ïŒ Meng et al. "Agent Harness for LLM Agents: A Survey" ïŒãææ¡ãã 6ã€ã®æå ãã¡ã€ã³ã®å顿¹æ³ãšããŠå©çšããŸããããŒãã¹ã H =ïŒE, T, C, S, L, VïŒ ã®6æåã«åãããã®ã§ãããããã®åœ¹å²ã¯æ¬¡ã®ãšããã§ãã èšå· æå 圹å²ïŒäœããããïŒ å
·äœäŸ E å®è¡ã«ãŒã æ¬¡ã®æãæ±ºãâå®è¡â芳枬ãç¹°ãè¿ãããã€æ¢ããããåžã ãèããâæäœããâçµæãèŠãããåã ReAct åã«ãŒããClaude Code ãç·šéãšãã¹ãå®è¡ãå»¶ã
ãšåãåã T ããŒã« ã¢ãã«ãå€çã«ã§ããããšïŒè¡åã®éžæè¢ïŒ ãã¡ã€ã«èªã¿æžãã»ã·ã§ã«ã»ãã¹ãå®è¡ãMCP æ¥ç¶ãSkills C æè管ç äœãèŠããäœæ¥äžã®æèãã©ãä¿ã€ã é¢é£è³æãå
šéšæž¡ãïŒdumpïŒãå¿
èŠæã ããšãïŒJITïŒããé·ããªã£ããèŠçŽãã S ç¶æ
äŒè©±ã®å€ã«äœãæ®ããã»ãã·ã§ã³ãè·šãã§åŒãç¶ãã 鲿ãã¡ã€ã«ã state.json ãGit å±¥æŽã次ã»ãã·ã§ã³ãžã®ãã³ããªã L ãã㯠ç¯ç®ã§æ±ºãŸã£ãåŠçã匷å¶çã«çºç«ããã ãå®äºã®åã«å¿
ããã¹ã/åãã§ãã¯ãéããã²ãŒããèµ·åæã® init.sh V è©äŸ¡ ææç©ãèŠä»¶ãæºãããã»çµããŠãããã倿ãã å¥ãšãŒãžã§ã³ãã«ããèŠä»¶ç
§åãšå·®ãæ»ãããã¹ãã§ã®ååŠå€å® ãã®åé¡ã«åœãŠã¯ãããšãäŸãã°ããã³ããã®èª¿æŽã¯ CïŒæè管çïŒ ãäŒè©±å
容ã®ãã°å㯠SïŒç¶æ
ïŒ ãäžææè©±é¡ã«ãªã£ã "evaluator ãšãŒãžã§ã³ãã®èµ·çš" 㯠VïŒè©äŸ¡ïŒ ãšããŠåé¡ãããããŒãã¹ã§ãã ãã㯠èŠçŽ ã®åãåããæãæç€ºç ã§ååŠè
ã§ãèããããããŸããããã ç¶²çŸ
çã§ãã ç¹ãéåžžã«åªç§ã§ãã ãã£ãŠæ¬èšäºã§ã¯ãã®åé¡ãåºæºãšããŠæ±ããã»ãã®åé¡ãèªã¿è§£ããŠãããŸãã â» ãã ãããã¯ã æ¥çã§ç¢ºç«ããæšæºã§ã¯ãªãããããŸã§æè¿ã®ä»£è¡šçãªåé¡ã®äžã€ ã§ããç¹ã«ã¯æ³šæããŠãã ããããŸãå Žåã«ãã£ãŠã¯äžèšã®åé¡ã§é©åã«åé¢ã§ããªããã®ããããŸãã 6æå以å€ã«ãã代衚çãªåé¡ãããã€ããããŸãïŒWang ãã®4ã¢ãžã¥ãŒã«ãå®è£
è§£æã® "Inside the Scaffold" 12次å
ãAnthropic / OpenAI ã®å®è£
ãã¿ãŒã³ãã³ãã¥ããã£ã®æŽçãªã©ïŒã ããããã®è©³ãã説æã«åªããããšããã§ãããæ¬èšäºã§ã¯æéã®é¢ä¿ã§äžèšã® 6æåãåºæº ã«ããŠæ€èšŒãžé²ã¿ãŸãã åèïŒ6æå以å€ã®åé¡äŸãšã6æåãšã®å¯Ÿå¿ïŒã¯ãªãã¯ã§å±éïŒ (1) Wang ãã®4ã¢ãžã¥ãŒã«ïŒãšãŒãžã§ã³ãæ§ç¯ã®çµ±äžãã¬ãŒã ã¯ãŒã¯ïŒ A Survey on LLM based Autonomous Agents ïŒWang et al.ïŒã¯ããšãŒãžã§ã³ãã profilingïŒmemoryïŒplanningïŒaction ã®4ã¢ãžã¥ãŒã«ã§æŽçããçµ±äžãã¬ãŒã ã¯ãŒã¯ïŒunified frameworkïŒã§ããããŒãã¹ã«ç¹åããåé¡ã§ã¯ãªããšãŒãžã§ã³ãå
šè¬ã察象ã§ã6æåããç²åºŠã¯ç²ãã§ãã (2) Inside the Scaffold ã®12次å
ïŒå®è£
ã®å®æ
ïŒ Inside the Scaffold ïŒBenjamin Rombautãâ»æ»èªåïŒã¯ãå®åšãã13åã®ã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãïŒOpenHandsã»SWE-agentã»Aiderã»Clineã»Codex CLI ãªã©ïŒã®ãœãŒã¹ã³ãŒããè§£æããèšèšã å¶åŸ¡ã¢ãŒããã¯ãã£ïŒããŒã«ã»ç°å¢ã®I/FïŒãªãœãŒã¹ç®¡ç ã®3å±€ã»12次å
ã§æ¯èŒããŸãããããŒã«ã䜿ããããèšæ¶ãããããšãã£ãèœåã¬ãã«ã®æœè±¡åé¡ã§ã¯èŠããªã å®è£
ã®å·® ããã³ã¹ãã»ä¿¡é Œæ§ã»å€±æã®åºæ¹ã«çŽçµããããšææããŸãã (3) å瀟ã®å®è£
ãã¿ãŒã³ïŒAnthropic / OpenAIïŒ Anthropic ã¯é·æéã®ã¢ããªéçºã§ã initializerïŒcoding agent ã®2ãšãŒãžã§ã³ãïŒ Effective harnesses for long-running agents ãJustin YoungïŒããã plannerã»generatorã»evaluator ã®3ãšãŒãžã§ã³ãïŒ Harness design for long-running application development ãPrithvi RajasekaranïŒãžãšçºå±ãããŸãããsprint contractïŒçæåã«"å®äºã®å®çŸ©"ãåæïŒ/ context reset / è©äŸ¡è
ã®åé¢ãªã©ãç»å Žããã åæ§æèŠçŽ ã¯ã¢ãã«ã«ã§ããªãããšã®"ä»®å®"ã笊å·åããŠãããã¹ãã¬ã¹ãã¹ããã䟡å€ããã ããšããäžç¯ã¯æ¬èšäºã®æ€èšŒã®åºçºç¹ã§ããããŸãã OpenAI ã Codex ã顿ã«ããŒãã¹ãæ±ã£ãŠããŸãããšãŒãžã§ã³ãã«ãŒããè§£åããèšäºã§ã¯ãCodex ã®äžæ žãã core agent loop and execution logicïŒäžæ žã®å®è¡ã«ãŒããšå®è¡ããžãã¯ïŒ ãïŒããŒãã¹ãšå®çŸ©ããŠããŸãïŒ Unrolling the Codex agent loop ïŒãããã«ããã®èšèšã®å¶ã¿ãã ããŒãã¹ãšã³ãžãã¢ãªã³ã° ããšåã¥ãããšã³ãžãã¢ã®ä»äºã®äžå¿ããã³ãŒããæžããããšããã ãšãŒãžã§ã³ããä¿¡é ŒããŠåããç°å¢ãšãã£ãŒãããã¯ã«ãŒããèšèšãã ãããšãžç§»ãããšäœçœ®ã¥ããŠããŸãïŒ Harness engineering ãRyan LopopoloïŒã (4) ã³ãã¥ããã£ïŒå®åã®æŽç æå¿ã®ãŸãšããå®åå®¶ã®èšå®ã¯ãE/T/C/S/L/V ã®ãããªåœ¢åŒåè§£ã§ã¯ãªããã è§£ããã課é¡ããš ãïŒã¡ã¢ãªïŒè©äŸ¡ïŒæèã®æž¡ãæ¹ïŒã¬ãŒãã¬ãŒã«ïŒå®å
šã»æš©éïŒïŒèŠ³æž¬æ§ïŒãªãŒã±ã¹ãã¬ãŒã·ã§ã³âŠïŒã§ã«ããŽãªãåãåŸåããããŸããawesome-agent-harness ç³»ã®ãŸãšãããå®åå®¶ã®ãšãŒãžã§ã³ãæé©åèšå®ïŒäŸïŒECCïŒã代衚äŸã圢åŒåè§£ã§ã¯åãããã¡ãª æš©éã»å®å
šãèŠ³æž¬æ§ ããç¬ç«ããé¢å¿äºãšããŠåé¢ã«åºãã®ãç¹åŸŽã§ãã 2-3. ãããŸã§ã®ãŸãšã ãããŸã§ãããŒãã¹ãšã¯äœãããã©ããªèŠçŽ ã«åããããããã«ã€ããŠæŽçããŠããŸããããã®ããã§åŒ·èª¿ãããã®ã¯ã ããŒãã¹ã®å®è£
äžã€äžã€ã¯ã決ããŠç®æ°ãããã®ã§ã¯ãªã ãšããããšã§ãã ç§ãã¡ãæ®æ®µãããã£ãŠããããã³ããã®èª¿æŽã䜿ãã¢ãã«ã®åãæ¿ããClaude ã® Skills ã®å©çšã CLAUDE.md ã§ã®ãã©ã«ãæ§æãèŠçŽã®èšè¿°ãªã©ã¯ãã¹ãŠããã§ã«ããŒãã¹èšèšã®äžéšã§ããã€ãŸãããŒãã¹ã«å¯ŸããŠã®ãä»ãŸã§ã«ãªãã£ãå
šãæ°ããæŠå¿µããšããçè§£ã¯æ£ç¢ºã§ã¯ãªããã ãããŸã§ AI ã¢ãã«ã®åšãã§åå¥ã«ãã£ãŠãã工倫ããçµ±äžçã«åŒã¶ããã®èšè ããšæããã®ã宿
ã«è¿ããšèšããŸãã Part 3. èªåã§æ€èšŒãã ãããŸã§ã§ãããŒãã¹ã®äœç³»ãã²ãšãšããæŽçããŠããŸããããšã¯ãããå€ãã®æ¹ãæ¬åœã«æ°ã«ãªãã®ã¯ãããŒãã¹ãèšå®ãããšãAI ãšãŒãžã§ã³ãã®ä»äºã¯å®éã©ãã ãè¯ããªãã®ãããšããç¹ã ãšæããŸãã ããã§æ¬ Part ã§ã¯ãPart 2 ã§éžãã 6æåïŒETCSLVïŒã軞ã«ãå®éã«æãåãããŠè¡ã£ãæ€èšŒã®çµæã玹ä»ããŸãã 3-1. æ€èšŒæ¹æ³ ãã£ãããšã¯ã·ã³ãã«ã§ãã代衚çãªããŒãã¹ãå®è£
ããAI ãšãŒãžã§ã³ãã®ã¿ã¹ã¯åŠçèœåãå®éã«äžãããã詊ãããšãããã®ã§ãã 6æåããããã«ã€ããŠããã®æåã«ãããããŒãã¹ãšããã®ããŒãã¹ãå¹ããããªã¿ã¹ã¯ã1ã€ãã€çšæããŸããããããŠåãã¿ã¹ã¯ããããŒãã¹ãªãïŒçŽ ã®æ§æïŒããšãããŒãã¹ãããã§è§£ãããã©ãã ãå·®ãçãŸããããæ¯ã¹ãŸããå®è¡ããã¢ãã«ã¯ã匷ãã¢ãã«ïŒClaude Opus 4.8ïŒãšåŒ±ãã¢ãã«ïŒClaude Haiku 4.5ïŒã®2çš®é¡ã§ããææç©ã®è¯ãæªãã¯ãã¢ãã«ã«ã¯èŠããªãé ããã¹ãã§æ©æ¢°çã«æ¡ç¹ããŸããã 顿ã¯äž»ã«ãå£åº§éèšã»å
¥åºéã»ééãšãã£ãæ©èœãæã€å°èŠæš¡ãªéè¡ã³ã¢ãµãŒãã¹ïŒTypeScriptïŒã§ãäžéšã¯ããå°ããªãŠãŒã¶ãŒç»é² API ã䜿ã£ãŠããŸãã ãªããä»å詊ããããŒãã¹ã¯ã©ãããAnthropic ãå
¬éããŠãããã¹ããã©ã¯ãã£ã¹ã«åºã¥ããŠããŸããåæåã®èª¬æã§æ ¹æ ãšããŠè§Šããã®ã¯ãäž»ã«æ¬¡ã®èšäºã§ãã Building Effective AI Agents How we built our multi-agent research system Effective context engineering for AI agents Effective harnesses for long-running agents Harness design for long-running application development 以äžãåæåã«ã©ããªã¿ã¹ã¯ãšããŒãã¹ãçšæããããèŠãŠãããŸãã EïŒå®è¡ã«ãŒãïŒ: äžæçãªå€±æããã®åŸ©åž° E ã§è§£ãããã®ã¯ãå°ããªãŠãŒã¶ãŒç»é²ã¢ããªã®å
¥åãã§ãã¯ã1ã€è¿œå ããããšããä¿®æ£ã¿ã¹ã¯ã§ãã 仿ãã¯ãã¹ãå®è¡ã®ã¿ã€ã ã¢ãŠãã«ãããŸãããšãŒãžã§ã³ãã«ã¯ä¿®æ£åŸã«èµ°ããããã¹ããäžããŠããŸããããã®ãã¹ãã¯æåã®1åã ãã匷å¶çã«ã¿ã€ã ã¢ãŠãïŒçµäºã³ãŒã124ïŒã§å€±æããããããåŠçãç°åžžçµäºããããã«èŠããŸãã ããã«å¯ŸããããŒãã¹ã¯ãäžæçãªå€±æã«å¯Ÿãããªãã©ã€ã®æç€ºã§ãããäžæçãªã¿ã€ã ã¢ãŠãã§å€±æããŠããã³ãŒããäœãå€ããããŸãåãã³ãã³ããããäžåºŠå®è¡ããããšäŒããŸãã倱æããããã諊ããã®ã§ã¯ãªããäžæé害ãªãå詊è¡ããŠç¶ããããšããå®è¡ã«ãŒãã®æ¢ãæ¹ã®èª¿æŽã«ããããŸãã ãã®èšèšã¯ãé害察åŠããã¢ãã«ã®é©å¿åïŒããŒã«ã倱æããŠãããšäŒããã°ãããŸãç«ã¡åãïŒïŒãªãã©ã€ã®ãããªæ±ºå®è«çãªå®å
šç¶²ãã§è¡ãããšïŒmulti-agent èšäºïŒããããŠå®è¡ã«ãŒãã«ã¯ãå¶åŸ¡ãä¿ã€ããã®åæ¢æ¡ä»¶ããèšããããšïŒBuilding Effective AgentsïŒãããŒã¹ãšãªã£ãŠããŸãã TïŒããŒã«ïŒ: ååŸ©äœæ¥ãå©ãã Skill T ã§è§£ãããã®ã¯ãããã¢ããªã®è€æ°ã®æäœã«å¯ŸããŠãåã圢ã®å
¥åãã§ãã¯ã1ã€ãã€å®è£
ããŠããããšããååŸ©äœæ¥ã§ããäŒŒãæ§é ã®ãã§ãã¯ãã察象ãå€ããªããäœåºŠãæžããŠããã€ã¡ãŒãžã§ãã ããã«å¯ŸããããŒãã¹ã¯ããã®å埩ãå©ãã SkillïŒClaude ã®æ¡åŒµæ©èœïŒã§ãããã§ãã¯ã®éªšæ ŒïŒé圢ïŒãäžæ¬ã§çæããå°çšã® Skill ãæž¡ããç¹°ãè¿ãã®æéãè©ä»£ãããããŸãããã ãæ£è§£ãã®ãã®ïŒäœãã©ãè¿ããïŒã¯ Skill ã«å«ããã骚çµã¿ã ããèªååããŠããŸãã ããŒã«ã Skill ã§ã§ããããšãåºããŠäœæ¥ãå¹çåããã®ã¯åºæ¬ã®æ§æèŠçŽ ã§ãããŒã«ïŒãšãŒãžã§ã³ããå€çã«ã§ããããšïŒã®èšèšãææã倧ããå·Šå³ããããšãã Building Effective Agents ã®ç«å Žã«åºã¥ããŸãã CïŒæè管çïŒ: ã©ããæ£ããè³æããæãã C ã§è§£ãããã®ã¯ãéè¡åãã®å°ããªã¢ããªã仿§æžã©ããã«çŽãããšãããã§ãã¯ãšä¿®æ£ã®ã¿ã¹ã¯ã§ãããã ãè³æãã©ã«ãã«ã¯ãçŸè¡ã®æ£ãã仿§æžãšãäžèŠãããããå€ã仿§æžããäžç«ãªååã§äžŠã¹ãŠãããŸããã©ã¡ããæ£ãããã¯äžèº«ããã¯å€æã§ãããæŸã£ãŠãããšãšãŒãžã§ã³ãã¯èªåã®åžžèã«è¿ãã»ãïŒæšæºçã«èŠããã»ãïŒã«åŒãããããçŸè¡ã®ä»æ§ã«åããŠããŸããŸãã ããã«å¯ŸããããŒãã¹ã¯ãã©ã®è³æãçŸè¡ã®æ£æ¬ãã瀺ãæ
å ±ãæž¡ãããšã§ããæ£è§£ãã®ãã®ã§ã¯ãªãããã¡ããä¿¡ããŠããããšããæãããã ããæ·»ããŠããšãŒãžã§ã³ãã®åãéããæžãããŸãã éãããæ³šæã®äºç®ã«ã䟡å€ã®é«ãæ
å ±ãéäžè¶³ãªãèŒããããšãã Effective context engineering ã®èãæ¹ã«æ²¿ã£ãŠããŸãã SïŒç¶æ
ïŒ: ã»ãã·ã§ã³ãè·šãåŒãç¶ã S ã§è§£ãããã®ã¯ããŠãŒã¶ãŒç»é²ã¢ããªã«é
ç®ã1ã€è¿œå ããäœæ¥ã§ãããã®ãšããäŸãã°å
¥åã®ååŸã®ç©ºçœãã©ãæ±ããããšãã£ããã³ãŒãããã¯å°ãåºããªã现ããªåãæ±ºãããæåã®ã»ãã·ã§ã³ã®ããã³ããã§ã ãäŒããŸãããããŠäœæ¥ãéäžã§äžæããåã®ãããšãã®èšæ¶ãæããªãããŸã£ãããªæ°ããã»ãã·ã§ã³ã§åéãããŸãã ããã«å¯ŸããããŒãã¹ã¯ãäœæ¥ç¶æ
ãäŒè©±ã®å€ã®ãã¡ã€ã«ã«æ®ããŠããããšã§ããåãæ±ºãã鲿ãå€éšãã¡ã€ã«ïŒ state.json ïŒã«æžãåºããåéæã«èªã¿æ»ãããšã§ãã»ãã·ã§ã³ãè·šãã§ãæ
å ±ã倱ãããªãããã«ããŸãã åã»ãã·ã§ã³ã¯åã®èšæ¶ãæããã«å§ãŸãããã鲿ãã¡ã€ã«ãåŒãç¶ãè³æã§ç¶æ
ãæ©æž¡ãããããšãã Effective harnesses ã®äžæ žèšèšã§ãã LïŒããã¯ïŒ: å®äºåã®é¢é L ã§è§£ãããã®ã¯ãããããŒã¿ã®åã«å¿
é ã®é
ç®ã1ã€è¶³ãããšããä¿®æ£ã§ãããã®å€æŽãæ£ããè¡ããšãæ¬äœãšããã¹ãã®ç¡ãå¥ã®ç®æã®äž¡æ¹ã§åã®äžæŽåãèµ·ããŸãããšãããå
¬éãã¹ãã®ã»ãã¯ãåã®äžæŽåãç¡èŠããŠãã¹ããããäœã£ãŠãããŸãããã®ããããã¹ããéã£ãïŒå®äºããšæ©åç¹ãããšãå厩ããèŠéããŠããŸããŸãã ããã«å¯ŸããããŒãã¹ã¯ãå®äºåã®é¢éïŒããã¯ïŒã§ããäœæ¥ããå®äºããšããåã«ãå¿
ãåãã§ãã¯ãéããéããªããã°å®äºãããªãããšããæ±ºãŸã£ãåŠçãç¯ç®ã§åŒ·å¶ããŸãã å®äºã®åã«æ±ºãŸã£ãæ€æ»ãæããã²ãŒããïŒBuilding Effective AgentsïŒãšãããšãŒãžã§ã³ãã¯ååãªæ€èšŒãããªããŸãŸå®äºãšå®£èšããã¡ããšããå ±åïŒEffective harnessesïŒãäžæ·ãã§ãã VïŒè©äŸ¡ïŒ: å¥ã®ãšãŒãžã§ã³ãã«ããç¹æ€ V ã§è§£ãããã®ã¯ãäºãã«åœ±é¿ãåãè€æ°ã®æ°ããæ©èœãããŸãšããŠå®è£
ãã倧ããã®ã¿ã¹ã¯ã§ããèŠæš¡ã倧ãããããæ©èœã®å€æŽãå¥ã®æ©èœã«æ³¢åããããããããšãŒãžã§ã³ãã¯ããã¹ãã§èŠã€ããåãããŒããäœã蟌ã¿ããããªããŸãã ããã«å¯ŸããããŒãã¹ã¯ãå¥ã®ãšãŒãžã§ã³ãã«ããè©äŸ¡ã§ããå®è£
ãçµããææç©ãããŸã£ãããªæèãæã€å¥ã®ãšãŒãžã§ã³ããã¬ãã¥ã¯ãŒãšããç«å Žã§èŠçŽããèŠã€ããåé¡ãçŽããŸããèªåã§èªåã®ææç©ãèŠçŽããèªå·±ã¬ãã¥ãŒããšæ¯ã¹ãèŠã人ãåããããšã®å¹æã枬ããŸãã äœæ¥ããåŽãšè©äŸ¡ããåŽãåããããšã匷åãªã¬ããŒã«ãªãããšãã Harness design ã®èŠç¹ã«åºã¥ããŸãã ãªã以äžã®6ã€ã«å ããæ¯èŒã®åºæºç·ãšããŠãæ
å ±ã®åããç¡ãçŽ çŽãªå®æã¿ã¹ã¯ãçšæããŸãããããã§ã¯ãããããããŒãã¹ãåžžæãªã³ã«ããçãããã®æ§æãããå質ãäžããã«ã³ã¹ãã ãå¢ãããªããã確èªããŠããŸãã 3-2. åæåã®ã¿ã¹ã¯ãšããŒãã¹ïŒäžèŠ§ïŒ æŽçãããšãåæåã«çšæããã¿ã¹ã¯ãšããŒãã¹ã¯æ¬¡ã®ãšããã§ãã æå è§£ãããã¿ã¹ã¯ èšå®ããããŒãã¹ E å®è¡ã«ãŒã å
¥åãã§ãã¯ã®è¿œå ïŒãã¹ããååã ãã¿ã€ã ã¢ãŠãïŒ äžæçãªå€±æãžã®ãªãã©ã€æç€º T ããŒã« åã圢ã®ãã§ãã¯ãå埩ããŠå®è£
éªšæ Œãäžæ¬çæãã Skill C æè管ç 仿§æºæ ã®ä¿®æ£ïŒæ°æ§ã®ä»æ§æžãæ··åšïŒ ã©ããçŸè¡ã®æ£æ¬ãã瀺ãæ
å ± S ç¶æ
åãæ±ºããæž¡ããŠäžæâæ°ã»ãã·ã§ã³ã§åé äœæ¥ç¶æ
ã®å€éšãã¡ã€ã«ä¿åãšèªã¿æ»ã L ãã㯠å¿
é é
ç®ã®è¿œå ïŒå厩ãïŒå
¬éãã¹ãã¯ãã¹ïŒ å®äºåã«åãã§ãã¯ãéãé¢é V è©äŸ¡ æ³¢åã®å€ã倧ããã®å®è£
å¥ãšãŒãžã§ã³ãã«ããç¹æ€ 3-3. ç¢ºèªææšãšå®éšæ¡ä»¶ äžèšã®ã¿ã¹ã¯ã®æ€èšŒã«å©çšããææšãšå®éšã®æ¡ä»¶ã«ã€ããŠã説æããŸãã ä»åã¯ã次ã®3ã€ã®ææšã§ããŒãã¹ã®å¹ãç®ãèŠãŸãã å質 ïŒäžåæ Œæ°ïŒïŒã¢ãã«ã«ã¯èŠããªãé ããã¹ãã®ãã¡ãéããªãã£ãæ°ã§ããå°ãªãã»ã©è¯ãåºæ¥ã§ãæºç¹ã¯ã¿ã¹ã¯ããšã«ç°ãªããŸãã ã¿ãŒã³æ° ïŒãšãŒãžã§ã³ãããèããâæäœããâçµæãèŠãããç¹°ãè¿ããæ°ã§ããå€ãã»ã©æéãããããŸãã ã³ã¹ã ïŒ1åã®è©Šè¡ã«ããã£ãããããã®è²»çšïŒç±³ãã«ïŒã§ããã¿ãŒã³æ°ãšäžŠã¶ãç¡é§ã®å°ãªããã®ç®å®ã§ã䜿ãã¢ãã«ã«ãã£ãŠã倧ããå€ãããŸãã ãŸãå®éšã®æ¡ä»¶ã§ãããåã¿ã¹ã¯ã ãã¢ãŒã ïŒããŒãã¹ãªãïŒããïŒãÃãã¢ãã«ïŒOpusã»Haiku ã®2çš®ïŒãã®çµã¿åããããšã«è€æ°åç¹°ãè¿ããŸããã ååŸ©åæ°ã¯åºæ¬3åãã€ãã°ãã€ãã®å€§ããè©äŸ¡ïŒVïŒã ã5åã§ãããããã«ãã£ãŠèšæž¬ãããçµæã®å¹³åå€ããšããåæã宿œããŸãã åå®è¡ã¯æ¯åäœ¿ãæšãŠã®éé¢ç°å¢ã§èµ°ãããåã®ã»ãã·ã§ã³ã®èšæ¶ïŒèªåã¡ã¢ãªïŒãæ··ãããªãããšãå
šå®è¡ã§ç¢ºèªããŸããããŸãã¢ãŒã éã§ãæž¡ãæ
å ±ããšã䜿ãã¢ãã«ãã¯ããããå€ããã®ã¯ããŒãã¹ã®æç¡ã ããšããæ¡ç¹ãåºå®ã®é ããã¹ãã§çµ±äžããŠãæ¡ä»¶ããªãã¹ããã§ã¢ã«ä¿ã£ãŠããŸãã ãªãæºç¹ã¯ã¿ã¹ã¯ããšã«éãã®ã§ãè¡šã¯æåå士ãçŽæ¥æ¯ã¹ãã®ã§ã¯ãªããåæåã®ãããŒãã¹ãã/ãªããããã¢ãã«ã®å·®ãããšã«æ¯èŒããŸãã 3-4. çµæ æ€èšŒã®çµæã¯äžèšã®ããã«ãªããŸããã æåïŒæºç¹ïŒ ã¢ãã« äžåæ Œæ°ïŒããŒãã¹ãªãïŒ äžåæ Œæ°ïŒããŒãã¹ããïŒ ã¿ãŒã³æ°ïŒãªãâããïŒ ã³ã¹ãïŒ$, ãªãâããïŒ å¹æ S ç¶æ
ïŒ6ïŒ Haiku 3.0 0.0 18â21 0.08â0.12 ãã S ç¶æ
ïŒ6ïŒ Opus 3.0 0.0 17â21 0.38â0.64 ãã C æèïŒ125ïŒ Haiku 12.3 4.7 68â77 0.71â0.71 ãã C æèïŒ125ïŒ Opus 21.0 0.7 37â38 2.73â2.82 ãã E ãªãã©ã€ïŒ4ïŒ Haiku 0.0 0.0 18â18 0.09â0.10 ãªã E ãªãã©ã€ïŒ4ïŒ Opus 0.0 0.0 17â18 0.37â0.47 ãªã L ããã¯ïŒ2ïŒ Haiku 0.0 0.0 18â49 0.11â0.33 ãªã L ããã¯ïŒ2ïŒ Opus 0.0 0.0 16â25 0.45â0.83 ãªã T SkillïŒ84ïŒ Haiku 0.0 0.0 68â74 0.65â0.74 ãªã T SkillïŒ84ïŒ Opus 0.0 0.0 53â58 3.13â3.76 ãªã V è©äŸ¡ïŒ153ïŒ Haiku 5.6 2.4 71â132 0.63â1.27 ãã V è©äŸ¡ïŒ153ïŒ Opus 0.4 0.4 43â91 2.86â5.63 ãªã 察ç
§ïŒ122ïŒ Haiku 2.7 2.0 57â91 0.48â0.81 ãªã 察ç
§ïŒ122ïŒ Opus 0.0 0.0 21â36 1.92â2.30 ãªã â» V ã®ãããŒãã¹ãªããã¯æåã®å®è£
ïŒç¹æ€ãªãïŒãæ®ããåãããŒãããããŒãã¹ãããã¯å¥ã®ãšãŒãžã§ã³ããç¹æ€ã»ä¿®æ£ããåŸã®æ°ã§ããã¿ãŒã³æ°ãšã³ã¹ãã®ããããã¯ãç¹æ€ã®ã¶ããäžä¹ããããåèšã衚ããŸãããŸã察ç
§ã®ãããŒãã¹ãããã¯ãããããè¶³å Žãçã£ãæ§æã®å€ãæããŸãã ãã®ããã§ãèŠç¹ãæŽçããŸãã ã¯ã£ãã广ãåºãã®ã¯ã SïŒç¶æ
ïŒãš CïŒæè管çïŒã®2ã€ã ã ã§ãããå
±éããã®ã¯ã 倿ã®ãã®ç¬éã«ãå¿
èŠãªæããããæå
ã«ãªããè³æã®äžèº«ãããå°ããªã ããšããç¶æ³ã§ããS ã§ã¯äžæã§æ
å ±ããŸãããšæ¶ããC ã§ã¯ã©ã¡ãã®ä»æ§æžãæ£ãããåãããŸããã ãã®ãæ
å ±ã®æ¬ èœãã¯èœåã§ã¯åãããããå€ããæããããæž¡ãããŒãã¹ã ããå¹ããŸãã ãããã 匷ã Opus ã§ã广ã¯å€ããããC ã§ã¯ããã Opus ã®ã»ãã广ã倧ãã ãæ
å ±ãè¶³ããªããšããå£ã¯ãã¢ãã«ãè³¢ããªã£ãŠãè¶ããããªãããã§ãã å察ã«ã EïŒãªãã©ã€ïŒã»LïŒå®äºã²ãŒãïŒã»TïŒSkillïŒã¯ãã»ãšãã©å·®ãåºãŸããã§ãã ãããŸã®ãšãŒãžã§ã³ãã¯ãäžæçãªå€±æãªãèšããããšãèªåã§èµ°ããçŽããå®äºåã«ã¯èªåã§åãã§ãã¯ãåããå埩ã®å®è£
ãé£ãªãããªããŸãã æå
ã®æ
å ±ã ãã§å®çµãããéããã¿ã¹ã¯ãã§ã¯ããããã®ããŒãã¹ãè©ä»£ããããä»äºã¯ããæ®ã£ãŠããªã ã®ã§ããããã©ããããè¶³ããã¶ãã¿ãŒã³æ°ãã³ã¹ãã ããå¢ããå ŽåããããŸããã VïŒè©äŸ¡ïŒãå¹ããã®ã¯ã匱ã Haiku ã®ãšãã ã ã§ãããHaiku ã¯èªåã®å®è£
ã«åãããŒããæ®ããã¡ã§ããããå¥ãšãŒãžã§ã³ãã®ç¹æ€ãæŸã£ãŠçŽããŸããäžæ¹ã§åŒ·ã Opus ã¯æåããã»ãŒæºç¹ã®ãããæŸãã¹ãåãããŒããç¡ããç¹æ€ã¯ç©ºæ¯ãã«çµãããŸããã ãããŠåºæºç·ïŒå¯Ÿç
§ïŒã§ãã ããããããŒãã¹ãçã£ãæ§æã¯ãå質ãäžããªããŸãŸãã³ã¹ããšã¿ãŒã³æ°ã ããå¢ãããŸãã ã ä»åã®æ€èšŒã§ãã¡ã°ãã¯ã£ããèŠããã®ã¯ã ããŒãã¹ã¯ãä»ããã°å¹ãããã®ã§ã¯ãªããã¢ãã«ãèªåã§ã¯åããããªãæ
å ±ã®æ¬ èœãè£ãå Žåã«æå¹ ããšããããšã§ããã Part 4. åŠã³ãæŽçãã æ€èšŒãéããŠèŠããŠããããšãã3ã€ã®åŠã³ãšããŠæŽçããŸãã 4-1. ãã¹ããã©ã¯ãã£ã¹ã¯ããã®ãŸãŸåŸãããã®ã§ã¯ãªã ä»åã代衚çãªããŒãã¹ãã²ãšãšãã詊ããŠã¿ãŠã ããŸãå¹ãããã®ã¯äžéšã ã ã§ããããããå¹ããªãã£ãã±ãŒã¹ã§ã¯ãããŒãã¹ãè¶³ããã¶ã ã³ã¹ããã¿ãŒã³æ°ã ããããã ããšããçµæãããããŸããããã¹ããã©ã¯ãã£ã¹ã¯äžã®äžã«æ°å€ãå
¬éãããŠããŸããã ãããç¡æ¡ä»¶ã«å
šéšåãå
¥ããã®ã¯ããããæã«ãªããããŸãã ããŸãã¯æå°éã®æ§æã§ã¿ã¹ã¯ãè§£ãããŠã¿ãŠã è¶³ããªããšåãã£ããšããã ããå°ããã€è¶³ããŠãã ããã®é çªããé åãã«èŠããŠç¢ºå®ã ãšæããŸããã 4-2. ã¢ãã«ãé²åããŠãå¹ãã®ã¯ãç¥èãè£ããããŒãã¹ å¹ããããŒãã¹ã«å
±éããŠããã®ã¯ã ã¢ãã«ãç¥ãããã®ãªãæ
å ±ããå€ããæž¡ã ãã®ã§ãããè£ãè¿ãã°ã æ
å ±ã®é察称æ§ïŒã¢ãã«ã®æå
ã«ãã®æ
å ±ããããã©ããïŒããææã倧ããå·Šå³ãã ãšããããšã§ããèšãæãããšããã¢ãã«ã® ç¥èœ ãè©ä»£ãããã工倫ããããããã¢ãã«ã® ç¥è ãè£ã工倫ãã®ã»ãããããããã䟡å€ãæã¡ç¶ããŸããã¢ãã«ãè³¢ããªãã»ã©åè
ã®åºçªã¯æžã£ãŠãããŸãããåŸè
ã¯è³¢ãã§ã¯åããããªãããã§ãã 4-3. Haiku ã§ãããããååã«è³¢ã æ£çŽã«èšããšããã®æ€èšŒã§ãã¡ã°ãèŠåŽããã®ã¯ãããŒãã¹ã®å®è£
ãããã å·®ãã€ãã¿ã¹ã¯ãäœãããš ãã§ãããå°ãé£ãã課é¡ãçšæãããããã§ã¯ã äžäœã¢ãã«ã® Haiku ã§ããé£ãªãè§£ããŠããŸã ãããŒãã¹ã®æç¡ã§å·®ãåºãªããšããç¶æ³ãäœåºŠãçºçããŸããïŒãããããHaiku ãšãã軜éã¢ãã«ã®ååšãæèããŠããªãæ¹ãå€ãã®ã§ã¯ãªãã§ããããïŒãã¡ãã£ãšããä¿®æ£ã®ãã³ã« Sonnet ãããŸã㊠Opus ãåŒãã§ãã人ã¯ã äžåºŠ Haiku ã«ä»»ããŠã¿ã ãšããã®è³¢ãã«é©ããããããŸããã ãŸãšãïŒããŒãã¹ã¯ãçãããããå¹ãããã æ¬èšäºã®åºçºç¹ã¯ããããŒãã¹ã¯çãã°å¹ãã®ãïŒããšããçŽ æŽãªåãã§ãããæ€èšŒãçµãŠåºãçãã¯ãã¯ã£ãããããããã§ãã å¹ããã®ã¯ã ã¢ãã«ãèªåã§ã¯åããããªãæ
å ±ã®æ¬ èœãè£ãããŒãã¹ã ã ã§ãããéã«ãã¢ãã«ã®âç¥èœâãè©ä»£ããããããšããè¶³å Žã¯ãã¢ãã«ãè³¢ããªãã»ã©åºçªã倱ã£ãŠãããŸããããŒãã¹èšèšã®åæã¯ããããããããšæ©æ§ãçãããšã§ã¯ãªãã ããã®ã¿ã¹ã¯ã§ãã¢ãã«ã®æå
ã«æ¬åœã«è¶³ããŠããªããã®ã¯äœãããèŠæ¥µããããã ããç確ã«åããããš ã«ãããŸãã ããæã
ã¯ãéçºã®æåæã«å®ç§ãªããŒãã¹èšèšãããããšããããšã«ãšããããã¡ã§ããããã®çµæãèãããšæåã«ãã¹ãŠãæŽããã®ã¯æªæã§ããããããæåã¯æäœéãããããå°ããã€ä¿®æ£ãå ããŠããæ¹æ³ããã¹ãã§ãããšããããã§ãã ããããã®ããŒãã¹ ã¢ãã«ã¯ããããããè³¢ããªãç¶ããŸãããã®åãããŸããã¹ããã©ã¯ãã£ã¹ããšåŒã°ããŠãã工倫ã®å€ãã¯ãæ¥å¹Žã«ã¯äžèŠã«ãªã£ãŠãããããããŸãããå®é Anthropic èªèº«ãããã¢ãã«äžä»£ã§ã¯å¿
é ã ã£ãæ©æ§ããæ¬¡ã®äžä»£ã§ã¯äžžããšå€ãããšå ±åããŠããŸããããŒãã¹ãšã¯ãåžžã«æŽæ°ããããšãã«âåŒãç®âããããŠãããã®ã§ãã ãããªããšãããŒãã¹ãšã³ãžãã¢ãªã³ã°ã®éå¿ã¯ããã¢ãã«ã®äžåŸæãã©ãè£ãããããã ã¢ãã«ãç¥ãåŸãªãæ
å ±ã»æèã»æš©éããããã«çç¢ºã«æž¡ãã ãžãšç§»ã£ãŠããã¯ãã§ããPart 2 ã§ç޹ä»ããããã«ãOpenAI ã¯ãšã³ãžãã¢ã®ä»äºã®äžå¿ããã³ãŒããæžãããšãããããšãŒãžã§ã³ããä¿¡é ŒããŠåããç°å¢ãšãã£ãŒãããã¯ã«ãŒããèšèšããããšããžç§»ãã€ã€ããããšè¿°ã¹ãŠããŸããããŒãã¹ãèããããšã¯ããããããŸããŸãã AI ãšäžç·ã«åãç°å¢ãã®ãã®ãèšèšããããš ã«è¿ã¥ããŠããã®ã ãšæããŸãã ããŒãã¹ãšã³ãžãã¢ãªã³ã°ã¯ãæµè¡ãèšèãšããŠæ¶ããã©ããããã¢ãã«ãé²åããã»ã©å¥¥è¡ããå¢ããŠãããæ¯ã®é·ãããŒãã ãšæããŸãããŸãã¯çŽ ã®æ§æã§èµ°ãããè¶³ããªãæ
å ±ã ããè¶³ããŠã¿ãããã®å°ããªäžæ©ããããã²å§ããŠã¿ãŠãã ããã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @watanabe_shintaro ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
â ïž ãæ³šæãæ¬èšäºã®å
容ã¯2026幎8æ17æ¥æç¹ã®ãã®ã§ããæ¥æ¬èªPDFã®å¯Ÿå¿ç¶æ³ã¯AWSã®ã¢ããããŒãã«ããå€ããå¯èœæ§ããããããææ°ã®ç¶æ³ã¯å
¬åŒããã¥ã¡ã³ãçãã確èªãã ããã ã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšã®å€§å²¡å¡ã§ãã Amazon Bedrock Managed Knowledge BaseïŒä»¥äž Managed KBïŒã«é»éç·ç ã®æäŸ¡èšŒåžå ±åæž(PDF)ãå
¥ããŠãå¶æ¥å©çã®æšç§»ã«é¢ãã質åãããŠã¿ãŸããããšãããè¿ã£ãŠããå¶æ¥å©çã¯ãå
šãŠèª€ã£ãæ°å€ã§ããã åå ã調æ»ãããšãããããããæ€çŽ¢ã§åç
§ãããŠãããã£ã³ã¯èªäœã«æ¥æ¬èªãå
¥ã£ãŠããªãããšãåãããŸãããæçµçã« AWS ãµããŒããžåãåãããããŠããManaged KB ã¯çŸæç¹ã§æ¥æ¬èª PDF ããµããŒãããŠããªãããšããåçãããã ããŸãããæ¬èšäºã§ã¯ãæ§ç¯âãã¹ãâåå 調æ»âãµããŒãåãåããã®éçšãæžããŸãã æ¬èšäºã¯ãéé±ã§éå¬ããŠãã瀟å
å匷äŒã25åæè¡äŒãã§ã®çºè¡šå
容ãããšã«å·çãããŠããŸãã ååã®èšäº ã¯ãšã³ã¿ãŒãã©ã€ãºç¬¬äºæ¬éšã®èæ± ç¥¥æ±°ãããæžããŠããŸãããã²ã芧ãã ããã Managed KB ãšã¯ æ§ç¯ 質åããŠã¿ã è¿ã£ãŠããçãããããã åå ãæ¢ã ãã£ã³ã¯ããæ¥æ¬èªãæ¶ããŠãã PDF ãæªãããã§ã¯ãªã AWS ãµããŒãã«ç¢ºèªãã ã¯ãŒã¯ã¢ã©ãŠã³ã ãŸãšã Managed KB ãšã¯ 2026幎6æ17æ¥ã« GA ããããã«ãããŒãžãã® RAG åºç€ã§ããåŸæ¥ã® Knowledge Bases ã§ã¯ OpenSearch Serverless ãªã©ã®ãã¯ãã«ã¹ãã¢ãèªåã§çšæããå¿
èŠããããŸããããManaged KB ã§ã¯ãã¯ãã«ã¹ãã¢ã AWS åŽãæã¡ãŸãããã£ã³ã¯æŠç¥ãããŒã¹æŠç¥ããããããæ±ºããããŠããŠãå©çšè
ãéžã¶äœå°ã¯ãããŸãããåã蟌ã¿ã¢ãã«ãªã©äžéšã®èšå®ã¯å€æŽã§ããŸãããããããæ¢å®å€ã®ãŸãŸã§åããŸããã€ãŸãå©çšè
ãå®è³ªçã«æå®ããã®ã¯ãããŒã¿ãœãŒã¹ã ãã§ãã æ¬åœã«ããŒã¿ãœãŒã¹æå®ã ãã§æ§ç¯ã§ããã®ããå®éã«è©ŠããŠã¿ãŸãããæ€èšŒã¯æ±äº¬ãªãŒãžã§ã³ã§è¡ããŸããã æ§ç¯ 顿ã¯é»éç·ç ã®æäŸ¡èšŒåžå ±åæžã«ããŸããã5幎åã®æäŸ¡èšŒåžå ±åæžãS3 ãã±ããã« dentsusoken-ir/ ãšãããã¬ãã£ãã¯ã¹ãåã£ãŠçœ®ããŸããã ç¶ããŠããã¬ããžããŒã¹ã®ã³ã³ãœãŒã«ç»é¢ã§ Create Managed KB ãšãããã¿ã³ãã¯ãªãã¯ãã以äžã®ç»é¢ã§èšå®ãå
¥åããŸãã å
¥åããã®ã¯ããã¬ããžããŒã¹åã»ããŒã¿ãœãŒã¹åã»S3 ã® URI ã®3ã€ã ãã§ããåŸæ¥ã®KBãªãæ©ãã¯ãã®ãã¯ãã«ã¹ãã¢ãè§£ææŠç¥ïŒManaged parserïŒããã£ã³ãã³ã°æŠç¥ã¯èšå®ããå¿
èŠããããŸãããåã蟌ã¿ã¢ãã«ã ãã¯éžæã®äœå°ããããŸããããã¡ããæšå¥šã® Managed embeddings model ãåãããéžã°ããŠããŸããæåæãããã»ã©æ±ºããããšããããŸããã è£è¶³ïŒManaged parser 㯠PDF ã«å¯Ÿå¿ããŠããŸãã äœæãããããŒã¿ãœãŒã¹ãåæããŸãã ããã§RAGã®æ§ç¯ãå®äºã§ãã 質åããŠã¿ã ã³ã³ãœãŒã«ã«ãã¹ãç»é¢ãããã®ã§ããã®ãŸãŸè³ªåããŠã¿ãŸããå·Šãèšå®ãäžå€®ã察話ãå³ããã¬ãŒã¹ãšãœãŒã¹ãã£ã³ã¯ãšããæ§æã§ãã èšå®ã¯ããããåæå€ã®ãŸãŸã«ããŸããã APIïŒ Agentic retrieval with answer generation ã ã¢ãã«ïŒ Managed model ïŒEquivalent to Claude Sonnet 4.6 or betterïŒ Maximum agentic iterationsïŒ5 åŸæ¥ã®KBãšç°ãªããManaged KBã§ã¯ãšãŒãžã§ã³ãã£ãã¯æ€çŽ¢ã®APIãæäŸããŠããŸãã ãã£ããã®ãšãŒãžã§ã³ãã£ãã¯æ€çŽ¢ãªã®ã§ãè€æ°ã®ãã¡ã€ã«ã»è¡šããŸãããªããšçããããªã質åã«ããŸããã 2021~2025ã®åŸæ¥å¡äžäººåœããã®å¶æ¥å©çãšå¹³å幎é絊äžã¯é£åããŠããŸãããå幎床ã®å¶æ¥å©çãåŸæ¥å¡æ°ãå¹³å幎é絊äžãæããŠåæããŠãã ããã ãã¬ãŒã¹ãèŠããšã質åããã¡ããšåè§£ãããŠããŸãã æšæž¬æ€çŽ¢ã®ããš åŸæ¥å¡æ° å¹³å幎éçµŠäž æåºäŒç€Ÿã®ç¶æ³ ãš å¶æ¥å©ç 2022幎床 2023幎床 2024幎床 2025幎床 ã®2æ¬ã«åè§£ããæ¬¡ã®å埩ã§ã¯ äž»èŠãªçµå¶ææšçã®æšç§» å¶æ¥å©ç åŸæ¥å¡æ° ãžçµã蟌ãã§ããŸããæ€çŽ¢ã®çµã¿ç«ãŠæ¹ãšããŠã¯è¯ãããã§ããããŸã§ã¯é 調ã«èŠããŸããã è¿ã£ãŠããçãããããã ãæŽåçã«æãåºãããšãã§ããŸããã§ããããšæãã€ã€ãå¶æ¥å©çã®è¡šãæç€ºãããŸããäžèŠãããããæ°åã䞊ãã§ããŸããã忬ãšçªãåããããšããããªã£ãŠããŸããã æ±ºç®æ åçå€ åæ¬ã®å¶æ¥å©ç åçå€ã®æ£äœ 2021幎12ææ 13,224 13,736 çµåžžå©ç 2022幎12ææ 11,914 18,590 å¶æ¥æŽ»åã«ãããã£ãã·ã¥ã»ãã㌠2023幎12ææ 18,590 21,028 åæã®å¶æ¥å©ç 2024幎12ææ 21,028 21,039 åæã®å¶æ¥å©ç å
šãŠã®å¹ŽåºŠã誀ã£ãŠããŸããåå2ã€ã¯å¥ã®åå®ç§ç®ãåŸå2ã€ã¯ãåæïŒåœæã2å衚ã®åæåŽãæŸã£ãŠããŸãã å¶æ¥å©çã¯æäŸ¡èšŒåžå ±åæžã®é£çµæçèšç®æžãªã©ã«èšèŒãããŠããŸããã€ãŸããRAGåŽãäœããã®åå ã§æ°å€ãåã£ãŠãããŠããªãç¶æ
ã§ãã åå ãæ¢ã å¶æ¥å©çãåã£ãŠãããªãåå ã調æ»ããŸããã ãã£ã³ã¯ããæ¥æ¬èªãæ¶ããŠãã äžèšã®ãã¹ãç»é¢ã§ããœãŒã¹ã®è©³çްããæŒããšãå®éã«ååŸããããã£ã³ã¯ã確èªã§ããŸãã H 3#3 - 51 - - ALL C. A A . 4 LICHT. n. 1 4 : =6 17.5% : 17.5% L+3. d. 1 1 (P), #. 12 1 TOTAL (P), ) KEV''. 5 307 ** I 3 1 3 1 ) 1 0 L, (*) 1 35 3 LTD. () 11 , 1 10 K 1 T THESTED. æ¥æ¬èªãã²ãšã€ãèŠåœãããŸããã 17.5% ã THESTED ãšãã£ãæ°åã»èšå·ã»ã¢ã«ãã¡ãããã ããå«ãŸããŠããŸãã PDF ãæªãããã§ã¯ãªã PDF ã«ã¯ãæåãããã¹ãããŒã¿ãšããŠåã蟌ãŸããŠãããã®ãšãçŽãã¹ãã£ã³ããç»åã ãã®ãã®ããããŸããåŸè
ã§ããã°ç»åããæåãèµ·ããïŒOCRïŒãããªããæ¥æ¬èªã®èªè粟床ãèœã¡ãããšããããšæããŸãã ãããä»åã®ãã¡ã€ã«ã¯åè
ã§ããæå
ã§ pypdf ã«ããããšãå
ã»ã©ã®è¡šããã®ãŸãŸæœåºã§ããŸãã from pypdf import PdfReader print (PdfReader( "FY2021_annual_securities_report.pdf" ).pages[ 21 ].extract_text()) 売äžé« 108,679 112,085 ïŒ3,406 103.1ïŒ
å¶æ¥å©ç 12,189 13,736 ïŒ1,547 112.7ïŒ
çµåžžå©ç 11,502 13,224 ïŒ1,722 115.0ïŒ
ãã£ã³ã¯ã«æ¥æ¬èªãååšãããPDFãã¡ã€ã«èªäœã«åé¡ãç¡ããšããããšãããManaged parser ãæ¥æ¬èªãããŸãè§£æã§ããŠããªãå¯èœæ§ãé«ããšèããŸããã AWS ãµããŒãã«ç¢ºèªãã 以äžã®äºå®é¢ä¿ãšä»®èª¬ããŸãšã㊠AWS ãµããŒãã«åãåãããŸããã以äžã¯ 2026幎8ææç¹ã®åçã®èŠæšã§ãã Managed KB ã¯çŸæç¹ã§æ¥æ¬èª PDF ããµããŒãããŠããªãã Managed parser ã PDF ãã©ãåŠçããŠãããã¯å
éšæ
å ±ã®ããéå
¬é åæ§ã®èŠæã¯ä»ã®å©çšè
ãããå¯ããããŠãããæ¬ä»¶ãæ©èœæ¹åèŠæãšããŠéçºããŒã ã«ãã£ãŒãããã¯ãããã æ¥æ¬èªå¯Ÿå¿ããŠããªããšããåçãåããŠã Retrieve API ã§ãã£ã³ã¯ã®ã¡ã¿ããŒã¿ãèŠããŠã¿ããšããã "_language_code": "en" ãšãªã£ãŠããããšãåãããŸããã " metadata ": { " _file_type ": " PDF ", " _document_title ": " FY2024_annual_securities_report.pdf ", " _language_code ": " en ", ... } ã¯ãŒã¯ã¢ã©ãŠã³ã KB ã§æ¥æ¬èª PDF ãæ±ãå ŽåãçŸæç¹ã§ã¯åŸæ¥åã® Customer-managed KB ã䜿ãã®ãã¯ãŒã¯ã¢ã©ãŠã³ãã«ãªããŸãã æ€èšŒãšããŠãåãããŒã¿ãœãŒã¹ã§ Customer-managed KB ãäœãïŒè§£ææŠç¥=Amazon Bedrock ããã©ã«ãããŒãµãŒïŒã5 幎åã®å¶æ¥å©çãèããŠã¿ãŸããã 5 幎åãã¹ãŠåæ¬ãšäžèŽãããœãŒã¹ãã£ã³ã¯ã«ãæ¥æ¬èªããã®ãŸãŸæ®ã£ãŠããããšã確èªã§ããŸããã ãŸãšã Managed KB ã®äœ¿ãå¿å°ã¯æé«ã§ãããããŒã¿ãœãŒã¹ãæå®ããã ãã§ããã®ã®æ°åã§ RAG ãç«ã¡äžãããŸãã ãã ããæ¥æ¬èª PDF ã¯çŸæç¹ã§èªããŸãããAWS åŽã§å¯Ÿå¿ãããæ¥ãæ¥œãã¿ã«åŸ
ã¡ãŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @ooka.toru ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
ã¯ããã«ïŒèšèšã«ããã2ã€ã®ã¢ãããŒã ããã«ã¡ã¯ãé»éç·ç ã®æè¡çµ±æ¬æšé²ãŠããã æ±å€ç§ä¿ãšãåããé»éç·ç ã®è£œé ãšã³ãžãã¢ãªã³ã°æ¬éš ãšã³ãžãã¢ãªã³ã°1ãŠããã éœè€æºæã§ãã 補åéçºããšã¬ãã»ã¡ã«èšèšã®çŸå Žã§ã次ã®ãããªç¶æ³ãç®ã«ããããšã¯ãªãã§ããããã ãæ©èœãããã¯å³ãªã©ã®å³é¢ïŒå®æ§ã¢ãã«ïŒãäœæããŠã¿ããã®ã®ããã®åŸã®è©³çްèšèšãžã®æŽ»ããæ¹ãåãããªãã ãå€éšã®ææ¡ãææ³ã«æ²¿ã£ãŠæ§é ã®æŽçãé²ããããå
·äœçãªä»æ§æ±ºå®ããã¬ãŒããªãã®å€æã§è¡ãè©°ãŸãã ãèšèšå€æãè¿«ãããŠãæ°å€çãªæ ¹æ ããªããæçµçã«çµéšåãåã«é Œã£ãŠæ±ºå®ããŠããŸãã å€ãã®ãšã³ãžãã¢ã¯ãæ®æ®µããæ°åŒãèšç®ïŒå®éã¢ãã«ïŒãçšããŠèšèšæ¥åãè¡ã£ãŠããããšãšåããŸããããããå°å
¥ããã宿§ã¢ãã«ãšã®ä»ãåãæ¹ããäž¡è
ã®åœ¹å²åæ
ã«æ©ãŸããã±ãŒã¹ãå°ãªããããŸããã æ¬èšäºã§æåã«ãäŒããããã®ã¯ã ã宿§ã¢ãã«ã¯äžèŠããšåŠå®ããã€ããã¯äžåãªã ãšããããšã§ããèšèšæŽ»åã«ã¯åœ¹å²ã®ç°ãªãã宿§ã¢ãã«ããšãå®éã¢ãã«ãã®2ã€ãååšãã äž¡è
ãçµã¿åãããããšã§ãããæ ¹æ ã®ããèšèšå€æãå¯èœ ãšèããŸãã 宿§ã¢ãã«ïŒ æ§æãæ©èœãåè§£ã»æŽçã»å
±æããããã®ã¢ãããŒãïŒäŸïŒæ©èœãããã¯å³ãæŠå¿µå³ãã·ã¹ãã æ§æå³ïŒ å®éã¢ãã«ïŒ ãã©ã¡ãŒã¿ãç©çéãèšç®ã»è§£æããããã®ã¢ãããŒãïŒäŸïŒæ°åŒã¢ãã«ã1DCAE(SimulinkãModelicaèšèªãªã©)/3DCAEïŒ â»æ¬èšäºã§ã¯è°è«ã®åæãšããŠãããã¥ã¡ã³ãããŒã¹ã®éçãªå³é¢ã ãã§ãªããSysMLçã®ã¢ããªã³ã°èšèªã«ããèšè¿°ã§ãã£ãŠããå€éšãœã«ããŒãç©çèšç®ãšèªå飿ºãããŠããªãéçãªèšè¿°ã«çãŸããã®ã¯äŸ¿å®äžã宿§ã¢ãã«ããšããŠæ±ããŸãã `ãå³1ïŒå®æ§ã¢ãã«ãšå®éã¢ãã«ã®åœ¹å²ãšãäž¡è
ãçµã¿åãããèšèšå€æã®ããã»ã¹ã` æ¬èšäºã§ã¯ã宿§ã¢ãã«ãæã€æ¬æ¥ã®äŸ¡å€ãæŽçããããã§ããªã宿§ã¢ãã«ãã ããã§ã¯èšèšå€æãé£ããã®ããšããçç±ãšãæ¬æ¥å¿
èŠãªãå®éã¢ãã«ããæ
ã圹å²ã«ã€ããŠè§£èª¬ããããŸãã 宿§ã¢ãã«ã®éèŠãªåœ¹å² ïœå
šäœæ§é ã®å
±éèšèªãšããŠïœ åæãšããŠãæ©èœãããã¯å³ãªã©ã®å®æ§ã¢ãã«ã¯ãèšèšæŽ»åã«ãããŠãå
šäœæ§é ã®å
±éèšèªïŒãããïŒããšããŠæ©èœããŸãã è°è«ã®åå°ïŒ æ¢å補åãã·ã¹ãã å
šäœåã俯ç°ããããŒã ãéšééã§èªèãæããã æŠå¿µã®å
±æïŒ å°éå€ã®ã¡ã³ããŒïŒä»éšçœ²ãã¹ããŒã¯ãã«ããŒçïŒã«å¯Ÿãæ§é ããããããã説æããã ã€ã³ã¿ãŒãã§ãŒã¹æŽçïŒ æ©èœå士ã®ç¹ãããæç¢ºã«ããã¢ãžã¥ãŒã«åã仿§ã®ã¢ã¬ãé²ãã åžè²©ã®æ±çšãŠãããã仿§ã蚱容ç¯å²ãæç€ºãããèŠæ Œéšåãçµã¿åãããã ãã®ã¢ã»ã³ããªèšèšã§ããã°ãåã¢ãžã¥ãŒã«ã®æ§èœãæ¥ç¶æ¡ä»¶ãäºåã«èŠå®ãããŠããããã宿§ã¢ãã«ïŒæ§æå³ãªã©ïŒã ãã§ã ã¢ãžã¥ãŒã«ã®éžå®ãçµã¿ç«ãŠ ãæç«ããå ŽåããããŸãã ãããã æ°é åã®è£œåéçºãæ°èŠèšèšã極éãŸã§ã®æ§èœè¿œæ±ãæ±ããããéçº ã«ãããŠã¯ãæ§æå³ã ãã§ã¯ãç©ççã«æ¬åœã«æç«ãããããæ
ä¿ããããšãå°é£ã§ããã©ãã ã綺éºãªæ©èœãããã¯å³ãæãããšããŠããããåäœã§éšåã®å¯žæ³ã仿§ã®æ°å€ã決ãŸãããã§ã¯ãªãããã§ãã 宿§ã¢ãã«ã ãã§ã¯ãèšèšå€æããé£ãã3ã€ã®çç± å®æ§ã¢ãã«ãã ããã§èšèšå€æïŒä»æ§æ±ºå®ããã¬ãŒããªãïŒãäžãããšãããšã次ã®3ã€ã®å£ã«çªãåœãããšèããããŸãã çç±1ïŒæ°å€ã«ãããæ§èœè©äŸ¡ããé£ãã æ©èœãããã¯å³ã®äžã«ãå·åŽãã¡ã³ããç±äº€æåšãžé¢šãéãããšå®çŸ©ããããšã§ãæ©èœã®å®çŸ©ãæ¥ç¶é¢ä¿ã¯æç¢ºã«ãªããŸãããããããå
·äœçã«æž©åºŠãäœâäœäžãããããšããç©çéã«ããå®éçãªè©äŸ¡ãé£ãããªããŸãã ãã®çµæããè¯ããªãããããšããæèŠã ãã§å€æãé²ããŠããŸããåŸå·¥çšã®å®æ©ãã¹ããªã©ã®æ®µéã§ç®æšæ§èœã«å±ããªãããšãçºèŠãã倧å¹
ãªææ»ããçºçãããªã¹ã¯ããããŸãã çç±2ïŒãèšèšéçãã®è©äŸ¡ãé£ãã ãã©ããŸã§æ¿åãèããããç Žå£ãããããæå€§è·éãããã£ãéã«å€åœ¢ã蚱容å
ã«åãŸããããšãã£ãéçå€ïŒããŒãžã³ïŒã¯ããããã¯å³ãæãã ãã§ã¯èŠæ¥µããããŸããã çµæãšããŠãéçãåãããªãããã«å®å
šåŽãèŠãããŠéå°èšèšãšãªããã³ã¹ãé«ãééå¢å ãæãããéã«éçãèŠèª€ã£ãŠå質ãªã¹ã¯ãæ±ããæžå¿µããããŸãã çç±3ïŒå¯Ÿè±¡ã®ãç©çç¹æ§ãã®è©äŸ¡ã»è¿œè·¡ãé£ãã SysMLãªã©ã®ã¢ãŒããã¯ãã£å³ããããã¯å³ã®è£è¶³ãšããŠã泚éããã¹ãã§ V = IRïŒãªãŒã ã®æ³åïŒã F = maïŒéåæ¹çšåŒïŒãªã©ãšãã£ãå
·äœçãªæ°åŒã䜵èšãããŠããã±ãŒã¹ããããŸãã ããããã¢ãã«å³ãããã¥ã¡ã³ãã®äžã«ãããæ°åŒãæžãããŠããŠãããããã¯äººéãèªãããã®ãæåæ
å ±ïŒæ³šéïŒãã«éããŸãããã¢ãã«å
ã®å€æ°å士ãããã°ã©ã ãèšç®åŒãšããŠçžäºã«èªåé£åïŒèªåèšç®ïŒãããŠããªã以äžã仿§å€æŽãç°åžžãçºçããéã®éçã»åçãªç©çå¿çãè©äŸ¡ã»è¿œè·¡ããããšã¯é£ãããªããŸãã `ãå³2ïŒå®æ§ã¢ãã«ã®å£ãšå®éã¢ãã«ã«ããè£å®ã` 宿§ã¢ãã«ãè£å®ãããã確ããªèšèšå€æãäžãããã®ãå®éã¢ãã«ã 宿§ã¢ãã«ãè£å®ãããã確ããªèšèšå€æãäžãããã«ã¯ ç©ççŸè±¡ãæ°åŠçã«è¡šçŸãããå®éã¢ãã«ïŒæ°åŒã»ã·ãã¥ã¬ãŒã·ã§ã³ïŒã ã®æŽ»çšãéèŠãšãªããŸãã ãã¡ãããå®éã¢ãã«ã®æ§ç¯ã«ã¯ã¢ãã«äœæã³ã¹ããå°éç¥èãå¿
èŠãšããåŽé¢ããããŸããã ããããããŸã宿§ã¢ãã«ïŒå
šäœãããïŒã§ãã©ããå®éèšç®ãã¹ãããã®ç¯å²ãçµã蟌ã¿ããã®äžã§ã1DCAEïŒéäžå®æ°ã¢ãã«ãModelicaãªã©ã掻çšããã·ã¹ãã ã¬ãã«ã®ã·ãã¥ã¬ãŒã·ã§ã³ïŒããã3DCAEïŒæ§é ã»æµäœã»é»ç£çè§£æãªã©ïŒããšãã£ãå®éã¢ãã«ã掻çšããããšãå¹ççã§ãã å®éã¢ãã«ã掻çšããããšã§ã3ã€ã®å£ã«å¯Ÿå¿ããèšèšå€æãå¯èœã«ãªããšèããããŸãã 1. æ§èœã®æ°å€åïŒçç±1ãžã®ã¢ãããŒãïŒ ãããWã®ç±ãçºçããéãäœâãŸã§æž©åºŠãäžæãããããšãã£ãå
·äœçãªæ°å€ãç©çã·ãã¥ã¬ãŒã·ã§ã³ã«ãã£ãŠç®åºããå®éçãªè©äŸ¡çµæãšããŠæ§èœãè©äŸ¡ã§ããŸããããã«ããã詊äœåã«æ§èœæªéãªã¹ã¯ãäœæžã§ããŸãã 2. éçã»å¢çã®äºæž¬ãšãã¬ãŒããªãè©äŸ¡ïŒçç±2ãžã®ã¢ãããŒãïŒ è£œåãç Žå£ã»äœåäžè¯ãèµ·ããã®ãªã®ãªã®å¢çå€ïŒèšèšéçïŒãäºæž¬ã»è©äŸ¡ã§ããŸããããã«ãããéå°èšèšïŒãªãŒããŒã¹ããã¯ïŒãé²ãã€ã€ãã軜éåãšåŒ·åºŠã®ãã¬ãŒããªãè©äŸ¡ïŒæé©è§£ã®æ¢çŽ¢ïŒããªã©ã®å€æãããŒã¿ã«åºã¥ããŠäžãããšãå¯èœã«ãªããŸãã 3. ç©çç¹æ§ïŒåäœïŒã®ãã¬ãŒã¹ãšå®æž¬æ€èšŒïŒçç±3ãžã®ã¢ãããŒãïŒ å€æ°å士ãèšç®çµåãããã¢ãã«ãçšããããšã§ã仿§å€åã«äŒŽãå®åžžå¿çããæéçµéã«äŒŽãåçãªéæž¡å¿çãæ°åŠçã«ãã¬ãŒã¹ã§ããŸãããŸãã宿ž¬ããŒã¿ïŒãã³ããã¹ãïŒãšæ¯èŒããããšã§ãã¢ãã«ã®åŠ¥åœæ§ã®ç¢ºèªïŒããªããŒã·ã§ã³ïŒããã©ãã«åå ã®åæã«æŽ»çšã§ããŸãã ãŸãšãïŒå®æ§ã§å
±æããå®éã§å€æãã ãæ©èœãããã¯å³ãäœæããŠå®çµããæ°ã«ãªã£ãŠããŸãïŒãã®åŸã®äœ¿ãéãèŠããªãïŒããšãã課é¡ã«å¯Ÿããæå¹ãªã¢ãããŒãã¯ãäž¡è
ã®åœ¹å²åæ
ãæ£ããçè§£ããããšã ãšèããŸãã 宿§ã¢ãã«ã¯ãèªèåããã®ããŒã«ãïŒ ã·ã¹ãã å
šäœã®æ§é ãæ©èœãé¢ä¿è
éã§å
±æããå
±éèšèªãäœãããã«äœ¿ãã å®éã¢ãã«ã¯ãèšèšå€æã®ããŒã«ãïŒ ç©ççãªæ°å€æ ¹æ ãå°ãåºãã仿§æ±ºå®ããã¬ãŒããªãè©äŸ¡ãè¡ãããã«äœ¿ãã æ©èœãããã¯å³ãªã©ã®å®æ§ã¢ãã«ã®äžã«ãåã«çµæã®æ°å€ã泚éãšããŠã¡ã¢ããã ãã§ã¯ãèšç®å¯èœãªåœ¢ã§å®éåããããšã¯èšããŸããã宿§ã¢ãã«ã§å
šäœåãå¯èŠåãã€ã€ããã®è£åŽã«ããã·ãã¥ã¬ãŒã·ã§ã³çã®å®éã¢ãã«ãšé£æºãããŠæ°å€çãªæ ¹æ ã«åºã¥ãèšèšå€æãäžãããã®ã䞡茪ã®ã¢ãããŒãããæ£ããæ©èœãããããšããææ»ãã®äœæžãããã確ããªèšèšå€æãžç¹ããäžå©ã«ãªãã®ã§ã¯ãªãããšèããŠãããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @koka.hidetoshi ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ããšã³ã¿ãŒãã©ã€ãºç¬¬äºæ¬éš ãã©ãããã©ãŒã ãšã³ãžãã¢ãªã³ã°éš 2幎ç®ã®èæ± ç¥¥æ±°ã§ããæ¥åã§ã¯ AI ãµããŒãã»ã³ã¿ãŒãšããŠçæ AI / LLM æŽ»çšæ¡ä»¶ã dJ ã°ã«ãŒãå
ã®çæ AI å©æŽ»çšæšé²ãªã©ãè¡ã£ãŠããŸãã ãã®èšäºã§ã¯ãåŸé課éã»æè³ååãã§ãŒãºã«å
¥ã£ãŠããçã® LLM ãã³ããŒããæšä»ãã³ãããŒã¯ã¹ã³ã¢æ¯ã®ããŒã¯ã³å䟡ãäžãç¶ããŠãããšããäºå®ã«å¯ŸããŠãæ€èšŒããŒã¹ã®å®éçãªè©äŸ¡ãè¿°ã¹ãŸããããå
·äœçã«èšãã®ã§ããã°ã ãClaude Mythos/Fable çŽãšè©ãããã¢ãã«ïŒClaude Opus 5ïŒããããå®ãããŒã¯ã³åäŸ¡ã§æäŸãããŠããããã«èŠããã®ã«å¯ŸããŠãå®éã®è«æ±éé¡ã¯æ¬åœã«äžãã£ãŠããã®ãïŒã ãšããåé¡ã«ã€ããŠæ€èšŒãè¡ããŸãã ã¯ããã« æ€èšŒ çµæ å質è©äŸ¡ æšè«é è«æ±é¡ çµè« ãããã« ã¯ããã« 2026 幎ã«å
¥ã£ãŠããããã³ãããŒã¯ã¹ã³ã¢ã«å¯ŸããããŒã¯ã³å䟡ã¯äžããç¶ããŠããŸããæäžäœã¢ãã«ã« 0.5% å·®ãŸã§è¿«ãæ§èœãããã®åé¡ã§æã«å
¥ãããã«ãªããŸããã 2026 幎 7 æ 25 æ¥ãAnthropic ãã Claude Opus 5 ãçºè¡šãããŸããããã®äžäœïŒãã©ã°ã·ããã¢ãã«ïŒã«ã¯ãClaude Mythos / Claude Fable 5 ãååšããŸããClaude Mythos ã¯ãè©äŸ¡ç°å¢ã®ãããã¯ãŒã¯èšå®äžåããå®åšã®çµç¹ã€ã³ãã©ã«å°éããæŒç¿èª²é¡ã®äžéšãšèª€èªããŠèªèšŒæ
å ±ãæã¡åºãæäœãè¡ã£ã äºäŸ ãå
¬è¡šãããŠããã¢ãã«ã§ãããã® Mythos ã«åŒ·åãªå¶éããŒãã¹ïŒã¡ã¿ããã³ããïŒãèšå®ãå
¬éããã Claude Fable 5 ã¯ããã®ãµã€ããŒã»ãã¥ãªãã£èœåã®é«ãããæ¥ãæžå¿µããã2026 幎 6 æ 12 æ¥ã« ç±³æ¿åºã®èŒžåºèŠå¶ã®å¯Ÿè±¡ãšãªããŸãã ã é åã«ãã£ãŠã¯åçããã以äžã®ãã³ãããŒã¯ã¹ã³ã¢ãèªã Claude Opus 5 ã¯ãCursorBench 3.2 ã®æå€§ effort ã§æäžäœã® Claude Fable 5 ã®æé«ã¹ã³ã¢ã« 0.5% å·®ãŸã§è¿«ããªãããã³ã¹ãã¯ååã ãš å
¬è¡šãã㊠ããŸãã ã¢ãã« CursorBench 3.2 å
¥å / åºåïŒ1M ããŒã¯ã³ãããïŒ Claude Fable 5 70.5% $10 / $50 Claude Opus 5 70.0% $5 / $25 Claude Opus 4.8 62.3% $5 / $25 Claude Sonnet 5 61.5% $2 / $10ïŒ2026 幎 8 æ 31 æ¥ãŸã§ã®å°å
¥äŸ¡æ Œã9 æ 1 æ¥ä»¥é㯠$3 / $15ïŒ è¡šã®çµ¶å¯Ÿå€ã¯ç¬¬äžè
ã«ããéèšã§ãããã³ãããŒã¯ã®éå¶å
ã§ãã Cursor èªèº«ã¯ãæ¢å®ã® effort ã§ Claude Opus 5 ã 66.7%ãClaude Fable 5 ã 66.5% ã ãš è¿°ã¹ãŠ ããŸãã Claude Opus 5 ã® $5 / $25 ã Claude Opus 4.8 ããæ®ã眮ãã§ããããšã¯ å
¬åŒçºè¡šæ ã«æèšãããã Claude Sonnet 5 ã®çºè¡š 㯠Claude Opus 4.8 ã«è¿ãæ§èœãããäœãäŸ¡æ Œã§æäŸããã¢ãã«ã ãšããŠããŸããæäžäœã®åé¡ã§ 0.5% å·®ãããã«ãã® 5 åã® 2 ã®å°å
¥å䟡ã§åäžä»£ã® Opus ã«è¿ãæ§èœããšãã䞊ã³ã§ãã åãåã㯠Anthropic ã«éããŸãããOpenAI 㯠2026 幎 7 æ 30 æ¥ã« GPT-5.6 ãã¡ããªãŒã® API äŸ¡æ Œãæ¹å® ããŸããã7 æ 9 æ¥ã® GA æç¹ãšæ¯ã¹ããšãäžäœã® Sol ã¯å
¥å $5 / åºå $30 ã§æ®ã眮ããäžäœã® Terra ã¯å
¥å $2.50 / åºå $15 ãã $2.00 / $12 ãž 20% ã®åŒãäžããäžäœã® Luna ã¯å
¥å $1.00 / åºå $6.00 ãã $0.20 / $1.20 ãž 80% ã®åŒãäžãã§ãïŒãããã 1M ããŒã¯ã³ãããïŒã ãã³ãããŒã¯ æ¡ä»¶ GPT-5.6 Sol ã®ã¹ã³ã¢ ARC-AGI-3 OpenAI ã®å
¬åŒããŒãã¹ 13.3% ARC-AGI-3 æšè«ä¿æãšå§çž®ãå ããããŒãã¹ 38.3%ïŒåºåããŒã¯ã³ã¯ 6 åã® 1ïŒ ARC-AGI-3 åè: 人éã®å¹³å 48% Terminal-Bench 2.1 æšæº 88.8%ïŒåäžä»£ GPT-5.5 㯠88.0%ïŒ Terminal-Bench 2.1 Ultra ã¢ãŒã 91.9% â»ãã ããGPT-5.6 ã¯ãã¹ã³ã¢ãä¿ã£ããŸãŸå䟡ã ããäžãã£ãããšèªãããšã¯ã§ããŸãããæšè«ã®ä¿æãšå§çž®ãããŒãã¹åŽã§å ãããš ã¹ã³ã¢ã¯çŽ 3 åã«ãªããåºåããŒã¯ã³ã¯ããã 6 åã® 1 ã«æžã£ã ãšå ±ããããŠããŸãã Terminal-Bench 2.1 ã®æ°å ã¯åäžä»£ã® GPT-5.5 ãã 0.8 ãã€ã³ãã®æ¹åã§ãã ãããã®æ°åãé¡é¢éãåãåãã®ã§ããã°ãå瀟㯠æ§èœãåäžããã€ã€å€äžããç¶ããŠãã ãšããããšã«ãªããŸããäžæ¹ã§ãå LLM ãã³ããŒã¯åŸé課éå¶ã匷åããåºç€æè³ãååããŠãããã§ãŒãºã«å
¥ã£ãŠããããããã®ã¹ã¿ã³ã¹ã®éãã«ã¯è¥å¹²ã®éåæãæ®ããŸãã å䟡衚ãçŽæããŠããã®ã¯ã1 ããŒã¯ã³ã®å€æ®µãã ãã§ãã£ãŠãã1 ã€ã®ä»äºã®å€æ®µãã§ã¯ãããŸãããããã¯åœç¶ã®ããšã§ããã ãClaude Sonnet 5 ã®å䟡㯠Claude Opus 5 ã® 5 åã® 2 ã§ããããããã£ãŠãåãå®è£
äœæ¥ãæããã°ãè«æ±é¡ã 5 åã® 2 ã«ãªãã ãšã¯èšãåããªãããã§ãã ãã®åœé¡ãæãç«ã€ã®ã¯ãåãä»äºã«å¿
èŠãªããŒã¯ã³æ°ãã¢ãã«ã«ãããæŠãäžå®ã§ãããšãã ãã§ãã ããå®ãã¢ãã«ããäžäœã¢ãã«ãšåãå質ã«å°éããããã«æšè«ãåãåãããšã«ãã£ãŠãçµæçã«å€ãã®ããŒã¯ã³ãæ¶è²»ããŠããã®ã§ããã°ãå䟡ã®å®ãã¯è«æ±æžã«å±ãåã«ç®æžãããŠããã»ãããã¯é転ããŠãã ããšã«ãªããŸããããªãã¡ãããã«ã¯ ãå®ãã¢ãã«ã§æšè«ãç©ãããšã§ãŠãŒã¶ã®å¿ççæµæãäžããã¹ã³ã¢ãæ
ä¿ããªããã®èª²éã«ã€ãªããŠããã ãšããçããæ®ãããŠããŸãã æ€èšŒ ä»åã¯ãClaude Opus 5 ãçºè¡šãããã°ããã® Anthropic ã«ã¿ãŒã²ãããçµããæ€èšŒãè¡ããŸãã ããããšã¯å¯èœãªéãã·ã³ãã«ãªãã®ãšãããŸã£ããåãèŠä»¶å®çŸ©æžã Claude Sonnet 5 / Claude Opus 5 / Claude Fable 5 ã«æž¡ããClaude CodeïŒv2.1.220ïŒã§å®å
šèªåã«å®è£
ãããŸãã2 顿 à 3 ã¢ãã« Ã 3 詊è¡ã®èš 18 æ¬ãåããå®è£
ã«ããã£ãæéãèšæž¬ããŸããã 顿ã«ã¯ã仿§ãå€éšã«äžæã«ååšããŠãšããžã±ãŒã¹ãå¯éããŠããå®è£
課é¡ã 2 ã€éžã³ãŸãããããã¯ã顿ãç°¡åãããããã« 3 ã¢ãã«ãšãå·®ãåºãªããšããçµæãåé¿ããããã§ããäžæ¹ã§ãããããã¯å€§èŠæš¡ãªéçºæ¡ä»¶ãšããããã§ã¯ãªãã åŒç€Ÿã®ç€Ÿå¡ãæ¥åžžçã«AIã«äŒŽèµ°ãããŠãããããªãäžèŠæš¡ãã€èŠä»¶ããªãã³ã®æèå€æäœæ¥ã«è¿ããã¿ã¹ã¯ãã¡ã€ã³ ãæ³å®ããŠèšèšããŸããã 顿 å®è£
ãããã® èžã¿ããããšããžã±ãŒã¹ é ããã¹ã B: æ°åŒè©äŸ¡ãšã³ãžã³ 衚èšç®ãœããã®æ°åŒè©äŸ¡åšãã»ã«åç
§ãæŒç®åã®åªå
é äœã埪ç°åç
§ã®æ€åºãäŸåé¢ä¿ã«ããšã¥ãåèšç® åé
ãã€ãã¹ãã¹ãä¹ãã匷ãçµåããïŒ =-2^2 㯠4.0 ïŒã ROUND 㯠0 ããé ãæ¹ãžäžžããïŒPython ã®çµèŸŒã¿ round ã¯ãã³ã«ãŒãºäžžããªã®ã§ãçŽ çŽã«å®è£
ãããšèœã¡ãïŒ 119 ä»¶ D: ç¹°ãè¿ãäºå®ã®å±éåš iCalendarïŒRFC 5545ïŒã® RRULE ã®ãµãã»ãããæ¥æåã«å±éãããææ«ã第 n ææ¥ãé€å€æ¥ãã¿ã€ã ãŸãŒã³ 第 5 ææãããæã13 æ¥ã®éææ¥ãšãã£ãæŠã®éã©ãæ¥ä»ãæåŸ
å€ã«çœ®ããïŒ calendar ã¢ãžã¥ãŒã«ã§ç¬ç«ã«æ€ç®ïŒ 105 ä»¶ æ¡ä»¶ã¯ä»¥äžã®ãšããã§ãã æšè«èšå® : --effort high ãå
šæ¡ä»¶ã§åºå® å人èšå® : --safe-mode ã§ CLAUDE.mdã»ã¹ãã«ã»ããã¯ã»MCP ãäžæ¬ã§ç¡å¹å å€éšæ
å ± : --disallowed-tools WebSearch WebFetch ã§ååŸãå°ãã æç€ºæ : å
šæ¡ä»¶ã§å®å
šã«åäžã® 1 çš®é¡ã ã å®è£
é : èŠä»¶å®çŸ©æžã§ãã¡ã€ã«ãã¹ãšå
¬é API ãåºå® æ¡ç¹ : å®è£
åŽã«èŠããªãé ããã¹ãã®ééçãé ããã¹ãèªäœã¯ãå¥ã«æžããåç
§å®è£
ã§å
šä»¶éãããšãå
ã«ç¢ºèª ããŒã¯ã³æ°ã¯ claude -p --output-format stream-json ã®æçµ result ã€ãã³ãã« API å ±åå€ããã®ãŸãŸå
¥ããããããã䞻軞ã«ããŸããã課éé¡ã¯ CLI ãåºã costUSD ãéµåã¿ã«ããããšãªãã å
¬åŒã®æéããŒãž ã®å䟡ãšãã£ãã·ã¥ã®åçã§ç¬ç«ã«åèšç®ããŸããããã®æ€ç®ã§ã CLI ã Claude Sonnet 5 ãæšæºäŸ¡æ Œã® $3 / $15 ã§èšç®ããŠããããšã倿ããããã以éã®éé¡ã¯ãã¹ãŠçŸè¡ã®å°å
¥äŸ¡æ Œã§åŒãçŽããæ£ç¢ºãªå€ãšãªã£ãŠããŸãã çµæ å質è©äŸ¡ å質é¢ã§ã¯ã18 æ¬ã®ãã¡ 17 æ¬ãæºç¹ãšãªããŸãããå¯äžã®å€±ç¹ã¯ãClaude Sonnet 5 ã顿 D ã® 3 æ¬äž 2 æ¬ã§ BYDAY=+2TU ïŒåºæ°ã«æç€ºçãªæ£ç¬Šå·ãä»ãã衚èšïŒãäžæ£ãšå€å®ãããã®ã§ãå
š 105 ä»¶äž 1 ä»¶ã§ããRFC 5545 ã®æ§æã§ã¯åºæ°ã®åã« + ã眮ããã®ã§å®è£
åŽã®èª€ãã§ãããç§ã®èŠä»¶å®çŸ©æžãæç€ºçãªæ£ç¬Šå·ã«è§ŠããŠããªãã£ãã®ã確ãã§ããããåè³ªå·®ã®æ ¹æ ãšããŠåŒ·ãæ±ãã®ã¯ç¡çãããã§ãããã çè
ã®æ³å®éãããã®é£åºŠã®ç¯å²ã§ã¯ã3 ã¢ãã«ã®å質ã«å·®ã¯åºãŸããã§ããã ãããã£ãŠã åãææã«å°éãããŸã§ã«ãããæã£ãã®ãããšããæ¯èŒ ããã®ãŸãŸæç«ããŸãã äžæ¹ã§ãæèŠæéãšå®è£
è¡æ°ã«ã¯ã¢ãã«ããšã®åŸåãèŠãããŸãã3 詊è¡ã®å¹³åã§ã Claude Opus 5 ãäž¡é¡æã§æãéãïŒ516 ç§ / 366 ç§ïŒãClaude Fable 5 ãäž¡é¡æã§æãçãã³ãŒãã§æºç¹ãåããŸããïŒ605 è¡ / 325 è¡ïŒ ã æšè«é æèããŒã¯ã³ã«ã¯ãAPI ã«åé¢ãããã£ãŒã«ããååšããŸãããããã§ãCLI ãæèäžã«æµãã€ãã³ãããå€ãååŸããŸããã { " type ":" system "," subtype ":" thinking_tokens "," estimated_tokens ": 11050 ," estimated_tokens_delta ": 100 } estimated_tokens ã¯æèã®ã²ãšç¶ãïŒãšããœãŒãïŒããšã« 0 ããç©ã¿äžãããæ¬¡ã®ãšããœãŒãã§ãªã»ãããããŸããå¢åã®ç·åãšããšããœãŒãããšã®ããŒã¯ã®ç·åãå¥ã
ã«èšç®ããŠçªãåãããå®å
šã«äžèŽããããšã確èªããŸããïŒClaude Opus 5 ã® 1 æ¬ã§ 17,713ïŒã 顿 ã¢ãã« åºåããŒã¯ã³ïŒå¹³åïŒ æèããŒã¯ã³ïŒå¹³åïŒ æèã®æ¯çïŒ3 詊è¡ã®ç¯å²ïŒ B Claude Sonnet 5 63,259 46,619 73.7%ïŒ72.4 ã 76.0ïŒ B Claude Opus 5 45,339 21,692 47.7%ïŒ42.1 ã 52.4ïŒ B Claude Fable 5 49,802 33,246 66.8%ïŒ65.5 ã 68.3ïŒ D Claude Sonnet 5 44,945 30,783 68.5%ïŒ68.0 ã 69.0ïŒ D Claude Opus 5 32,846 13,448 40.6%ïŒ31.8 ã 49.5ïŒ D Claude Fable 5 33,411 18,805 56.0%ïŒ49.8 ã 60.3ïŒ æèã®æ¯çã¯ãäž¡é¡æã§å
šãåãé åºã«ãªããŸããã Claude Sonnet 5 ãæãåããClaude Opus 5 ãæãèããClaude Fable 5 ããã®éã§ãã 3 詊è¡ã®ç¯å²ããClaude Sonnet 5ïŒ68 ã 76%ïŒãš Claude Opus 5ïŒ32 ã 52%ïŒã§éãªããŸããã åºåããŒã¯ã³ã®å
èš³ãæãå®ãã¢ãã«ããæãåãæèããŠãã åã¿ã®åºã©ããã¯ãåŸåŸ©åæ°ã§ã¯ãããŸãããClaude Sonnet 5 ãš Claude Opus 5ã§å¹³ååå£«ã®æ¯ãåããšãæèããŒã¯ã³ã 2.15 åïŒé¡æ BïŒãš 2.29 åïŒé¡æ DïŒãåºåããŒã¯ã³ã 1.40 åãš 1.37 åã§ã顿ãéã£ãŠãã»ãŒæã£ãŠããŸããäžæ¹ã§ API ãªã¯ãšã¹ãæ°ã®æ¯ã¯ 0.62 åãš 1.13 åã§ã顿ã«ãã£ãŠé転ããŠããŸãããã¹ãã«èœã¡ãŠçŽãåŸåŸ©ãå€ãã®ã§ããã°ããªã¯ãšã¹ãæ°ã®æ¯ãå®å®ã㊠1 ãè¶
ããã¯ãã§ããããªãã¡ã ããŒã¯ã³åã¿ã®å·®ã¯ã1 ãªã¯ãšã¹ããããã®æèã®åãããæ¥ãŠãã ãšèšããã§ãããã Sonnet 5 ã®æšè«ãåãã®ã¯æŠãäºæ³ã©ããã§ããããOpus 5 ããã Fable 5 ã®ã»ããåãã®ã¯äºæ³å€ã§ãããããã§ããã°ã åéã«ãã£ãŠã¯ Fable 5 ããã Opus 5 ã®ã»ããã³ã¹ãããã©ãŒãã³ã¹ã®è¯ãã¢ãã«ã§ãã ãšæèšããŠããŸã£ãŠè¯ããšæã£ãŠããŸããããŒã¯ã³å䟡ã»å
¥åºåããŒã¯ã³ãšãã« Fable 5 ãäžåãã®ã§ããã°ãè²»çšåæžå¹æã¯ãã®ãŸãŸäºéã«å¹ããŠããã§ãããã è«æ±é¡ å
¬åŒã®çŸè¡äŸ¡æ Œã§åèšç®ããã1 æ¬ãããã®è«æ±é¡ã§ãã 顿 Sonnet 5 Opus 5 Fable 5 Opus 5 ÷ Sonnet 5 Fable 5 ÷ Opus 5 B $1.035 $2.018 $3.990 1.95 åïŒåäŸ¡æ¯ 2.50ïŒ 1.98 åïŒåäŸ¡æ¯ 2.00ïŒ D $0.823 $1.471 $2.889 1.79 åïŒåäŸ¡æ¯ 2.50ïŒ 1.96 åïŒåäŸ¡æ¯ 2.00ïŒ å䟡㯠2.5 åã® 1 ãªã®ã«ãè«æ±ã¯ 1.79 åã® 1 çšåºŠã«åæããŸããã åé ã§çœ®ããåœé¡ã¯åŠå®ãããäžæ¹ã§ãåŠå®ã®ããæ¹ã¯äºæ³ãšã¯ç°ãªã£ãŠããŸãããçè
ã¯ããšããããšãæšè«ã®åã¿ãšååŸ©åæ°ã®éãªãã«ãã£ãŠãSonnet 5 ã®ç·èª²éæéã®ã»ããé«ãã®ã§ã¯ïŒããšãããŸã§çã£ãŠããŸããããããã¯ãªã£ãŠããŸãããClaude Sonnet 5 㯠Claude Opus 5 ã® 1.8 ã 2.0 åã® 1 ã®è«æ±ã§ãåçã®å質ã«å°éããŠããŸãã å®ãã¢ãã«ã¯ãã¡ãããšå®ãã®ã§ããã äžæ¹ã§ãä»äºãããã®ç·è²»çšã¯ å䟡衚ããåããå°è±¡ã»ã©ã®å²åŒçã«ã¯å±ããŠããŸããã ããããç®æžãã¯å
šéå±€ã§èµ·ããŠããããã§ã¯ãããŸãããå䟡差ã®ãã¡å®éã«è«æ±é¡ã®å·®ãšããŠå®çŸããå²åã¯ãClaude Fable 5 ÷ Claude Opus 5 ã§ã¯ 98% ã§ãããClaude Sonnet 5 ã絡ããš 70 ã 78% ãŸã§èœã¡ãŸãã è«æ±ã® 55 ã 61% çšåºŠã¯åºåããŒã¯ã³ç±æ¥ã§ããã®åºåã® 4 å²ãã 7 å²ãæèã§ããæãåããããšã è«æ±å
šäœã®ããã 3 å²ãã 4 å²ããæèãã«å¯Ÿããæ¯æã ã«ãªããŸãããããæèã®äžèº«ã¯èšé²ã«æ®ããŸãããæèããŒã¯ã³ãåºåããŒã¯ã³ãšããŠèª²éãããããšã¯ å
¬åŒããã¥ã¡ã³ãã® Thinking ã«æèšãããŠããŸãã®ã§ãé©åãªã¢ãã«éžæã»é©å㪠effort èšå®ãéèŠã ãšããäžè¬è«ãæ¯æãããããªçµæãšãªããŸããã ãªãããããŸã§ã® Claude Sonnet 5 ã®éé¡ã¯ãå°å
¥æã®å²åŒäŸ¡æ ŒïŒ$2 / $10ïŒã«ããšã¥ããŠããŸãã9 æ 1 æ¥ä»¥éã®æšæºäŸ¡æ ŒïŒ$3 / $15ïŒã§åŒãçŽããšãå·®ã¯çž®ã¿ãŸãã 顿 Claude Sonnet 5ïŒæšæºäŸ¡æ ŒïŒ Claude Opus 5 Opus 5 ÷ Sonnet 5 B $1.553 $2.018 1.30 å D $1.234 $1.471 1.19 å ããèŠããšãClaude Opus 5 ã®ã»ããã³ã¹ããè¯ãããã«ãæããããŠããŸããClaude Opus 5 ãšSonnet 5 ã®è«æ±é¡ïŒå®è²»ïŒããããã1.30 åçšåºŠãªã®ã§ããã°ã æ§èœæ¯ã§èãããšãã® Claude Opus 5 ã®ã³ã¹ãããã©ãŒãã³ã¹ã¯çŸ€ãæããŠããŸãã çµè« å®ãã¢ãã«ã¯çžå¿ã«æšè«ãåãåããèšèšãããŠããããã®åã¿ã¯ãåºåããŒã¯ã³ãšããŠå䟡衚ã®å³ç«¯ã®åã«ä¹ã£ãŠããŸãã å²åŒã¯ãå²åŒãããåŽãäœåã«èããããšã§äžéšè¿œåŸŽãããŠãã ããšããæ§å³ã§ãã ãã£ãšããä»åã®é¡æã¯ 2 ã€ãšãæšæºã©ã€ãã©ãªã ãã§æžããåäžãã¡ã€ã«ã®å®è£
課é¡ã§ãæ¢åã³ãŒãã®æ¹ä¿®ãå€§èŠæš¡ãªãªãã¡ã¯ã¿ãªã³ã°ã§ã¯åŸåãå€ãããããã®ã§ããå質èªäœã¯é£œåããŠããŸã£ããããé£ãã課é¡ã§å質差ãéãããšãã«ãã®æ¯çãã©ãåãã®ããåãã£ãŠããŸããã ãŸãã Fable 5 ã¯effortãmediumã§éçšããããšãæãŸãã ãšããããšã å
¬åŒã«èšåãã㊠ãããä»åã®æ€èšŒã¯éåžžã«ç°¡çŽ ãªãã®ã§ããããšãç³ãæ·»ããŠãããŸããçµè«ã¯ ãããŒã¯ã³å䟡ãšã¿ã¹ã¯ã®é£æåºŠãèŠæ¯ã¹ãæé©ãªã¢ãã«éžæãšeffortèšå®ãå¿ãããããã«ã軜éãªã¢ãã«ãã詊ããŠããããšãéèŠã ãšããããªããšãå¡åºžãªãã®ã«ãªã£ãŠããŸãããã§ãã ãšã¯ããã ãClaude Sonnet 5 ã§äœåºŠãã©ãªãŒãéããããã¯é«ã³ã¹ã㪠Claude Opus 5ã§äžçºã§å¶ããŠããŸã£ãã»ããåŽã£ãŠå®ãå Žåãããããã ã ãšããã®ã¯éèŠãªçºèŠã§ãã£ããšæããŠããŸãã ãããã« ä»åã®æ€èšŒã®çµè«ã¯ã Claude Opus 5 ã®ã³ã¹ãããã©ãŒãã³ã¹ãéç«ã£ãŠãã ããšãããã®ã§ãããè«æ±ã¯ Claude Fable 5 ã®çŽ 2 åã® 1ã§æžã¿ãå䟡ãåé¡ã§ããã ãã§ãªããåºåããŒã¯ã³ãšæèã®æ¯çãã®ãã®ã Claude Fable 5 ãäžåã£ãŠããŸãã ãã®ããã§ãããŒã¯ã³å䟡ã®åŒãäžããè«æ±é¡ã«ãã®ãŸãŸå±ãããã§ã¯ãªãããšãåãããŸãããClaude Sonnet 5 ã®å䟡㯠Claude Opus 5 ã® 2.5 åã® 1 ã§ãããè«æ±ã¯ 1.79 ã 1.95 åã® 1 ã«ãšã©ãŸããŸããã差㮠2 å²ãã 3 å²ã¯ãåãæšè«ã«ããæ¶è²»éã®å¢å ã§çžæ®ºãããŠããŸãã äžæ¹ã§ãClaude Opus 5 ãClaude Code çµç±ã§ 1 é±éã»ã©å®åã§äœ¿ã£ãäœæãšããŠã¯ã æ¥åãã¡ã€ã³ç¥èã«åºã¥ãæææ±ºå®ã倿ãå¿
èŠãªã±ãŒã¹ã /adviser ã³ãã³ãã§å
¥ãããšã¹ã«ã¬ãŒã·ã§ã³å
ãšããŠã¯ãOpus 5 ã®åºåç²ŸåºŠïŒæè»ãªæèåã»å€æåïŒã¯ããç©è¶³ããªã å°è±¡ãåããŸããããã®ãããå®å
šãªäžäœäºæã«ãªã£ãŠãããšã¯èšããªãã§ãããã ãšã¯èšãã æ¥åžžäœ¿ãã«ãããŠã¯ Opus 5 ã§å¿
èŠå
åããã以äžã®ããã©ãŒãã³ã¹ãåŸãããããŸãã Opus 5 ã§å
åãªã¿ã¹ã¯ã«å¯Ÿãã Fable 5 ã®äœ¿çšã¯ãã³ã¹ãããã©ãŒãã³ã¹çã«æ¥µããŠæªæã§ãã ãšããããšã¯ãClaude Enterprise ãã©ã³ãå°å
¥ããŠããåŒç€Ÿã®é¢ã
ã«ã匷調ããŠãããããšããã§ãã ã»ã³ã»ãŒã·ã§ãã«ãªèŠåºãã§ã¢ãã«ãéžã¶ã®ã§ã¯ãªããå
å®ãªã³ã¹ãããã©ãŒãã³ã¹ãèŠããOpus 5 ãã瀟å
ã§ãç©æ¥µçã«åºããŠããããšæããŸããã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @kikuchi.s ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
1. ã¯ããã« ããã«ã¡ã¯ãäºæ¥æ¯æŽéšã®æ±å€ç§ä¿ã§ãã åœéšã®æ¥åã®äžã€ã«ãäºæ¥éšéã®ç€Ÿå
審è°ãæ¯æŽããäºåå±ãšããŠã®åœ¹å²ããããŸããå
·äœçã«ã¯ãå¯©è°æ¡ä»¶ã®å
容確èªãå
šç€Ÿå¯©è°ã®ç³ã蟌ã¿åä»ã審è°äŒã®éå¬èª¿æŽïŒæ¥çšèª¿æŽãã¬ãã¥ãŒã¯ãŒã¢ãµã€ã³ïŒã審è°è³æã®ç¢ºèªã»ç®¡çãéããé©åãªæè³ããããžã§ã¯ãã®å質ãç¶æãã圹å²ãæ
ã£ãŠããŸãã 以åã®äºæ¥éšå¶ã§ã¯ãèªåã®æ
åœäºæ¥éšã®ã¬ãã¥ãŒã¯ãŒãšãªã圹è·è
ãé©çšãããã«ãŒã«ãææ¡ããŠããã°åé¡ãããŸããã§ããã 2025幎ããçµ±æ¬æ¬éšå¶ãæ·ãããåäºæ¥éšã«é
眮ãããŠããäºåå±ãçµ±åãããŸãããçµç¹æ¹ç·šã«äŒŽããäºå屿
åœè
ã®å®åç¯å²ãäºæ¥éšããäŒç€Ÿå
šäœã«æ¡å€§ãããæ£ãã審è°äœå¶ã®äœæã ãã§1ä»¶ããã30åããããç¶æ
ãšãªããŸããã ããã§ãå
šç€Ÿã®å³æ Œãªã¬ããã³ã¹ãç¶æãã€ã€ãäºåå±ã¡ã³ããŒã«è² æ
ããããªãéçšèšèšãç®æããExcelãçšããäœå¶äœæã®å¹çåã«åãçµã¿ãŸããã æ¬èšäºã§ã¯30åããã£ãŠããäœæ¥ã5åã«ççž®ããåãçµã¿ã«ã€ããŠã玹ä»ããŸãã 2. 課é¡ïŒçŽè§£ããŠããã£ãã125éããã®ã«ãŒã« åœç€Ÿã®ç€Ÿå
æè³å¯©è°ã¯ã以äžã®æ¡ä»¶ã®çµã¿åããã§æ±ºè£ã«ãŒããæéãã¹ãã¬ãã¥ãŒã¯ãŒã现ããå€åããŸãã ãªãã以äžã®ã«ãŒã«ã«ã€ããŠã¯ç€Ÿå€ç§æ
å ±ã®ããããã©ã«ã¡ãããŠãããŸãã æ¡ä»¶ã®çš®å¥ (ç ç©¶éçº/ãœãããŠã§ã¢æ°èŠè£œåéçº/ãœãããŠã§ã¢æ©èœåŒ·å/etc)ãã»ã»ã»5éã äºç®å
/ å€ãã»ã»ã»2éã ä»è°åºåïŒæ°èŠ/çµäº/ãªã©ïŒããã»ã»ã»4éã æè³ååã®æªéæç¡ãã»ã»ã»2éã åŸç¶ã§âåè¶
ã®éçºæç¡ãã»ã»ã»2éã äºç®è»¢çš(âåè¶
)æç¡ãã»ã»ã»2éã ææ¡éé¡ïŒâåè¶
ãªã©æ°æ®µéïŒãã»ã»ã»8éã ç³è«ãã©ãŒã ã®æ
å ±ãšã«ãŒã«ãæºåãããŠããŠãããžãã¯ãšæéãããã°é©åãªäœå¶ãå°åºã§ãããã«æãããã¡ã§ããã å
šç€ŸèŠæš¡ã®ã«ãŒã«ãç®èŠã§ç¢ºèªããã«ã¯è€éã§ãããã«ãŒã«ã®èŠèœãšããè§£éã®çžéã«äŒŽã人çãã¹ã®ãªã¹ã¯ã䌎ããŸãã åçŽãªæãç®ã§èãããš5 x 2 x 4 x 2 x 2 x 2 x 8 = 2560 éããšãªããŸããããç ç©¶éçºæ¡ä»¶ã¯æè³ååã®æªéæç¡ã«é¢ããåå²ãååšããªãããç¹å®ã®ä»è°åºåã§ã¯äºç®è»¢çšãçºçããªãããææ¡éé¡ã®æ®µéã¯æ¡ä»¶ã®çš®å¥ã«ãã£ãŠç°ãªãããªã©ãæ¡ä»¶ã®çµã¿åããã«ãã£ãŠååšããªãã±ãŒã¹ããããŸããããã§ã瀟å
ã¬ã€ãã©ã€ã³ãã¯ãããšããåçš®èŠå®ãäœç³»çã«æŽçããæå¹ãªã±ãŒã¹ã®ã¿ãæŽãåºããŸããããã®çµæãã125éãããšãªãããšãããããŸããã 3. æè¡éžå®ïŒãªãExcelã®æšæºæ©èœãéžãã ã®ã ã«ãŒã«ã®ã·ã¹ãã åã«ããããExcelã®æšæºæ©èœïŒé¢æ°ïŒãVBAãçæAIã®3ã€ãæ¯èŒæ€èšããŸããã ææ³ åçŸæ§ å°å
¥æ§ æ¡åŒµæ§ ä¿å®æ§ å€å® Excelæšæºæ©èœ(颿°) â â â³ â æ¡çš VBA / ãã¯ã â â³ â â³ äžæ¡çš çæAI â³ â â â³ äžæ¡çš (â»AIã®è©äŸ¡ã¯2025幎1ææç¹ã®èªç€Ÿæ€èšŒçµæã§ã) AIãèŠéã£ãçç±ïŒåçŸæ§ã®æ
ä¿ åœç€Ÿã¯å
šç€Ÿå¡ãã»ãã¥ãªãã£ãæ
ä¿ãããŸãŸçæAIã䜿ããç°å¢ãæŽã£ãŠããŸãã åœåã¯ãç³è«æ
å ±ã«å ããŠç€Ÿå
ã¬ã€ãã©ã€ã³ã審è°ã«ãŒã«ãçæAIãžå
¥åããæ¡ä»¶ããšã«é©åãªå¯©è°äœå¶ãææ¡ãããæŽ»çšãæ€èšããŸããã ããããåœæã®æ€èšŒã§ã¯ãã«ãŒã«ã«åã£ãäœå¶ã®å°åºãå®å®ããŠã§ããŸããã§ããã 瀟å
æè³å¯©è°ãšãã峿 Œãªã¬ããã³ã¹ãæ±ããããé åã«ãããŠã¯ããã«ã·ããŒã·ã§ã³ã«ãã£ãŠèª€ã£ãã¬ãã¥ãŒã¯ãŒãå°åºããŠããŸããªã¹ã¯ãç¡èŠããããšãã§ããŸããã§ããã ãã®ãããåçŸæ§ã確å®ã«æ
ä¿ã§ããããžãã¯ããŒã¹ïŒExcel颿°ïŒãæ¡çšãããšãã倿ãäžããŸããã ãªããçŸåš(2026幎7æ)ã®AIã®èœåã¯åœæãã倧ããåäžããŠãããAIé©çšã«åããŠçŸåšãæ€èšãé²ããŠããŸãã VBAãèŠéã£ãçç±ïŒäŸå€åŠçãžã®æè»ãªå¯Ÿå¿ãšåŠç¿ã³ã¹ã VBAã䜿ãã°å®å
šãªèªååãå¯èœã§ãããä»åã¯é¢æ°ãšäžéšã®æäœæ¥ãæ®ããåèªååããéžæããŸããã å®åã§ã¯ãæ¬æ¥ã®åºæºã§ã¯åŒã°ãªããŠãããããç¹å¥ã«åå ããŠã»ããããšãã£ããã€ã¬ã®ã¥ã©ãŒãªåå è
ã®æå远å ãçºçããŸãã ãã¹ãŠãèªååããã®ã§ã¯ãªããçŸå Žã®éçšã«äžå¯æ¬ ãªäŸå€çãªå¯Ÿå¿ã®äœçœãæ®ãããã®å€æã§ãã ãŸããExcel颿°ãšæ¯èŒããå Žåã®VBAã®åŠç¿ã³ã¹ããªã©ãéã¿ãŠèŠéããŸããã 4. ããŒã«ã®å
šäœåïŒ4ã€ã®ã·ãŒãã§æ§æãããã¢ãŒããã¯ã㣠å®è£
ããããŒã«ã®å
šäœã€ã¡ãŒãžã¯ä»¥äžã®ãšããã§ãããªããæ¬ããŒã«ã¯ç€Ÿå€ç§ã®ããã倧å¹
ã«ããã©ã«ã¡ããŠãããŸãã æ§æãããã·ãŒãã¯ä»¥äžã®4ã€ã§ããâ£ãã¡ã€ã³ã®ã·ãŒãã§ä»ã®â â¡â¢ãåç
§ããæ§æãšãªã£ãŠããŸãããå®éã«ãŠãŒã¶ãæäœ/é²èЧããã®ã¯â£äžã ãã§æžããããªUIãšããŠããŸãã *颿°ã®è©³çްãªããžãã¯ã«ã€ããŠã¯ã次ã®ã5.å®è£
ã®å·¥å€«ãã«ãŠè©³ãã解説ããŸã â ç³è«æ
å ±ã·ãŒã â¡125ãã¿ãŒã³å¯©è°äœå¶ãããªã¯ã¹ â¢ã¬ãã¥ãŒã¯ãŒããŒãã« â£ å®æäœå¶ã·ãŒã 以äžããããã®ã·ãŒãã«ã€ããŠèª¬æããŸãã â ç³è«æ
å ±ã·ãŒã ãã¡ãã¯ç³è«æ
å ±ã·ãŒããšãªããŸããããã«ã¯ç³è«çªå·ããšã«åçš®ç³è«ã«é¢ãã詳现æ
å ±ãèšèŒãããŠããŸãã Webã·ã¹ãã ã§ç³è«ãåãä»ããŠãããããã«ããŒã¿ãèç©ãããŠãããŸãã *説æãããããã転眮ããŠããŸãããå®éã®ã·ãŒãã§ã¯è¡æ¹åã«ããŒã¿ã䞊ãã§ããŸãã â¡125ãã¿ãŒã³å¯©è°äœå¶ãããªã¯ã¹ åæãã125ãã¿ãŒã³ã®åå²ã«ãŒã«ãExcelã®ããŒãã«ãšããŠå®çŸ©ããŸããã è£åŽã«ã125ãã¿ãŒã³å¯©è°äœå¶ãããªã¯ã¹ããšãã¬ãã¥ãŒã¯ãŒããŒãã«ãïŒâ¢ã§èª¬æïŒãšãã巚倧ãªããŒãã«ãçšæããXLOOKUP颿°ã§ããŒãã«ãåç
§ããæ§é ãšããŠããŸãã ããã«ãããç³è«ããŒã¿ããæ£ããæ±ºè£åºåãšã¬ãã¥ãŒã¯ãŒåŽã®ããŒã«ãåŒãåœãŠãŸãã â¢ã¬ãã¥ãŒã¯ãŒããŒãã« ã¬ãã¥ãŒã¯ãŒã¯æè¡æ¬éšããšã«æ
åœåœ¹å¡ãæ¬éšé·ãè©è°å¡åè£ãPMOãªã©ãèšå®ãããŠãããããããã®åœ¹å²ã«å¿ããæš©éã§ã¬ãã¥ãŒãè¡ããŸãã ããã§ã¯åæ¬éšã«ãããåçš®ã¬ãã¥ãŒã¯ãŒãå®çŸ©ããŠããŸãã â£å®æäœå¶ã·ãŒã ãã¡ãã¯å®æäœå¶ã·ãŒãã§ããäºå屿
åœè
ã¯ãã®ç»é¢ã§ç³è«çªå·ãšè©è°å¡çªå·ïŒé»è²ãã»ã«ïŒã®ã¿ãå
¥åããŸãã è©è°å¡çªå·ã¯ãè©è°å¡éžå®ã®æ³šæäºé
ããåç
§ããªãããè©è°å¡(äžèЧ)ãããéžã³ãŸãã ããã ãã§å¯©è°äœå¶ãçæãããŸããããšã¯ãå³ã®å³äžã«èšèŒã®Excelã®ã»ã«ïŒäŒè°äž»é¡ãäŒè°æ¬æãToå®å
ãCcå®å
ïŒã®4ãæãã³ããŒããŠOutlookäºå®è¡šã«è²Œãä»ããã°äœå¶ã宿ããŸãã ãããè£è¶³ãããäºé
ïŒå
容ãccã§å ãããå®å
ïŒãããã°ãã®ãšãã«æåã§è¿œå ã§ããããæè»ãªä»æ§ã«ããŠããŸãã *颿°ã®è©³çްãªããžãã¯ã«ã€ããŠã¯ã次ã®ã5.å®è£
ã®å·¥å€«ãã«ãŠè©³ãã解説ããŸã 5. å®è£
ã®å·¥å€«ïŒæ¥åã«å¯ãæ·»ãèšèš ããã§ã¯ç¹ã«å·¥å€«ãããšãããïŒã€ããã¯ã¢ããããŠã玹ä»ããŸãã 工倫1ïŒé¢æ°ãçšããé«åºŠãªé
ååŠç ãã ãããæã£ãŠå·¥å€«ããã®ãã æè¡æ¬éšããšã«çšæãããè©è°å¡ãªã¹ããããå¿
èŠãªäººç©ã ãããã³ãã€ã³ãã§æœåºãã åŠçã§ãã ã¬ãã¥ãŒã¯ãŒãšããŠåå ããè©è°å¡ã ãã¯æ¬éšããšã«ç°ãªãéžå®ã«ãŒã«ã«åããåªå
床ãé«ã人ããã¹ã±ãžã¥ãŒã«ã確èªããªããéžå®ããéçšãšããŠããŸãããã®ãããè©è°å¡äžèЧããçªå·ãæã§å
¥åããå·¥çšããããããããã«æåã§éžå®ãã仿§ãšããŠããŸãã ããšãã°ã察象è
ã®è©è°å¡çªå·ãšããŠã1,3ããå
¥åãããå Žåãã¬ãã¥ãŒã¯ãŒããŒãã«èšèŒã®è©²åœããæè¡æ¬éšã®è©è°å¡äžèЧãè©è°å¡Aãè©è°å¡Bãè©è°å¡Cãè©è°å¡Dãè©è°å¡Eãããã1çªç®ãš3çªç®ã®è©è°å¡Aãšè©è°å¡Cãã¹ãã«(è€æ°ã»ã«ã«çµæãèªåå±éãããæ©èœ)ã§æãåºãããŸãããªããå
¥åã»ã«åŽã¯åè§ã«ã³ããšããŠããŸãããäžèЧåŽã®åºåãæåã¯æ°åãå
¥åããæ¬ãªã®ã§ããã«åãããŠå
šè§èªç¹ãšããŠããŸãã ããã1ã€ã®é¢æ°ã§å®çŸããã®ã以äžã®æ°åŒ(ã€ã¡ãŒãž)ã§ããæ°åŒã®èšèšã«ã¯AIïŒCopilotïŒã掻çšããŠããŸãã =IF(OR(è©è°å¡èŠãã©ã°="-",æè¡æ¬éš=""),"", LET( è©è°å¡äžèЧ, TEXTSPLIT(XLOOKUP(æè¡æ¬éš, ã¬ãã¥ãŒã¯ãŒããŒãã«!U:U, ã¬ãã¥ãŒã¯ãŒããŒãã«!Z:Z), "ã"), éžå®è©è°å¡çªå·, TEXTSPLIT(è©è°å¡çªå·å
¥åã»ã«, ","), éžå®è©è°å¡, MAP(éžå®è©è°å¡çªå·, LAMBDA(i, INDEX(è©è°å¡äžèЧ, VALUE(i)))), IF(TEXTJOIN("", TRUE, éžå®è©è°å¡)="", "-", éžå®è©è°å¡) )) å®éã®ã·ãŒãåã倿°åãªã©ã¯ç€Ÿå
èŠå®ã«åãããŠå€æŽããŠããŸã XLOOKUPã§åè£è
ãååŸããTEXTSPLITã§é
ååã ããã«æ¯èŒçæ°ããExcel颿°ã§ããMAPãšLAMBDAã䜿ããé
åãã«ãŒãåŠçãããŠç¹å®ã®äººç©ãåçã«æœåºããŠããŸããè€æ°åãã¢ãµã€ã³ã§ããä»çµã¿ãšè©è°å¡çªå·çšã®ã»ã«ã1ãæã«éçŽãããããšãäž¡ç«ããããšã«èŠåŽããŸãããã¡ã³ããã³ã¹æ§ãšå±äººåã®æé€ãèæ
®ãã颿°ã ãã§å®çµãããããšã«ãã ãããŸããããŸããLET颿°ãçšããããšã§ãã¹ãåãåé¿ã倿°åã«ãããŠæ¥æ¬èªãçšããããšã§å¯èªæ§ãåäžãããŸããã Microsoft 365ç°å¢ã«ãŠåäœç¢ºèªããŠããŸã 工倫2ïŒå³åœ¢ãªããžã§ã¯ãã«ããæ³šææžã å
ã»ã©ãè¿°ã¹ãŸããããè©è°å¡ã®éžå®ã«ãŒã«ã¯æ¬éšããšã«ç°ãªããŸããå¿
èŠäººæ°ãå¿
é åå è
ãæ¡ä»¶ã®æ§æ Œãã¬ãã¥ãŒã€ãŒã®æå±ã«å¿ããŠå¯Ÿå¿ãå¿
èŠãšãªããŸãã ããã§ã125éãã®å€å®ã«ãŒã«ãšã¯ç¬ç«ããä»çµã¿ãšããŠãç»é¢äžã«è©è°å¡éžå®ã«ãããæ³šæäºé
ãèšãã衚瀺ãåãæ¿ããããå³åœ¢ã«ãããªããžã§ã¯ããåãå
¥ããŸããã å¥ãã¡ã€ã«ã®ããã¥ã¢ã«ãéãæéãçããå¿
èŠãªæ
å ±ããã®å Žã§ç¢ºèªã§ããããã«ãããæ¥åæ
åœè
ãžã®ã¡ãã£ãšããé
æ
®ã§ãã è¿ãã®ã»ã«ã«ã«ãŒã«ãèšèŒããæ¹æ³ãèããŸããããèšèŒå
容ã®éãå€ããã»ã«ãžã®åé²ãå°é£ã ã£ããããä»»æã®äœçœ®ã«ç§»åã§ããå³åœ¢ãªããžã§ã¯ããæ¡çšããŸããã å³åœ¢ã®æ°åŒããŒã«ã»ã«åç
§ãçŽæ¥å
¥åããããšã§å®è£
ããŠããŸãã 該åœã®ã»ã«ã«ã¯ä»¥äžã®ãããªæ°åŒ(ã€ã¡ãŒãž)ãèšèŒãããæ¬éšããšã«åãæ¿ããããã«ãªã£ãŠããŸãã å³åœ¢ã®æ°åŒããŒã«ã¯ =A1 ãšå
¥åããA1ã»ã«ã«ã¯ä»¥äžã®æ°åŒãå
¥åããŸãã ="â è©è°å¡éžå®ã®æ³šæäºé
"&CHAR(10)&XLOOKUP(æ¬éšå,ã¬ãã¥ãŒã¯ãŒããŒãã«!æ¬éšå,ã¬ãã¥ãŒã¯ãŒããŒãã«!è©è°å¡éžå®ã«ãŒã«å) å®éã®ã·ãŒãåã倿°åãªã©ã¯ç€Ÿå
èŠå®ã«åãããŠå€æŽããŠããŸã 6. ãŸãšã ä»åã®åãçµã¿ã«ãããäœæ¥æéã30åãã5åã«ççž®ãããçµç¹è¡šãã¬ã€ãã©ã€ã³ãç
§åããäœæ¥ããã倧å¹
ã«è§£æŸããã人çãã¹ã®å€§å¹
åæžã«ãè²¢ç®ããŸããã ã«ãŒã«ã®å€å®ã¯ç¢ºå®ãªExcel颿°ã«ä»»ãã颿°ã®äœæã«ã¯AIãé Œãã ãã®ãããªã驿驿ããçŸæç¹ã§ã®ãã¹ããã©ã¯ãã£ã¹ã ãšæããŠããŸããæ¬¡ã®ã¹ããããšããŠãAIãããŸã掻çšããªãããããçµç¹ã®å€åã«å¯Ÿå¿ã§ãããããªããŒã«ã«é²åãããŠãããã°ãšèããŠããŸãã ç§ãã¡äºåå±ã¯ãäŒç€Ÿã®åæ»ãªæææ±ºå®ãšã¬ããã³ã¹ãæ ¹åºããæ¯ããååšãšããŠãä»åŸãå
šç€Ÿã®çµ±å¶ãšæè»æ§ãäž¡ç«ããä»çµã¿ã¥ããã«ææŠããŠãããããšæããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @koka.hidetoshi ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ïŒã¯ãã¹ã€ãããŒã·ã§ã³æ¬éš ãªãŒãã£ã³ã°ãšããžãã¯ãããžãŒã»ã³ã¿ãŒã®æŸæž
ã§ãã æè¿ã§ã¯ãæ®æ®µã·ã¹ãã éçºãè¡ããªãæ¹ã§ããæ¥åã§AIãšãŒãžã§ã³ããæŽ»çšããããããŒã«ãçšããŠèªèº«ã§AIãšãŒãžã§ã³ããæ§ç¯ãããããæ©äŒãå¢ããŠããã®ã§ã¯ãªãã§ããããã Copilot Studio ã¯ãç°¡åã«AIãšãŒãžã§ã³ããäœæã§ããããŒã«ã§ãããSharePoint ãµã€ãã Teams ãã£ãã«ãªã©ã® Microsoft 365 補åãšã飿ºããããããããã§ã«æ¥åã§æŽ»çšãããŠããæ¹ãå€ããšæããŸãã äžæ¹ã§ã人äºã»çµçã»æ
å ±ã·ã¹ãã ãªã©ãçšéããšã« Copilot Studio ã®ãšãŒãžã§ã³ããäœæããŠãããšããAIãšãŒãžã§ã³ãå士ãååããŠä»äºãé²ããä»çµã¿ããã©ã®ããã«å®çŸãã¹ããæ©ãã±ãŒã¹ãããã®ã§ã¯ãªãã§ããããã ãã£ããå°éæ§ã®é«ããšãŒãžã§ã³ããäœæããŠãããããããç¬ç«ããŠåãã ãã§ã¯æŽ»çšã®å¹
ã¯éå®çã§ããè€æ°ã®ãšãŒãžã§ã³ãã飿ºããé©åãªãšãŒãžã§ã³ããžåŠçãåŒãç¶ãã ããé çªã«ååããŠæ¥åãé²ãããã§ããããã«ãªããšãããå®åã«è¿ãAI掻çšãå®çŸã§ããŸãã æ¬èšäºã§ã¯ãæ¢ã«äœææžã¿ã® Copilot Studio ãšãŒãžã§ã³ãããå¥ã®ãšãŒãžã§ã³ãããåŒã³åºããŠæŽ»çšããããšãåæã«ã2ã€ã®æ§æãã¿ãŒã³ã玹ä»ããŸããããããã®ãã¿ãŒã³ã®åŒ·ã¿ãšæ³šæç¹ãé©ããæŽ»çšã·ãŒã³ãæŽçããªãããã©ã®ãããªå Žé¢ã§äœ¿ãåããã¹ããã解説ããŸãã Copilot Studioã§å¯èœãªè€æ°ãšãŒãžã§ã³ãã®é£æºãã¿ãŒã³ æ¢ã«äœææžã¿ã®å°éãšãŒãžã§ã³ããå¥ã®ãšãŒãžã§ã³ãããåŒã³åºããŠæŽ»çšããæ¹æ³ãšããŠã以äžã®2ãã¿ãŒã³ã玹ä»ããŸãã ãã¿ãŒã³1ïŒãšãŒãžã§ã³ã远å ã«ããAIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãã¿ãŒã³2ïŒãããŒãä»ãããšãŒãžã§ã³ãå®è¡å¶åŸ¡ ãã¿ãŒã³1ïŒãšãŒãžã§ã³ã远å ã«ããAIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãã¿ãŒã³1ã¯ãæ¢ã«å
¬éæžã¿ã®å°éãšãŒãžã§ã³ããã¡ã€ã³ãšãŒãžã§ã³ãã«è¿œå ãããŠãŒã¶ãŒã®å
¥åå
容ã«å¿ããŠãAIãé©åãªãšãŒãžã§ã³ããžåŠçãå§ä»»ããæ¹æ³ã§ãã ã€ã¡ãŒãžãšããŠã¯ãã瀟å
åãåããã®ç·ååä»ãã AI ãæ
ãæ§æã§ããå©çšè
ã¯åãåããå
ãæèããå¿
èŠããªããèªç¶ãªèšèã§è³ªåããã ãã§ãAI ã人äºã»çµçã»æ
å ±ã·ã¹ãã ãªã©ã®å°éãšãŒãžã§ã³ãã®äžããé©åãªæ
åœè
ãéžã³ãåçãžã€ãªããŠãããŸãã Copilot Studio ã§ã¯ãã¡ã€ã³ãšãŒãžã§ã³ãã«å
¬éæžã¿ã® Copilot Studio ãšãŒãžã§ã³ããæ¥ç¶ããã¡ã€ã³ãšãŒãžã§ã³ãããå°éãšãŒãžã§ã³ããåŒã³åºãæ§æãäœæã§ããŸãã ããã§ã¯ãäŸãšããŠä»¥äžã®å°éãšãŒãžã§ã³ããäœææžã¿ã§ããåæã§ãããããã¡ã€ã³ãšãŒãžã§ã³ãã瀟å
åãåããçµ±åãšãŒãžã§ã³ããã«è¿œå ããæµãã玹ä»ããŸãã 人äºåãåãããšãŒãžã§ã³ã çµçåãåãããšãŒãžã§ã³ã æ
å ±ã·ã¹ãã åãåãããšãŒãžã§ã³ã èšå®æé 1. ã¡ã€ã³ãšãŒãžã§ã³ããæ°èŠäœæãã ãŸããè€æ°ã®å°éãšãŒãžã§ã³ãããŸãšããããã®ã¡ã€ã³ãšãŒãžã§ã³ããæ°èŠäœæããŸãã ä»åã¯äŸãšããŠãã瀟å
åãåããçµ±åãšãŒãžã§ã³ãããäœæããŸãã 2. ãšãŒãžã§ã³ãã¿ããéã äœæããã¡ã€ã³ãšãŒãžã§ã³ãã®ïŒ»ãšãŒãžã§ã³ãã¿ããéãã+远å ãéžæããŸãã 3. 远å ããå°éãšãŒãžã§ã³ããéžæãã ã¡ã€ã³ãšãŒãžã§ã³ãããåŒã³åºãããå°éãšãŒãžã§ã³ããéžæããŸãã ä»åã¯äŸãšããŠã以äžã®ãããªå°éãšãŒãžã§ã³ããäœææžã¿ã§ãããšãããããã远å ããŸãã 人äºåãåãããšãŒãžã§ã³ã çµçåãåãããšãŒãžã§ã³ã æ
å ±ã·ã¹ãã åãåãããšãŒãžã§ã³ã 4. å°éãšãŒãžã§ã³ãã®èª¬æãèšå®ãã 远å ããå°éãšãŒãžã§ã³ãã®èª¬æãèšå®ããŸãã ãã®èª¬æã¯ãã¡ã€ã³ãšãŒãžã§ã³ããã©ã®ã¿ã€ãã³ã°ã§ãã®å°éãšãŒãžã§ã³ããåŒã³åºããã倿ããææã«ãªããŸãã 5. ã¡ã€ã³ãšãŒãžã§ã³ãã®èª¬æã»æç€ºãèšå®ãã ã¡ã€ã³ãšãŒãžã§ã³ãèªäœã«ããã©ã®ãããªåãåãããåãä»ããã©ã®å°éãšãŒãžã§ã³ããžå§ä»»ããã®ããåãã説æã»æç€ºãèšå®ããŸãã 6. ãã¹ãå®è¡ãã ã¡ã€ã³ãšãŒãžã§ã³ãããã¹ãå®è¡ããåãåããå
容ã«å¿ããŠé©åãªå°éãšãŒãžã§ã³ããåŒã³åºãããã確èªããŸãã 7. ã¡ã€ã³ãšãŒãžã§ã³ããå
¬éãã åäœç¢ºèªåŸãåé¡ããªããã°ã¡ã€ã³ãšãŒãžã§ã³ããå
¬éããŸãã ãã®ãã¿ãŒã³ã®åŒ·ã¿ãšæ³šæ ãã®ãã¿ãŒã³ã®åŒ·ã¿ã¯ããããã¯ãã¯ãŒã¯ãããŒã现ããäœã蟌ãŸãã«ããŠãŒã¶ãŒã®å
¥åå
容ã«å¿ããŠé©åãªå°éãšãŒãžã§ã³ããžå§ä»»ã§ããç¹ã§ããã¡ã€ã³ãšãŒãžã§ã³ãã«å°éãšãŒãžã§ã³ãã远å ããããããã®èª¬æãèšå®ããããšã§ãè€æ°ãšãŒãžã§ã³ãã®é£æºãæ¯èŒç容æã«å§ããããŸãã ãã®ããããŠãŒã¶ãŒã®åãåããå
容ã倿§ã§ããããããã«ããŽãªã现ããæ±ºããããªãå Žåããèªç¶ãªäŒè©±ã®äžã§é©åãªå°éãšãŒãžã§ã³ããžã€ãªãããå Žåã«åããŠããŸããæ¢åã®å°éãšãŒãžã§ã³ãã倧ãã倿Žããã«é£æºã§ãããããè€æ°ãšãŒãžã§ã³ãã®æŽ»çšããŸã詊ããŠã¿ããå Žåã«ãå°å
¥ããããæ§æã§ãã äžæ¹ã§ãåŒã³åºãå°éãšãŒãžã§ã³ãã®éžæã¯AIã®å€æã«äŸåããŸããCopilot Studio ã®çæãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã§ã¯ããšãŒãžã§ã³ããããŒã«ã®èª¬æãããšã«ããŠãŒã¶ãŒã®æå³ã«åã£ãåŒã³åºãå
ã倿ãããŸãããã®ãããå°éãšãŒãžã§ã³ãåå£«ã®æ
åœç¯å²ãéãªã£ãŠãããã説æãææ§ã ã£ãããããšãæå³ãããšãŒãžã§ã³ããéžã°ãã«ãããªãå¯èœæ§ããããŸããåå°éãšãŒãžã§ã³ãã®èª¬æã«ã¯ããäœãæ
åœãããšãŒãžã§ã³ããªã®ãããã©ã®ãããªåãåããã§åŒã³åºãã¹ããªã®ãããå
·äœçã«èšèŒããããšãéèŠã§ãã ããã«ãã¡ã€ã³ãšãŒãžã§ã³ãããŠãŒã¶ãŒã®æå³ã倿ããããã§å°éãšãŒãžã§ã³ããžå§ä»»ãããããæ§æãåãåããå
容ã«ãã£ãŠã¯å¿çæéãé·ããªãå¯èœæ§ããããŸããç¹ã«ãè€æ°ã®ãšãŒãžã§ã³ããå€éšé£æºãçµã¿åãããå Žåã¯ãå®éã®å©çšãæ³å®ãããã¹ãã§ãåŒã³åºãå
ã®éžæç²ŸåºŠãå¿çæéã確èªããŠããããšãéèŠã§ãã ãã¿ãŒã³2ïŒãããŒãä»ãããšãŒãžã§ã³ãå®è¡å¶åŸ¡ ãã¿ãŒã³2ã¯ãã¡ã€ã³ãšãŒãžã§ã³ããããããŒãããŒã«ãšããŠåŒã³åºãããã®ãããŒå
ã§è€æ°ã®å°éãšãŒãžã§ã³ããæ±ºããããé çªã§å®è¡ããæ¹æ³ã§ãã ãã¿ãŒã³1ã§ã¯ãã¡ã€ã³ãšãŒãžã§ã³ããAIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã«ãã£ãŠããŠãŒã¶ãŒã®å
¥åå
容ã«å¿ããå°éãšãŒãžã§ã³ããéžæããŸããäžæ¹ããã®æ¹æ³ã§ã¯ãå®è¡ããå°éãšãŒãžã§ã³ããšãã®é åºããããŒå
ã§ãããããå®çŸ©ã§ããŸãã ããã§ã¯äŸãšããŠã瀟å
åãåããã®äžã§ãã人äºèгç¹ã®ç¢ºèªåŸã«çµç芳ç¹ã®ç¢ºèªãå¿
èŠã«ãªãã±ãŒã¹ãèããŸããå
·äœçã«ã¯ã以äžã®2ã€ã®æ¢åãšãŒãžã§ã³ãããããŒå
ã§é çªã«åŒã³åºãæ§æã玹ä»ããŸãã 人äºåãåãããšãŒãžã§ã³ã çµçåãåãããšãŒãžã§ã³ã ãã®æ§æã§ã¯ããŸã人äºåãåãããšãŒãžã§ã³ããå®è¡ãããã®çµæã次ã®çµçåãåãããšãŒãžã§ã³ãã«åŒãç¶ããŸãããã®ããã«ãããå°éãšãŒãžã§ã³ãã®åçãåæãšããŠã次ã®å°éãšãŒãžã§ã³ããå®è¡ãããå Žåã«ã¯ããããŒãä»ããŠå®è¡é åºãæç€ºçã«å¶åŸ¡ããæ§æãæå¹ã§ãã 1. ãããŒãåŒã³åºãã¡ã€ã³ãšãŒãžã§ã³ããäœæãã ãŸãããŠãŒã¶ãŒããã®äŸé Œãåãä»ãããããŒãåŒã³åºãããã®ã¡ã€ã³ãšãŒãžã§ã³ããäœæããŸãã ä»åã¯äŸãšããŠãã瀟å
æç¶ã確èªãšãŒãžã§ã³ãããäœæããŸãã ãã®ãšãŒãžã§ã³ãã¯ããŠãŒã¶ãŒããã®äŸé Œå
容ãåãåããå¿
èŠã«å¿ããŠãããŒãããŒã«ãšããŠåŒã³åºã圹å²ãæã¡ãŸãã 2. ã¡ã€ã³ãšãŒãžã§ã³ãã®ããŒã«ãšããŠã¯ãŒã¯ãããŒã远å ãã äœæããã¡ã€ã³ãšãŒãžã§ã³ãã®ïŒ»ããŒã«ïŒœã¡ãã¥ãŒãããããŒã«ã远å ãããéžæããŸãã æ¬¡ã«ãã¯ãŒã¯ãããŒïŒœãéžæããæ°ããã¯ãŒã¯ãããŒã®äœæãéå§ããŸãã ãšãŒãžã§ã³ãããåŒã³åºãããã¯ãŒã¯ãããŒã«å¿
èŠãªããªã¬ãŒã¯ããããããèšå®ãããç¶æ
ã§äœæãããŸãã 3. å
¥åãã©ã¡ãŒã¿ãŒãèšå®ãã ã¯ãŒã¯ãããŒã®ããªã¬ãŒã«ããããŒãžæž¡ãå
¥åãèšå®ããŸãã ä»åã¯ããŠãŒã¶ãŒããã®äŸé Œå
容ãåãåãããã以äžã®å
¥åãèšå®ããŸãã å
¥ååïŒ request çš®é¡ïŒããã¹ã 説æïŒãŠãŒã¶ãŒããã®äŸé Œå
容 以éã®ã¢ã¯ã·ã§ã³ã§ã¯ããã® request ãåçã³ã³ãã³ããšããŠå©çšããŸãã 4. 人äºåãåãããšãŒãžã§ã³ããåŒã³åºã ããªã¬ãŒã®äžã«ã¢ã¯ã·ã§ã³ã远å ãããšãŒãžã§ã³ããå®è¡ããŠåŸ
æ©ãããéžæããŸãã åŒã³åºããšãŒãžã§ã³ããšããŠã人äºåãåãããšãŒãžã§ã³ãããæå®ããŸãã æ¬¡ã«ã詳现ãã©ã¡ãŒã¿ãŒïŒœãéããã¡ãã»ãŒãžïŒœã远å ããŸããã¡ãã»ãŒãžïŒœã¯ã以äžã®ããã«èšå®ããŸãã 以äžã®åãåããã«ã€ããŠã人äºèгç¹ã§ç¢ºèªãã¹ãäºé
ãæŽçããŠãã ããã ãŠãŒã¶ãŒããã®äŸé Œå
å®¹ïŒ ïŒåçã³ã³ãã³ããã request ãæ¿å
¥ïŒ 5. çµçåãåãããšãŒãžã§ã³ããåŒã³åºã ç¶ããŠã¢ã¯ã·ã§ã³ã远å ããåãããšãŒãžã§ã³ããå®è¡ããŠåŸ
æ©ãããéžæããŸãã åŒã³åºããšãŒãžã§ã³ããšããŠãçµçåãåãããšãŒãžã§ã³ãããæå®ããŸãã æ¬¡ã«ã詳现ãã©ã¡ãŒã¿ãŒïŒœãéããã¡ãã»ãŒãžïŒœã远å ããŸããã¡ãã»ãŒãžïŒœã¯ã以äžã®ããã«èšå®ããŸãã 以äžã®åãåããã«ã€ããŠãçµç芳ç¹ã§ç¢ºèªãã¹ãäºé
ãæŽçããŠãã ããã ãŸãã以äžã®äººäºèгç¹ã®ç¢ºèªçµæãèžãŸããŠããŠãŒã¶ãŒã«æ¡å
ãã¹ãçµçæç¶ããæŽçããŠãã ããã ãŠãŒã¶ãŒããã®äŸé Œå
å®¹ïŒ ïŒåçã³ã³ãã³ããã request ãæ¿å
¥ïŒ 人äºèгç¹ã®ç¢ºèªçµæïŒ ïŒåçã³ã³ãã³ãããã人äºåãåãããšãŒãžã§ã³ãã® lastResponse ãæ¿å
¥ïŒ ããã«ããã人äºèгç¹ã®ç¢ºèªçµæãèžãŸããããã§ãçµç芳ç¹ã®ç¢ºèªçµæãååŸã§ããŸãã 6. å®è¡çµæãã¡ã€ã³ãšãŒãžã§ã³ããžè¿ã æåŸã«ãRespond to the agentã¢ã¯ã·ã§ã³ãèšå®ããã¯ãŒã¯ãããŒã®å®è¡çµæãã¡ã€ã³ãšãŒãžã§ã³ããžè¿ããŸãã åºåã®çš®é¡ã«ã¯ïŒ»ããã¹ããéžæããåºååã result ãšããŸãã result ã®å€ã«ã¯ãåã®æé ã§å®è¡ãã人äºåãåãããšãŒãžã§ã³ããšçµçåãåãããšãŒãžã§ã³ãã®åçæ¬æãå·®ã蟌ã¿ãŸãã èšå®äŸã¯ä»¥äžã®ãšããã§ãã 人äºèгç¹ïŒ ïŒåçã³ã³ãã³ãããã人äºåãåãããšãŒãžã§ã³ãã® lastResponse ãæ¿å
¥ïŒ çµç芳ç¹ïŒ ïŒåçã³ã³ãã³ããããçµçåãåãããšãŒãžã§ã³ãã® lastResponse ãæ¿å
¥ïŒ ããã«ããã人äºåãåãããšãŒãžã§ã³ããšçµçåãåãããšãŒãžã§ã³ãã®åçãã1ã€ã®ããã¹ããšããŠã¡ã€ã³ãšãŒãžã§ã³ãã«è¿ãããšãã§ããŸãã 7. ã¯ãŒã¯ãããŒãä¿åã»å
¬éãã èšå®ãå®äºããããå
¬éãéžæããŠã¯ãŒã¯ãããŒãå
¬éããŸãã 8. å
¬éããã¯ãŒã¯ãããŒãã¡ã€ã³ãšãŒãžã§ã³ãã®ããŒã«ãšããŠè¿œå ãã ããŒã«ã远å ãããéžæããã¯ãŒã¯ãããŒïŒœãããäœæããã瀟å
æç¶ã確èªãããŒããéžæããŠè¿œå ããŸãã 远å åŸãããŒã«ã®è©³çްç»é¢ã§ïŒ»ååãšïŒ»èª¬æïŒœãèšå®ããŸãã ååã«ã¯ãã¡ã€ã³ãšãŒãžã§ã³ããçšéã倿ããããåç§°ãèšå®ããŸããä»åã¯ããããŒåãšåãã以äžã®ããã«èšå®ããŸãã 瀟å
æç¶ãç¢ºèª ïŒ»èª¬æïŒœã«ã¯ããã®ããŒã«ãã©ã®ãããªäŸé Œã§äœ¿çšããã®ããèšèŒããŸããäŸãã°ã以äžã®ããã«èšå®ããŸãã 人äºèгç¹ãšçµç芳ç¹ã®äž¡æ¹ã確èªããå¿
èŠããã瀟å
æç¶ãã«ã€ããŠããŸã人äºåãåãããšãŒãžã§ã³ãã§ç¢ºèªãããã®çµæãèžãŸããŠçµçåãåãããšãŒãžã§ã³ãã§ç¢ºèªããããã®ãããŒã§ãã幎次æçµŠäŒæããã¬ãã¯ã¹ã¿ã€ã å¶åºŠã亀é費粟ç®ãåºåŒµæ
è²»ãªã©ã人äºã»çµçããŸããåãåããã§äœ¿çšããŸãã ã¯ãŒã¯ãããŒã远å ããã ãã§ã¯ãã¡ã€ã³ãšãŒãžã§ã³ããå¿
ããã®ã¯ãŒã¯ãããŒãåŒã³åºããšã¯éããŸããããã®ãããååã説æïŒœã«ã¯ãã¡ã€ã³ãšãŒãžã§ã³ãããã®ããŒã«ã䜿çšãã¹ãå Žé¢ã倿ããããå
容ãèšå®ããŸãã 9. ã¡ã€ã³ãšãŒãžã§ã³ãã§åäœç¢ºèªãã ã¡ã€ã³ãšãŒãžã§ã³ãããã¹ãå®è¡ããäœæããã¯ãŒã¯ãããŒãåŒã³åºãããã確èªããŸãã 10. ã¡ã€ã³ãšãŒãžã§ã³ããå
¬éãã åäœç¢ºèªåŸãåé¡ããªããã°ã¡ã€ã³ãšãŒãžã§ã³ããå
¬éããŸãã ãã®ãã¿ãŒã³ã®åŒ·ã¿ãšæ³šæç¹ ãã®ãã¿ãŒã³ã®åŒ·ã¿ã¯ã決ããããé åºã§å°éãšãŒãžã§ã³ããåŒã³åºãããšã§ãåºå®ãããæ¥åãããŒãå®å®ããŠå®è¡ã§ããç¹ã§ãã ä»åã®äŸã®ããã«ã人äºèгç¹ã§ç¢ºèªããå
容ãèžãŸããŠçµç芳ç¹ã®æ¡å
ãè¡ãããå Žåã«ã¯ããŸã人äºåãåãããšãŒãžã§ã³ããå®è¡ãããã®çµæã次ã®çµçåãåãããšãŒãžã§ã³ãã«åŒãç¶ãããšãã£ãæµããæç¢ºã«å®çŸ©ã§ããŸãã ãŸããåãåãã察å¿ã«éãããäŒè°åŸã«è°äºé²ãäœæããã¿ã¹ã¯ãæŽãåºããæ
åœè
ããšã«ã¡ãŒã«ãéä¿¡ãããšãã£ããäžé£ã®æ¥åãããŒãèªååããçšéã«ã掻çšã§ããŸããè€æ°ã®åŠçãæ±ºãŸã£ãé çªã§å®è¡ãããå Žåã«é©ããæ§æã§ãã äžæ¹ã§ãã¯ãŒã¯ãããŒã远å ããã ãã§ã¯ãã¡ã€ã³ãšãŒãžã§ã³ããå¿
ããã®ã¯ãŒã¯ãããŒãåŒã³åºããšã¯éããŸããããã®ãããããŒã«ã®ïŒ»ååã説æïŒœã«ã¯ãã©ã®ãããªäŸé Œã§äœ¿çšããã®ããå
·äœçã«èšèŒããå¿
èŠããããŸããã¡ã€ã³ãšãŒãžã§ã³ããå©çšå Žé¢ã倿ããããããã«ã察象ãšãªãæ¥åãåãåããã®äŸãæç¢ºã«ããŠããããšãéèŠã§ãã åãã¿ãŒã³ã®æ¯èŒãšæŽ»çšã·ãŒã³ ãããŸã§ãæ¢ã«äœææžã¿ã®å°éãšãŒãžã§ã³ããå¥ã®ãšãŒãžã§ã³ãããåŒã³åºãæ¹æ³ãšããŠã以äžã®2ãã¿ãŒã³ã玹ä»ããŸããã ãã¿ãŒã³1ïŒãšãŒãžã§ã³ã远å ã«ããAIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãã¿ãŒã³2ïŒãããŒãä»ãããšãŒãžã§ã³ãå®è¡å¶åŸ¡ ããããã®ç¹åŸŽãæŽçãããšã以äžã®ããã«ãªããŸãã èŠ³ç¹ ãã¿ãŒã³1ïŒAIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãã¿ãŒã³2ïŒãããŒãä»ããå®è¡å¶åŸ¡ å°éãšãŒãžã§ã³ãã®åŒã³åºãæ¹ ã¡ã€ã³ãšãŒãžã§ã³ãããŠãŒã¶ãŒã®å
¥åå
容ãããšã«ãAI倿ã§å°éãšãŒãžã§ã³ããåŒã³åºã ã¡ã€ã³ãšãŒãžã§ã³ãããããŒãåŒã³åºãããããŒå
ã§å°éãšãŒãžã§ã³ããå®è¡ãã å®è¡é åº AIã®å€æã«å§ãã ãããŒå
ã§æç€ºçã«æå®ãã åããŠããçšé 瀟å
åãåãããFAQããã¬ããžæ€çŽ¢ãªã©ãåãåããå
容ã«å¿ããŠæè»ã«æ¯ãåãããçšé è€æ°ãšãŒãžã§ã³ãã®é 次å®è¡ãå®åçãªç¢ºèªåŠçãæ±ºãŸã£ãæµãã§åŠçãããçšé 匷㿠ãŠãŒã¶ãŒã®å
¥åå
容ã«å¿ããŠãæè»ã«å°éãšãŒãžã§ã³ããžæ¯ãåãããã å®è¡ãããšãŒãžã§ã³ããšé åºãåºå®ã§ããåŠçã®æµããæç¢ºã«å¶åŸ¡ã§ãã æ³šæç¹ åŒã³åºãå°éãšãŒãžã§ã³ãã®éžæãAIã®å€æã«äŸåãã ãããŒã®èšèšã»ä¿å®ãå¿
èŠã«ãªã ãŠãŒã¶ãŒã®åãåããå
容ã倿§ã§ããããããåŠçã®æµãã现ããæ±ºããããªãå Žåã¯ããã¿ãŒã³1ãåããŠããŸãã äŸãã°ã瀟å
åãåããã®ããã«ã人äºã»çµçã»æ
å ±ã·ã¹ãã ãªã©è€æ°ã®åãåããå
ãããããŠãŒã¶ãŒã®èªç¶ãªå
¥åå
容ã«å¿ããŠé©åãªå°éãšãŒãžã§ã³ããžæ¯ãåãããå Žåã«é©ããŠããŸãã äžæ¹ã§ãè€æ°ã®å°éãšãŒãžã§ã³ããå¿
ãæ±ºãŸã£ãé çªã§åŒã³åºãããå Žåã¯ããã¿ãŒã³2ãåããŠããŸãã äŸãã°ãã人äºèгç¹ã§ç¢ºèªããåŸã«çµç芳ç¹ã§ç¢ºèªããããè°äºé²ãäœæããåŸã«ã¿ã¹ã¯ãæœåºããããšãã£ãããã«ãåã®åŠççµæãæ¬¡ã®åŠçã«åŒãç¶ããªããé²ãããå Žåã«é©ããŠããŸãã æ¢åã®å°éãšãŒãžã§ã³ããæŽ»ãããªããããŠãŒã¶ãŒã®å
¥åå
容ã«å¿ããŠæè»ã«æ¯ãåãããå Žåã¯ãã¿ãŒã³1ãåŠçã®é åºãæç¢ºã«å¶åŸ¡ãããå Žåã¯ãã¿ãŒã³2ããšãã芳ç¹ã§äœ¿ãåããã®ãé©åã ãšèããããŸãã ãããã« æ¬èšäºã§ã¯ãæ¢ã«äœææžã¿ã® Copilot Studio ãšãŒãžã§ã³ããå¥ã®ãšãŒãžã§ã³ãããåŒã³åºããŠæŽ»çšããæ¹æ³ãšããŠã以äžã®2ã€ã®ãã¿ãŒã³ã玹ä»ããŸããã ãšãŒãžã§ã³ã远å ã«ããAIãªãŒã±ã¹ãã¬ãŒã·ã§ã³ ãããŒãä»ãããšãŒãžã§ã³ãå®è¡å¶åŸ¡ Copilot Studio ã®é
åã¯ãåã«1ã€ã®AIãšãŒãžã§ã³ããäœãããšã ãã§ã¯ãªããè€æ°ã®ãšãŒãžã§ã³ããçµã¿åãããŠãããå®åã«è¿ãæ¥åéè¡ã®ä»çµã¿ãæ§ç¯ã§ããç¹ã«ããããŸãã ä»åŸãAIãšãŒãžã§ã³ãã®æŽ»çšãé²ãã«ã€ããŠããå°éãšãŒãžã§ã³ãå士ãååããŠä»äºãé²ããæ§æãã¯ãŸããŸãéèŠã«ãªã£ãŠããã§ãããã æ¬èšäºããçããŸã®AIãšãŒãžã§ã³ã掻çšã®å¹
ãåºãããã£ããã«ãªãã°å¹žãã§ãã åèè³æ ãšãŒãžã§ã³ããããšãŒãžã§ã³ã ãããŒãåŒã³åºã çæãªãŒã±ã¹ãã¬ãŒã·ã§ã³æ©èœãé©çšãã ä»ã®ãšãŒãžã§ã³ãã®æŠèŠã远å ãšãŒãžã§ã³ã ãããŒãŸãã¯ã¯ãŒã¯ãããŒãããŒã«ãšããŠãšãŒãžã§ã³ãã«è¿œå ãã ãšãŒãžã§ã³ã ãããŒãšã¯ãŒã¯ãããŒã®æŠèŠ ãšãŒãžã§ã³ãã®æŽ»åã確èªãã å·çïŒ @matsukiyo.ryota ã¬ãã¥ãŒïŒ @kinjo.ryuki ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ãã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšã®å¹³å²¡ã§ãã åŒç€Ÿã®Azureã¯ã©ãŠãSOCïŒä»¥äžAzure SOCïŒã§ã¯ãAzureç°å¢ã®ã»ãã¥ãªãã£èšå®ã®å¯èŠåãšæ¹åãããã³ã»ãã¥ãªãã£ã€ã³ã·ãã³ãã®æ©æçºèŠãšèª¿æ»æ¯æŽãè¡ã£ãŠããŸãã ç§ã¯Azure SOCéå¶ã¡ã³ããŒãšããŠäž»ã«Microsoft Defender for CloudãæŽ»çšããAzureç°å¢ã®ã»ãã¥ãªãã£èšå®ã®ç£èŠãè¡ã£ãŠããŸãã ååæžãã ããã° ã§ã¯ãAzure SOCã§æŽ»èºããŠãã䟿å©ãªãµãŒãã¹ã®äžéšãšããŠãMicrosoft Defender for Cloudã®CSPMæ©èœãšCWPæ©èœã®æŠèŠã玹ä»ããŸããã ä»åã¯CWPæ©èœã®äžã€ã§ããã»ãã¥ãªãã£ã¢ã©ãŒãããã¡ãŒã«ãããã¯Microsoft TeamsïŒä»¥äžTeamsïŒã®ä»»æã®ãã£ãã«ã«èªåéç¥ããæ¹æ³ã«ã€ããŠã玹ä»ããããšæããŸãã ã»ãã¥ãªãã£ã¢ã©ãŒããã¡ãŒã«ã§éç¥ãããå Žå Microsoft Defender for Cloudã®CWPïŒã¯ã©ãŠãã¯ãŒã¯ããŒãä¿è·ïŒãæå¹ã«ããããšã§ãã»ãã¥ãªãã£ã¢ã©ãŒãç»é¢äžã«ãã¯ã©ãŠãç°å¢å
ã§è
åšãæ€ç¥ãããããã«ãªããŸãã詳现㯠ååããã° ããäžèªãã ããã ã»ãã¥ãªãã£ã¢ã©ãŒãã¯Microsoft Defender for Cloudã®éç¥èšå®ãããã¯ãAzure Monitorã®ã¢ã©ãŒãèšå®ãè¡ãããšã§ãã¡ãŒã«ã§éç¥ã§ããŸãã ç¹ã«Microsoft Defender for Cloudã®éç¥èšå®ã¯éåžžã«ç°¡åã«èšå®ã§ãããããCWPãæŽ»çšããŠããå Žåã¯èšå®ããããšããå§ãããŸãã Microsoft Defender for Cloudã®ã¡ãŒã«éç¥èšå® ã¡ãŒã«ã®åä¿¡è
ã«ã¯Azure RBACã®äžéšããŒã«ãèšå®ããããçŽæ¥ã¡ãŒã«ã¢ãã¬ã¹ãèšå®ã§ããŸãã äŸãã°ãææè
ãããŒã«éžææã«ã¯ããææè
ãæš©éãå²ãåœãŠãããŠããå
šå¡å®ã«Microsoft Defender for Cloudããã¡ãŒã«ãåãåãããšãã§ããŸãã Azure Monitorã®ã¢ã©ãŒãèšå® Azure Monitorã®ã¢ã©ãŒãèšå®ã§ã¯ãããè©³çŽ°ã«æ¡ä»¶ãèšå®ã§ããŸãã ã»ãã¥ãªãã£ã¢ã©ãŒããTeamsã®ä»»æã®ãã£ãã«ã«éç¥ãããå Žå åäžãµãã¹ã¯ãªãã·ã§ã³ã管çããŠããå Žåã¯ã¡ãŒã«éç¥ã§ååã ãšæããŸãããAzure SOCã§ã¯Azure Lighthouseãå©çšããåŒç€Ÿå
ã®è€æ°ãããžã§ã¯ãã®ãµãã¹ã¯ãªãã·ã§ã³ã®ã»ãã¥ãªãã£æ
å ±ãéçŽããŠããŸãã ãã®ãããã»ãã¥ãªãã£ã¢ã©ãŒãçºåºæã«ã¯ããµãã¹ã¯ãªãã·ã§ã³ç®¡çè
ã«å³æã§å¯Ÿå¿ããŠãããããã«ãåã
ã®ãµãã¹ã¯ãªãã·ã§ã³é£çµ¡çšãã£ãã«ã«å³æã§Teamsã®éç¥ãé£ã°ããããšèããŸããã ããããããš Microsoft Defender for Cloudã®ã»ãã¥ãªãã£ã¢ã©ãŒãçºåºãããªã¬ãŒãšããŠãLogic Appsãèµ·åãã Excelãã¡ã€ã«å
ã®ããŒãã«æ
å ±ãååŸãã ã»ãã¥ãªãã£ã¢ã©ãŒãã«çŽã¥ããµãã¹ã¯ãªãã·ã§ã³IDãšãExcelãã¡ã€ã«å
ã®ãµãã¹ã¯ãªãã·ã§ã³IDãçªãåãããŠã該åœã®Teamsã®ã°ã«ãŒãIDãšãã£ãã«IDãååŸãã ååŸããã°ã«ãŒãIDãšãã£ãã«IDã«è©²åœããTeamsã®ãã£ãã«ã«éç¥ãã Microsoft Defender for Cloudã§ã¯ãŒã¯ãããŒã®èªååèšå®ãè¡ã ã»ãã¥ãªãã£ã¢ã©ãŒããæ³å®ã®ãã£ãã«ã«æçš¿ãããããšã確èªãã 1~4ã¯Azure Logic AppsïŒä»¥äžLogic AppsïŒã§èšå®ãã5ã¯Microsoft Defender for Cloudã§èšå®ããŸãã æåŸã«ãµã³ãã«ã¢ã©ãŒããåºããŠãæ³å®ãããã£ãã«ã«æçš¿ãããããšã確èªããŸãã Logic Appsã®èšå® Logic Appsã¯Azureäžã§æäŸãããã¯ã©ãŠãããŒã¹ã®ã¯ãŒã¯ãããŒã®èªååãµãŒãã¹ã§ãã ããŸããŸãªã¢ããªããµãŒãã¹ãã€ãªããæ¥åããã»ã¹ãèªååã§ããŸãã ç¹åŸŽ ããŒã³ãŒã/ããŒã³ãŒãã§æ§ç¯å¯èœ ããªã¬ãŒãšã¢ã¯ã·ã§ã³ã®çµã¿åããã§å®çŸ© å€çš®å€æ§ã®ã³ãã¯ã¿ãå©çšå¯èœ(TeamsãMicrosoft Defender for CloudãMicrosoft 365ãSalesforceãX(Twitter)ç) 1~4ã®ããããããšãããªã¬ãŒãšã¢ã¯ã·ã§ã³ãçµã¿åãããŠå®çŸ©ããŸãã 1. Microsoft Defender for Cloudã®ã»ãã¥ãªãã£ã¢ã©ãŒãçºåºãããªã¬ãŒãšããŠãLogic Appsãèµ·åãã ã¡ãã¥ãŒã®[ããžãã¯ã¢ããªãã¶ã€ããŒ]ãéžæãããšã[ããªã¬ãŒã®è¿œå ]ãã¿ã³ã衚瀺ãããŸããæ€çŽ¢æ¬ã«"Defender for Cloud"ãšå
¥åãããšãã»ãã¥ãªãã£ã¢ã©ãŒã以å€ã«ãã¬ã³ã¡ã³ããŒã·ã§ã³ïŒæšå¥šäºé
ïŒãèŠå¶ã³ã³ãã©ã€ã¢ã³ã¹ã®çºåºãããªã¬ãŒãšãªãã³ãã¯ã¿ãããããšãããããŸãã ä»åã¯ããMicrosoft Defender for Cloud ã®èŠåãäœæãŸãã¯ããªã¬ãŒãããå Žåãããªã¬ãŒãéžã³ãŸãã 2. Excelãã¡ã€ã«å
ã®ããŒãã«æ
å ±ãååŸãã ããªã¬ãŒãäœæãããšã¢ã¯ã·ã§ã³ã远å ã§ããããã«ãªããŸãã [ã¢ã¯ã·ã§ã³ã®è¿œå ]ãã¿ã³ãæŒäžããæ€çŽ¢æ¬ã«"Excel"ãšå
¥åãããšãããŸããŸãªçš®é¡ã®Excelã³ãã¯ã¿ã衚瀺ãããŸãã ä»åã¯ãã衚å
ã«ååšããè¡ãäžèŠ§è¡šç€ºãã¢ã¯ã·ã§ã³ãéžã³ãŸãã Teamså
ã«æ ŒçŽããŠããExcelãã¡ã€ã«ã«ã¢ã¯ã»ã¹ããŠãããŒãã«ã®æ
å ±ãååŸããŸãã Excelãã¡ã€ã«ã«ã¯ãµãã¹ã¯ãªãã·ã§ã³IDãTeamsã®ãã£ãã«åãTeamsã®ã°ã«ãŒãIDãTeamsã®ãã£ãã«IDãèšèŒããŠããŸããExcelå
ã®ããŒã¿ç¯å²ã¯ããããããããŒãã«ãšããŠæžåŒèšå®ããŠããå¿
èŠããããŸãã 3. ã»ãã¥ãªãã£ã¢ã©ãŒãã«çŽã¥ããµãã¹ã¯ãªãã·ã§ã³IDãšãExcelãã¡ã€ã«å
ã®ãµãã¹ã¯ãªãã·ã§ã³IDãçªãåãããŠã該åœã®Teamsã®ã°ã«ãŒãIDãšãã£ãã«IDãååŸãã [ã¢ã¯ã·ã§ã³ã®è¿œå ]ãã¿ã³ãæŒäžããæ€çŽ¢æ¬ã«"Filter array"ãšå
¥åãããšã玫ã®ã¢ã€ã³ã³ã®ãã«ãã€ã³ã¢ã¯ã·ã§ã³ã衚瀺ãããŸãã ïŒãã«ãã€ã³ã¢ã¯ã·ã§ã³ã¯ã¿ã€ãã«ã®å³æšªã«éåã§"Built-in"ãšè¡šç€ºãããŠããŸãïŒ ãã©ã¡ãŒã¿ã¿ãã§ã[FROM]ã«Excelãã¡ã€ã«ã®"Value"ãéžæããŸãã [Filter Query]ã®å·ŠèŸºã«ã¯åçãªã³ã³ãã³ãããExcelãã¡ã€ã«å
ã®ãµãã¹ã¯ãªãã·ã§ã³IDãå³èŸºã«ã¯ã»ãã¥ãªãã£ã¢ã©ãŒãã«çŽã¥ããµãã¹ã¯ãªãã·ã§ã³IDãéžæããŠãäžèŽããæ
å ±ãExcelãã¡ã€ã«ããååŸããããã«èšå®ããŸãã 4. ååŸããã°ã«ãŒãIDãšãã£ãã«IDã«è©²åœããTeamsã®ãã£ãã«ã«éç¥ãã [ã¢ã¯ã·ã§ã³ã®è¿œå ]ãã¿ã³ãæŒäžããæ€çŽ¢æ¬ã«"Teams"ãšå
¥åãã"ãã£ãããŸãã¯ãã£ãã«ã§ã¡ãã»ãŒãžãæçš¿ãã"ãã£ãã«ãéžæããŸãã ãã©ã¡ãŒã¿ã¿ãã§ã[æçš¿è
]ã¯"ãããŒããã"ã"ãŠãŒã¶"ãéžæã§ããŸãããã©ã€ããŒããã£ãã«ã«æçš¿ãããå Žåã¯"ãŠãŒã¶"ãéžæããªããšãšã©ãŒã«ãªããŸãã [æçš¿å
]ã¯"ã°ã«ãŒããã£ãã"ãŸãã¯"ãã£ãã«"ãéžæã§ããŸãã [ããŒã ]ã¯Excelãã¡ã€ã«å
ã®"group_id"ã[ãã£ãã«]ã¯Excelãã¡ã€ã«ã®"channel_id"ãéžæããŸããâ»"group_id"ãéžæããããšã§ãèªåçã«ã«ãŒãåŠçã远å ãããŸãã [ã¡ãã»ãŒãž]ã§ã¯æäŸãããæ
å ±ãèšèŒããããç¹å®ã®çžæã«ã¡ã³ã·ã§ã³ããããšãã§ããŸãã For eachåŠçã®ãã©ã¡ãŒã¿ã«ã¯"Filter array"ã®"Body"ãéžæããŸãã 以äžã§Logic Appsã®èšå®ã¯å®äºã§ãã 5. Microsoft Defender for Cloudã§ã¯ãŒã¯ãããŒã®èªååèšå®ãè¡ã Microsoft Defender for Cloudã§ã¯ãŒã¯ãããŒã®èªååèšå®ãè¡ããŸãã ã¡ãã¥ãŒã§[ã¯ãŒã¯ãããŒã®èªåå]ãéžæãã[ïŒã¯ãŒã¯ãããŒèªååã®è¿œå ]ãæŒäžããŸãã [ã¯ãŒã¯ãããŒã®èªååã®ç·šé]ç»é¢ã衚瀺ããããããããªã¬ãŒã®æ¡ä»¶ãLogic AppsãéžæããŠä¿åããŸãã 6. ã»ãã¥ãªãã£ã¢ã©ãŒããæ³å®ã®ãã£ãã«ã«æçš¿ãããããšã確èªãã æåŸã«ã»ãã¥ãªãã£ã¢ã©ãŒããæ³å®ã®ãã£ãã«ã«æçš¿ãããããšã確èªããŸãã å®éã«ã»ãã¥ãªãã£ã¢ã©ãŒããåºãã®ã¯ãªã¹ã¯ããããããä»åã¯Microsoft Defender for Cloudã®æšæºæ©èœã§ãããµã³ãã«ã¢ã©ãŒããåºããŠãã¹ãããŸãã ãµãã¹ã¯ãªãã·ã§ã³Bã®ãµã³ãã«ã¢ã©ãŒããåºããŠã¿ãŸãã ãµãã¹ã¯ãªãã·ã§ã³Bãã£ãã«ã確èªãããšãç¡äºéç¥ãæçš¿ãããŠããŸããã ãŸãšã ä»åã¯Microsoft Defender for Cloudã®ã»ãã¥ãªãã£ã¢ã©ãŒãããã¡ãŒã«ãŸãã¯Teamsã®ãã£ãã«ã«æçš¿ããæ¹æ³ããŸãšããŸããã ããŒã³ãŒã/ããŒã³ãŒãã§å©çšã§ããLogic Appsã§ãä»ã«ã䟿å©ãªèªååããŒã«ãäœæã§ãããã§ãã ã¿ãªãããæ¯éLogic AppsãšMicrosoft Defender for Cloudãçµã¿åãããŠæŽ»çšããŠã¿ãŠãã ããïŒ ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã å·çïŒ @hiraoka.eri2 ã¬ãã¥ãŒïŒ @ozaki.hisanori ïŒ Shodo ã§å·çãããŸãã ïŒ
ã¯ããã« éèITæ¬éš 3幎ç®ã®åæ± å
æã§ãã re:Invent 2025 ã§å
¬éãããFrontier Agentã®1ã€ãšã㊠AWS Security Agent ãçºè¡šããã3æã«ã¯ AWS Security Agentã®ãããã¬ãŒã·ã§ã³ãã¹ããäžè¬å
¬é ãããŸããã AWS Security Agentã¯ãéçºãããŒã«ã»ãã¥ãªãã£ãçµ±åãã DevSecOps ã«ãããŠããã®ãSecïŒã»ãã¥ãªãã£ïŒããæ
ããããªãµãŒãã¹ã§ãã æ¬èšäºã§ã¯ãAWS Security Agent å
šäœã®äœ¿çšæããã³ã³ãœãŒã«æäœãšCICDãžã®çµã¿èŸŒã¿ã€ã¡ãŒãžãå«ããŠç޹ä»ããŸãã â»æ¬èšäºã¯2026幎6ææç¹ã®æ
å ±ã§ãã æ¬èšäºå·çæã®2026幎6æ17æ¥ã«ã AWS Continuum ãçºè¡šãããAWS Security Agent ã®ãããã¬ãŒã·ã§ã³ãã¹ãã»ã³ãŒãã¹ãã£ã³æ©èœã¯ãContinuum for penetration testingããContinuum for code scanningãïŒãã¬ãã¥ãŒïŒãšã㊠Continuum ã®äžéšã«ããªããŸãããæ¬èšäºã®æäœå
容ã¯åŒãç¶ãåèã«ãªããŸãããAWS Security Agent ã®åç§°ãæäŸåœ¢æ
ã¯ä»åŸå€ãã£ãŠããå¯èœæ§ããããŸãã ã¯ããã« Frontier Agent ãšã¯ AWS Security Agent ã®æŠèŠ å
šäœå ã³ã¹ã ã¯ã©ãŒã¿ ããŒã¿ä¿è· ãã¹ãã»ã¬ãã¥ãŒ ã³ã³ãœãŒã«ç»é¢ å®éã«è©ŠããŠã¿ã 管çè
åŽã®èšå®æé AWS Security Agent ã¢ããªã±ãŒã·ã§ã³ã®äœæã»ãšãŒãžã§ã³ãã¹ããŒã¹ã®äœæ ãAWS Security Agent ã¢ããªã±ãŒã·ã§ã³ãæ¢ã«ååšããå ŽåããšãŒãžã§ã³ãã¹ããŒã¹ã ãã®äœæ ã»ãã¥ãªãã£ãšãŒãžã§ã³ãã䜿çšå¯èœãªéçºè
ã®ç»é² ã¿ãŒã²ãããã¡ã€ã³ã®ç»é² ãªããžããªã®çµ±å ã»ãã¥ãªãã£èŠä»¶ ã³ãŒãã¬ãã¥ãŒã®æå¹å ãããã¬ãŒã·ã§ã³ãã¹ãã®æå¹å éçºè
çšã³ã³ãœãŒã«ã®ç¢ºèª éçºåŽã®å®è¡æé èšèšã¬ãã¥ãŒã®å®è¡ ã³ãŒãã¬ãã¥ãŒã®å®è¡ è
åšã¢ãã«ã®å®è¡ ãããã¬ãŒã·ã§ã³ãã¹ãã®å®è¡ ã¬ããŒãã®ç¢ºèª ãã¶ã€ã³ã¬ãã¥ãŒ è
åšã¢ãã« ã³ãŒãã¬ãã¥ãŒã»ãããã¬ãŒã·ã§ã³ãã¹ã CI/CDãžã®çµã¿èŸŒã¿ CLIã³ãã³ãã®åºæ¬æ§é å
±éïŒ AWS èªèšŒïŒOIDCïŒ develop ããŒãžæïŒ ã³ãŒãã¬ãã¥ãŒ stg ãããã€å®äºåŸïŒ 軜éãã³ãã¹ãïŒDASTã»å¯Ÿè±¡ãçµãïŒ ãªãªãŒã¹æ / å®æïŒ ãã«ã¹ã³ãŒãã®ãããã¬ãŒã·ã§ã³ãã¹ã èšèšããã¥ã¡ã³ãæŽæ°æïŒ ãã¶ã€ã³ã¬ãã¥ãŒïŒè
åšã¢ããªã³ã°ïŒ ãŸãšã ãããã« Frontier Agent ãšã¯ å°ãåã«ãªããŸããã2025幎ã®re:Inventã«ãŠãããã³ãã£ã¢ãšãŒãžã§ã³ãïŒFrontier AgentïŒããšããæ°ããã«ããŽãªã®AIãšãŒãžã§ã³ããçºè¡šãããŸããã ããã³ãã£ã¢ãšãŒãžã§ã³ã ãšã¯ã èªåŸçã«åäœããéçºããŒã ã®æ¡åŒµæ©èœ ãšããŠäœçœ®ã¥ããããAIãšãŒãžã§ã³ãã§ãã åã
ã®ã¿ã¹ã¯ããµããŒãããåŸæ¥ã® AI ã¢ã·ã¹ã¿ã³ããšã¯ç°ãªããããã³ãã£ã¢ãšãŒãžã§ã³ãã¯ããŒã ã®æ¡åŒµæ©èœãšããŠæ©èœãã倿§ãªãŠãŒã¹ã±ãŒã¹ã«ããã£ãŠå
æ¬çãªææããããããŸãã AWSãå®çŸ©ããããã³ãã£ã¢ãšãŒãžã§ã³ãã«ã¯ã以äžã®3ã€ã®ç¹åŸŽããããŸãã èªåŸç â 人éãåžžã«ä»å
¥ããªããŠããç¬ç«ããŠåäœããŸã ã¹ã±ãŒã©ãã« â å€§èŠæš¡ãªã¹ã±ãŒãªã³ã°ã«ãããè€æ°ã¿ã¹ã¯ãåæå®è¡ããŸã é·æéå®è¡ â 24æé365æ¥ãç¶ç¶çã«åäœã§ããŸã 2025幎re:Inventã§çºè¡šãããããã³ãã£ã¢ãšãŒãžã§ã³ãã¯ä»¥äžã®3çš®é¡ã§ãã ãšãŒãžã§ã³ã åœ¹å² AWS Security Agent ä»®æ³ã»ãã¥ãªãã£ãšã³ãžãã¢ãèšèšã»ã³ãŒãã»çšŒåäžã¢ããªã暪æããŠã»ãã¥ãªãã£ãæ
ä¿ãã AWS DevOps Agent ä»®æ³SREã¡ã³ããŒãã€ã³ã·ãã³ãã®ããªã¢ãŒãžãæ ¹æ¬åå åæã埩æ§ãèªåŸçã«è¡ã Kiro autonomous agent ä»®æ³éçºè
ã仿§æžããã³ãŒãçæã»ãã¹ãã»ãããã€ãŸã§ãæ
ã äžã§ãä»åã¯ãã€ã³ãã©æ§ç¯ã®æèã§ç¹ã«æ°ã«ãªã£ã AWS Security Agent ã調æ»ããŸããã®ã§ããã®ä»çµã¿ããŸãšããŸãã å»å¹Žã®re:InventçŽåŸã«å®®åŽããã AWS re: Invent2025ã§ç»å Žãã3ã€ã®Frontier Agentsã®1ã€ã§ãããAWS DevOps Agentããè§Šãã€ã€ãæŠèŠã«ã€ããŠæŽçããŠã¿ãã ãšããèšäºãæžããŠããŸãã®ã§ãæ°ã«ãªãæ¹ã¯ãã²ã芧ãã ããã AWS Security Agent ã®æŠèŠ å
šäœå AWS Security Agentã¯æ©èœãšããŠã¯ã SASTïŒStatic Application Security TestingïŒã» DASTïŒDynamic Application Security TestingïŒ ã»ãããã¬ãŒã·ã§ã³ãã¹ã ãåäžã®ãšãŒãžã§ã³ãã«çµ±åãã èšèšããã¥ã¡ã³ããããœãŒã¹ã³ãŒãã»IaCã»è
åšã¢ãã«ãŸã§ãåã蟌ãã§ã¢ããªã®å
šäœåïŒã³ã³ããã¹ãïŒãææ¡ ããããšã§ãåã
ã®è匱æ§ã®é£éãŸã§å«ãã粟床ã®é«ãæ€åºãšå®çšçãªä¿®åŸ©ææ¡ãå®çŸãããµãŒãã¹ã§ãã Security Hub/GuardDuty/Inspector ãªã©ã«ããåŸæ¥ã®äºåŸçãªã»ãã¥ãªãã£èª¿æ»ã§ã¯ãæ¬çªãããã€åŸã«åé¡ãèŠã€ãããããèšèšãã³ãŒãã«èµ·å ããè匱æ§ã»ã©ææ»ãã倧ãããªããã¡ã§ããããããèæ¯ããã éçºãããããã€ãŸã§ã®ãããŒã®æ©ã段éã«ã»ãã¥ãªãã£ã®ãã§ãã¯ãå¯ãããã·ããã¬ããããããããéçºããã»ã¹ã«çµã¿èŸŒãã DevSecOps ã ãéèŠãããããã«ãªã£ãŠããŸãããAWS Security Agentã¯ããã®èãæ¹ãèžãŸãããµãŒãã¹ãšãªããŸãã DevOpsã«ãã£ãŠéçºãµã€ã¯ã«ãé«éãã€é«é »åºŠã§åãããã«ãªã£ãäžæ¹ãã»ãã¥ãªãã£ãåŸæ¥ã©ããã®äœå¶ã®ãŸãŸã§ã¯éçºã¹ããŒãã«è¿œãã€ããŸããããã®èª²é¡ã«å¯ŸããŠçãŸããã®ã DevSecOps ã§ãéçºåæããã»ãã¥ãªãã£ãèæ
®ããã·ããã¬ããã®åããåãã€ã€ãDevOpsã®å¹çæ§ãæãªããªãããã«ã»ãã¥ãªãã£ã¬ãã¥ãŒçãèªååã«çµã¿èŸŒãããšãéèŠãããŸãã AWS Security Agentã¯ã倧ãŸãã«ä»¥äžã®æ§æãšãªã£ãŠããŸãã èšèšã¬ãã¥ãŒïŒãã¶ã€ã³ã¬ãã¥ãŒïŒ ã» ã³ãŒãã¬ãã¥ãŒ ã» è
åšã¢ããªã³ã° ã» ãããã¬ãŒã·ã§ã³ãã¹ã ãšãã4ã€ã®äœæ¥ãè¡ãããšãã§ããåã¬ãã¥ãŒã»ãã¹ãã«ãããŠã¯ã管çåŽã»éçºåŽã§ã³ã³ãœãŒã«ãåãæ¿ããããšãã§ããŸãã ãã®ãããéçºåŽã¯äœæ¥äžã«ç®¡çåŽãæèããå¿
èŠããªããäžèŠã«ç®¡çèšå®ã倿ŽããŠããŸãããšãé²ããŸãã ã³ã¹ã ã³ã¹ãã«ã€ããŠã¯ãçŸåšã®ãšãã ãããã¬ãŒã·ã§ã³ãã¹ãã®æé ã®ã¿ãå
¬éãããŠããã1ã¿ã¹ã¯æéããã50ãã«ããã€ååã¯2ãæéã»æå€§200ã¿ã¹ã¯æéåãç¡æãšãªã£ãŠããŸãã AWS å
¬åŒããã¥ã¡ã³ãã«ãããšã å¹³åçãªã¢ããªã±ãŒã·ã§ã³ãã¹ãã«ã¯çŽ 24 ã¿ã¹ã¯æéããããå
æ¬çãªäŸµå
¥ãã¹ããšä¿®åŸ©ã«ãããè²»çšã¯éåžž 1,200 ãã« ã®èŠèŸŒã¿ãšã®ããšã§ãã ãã®ã¿ã¹ã¯æéã¯ããããã¬ãŒã·ã§ã³ãã¹ãå®è¡äžã«ã¿ã¹ã¯ããšã«ç¬ç«ããŠãšãŒãžã§ã³ãã皌åããŠããå Žåãããããã®ãšãŒãžã§ã³ãã®çšŒåæéãåç®ãããã®ããã®ãŸãŸã¿ã¹ã¯æéã«æç®ãããŸãã ã¯ã©ãŒã¿ Service Quotas ãããåã¬ãã¥ãŒããã¹ãã飿ºå¯èœãªãªãœãŒã¹æ°ãªã©ã«äžéãèšå®ãããŠããŸãããã ããAWSãµããŒãçµç±ã§ç³è«ããããšã§äžéã倿Žã§ããŸãã ããŒã¿ä¿è· ã¢ããããŒãããããã¥ã¡ã³ããªã©ã®ããŒã¿ã¯ãæ¢å®ã§AWSãããŒãžãããŒã«ããæå·åãããä»»æã§ã«ã¹ã¿ããŒãããŒãžãããŒïŒCMKïŒãæå®ããŠèªç€Ÿã§éµã管çããããšãå¯èœã§ãã S3ã»CloudWatch Logsã»Secrets Managerã飿ºããéããCMKã§æå·åãããã®ãæž¡ããŠäœ¿çšã§ããŸã ïŒåãªãœãŒã¹ã®KMSããŒããªã·ãŒãšããµãŒãã¹ããŒã«ãžã®åŸ©å·æš©éã®èšå®ãå¿
èŠïŒã ãã ãã CMKãæå®ã§ããã®ã¯ãªãœãŒã¹ïŒãšãŒãžã§ã³ãã¹ããŒã¹ãçµ±åïŒã®äœææã®ã¿ã§ãæ¢åãªãœãŒã¹ãžã®åŸä»ããéµã®å·®ãæ¿ãã¯ã§ããªãç¹ã«æ³šæãå¿
èŠã§ã ïŒCMKã§éçšããå Žåã¯ãªãœãŒã¹ã®åäœæãå¿
èŠïŒã ãã¹ãã»ã¬ãã¥ãŒ åãã¹ãã»ã¬ãã¥ãŒã®å
容ã玹ä»ããŸãã詳现ãªèšå®æ¹æ³ãå®éã®åäœã«ã€ããŠã¯æ¬¡ã®ç« ããåç
§ãã ããã ãªãããã€ã³ãã«ã€ããŠã¯ããã¥ã¡ã³ãã®å
容ã«å ããŠç§ã®è§£éãå«ããããã»ãã¥ãªãã£ãšã³ãžãã¢ã®æ¹ã®ãæèŠããã²äŒºãããã§ãã é
ç® æŠèŠ ãã€ã³ãïŒæ®éã®AIã»æ¢åããŒã«ãšã®å·®åïŒ èšèšã¬ãã¥ãŒ èšèšæžãªã©ã®ããã¥ã¡ã³ãããçµç¹ã§å®çŸ©ããã»ãã¥ãªãã£èŠä»¶ïŒAWSãããŒãžãïŒã«ã¹ã¿ã ã®ã¬ã€ãã©ã€ã³ïŒã«ç
§ãããŠèªåã¬ãã¥ãŒããã³ãŒããæžãåã®æ®µéã§ææãæ°åïœæ°ååçšåºŠã§å®äºã ã»ãã¥ãªãã£ããŒã ãåºæºãäžå
çã«å®çŸ©ããéçºè
åŽã¯å€æŽã»è¿åã§ããªãïŒè²¬åã®åé¢ïŒãçµç¹æšªæã§åãåºæºã匷å¶ã§ããçµæãç£æ»ãã°ã»ã¬ããŒããšããŠæ®ããåŸæ¥ã®SASTãšç°ãªããïŒã¢ããªå®è¡æã®ã³ã³ããã¹ããå«ãŸãªãïŒãã¿ãŒã³ãããã³ã°ã§ã¯ãªãã ã¢ããªã®å®éã®åäœã»ã³ã³ããã¹ããæšè«ããŠè匱æ§ãæ€åº ã ã³ãŒãã¬ãã¥ãŒ 飿ºãããªããžããªãS3ã®ã³ãŒãããã»ãã¥ãªãã£èŠä»¶ã«ç
§ãããŠã¬ãã¥ãŒããã«ãªããžããªïŒå·®åãéžæã§ããPRãžã®ã¬ãã¥ãŒã³ã¡ã³ããèªåä¿®æ£PRãŸã§å¯Ÿå¿ãæ°åïœæ°ååçšåºŠã§å®äºã èšèšã¬ãã¥ãŒãšåæ§ãGitã«ãçµ±åã§ããå·®åã¬ãã¥ãŒãªã©äœ¿ããããæ§æã è
åšã¢ãã« æ»æè
èŠç¹ã§æœåšçãªè
åšãæŽãåºããŠåæãã³ãŒã以å€ã®ä¿¡é Œå¢çã»æš©éèšèšã»å€éšé£æºãªã©ãå«ããåºç¯ãªæ»æçµè·¯ãæŽçãæ°åïœæ°ååçšåºŠã§å®äºã å®è£
äžã®åé¡ãäžå¿ã«èŠãã³ãŒãã¬ãã¥ãŒãšç°ãªããã¢ãŒããã¯ãã£å
šäœã®ãªã¹ã¯ã俯ç°ã ãããã¬ãŒã·ã§ã³ãã¹ã ïŒ å¯äœçšãèæ
®ããæ€èšŒç°å¢ã§ã®å®æœãæšå¥š ïŒçšŒåäžã®ã¢ããªã«å¯ŸãããœãŒã¹ã³ãŒããããã¥ã¡ã³ããœãŒã¹ãããšã«ãã倿®µéã®æ»æã·ããªãªã§è匱æ§ãæ€åºãåçŸæé ã»PoCã»CVSSã»ä¿®æ£PRãŸã§æç€ºãæ°æéïœæ°åæéçšåºŠã§å®äºã åŸæ¥ã® DAST ãšç°ãªãããã©ãã¯ããã¯ã¹çãªã¢ãããŒãã§ã¯ãªãã ãœãŒã¹ã³ãŒããAPI仿§ãèšèšæžãããšã«ã¢ããªã®è©³çްãªã³ã³ããã¹ããæ§ç¯ããŠæ€èšŒ ããã¹ãé
ç®ã®èšå®ã«ããã¹ã³ãŒã調æŽãå¯èœã ã³ã³ãœãŒã«ç»é¢ æäœããã€ã³ã¿ãŒãã§ãŒã¹ã¯2å±€ã«åãããŠããŸãããã¹ãã®ã¹ã³ãŒãã»ã»ãã¥ãªãã£èŠä»¶ã»ãªããžããªçµ±åãªã©ãèšå®ãã管çè
ã³ã³ãœãŒã«ïŒAWSãããžã¡ã³ãã³ã³ãœãŒã«å
ïŒãšãå®éã«ã¬ãã¥ãŒããã¹ããå®è¡ããéçºè
åãã®Webã¢ããªã§ãã éçºè
åãã®Webã¢ããªã¯ãæç€ºçã«ã¢ã¯ã»ã¹æš©éãèšå®ã§ããéçšããããæ§æãšãªã£ãŠããŸãã å®éã«è©ŠããŠã¿ã æ¬èšäºã§ã¯ã管çè
åŽã»éçºè
åŽããããã®æäœæ¹æ³ã玹ä»ããªãããåºæ¬çãªäœ¿ç𿹿³ã«ã€ããŠå
±æããŸãã ãã®ä»ã®è©³çްãªèšå®ã«ã€ããŠåç
§ãå¿
èŠãªå Žåã¯ã AWS Security Agent ïŒ User Guide ããåç
§ãã ããã åæãšããŠä»¥äžã®ãªãœãŒã¹ãæºåããŸãã ããã¥ã¡ã³ã èšèšæžãAPI仿§ïŒOpenAPIãŸãã¯SwaggerïŒç ã³ãŒããœãŒã¹ GitHub ãªããžããªïŒä»åã¯ãã¡ãã§æ€èšŒïŒ S3ãã±ããå
ã®ZIPãã¡ã€ã« ã»ãã¥ãªãã£èŠä»¶ äžèšã®ããã¥ã¡ã³ããã³ãŒããœãŒã¹ã«å¯ŸããŠæºæ ããããã¬ã€ãã©ã€ã³ãããªã·ãŒ ãããã¬ãŒã·ã§ã³ãã¹ãçšã®ãšã³ããã€ã³ãæ
å ±ïŒ æ¬çªã§ã¯ãªãã¹ããŒãžã³ã°ç°å¢ãæšå¥š ïŒ ã¿ãŒã²ããæ
å ±ïŒ å€éšAPIãæ±ºæžåŠçãããŒã¿ã®åé€ã»æŽæ°çã®å¯äœçšã䌎ããšã³ããã€ã³ãã¯é€å€ ïŒ ãã¡ã€ã³ ãã¹ VPCå
ã®ãã©ã€ããŒããªã¢ããªã±ãŒã·ã§ã³ã®å ŽåïŒSecurity Agentèªèº«ãENIã䜿çšããŠã¢ã¯ã»ã¹ïŒ VPC ID ãµãããã ID ã»ãã¥ãªãã£ã°ã«ãŒã ID ã¢ããªã±ãŒã·ã§ã³æ¥ç¶æã«èªèšŒæ
å ±ãå¿
èŠãªå Žå éçãªèªèšŒæ
å ±ïŒå¹³æ or Secrets Managerã·ãŒã¯ã¬ããïŒ åçãªèªèšŒæ
å ±ã®çææ¹æ³ããŸãšããããã³ãã Security Agentèªäœã®éçšç®¡ç CloudWatch ãã°ã°ã«ãŒãïŒã³ã³ãœãŒã«ããäœæããå Žåã¯èªåäœæãããããä»»æïŒ IAM ãµãŒãã¹ããŒã«ïŒã³ã³ãœãŒã«ããäœæããå Žåã¯èªåäœæãããããä»»æïŒ KMSããŒïŒããã©ã«ãã¯AWSãããŒãžãããŒã§ç®¡çãããããä»»æïŒ éçºè
ã«å¯Ÿå¿ãã IAM Identity Center ã®ãŠãŒã¶ïŒSecurity Agentã䜿çšå¯èœãªãŠãŒã¶ãæç€ºçã«æå®ïŒ 管çè
åŽã®èšå®æé AWSã³ã³ãœãŒã«ã®AWS Security Agentã®ç»é¢ããã管çè
åŽã®èšå®ãè¡ããŸãã AWS Security Agent ã¢ããªã±ãŒã·ã§ã³ã®äœæã»ãšãŒãžã§ã³ãã¹ããŒã¹ã®äœæ åã¬ãã¥ãŒèšå®ã«å
¥ãåã«ãAWSã³ã³ãœãŒã«ããå
šäœã§å¿
èŠãªèšå®ãããŠãããŸãã Security Agentã®ã³ã³ãœãŒã«ç»é¢ã«é·ç§»ãããããAWS Security Agentãã»ããã¢ããããã¿ã³ãæŒäžããŸãã AgentSpaceã®èšå®ãå
¥åãã€ã€ãAWSãããŒãžãããŒã§ã¯ãªããCMKïŒã«ã¹ã¿ããŒãããŒãžãããŒïŒã§ããŒã¿ãä¿è·ãããå Žåã«ã¯ããCustomize encryption settings (advanced)ããã§ãã¯ããã¯ã¹ã«ãã§ãã¯ãå
¥ããä»»æã®CMKãçŽä»ããŠãã ããã ã¿ã°ã«ã€ããŠã¯ããšãŒãžã§ã³ãã¹ããŒã¹ã¿ã°ããšãŒãžã§ã³ãã¹ããŒã¹ã«ä»äžãããã¿ã°ãã¢ããªã±ãŒã·ã§ã³ã¿ã°ãAWS Security Agentã¢ããªã±ãŒã·ã§ã³èªäœã«ä»äžãããã¿ã°ãšãªããŸãã ãŸãã IAM Identity Centerãããã§çŽã¥ããããã€ã³ã¹ã¿ã³ã¹ãåäœæãããšé£æºãåããŠããŸãç¹ã«æ³šæãå¿
èŠã§ããïŒã³ã³ãœãŒã«ãCLIçµç±ã§ã®æŽæ°äžå¯ã§ãïŒ å®äºåŸãAWS Security Agent ã¢ããªã±ãŒã·ã§ã³ãšãšãŒãžã§ã³ãã¹ããŒã¹ãäœæãããŸãã ãAWS Security Agent ã¢ããªã±ãŒã·ã§ã³ãæ¢ã«ååšããå ŽåããšãŒãžã§ã³ãã¹ããŒã¹ã ãã®äœæ æ¢ã«AWS Security Agentã¢ããªã±ãŒã·ã§ã³ãäœææžã¿ã®ç¶æ
ã§ããšãŒãžã§ã³ãã¹ããŒã¹ã®ã¿äœæããå Žåã¯ä»¥äžã®ããã«äœæããŸãã Security Agentã®ã³ã³ãœãŒã«ç»é¢ã«é·ç§»ãããããæåã®ãšãŒãžã§ã³ãã¹ããŒã¹ãäœæããã¿ã³ãæŒäžããŸãã AWSãããŒãžãããŒã§ã¯ãªããCMKïŒã«ã¹ã¿ããŒãããŒãžãããŒïŒã§ããŒã¿ãä¿è·ãããå Žåã«ã¯ããCustomize encryption settings (advanced)ããã§ãã¯ããã¯ã¹ã«ãã§ãã¯ãå
¥ããä»»æã®CMKãçŽä»ããŠãã ããã äœæç»é¢ã®å
¥ååŸããäœæããã¿ã³ãæŒäžããŸãã ã»ãã¥ãªãã£ãšãŒãžã§ã³ãã䜿çšå¯èœãªéçºè
ã®ç»é² äœæãããšãŒãžã§ã³ãã¹ããŒã¹ç»é¢ã®ãŠã§ãã¢ããªã¿ãã«ãããŠãããŠãŒã¶ã®è¿œå ããæŒäžããŸãã IAM Identity Centerã§èšå®ãããŠãŒã¶ãŒãéžæããããŠãŒã¶ãŒã远å ããã¿ã³ãæŒããŸãã ç»é¢é·ç§»åŸããŠãŒã¶ãŒã远å ãããŠããããšã確èªã§ããŸãã ã¿ãŒã²ãããã¡ã€ã³ã®ç»é² ãµã€ãããŒã®ãã¿ãŒã²ãããã¡ã€ã³ããæŒäžããã¿ãŒã²ãããã¡ã€ã³ã®ããŒãžããããã¡ã€ã³ã远å ããã¿ã³ãæŒäžããŸãã ãããã¬ãŒã·ã§ã³ãã¹ãã®å¯Ÿè±¡ãšãªããã¡ã€ã³ã»æ€èšŒæ¹æ³ãéžæããããã¡ã€ã³ã远å ããã¿ã³ãæŒäžããŸãã ä»åã¯æ€èšŒæ¹æ³ãšããŠDNS TXTã¬ã³ãŒããæå®ããŸããããã®ä»ã®HTTPã«ãŒãããã©ã€ããŒãVPCã®æ€èšŒã«ã€ããŠã¯ã Managed target domains used for penetration testingã ããåç
§ãã ããã ã¿ãŒã²ãããã¡ã€ã³ã®è¿œå å®äºåŸããã¯ã³ã¯ãªãã¯æ€èšŒããæŒäžããŸããã¬ã³ãŒãã®è¿œå ãå«ããããŒãžãã«å¯Ÿå¿ããŠãããã®ã§ããã®ãŸãŸé²ããŸãã æ€èšŒãå®äºãããšãã¹ããŒã¿ã¹ãæ€èšŒæžã¿ã«ãªããŸãã ãªããžããªã®çµ±å ãµã€ãããŒã®ãçµ±åãããããçµ±åã®è¿œå ããã¿ã³ãæŒäžããŸããä»åã¯GitHubãéžæããŠé²ããŠãããŸãã èšå®ç»é¢ã«é·ç§»ããããã¹ããã1ããé ã«èšå®ããŸãã ã¹ããã2ã®ãGitHubã§AWS Security AgentãéãããæŒäžãããšãGitHubã¢ããªã®ã€ã³ã¹ããŒã«ç»é¢ã«é·ç§»ããã®ã§ã€ã³ã¹ããŒã«ããŸãã ãã®éã飿ºãããªããžããªãã¢ã«ãŠã³ãå
ãã¹ãŠã«ããããç¹å®ã®ãªããžããªã«éå®ããããéžæã§ããŸãã ã€ã³ã¹ããŒã«ã®å®äºåŸãã¹ããã3ã§èªèšŒãããã¿ã³ãæŒäžããŸãããèªèšŒãæåããŸããããšãã衚瀺ãåºãããšã確èªããŸãã æåŸã«ã¹ããã4ã§ãç»é²åã»ã¢ã«ãŠã³ãã¿ã€ãã»CMKã«ããæå·åãèšå®ãããããæ¥ç¶ããã¿ã³ãæŒäžããŠå®äºã§ãã ã»ãã¥ãªãã£èŠä»¶ ã³ã³ãœãŒã«ãµã€ãããŒã®ã»ãã¥ãªãã£èŠä»¶ããããããŒãžããŸãã¯ã«ã¹ã¿ã ã®ã»ãã¥ãªãã£èŠä»¶ãèšå®ããããšãã§ããŸãã ã»ãã¥ãªãã£èŠä»¶ã¯ãèšèšã¬ãã¥ãŒãã³ãŒãã¬ãã¥ãŒã®éã®ã¬ã€ãã©ã€ã³ãšãªãèšå®ã§ãããåã»ãã¥ãªãã£èŠä»¶é
ç®ãšãããããŸãšããããã¯ã®åäœã§ç®¡çãè¡ããŸãã ãããŒãžãã»ãã¥ãªãã£èŠä»¶ããã¯ã«ã€ããŠã¯ã AWS managed security requirement packs ãŸãã¯ã³ã³ãœãŒã«ããåèšå®å€ããåç
§ãã ããã ããã©ã«ãã§ã¯ASA Base Packã®ã¿æå¹åãããŠããŸãã ã«ã¹ã¿ã èšå®ã«ã€ããŠã¯ããCreate security requirements packããã¿ã³ãæŒäžããŠããã¯ãäœæããåŸã«ãããã¯å
ã§ã»ãã¥ãªãã£èŠä»¶ãåã
ã«èšå®ããŸãã ã»ãã¥ãªãã£èŠä»¶ããã¯ã®äœæåŸãã»ãã¥ãªãã£èŠä»¶ã®è¿œå æã«ã¯ãæåã§ã®å
¥åãŸãã¯ããã¥ã¡ã³ããèªã¿èŸŒãŸããŠèªåçæããæ¹æ³ãéžã¶ããšãã§ããŸãã ããã¥ã¢ã«èšå® ã®å Žåã¯ã以äžã«ç€ºãããã«ãæ¡ä»¶ãé©çšããã·ããªãªãå
·äœçãªéåå
容ãä¿®æ£æ¹æ³ã®æç€ºã«ã€ããŠå
¥åãå¿
èŠãšãªããŸãã ããã¥ã¡ã³ããã¢ããããŒãããŠèªåçæããå Žåã¯ããã¡ã€ã«ãµã€ãºã«ããããŸããã60KBçšåºŠã®mdãã¡ã€ã«ãèªã¿èŸŒãŸããŠãæ°åçšåºŠã§20åã®ã»ãã¥ãªãã£èŠä»¶ãçæãããŸããã ãã ããæ³šæç¹ãšããŠã https://docs.aws.amazon.com/ja_jp/securityagent/latest/userguide/security-requirements.html ã«ãããšãããæ¢åã®èŠä»¶ã眮ãæããããšã«ãªãç¹ã«æ³šæãå¿
èŠã§ãã Uploading new source documents regenerates all requirements for the pack. Any existing requirements, including ones you added manually, are replaced. ã³ãŒãã¬ãã¥ãŒã®æå¹å ã³ãŒãã¬ãã¥ãŒãæå¹ã«ãããã¿ã³ãæŒäžããŠé²ããŸãã æ¥ç¶ãããçµ±åé
ç®ã®è¿œå ãã¿ã³ãæŒäžããå
ã»ã©é£æºããGitHubã¢ã«ãŠã³ããéžæããŸãã ä»åã¯äœ¿çšããŸããããS3ãã±ãããã³ãŒãã®ä¿åå
ãšããŠåç
§å¯èœã§ãã ã¢ã«ãŠã³ãå
ã®ãªããžããªãéžæãããæ¬¡ãžããã¿ã³ãæŒäžããŸãã 以äžã®èšå®ã確èªãããæ¥ç¶ããæŒäžããŸãã ã³ãŒãã¬ãã¥ãŒã³ã¡ã³ãïŒPRäœææã«ã¬ãã¥ãŒã³ã¡ã³ãã远å ããŠãããèš±å¯ PRä¿®æ£ïŒã¬ãã¥ãŒããã¹ãåŸã«è匱æ§ã®ç®æãèªåã§PRäœæããèš±å¯ å®äºãããšãã³ãŒãã¬ãã¥ãŒã®èšå®ç»é¢ã«æ»ããçµ±åã远å ãããããšã確èªã§ããŸãã ãã®ä»ã®é
ç®ã確èªãããæ¬¡ãžããã¿ã³ãæŒäžããŸãã ãªãã·ã§ã³èšå®ç»é¢ã«é·ç§»ããããCloudWatchãã°ãšãµãŒãã¹ããŒã«ãèšå®ããŸãããããã¯äºåã«æºåãããã®ããããã¯å
¥åãæŽæ°ããã«ãããŒãžãã«äœæããããã®ã䜿çšå¯èœã§ããèšå®ãã§ããããä¿åãæŒäžããŸãã ãšãŒãžã§ã³ãã¹ããŒã¹ç»é¢ã«æ»ããšãè
åšã¢ãã«ã«ã€ããŠãã»ããã§æå¹åãããŠããããšã確èªã§ããŸãã ãããã¬ãŒã·ã§ã³ãã¹ãã®æå¹å æåŸã«ãããã¬ãŒã·ã§ã³ãã¹ãã®æå¹åãã¿ã³ãæŒäžããŸãã å
ã»ã©èšå®ããã¿ãŒã²ãããã¡ã€ã³ãéžæãããæ¬¡ãžããã¿ã³ãæŒäžããŸãã ã¿ãŒã²ãããã¡ã€ã³ãæ€èšŒæžã¿ã§ããããšã確èªãããæ¬¡ãžããã¿ã³ãæŒäžããŸãã 以äžã®èšå®é
ç®ã«ã€ããŠç¢ºèªããå
¥åãå®äºãããä¿åãæŒäžããŸãã VPCïŒVPCå
ã§ãã©ã€ããŒããªãšã³ããã€ã³ããå©ãå Žåãªã©ãSecurity AgentãVPCå
ã®ENIããã¿ãŒã²ããã«ã¢ã¯ã»ã¹ããéã®èšå® VPCããµãããããã»ãã¥ãªãã£ã°ã«ãŒã CloudWatchãã°ïŒãã°ã®åºåå
ãä»»æ ã·ãŒã¯ã¬ããïŒãã¹ãæéµæã«ãã°ã€ã³ãªã©ã®èªèšŒæ
å ±ãä¿åããŠããããã«äœ¿çš Lambda颿°ïŒåçãªèªèšŒæ
å ±çæçšã«ç¬èªãããã€ãããã®ãããã°æå® Lambdaããªãå Žåã§ãããã¹ãå®è¡æã®ããã³ããã§ã«ããŒå¯èœãã©ããã¯èŠæ€èš S3ãã±ããïŒãããã¬ãŒã·ã§ã³ãã¹ãå®è¡æã«ã¢ããªã±ãŒã·ã§ã³ã®æ§æãªã©ãåŠç¿ããããã®ãªãœãŒã¹ãšããŠäœ¿çšå¯èœ å
šé
ç®ãæºåå®äºã®ã¹ããŒã¿ã¹ã§ããããšã確èªããŠå®äºã§ãã éçºè
çšã³ã³ãœãŒã«ã®ç¢ºèª ãšãŒãžã§ã³ãã¹ããŒã¹ç»é¢ã«ãããŠããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®é
ç®ããéçºè
çšã®ã³ã³ãœãŒã«ïŒã¬ãã¥ãŒããã¹ããå®è¡ããå ŽæïŒãéãããšãã§ããŸãã 管çè
ã¢ã¯ã»ã¹ã®å Žåã¯ã管çè
ã¢ã¯ã»ã¹ããã¿ã³ãæŒäžããçŽæ¥ãšãŒãžã§ã³ãã¹ããŒã¹ã«å¯Ÿå¿ããã³ã³ãœãŒã«ã«ç§»åããŸãã ãšãŒãžã§ã³ããŠã§ãã¢ããªã®URLããã¢ã¯ã»ã¹ããå Žåã¯ãçŽä»ããIAM Identity CenterãŠãŒã¶ã§ãã°ã€ã³ããã®ã¡ã«ããã®ãŠãŒã¶ã䜿çšå¯èœãªãšãŒãžã§ã³ãã¹ããŒã¹ã®äžèЧã衚瀺ãããããããæå®ã®ãšãŒãžã§ã³ãã¹ããŒã¹ã«é·ç§»ãã圢ãšãªããŸãã 以äžã§ç®¡çè
åŽã®èšå®ã¯å®äºã§ããæ¬¡ã«ãå®éã«ãã¹ããå®è¡ããŸãã éçºåŽã®å®è¡æé éçºè
çšã®ã³ã³ãœãŒã«ç»é¢ãããéçºè
åŽã®æäœïŒã¬ãã¥ãŒã»ãã¹ãïŒãè¡ããŸãã èšèšã¬ãã¥ãŒã®å®è¡ ããŒã ç»é¢ãããèšèšã¬ãã¥ãŒãäœæããããæŒäžããã¬ãã¥ãŒå¯Ÿè±¡ã®ãã¡ã€ã«ãã¢ããããŒãããŠããéå§ããããã¿ã³ãæŒäžããŸãã ãã¶ã€ã³ã¬ãã¥ãŒãé²è¡äžãšãªããŸãã å®äºãããšãã³ã³ãœãŒã«ãããã®ãŸãŸå®æœçµæã確èªããããšãã§ããŸãã ãã¬ããŒããããŠã³ããŒãããã¿ã³ãæŒäžãããšã¬ããŒããåºåãããŸããã¬ããŒãã®è©³çްã«ã€ããŠã¯ãåŸã®ç« ã§ãŸãšããŠç޹ä»ããããŸãã ã³ãŒãã¬ãã¥ãŒã®å®è¡ ããŒã ç»é¢ãããã³ãŒãã¬ãã¥ãŒãäœæããããæŒäžãã以äžã®é
ç®ãèšå®ããŠããäœæããããã¿ã³ãæŒäžããŸãã ãœãŒã¹ïŒã³ãŒããœãŒã¹ãéžæãä»åã¯å
ã»ã©èšå®ããGitHubãªããžããªãèšå® ãµãŒãã¹ããŒã«ïŒç®¡çè
ç»é¢ã§èšå®ãããµãŒãã¹ããŒã«ãéžæ CloudWatchãã°ã°ã«ãŒãïŒæªå
¥åã§èªåçæãããŸã èªåã³ãŒãä¿®æ£ïŒæå¹ã«ãããšã¬ãã¥ãŒçµæã«å¿ããŠPRãèªåäœæããŸã äœæããã³ãŒãã¬ãã¥ãŒãæŒäžããŸãã ãã¬ãã¥ãŒãéå§ããããã¿ã³ãæŒäžããã³ãŒãã¬ãã¥ãŒãéå§ããŸãã ãã ãããã«ããŠã³ããå·®åã³ãŒãã¬ãã¥ãŒãéžæå¯èœã§ãã2åç®ä»¥éãé »ç¹ã«åãå Žåã¯å·®åã¬ãã¥ãŒãæšå¥šããããšèããããŸããïŒæ¯åãã«ãªããžããªã¬ãã¥ãŒãå®è¡ãããšã³ã¹ãã«é¿ããŠããæ³å®ïŒ ã³ã³ãœãŒã«ããçµæã確èªããããšãã§ããŸãã ãã¬ããŒããçæããã¿ã³ãæŒäžãããšã¬ããŒããåºåãããŸããã¬ããŒãã®è©³çްã«ã€ããŠã¯ãåŸã®ç« ã§ãŸãšããŠç޹ä»ããããŸãã è
åšã¢ãã«ã®å®è¡ ããŒã ç»é¢ãããè
åšã¢ãã«ãäœæããããæŒäžãã以äžã®é
ç®ãèšå®ããŠããè
åšã¢ãã«ãäœæããããã¿ã³ãæŒäžããŸãã ãªããžããªïŒå
ã»ã©èšå®ããã³ãŒããœãŒã¹ãéžæ æ©èœä»æ§æžïŒããã¥ã¡ã³ããã¢ããããŒã ãµãŒãã¹ããŒã«ïŒç®¡çè
ç»é¢ã§äœæãããµãŒãã¹ããŒã«ãéžæ CloudWatchãã°ã°ã«ãŒãïŒæªå
¥åã§èªåçæãããŸã èšå®å®äºåŸããå®è¡ãéå§ããããã¿ã³ãæŒäžããŸãã å®è¡çµæã«ã€ããŠã¯ã³ã³ãœãŒã«ããååŸã§ããŸãã ãã¬ããŒããçæããã¿ã³ãæŒäžãããšã¬ããŒããåºåãããŸããã¬ããŒãã®è©³çްã«ã€ããŠã¯ãåŸã®ç« ã§ãŸãšããŠç޹ä»ããããŸãã ãããã¬ãŒã·ã§ã³ãã¹ãã®å®è¡ ããŒã ç»é¢ããããããã¬ãŒã·ã§ã³ãã¹ããäœæããããæŒäžãã以äžã®é
ç®ãèšå®ããŠããæ¬¡ãžããã¿ã³ãæŒäžããŸãã ã¿ãŒã²ãããé€å€å¯Ÿè±¡ã調æŽããããšã§ããã¹ãã¹ã³ãŒãã倧ãŸãã«èª¿æŽããããšãã§ããŸãã ã¿ãŒã²ããURLïŒæ€èšŒæžã¿ã®ãã¡ã€ã³ãããšã«URLãå
¥å ãªã¹ã¯ã¿ã€ããé€å€ããïŒãã¹ãã§æ€èšŒããªããŠãããé
ç®ãéžæãé€å€å¯èœ ç¯å²å€ã®URLïŒãã¹ãã§ã¢ã¯ã»ã¹ããŠã»ãããªãURLãå
¥åïŒå€éšAPIãæ±ºæžåŠçãããŒã¿ã®åé€ã»æŽæ°ãªã©ã®å¯äœçšã䌎ããšã³ããã€ã³ãçïŒ ã¢ã¯ã»ã¹å¯èœãªURLïŒãã¹ãäžã«æ»æå¯Ÿè±¡ã§ã¯ãªãããã¢ã¯ã»ã¹ãèš±å¯ããURLãå
¥å ã«ã¹ã¿ã HTTPãããïŒéçãªãããã®ããŒãšå€ãèšå®ïŒåçãªèšå®ããããå Žåã¯ã以éã®æé ã§å¯Ÿå¿ïŒ ãµãŒãã¹ããŒã« CloudWatchãã°ã°ã«ãŒã VPCãªãœãŒã¹ã®èšå®ç»é¢ã«é·ç§»ããŸãããä»åã¯èšå®é
ç®ããªããããæ¬¡ãžããã¿ã³ãæŒããŠã¹ãããããŸãã 管çè
ç»é¢ã§èšå®ããŠããå Žåã¯ãVPCããµãããããã»ãã¥ãªãã£ã°ã«ãŒããèšå®å¯èœã§ãã èªèšŒãªãœãŒã¹ã®èšå®ç»é¢ã«é·ç§»ããŸãããä»åã¯èšå®é
ç®ããªããããæ¬¡ãžããã¿ã³ãæŒããŠã¹ãããããŸãã èªèšŒæ
å ±ã«ã€ããŠã¯ã·ãŒã¯ã¬ãããŸãã¯å¹³æã§ã®éçæ
å ±ãå
¥åå¯èœãªã»ãããšãŒãžã§ã³ãã¹ããŒã¹ã®ãã°ã€ã³ããã³ããã«åçãªèªèšŒæ¹æ³ã«é¢ããèšèŒãããããšã§ãåçãªèªèšŒã«ã察å¿ã§ããŸãã å®éã«ãåçã«ããŒã¯ã³ãçæããŠã«ã¹ã¿ã ãããã«èŒããå¿
èŠãããã¢ããªã§åäœã確èªã§ããŸããã ãã®ä»ã®èšå®ç»é¢ã«ãããŠã以äžãèšå®ããããããã¬ãŒã·ã§ã³ãã¹ãã¢ãã«ãäœæããããã¿ã³ãæŒäžããŸãã ãªãœãŒã¹ïŒã³ãŒããœãŒã¹ãªã©ãèšå® èªåã³ãŒãä¿®æ£ïŒæå¹åãããšãããã¬ãŒã·ã§ã³ãã¹ãã®çµæã«å¿ããŠPRãèªåäœæ æ€åºçµæã®ããŒãœãã©ã€ãŒãŒã·ã§ã³ïŒ ãªã³ãªãã§ã®å·®åæªç¢ºèª ïŒ ãªãœãŒã¹ãå¯èœãªéãã¯ãªãŒã³ã¢ããïŒ ãªã³ãªãã§ã®å·®åæªç¢ºèª ïŒ äœæåŸããå®è¡ãéå§ããããã¿ã³ãæŒããŸãã å®è¡çµæã«ã€ããŠã¯ã³ã³ãœãŒã«ããååŸã§ããŸãã ãã¹ãã®ååŸçµææ°ãå°ãªãã®ã¯ãå®è¡äžã«è£åŽã§åŒã³åºããŠããBedrockã®ååšã«æ°ã¥ããã³ã¹ãæžå¿µã®ããéäžã§äžæ¢ããããã§ãã ã¬ããŒãã®ç¢ºèª ãã¶ã€ã³ã¬ãã¥ãŒ ãã¶ã€ã³ã¬ãã¥ãŒã«ã€ããŠã¯ããã¬ããŒããããŠã³ããŒããããCSV圢åŒã§ã¬ããŒããååŸã§ããŸãã ãã¶ã€ã³ã¬ãã¥ãŒã¯æåã§ãã¡ã€ã«ãèªã¿èŸŒãŸãã圢åŒã§èªåä¿®æ£çããªãããããã®CSVãæå
ã®AIãšãŒãžã§ã³ãã«èªã¿èŸŒãŸããŠä¿®æ£ããããšãæ³å®ããŠããŸãã è
åšã¢ãã« è
åšã¢ãã«ã®å Žåã¯ããã¬ããŒããçæããã¿ã³ãæŒäžãããšãã¬ããŒããPDF圢åŒã§ååŸããããšãã§ããŸãã äœè£ïŒæç²ïŒ æ§æ Introduction è
åšã¢ãã«ã®å¯Ÿè±¡ã宿œæ¥ãæ€åºãããè
åšä»¶æ°ãé倧床ã®å
èš³ System Overview 察象ã·ã¹ãã ã®ç®çãæ©èœãã¢ãŒããã¯ãã£ãäž»èŠã³ã³ããŒãã³ãã®èª¬æ Configuration è
åšã¢ãã«ã«äœ¿çšããã¹ã³ãŒãææžã飿ºãªããžããªãS3ãœãŒã¹ãããã¥ã¡ã³ããªã©ã®èšå®æ
å ± Threats å®éã«æ€åºãããè
åšã·ããªãªã®äžèЧ Detailed Threats åè
åšã·ããªãªã«å¯Ÿããæ»æè
ãæ»æãæç«ããããã®åææ¡ä»¶ãå
·äœçãªæ»ææ¹æ³ãæ»ææåæã®åœ±é¿ãè
åšã®æ ¹æ ãè
åšã®å€æã«çŽã¥ãæ§æç®æ System Overviewç« ã§ã¯èšèšæžãã³ãŒããããã¢ããªã®æ§æã«é¢ããæŽå¯ãããªã现ããèšèŒãããŠãããã»ãã¥ãªãã£äžã®ãªã¹ã¯ãå€è§çã«ææ¡ããäžã§éåžžã«æçšã§ãããšæããŸãã ã³ãŒãã¬ãã¥ãŒã»ãããã¬ãŒã·ã§ã³ãã¹ã åæ§ã«ãã³ãŒãã¬ãã¥ãŒããããã¬ãŒã·ã§ã³ãã¹ãã®å Žåã¯ããã¬ããŒããçæããã¿ã³ãæŒäžãããšãã¬ããŒããPDF圢åŒã§ååŸããããšãã§ããŸãã äœè£ïŒæç²ïŒ æ§æ Report Filters Applied ãã®ã¬ããŒãã«å«ãããªã¹ã¯ã¬ãã«ãä¿¡é ŒåºŠãã¹ããŒã¿ã¹ãªã©ã®æœåºæ¡ä»¶ Executive Summary ãã¹ã察象ã宿œæ¥ãæ€åºãããè匱æ§ä»¶æ°ãé倧床ã®å
èš³ Scope ãããã¬ãŒã·ã§ã³ãã¹ãïŒå¯Ÿè±¡URLã察象å€URLãå©çšããèªèšŒæ
å ± ã³ãŒãã¬ãã¥ãŒïŒå¯Ÿè±¡ãªããžããªãS3ãã±ãã Methodology AWS Security Agent ãã©ã®ãããªæµãã»èгç¹ã§ãã¹ãã宿œãããã®èª¬æ ãããã¬ãŒã·ã§ã³ãã¹ãã®å Žåã¯ã衚圢åŒã§XSSãSQL InjectionãSSRFãPath Traversalãªã©ãå®éã«å®æœããããã¹ãé
ç®ã®äžèЧãèšèŒ Findings å®éã«æ€åºãããã»ãã¥ãªãã£ææã®äžèЧ Detailed Findings åã»ãã¥ãªãã£ææã«å¯ŸãããæŠèŠãåçŸæé ã CVSSïŒCommon Vulnerability Scoring SystemïŒè©äŸ¡ ã®æ ¹æ ãæšå¥šä¿®æ£æ¹éãä¿®æ£å¯Ÿå¿PR ãããã¬ãŒã·ã§ã³ãã¹ãã®çµæã«ãããMethodologyç« ã§ã¯ãäŸãã°ç§ã®ãµãŒãã¹ã§ã¯ããã¯ãšã³ãã«DynamoDBãSQLã䜿çšããŠããç¹ããããããã®èŠçŽ ãçªããããªæ»æã宿œããæšãèšèŒãããŠããŸãããããã¯ãåŠç¿ãªãœãŒã¹ãšããŠGitHubãªããžããªãäžããããã«ãIaCã§ç®¡çããŠãããªãœãŒã¹ãã¢ããªã±ãŒã·ã§ã³ããžãã¯ãç·åããŠæ»ææ¹æ³ãæ€èšããŠããããšã確èªã§ããŸããã ãŸãã«ã AWS Security Agent ã®ãªã³ããã³ããããã¬ãŒã·ã§ã³ãã¹ãã®äžè¬æäŸãéå§ ã§ç޹ä»ãããŠãããããªã ã¢ããªã±ãŒã·ã§ã³ã³ã³ããã¹ãã远å ããŠç²ŸåºŠãšæ€åºã®æ·±åºŠãåäž ããããšããé¢ãèŠãããã®ã§ã¯ãªãããšæããŸãã ãŸããä»åã¯ã³ãŒãã¬ãã¥ãŒãšãããã¬ãŒã·ã§ã³ãã¹ãã®éã«ãªããžããªãžã®ä¿®æ£PRãèš±å¯ããŠããããšãããèªåã§PRãç«ãŠãŠããŸããã 宿œçç±ãã倿Žå
容ããµããªãŸã§ãç°¡æœã«ãŸãšããããŠããããšãããããŸããã³ãŒãã®è³ªã«é¢ããŠã¯ãä»åã¯ãããŸã§è€éãªã¢ããªã§ã¯ãªãããšããããç¹ã«æ°ã«ãªãç¹ã¯ãªãã£ããšæããŸããããã²çããã®äœ¿çšæã«ç¢ºèªããŠããã ããã°ãšæããŸãã CI/CDãžã®çµã¿èŸŒã¿ AWS Security Agent ã¯ãCodePipeline çã® CI/CD ã宿çãªç®¡çã¿ã¹ã¯ãšããŠå®è¡ãããããšãå¯èœã§ã AWS CLI / API çµç±ã§ãžã§ããèµ·åã§ããŸãã ä»åã¯ãGitHub Actions ã§ã®äœ¿çšã€ã¡ãŒãžãèšèŒããŸãã以äžã¯ããã¶ã€ã³ã¬ãã¥ãŒã»ã³ãŒãã¬ãã¥ãŒã»ãããã¬ãŒã·ã§ã³ãã¹ããã倧ãŸãã« GitHub Actions ã«çµã¿èŸŒãã å Žåã®ã€ã¡ãŒãžã§ãã ã¿ã€ãã³ã° å®è¡ãããã® æ§è³ª develop ããŒãž ãªããžããªå
šäœã®ã³ãŒãã¬ãã¥ãŒ 軜éã»äœã³ã¹ãã»é«é »åºŠ main ããŒãž stg ãžåæ ïŒãã¹ãã¯äŒŽããªããããã€ããªã¬ãŒïŒ â stg ãããã€å®äºåŸ 軜éãã³ãã¹ãïŒå¯Ÿè±¡ãçµãïŒ äžã³ã¹ãã»äžé »åºŠ ãªãªãŒã¹æ / 宿 ãã«ã¹ã³ãŒãã®ãã³ãã¹ã é«ã³ã¹ãã»äœé »åºŠ èšèšããã¥ã¡ã³ãæŽæ°æ ãã¶ã€ã³ã¬ãã¥ãŒ éæ CLIã³ãã³ãã®åºæ¬æ§é AWS Security Agent ã®åæ©èœã¯ã以äžã®æµãã§å®è¡ããŸããAWS Security Agent é¢é£ãªãœãŒã¹ã¯ãããããã³ã³ãœãŒã«ãŸã㯠create ã³ãã³ãã§å®çŸ©ããŠãããCI/CD ããã¯ååãåºã« list-* ã³ãã³ãã§IDãååŸã start-*-job ã§èµ·åããã®ãåºæ¬ã§ãã æ©èœ èµ·åã³ãã³ã äž»ãªå¿
é åŒæ° ã³ãŒãã¬ãã¥ãŒ aws securityagent start-code-review-job --agent-space-id / --code-review-id ãããã¬ãŒã·ã§ã³ãã¹ã aws securityagent start-pentest-job --agent-space-id / --pentest-id ãã¶ã€ã³ã¬ãã¥ãŒïŒè
åšã¢ããªã³ã°ïŒ aws securityagent start-threat-model-job --agent-space-id / --threat-model-id äŸãã°ãããã¬ãŒã·ã§ã³ãã¹ãã®èµ·åã¯ãã³ã³ãœãŒã«ããèšå®ããå Žåã¯ååãå
ã«ä»¥äžã®ããã«ãªããŸããAgent Space ããã³ãã¹ãå®çŸ©ã®å®ID㯠list-* ç³»ã³ãã³ãã§ name / title ãæ¡ä»¶ã«ååŸãã start-pentest-job ã«æž¡ããŸãã $ AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text \ --region ap-northeast-1) $ PENTEST_ID=$(aws securityagent list-pentests \ --agent-space-id "$AGENT_SPACE_ID" \ --query "pentestSummaries[?title=='$PENTEST_NAME'].pentestId | [0]" \ --output text \ --region ap-northeast-1) $ aws securityagent start-pentest-job \ --agent-space-id "$AGENT_SPACE_ID" \ --pentest-id "$PENTEST_ID" \ --region ap-northeast-1 start-pentest-job 㯠pentestJobId ãš status ïŒ IN_PROGRESS / COMPLETED / FAILED ãªã©ïŒãè¿ããŸããçæéã§å®äºããã³ãŒãã¬ãã¥ãŒããã¶ã€ã³ã¬ãã¥ãŒã¯ããã® status ãããŒãªã³ã°ããŠå®äºãåŸ
ã€æ§æã«ã§ããŸããäžæ¹ãæ°æéãæ°åæéããããããã¬ãŒã·ã§ã³ãã¹ãã¯ãGitHub Actions ã®å®è¡æéå¶éïŒåŸè¿°ïŒã®éœåãããèµ·åã®ã¿è¡ãéåæããã¯æ§æãšããŸãã 以äžã§ã¯ãåãã§ãŒãºã§å®è¡ãã workflow ã® YAML ãã¡ã€ã«äŸã瀺ããŸãããªãããããã®äŸã Agent Space åãåãªãœãŒã¹åïŒ title ïŒãAWS èªèšŒæ
å ±ïŒOIDC ããŒã«çïŒã GitHub ã® Secrets / Variables ã«ç»é²ããŠããåæã§ãããªãœãŒã¹ ID 㯠workflow å
ã§ list-* ããåçã«è§£æ±ºãããããID èªäœã¯ Variables ã«æã¡ãŸããïŒã³ã³ãœãŒã«åŽã§åäœæãããå Žåã®è¿œåŸã楜ã«ãªããŸãïŒã å
±éïŒ AWS èªèšŒïŒOIDCïŒ å workflow ã§å
±éããŠäœ¿ããOIDC ã«ãã AWS èªèšŒéšåã®äŸã§ããé·æã®ã¢ã¯ã»ã¹ããŒã GitHub ã«ä¿åããããã§ãã¬ãŒã·ã§ã³ã§ããŒã«ãåŒãåããæ§æã«ããŠããŸãã permissions : id-token : write contents : read steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ap-northeast-1 develop ããŒãžæïŒ ã³ãŒãã¬ãã¥ãŒ develop ãžã® pushïŒããŒãžïŒãããªã¬ãŒã«ããªããžããªå
šäœã®ã³ãŒãã¬ãã¥ãŒãèµ·åããŸããé«é »åºŠã§åãããã軜éã»äœã³ã¹ããªã¬ãã¥ãŒãæ³å®ããŠããŸãã # .github/workflows/code-review.yml name : security-agent-code-review on : push : branches : [ develop ] permissions : id-token : write contents : read jobs : code-review : runs-on : ubuntu-latest env : AWS_REGION : ap-northeast-1 AGENT_SPACE_NAME : ${{ vars.AGENT_SPACE_NAME }} CODE_REVIEW_NAME : ${{ vars.CODE_REVIEW_NAME }} steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ${{ env.AWS_REGION }} - name : Resolve resource IDs id : resolve run : | AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text) CODE_REVIEW_ID=$(aws securityagent list-code-reviews \ --agent-space-id "$AGENT_SPACE_ID" \ --query "codeReviewSummaries[?title=='$CODE_REVIEW_NAME'].codeReviewId | [0]" \ --output text) if [ -z "$AGENT_SPACE_ID" ] || [ "$AGENT_SPACE_ID" = "None" ] \ || [ -z "$CODE_REVIEW_ID" ] || [ "$CODE_REVIEW_ID" = "None" ] ; then echo "Failed to resolve IDs: AGENT_SPACE_ID=$AGENT_SPACE_ID CODE_REVIEW_ID=$CODE_REVIEW_ID" exit 1 fi echo "agent_space_id=$AGENT_SPACE_ID" >> "$GITHUB_OUTPUT" echo "code_review_id=$CODE_REVIEW_ID" >> "$GITHUB_OUTPUT" - name : Start code review job id : start run : | JOB_ID=$(aws securityagent start-code-review-job \ --agent-space-id "${{ steps.resolve.outputs.agent_space_id }}" \ --code-review-id "${{ steps.resolve.outputs.code_review_id }}" \ --query 'codeReviewJobId' --output text) echo "job_id=$JOB_ID" >> "$GITHUB_OUTPUT" echo "Started code review job: $JOB_ID" - name : Wait for completion run : | JOB_ID="${{ steps.start.outputs.job_id }} " AGENT_SPACE_ID=" ${{ steps.resolve.outputs.agent_space_id }} " for i in $(seq 1 60); do STATUS=$(aws securityagent batch-get-code-review-jobs \ --agent-space-id "$AGENT_SPACE_ID" \ --code-review-job-ids "$JOB_ID" \ --query 'codeReviewJobs[0].status' --output text) echo "status=$STATUS" case "$STATUS" in COMPLETED) echo "Code review completed" ; exit 0 ;; FAILED|STOPPED) echo "Code review did not succeed: $STATUS" ; exit 1 ;; esac sleep 30 done echo "Timed out waiting for code review" ; exit 1 stg ãããã€å®äºåŸïŒ 軜éãã³ãã¹ãïŒDASTã»å¯Ÿè±¡ãçµãïŒ main ããŒãžåŸã® stg ãããã€å®äºãåããŠã察象ãçµã£ã軜éãªãããã¬ãŒã·ã§ã³ãã¹ããå®è¡ããŸãã ãããã¬ãŒã·ã§ã³ãã¹ãã¯æ°æéãæ°åæéãããå ŽåããããGitHub ãã¹ãã©ã³ããŒã® 1 ãžã§ãæå€§ 6 æéãšããå®è¡æéå¶éãè¶
ããæãããããŸãããã®ãããããã§ã¯ èµ·åã®ã¿ãè¡ããå®äºã¯åŸ
ããªãïŒéåæããã¯ïŒ æ§æãšããŸãããã¹ãã®é²æã»çµæã¯ãã³ã³ãœãŒã«ã EventBridge éç¥ãªã©ãžã§ãã®å€ã§ç¢ºèªããæ³å®ã§ãã # .github/workflows/pentest-light.yml name : security-agent-pentest-light on : workflow_run : workflows : [ "deploy-stg" ] # stg ããã〠workflow å types : [ completed ] permissions : id-token : write contents : read jobs : pentest-light : # ãããã€ãæåãããšãã ãå®è¡ if : ${{ github.event.workflow_run.conclusion == 'success' }} runs-on : ubuntu-latest env : AWS_REGION : ap-northeast-1 AGENT_SPACE_NAME : ${{ vars.AGENT_SPACE_NAME }} PENTEST_NAME : ${{ vars.PENTEST_NAME_LIGHT }} steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ${{ env.AWS_REGION }} - name : Resolve resource IDs id : resolve run : | AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text) PENTEST_ID=$(aws securityagent list-pentests \ --agent-space-id "$AGENT_SPACE_ID" \ --query "pentestSummaries[?title=='$PENTEST_NAME'].pentestId | [0]" \ --output text) if [ -z "$AGENT_SPACE_ID" ] || [ "$AGENT_SPACE_ID" = "None" ] \ || [ -z "$PENTEST_ID" ] || [ "$PENTEST_ID" = "None" ] ; then echo "Failed to resolve IDs: AGENT_SPACE_ID=$AGENT_SPACE_ID PENTEST_ID=$PENTEST_ID" exit 1 fi echo "agent_space_id=$AGENT_SPACE_ID" >> "$GITHUB_OUTPUT" echo "pentest_id=$PENTEST_ID" >> "$GITHUB_OUTPUT" - name : Start light pentest job (fire-and-forget) run : | JOB_ID=$(aws securityagent start-pentest-job \ --agent-space-id "${{ steps.resolve.outputs.agent_space_id }}" \ --pentest-id "${{ steps.resolve.outputs.pentest_id }}" \ --query 'pentestJobId' --output text) echo "Started light pentest job: $JOB_ID" echo "鲿ã»çµæã¯ã³ã³ãœãŒã«ãŸã㯠EventBridge éç¥ã§ç¢ºèªããŠãã ããã" ãªãªãŒã¹æ / å®æïŒ ãã«ã¹ã³ãŒãã®ãããã¬ãŒã·ã§ã³ãã¹ã ãªãªãŒã¹ã¿ã°ã® pushããŸãã¯å®æå®è¡ã§ãã«ã¹ã³ãŒãã®ãããã¬ãŒã·ã§ã³ãã¹ããèµ·åããŸããé«ã³ã¹ãã»äœé »åºŠã®æ ã§ãã ãããã¬ãŒã·ã§ã³ãã¹ãã¯æ°æéãæ°åæéãããå ŽåããããGitHub ãã¹ãã©ã³ããŒã® 1 ãžã§ãæå€§ 6 æéãšããå®è¡æéå¶éãè¶
ããæãããããŸãããã®ãããããã§ã¯ èµ·åã®ã¿ãè¡ããå®äºã¯åŸ
ããªãïŒéåæããã¯ïŒ æ§æãšããŸãããã¹ãã®é²æã»çµæã¯ãã³ã³ãœãŒã«ã EventBridge éç¥ãªã©ãžã§ãã®å€ã§ç¢ºèªããæ³å®ã§ãã # .github/workflows/pentest-full.yml name : security-agent-pentest-full on : push : tags : [ "v*" ] # ãªãªãŒã¹ã¿ã° schedule : - cron : "0 18 * * 0" # æ¯é±æ¥æ 18:00 UTCïŒ=ææ 3:00 JSTïŒã«å®æå®è¡ permissions : id-token : write contents : read jobs : pentest-full : runs-on : ubuntu-latest env : AWS_REGION : ap-northeast-1 AGENT_SPACE_NAME : ${{ vars.AGENT_SPACE_NAME }} PENTEST_NAME : ${{ vars.PENTEST_NAME_FULL }} steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ${{ env.AWS_REGION }} - name : Resolve resource IDs id : resolve run : | AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text) PENTEST_ID=$(aws securityagent list-pentests \ --agent-space-id "$AGENT_SPACE_ID" \ --query "pentestSummaries[?title=='$PENTEST_NAME'].pentestId | [0]" \ --output text) if [ -z "$AGENT_SPACE_ID" ] || [ "$AGENT_SPACE_ID" = "None" ] \ || [ -z "$PENTEST_ID" ] || [ "$PENTEST_ID" = "None" ] ; then echo "Failed to resolve IDs: AGENT_SPACE_ID=$AGENT_SPACE_ID PENTEST_ID=$PENTEST_ID" exit 1 fi echo "agent_space_id=$AGENT_SPACE_ID" >> "$GITHUB_OUTPUT" echo "pentest_id=$PENTEST_ID" >> "$GITHUB_OUTPUT" - name : Start full pentest job (fire-and-forget) run : | JOB_ID=$(aws securityagent start-pentest-job \ --agent-space-id "${{ steps.resolve.outputs.agent_space_id }}" \ --pentest-id "${{ steps.resolve.outputs.pentest_id }}" \ --query 'pentestJobId' --output text) echo "Started full pentest job: $JOB_ID" echo "é·æéãžã§ãã®ãããçµæã¯ã³ã³ãœãŒã«ãŸã㯠EventBridge éç¥ã§ç¢ºèªããŠãã ããã" èšèšããã¥ã¡ã³ãæŽæ°æïŒ ãã¶ã€ã³ã¬ãã¥ãŒïŒè
åšã¢ããªã³ã°ïŒ èšèšããã¥ã¡ã³ãïŒ docs/design/ é
äžãªã©ïŒã®æŽæ°ãããªã¬ãŒã«ããã¶ã€ã³ã¬ãã¥ãŒïŒè
åšã¢ããªã³ã°ïŒãèµ·åããŸããSTRIDE 圢åŒã§ã®è
åšã¢ãã«çæãæ³å®ããŠããŸãã # .github/workflows/design-review.yml name : security-agent-design-review on : push : paths : - "docs/design/**" # èšèšããã¥ã¡ã³ãã®æŽæ°æã®ã¿ permissions : id-token : write contents : read jobs : design-review : runs-on : ubuntu-latest env : AWS_REGION : ap-northeast-1 AGENT_SPACE_NAME : ${{ vars.AGENT_SPACE_NAME }} THREAT_MODEL_NAME : ${{ vars.THREAT_MODEL_NAME }} steps : - name : Configure AWS credentials (OIDC) uses : aws-actions/configure-aws-credentials@v4 with : role-to-assume : ${{ secrets.AWS_SECURITY_AGENT_ROLE_ARN }} aws-region : ${{ env.AWS_REGION }} - name : Resolve resource IDs id : resolve run : | AGENT_SPACE_ID=$(aws securityagent list-agent-spaces \ --query "agentSpaceSummaries[?name=='$AGENT_SPACE_NAME'].agentSpaceId | [0]" \ --output text) THREAT_MODEL_ID=$(aws securityagent list-threat-models \ --agent-space-id "$AGENT_SPACE_ID" \ --query "threatModelSummaries[?title=='$THREAT_MODEL_NAME'].threatModelId | [0]" \ --output text) if [ -z "$AGENT_SPACE_ID" ] || [ "$AGENT_SPACE_ID" = "None" ] \ || [ -z "$THREAT_MODEL_ID" ] || [ "$THREAT_MODEL_ID" = "None" ] ; then echo "Failed to resolve IDs: AGENT_SPACE_ID=$AGENT_SPACE_ID THREAT_MODEL_ID=$THREAT_MODEL_ID" exit 1 fi echo "agent_space_id=$AGENT_SPACE_ID" >> "$GITHUB_OUTPUT" echo "threat_model_id=$THREAT_MODEL_ID" >> "$GITHUB_OUTPUT" - name : Start threat model job id : start run : | JOB_ID=$(aws securityagent start-threat-model-job \ --agent-space-id "${{ steps.resolve.outputs.agent_space_id }}" \ --threat-model-id "${{ steps.resolve.outputs.threat_model_id }}" \ --query 'threatModelJobId' --output text) echo "job_id=$JOB_ID" >> "$GITHUB_OUTPUT" - name : Wait for completion run : | JOB_ID="${{ steps.start.outputs.job_id }} " AGENT_SPACE_ID=" ${{ steps.resolve.outputs.agent_space_id }} " for i in $(seq 1 60); do STATUS=$(aws securityagent batch-get-threat-model-jobs \ --agent-space-id "$AGENT_SPACE_ID" \ --threat-model-job-ids "$JOB_ID" \ --query 'threatModelJobs[0].status' --output text) echo "status=$STATUS" case "$STATUS" in COMPLETED) exit 0 ;; FAILED|STOPPED) echo "Threat model did not succeed: $STATUS" ; exit 1 ;; esac sleep 30 done echo "Timed out" ; exit 1 ãŸãšã æè¿ãã話é¡ã«æããDevOpsã«ã»ãã¥ãªãã£ãå ããæŠå¿µã DevSecOps ã«æ²¿ã£ãã¢ãã³ãªãµãŒãã¹ã ãšæããŸããã ä»åã®AWS Security Agentã§ã¯ã ã³ã³ãœãŒã«æäœã ãã§ãªãAPIçµç±ã§CICDã«åã蟌ããç¹ ã ã¬ãã¥ãŒããä¿®æ£ãŸã§ãAIã§äžæ¬ç®¡çã§ããç¹ ãããã« ã³ãŒãã¬ãã¥ãŒããããã¬ãŒã·ã§ã³ãã¹ãã«ãããŠå·®åã¬ãã¥ãŒãã¿ãŒã²ããURLã»é€å€é
ç®ã®èšå®ãªã©ã§ã¹ã³ãŒãã調æŽã§ããç¹ ããããã®DevSecOpsã®ã³ã³ã»ããã匷ãåæ ããŠããŸãã ãŸããåãªãå¹çåã«ãšã©ãŸãããããã¥ã¡ã³ããšããŠäººåãã«æ®ãææç©ãŸã§æŽåãããŠããç¹ãå
å®ããŠããŸãã äžæ¹ã§ãæžå¿µç¹ãšããŠã¯ä»¥äžã®3ç¹ãæããããŸãã ã³ã¹ã ïŒãã¬ãã¥ãŒäžã®æ©èœããããŸãããå®éã«CI/CDãžçµã¿èŸŒãã éã®æéã€ã¡ãŒãžãèªã¿ã«ããç¹ããšãŒãžã§ã³ããåå¥ã«æ§ç¯ããå Žåãšæ¯èŒãããéçšã³ã¹ãã»æ§èœãšã®ãã©ã³ã¹ã ç§å¿ããã¥ã¡ã³ãã®ç®¡ç ïŒç€Ÿå
ã®æ©å¯æ
å ±ãå人æ
å ±ãå«ãããã¥ã¡ã³ããã¯ã©ãŠãäžã«ã¢ããããŒãããããšã«ãªããããèŠä»¶ã«ãã£ãŠã¯æ
éãªå€æãå¿
èŠã ããŒã¿ã¯æ¢å®ã§AWSãããŒãžãããŒã«ããæå·åãããä»»æã§ã«ã¹ã¿ããŒãããŒãžãããŒïŒCMKïŒãæå®ããŠèªç€Ÿã§éµã管çããããšãå¯èœã§ãããä¿è·ã®ä»çµã¿ã¯çšæãããŠããããã®ãããæçµçã«ã¯èªç€Ÿã®ã»ãã¥ãªãã£èŠä»¶ã«ç
§ãããŠå€æããããšã«ãªãæ³å®ã ã¬ãã¥ãŒããã¹ãã®æ§èœ ïŒçŸåšã®æ€åºæ§èœãä»åŸã®äŒžã³ããã«ã€ããŠãã»ãã¥ãªãã£ãšã³ãžãã¢ã®èŠç¹ã§ã®ãæèŠããã²ãèãããããšæããŠããŸãã ãããã« æ¬èšäºã§ã¯ãAWS Security Agentã®æŠèŠã玹ä»ããŸãããä»åŸããæ©èœã®è¿œå ãæ€åºæ§èœãã®ãã®ã®ã¢ããã°ã¬ãŒããæåŸ
ãããŸãã ãã ããåœéœæ§ãå€ãã®ã§ã¯ãªãããšãã声ãèãããããæ€åºæ§èœã«ã€ããŠã¯å¥éãè©äŸ¡ã»æ¯èŒããŠã¿ãããšèããŠããŸãã ã粟èªããã ããããããšãããããŸããã äœè«ã«ãªããŸãããå
茩ãšè©±ããéã«æãã£ããããããã¬ãŒã·ã§ã³ãã¹ãã䞻軞ã«éçºãé²ããäžã§ãã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããã¹ããçè§£ãããããã«ãçµå±ã¯èšèšã¬ãã¥ãŒã»ã³ãŒãã¬ãã¥ãŒã»è
åšã¢ããªã³ã°ãå¿
èŠã«ãªããæ©èœãšããŠçµ±åãããŠãã£ãã®ã§ã¯ãªããããšããèŠæ¹ã«ã¯ãããªãçŽåŸã§ããŸããã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @sakae.katsuto ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ