ããã«ã¡ã¯ãäºæ¥éçºå®€ã®éäžè£èŒã§ãã æ¬èšäºã§ã¯ã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 ã§å·çãããŸãã ïŒ
éèITæ¬éšã®æ²³å²žã§ãã å
æ¥ãã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšã®å€§å²¡å¡ãããäž»å¬ããã25åååAWSååŒ·äŒ #3ãã«åå ããŠããŸãããæ¬ããã°ã§ã¯ããã®æ§åããå±ãããŸãã å»å¹Ž12æã«ã¹ã¿ãŒãããAWSå匷äŒãä»åã§3åç®ãä»åã¯åå äŒæ¥ã7瀟ãåå è
ã¯34åãšãªããã³ãã¥ããã£ã¯åãéããããšã«æ¡å€§ããŠããŸããAWSãåŠã¶åæãã¡ãäŒç€Ÿã®å£æ ¹ãè¶ããŠéãŸããææ°æè¡ã宿¡ä»¶ã®ç¥èŠãå
±æããå Žãžãšæé·ããŠããŸããã (ã㲠第1å 㚠第2å ã®èšäºãããããŠã芧ãã ããïŒ) éå¬èæ¯ ã€ãã³ãæŠèŠ ã€ãã³ãå
容 æ¯ãè¿ã æ°ã¥ã ãŸãšã éå¬èæ¯ ç¬¬2åå匷äŒåŸã«ãå瀟代衚(NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿æ ªåŒäŒç€Ÿã®äžç°è³¢åæ§ããã£ãããžã§ããæ ªåŒäŒç€Ÿã®éäœåº·å¹³æ§ãæ ªåŒäŒç€ŸOptiMaxã®é«æ©å
æ§)ãšæ¯ãè¿ããè¡ããŸããã(ä»åããç§ãéå¶åŽã§åå ãããŠããã ãããšã«ãªããŸãã) ã³ãã¥ããã£ã®ãããªã掻æ§åãšçºå±ã«åããæœçãšããŠããåå äŒæ¥ã®æ¡å€§ããšãæ°è»œã«è³ªåã§ããç°å¢ã¥ããããšãã£ãéšåãæããããå瀟代衚ãäžå¿ãšãªã£ãŠã瀟å€ã®æ¹ã
ã«åããåŒã³ãããè¡ã£ãŠããã ããŸããã ãã®çµæãåèš7瀟ã®çæ§ã«ãåå ããã ãããšãã§ããŸããïŒ ã€ãã³ãæŠèŠ é嬿¥æïŒ2026/6/26(é) éå¬å ŽæïŒé»éç·ç åå·æ¬ç€Ÿ éå¬åœ¢æ
ïŒãã€ããªãã(察é¢+ãªã³ã©ã€ã³) åå è
ïŒ34å åå äŒæ¥ïŒ NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿æ ªåŒäŒç€Ÿããã£ãããžã§ããæ ªåŒäŒç€Ÿã æ ªåŒäŒç€ŸOptiMax ãæ ªåŒäŒç€Ÿãã€ãããåŒç€Ÿãã»ã2瀟(é äžå) ã€ãã³ãå
容 å瀟ãã1åãã€(èš6å)ç»å£ããAWSã«é¢ä¿ããããŒãã§10åé+質ç5åãã€çºè¡šããŸãããåœæ¥ã®ã¢ãžã§ã³ãã¯ä»¥äžã®ãšããã§ãã æé å
容 æå± çºè¡šè
(æ¬ç§°ç¥) çºè¡šããŒã 19:00 éäŒ - - - 19:05 çºè¡š é»éç·ç è€ä»£ åœ©åž å®æ¡ä»¶ããåŠã¶VPCæ¥ç¶çµè·¯ã®éžæ 19:20 çºè¡š éå
¬é éå
¬é EventBridgeã®ã¢ã«ãŽãªãºã 19:35 çºè¡š OptiMax æµŠç° æµ·ç¿ ã€ã³ããã¯ã¹ãšOpenSearch Serverless 19:50 äŒæ© - - - 20:05 çºè¡š ãã£ãããžã§ãã éœè€ æš¹ AWSãšã³ãžãã¢ãç¥ã£ãŠããã¹ãéåã³ã³ãã¥ãŒã¿å¯Ÿçãéåæè¡ã«ããã¯ã©ãŠãã»ãã¥ãªãã£ã®æªæ¥ã 20:20 çºè¡š ãã€ãã 嶺山 éœå AWS MCP ãçšããAIé§åã€ã³ãã©æ§ç¯ã®å®è·µ 20:35 çºè¡š NECãœãªã¥ãŒã·ã§ã³ã€ãããŒã¿ åå ããã Durable functionsã§å®çŸããã¹ããŒããã«ã¯ãŒã¯ãã㌠20:50 éäŒ - - - æ¯ãè¿ã åçºè¡šã®å
容ãç°¡åã«ã玹ä»ã§ããã°ãšæããŸãã 1. 宿¡ä»¶ããåŠã¶VPCæ¥ç¶çµè·¯ã®éžæ VPCæ¥ç¶çµè·¯ã®éžæã«ã€ããŠãå®éã®æ¡ä»¶ã§åŸãããç¥èŠãããšã«è§£èª¬ããŠããã ããŸãããæ¹ããŠPrivateLinkãšTransit Gatewayã®ã¡ãªããã»ãã¡ãªããã䜿ãåããæŽçããè¯ãæ©äŒãšãªããŸããã 2.EventBridgeã®ã¢ã«ãŽãªãºã AWSãå
éšå®è£
ãå
¬éããŠããªãEventBridgeã«å¯Ÿãããã©ã®ãããªã¢ã«ãŽãªãºã ã§å€§éã€ãã³ããåŠçããŠããã®ããã仮説ããŒã¹ã§æãäžããçºè¡šã§ãããæ®æ®µã¯ãµãŒãã¹å©çšè
ãšããŠè§Šããã ãã®AWSããå
éšå®è£
ã®èŠç¹ããèå¯ããå
容ã§ãäŒå Žãããå€ãã®è³ªåãå¯ããããŠããŸããã 3.ã€ã³ããã¯ã¹ãšOpenSearch Serverless RAGãçšããæ€çŽ¢ç²ŸåºŠåäžã®ããã®ææ³ã®è§£èª¬ãšOpenSearch ServerlessãšRAGé¢é£ãµãŒãã¹ã®çµã¿åããããŠãŒã¹ã±ãŒã¹ããšã«ç޹ä»ããŠããã ããAIã¢ããªéçºã®åèã«ãªãç¥èŠãçãã ãããã§ããã 4. AWSãšã³ãžãã¢ãç¥ã£ãŠããã¹ãéåã³ã³ãã¥ãŒã¿å¯Ÿçãéåæè¡ã«ããã¯ã©ãŠãã»ãã¥ãªãã£ã®æªæ¥ã éåã³ã³ãã¥ãŒã¿ã®çºå±ã«ãããåŸæ¥ã®æå·åæè¡ã§ã¯å¯Ÿå¿ã§ããªããªãå¯èœæ§ããããšããã話ã§ãããèªåãèšå®ããæå·åæ¹åŒäžã€åã£ãŠããå Žåã«ãã£ãŠã¯éåã³ã³ãã¥ãŒã¿ã®ç»å Žã«ãã£ãŠè§£èªãããŠããŸããªã¹ã¯ããããšããããšãæ¹ããŠèªèãããããã»ãã¥ãªãã£ã«å¯Ÿããæèãåäžãããããšãã§ããŸããã 5.AWS MCP ãçšããAIé§åã€ã³ãã©æ§ç¯ã®å®è·µ AWSãæäŸããMCPã®åºç€çãªè§£èª¬ãšã¢ãŒããã¯ãã£ã®å®çŸäŸã玹ä»ããŠããã ããŸãããLLMã®ã¿ã§å®çµãããã¢ãããŒããšæ¯èŒããŠãLLMããMCPãåŒã³åºããŠWebãã§ããããä»çµã¿ãšã®éããªã©ãç¥ãããšãã§ããŸããã 6.Durable functionsã§å®çŸããã¹ããŒããã«ã¯ãŒã¯ãã㌠Lambdaã䜿ã£ãŠã¹ããŒããã«ã«é·æéå®è¡ãå®çŸããããã®ææ®µãšããŠDurable FunctionsãæŽ»çšããæ¹æ³ã«ã€ããŠç޹ä»ããŠããã ããŸãããAIã¯ãŒã¯ãããŒãè€éãªéåæåŠçãªã©ãæ§ã
ãªãŠãŒã¹ã±ãŒã¹ãžã®å¿çšå¯èœæ§ãèããããšãã§ããéåžžã«åŠã³ã®å€ãã»ãã·ã§ã³ãšãªããŸããã æ°ã¥ã ä»åã§3åç®ã®éå¬ãšãªããäŒç€Ÿéã®å£æ ¹ãè¶ãã亀æµãå®çããŠã質åããã£ã¹ã«ãã·ã§ã³ãäžæ®µãšæŽ»çºã«ãªããŸããã瀟å€ã®åæãšAWSãéããŠèªãåããã³ãã¥ããã£ããçå®ã«åœ¢ã«ãªãã€ã€ãããšå®æããŠããŸããåæã ããããäºçްãªçåãæ°å
Œããªãæãåãããšãã§ããäºãã«åºæ¿ãåããããšã§ããããªãåŠç¿ã®ã¢ãããŒã·ã§ã³ã¢ããã«ã€ãªããããšãæ¹ããŠæããŸããã ãŸãå匷äŒåŸã®æèŠªäŒã§ãããã¢ãããŒã·ã§ã³ãäžãã£ããããããŸã§AWSã«è§Šããããšã¯ãªãã£ããããããæ©ã«å匷ããããªã£ãããªã©ãšãã£ã声ãããã ãããšãŠãææçŸ©ãªæéã«ã§ããããšãå¬ããæããŸãã ãŸãšã ä»åã¯ã25åååAWSååŒ·äŒ #3ãã®æ§åããäŒãããŸãããæ¬¡åã¯9æããã«ç¬¬4åãéå¬ããäºå®ã§ãã ä»åŸãåŒãç¶ãã25ååæäž»äœã®éããå匷äŒã§ã¯ããã€ã€ããããå€ãã®äŒæ¥ã»åå è
ãå·»ã蟌ã¿ãªãããããè¯ãæéã«ã§ããããã«åŒãç¶ãæ¹åãéããŠãããããšæããŸãã ãåå ããã ããçæ§ãèª ã«ããããšãããããŸããïŒæ¬¡åããåå ãåŸ
ã¡ããŠãããŸãïŒ ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @kawagishi.ibuki ã¬ãã¥ãŒïŒ @kinjo.ryuki ïŒ Shodo ã§å·çãããŸãã ïŒ
ã¯ããã« ããã«ã¡ã¯ãã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšã®è€å·ïŒåïŒã§ãã æè¿ãããWebãµã€ãã§ ãèªå·±çœ²åèšŒææžã ã®äœ¿çšãæ€åºããã調æ»ããå
容ãèšäºã«ããŸãã çµè«ãšããŠã¯äžåã§ã¯ãªããŠãIPã¢ãã¬ã¹æå®ã§å
±æãã¹ãã£ã³ã°ç°å¢ã«ã¢ã¯ã»ã¹ããéã«è¡šç€ºãããèªå·±çœ²åèšŒææžã¯ã ã»ãã¥ãªãã£ç®çã§æå³çã«èšå®ããããããŒèšŒææž ã§ãããæ®æ®µããŸãç®ã«ããªãã§ããã .invalidãããã¬ãã«ãã¡ã€ã³ïŒTLDïŒ ã«ã€ããŠãæ¬èšäºå
ã§è§ŠããŸãã èæ¯ ãµã€ããŒã»ãã¥ãªãã£ã®äžã«ASMïŒAttack Surface ManagementïŒãšããåéããããŸããã€ã³ã¿ãŒãããã«å
¬éããŠããWebãµã€ãã代衚ãšããè³ç£ã¯ãæ
å ±çªåãã³ã³ãã³ãæ¹ãããªã©ãçãæ»æè
ãããã¢ã¯ã»ã¹ãããŠããŸããŸãããäžæ£äŸµå
¥çµè·¯ãšãªãããéšåãææ¡ã»ç®¡çããæŽ»åã§ããã€ã¡ãŒãžããããå
容ãšããŠã¯ãè匱æ§ããªããããŒã«ã䜿çšããŠå®æçã«ã¹ãã£ã³ããããè匱æ§ãæ€åºããå Žåã¯åªå
床ãªã©ãåæ¡ããŠå¯Ÿçãæã¡ãŸãã 代衚çãªãšããã§ã¯ã以äžã®ãããªè匱æ§ãæ€æ»ããŠããŸãã Webã¢ããªã±ãŒã·ã§ã³ã®è匱æ§ïŒXSSãªã©ïŒ äžèŠãªããŒãã®å
¬éïŒFTPãPOP3ïŒ è匱ãªããã«ãŠã§ã¢ã®å©çš èšŒææžèšå®ã®äžåïŒæå¹æéåããªã©ïŒ äžèšã®ãèšŒææžèšå®ã®äžåãã®äžç°ã§ãããWebãµã€ãã§ãèªå·±çœ²åèšŒææžã䜿çšããŠããããšããäºè±¡ãæ€åºãããã®ãçºç«¯ã§ããã ãããåœè©²Webãµã€ãã¯ãæ£èŠã®èªèšŒå±ïŒCAïŒããçºè¡ããããµãŒãèšŒææžã䜿çšããŠããã¯ãã§ã èªå·±çœ²åèšŒææžïŒSelf-Signed CertificateïŒ ã«ã¯å¿åœããããããŸããã§ããã 以åã瀟å
ã¡ã³ããŒã®ã¿ãå©çšãããµã€ãã§ActiveDirectoryã®èšŒææžãµãŒãã¹ã§çºè¡ãããã©ã€ããŒãCA眲åèšŒææžãçµã¿èŸŒãã ããšããããŸããçšé次第ã§ã¯æ£èŠCAãçºè¡ããèšŒææžã§ãªããŠãåé¡ãããŸããããä»å察象ãšãªã£ãŠããWebãµã€ãã¯ç€Ÿå€åãã§ãã®ã§çéãã¥ããã§ãã åæèª¿æ» ãã¡ã€ã³æå®ã§ã¢ã¯ã»ã¹ããå Žåã¯åé¡ãªããšããæ
å ±ããããŸããããŸãã¢ã¯ã»ã¹æ¹æ³ã«ããéããWebãã©ãŠã¶ã§ç¢ºèªãããšããã以äžã®ããã«æåãç°ãªãããšãããããŸãããïŒãã¡ã€ã³åã»IPã¢ãã¬ã¹ã¯æ¶ç©ºã®ãã®ã§ãïŒ ãã¡ã€ã³æå® https://example.com/ â â
åé¡ãªãïŒæ£åžžãªèšŒææžïŒWebç»é¢ãæ£åžžè¡šç€º IPã¢ãã¬ã¹æå® https://203.0.113.1:443/ â â åé¡ããïŒèªå·±çœ²åèšŒææžïŒãšã©ãŒè¡šç€ºããã®æ¥ç¶ã§ã¯ãã©ã€ãã·ãŒãä¿è·ãããŸããã ãã®çµæãããããµãŒãå
šäœã誀èšå®ãããŠããããã§ã¯ãªããããšãèŠããŠããŸãããå©çšè
ã¯éåžžã¯ãã¡ã€ã³æå®ã§ã¢ã¯ã»ã¹ããŸããããæ£åžžãªèšŒææžãååŸã§ããŠãããšèããããŸãã IPã¢ãã¬ã¹ãæå®ããŠã¢ã¯ã»ã¹ãããšåé¡ãèµ·ããŸãã ããŠã€ã³ãã©æ§æã確èªãããšãåœè©²Webãµã€ã㯠å
±æãã¹ãã£ã³ã°ç°å¢ ã䜿çšããŠããããšã倿ããŸããã å
±æãã¹ãã£ã³ã°ãšSNI å
±æãã¹ãã£ã³ã°ã§ã¯ã1ã€ã®IPã¢ãã¬ã¹ã«è€æ°ã®ãã¡ã€ã³ã察å¿ãããŠéçšããŸãã åäœããŠãããã¡ã€ã³ããšã«ãµãŒãèšŒææžã¯ç°ãªããã®ã䜿çšãããŸããHTTPSã§ã®ã¢ã¯ã»ã¹ãåãããšãã©ã®èšŒææžãè¿ãããèå¥ããå¿
èŠãããã SNIïŒServer Name IndicationïŒ ãšããä»çµã¿ãçšããŠããŸããSNIã§ã¯ãTLSéä¿¡ã®åææ®µéã§ã¯ã©ã€ã¢ã³ããã Client Hello ã¡ãã»ãŒãžãéãããã®äžã§ã©ã®ãã¡ã€ã³ã«æ¥ç¶ããããäŒããŸãã SNIãã / ãã¡ã€ã³æå®ã§ã®ã¢ã¯ã»ã¹ ãã¡ã€ã³æå®ã§ã¢ã¯ã»ã¹ããå Žåã¯ãSNIã§æ¥ç¶å
ãã¡ã€ã³ãèå¥ããŠã察å¿ãããµãŒãèšŒææžãè¿ããŸãã SNIãªã / IPã¢ãã¬ã¹æå®ã§ã®ã¢ã¯ã»ã¹ IPã¢ãã¬ã¹æå®ã§ã¢ã¯ã»ã¹ããå Žåã«ã¯ãSNIã«ãããã¡ã€ã³ãèå¥ã§ããªããããå
±æãã¹ãã£ã³ã°ãè¡ã£ãŠãããµãŒãã¯ããã©ã«ãã®èšŒææžãè¿ããŸããããã©ã«ãèšŒææžãšã¯èšã£ãŠããç°åžžãªã¢ã¯ã»ã¹ããããŠããæ±ããããŠãããå
容ãšããŠã¯ãšã©ãŒã瀺ããã®ãšãªããŸãã opensslã³ãã³ãã«ãããµãŒãèšŒææžã®ç¢ºèªæ¹æ³ å®éã®ãµãŒãèšŒææžã®å
容ã確èªããŠã¿ãŸãããWebãã©ãŠã¶ã§ãæŠèŠã¯åç
§ã§ããŸããã openssl ã³ãã³ãã§è©³çްã«ç¢ºèªã§ããŸããä»åã¯æè¿ãªAWSã®CloudShellã§ä»¥äžã®ããã«å®è¡ããŸããã ãã¡ã€ã³æå® openssl s_client -connect example.com:443 -servername example.com < /dev/null |\ openssl x509 -noout -text 现ããªèª¬æã¯çããŸãã s_client ã³ãã³ãã«ãããå®éã«ãµãŒãã«æ¥ç¶ããŸãã -servername ãªãã·ã§ã³ã§æ¥ç¶ãããã¡ã€ã³åãæç€ºããŠããŸãïŒãªãçŸåšäžè¬çãªããŒãžã§ã³ã§ã¯ã -servername ãªãã·ã§ã³ãçç¥ãããš -connect ã®ãã¡ã€ã³åãSNIã«äœ¿çšããããããåãçµæã«ãªããŸãïŒã åŸåã® x509 ã³ãã³ãã§ã¯èšŒææžã®ãã€ããªããããã¹ã圢åŒã§ãã¡ã€ã³äžèЧïŒSANïŒåŸè¿°ïŒãåãåºããŠããŸãã IPã¢ãã¬ã¹æå® openssl s_client -connect 203.0.113.1:443 < /dev/null |\ openssl x509 -noout -text ãã¡ãã§ã¯ -servername ãªãã·ã§ã³ãæå®ããŠããããå ã㊠-connect ãIPã¢ãã¬ã¹æå®ãšããŠãããããæ¥ç¶ãããã¡ã€ã³åãæç€ºãããŸããã åºåçµæã®ãã¡ãä»åã®èª¿æ»ã«é¢ããäž»èŠç¢ºèªãã€ã³ãã¯äžè¡šã®ãšããã§ãã é
ç® æå³ Subject (CN) èšŒææžã®å¯Ÿè±¡ Issuer (CN) çºè¡ããèªèšŒå± SANïŒSubject Alternative NameïŒ æå¹ãªãã¡ã€ã³äžèЧ ãµãŒãèšŒææžã®å
容æ¯èŒ åºåçµæããäž»èŠç¢ºèªãã€ã³ããæãåºããšä»¥äžã®ããã«ãªããŸããã ãã¡ã€ã³æå® Subject: CN=example.com Issuer=ïŒæ£èŠCAïŒ X509v3 Subject Alternative Name: DNS:example.com â â
æ£åžž æ£èŠã®èªèšŒå±ãçºè¡ããèšŒææžãSANïŒSubject Alternative NameïŒã®äžã«ãã¡ã€ã³example.comãèšèŒãããŠãã IPã¢ãã¬ã¹æå® Subject: CN=reject.invalid, O=Reject vhost (self-signed) Issuer: CN=reject.invalid, O=Reject vhost (self-signed) X509v3 Subject Alternative Name: ïŒè¡šç€ºãããªãïŒSANãã£ãŒã«ãèªäœãèšŒææžã«å«ãŸããŠããªãïŒ â â ãã¡ã€ã³äžäžèŽ self-signed ãšããã®ã§èªå·±çœ²åèšŒææžã§ãããSANããªãIssuer㯠reject.invalid reject.invalidã®æ£äœãšèªå·±çœ²åèšŒææž èªå·±çœ²åèšŒææžã®Issuerã«è¡šç€ºãããŠãã reject.invalid ãšã¯äœã§ããããã .invalidïŒRFC 6761ïŒå
ã¯RFC 2606ïŒã§äºçŽãããŠãããååšããªããããã¬ãã«ãã¡ã€ã³ã.invalidèªäœãšãµããã¡ã€ã³ã¯ãå®åšã®ãã¡ã€ã³åãšè¡çªããå¿é
ããªããç¡å¹ã§ããããšãæç¢º rejectïŒæåŠ ã€ãŸããã®èšŒææžã¯ ãæ£ãããã¡ã€ã³åã§ã¢ã¯ã»ã¹ããŠããªãããæåŠããã ããšã瀺ãããã®ãããŒèšŒææž ã§ãã DNSã¬ãžã¹ãã©ã¯.invalid TLDã«å«ãŸãããã¡ã€ã³ãç»é²ããŠã¯ãããªã決ãŸããšãªã£ãŠããŸããCAã«èšŒææžã®çºè¡ãäŸé ŒããŠãæåŠãããã§ããããããããŒèšŒææžãšããŠå
±æãã¹ãã£ã³ã°ç°å¢ãçæããèªå·±çœ²åèšŒææžã䜿ãã®ã¯èªç¶ã ãšåãåããŸããã äœè«ã§ããã example.com ã example.net ãRFC 6761ã«èšèŒãããŠããŸãã ããã©ã«ãèšŒææžã®èãæ¹ ãªãæ£ãããã¡ã€ã³åãäŒéããŠããªãå Žåã«Issuer: reject.invalid ã®ããã©ã«ãèšŒææžãè¿ããã®ã§ãããããããããã®ãã¡ã€ã³ã®èšŒææžïŒåœèšäºã®äŸã§ã¯example.comïŒãè¿ãããšãã§ãããã«æããŸãã ããã«ã€ããŠã¯ãããã©ã«ãèšŒææžãšããŠæ£èŠã®èšŒææžãè¿ããŠããŸããšãIPã¢ãã¬ã¹çŽæ¥æå®ã§ãèšŒææžãååŸå¯èœãšãªããèšŒææžæ
å ±ïŒSANãªã©ïŒãå€éšã«é²åºãããããªãããšãæžå¿µãããŸããçµæãšããŠæ»æè
ã«ããã¹ãã£ã³ã調æ»ãèªåŒããããšã«ãªããŸãã äžæ¹ã§ reject.invalid ã®èšŒææžãè¿ãããšã¯ãSNIåæã®èšèšååã«æ²¿ã£ãŠããŸãããäžæ£ã¢ã¯ã»ã¹ãæç€ºçã«æåŠããããšã§äžèŠãªæ
å ±é²åºãé²ã广ããããŸããäžèŠãèšå®ãã¹ã®ããã§ããããŸããããæ£ãããã¹ãåã§ã¢ã¯ã»ã¹ããŠãã ããããšãããµãŒãããã®æç¢ºãªææè¡šç€ºãšãèšããæå³çãªèšèšã ãšèããããŸãã ãªãããã®æåã«ãã£ãŠæ»æãã®ãã®ãå®å
šã«é²ããããã§ã¯ãããŸãããIPã¢ãã¬ã¹ã«å¯Ÿå¿ãããã¡ã€ã³åã¯åçš®ææ³ã§ç¹å®å¯èœã§ãããããæå³çãªæ»æè
ã¯ãã¡ã€ã³åãæå®ããŠã¢ã¯ã»ã¹ããããšãã§ããŸãããããŸã§è»œæžçã§ãã ãŸãšã ä»åã®èª¿æ»ã§ã¯ä»¥äžã®ãã€ã³ãã倿ããŸããã å
±æãã¹ãã£ã³ã°ç°å¢ã§ã¯SNIïŒServer Name IndicationïŒã«ãããã¯ã©ã€ã¢ã³ããæç€ºãããã¡ã€ã³ã«å¯Ÿå¿ãããµãŒãèšŒææžãè¿ããã IPã¢ãã¬ã¹æå®ã§ã¢ã¯ã»ã¹ããéã¯ããã¡ã€ã³æå®ããªãããæåŠã瀺ãããã©ã«ãèšŒææžïŒèªå·±çœ²åèšŒææžïŒãè¿ããã ããã©ã«ãèšŒææžã®Issuer: reject.invalid ã¯èª€èšå®ã§ã¯ãªããé²åŸ¡çèšèšãšèãããã äžå
·åãã®ããã«èŠããæåã§ããå®éã«ã¯ã»ãã¥ãªãã£èšèšäžã®æå³ã§ããã±ãŒã¹ããããèæ¯ãçè§£ããŠå€æããããšãéèŠã ãšèãããããã調æ»çµæã§ãããå¿åœããã®ãªãèªå·±çœ²åèšŒææžã«ã€ããŠèª¿æ»ããéã«åèã«ããŠãã ããã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã å·çïŒ @jiffy ã¬ãã¥ãŒïŒ @nagamatsu.yuji ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ãã¯ãã¹ã€ãããŒã·ã§ã³æ¬éš AIããŒã¿ãã¯ãããžãŒãŠããã AIãã©ã³ã¹ãã©ãŒã¡ãŒã·ã§ã³ã»ã³ã¿ãŒã®éæš å°äººã§ãã æ¬èšäºã§ã¯ãSOPS ãå©çšããŠããŒã éçºã®ç°å¢å€æ°ç®¡çãæšæºåããæ¹æ³ã玹ä»ããŸãã ã¯ããã« ããŒã éçºã§ .env ã䜿ã£ãŠãããšã次ã®ãããªéçšã«ãªããã¡ã§ãã .env ã®å®éã®å€ã Slack ã Teams ã§å
±æãã æ°èŠã¡ã³ããŒãå
¥ããã³ã«ã誰ãã .env ãæäœæ¥ã§æž¡ã .env.example ã¯ããããå®éã®å€ãšã¯ãããŠãã ã©ã®å€ãææ°ãªã®ãããããªã ç§å¯æ
å ±ãšããã§ãªãå€ãæ··ãã£ãŠãã .env ã誀ã£ãŠ Git ã«ã³ãããããŠããŸã ããã§ä»åã¯ã SOPS + Azure Key Vault + mise ã䜿ã£ãŠãæå·åããã .env ã Git 管çã§ããããã«ããŸãã ãã®èšäºã§ç޹ä»ããã®ã¯ã次ã®ãããªæé ã§ã®ç°å¢å€æ°ã®ç®¡çæ¹æ³ã§ãã SOPS ã§ .env 圢åŒã®ãã¡ã€ã«ãæå·åãã Azure Key Vault ã® Key ã SOPS ã®æå·åã»åŸ©å·ã«äœ¿ã mise ã§ sops ãš azure-cli ãå°å
¥ãã mise task ã§ .env ã®åŸ©å·ã»çæã³ãã³ããæšæºåãã ãã®èšäºã®ååã§ã¯ããŸã SOPS ãå©çšããŠæå·åãããç°å¢å€æ°ãäœæããŸãã ãã®åŸãmise task ã䜿ã£ãŠ .env ã®çææé ãæšæºåããŸãã æ¬èšäºã§ç޹ä»ãããããžã§ã¯ãã§æ³å®ããŠããæå°ã®æ§æã¯ä»¥äžã§ãã Existing Git Repository âââ .env.sops.env # SOPSã§æå·åããã.envãGit管çãã âââ .env # 埩å·ããŠçæãã.envãGit管çããªã âââ .sops.yaml # SOPSã®æå·åèšå®ãGit管çãã âââ mise.toml # ããŒã«ãšã¿ã¹ã¯å®çŸ©ãGit管çãã Azure Key Vault âââ Key Vault Key # SOPSã®æå·åã»åŸ©å·ã«äœ¿ãéµ SOPS ãšã¯ SOPS ã¯ãYAMLãJSONãENVãINI ãªã©ã®ãã¡ã€ã«ãæå·åããŠç®¡çããããã®ããŒã«ã§ãã å
¬åŒããã¥ã¡ã³ãïŒ https://getsops.io/docs/ GitHub ãªããžããªïŒ https://github.com/getsops/sops äžè¬çãªæå·åããŒã«ãšéãããã¡ã€ã«å
šäœãåçŽã«ãã€ããªåããã®ã§ã¯ãªããèšå®ãã¡ã€ã«ãšããŠæ±ããããåœ¢ã§æå·åã§ããŸãã äŸãã° .env 圢åŒã®ãã¡ã€ã«ã§ããã°ãæå·ååŸãããŒåã¯èªããç¶æ
ã«ãã€ã€ãå€ã ããæå·åã§ããŸãã 䌌ãéžæè¢ãšããŠã¯ãAzure Key Vault Secret ã«ç°å¢å€æ°ã1ã€ãã€ä¿åããæ¹æ³ã .env.example ã§é
ç®ã ãå
±æããæ¹æ³ã .env ãã¡ã€ã«ã®æå·åã«ç¹åããããŒã«ãšã㊠dotenvx ããããŸãã dotenvx ã¯ãæ¢åã® .env éçšã«è¿ãåœ¢ã§æå·åããã .env ãã¡ã€ã«ãæ±ããããã .env ãäžå¿ã«ã·ã³ãã«ã«ç®¡çãããå Žåã¯æåãªéžæè¢ã§ãã äžæ¹ãä»åã®æ§æã§ã¯ Azure Key Vault ã® Key ã䜿ã£ãŠåŸ©å·æš©éã Azure åŽã§å¶åŸ¡ãããã£ããããSOPS ãæ¡çšããŠããŸãã SOPS 㯠.env ã ãã§ãªã YAMLãJSONãINI ãªã©è€æ°ã®èšå®ãã¡ã€ã«åœ¢åŒãæ±ãããããç°å¢å€æ°ä»¥å€ã®èšå®ãã¡ã€ã«ç®¡çã«ãåºããããç¹ãã¡ãªããã§ãã æå·ååã® .env ãæ¬¡ã®ãããªå
容ã ã£ããšããŸãã DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret SOPS ã§æå·åãããšã次ã®ãããªãã¡ã€ã«ã«ãªããŸãã DATABASE_URL=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] API_TOKEN=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] JWT_SECRET=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] ãã®ç¶æ
ãªããæå·åããã .env ãã¡ã€ã«ã Git 管çã§ããŸãã å€ã¯æå·åãããŠããããããªããžããªã«çœ®ããŠãå¹³æã® secret ã¯èŠããŸããã Azure Key Vault ã¯äœã«äœ¿ãã®ã ä»åãAzure Key Vault ã¯ãç°å¢å€æ°ãã®ãã®ã®ä¿åå
ã§ã¯ãªããSOPS ãããŒã¿ããŒãä¿è·ããããã® Key Vault Key ã®ç®¡çåºç€ãšããŠäœ¿ããŸãã Azure Key Vault ã§ã¯ãäž»ã«æ¬¡ã®3çš®é¡ã®ãªããžã§ã¯ãã管çã§ããŸãã Key Secret Certificate ãã®ãã¡ãä»å䜿ãã®ã¯ Secret ã§ã¯ãªã Key ã§ãã ç°å¢å€æ°ã Azure Key Vault Secret ã«1ã€ãã€ä¿åããæ§æã§ã¯ãããŸããã SOPS ãæå·åã»åŸ©å·ã«äœ¿ãéµããAzure Key Vault Key ãšããŠç®¡çããŸãã Azure Key Vault âââ Key âââ SOPSã.env.sops.envãæå·åã»åŸ©å·ããããã«äœ¿ã SOPS ã¯ããã¡ã€ã«æ¬äœã®å€ãæå·åãããã®æå·åã»åŸ©å·ã«å¿
èŠãªæ
å ±ããã¡ã€ã«å
ã«ä¿æããŸãã ãã ãããã®åŸ©å·ã«ã¯ Azure Key Vault Key ãžã®ã¢ã¯ã»ã¹æš©ãå¿
èŠã§ãã ãã®ãããæ¬¡ã®ãããªç®¡çãã§ããŸãã Git ã«ã¯æå·åæžã¿ã® .env.sops.env ãé
眮ãã 埩å·ã§ãã人㯠Azure Key Vault ã®æš©éã§å¶åŸ¡ãã ãã£ããã§ .env ã®å¹³æãå
±æããªã ã¡ã³ããŒè¿œå ã»åé€æã¯ Azure åŽã®æš©éãèŠçŽã ãããããã®æ§æã®éèŠãªãã€ã³ãã§ãã mise ãšã¯ mise ã¯ããããžã§ã¯ãã§äœ¿ã CLI ããŒã«ã®ããŒãžã§ã³ç®¡çããã¿ã¹ã¯å®çŸ©ããŸãšããŠæ±ããããŒã«ã§ãã SOPS ãš Azure CLI ãåã¡ã³ããŒãåå¥ã«ã€ã³ã¹ããŒã«ããŠãããã®æ§æã¯å®çŸã§ããŸãã ãã ããããã ãšæ¬¡ã®åé¡ãæ®ããŸãã SOPS ãã€ã³ã¹ããŒã«ãããŠããªã Azure CLI ãã€ã³ã¹ããŒã«ãããŠããªã ã¡ã³ããŒããšã«ããŒãžã§ã³ãç°ãªã .env ãçæããã³ãã³ããæ¯å説æããå¿
èŠããã mise ã䜿ããšããããžã§ã¯ãã«å¿
èŠãª CLI ããŒã«ãšã¿ã¹ã¯ã mise.toml ã«ãŸãšããããŸãã [tools] sops = "3.12.2" azure-cli = "2.84.0" ããããããžã§ã¯ãã«çœ®ããŠããã°ãã¡ã³ããŒã¯æ¬¡ã®ã³ãã³ãã§å¿
èŠãªããŒã«ãããããããŸãã mise install ããã«ã .env ãçæããåŠçã mise task ã«ã§ããŸãã mise run env:render ã€ãŸã mise ã䜿ãçç±ã¯ãåã«ããŒã«ãå
¥ãããããã§ã¯ãããŸããã ããŒã å
šå¡ãåãã³ãã³ãã§ãåãæé ãå®è¡ã§ããããã«ãããã ã§ãã ããããã¯ãmise ã®ã€ã³ã¹ããŒã«æé ãããAzure Key Vault ãš SOPS ã䜿ã£ãç°å¢å€æ°ã®ç®¡çæé ãŸã§ãé ã«ç޹ä»ããŸãã mise ãã€ã³ã¹ããŒã«ãã macOS ã§ã¯ Homebrew ã§ã€ã³ã¹ããŒã«ã§ããŸãã brew install mise zsh ã䜿ã£ãŠããå Žåã¯ãã·ã§ã«ã« mise ãæå¹åããèšå®ã远å ããŸãã echo 'eval "$(mise activate zsh)"' >> ~/.zshrc source ~/.zshrc ã€ã³ã¹ããŒã«ã§ããã確èªããŸãã mise --version macOS 以å€ã®ã€ã³ã¹ããŒã«æ¹æ³ã¯ãå
¬åŒããã¥ã¡ã³ããåç
§ããŠãã ããã https://mise.jdx.dev/getting-started.html mise.toml ã« sops ãš azure-cli ã远å ãã æ¢åãããžã§ã¯ãã®ã«ãŒãã« mise.toml ãçšæããŸãã ãã§ã« mise.toml ãããå Žåã¯ãæ¢åã® [tools] ã«è¿œèšããŠãã ããã [tools] sops = "3.12.2" azure-cli = "2.84.0" ã³ãã³ãã§è¿œå ããå Žåã¯ã以äžã®ããã«ããŸãã mise use sops@3.12.2 mise use azure-cli@2.84.0 ãã®åŸãããŒã«ãã€ã³ã¹ããŒã«ããŸãã mise install 確èªããŸãã sops --version az version Azure ã«ãã°ã€ã³ãã SOPS ã Azure Key Vault ã䜿ã£ãŠåŸ©å·ããã«ã¯ãããŒã«ã«ç«¯æ«ã Azure ã«èªèšŒæžã¿ã§ããå¿
èŠããããŸãã ãŸã Azure ã«ãã°ã€ã³ããŸãã az login çŸåšã®ãµãã¹ã¯ãªãã·ã§ã³ã確èªããŸãã az account show -o table å¿
èŠã§ããã°ãå©çšãããµãã¹ã¯ãªãã·ã§ã³ã«åãæ¿ããŸãã az account set --subscription "<subscription-id-or-name>" Azure Key Vault ãš Key ãäœæãã ãã§ã«ããŒã ã§å©çšããŠãã Key Vault ãããå Žåã¯ãæ¢åã® Key Vault ã« SOPS çšã® Key ã远å ããŠãæ§ããŸããã Key Vault ã®äœæ Azure Portal ããæäœããå Žåã¯ä»¥äžã®ããã«ãªããŸãã ãããç»é¢ããããŒã³ã³ãããŒãéžæããŸãã äœæãã¿ã³ãæŒäžããŠãããŒã³ã³ãããŒãäœæããŸãã åºæ¬ã¿ãã§ãªãœãŒã¹ã°ã«ãŒããšãªãŒãžã§ã³ãéžæããŸãã ã¢ã¯ã»ã¹å¶åŸ¡ã¿ãã§ã¯ãAzureããŒã«ããŒã¹ã®ã¢ã¯ã»ã¹å¶åŸ¡(RBAC)ããéžæããŠãã ããã ãããã¯ãŒã¯ã¿ãã§ã¯å¿
èŠã«å¿ããŠã¢ã¯ã»ã¹å¶åŸ¡ãèšå®ããŸãã ããã§ã¯ããã©ã«ãã®ããã¹ãŠã®ãããã¯ãŒã¯ããã®ã¢ã¯ã»ã¹ãèš±å¯ããããéžæããŸãã â»å®éçšã§ã¯èŠä»¶ã«åãããŠå¶éããŠãã ãããç¹ã«æ¬çª secret ã«é¢ãã Key Vault ã§ã¯ããããã¯ãŒã¯å¶éãå«ããèšèšãå¿
èŠã§ãã æåŸã«ç¢ºèªã¿ãã§èšå®ã確èªããäœæãã¿ã³ãæŒäžããŠããŒã³ã³ãããŒãäœæããŸãã Key Vault ã®ã¢ã¯ã»ã¹å¶åŸ¡ã§æš©éãä»äžãã æ¬¡ã«ãKey Vault ã® Key ã䜿ããããã«ãã¢ã¯ã»ã¹å¶åŸ¡ã§æš©éãä»äžããŸãã ã¢ã¯ã»ã¹å¶åŸ¡ïŒIAMïŒã¿ããéããããŒã«ã®å²ãåœãŠã远å ããŸãã Key Vault ã® Key ãäœæã»ç·šéãã管çè
ã«ã¯ãã㌠ã³ã³ãããŒæå·å責任è
ããå²ãåœãŠãŸãã äžæ¹ã§ãäžè¬çãªéçºã¡ã³ããŒãç°å¢å€æ°ã®æå·åã»åŸ©å·ã«å©çšããã ãã§ããã°ããã㌠ã³ã³ãããŒæå·åãŠãŒã¶ãŒããå²ãåœãŠãã®ãé©åã§ãã ããã§ã¯ãKey ãäœæããããã«ãã㌠ã³ã³ãããŒæå·å責任è
ãã®ããŒã«ãèªèº«ã«å²ãåœãŠãŸãã SOPS çšã® Key ã®äœæ [ãªããžã§ã¯ã > ããŒ] ã®ã¿ãããã+ çæ/ã€ã³ããŒãããæŒäžããŸãã ååã RSA ããŒãµã€ãºãéžæããŠãç°å¢å€æ°ãæå·åãã SOPS çšã® Key ãäœæããŸãã äœæãã Key ã® ID ãååŸããŸãã åºåäŸã¯ä»¥äžã®ãšããã§ãã https://kv-sops-xxxx.vault.azure.net/keys/sops-env-key/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ãã® Key ID ã SOPS ã®èšå®ã§äœ¿ããŸãã .sops.yaml ã远å ãã ãããžã§ã¯ãã«ãŒãã« .sops.yaml ã远å ããŸãã creation_rules : - path_regex : \.env\.sops\.env$ azure_keyvault : - https://kv-sops-xxxx.vault.azure.net/keys/sops-env-key/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ãã®èšå®ã«ããã .env.sops.env ãšããååã®ãã¡ã€ã«ã SOPS ã§äœæãããšãã«ãAzure Key Vault ã® Key ã䜿ãããŸãã æå·ååã® .env ãçšæãã ããã§ã¯ãæ¢åã® .env ãã secret ãå«ãå€ãæå·åããæ³å®ã§é²ããŸãã èšäºçšã®äŸã§ã¯ãããŒå€ã䜿ããŸãã .env.plain ãšããååã§ã次ã®ãããªå
容ãçšæããŸãã DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret SOPS ã§ .env ãæå·åãã .env.plain ã SOPS ã§æå·åãã .env.sops.env ãäœæããŸãã sops encrypt \ --filename-override .env.sops.env \ --input-type dotenv \ --output-type dotenv \ .env.plain > .env.sops.env æå·ååŸã®ãã¡ã€ã«ã確èªããŸãã cat .env.sops.env 次ã®ããã«å€ã ENC[...] 圢åŒã«ãªã£ãŠããã°æåã§ãã DATABASE_URL=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] API_TOKEN=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] JWT_SECRET=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] æå·ååã®äžæãã¡ã€ã«ã¯åé€ããŸãã rm .env.plain ãã®æç¹ã§ãGit 管çãã察象㯠.env.sops.env ã§ãã å¹³æã® .env ã .env.plain ã§ã¯ãããŸããã 埩å·ã㊠.env ãçæãã 埩å·ã§ããã確èªããŸãã sops decrypt .env.sops.env 以äžã®ãããªåºåãåŸãããã°æåã§ãã DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret åé¡ãªããã°ã .env ã«åºåããŸãã sops decrypt .env.sops.env > .env chmod 600 .env ããã§ã¢ããªã±ãŒã·ã§ã³ãèªã .env ãçæãããŸãã cat .env åºåäŸã¯ä»¥äžã®ãšããã§ãã DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret mise task ã§ .env çæãæšæºåãã æ¯å sops decrypt .env.sops.env > .env ãšå
¥åããã®ã¯æéã§ãã ããã§ã mise.toml ã«ã¿ã¹ã¯ã远å ããŸãã [tasks."env:render"] description = "Generate .env from encrypted env file" run = ''' set -euo pipefail sops decrypt .env.sops.env > .env chmod 600 .env echo "generated: .env" ''' [tasks."env:decrypt"] description = "Print decrypted env to stdout" run = "sops decrypt .env.sops.env" ããã§ãéçºè
ã¯æ¬¡ã®ã³ãã³ãã ãã§ .env ãçæã§ããŸãã mise run env:render 以äžã®ãããªåºåãåŸãããã°æåã§ãã % mise run env:render [env:render] $ sops decrypt .env.sops.env > .env generated: .env 埩å·çµæãæšæºåºåã§ç¢ºèªãããå Žåã¯ã次ã䜿ããŸãã mise run env:decrypt 以äžã®ãããªçµæãåŸãããã°æåã§ãã % mise run env:decrypt [env:decrypt] $ sops decrypt .env.sops.env DATABASE_URL=postgresql://demo_user:demo_password@localhost:5432/demo_db API_TOKEN=dummy-api-token JWT_SECRET=dummy-jwt-secret VSCode ã§æå·åããã .env ãç·šéãã æå·åæžã¿ãã¡ã€ã«ãç·šéããå Žåã¯ã sops edit ã䜿ããŸãã VSCode ã§ç·šéããå Žåã¯ã次ã®ããã«ããŸãã SOPS_EDITOR='code --wait' sops edit .env.sops.env å®è¡ãããš /var/folders/s7/86599dyd1g5clgw4f7l3d2840000gn/T/3982786129/.env.sops.env ã®ãããªäžæãã¡ã€ã«ã VSCode ã§éãããŸãã é©å®ç·šéããŠä¿åããåŸããã¡ã€ã«ãéãããš .env.sops.env ãåæå·åãããŸãã ããã mise task ã«ããŠãããšäŸ¿å©ã§ãã [tasks."env:edit"] description = "Edit encrypted env file with VSCode" run = "SOPS_EDITOR='code --wait' sops edit .env.sops.env" å®è¡ããŸãã mise run env:edit EMBEDDING_API_TOKEN ãªã©ã®å€ãé©å®æžãæããŠä¿åããVSCode ãéããŸãã .env.sops.env ãåã³æå·åãããç¶æ
ã§ä¿åãããã°æåã§ãã DATABASE_URL=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] API_TOKEN=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] EMBEDDING_API_TOKEN=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] JWT_SECRET=ENC[AES256_GCM,data:...,iv:...,tag:...,type:str] æçµç㪠mise.toml äŸ æå°æ§æã® mise.toml ã¯æ¬¡ã®ããã«ãªããŸãã [tools] sops = "3.12.2" azure-cli = "2.84.0" [tasks."env:render"] description = "Generate .env from encrypted env file" run = ''' set -euo pipefail sops decrypt .env.sops.env > .env chmod 600 .env echo "generated: .env" ''' [tasks."env:decrypt"] description = "Print decrypted env to stdout" run = "sops decrypt .env.sops.env" [tasks."env:edit"] description = "Edit encrypted env file with VSCode" run = "SOPS_EDITOR='code --wait' sops edit .env.sops.env" ãã®ãã¡ã€ã«ããããžã§ã¯ãã«çœ®ããŠããã°ãéçºè
ãèŠããã³ãã³ãã¯å°ãªããªããŸãã mise install mise run env:render æ°èŠã¡ã³ããŒãå
¥ã£ããšãã®æé æ°èŠã¡ã³ããŒãå
¥ã£ããšãã¯ãæ¬¡ã®æé ã§ã»ããã¢ããã§ããŸãã git clone <repository-url> cd <repository-name> mise install az login mise run env:render ãã¡ããããã㌠ã³ã³ãããŒæå·åãŠãŒã¶ãŒããªã©ã® Key Vault æš©éã¯äºåã«å¿
èŠã§ãã çºå±ïŒshared / secret / local ã«åãã å®éã®ããŒã éçšã§ã¯ããã¹ãŠã®å€ã1ã€ã® .env.sops.env ã«å
¥ãããããå€ã®æ§è³ªããšã«åããã»ããæ±ããããå ŽåããããŸãã äŸãã°ã次ã®ããã«åããŸãã .env.shared # ããŒã ã§å
±æããŠããéç§å¯æ
å ± .env.secret.sops.env # SOPSã§æå·åããç§å¯æ
å ± .env.local # å人çšã®äžæžãèšå® .env # æçµçã«çæããããã¡ã€ã« ãã®å Žåã®èãæ¹ã¯æ¬¡ã®éãã§ãã ãã¡ã€ã« Git管ç çšé .env.shared ãã ããŒã ã§å
±æããŠããéç§å¯æ
å ± .env.secret.sops.env ãã SOPSã§æå·åããç§å¯æ
å ± .env.local ããªã å人ã®ããŒã«ã«äžæžãèšå® .env ããªã ã¢ããªã±ãŒã·ã§ã³ãèªãçæç© ãã®æ§æã«ãããšã鿩坿
å ±ã®å·®åãèªã¿ããããªããŸãã äžæ¹ã§ããã¡ã€ã«ãå¢ãããããæå°æ§æããã¯éçšã«ãŒã«ãå¿
èŠã«ãªããŸãã äŸãã°ãmise task ã¯æ¬¡ã®ããã«ãªããŸãã [tasks."env:render"] description = "Generate .env from shared, encrypted secret, and local env files" run = ''' set -euo pipefail tmp_secret="$(mktemp)" cleanup() { rm -f "$tmp_secret" } trap cleanup EXIT sops decrypt .env.secret.sops.env > "$tmp_secret" { cat .env.shared printf "\n" cat "$tmp_secret" if [ -f .env.local ]; then printf "\n" cat .env.local fi } > .env chmod 600 .env echo "generated: .env" ''' ãŸãšã SOPS ã䜿ããšã .env 圢åŒã®ãã¡ã€ã«ãæå·åã㊠Git 管çã§ããŸãã Azure Key Vault ãçµã¿åãããããšã§ã埩å·ã§ãã人ã Azure åŽã®æš©éã§å¶åŸ¡ã§ããŸãã ããã« mise ã䜿ãããšã§ãSOPS ãš Azure CLI ã®å°å
¥ããã㊠.env ã®çæã³ãã³ããããŒã ã§ããããããŸãã æå°æ§æã¯æ¬¡ã®éãã§ãã .env.sops.env # æå·åããã.envãGit管çãã .env # 埩å·ããŠçæãã.envãGit管çããªã .sops.yaml # SOPSèšå® mise.toml # ããŒã«ãšã¿ã¹ã¯å®çŸ© éçºè
ãå®è¡ããã³ãã³ãã¯ãæçµçã«ã¯ããã ãã«ã§ããŸãã az login mise install mise run env:render ç°å¢å€æ°ã®ç®¡çã¯ããŒã éçºã«ãããŠéèŠãªèª²é¡ã§ãã ããéçºã«å
¥ããšã .env ã®å€ããã£ããã§å
±æããŠããŸã£ãããèª°ãææ°ã®å€ãæã£ãŠããã®ãããããªããªã£ããããŸãã ä»åã®æ§æã䜿ãããšã§ãGit 管çãš Azure Key Vault ã®æš©é管çãçµã¿åãããªãããããŒã ã§åãæé ã§ .env ãçæã§ããããã«ãªããŸãã åèè³æ SOPS ã®ããã¥ã¡ã³ã https://getsops.io/docs/ SOPS ã® GitHub ãªããžã㪠https://github.com/getsops/sops SOPS Azure KMS https://getsops.io/docs/usage/identities/azure-kms/ dotenvx Encryption https://dotenvx.com/docs/quickstart/encryption/ SOPS Config File https://getsops.io/docs/usage/identities/config-file/ mise ã®ã€ã³ã¹ããŒã«æ¹æ³ https://mise.jdx.dev/installing-mise.html å·çïŒ @aoki.naoto ã¬ãã¥ãŒïŒ @yamada.y ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ãäºæ¥éçºå®€ã®éäžè£èŒã§ãã æ¬èšäºã§ã¯ãLayerXãããšå
±åã§éå¬ãããAIãšãŒãžã§ã³ãèšèšååŒ·äŒ ãlong-runningã¿ã¹ã¯ã®èšèšãšå®è·µç¥ãã ã«ã€ããŠã¬ããŒãããŸãã å匷äŒã®æŠèŠ æ¬å匷äŒã¯ãLayerXãããšé»éç·ç ãå
±åã§éå¬ããŠãããAIãšãŒãžã§ã³ãã«é¢ãããšã³ãžãã¢åãã®å匷äŒã€ãã³ãã§ãããã®ç¬¬2åç®ãšããŠã2026幎05æ28æ¥ïŒæšïŒã«ãlong-runningã¿ã¹ã¯ã«é¢ããå匷äŒãéå¬ããŸããã çæAIã®å®å掻çšãåºãããªãã§ãAIãšãŒãžã§ã³ããã詊ããæ®µéãããæ¬çªéçšã«èŒãããæ®µéãžãšé²ããåããå¢ããŠããŸããäžæ¹ã§ãå®éã«ãããã¯ããæ¥åãžçµã¿èŸŒãããšãããšãåçºã®ã¿ã¹ã¯èªååãšã¯ç°ãªãèšèšè«ç¹ãæ°å€ãèŠããŠããŸããä»åã®å匷äŒã§ã¯ãLayerX ãšé»éç·ç ã®ãšã³ãžãã¢ãç»å£ããAIãšãŒãžã§ã³ããç¶ç¶çã«åããããã®èšèšã»å®è£
ã»éçšã®ç¥èŠãå
±æããŸããã äŒå Žã¯LayerXããã®ãªãã£ã¹ããåãããŠã40人çšåºŠã®æ¹ã«åå ããŠããã ããŸããã å匷äŒã®å
容ãšããŠã¯ä»¥äžã®ãšããã§ãã ã»æ ªåŒäŒç€ŸLayerXãæ©ç° å£®æãããïŒ ãlong-runningã¿ã¹ã¯ã®èšèšãšå®è·µç¥ã ã»æ ªåŒäŒç€Ÿé»éç·ç ãè¢Žç° æçãïŒ ãDeepResearchããããã¯ãã«çµã¿èŸŒãããã®ããŠããŠã ã»æèŠªäŒ long-runningã¿ã¹ã¯ã®èšèšãšå®è·µç¥ æ©ç°ããããã¯ãé·æéã®ã¿ã¹ã¯ïŒlong-runningã¿ã¹ã¯ïŒãå®éãããããã«ãã©ã®ãããªæ¹æ³è«ãããã®ããçºè¡šãããŸãããlong-runningã¿ã¹ã¯ãèªåŸçã«å®éãããããAIãšãŒãžã§ã³ãã¯ã¿ã¹ã¯ãåå²ããŠèšç»ãç«ãŠãåè§£ãããã¿ã¹ã¯ãã1ã€ãã€ãé çªã«åŠçããŸããããããAIãšãŒãžã§ã³ãã¯ç¢ºççãªåŠçã§ãããããæ°å€ãã®ã¿ã¹ã¯ãé çªã«åŠçãããšééããå°ããã€èç©ãããåŠçãç Žç¶»ããããšããããŸãã ãã¡ãã®çºè¡šã§ã¯ãåŠçãç Žç¶»ãããªãããã®æ¹æ³è«ã«ã€ããŠ3ã€ã®è«æã玹ä»ãã圢ã§èª¬æãããŸããããã€ãªãã©ã€ããã°è¯ãã®ããè€æ°ã®ç°ãªãã¢ãããŒãã§ã¿ã¹ã¯ãåŠçãããçããäžèŽããã°ãã®åŠççµæã®ç¢ºåºŠãé«ããªããªã©ãè峿·±ãç¥èŠãå
±æãããŸããã DeepResearchããããã¯ãã«çµã¿èŸŒãããã®ããŠã㊠袎ç°ããã¯ãDeep Research ã·ã¹ãã ããããã¯ãã«çµã¿èŸŒãããã®ããŠããŠãçºè¡šãããŸããã ãããããå€ãã®æ¹ã¯ãã©ãŠã¶ã®ãã£ããUIã§ Deep Research ã·ã¹ãã ãå©çšããããšã倧åã ãšæãããŸãããã®ãããDeep Research ã·ã¹ãã ãäžçš®ã®çæAIã¢ãã«ã§ãããšæ³åããæ¹ãã»ãšãã©ã§ã¯ãªãã§ãããããç¹ã«æè¿ã¯ããã£ããUIäžã«ãThinkingã¢ãã«ããšè¡šç€ºãããããšãããããã®åŸåã¯ããäžå±€åŒ·ãŸã£ãŠãããšèšããã§ãããã ãã®æ³åãšã¯è£è
¹ã«ãDeep Research ã·ã¹ãã ã¯ããæ€çŽ¢ãšã³ãžã³ããWebã¯ããŒã©ãŒãããã£ãã·ã¥ããAPI飿ºããããŒã«å¶åŸ¡å±€ãããšã©ãŒåŠçããªã©ãå€ãã®ã³ã³ããŒãã³ããçµã¿åãããŠæ§ç¯ããŸãããã®ãããè¯ãDeep Research ã·ã¹ãã ãæ§ç¯ããããã«ã¯ã倿§ãªã·ã¹ãã ãšã³ãžãã¢ãªã³ã°ã®ããŠããŠãå¿
èŠã§ãã ä»åã®çºè¡šã§ã¯ããäŒæ¥ã®ãã¥ãŒãã£ãªãžã§ã³ã¹ãã Deep Research ã·ã¹ãã ã䜿ã£ãŠæ§ç¯ããå
容ã話ãããèªåŸãšå¶åŸ¡ã®ãã¬ãŒããªããæ€çŽ¢ãšã³ãžã³ã®ããŠããŠãªã©ã玹ä»ãããŸããã çºè¡šã¹ã©ã€ãã¯ãã¡ãã§å
¬éãããŠããã®ã§ãèå³ã®ããæ¹ã¯ã芧ãã ããã https://speakerdeck.com/tokio007/deep-researchwopurodakutohezu-miip-mutamenonouhau æèŠªäŒ æèŠªäŒãå€ãã®æ¹ã«æ®ã£ãŠããã ããçºè¡šå
容ã«é¢ãã質çãåºãAIã«ã€ããŠã®ãã£ã¹ã«ãã·ã§ã³ãã§ããŸããã é»éç·ç ã®ã¡ã³ããŒãšããŠã¯ãDeep Research ã«é¢ãã話é¡ãäžå¿ã«äŒè©±ããŠãããŸãããããã¯ãçãããæ¢åã®Deep Researchã®APIãã³ã¹ãã®é¢ã§äœ¿ãããããšããå°è±¡ããæã¡ã§ãããäžæ¹ãåå è
ã®çæ§ã®äŒæ¥ã§ãããããã¯ãã« Deep Research ãçµã¿èŸŒã¿ãããšããã話ããããŸããã®ã§ãDeep Research ã®APIã«ã€ããŠãã³ã¹ãã䜿ããããã®èгç¹ããä»åŸã®ååãæ³šèŠããŠãããããšæããŸããã ç§èªèº«ãšããŠãã倿§ãªèŠç¹ã§äŒè©±ããããšãã§ããææçŸ©ãªæèŠªäŒã ã£ããšæããŠãããŸãã ãŸãšã ä»åã¯ãLayerXãããšé»éç·ç ãå
±åã§éå¬ãã ãAIãšãŒãžã§ã³ãèšèšååŒ·äŒ ãlong-runningã¿ã¹ã¯ã®èšèšãšå®è·µç¥ãã ã«ã€ããŠã¬ããŒãããŸããã ç§ãå匷äŒãéããŠæããã®ã¯ãå€ãã®æ¹ã
ã®æ
å ±åéã«ãã㊠Deep Researchã·ã¹ãã ãThinkingã¢ãã«ã¯èº«è¿ãªãã®ã«ãªã£ããšããããšã§ããã2æã«ãã€ãã³ããéå¬ããŸãããããã®éã¯ãŸã ãšã³ãžãã¢ã®æ¹ã
ã®ã»ãããã䜿ãããŠãããããªå°è±¡ãåããŸããããã®3ãæéã§ãAIããŒã«ã®æŽ»çšãéãšã³ãžãã¢ã®ãŠãŒã¶ãŒã«ãŸã§æ¥éã«åºãã£ãããšã宿ããŸããã ãããªç¶æ³ã®äžã§ãã³ã¹ãã®é¢ãæ©å¯æ
å ±ã®æå
¥ãªã©ãDeep Researchã·ã¹ãã ã䜿ãäžã§ã®èª²é¡ãããŸã ãŸã è§£æ¶ãããŠããªãããšãæ¹ããŠæããŸãããåŒãç¶ããèªç€Ÿãããã¯ãã®æ©èœã«çæAIãLLMãAIãšãŒãžã§ã³ããçµã¿èŸŒã¿ãç¶ç¶çã«ãŠãŒã¶ãŒãžäŸ¡å€ãå±ããããšãã§ããããã«å
端æè¡ã®æ
å ±åéãç¶ããŠããããšåŒ·ãæããŸããã å°ãäœè«ã§ã¯ãããŸãããé»éç·ç äºæ¥éçºå®€ã®AIããŒã ã¯æšå¹Žã®NeurIPSã³ã³ãã§åªåãæãããŠãããDeep Research ã·ã¹ãã ã®æå
端ã®å
容ããå±ãã§ããããªãšæããŠãããŸãã https://www.dentsusoken.com/news/release/2025/1219.html é»éç·ç ã¯ãåŒãç¶ããã®ãããªå匷äŒãéå¬ããäºå®ã§ãã®ã§ãèå³ããæ¹ã¯ãã²ãåå ãã ããã https://engineersguild.peatix.com/ ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã å·çïŒ @satonaka.yusuke ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ãäºæ¥éçºå®€ã®éäžè£èŒã§ãã æ¬èšäºã§ã¯ãEngineers GUILDã®ã玹ä»ãšããã®8åç®ã®ã€ãã³ãã§ãã£ã Engineers GUILD Vol8 ãäžçãããã®åŠäŒã³ã³ãã®åªåè
ã解説ãããæå
端ã®Deep Researchã·ã¹ãã ã®ã¢ãŒããã¯ãã£ã ã«ã€ããŠã¬ããŒãããŸãã Engineers GUILDãšã¯ Engineers GUILDïŒãšã³ãžãã¢ãºã»ã®ã«ãïŒã¯ããšã³ãžãã¢ã®ããšã³ãžãã¢ã«ããããšã³ãžãã¢ã®ããã®ã®ã«ãããæ²ãããåéæšªæåã®æè¡ã³ãã¥ããã£ã§ããçŸå Žã§æŽ»èºãããšã³ãžãã¢å士ãã坿¥ãè¶å¢æŽ»åãéããŠåŠã³åããã€ãªãããå
±åµã§ããå Žãç®æããŸãã https://engineersguild.peatix.com/ ãã®ç¬¬8åç®ãšããŠã2026幎04æ22æ¥ïŒæ°ŽïŒã«ãDeep Researchã«é¢ããå匷äŒãéå¬ããŸããã 2025幎2æã« Deep Research ãç»å Žããåžå Žèª¿æ»ãç«¶ååæãå
端æè¡èª¿æ»ãªã©ãWebäžã調æ»ããæ§ã
ãªå Žé¢ã§æŽ»çšãããŠããŸãããã®ããã«ããã©ãŠã¶ã®ãã£ããUIã§å©çšããå Žé¢ãå€ãäžæ¹ã§ãã·ã¹ãã ãžã®çµã¿èŸŒã¿ãæ€èšãããŠããŸãã Deep Researchããããã¯ããæ¥åã·ã¹ãã ã«çµã¿èŸŒãããšãããšãããã«å€§ããªå£ã«ã¶ã€ãããŸããåçšAPIãå©çšããã°ã¹ããŒãã£ã«å§ããããäžæ¹ã§ãç¶ç¶å©çšã«ã¯ã³ã¹ãé¢ã®ããŒãã«ããããŸãããŸããèªç€Ÿã§å
補ããããšããŠããDeep Researchã®ã¢ãŒããã¯ãã£ã¯ååã«å
¬éãããŠããªãã±ãŒã¹ãå€ããæ€çŽ¢ãæšè«ãããŒã«å¶åŸ¡ããšã©ãŒåŠçãŸã§å«ããŠèªåãã¡ã§èšèšããã®ã¯ç°¡åã§ã¯ãããŸãããã ããããããDeep Researchãã©ãäœãã®ãããã¢ãŒããã¯ãã£ã®èгç¹ããçè§£ããããšã«ã¯ã倧ããªäŸ¡å€ããããŸãã ã¿ã€ãã«ã«ããããŸãããæã
ã®ããŒã ã¯æšå¹Žã®NeurIPSã³ã³ãã§åªåãæãããŸããã https://www.dentsusoken.com/news/release/2025/1219.html ä»åã®å匷äŒã¯ãç§ãã¡ã®ããŒã ãæ³šç®ããŠãããDR Tuluããšããè«æã§å
¬éããã Deep Research ã·ã¹ãã ã®ã¢ãŒããã¯ãã£ã«ã€ããŠè§£èª¬ããåå è
ã®æ¹ã
ãšæŽ»çºã«è°è«ã§ããäŒã«ãªããŸããã å匷äŒã®å
容ãšããŠã¯ä»¥äžã®ãšããã§ãã ã»é»éç·ç ãå°ŸåŽ å°æ²ãããïŒ ãDR Tuluã®ã¢ãŒããã¯ãã£è§£èª¬ã ã»æèŠªäŒ DR Tuluã®ã¢ãŒããã¯ãã£è§£èª¬ å°ŸåŽããããã¯ããªãŒãã³ãœãŒã¹æè¡ã§æ§ç¯ãããDeep Research ã·ã¹ãã ã§ãããDR Tuluãã«é¢ããè¬æŒããããŸãããä»åã¯ãã¢ãã«ã®è§£èª¬ã®ãããªçè«ã«ã¯èžã¿èŸŒãŸããã©ããã£ãã¢ãŒããã¯ãã£ã§ããã®ãã®è§£èª¬ãã¡ã€ã³ã§ããã å€ãã®æ¹ã«ãšã£ãŠãDeep Researchã¯ãã©ãŠã¶ã®ãã£ããUIããå©çšãããã®ã ãšæããŸãããã®ãããäžèŠãããšã髿§èœãªçæAIã¢ãã«ããããŸã調æ»ããŠãããŠããããšèŠãããããããŸãããããããå®éã®Deep Researchã¯åäœã®AIã¢ãã«ã§ã¯ãããŸããã æ€çŽ¢ãšã³ãžã³ãWebã¯ããŒã©ãŒããã£ãã·ã¥ãAPI飿ºãããŒã«å¶åŸ¡å±€ããšã©ãŒåŠçãªã©ãè€æ°ã®ã³ã³ããŒãã³ãã飿ºããŠåãâ調æ»ã·ã¹ãã âã§ããã€ãŸããè¯ãDeep Researchãäœãã«ã¯ãã¢ãã«ã®ç¥èã ãã§ã¯ãªãæ€çŽ¢ã»ååŸã»å¶åŸ¡ã»åŸ©æ§ãŸã§å«ããç·åçãªã·ã¹ãã ãšã³ãžãã¢ãªã³ã°ã®åãæ±ããããŸãã å°ŸåŽããããããDR Tuluãã顿ã«å
šäœã®ã¢ãŒããã¯ãã£ã®æŠèŠããã·ã¹ãã ãšã³ãžãã¢ãªã³ã°äžã®10åã®å·¥å€«ãªã©ãã¢ãŒããã¯ãã£é¢ã®ç޹ä»ããããŸããã çºè¡šã¹ã©ã€ãã¯ãã¡ãã§å
¬éãããŠããã®ã§ãèå³ã®ããæ¹ã¯ã芧ãã ããã https://speakerdeck.com/hisanoriozaki/dr-turu-akitekutiyawan-quan-jie-shuo æèŠªäŒ æèŠªäŒãå€ãã®æ¹ã«æ®ã£ãŠããã ããçºè¡šå
容ã«é¢ãã質çãåºãAIã«ã€ããŠã®ãã£ã¹ã«ãã·ã§ã³ãã§ããŸãããä»åãã¢ãŒããã¯ãã£ã«ãã©ãŒã«ã¹ããã€ãã³ãã ã£ãã®ã§ãæ¥ããAIãšãŒãžã§ã³ãã®éçºãè¡ã£ãŠããæ¹ã«å€ãåå ããŠããã ããäŒã«ãªã£ããšæããŸãã æå€ã ã£ãã®ã¯ãã¢ãã«ã®åŠç¿æ¹æ³ãè©äŸ¡æ¹æ³ãªã©ã®è°è«ãè¡ãããããšã§ããäºåã®æ³å®ã§ã¯ãã¢ãŒããã¯ãã£ãå®è£
é¢ã§ã®å·¥å€«ã«é¢ããè°è«ãå€ããªããšèããŠããã®ã§ãæåã¯äžæè°ã«æããŸãããåå è
ã®æ¹ã
ãšäŒè©±ãé²ãããšãAIã®å°å
¥ãæšé²ããŠãããšã³ãžãã¢ã®æ¹ã
ã¯ãåã¹ããŒã¯ãã«ããŒã«ããã®ã·ã¹ãã ããªããããã£ãåºåãããã®ããã説æãã責任ãè² ã£ãŠãããã¢ãã«ã®ã¢ãŒããã¯ãã£ã«ã€ããŠã®ç¥èãå¿
èŠãšãããŠãããšããããšãããããŸããã ãã®ããããšã³ãžãã¢ã®æ¹ã
ãã¢ãã«ã®åŠç¿æ¹æ³ãè©äŸ¡æ¹æ³ãªã©ã«èžã¿èŸŒãã 質åãããããšããããšã«ãªããŸããã ç§èªèº«ãšããŠãã倿§ãªèŠç¹ã§äŒè©±ããããšãã§ããææçŸ©ãªæèŠªäŒã ã£ããšæããŠãããŸãã ãŸãšã ä»åã¯ãEngineers GUILDã®ã玹ä»ãšããã®8åç®ã®ã€ãã³ãã§ãã£ã ãäžçãããã®åŠäŒã³ã³ãã®åªåè
ã解説ãããæå
端ã®Deep Researchã·ã¹ãã ã®ã¢ãŒããã¯ãã£ã ã«ã€ããŠã¬ããŒãããŸããã ç§ãå匷äŒãéããŠæããã®ã¯ããšã³ãžãã¢ã®æ¹ã
ã®æ
å ±åéã«ãã㊠Deep Researchã·ã¹ãã ã¯èº«è¿ãªãã®ã«ãªã£ããšããããšã§ããããããªç¶æ³ã®äžã§ãã³ã¹ãã®é¢ãæ©å¯æ
å ±ã®æå
¥ãªã©ãDeep Researchã·ã¹ãã ã䜿ãããã§ã®èª²é¡ãããããšãæããŸããã Deep Researchã¯ãåãªã䟿å©ãªèª¿æ»ããŒã«ããããããã¯ããæ¥åã·ã¹ãã ã«çµã¿èŸŒãŸããâç¥çåºç€âãžãšé²åãã€ã€ãããŸãããã®æµãã®äžã§ãçæAIãLLMãAIãšãŒãžã§ã³ããã©ã®ããã«èšèšããã©ãéçšããã©ãç¶ç¶çã«äŸ¡å€ãžã€ãªããã®ããä»åã®å匷äŒã¯ããã®åãã«åãåãéåžžã«è¯ãæ©äŒãšãªããŸããã é»éç·ç ã¯ãåŒãç¶ããã®ãããªå匷äŒãéå¬ããäºå®ã§ãã®ã§ãèå³ããæ¹ã¯ãã²ãåå ãã ããã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã å·çïŒ @satonaka.yusuke ã¬ãã¥ãŒïŒ @kinjo.ryuki ïŒ Shodo ã§å·çãããŸãã ïŒ
ã¯ãããŸããŠããšã³ã¿ãŒãã©ã€ãºç¬¬äºæ¬éš ãã©ãããã©ãŒã ãšã³ãžãã¢ãªã³ã°éš 2幎ç®ã®èæ± ã§ããæ¥åã§ã¯AIãµããŒãã»ã³ã¿ãŒãšã㊠çæAI / LLM æŽ»çšæ¡ä»¶ãdJã°ã«ãŒãå
ã®çæAIå©æŽ»çšæšé²ãªã©ãè¡ã£ãŠããŸãã ãã®èšäºã¯ã瀟å
ã«å¹Ÿå€ããå匷äŒã®ã²ãšã€ã§ããã25åæè¡äŒãã§ã®çºè¡šå
容ãããšã«å·çãããŠããŸãã ã25åæè¡äŒãã§ã¯éé±ç«ææ¥ã«äŒè°å®€ã«éãŸããããã¯ãªãŒãã£ã³ã°ãšèªç±ããŒãçºè¡šã®2軞ã§åã
ã®åŠã³ãå
±æãåã£ãŠããŸãããã®ãã³ãå€éšåãã®æœçãšããŠèªç±ããŒãçºè¡šããäžå®æã§ããã¯ããã°ãæžããŠããéã³ãšãªããŸãããã¡ãªã¿ã«ããã®äŒã®äž»å¬è
ã¯ããã¯ããã°åžžé£ã§ãããåæã®å€§å²¡å¡ããã§ããä»åŸãäžèšã®æè¡äŒã¡ã³ããŒãããèšäºã®æçš¿ãããäºå®ã§ãã®ã§ããæ¥œãã¿ã«ã 倧岡 å¡ ïŒèæ± ç¥¥æ±° ïŒ äŒè€ ç幞 ïŒ æ€æš ä¿¡èŒ ïŒ äžå 蟰埳 ïŒ ä»æ© èŒ ïŒ æž¡é ç倪é ïŒ æ®µäž å¹žå€ªé èªåŸé§åããéšäžã¯å®çŸããã â OpenClaw ãšããäºå
ããŒã«ã« LLM ã® 3 ã€ã®åŒ·ã¿ ç®æãäžç â 24 æé 365 æ¥ åãæ ªåŒãšãŒãžã§ã³ã ããŒã«ã« LLMã®çŸåšå°ãæ¢ã éå
·ç«ãŠ â Ollama / Gemma 4 ããŒã¹ã©ã€ã³ â åçŽãªç·åœ¢ååž°ã«ããæ°åŠç解決 å®éš çµæãšèå¯ â Gemma 4 vs Gemini çŸåšå°ã®èŠç«ãŠãšå±æ ãããã« 2026/06/04è¿œèš èªåŸé§åããéšäžã¯å®çŸããã â OpenClaw ãšããäºå
2026 幎ã®å¹Žæãããã OpenClaw ïŒæ§ MoltBotïŒ ãšåŒã°ããèœåç㪠AI ãšãŒãžã§ã³ãã話é¡ã«ãªã£ãŠããŸãã OpenClaw ã¯ãç¹å®ã®ãã£ã¬ã¯ããªã«æäœæš©éãäžãããšãAI ããæ¬¡ã«äœããã¹ããããèªåã§èããªããã24 æé 365 æ¥ãèªåŸçã«åãç¶ããã¿ã€ãã®ãšãŒãžã§ã³ãã§ãã人éãäžæãã€æç€ºããã®ã§ã¯ãªããç®çã ãæž¡ãã°ææ®µãèªåã§çµã¿ç«ãŠãŠãããŸãã ç®çãæž¡ãã°ãAI ããæ¬¡ã«ãã¹ãããšããèªåã§èããå®è¡ããçµæãèŠãŠæ¹åãããããã 24 æé 365 æ¥åãç¶ãã AI ã®æäœããã¡ãã¡æ¿èªããæäœãäžèŠãAIã®ææç©ã確èªãã¬ãã¥ãŒãã 人éãšããæå€§ã®ããã«ããã¯ãæã ãAI ãæ¬åœã«ã èªåŸé§åããéšäž ãã®ããã«äœçœ®ã¥ããããå¯èœæ§ãèŠããŠããŸãããããããåãã¯ããã§ã«äžäººæ©ããå§ããŠãããAI ãšãŒãžã§ã³ãã ããéã SNSã Moltbook ããªã©ã話é¡ãåŒãã§ããŸããReddit ã®ããã«æçš¿ãã³ãã¥ããã£ã䞊ã¶ã®ã«ãæžã蟌ãã®ã¯ãã¹ãŠ AI ãšãŒãžã§ã³ãã§ã人éã¯èгå¯è
ãšããŠããå
¥ããŸããããµãŒãã¹éå§ããæ°æ¥ã§150äžãè¶
ãããšãŒãžã§ã³ããéãŸãããã®äžã§ã¯ AI å士ãå
±åäœãããšãã«å®æããããã®ãŸã§èªçºçã«äœãå§ãããš å ±ããã ãŠããŸãã AIã¯ãã£ããããããšããŠäººéã«åŸéããããã§ãŒãºãè±ãããšãŒãžã§ã³ãé§åããæä»£ãžãšã®ã·ãããå§ãŸãã€ã€ãããŸãã ãã®äžæ¹ã§ã倧ããªãªã¹ã¯ããããŸããããã API ã³ã¹ã ã§ããAI ãé·æéã»é«é »åºŠã§åãã»ã©ãã©ã³ãã³ã°ã³ã¹ãã¯è·³ãäžãã£ãŠãããŸããããã¯ç¹ã«éèç³»ã®ãŠãŒã¹ã±ãŒã¹ã§ROIãæž¬å®ããéã«éãã®ãããã£ãŠããŸãã å¿
ç¶çã«ã ããŒã«ã« LLM ãéžæè¢ã«äžã£ãŠããŸããéåžžç§ãã¡ãå©çšããŠãã ChatGPT ã ClaudeïŒæ¬èšäºã§ã¯ãŸãšããŠã¯ã©ãŠã LLM ãšåŒã³ãŸãïŒã¯ãå瀟ã®ãµãŒãäžã®èšç®è³æºïŒã¡ã¢ãªã GPU ãªã©ïŒã䜿ã£ãŠåããŠããŸãã䟿å©ãªåé¢ãå
¥åã¯ç€Ÿå€ã«éããã䜿ãã»ã©åŸé課éãç©ã¿äžãã£ãŠããããããèªåã®æå
ã®ãã·ã³ã ãã§å®çµãããããšããã®ããããŒã«ã« LLM ã®çºæ³ã§ãã ããŒã«ã« LLM ã® 3 ã€ã®åŒ·ã¿ ç§ãããŒã«ã« LLM ã®äŸ¡å€ãšããŠæãåŒ·ãæŒãåºãããã®ã¯ã次㮠3 ç¹ã§ãã ããŒã¿ãå€éšã«åºãŠãããªãïŒã»ãã¥ã¢ïŒ â ã¯ã©ãŠã API ã¯å
¥åããã¹ãŠå€éšã«éä¿¡ãããŸããæ©å¯æ
å ±ãå人ããŒã¿ãAPI ããŒãæ±ãå Žåããšãããã°èŽåœçã«ãªãããŸããããŒã«ã«ãªããæ±ãããŒã¿ã¯èªåã®ç°å¢ããåºãŸããã å®å
šèªåŸã§åããŠã API ã³ã¹ããççºããªã â é·æéã»é«é »åºŠã§åããã»ã©ã¯ã©ãŠã API ã®åŸé課éã¯èšãã¿ãŸããæè¿ã¯åçš®AIãã³ããŒãæè³ãååãããã§ãŒãºã«å
¥ã£ãŠããŠãããåå®ãå ãã£ãŠã¯ã©ãŠãAPIã®ã³ã¹ãäœç³»ã¯ããªãåãã颚ã§ããããŒã«ã«LLMãªãã远å ã³ã¹ãã¯é»æ°ä»£ã ããåå®ã®ç
œããåãã«ããã ãã§ãå²ããã®ã§ãã è²·ãåã£ã GPU ãéã°ããªã â ããã¯æžäŸ¡ååŽçãªèгç¹ã§ãããã²ãŒã çšã«è²·ã£ã GPU ãAPI å©çšæã®ç¯çŽãšãã芳ç¹ã§äœ¿ãåãããšãã§ããã°ãè²·ãåãã®åºè²»ãé·ã掻ããç¶ããããŸãã ããŒã«ã« LLM ã® 3 ã€ã®åŒ·ã¿ãïŒ1ïŒããŒã¿ãå€ã«åºãªã ïŒ2)API ã³ã¹ããççºããªã ïŒ3ïŒè²·ãåã£ã GPU ãéã°ããªã ç®æãäžç â 24 æé 365 æ¥ åãæ ªåŒãšãŒãžã§ã³ã ããŠããã®èªåŸé§åãšãŒãžã§ã³ãã®çµçç¹ããç§ã¯24 æé 365 æ¥ãäžçäžã®ãã¥ãŒã¹ã»äŒæ¥ã®ãã¬ã¹ãªãªãŒã¹ã»ä»æã®å ±åæžãç£èŠãç¶ãã æ ªã®èªå売買ãè¡ããšãŒãžã§ã³ã ã ãšèŠãŠããŸããçææè³ã¯åå»ã¿ã»ç§å»ã¿ã§ç¶æ³ãåãã®ã§ããããŸè²·ãããè²·ãã§ãªããããåžžã«å€æããããïŒäœã³ã¹ãã§åãã£ã±ãªãã«ããããšããéèŠããããŸããããŒã«ã« LLM ã®åªäœæ§ã¯æç¢ºã§ãã å ããŠãã»ãã¥ãªãã£é¢ã§ããããŒã«ã« LLMãçšããã°èªèº«ã®ããŒããã©ãªãªã API ããŒãå€éšã«æµåºãããªã¹ã¯ããéããªããŒãã«è¿ã¥ããããŸããéèããŒã¿ãæ±ã以äžãã»ãã¥ãªãã£ã¯æåªå
äºé
ã§ããããŒã«ã« LLM ã®æ§è³ªãšããã®ã¿ã¹ã¯ã®èŠä»¶ã¯åŒ·ãåã¿åããŸãã æãéèŠãªã®ã ã©ã³ãã³ã°ã³ã¹ã ã§ããAPI æéãçºçãããšãã³ã¹ãã«èŠåããªã¿ãŒã³ãåŸãªããã°ãªããã匷æ°ïŒãã€ãªã¹ã¯ãã€ãªã¿ãŒã³ïŒãªæè³ãäœåãªããããŠããŸããŸããããã¯éçšææ°æã®é«ãæè³ä¿¡èšãä¿æããŠãããšãã®æèŠã«è¿ããæãå¿é¿ãã¹ãæ¡ä»¶ã§ããã ããããã远å ã³ã¹ãã黿°ä»£ã ãã«æãããããªããã€ãŸãšããªåç粟床ãåŸãããã®ã§ããã°ãããŒã«ã« LLMã¯éåžžã«åççãªãã¬ã€ã³ãšãªãããã§ããã ââ ãŸãšããªåç粟床ãåŸãããã®ã§ããã°ãã§ããã äžæ¹ã§ãçŸå®ã«ãããã£ã話ã¯ãªããªãèããŸããããªããªã®ã§ããããå眮ããé·ããªããŸããããä»åã®èšäºã§ã¯ããã«åã蟌ãã§ããããšæããŸãã ããŒã«ã« LLMã®çŸåšå°ãæ¢ã æè³ãšãŒãžã§ã³ãããããªãèµ°ãããã®ã¯ç¡çããããŸããè²·ããšå€æããéæãäžãã£ããäžãã£ããããã®çãåããã«ã¯æ°ãæããããŸãããã³ãŒãã£ã³ã°ãå€§èŠæš¡ã«ãªã£ãŠããŸããŸãã ããã§æ¬èšäºã¯ãããŒã«ã« LLM ã®çŸåšå°ãç¥ãããã®å®éšãšããŠã ç©ä»¶ã®ã¹ããã¯ããè³æãäºæž¬ãã ãšããæ¬äŒŒçãªçµæžäŸ¡å€å€æã¿ã¹ã¯ãè§£ããŸããç¡æ°ã®ç©ä»¶ã¹ããã¯æ
å ±ãã驿£ãªäŸ¡æ Œãäºæž¬ãããã®äºæž¬äŸ¡æ Œãšå®éã®äŸ¡æ Œãç
§åããŠãã³ã¹ãã®è¯ãç©ä»¶ãæ€åºãããã¹ããã¯ããæ³å®ãããè³æããå®éã®è³æãå®ããã°ãããã¯ã³ã¹ããè¯ãç©ä»¶ãšã¿ãªãããŠãŒã¶ãŒã«ææ¡ãããšãããã®ã§ãã äž¡è
ã®æ§é ã䞊ã¹ããšã次ã®ããã«å¯Ÿå¿ããŸãã ã¹ããã ç©ä»¶ã³ã¹ãå€å®ïŒé¡æïŒ æ ªåŒèªåå£²è²·ïŒæ¬åœïŒ å€éšããŒã¿ ããŒã«ã«ã«ãã£ãã·ã¥ããç©ä»¶æ
å ± æ ªäŸ¡ APIã»ãã¥ãŒã¹ã»æã®å ±åæž LLM ã®äŸ¡å€å€æ ã¹ããã¯ãã驿£è³æãäºæž¬ æ
å ±ããè²·ã/売ã/æ§åèŠã倿 ææšå ã³ã¹ãã¹ã³ã¢ïŒå®äŸ¡Ã·äºæž¬ïŒ æè³ã·ã°ãã« æ£è§£çªå 峿 æ°æ¥ãæ°ãæåŸ æ ªäŸ¡äºæž¬ã¯æ€èšŒã«é·ãæéãå¿
èŠã§ããäžæ¹ããã®ç©ä»¶ã¿ã¹ã¯ã¯ãæ§ç¯ãšçãåããã®ãµã€ã¯ã«ãçããå®è£
ã容æã§ããããŒã«ã« LLM ã®çŸåšå°ãç¥ãããšããç®çã«ã¯ãã¡ããåã£ãŠããŸããã éå
·ç«ãŠ â Ollama / Gemma 4 ããŒã«ã« LLM åºç€ã«ã¯ Ollama ãçšããŸãããOllama ã¯ãããDocker for LLMããšåŒã°ããŸããå®éãéçºè
ã¯å
Docker ã®ãšã³ãžãã¢ã§ã ollama pull ã§ã¢ãã«ãååŸã ollama run <model> ã§å¯Ÿè©±ãå§ããæäœæã¯ Docker ãã£ããã§ãã èµ·åãããšã localhost:11434 ã« REST API ãµãŒããŒãç«ã¡ãŸããOpenAI / Anthropic äºæã®ãšã³ããã€ã³ããåããŠãããããæ¢åã³ãŒãã®æ¥ç¶å
ãå·®ãæ¿ããã ãã§ããŒã«ã«ã¢ãã«ã«åãæ¿ããããŸãã ã¢ãã«ã¯ Gemma 4 ãçšããŸãããGoogle ã 2026 幎 4 æã«å
¬éãã ãªãŒãã³ãŠã§ã€ãã®ã¢ãã« ã§ãGemini ãšåãç ç©¶åºç€ããçãŸãããç»åãæ±ãããã«ãã¢ãŒãã«ã¢ãã«ã§ãã Gemma 4 ã®ç¹åŸŽãšã㊠MoEïŒMixture of Expertsãæ··åãšãã¹ããŒãïŒ ã®æ¡çšããããŸããä»åã®äž»åœ¹ 26B ã¯ãç·ãã©ã¡ãŒã¿ãçŽ 26B ãããªãããæšè«æã«å®éã«äœ¿ãã®ã¯çŽ 3.8 B ã ãã§ããããªãã¡ã倧åã¢ãã«ã®è³¢ããããã軜ãèšç®éã§åºãããšããããã§ãã ããã²ãšã€ã®åæ§ãã éåå ãšã®çžæ§ã§ããGemma 4 ã¯ããããå§çž®ãããããšãèŠè¶ããŠåŠç¿ãã QATïŒQuantization-Aware Trainingãéååãèæ
®ããèšç·ŽïŒãæ¡ã£ãŠããŸãããããã§ãéã¿ã®ç²ŸåºŠã 16 bit ãã 4 bit ãžèœãšããŠãå質ã®å£åãå°ãããå¿
èŠã¡ã¢ãªã 4 åã® 1 ã»ã©ã«å§çž®ã§ããŸããæ¬èšäºã§ããŒã«ã«ã«èœãšãã 4-bit éååçïŒ gemma4:26b ïŒãããã®ä»çµã¿ã®äžã«æãç«ã£ãŠããŸãã Ollama ã§æ±ããäž»ãªãµã€ãºã¯ã次ã®ãšããã§ãã Ollama ã¿ã° æ§æ ãã©ã¡ãŒã¿ïŒæšè«æ / ç·ïŒ ãµã€ãºïŒ4-bitïŒ ã³ã³ããã¹ã äœçœ®ã¥ã gemma4:e2b 軜é 2.3B / 5.1B 7.2 GB 128K æå°ã»ã¹ããçã®çã¡ã¢ãªããŒãåãïŒæ¬å®éšã§ã¯æªäœ¿çšïŒ gemma4:e4b ïŒ= latest ïŒ è»œé 4.5B / 8B 9.6 GB 128K 軜éã»ãŸã詊ãã gemma4:26b MoE 3.8B / 25.2B 18 GB 256K äžåã»ä»åã®äž»åœ¹ gemma4:31b Dense 30.7B / 30.7B 20 GB 256K æå€§ã»æé«æ§èœ æŽçãããšãOllama ãš Gemma 4 ã®é¢ä¿ã¯æ¬¡ã®å³ã®ããã«ãªããŸããOllama ãããŒã«ã« LLM ã®å®è¡åºç€ãGemma 4 ããã®äžã§åãã¢ãã«æ¬äœã§ãã Ollama ã¯å®è¡ç°å¢ãGemma 4 ã¯ãã®äžã§åãã¢ãã«ãã¯ã©ãŠãã«éããããã¹ãŠããŒã«ã« PC å
ã§å®çµãã 顿ã¢ããªã倧ç°åºã³ã¹ãç©ä»¶ãã³ã¿ãŒãã¯ãClaude Code ã䜿ã£ã Vibe Coding ã§äœããUI 㯠Streamlit ã§ãã£ãšçµã¿ãŸãããç©ä»¶ããŒã¿ã¯åãµã€ãã®å©çšèŠçŽã«é
æ
®ãããããããããŒã«ã«ã«ä¿åããŠããããã£ãã·ã¥ïŒCSVïŒãå
¥åãšããŠæ±ããŸãããããèªã¿èŸŒã¿ãåç©ä»¶ã®çžå Žå®¶è³ã LLM ã«äºæž¬ãããå®è³æ ÷ äºæž¬ã§ã³ã¹ãã¹ã³ã¢ãåºãã ãã®ã¢ããªã§ããã¹ã³ã¢ãäœãã»ã©å²å®ã§ã0.85 ãäžåã£ãç©ä»¶ãããè²·ãåŸããšããŠãŠãŒã¶ã«ææ¡ããŸãã Streamlit ã§å®è£
ããã¢ããªã±ãŒã·ã§ã³UIãçµæã¯ããŒã«ã«å®è¡ãã gemma4:26b ïŒçŽåïŒã®ãã®ã30 ä»¶ã®åŠçã«çŽ 10.9 æéãèŠãã ããŒã¹ã©ã€ã³ â åçŽãªç·åœ¢ååž°ã«ããæ°åŠç解決 LLM ã䞊ã¹ãŠç«¶ãããŠãããã©ãããããªãã«è³¢ããã§çµãã£ãŠããŸããšèããè³æãå°æé¢ç©ãšé§
ããã®åŸæ©åæ°ã® 2 倿°ã ãã§èª¬æããã·ã³ãã«ãªç·åœ¢ååž°ã¢ãã«ãçšæããããŒã¹ã©ã€ã³ãšããããšã§ãå LLM ã®æšè«èœåãå®éçã«è©äŸ¡ããŸããã è©äŸ¡çšã® 30 ä»¶ãšã¯å¥ã«èšç·Žçšãµã³ãã« 200 ä»¶ãçšæããæå°äºä¹æ³ã§åŒãäžæ¬ã ãåœãŠã¯ããŸããã è³æ(äžå) â 0.1898 Ã å°æé¢ç©(ã¡) â 0.2021 Ã åŸæ©(å) + 11.26 éåããç¯å¹Žæ°ã䜿ããªãéåžžã«ã·ã³ãã«ãªåŒã§ã®å®è£
ã§ããèšç·Ž 200 ä»¶ãšè©äŸ¡ 30 件㯠1 ä»¶ãéãªã£ãŠãããïŒout-of-sampleïŒãLLM åŽãåã 30 ä»¶ãåŠç¿ããŠããªãã®ã§ãæ¯èŒã¯ãã§ã¢ã§ãã 粟床㯠MAEïŒå¹³å絶察誀差ïŒã»MAPEïŒå¹³å絶察誀差çïŒã»ãã€ã¢ã¹ïŒèª€å·®ã®ç¬Šå·ä»ãå¹³åãäºæž¬ãé«ããäœããã®åãïŒã® 3 ã€ã§æž¬ããã³ã¹ãã¯ããŒã«ã«ã黿°ä»£æç®ïŒ350 W à 31 å/kWhïŒãAPI ãããŒã¯ã³å䟡ã«çµ±äžããŠèšé²ããŸããã ãã㊠LLM åŽã«ããåãå俵ã«ç«ã£ãŠããããŸããåç©ä»¶ã«ã€ããŠå®éã«æããŠããããã³ããã¯ã次ã®å
šæã§ããçŽ æŽã«ãçžå ŽãæããŠããšå°ããã®ã§ã¯ãªããããŒã¿ããå°ããã¢ã³ã«ãŒïŒåºæºå€ãšè£æ£ä¿æ°ïŒãæãããäŸã«ãªãã£ãŠ 5 ã¹ãããã®èšç®éçšïŒFew-shot + Chain-of-ThoughtïŒãèžãŸããäœãã«ããŠããŸãã ããªãã¯æ±äº¬éœå€§ç°åºã®è³è²žçžå Žã«è©³ããäžåç£ã¢ããªã¹ãã§ãã 以äžã®æšè«äŸ(äŸ1ãäŸ3)ãšåã圢åŒã§ step1âstep5 ãé ã«èšç®ããæåŸã«è³æãç®åºããŠãã ããã ã¢ã³ã«ãŒã¯å€§ç°åº2DK/2LDK 117ä»¶ã®èšç·ŽããŒã¿ããå€éååž°ã§æœåºããå®ããŒã¿ä¿æ°ã§ãã # æšå®ã¢ã³ã«ãŒ (åºæº: äžäœé§
Ã2LDKÃ3-5é建Ãç¯10-20幎ÃåŸæ©10å â 0.33 äžå/ã¡) ## é§
tier - äžäœ (倧森ã»å€§æ£®çºã»è²ç°ã»äº¬æ¥è²ç°ã»æŽè¶³æ± ): Ã1.10 - äžäœ (銬蟌ã»è¥¿éŠ¬èŸŒã»æ± äžã»æŠèµæ°ç°ã»åé³¥çºã»æ¢
屿·ã»å€§å²¡å±± ç): Ã1.00 - äžäœ (éè²ã»ç¢å£æž¡ã»å¹³åå³¶ã»äžäžžåã»ç³å·å°ã»ç°å調åž): Ã0.90 ## éåã - 2LDK: Ã1.00 / 2DK: Ã0.95 ## é建 - 1-2é建(æšé æ³å®): Ã0.88 / 3-5é建: Ã1.00 / 6é建以äž(RCæ³å®): Ã1.17 ## ç¯å¹Ž - ç¯0-10幎: Ã1.12 / ç¯10-20幎: Ã1.00 / ç¯20-30幎: Ã0.95 / ç¯30幎+: Ã0.92 ## åŸæ© - åŸæ©10ååºæºã§ ±1åããã â1% (äŸ: åŸæ©6å â +4%ãåŸæ©14å â -4%) # æšè«äŸ(ãã®5stepãã©ãŒããããå¿
ãèžè¥²) ## äŸ1: è²ç°é§
åŸæ©6å / 2LDK 55ã¡ / ç¯8幎 / 8é建 step1 é§
tier = 0.33Ã1.10 = 0.363 (è²ç°=äžäœ) step2 éåã = Ã1.00 = 0.363 (2LDK) step3 é建 = Ã1.17 = 0.425 (8é建 â RCæ³å®) step4 ç¯å¹Ž = Ã1.12 = 0.476 (ç¯8幎 â ç¯0-10幎) step5 åŸæ© = Ã1.04 = 0.495 (åŸæ©6å â +4%) è³æ = 0.495 à 55 = 27.2äžå æšå®å®¶è³: 27.2äžå ## äŸ2: æ± äžé§
åŸæ©10å / 2DK 42ã¡ / ç¯22幎 / 7é建 step1 é§
tier = 0.33Ã1.00 = 0.330 (æ± äž=äžäœ) step2 éåã = Ã0.95 = 0.314 (2DK) step3 é建 = Ã1.17 = 0.367 (7é建 â RCæ³å®) step4 ç¯å¹Ž = Ã0.95 = 0.349 (ç¯22幎 â ç¯20-30幎) step5 åŸæ© = Ã1.00 = 0.349 (åŸæ©10å â åºæº) è³æ = 0.349 à 42 = 14.7äžå æšå®å®¶è³: 14.7äžå ## äŸ3: éè²é§
åŸæ©14å / 2DK 40ã¡ / ç¯32幎 / 2é建 step1 é§
tier = 0.33Ã0.90 = 0.297 (éè²=äžäœ) step2 éåã = Ã0.95 = 0.282 (2DK) step3 é建 = Ã0.88 = 0.248 (2é建 â æšé æ³å®) step4 ç¯å¹Ž = Ã0.92 = 0.228 (ç¯32幎 â ç¯30幎+) step5 åŸæ© = Ã0.96 = 0.219 (åŸæ©14å â -4%) è³æ = 0.219 à 40 = 8.8äžå æšå®å®¶è³: 8.8äžå # æšå®å¯Ÿè±¡ç©ä»¶ - éåã: {éåã} - å°æé¢ç©: {å°æé¢ç©(ã¡)}ã¡ - æå¯ãé§
: {æå¯ãé§
} {åŸæ©Nå} - ç¯å¹Žæ°: {ç¯N幎} - é建: {é建} äžèš5stepãé çªã«èšç®ãã**æçµè¡ã«å³å¯ã«** `æšå®å®¶è³: <æ°å€>äžå` (å°æ°1æ¡) ã®åœ¢åŒã§1å€ã ãåºåããŠãã ããã â» ããã³ããåé ã®ã¢ã³ã«ãŒïŒåºæº 0.33 äžå/ã¡ ãšåè£æ£ä¿æ°ïŒã¯ãç·åœ¢ååž°ããŒã¹ã©ã€ã³ã®èšç·Žã«äœ¿ã£ã 200 ä»¶ãšå皮㮠ãµã³ãã«ã«å€éååž°ããããçµ±èšçã«æœåºããå®ããŒã¿ä¿æ°ã§ããã€ãŸããããŒã¹ã©ã€ã³ãšåãèšç·ŽããŒã¿ã®ç¥èã LLM åŽã«ãäžããããã§åè² ãããŠããŸãã å®éš æ€èšŒç°å¢ã¯ä»¥äžã®ãšããã§ãã OS: Windows 11 Home / CPU: Intel Core i7 14700KF / RAM: 32 GB / GPU: GeForce RTX 5060 TiïŒVRAM 16 GBïŒ Python: 3.13 / äž»èŠã©ã€ãã©ãª: ollama pandas streamlit è©äŸ¡ããŒã¿: ããŒã«ã«ã«ãã£ãã·ã¥ãã倧ç°åº 2DK/2LDK ã®ç©ä»¶æ
å ± 30 ä»¶ïŒå
šå®éšã§åºå®ïŒ æåã¯ãVRAM 16 GB ã«äœè£ã§åãŸã軜éã¢ãã« gemma4:e4b ïŒ9.6 GBïŒãã詊ããã®ã§ãããè³æäºæž¬ã®æåã®ç°¡åãªè³ªåã§ã€ãŸã¥ããŸããã詊ãã«ã倧ç°åºã§æåãªé§
ã 1 ã€æããŠããšèããŠã¿ããšããã gemma4:e4b ã¯èªä¿¡æºã
ã«ããçããŸããã 倧ç°åºã§ç¹ã«æåãªé§
ã®äžã€ã¯ã倧ç°é§
ïŒãããããïŒã§ãã ïŒäžç¥ïŒæ±æ¥å€§äºçºç·ãªã©ãä¹ãå
¥ããŠããã倧ç°åºã®äž»èŠãªäº€éçµç¯ç¹ã®äžã€ãšãªã£ãŠããŸãã ãã®ä»ããšãªã¢ã®ç¹æ§ã«ãã£ãŠã¯ãæ°å€§ç°é§
ãªã©ãå©çšããã倧ããªé§
ã§ãã ã倧ç°é§
ãããæ°å€§ç°é§
ãããå®åšããŸããããããããã®æ¶ç©ºã®é§
ã«ãæ±æ¥å€§äºçºç·ãä¹ãå
¥ãã亀éçµç¯ç¹ããšãããã£ãšããããä¹ãå
¥ãæ
å ±ãŸã§æ·»ããŠããŸããå
žåçãªãã«ã·ããŒã·ã§ã³ã§ãããå°åãããã®èª¿åã§ã¯ãè€éãªã¹ããã¯ããçµæžäŸ¡å€ã倿ãããã®ã¯å°åºç¡çã ãšããããšã§ã軜éã¢ãã«ã¯æ©ã
ã«åè£ããå€ããŸããã åã質åããã²ãšã€äžã® gemma4:26b ã«æãããšãçããå€ãããŸãã 倧ç°åºã§æãæåãªé§
ãšããã°ãè²ç°é§
ïŒããŸãããïŒã§ãã 倧ç°åºã®æå€§ã®ã¿ãŒããã«é§
ã§ãããJRã京æ¥ãæ±æ¥ãšãã£ãè€æ°ã®è·¯ç·ãä¹ãå
¥ãã亀éã®èŠæã§ãã æŠãæå³ã©ããã®åçãåŸãããŸããã æäœéã®ç²ŸåºŠãæ±ããã«ã¯ã 26b ãèŠãããã§ãã gemma4:26b ã¯ãè²ç°é§
ããšæ£çãä¹ãå
¥ãè·¯ç·ãæ£ç¢ºãªåçã«ãªã£ãŠããã ãšãããã gemma4:26b ãæå
ã® RTX 5060 Ti ã§åããããšããŠãæåã®å£ã«ã¶ã€ãããŸãã gemma4:26b 㯠4-bit éååã§ãçŽ 17 GB ãããVRAM 16 GB ã«ãããã«åãŸããŸãããOllama ã¯åãŸããªãåïŒçŽ 35 %ïŒã RAM åŽã«éé¿ããããã®éšåã CPU ã§èšç®ããŸããçµæãGPU ãš CPU ãè¡ãæ¥ããæ§æã«ãªããèšç®æéã倧å¹
ã«å¢ããŠããŸããŸããã ããã§éèŠãªã®ã¯ã VRAM äžè¶³ãç·åœ¢ã®å£åã§ã¯ãªãåŽ ã ãšããããšã§ãã çç±ã¯ãLLM ã®æšè«ãã¡ã¢ãªåž¯åã«åŸéãããããã§ããæšè«ã®äžèº«ã¯ãèšå€§ãªéã¿ãã¡ã¢ãªããèªã¿åºããŠèšç®ããåŠçã®ç¹°ãè¿ãã§ãããã«ããã¯ã¯èšç®éãããèªã¿åºãã®éãã«ãããŸããGPU ã® VRAM ã¯ãã®èªã¿åºããæ¡éãã«éãäžæ¹ãCPU åŽãžéé¿ããå±€ã¯ããããããã£ãšåž¯åã®çãã·ã¹ãã RAM ãçµç±ããŸãã çŽ 17GB ã®ã¢ãã«ã 16GB ã® VRAM ã«åãŸãããOllamaã«ãã£ãŠèªåçã«ã¢ãã«ã® çŽ 35% ã RAM/CPU ãžéé¿ããçµæã«ãåŠçé床㯠VRAM 容éãè¶
ããç¬éã«åŽã®ããã«æ¥èœãã ç§ã® PC ã®ã¹ããã¯ã¯ããããäžè¬çãªã²ãŒãã³ã°çšã§ãã®ã§ã ããŒã«ã« LLM ãåæãšããåå㪠VRAM ãç©ãã GPU ã§ãªããšãŸãšããªæšè«èœåã¯åŸãããªã ãšããã®ã 2026 幎 6 ææç¹ã®çŸåšå°ãšãªãããã§ãã ãããããã«ãã®çµæã§ã¯çµãããªãã®ã§ãæ¥éœ Google AI Studio ãã Gemma 4 ã® API ãå©ã圢ã«åãæ¿ããŸãããããã«ãããGoogle åŽãçšæããèšç®è³æºãåããŠãGemma 4ã®26Bãš31Bãšãã倧ããã®ã¢ãã«ãïŒç¡æã§ïŒåããããšãã§ããŸããäžæŠæå
ã®ããŒãã®å¶çŽãå€ããã¢ãã«ãã®ãã®ã®å®åãèŠã«ãããŸããã çµæãšèå¯ â Gemma 4 vs Gemini è©äŸ¡ 30 ä»¶ã§ã®å®æž¬ããŸãšããŸããããŒã¹ã©ã€ã³ïŒç·åœ¢ååž°ïŒã¯ MAE 2.826 / MAPE 19.62 % / ãã€ã¢ã¹ +0.092 ã§ããã ã¢ãã« å®è¡ç°å¢ æé ã³ã¹ã MAE MAPE ãã€ã¢ã¹ ç·åœ¢ååž°ããŒã¹ã©ã€ã³ â â â 2.826 19.62% +0.092 Gemini 2.5 Flash-Lite APIã»äžŠåÃ8 10.6 ç§ 2.10 å 3.177 17.42% â2.203 Gemini 2.5 Flash-Lite APIã»çŽå 64.9 ç§ 2.15 å 3.127 17.28% â2.167 Gemini 3.5 Flash APIã»äžŠåÃ4 93.6 ç§ 29.61 å 3.157 17.11% â2.283 Gemini 3.5 Flash APIã»çŽå çŽ 5.3 å 28.97 å 3.340 18.24% â2.367 Gemma 4 31B Dense AI Studioã»çŽå çŽ 27 å 0 å 3.317 18.25% â2.39 Gemma 4 26B a4b AI Studioã»çŽå çŽ 1.4 æé 0 å 3.213 17.58% â2.24 Gemma 4 26B ããŒã«ã«ã»çŽå çŽ 10.9 æé 118.21 å 11.566 71.14% â6.604 åã 30 ä»¶ã§ããå®è¡ç°å¢ã«ãã£ãŠæèŠæéã¯å€§ããªå·®ã«ãªããæéã®ã¯ã©ãŠã䞊åãšæé
ã®ããŒã«ã«çŽåã®éãã¯ãçŽ 3,700 å æ¯èŒå¯Ÿè±¡ãšããã¯ã©ãŠãLLMã¯ã Google ç³»åã®ã¢ãã«ã§ããããŸãã ãå
è¿°ã®éããGemma 4 㯠Gemini ãšåãç ç©¶åºç€ããçãŸããã¢ãã«ãªã®ã§ãããçšåºŠå
¬å¹³ãªæ¯èŒãšèšããã§ããããéžãã ã®ã¯æ¬¡ã® 2 ã€ã§ãã Gemini 2.5 Flash-Lite ïŒè»œéã¯ã©ãŠãã¢ãã«ïŒ â Gemma 4 ãšãã³ãããŒã¯åž¯ãã»ã©è¿ãããåããããã®è³¢ããªããããŒã«ã«ãšã¯ã©ãŠãã®ã©ã¡ããå²ã«åããããšããã³ã¹ãå¯Ÿå¹æãšãããŒã«ã«ã®ä»£æ¿ã«ãªãããããèŠã圹ã§ãã Gemini 3.5 Flash ïŒææ°ãã€ãšã³ãïŒ â ã€ãå
æ¥ã2026 幎 5 æ 19 æ¥ã® Google I/O 2026 ã§ GA ã«ãªã£ãã°ããããã³ã¹ãããããŠäžäœã¢ãã«ã«ããã°ãå·®ã¯åãŸãã®ãããšããäžéã確èªãã圹ã§ããäžä»£ã® 3.1 Pro æ¯ã§å€§åã®ãã³ãããŒã¯ãäžåããªããã äŸ¡æ Œã¯çŽ 25 % å®ããåºåã¯çŽ 4 åéã ãšãããŠããŸãã䞊å4ä»¶ã«ãªã£ãŠããã®ã¯1åãããã®ã¬ãŒãå¶éãGemini 2.5 Flash Liteãããå³ããããã èå¯ã 3 ç¹ æããŸãã ãŸãã OllamaããŒã«ã«å®è¡ã¯ãå®è¡æéãã³ã¹ããçªåºããŠéãã åã 30 ä»¶ã«å¯ŸããŠãGemini 2.5 Flash-Lite ã¯äžŠåã§ 10.6 ç§ã»çŽ 2 åãããŒã«ã«ã® 26B ã¯çŽ 10.9 æéã»118.21 åãé床ã§çŽ 3,700 åãã³ã¹ãã§çŽ 60 åã®å·®ã§ããVRAM溢ããçºçãããããªæ¬²åŒµããªã¢ãã«éžå®ãè¡ã£ãå Žåããšããæè©ã¯ã€ããŸãããã远å ã³ã¹ãã¯é»æ°ä»£ã ãã ããå®ãããšããçŽæã«ã¯åããçµæãšãªããŸããã äžæ¹ã§ãããã¯ãVRAM ã«åãŸããªãã£ããšããã®æ°åã§ããããŸãã仮㫠RTX 4090ïŒVRAM 24 GBïŒã®ããã«ã gemma4:26b ïŒçŽ 17 GBïŒããŸãããšèŒã GPU ã ã£ããã©ãã§ããããããã§ã¯ãAI Studio çã® 26B ãšåãçŽ 1.4 æéã§çµãããšä»®å®ããŠã黿°ä»£ã詊ç®ããŸãã èšç®åŒã¯ æ¶è²»é»å(kW) à æé(h) à 31 å/kWh ïŒæ±äº¬é»å åŸéé»ç¯B 第2段éïŒã§ããæéã 1.4 æéã«åºå®ããæ¶è²»é»åã®åæã ãã 3 éãå€ããŠã¿ããšã以äžã®è¡šã®ããã«ãªããŸãã æ¶è²»é»åïŒPC å
šäœã®ç®å®ïŒ èšç®åŒ 30 ä»¶ã®é»æ°ä»£ 350 WïŒæ¬å®éšã®ããŒã«ã«æ©ãšåãåæïŒ 0.35 à 1.4 à 31 çŽ 15 å 450 WïŒRTX 4090 ã® TDPïŒGPU åäœããŒã¯ïŒ 0.45 à 1.4 à 31 çŽ 20 å 600 WïŒ4090 ãç©ãã PC å
šäœã®é«è² è·æïŒ 0.60 à 1.4 à 31 çŽ 26 å RAM éé¿ããã±ãŒã¹ã«å¯ŸããŠã4 åã® 1 以äžã«ãšã©ãŸããŸããããã 1.4 æéã¯ã¯ã©ãŠãåŽã®æèŠæéã§ããã« GPU ãªãããã«éãã»å®ããªãå¯èœæ§ãé«ãããšã¯ãããGemini 2.5 Flash-Lite ã 2.1 åã«åãŸãããšãéã¿ããšã ãããŒã«ã« LLM ã¯é»æ°ä»£ã ãã ããå®ãïŒAPIã³ã¹ããGPUæè³ã«ãã£ãŠååã§ããããšããç¥è©±ã¯å®å
šã«åŠå®ããã ãšèšããã§ãããã åã 30 ä»¶ã Gemini 2.5 Flash-Lite ã®äžŠåå®è¡ã§åŠçããçµæãæèŠæé㯠10.6 ç§ ãµãã€ç®ã ã©ã® LLM ããé¢ç©ãšåŸæ©ã ãã®ç·åœ¢ååž°ïŒMAE 2.826ïŒã«ãMAE ã§åãŠãŠããŸããã äœååãã®ãã©ã¡ãŒã¿ãæã€ææ°ã¢ãã«ãã2 倿°ã®ããåçŽãªåŒã«åã³ãŸããã§ããã äžæ¹ã§ãææšMAPEãå€ãããšæ¯è²ã¯å転ããŸããçã§èŠã MAPE ã§ã¯ãLLM 矀ã¯ããã£ãŠ 17 % å°ã«åãŸããããŒã¹ã©ã€ã³ã® 19.62 % ãäžåããŸããã å¹³å誀差ã§ã¯è² ããçã§èŠãã°åã£ãŠããã MAE ã¯é«é¡ç©ä»¶ã®çµ¶å¯Ÿèª€å·®ã«åŒã£åŒµãããMAPE ã¯å®ãç©ä»¶ã®å€ãã察çã«æ±ããŸããã©ã¡ãã®ç©å·®ããæ¡ããã§ãåè
ããã®ãŸãŸå
¥ãæ¿ããããã§ããããã¯ããã©ã®ææšã§æž¬ããããæ±ºããããšããçµè«ãã®ãã®ã決ããŠããŸãããšããå®åçãªæèšã§ããã MAE ã§è² ããçç±ã¯ãããããè³æãšããã¿ã¹ã¯ãããããé¢ç©ã«å¯ŸããŠã»ãŒç·åœ¢ã§ããé¿ããããªãè€éãããäœãããã§ããããã¿ã¹ã¯ãåçŽãªãšããåçŽãªã¢ãã«ã忣ã®å€§åã説æããŠããŸããŸããããã« LLM ãæã¡èŸŒããšãããã£ãŠãã€ãºãäžä¹ãããçµæã«çµãã£ãŠããŸããŸãã æåŸã«ã ææ°ã»é«äŸ¡ãªã¢ãã«ã»ã©å¹ãããšã¯éããªãããšãæµ®ã圫ãã«ãªããŸããã Gemini 3.5 Flash ã¯ãGemini 2.5 Flash-Lite æ¯çŽ 14 åã®ã³ã¹ãïŒçŽ 30 åïŒããããŠã粟床ã¯ã»ãŒæšªã°ãã§ãããå°ãªããšããã®ç©ä»¶ã¿ã¹ã¯ã§ã¯ãäŸ¡æ Œã«èŠåãäžç©ã¿ã¯åŸãããªãã£ãããšããããšã§ãã èå¿ã®è¯ã³ã¹ãç©ä»¶å€å®ã§ãããã³ã¹ãã¹ã³ã¢ïŒå®è³æ ÷ äºæž¬çžå ŽïŒã 0.85 ãäžåãç©ä»¶ãããè²·ãåŸããšããŠæœåºãããšãããå®å®ããŠåããã¢ãã«ã¯ã©ããã»ãŒåãé¡ã¶ããæŸããŸãããçé 㯠JR äº¬æµæ±åç·ã»è²ç°é§
åŸæ© 4 åã® 2DKïŒå®è³æ 8.5 äžåïŒäºæž¬çžå Ž 11.2 äžåïŒã¹ã³ã¢çŽ 0.76ïŒã§ãããã«éµã®æšã»ãã¬ã¹ããã©ã·ãªã³ã® 2DK ãç¶ãããè²·ãåŸã¯ãããã 3 ä»¶ååŸã§ããããã¡ããä»ååãæ±ã£ãç©ä»¶ã®ã¹ããã¯ã¯éå®çã§ãã®ã§è©³çްãåå³ããå¿
èŠã¯ãããŸããã第äžå±€ã®æããšããŠã¯ååã«çµã蟌ããŠããã®ã§ã¯ãªãã§ãããããåŒã£è¶ããæ€èšããŠããååã«è©ŠããŠããã£ãŠFBãããã£ãŠããã°ãæ¡å€å®çšçãªã¢ããªãšããŠéçšã§ãããããããŸããã çŸåšå°ã®èŠç«ãŠãšå±æ å®éšãèžãŸããããŒã«ã« LLM ã®çŸåšå°ã®èŠç«ãŠãè¿°ã¹ãŸãã çŸæç¹ã§ã®çµè«ãšããŠãå®çšçãªã®ã¯ Google AI Studio ãã Gemma 4 ãå©ã 圢ã§ããããåŠç¿å©çšãšããæ·ããããã©ãç¡æã§äœ¿ããGoogle åŽã®èšç®è³æºãçšããŠå€§ããã®ã¢ãã«ãåé¡ãªãåããŸããå°ãªããšããå®¶åºçš GPU ã§ 17 GB çŽã®ã¢ãã«ãšæ Œéããããã¯ããã£ãšçŸå®çãªéžæè¢ã§ãããããã ãã ãã®ç¡ææ ããã€ãŸã§ç¶ããã¯åãããŸãã ãAIäŒæ¥ã¯æè³ãååãããã§ãŒãºã«å
¥ã£ãŠãããå©çã«ãªããªãèšç®è³æºãã©ããŸã§ç¡æã§äœ¿ãããŠãããããã¯å®å
šã«GoogleåŽã®çµå¶å€æã«å§ããããŠããŸãã æ¬¡ç¹ã¯ Gemini 2.5 Flash Lite ãªã©ã®è»œéã»é«éã¢ãã« ãçšãã ããšã§ãããïŒãã®èšäºã®å·çäžã« EOL ãçºè¡šãããŠããŸããŸãããâŠâŠç§»è¡å
㯠Gemini 3.1 flash Lite ã§ãããïŒãGemma 4 ã¯ãGemini 2.5 Flash-Lite ã®ãããªè»œéã»é«éãªã¯ã©ãŠãLLMãšæ¯ã¹ãŠãæšè«åã§ã¯äžæ®µå£ãå°è±¡ã§ãããè²»çšå¯Ÿå¹æãèãããšã軜éãªã¯ã©ãŠãLLMã¯å®ããŠãªã¿ãŒã³ã®å€§ããæè³ã§ãããšèããŸããå°ãªããšãç§ãªããã®éžæè¢ãéžã¶ã§ãããã ç¹°ãè¿ãã«ãªããŸãããä»åã®æ€èšŒã¯ããŒã«ã«LLMã®ãçŸåšå°ãæ¢ããããšãç®çãšããŠããŸããããã°ããã¯ã«ããLLMã®éçºç«¶äºã¯ãããªããç±³é²ã®å®å®éçºã®æ§çžãããŒã«ã«LLMã«ã€ããŠããéååãç¥èèžçæè¡ã®é²æ©ã«ãã£ãŠïŒãªããªãã ãŒã¢ã®æ³åçãªèšç®è³æºé¢ã®æ¹è¯ã«ãæåŸ
ãã€ã€ïŒããããªã軜éåã»ãã³ãããŒã¯ã¹ã³ã¢åäžãæåŸ
ãããŸããç¹ã«ä»åé¡æã«æãã Gemma 4 ã«ã€ããŠã¯ Gooole ãããªãææ¬²çã«éçºãé²ããŠããã®ã§ãä»åŸãšã泚èŠããŠããããã§ã ä»åŸã®èª²é¡ãšããŠã¯ãæ¬åœã®ã¿ã¹ã¯ã§ããæ ªåŒæè³ãšãŒãžã§ã³ãã«ãããã³ãããŒã¯ã§ãããããä»åãææ°ã® Gemini 3.5 Flash ãåãå俵ã§åããŸããããè³è²žäºæž¬ã¿ã¹ã¯ã§ã¯å²é«ãªã ãã§ãæç¢ºãªäžç©ã¿ã¯ãããŸããã§ããããã ã3.5 Flash ã®æ¬é ã¯ããšãŒãžã§ã³ããéèãŸããã®è€éãªã¿ã¹ã¯ã«ãããšãããŠããŸãïŒéèãšãŒãžã§ã³ãåãã®ãã³ãããŒã¯ïŒ Finance Agent v2 ïŒã§ã¯ãåäžä»£ã® Gemini 3.1 Pro ã倧ããäžåã£ããšå ±åãããŠããŸãïŒãã ãšããã°ããã®å·®ãåºãã®ã¯ä»åã®ãããªåçŽãªé¡æã§ã¯ãªããæ ªåŒæè³ãšãŒãžã§ã³ãã®ãããªè€éãªçµæžäŸ¡å€å€æãèŠããã·ãŒã³ã®ã¯ãã§ããæéãèŠã€ããŠæ¬æ¥ã®æŠå Žã§ãã¡ããšæž¬ã£ãŠããããã§ãã ãããã« 24 æé 365 æ¥çšŒåãç¶ãããç ããªãéšäžãã«ã¯ã黿°ä»£ãšããç¡èŠã§ããªãé¡ã®è«æ±æžãã€ããŠãŸãããŸãã1 kWh ããã 31 åã®ãã®åœã§ GPU ãæ¬æ°ã§æžäŸ¡ååŽãããããšèãããšããè¡ãçãå
ã¯ãœãŒã©ãŒããã«ãå°å
¥ããããšãããªããããããŸãããã ããŒã¿ãæå
ã«ãèšç®ãæå
ã«ãæåŸã¯é»åãŸã§æå
ã«ãããŒã«ã«åã®æ
ã¯ãæ¡å€ãã®å
ãŸã§ç¶ããŠããã®ããâŠâŠã 2026/06/04è¿œèš ãªããŠè©±ãããŠããããGoogleããGemma 4 12BãããªãªãŒã¹ããŸããããä»åã®ã¢ãã«ã¯ VRAM 16 GBã§åã ãšãããšãããããã·ã¥ãããŠããããã§ããAIéçºæŠäºã¯ç§é²åæ©ãããŒã«ã«LLMã® ãæ¬åœã®çŸåšå°ã ã«ã€ããŠã¯ããã²çããã®ã»ãã§æ€èšŒããã ããŸããšå©ãããŸãã ãªããŠéã®æªãïŒïŒ ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @kikuchi.s ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ