ã¯ãããŸããŠã éè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 ã¯ãã¹ã³ã¢ãä¿ã£ããŸãŸå䟡ã ããäžãã£ãããšèªãããšã¯ã§ããŸããã13.3% ãš 38.3% ã¯ãåãã¢ãã«ã®æ°åã§ããæšè«ã®ä¿æãšå§çž®ãããŒãã¹åŽã§å ãããš ã¹ã³ã¢ã¯çŽ 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å©æŽ»çšæšé²ãªã©ãè¡ã£ãŠããããã©ã€ããŒãã§ãç©æ¥µçã«AI課éãããŠè©ŠããŠãã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 ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ããšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éš æŠç¥ãœãªã¥ãŒã·ã§ã³ 1 éšã®è±ã§ãã æ®æ®µã¯Webã¢ããªãã¹ããã¢ããªã®æ¡ä»¶ãªã©ãæ
åœããŠããŸããããšãè¶£å³ã§AIãå匷ããŠããŸãã äžéã§ã¯Claude Codeãå¹
ãå©ããããªãããªããCodexã«ãã ããç¶ããŠããç§ã ããããæµè¡ãã«ä¹ããã°ãšæããä»åã¯Claude Codeã®èšäºãæžããŠã¿ãŸãã ããããå··ã§ã¯superpowersãªããŠãã®ã話é¡ã«ãªã£ãŠããããããããªãã§ããã ãšã³ãžãã¢ã®è±ç¥ãçµéããAIé§åéçºã®ãã¹ããã©ã¯ãã£ã¹ãsuperpowersã ãããããã°ãClaude Codeåå¿è
ã®ç§ã§ããã䞊ã¿ã®éçºãã§ããã¯ãã§ãã ãã®èšäºãæžãçµãã£ãŠããããã«ã¯ããã£ãšCodex掟ããClaude掟ã«å¯è¿ã£ãŠããã§ãããã ã§ã¯ããã£ãããã£ãŠãããŸãããã 1.Claude Codeãšã¯ 2.superpowersãšã¯ 3.Claude Codeã®åæã»ããã¢ãã 4.superpowersã®ã€ã³ã¹ããŒã« 5.superpowers-brainstorming 6.superpowers-using-git-worktrees 7.superpowers-writing-plans 8.superpowers-subagent-driven-development or executing-plans 9.superpowers-test-driven-development 10.superpowers-requesting-code-review 11.superpowers-finishing-a-development-branch 12. åäœç¢ºèª Plan2ã«ã€ã㊠ãããã« Codexãšã®æ¯èŒ éçºå¹çãšã³ã¹ã æ¡çšæ
å ± 1.Claude Codeãšã¯ Claude Codeã¯ãAnthropic瀟ãæäŸããŠããAIã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãã ã¿ãŒããã«äžã§åäœããã³ãŒãã®çæã»ä¿®æ£ã»èª¿æ»ã»ãã¹ãå®è¡ãªã©ã察話圢åŒã§é²ããããšãã§ããã ãAIã«ã³ãŒããæžããŠããããã ãã§ãªããéçºäœæ¥ãã®ãã®ãäžç·ã«é²ããããšãã§ããããŒã«ã 2.superpowersãšã¯ superpowersã¯ãClaude CodeãããããŸã掻çšããããã®ã¯ãŒã¯ãããŒéã ãã¬ã¹ããèšç»äœæãTDDãã³ãŒãã¬ãã¥ãŒäŸé Œãªã©ãéçºã®åãã§ãŒãºã§äœ¿ããâåâãçšæãããŠããã Claude Codeã«ä»»ãããã«ããã®ã§ã¯ãªãã人éãšAIãããŸã圹å²åæ
ããããã®ãã¹ããã©ã¯ãã£ã¹éã ããã«ãããVibe CodingãSpecé§åéçºã®å質ã®åºäžããæåŸ
ã§ããã åèïŒ superpowers â»MITã©ã€ã»ã³ã¹ superpowersã¯ä»¥äžã®ã¯ãŒã¯ãããŒã§æ§æãããŠããŸãã èŠä»¶ãæŽçãã äœæ¥ç°å¢ãåãã å®è£
èšç»ãç«ãŠã ãã¹ããæžããªããå®è£
ãã(TDD) ã¬ãã¥ãŒãã ãã©ã³ããä»äžãã ãŸãã brainstorming ã§å®è£
ãããå
å®¹ãæŽçããŸãã ãããªãã³ãŒããæžãå§ããã®ã§ã¯ãªããClaude Codeã質åãããªãããç®çã»ä»æ§ã»ä»£æ¿æ¡ã»æžå¿µç¹ãæç¢ºã«ããŸãã ããã§åºããå
容ããåŸç¶ã®èšèšãå®è£
èšç»ã®åå°ã«ãªããŸãã æ¬¡ã«ã using-git-worktrees ã§äœæ¥çšã®ç¬ç«ããç°å¢ãäœæããŸãã æ°ãããã©ã³ããšworktreeãçšæããããšã§ãæ¢åã®äœæ¥ç°å¢ãå£ããã«å®è£
ãé²ããããŸãã AIã«å®è£
ãä»»ããããã§ãå®å
šã«è©Šè¡é¯èª€ã§ããç¶æ
ãäœãå·¥çšã§ãã ãã®åŸã writing-plans ã§å®è£
èšç»ãäœæããŸãã 倿Žãããã¡ã€ã«ãå®è£
æé ãæ€èšŒæ¹æ³ãå°ããªã¿ã¹ã¯ã«åè§£ããŸãã READMEã§ã¯ããããžã§ã¯ãçè§£ãæµ
ããžã¥ãã¢ãšã³ãžãã¢ã§ãé²ãããããããæç¢ºãªèšç»ãäœãããšèª¬æãããŠããŸãã After you've signed off on the design, your agent puts together an implementation plan that's clear enough for an enthusiastic junior engineer with poor taste èšç»ãã§ãããã subagent-driven-development ãŸã㯠executing-plans ã§å®è£
ãé²ããŸãã åè
ã¯ã¿ã¹ã¯ããšã«ãµããšãŒãžã§ã³ããå²ãåœãŠã仿§æºæ ãšã³ãŒãå質ã確èªããªããé²ããæ¹åŒã§ãã åŸè
ã¯èšç»ã«æ²¿ã£ãŠãããåäœã§å®è¡ãã人éã®ç¢ºèªãã€ã³ããæã¿ãªããé²ããæ¹åŒã§ãã å®è£
äžã¯ã test-driven-development ã«ãã£ãŠTDDã®æµããéèŠãããŸãã ãã¹ããå
ã«æžãããŸã ãããã¯ãã³ãŒãããªãã®ã§ãã¹ãã倱æããããã¹ããã°ãªãŒã³(æ£åžžã«éé)ããããã«å®è£
ã远å ããŠãããšããRED-GREEN-REFACTORã®æµãã§ãã æåŸ
ããæ¯ãèããå
ã«å®çŸ©ããããšã§ãAIããããã£ãœãåãã³ãŒãããæžããŠçµããã®ã§ã¯ãªãããã¹ãã§ç¢ºèªå¯èœãªåœ¢ã§å®è£
ãé²ããããŸãã ã¿ã¹ã¯ã®åéã«ã¯ã requesting-code-review ã§ã³ãŒãã¬ãã¥ãŒãè¡ããŸãã å®è£
ãèšç»ã«æ²¿ã£ãŠãããããã°ãèšèšäžã®åé¡ããªããã確èªããŸãã é倧ãªåé¡ãããå Žåã¯ã次ã«é²ãåã«ä¿®æ£ããæµãã«ãªããŸãã æåŸã«ã finishing-a-development-branch ã§éçºãã©ã³ããä»äžããŸãã ãã¹ãçµæã確èªããããŒãžããã®ããPull Requestãäœãã®ãããã©ã³ããæ®ãã®ããç Žæ£ããã®ããéžæããŸãã äžèŠã«ãªã£ãworktreeã®çä»ããŸã§å«ããŠãéçºäœæ¥ãå®äºãããŸãã ã€ãŸãsuperpowersã¯ã ãèãã â åãã â èšç»ãã â ãã¹ããã â å®è£
ãã â ã¬ãã¥ãŒãã â ä»äžããã ãšãã å
å®ãªéçºããã»ã¹ãAIãšãŒãžã§ã³ãã«å®ãããããã®ä»çµã¿ ã§ãã READMEã«ã âThe agent checks for relevant skills before any task. Mandatory workflows, not suggestions.â ãšããããã«ã匷å¶åãæã£ãã¯ãŒã¯ãããŒãšããŠèšèšãããŠããŸãã 3.Claude Codeã®åæã»ããã¢ãã 瀟å
ã§Claude Enterpriseã®ã©ã€ã»ã³ã¹ãè²°ã£ãã°ããã§ãŸã£ãããªç¶æ
ã ãšããããæšæ¶ããŠããŒã¯ã³ãç¡é§é£ãããŠãããŸãã VSCodeã«Claude Codeã®æ¡åŒµæ©èœãå
¥ããŸãã ã¡ãªã¿ã«ãCodexãšClaude Codeã®ã€ã³ã¹ããŒã«æ°ãšã¬ãã¥ãŒã¯ãããªæãã Claude Codeã®ã»ããã·ã§ã¢ãè©äŸ¡ãé«ãçŸç¶ã ã€ã³ã¹ããŒã«ãå®äºãããšããã°ã€ã³æ¹æ³ãåãããŸãã å
ã»ã©ã®Claude Enterpriseã®ã¢ã«ãŠã³ãã§ãã°ã€ã³ããŸãã æ¥ç¶ç¢ºèªã衚瀺ãããã®ã§ããæ¿èªããããæŒäžããŸãã èªèšŒã³ãŒããåãããã®ã§ãVSCodeã«æ»ã£ãŠè²Œãä»ããŸãã éããŸãããäœãã坿ããããã£ã©ã¯ã¿ãŒãæµ®ããã§ããŸãã æšæ¶ããŠç¡é§ã«ããŒã¯ã³ãæ¶è²»ããŠãããŸãããã ã¡ãªã¿ã«åœŒã¯äœãšããååãªãã ãããšèª¿ã¹ãŠã¿ããšããããClawd(ã¯ããŒã)ããšããããã§ãã Crab(è¹)ã®ãã£ã©ã¯ã¿ãŒããããããã§ãããããããããClawdã æ¬¡ã¯ã¿ãŒããã«ã§äœ¿ãããã®ã€ã³ã¹ããŒã«ã Pathãéããã€ã³ã¹ããŒã«ç¢ºèªã ãããåããŠã®èµ·åã ã ã¿ãŒããã«ã®è²åããéžæããŸãã(Dark mode) ãã°ã€ã³æ¹æ³ãéžæããŸãã èªèšŒã«æåããŸããã èªã¿é£ã°ã人ãå€ããããããŸããããããã«ãšã£ãŠã倧äºãªããšãæžããŠãããŸãã ãããªmistakesãæ¥µåæžããã®ããããã玹ä»ããsuperpowersã§ããã ä»åã¯åããŠã®å©çšãªã®ã§ãæšå¥šèšå®ãéžæããŸãã ã«ã¬ã³ããã£ã¬ã¯ããªã«å¯Ÿããæš©éãèãããŠãŸããããã¯èªç±ã«æäœããŠããã®ã§YesãéžæããŸãã ã»ããã¢ãããå®äºããŸããã 4.superpowersã®ã€ã³ã¹ããŒã« å
¬åŒã®ããŒã±ãããã¬ã€ã¹ããã€ã³ã¹ããŒã«ããŸãã ãã®repoã ãã§ã®ã€ã³ã¹ããŒã«ãéžæããŸãã superpowersãæã«å
¥ããŸããã æå¹åããŸãã 5.superpowers-brainstorming ããŠãæºåãæŽã£ãã®ã§AIãšãã¬ã¹ãããŠã¿ãŸãã superpowersãäœã«ã€ããŠè°è«ããããã ãïŒã æ¥æ¬èªããããã®ã ãããïŒ ãã ã®ToDoã¢ããªããã€ãŸããªãã®ã§ãçµç¹åãã®ã¿ã¹ã¯ç®¡çããŒã«ãããŒãã«ããŠã¿ãŸãã æ¥æ¬èªã§è¿ã£ãŠããŸããã ãªãã»ã©ãã¢ãã¯ãèŠãªããæ¹éãæ±ºããŠããæ¹æ³ãããããã§ãããã£ãããªã®ã§äœ¿ã£ãŠã¿ãŸãã brainstorming ã®ã¹ãã«ãèªã¿ãããšèšã£ãŠããã®ã§èš±å¯ããŸãã ãã¬ã¹ããå§ãŸããŸããã äžèŠæš¡ãéžæããŸãã ToDoã¿ã¹ã¯ã®æ¯ãæ¹ããŠãŒã¹ã±ãŒã¹ãåãããŠããŸããå
šéšå¿
èŠãããªã®ã§ããã®ããã«åçããŸãã ããšã§Claude CodeãæããŠãããã®ã§ããããäžæ12人ãã¯ãäžå¯Ÿå€ãã®èª€åãšã®ããšã ã¿ã¹ã¯ã®ãªãã€ã³ãæ¹æ³ã§ãããèªåãéžæããŠã¿ãŸãã éç¥æ¹æ³ã¯ãµãŒãã¹å
ã«ããŸãããã èªèšŒã¯ãµãŒãã¹ç¬èªãéžæããŸãã ãããã€å
ã¯AWSãæ³å®ããŠããã®ã§ã¯ã©ãŠããéžæããŸãã ã¿ã¹ã¯ã®é²æç¢ºèªãã§ãã人ã§ãããè€æ°éžæå¯ãšã®ããšã§3ã€éžæããŠã¿ãŸãã ã¹ã³ãŒããåºãããããã§ãMVPãèãããŠããŸãã ãŸããã£ããäžæéä¿¡ã®å®è£
ããå
¥ã£ãŠã»ããã§ããã â»MVPïŒMinimum Viable ProductïŒ ããã¯çµ¶å¯Ÿã«èããããšæã£ãŠããŸãããå®äºã®å®çŸ©ã§ãã ããã¯ãµãŒãã¹äžã§ãå¯Ÿå¿æžã¿ããæŒãããä»çµã¿ã§è¯ãã§ãããã èšèšã®ç¢ºèªãå§ãŸããŸããã ãã¢ã¢ããªã§Multi-AZã¯ãªãããããŸããããããã¯ãéçºã«äœ¿ãããè©äŸ¡ãããã®ã§ããªãããªæ§æã§ãããŸãããã ãéåæãªãã§ããããšåçããŸãã æ¬¡ã¯ããŒã¿ã¢ãã«ã§ãã AssignmentãšããäžéããŒãã«ã§äººãšã¿ã¹ã¯ãçŽã¥ããŠããŸããããããŠããã§ã¹ããŒã¿ã¹ç®¡çãããŠããŸãã Notificationã§éç¥ã¬ã³ãŒãã管çããæ§æã«ãªã£ãŠããŸããè¯ããšæããŸãã ãªãã€ã³ãã¯è€æ°åçºçããå¯èœæ§ãããããããã®ããŒãã«ã§ç®¡çããŸãã è¯ãèšèšã§ãããèªåã§èšèšããã«ããŠããããããšæããŸãã å
ŒåãšããããšããããããªããŸãããä»åã¯ã·ã³ãã«æ§æã§ãããŸãããã æ¬¡ã¯ãŠãŒã¹ã±ãŒã¹ã®ã¬ãã¥ãŒã§ãã ã¡ãã£ãšãåæéçºã§ã¯äžèŠãªéšåãããã®ã§çç¥ãäŸé ŒããŸãã æ¬¡ã¯èªèšŒã»èªå¯åšãã®ç¢ºèªã§ãã ããã®å®è£
ãåãããã®ã§æç€ºããŸãã æ¬¡ã¯ãšã©ãŒãã³ããªã³ã°åšãã®ç¢ºèªã 次ã¯ãã¹ãæŠç¥ã§ãã åæéçºãšããŠã¯ååãããèšç»ã ãšæããŸãã ãããŸã§ã®å
容ãèšèšæžã«ãŸãšããŠãããããã§ãã èšèšæžã®äœæãå§ãŸããŸããã 6.superpowers-using-git-worktrees ããŒã«ã«ã«gitãå
¥ããŠããããwriting-plansã«åŒãç¶ããŸãã 7.superpowers-writing-plans åŒç¶ããçµãããŸããã ä»åã¯Plan1ãšPlan2ã«åãããPlan1ã§MVPãéçºããPlan2ã®æ¹ã§ãããã€åšããèšç»ããŠããããã§ãã ã¡ãªã¿ã«ããããŸã§ã®äœæ¥ãccusageã§ç¢ºèªãçŽ$7ã§ããã $7ã...å人å©çšã ãšå³ãããª...ã 8.superpowers-subagent-driven-development or executing-plans 次ã¯ãã®èšç»ãå®è¡ã«ç§»ããŠããããŸãã é²ãæ¹ã¯1ã€ã®ãšãŒãžã§ã³ãã§é次å®è¡ãããããµããšãŒãžã§ã³ããé§äœ¿ããŠãã©ã¬ã«ã«éçºããããéžã¹ãŸãã ä»åã¯ãã«ãã¯ãŒãèŠããã®ã§ããµããšãŒãžã§ã³ããéžæããŸãã ãµããšãŒãžã§ã³ãã®ã¹ãã«ãèªã¿èŸŒãŸããŸããã 9.superpowers-test-driven-development ãã£ãããåºæ¬çã«ã¯Yesãå©ãäœæ¥ã«ãªãã®ã§ã¹ã¯ã·ã§ã¯äžéšå²æããŸãã (AIãšãŒãžã§ã³ãã«èš±å¯ããæš©éã確èªãã€ã€) Task 0.1ãå®äºããŸããããããŸã§30åãããã æ¥åPCã«dockerãæªã€ã³ã¹ããŒã«ã ã£ããããããã§äººéåŽã«ããŒã«ãæž¡ã£ãŠããŸããã ãäžå¯§ã«æé ãŸã§èšèŒããŠãããŠããã®ã§ã察å¿ããŠAIãšãŒãžã§ã³ãã«ããŒã«ãæ»ããŸãã ã€ã³ã¹ããŒã«ãå®äºããã®ã§ãç¶ããäŸé ŒããŸãã wslã®ããŒãžã§ã³ãå€ããŠDockerãèµ·åã§ããã«äººéã«è¿ã£ãŠããã®ã§ã察å¿ããŠç¶ããäŸé ŒããŸãã ããŒã«ã«ã§Postgresèµ·åãæ¥ç¶ç¢ºèªãŸã§ããŸããããããŸã§40åãããã§ããããã TDDçšã®ç°å¢ã»ããã¢ãããå§ãŸããŸããã ç°å¢ã®ã»ããã¢ãããçµãã£ãã®ã§ããããããµããšãŒãžã§ã³ããé§äœ¿ããŠã³ãŒãã£ã³ã°éšåãé²ããŠããããŸãã ãµããšãŒãžã§ã³ãã§ã®éçºã«é¢ããã¹ãã«ãèªã¿èŸŒãŸããŸããã ãã¹ã¯ãŒãèªèšŒéšåã®ä»®å®è£
ãçµãã£ãããã§ãã TDDã§ãã¹ãã³ãŒãâãããã¯ãã³ãŒãã®é çªã§ã³ãŒãã£ã³ã°ãé²ãã§ããããšããã¡ã€ã«ãããããããŸãã ãã¹ãã³ãŒãã«ã¯ããã·ã¥åããã¹ã®æ€èšŒã®æ£åžžç³»ãç°åžžç³»ãæžãããŠãŸãã ã¡ãã£ãšãã¹ããå°ãªãæ°ãããŸãããããšã§äŒç·ååããã®ã§ã¹ã«ãŒããŠãã ããã 10.superpowers-requesting-code-review éšåã®éçºã®ãã³ã«ãã³ãŒãã¬ãã¥ãŒãåŒãã§ããŸããã ç»åã®äžå€®ä»è¿ã«ãã¹ãå質ã«é¢ããèšèŒããããŸãã å
ã»ã©ã®ãã¹ãã±ãŒã¹ã¯ãã®èгç¹ã«ééããå質ã«ãªã£ãŠããããšãããããŸãã Test quality â Does the test verify behavior (not implementation)? Does it cover both happy path and one negative case (wrong password)? Does it avoid mocking the thing being tested? æ¬¡ã¯æš©ééšåã®TDDãå§ãŸããŸããã å
ã«ä»åã®3ã€ã®æš©éã§ã®ãã¹ãã±ãŒã¹ãäœæããŠããããšãããããŸãã 倱æãã¹ãã®äœæã倱æç¢ºèªãå®è£
ãæå確èªãšããRED-GREENã®ãµã€ã¯ã«ãç¹°ãè¿ããŠéçºãé²ãã§ãããŸãã ã³ãŒãã¬ãã¥ãŒã§ãprismaåŽã®æš©éãšã¢ããªå
ã§ã®æš©éã§éè€ç®¡çã«ãªãããããã®æžãæ¹ã¯ãããŠã»ãããšã¬ãã¥ãŒã§ææãåããŠãŸããã ãã®ã€ã·ã¥ãŒãããšã«å®è£
è
ãä¿®æ£ã«å
¥ã£ãŠãŸãã ãªãã ããããŒã éçºã£ãœããªã£ãŠããŸãããã 11.superpowers-finishing-a-development-branch Plan1ã®Phase1ãçµãã£ãã¿ã€ãã³ã°ã§ãfinishing-a-development-branchã®ã¹ãã«ãèªãŸããŸããã ãã€ã°ã¬ãŒã·ã§ã³ãã¹ããéããŠãããŸããã 12. åäœç¢ºèª åäœç¢ºèªæ¹æ³ãèããŠããã®éãã«èµ·åããŸãã ãã°ã€ã³ç»é¢ãéããã®ã§ãã°ã€ã³ããŠã¿ãŸãã ãã°ã€ã³ã§ããŸããã ãŸã æå°éã®æ©èœãããªãã®ã§ãåŒãç¶ãéçºãç¶ããŸãã å
šäœã§Phase7ã®ãã¡ããŸã Phase1ã®ç¶æ
ã§ãã Phase2ã¯ã¿ã¹ã¯äœæåšãã 1æéããããªããããã§ãPhase2ãå®äºã Phase3ã¯éç¥åšãã®å®è£
ã Phase4ã¯ãªãã€ã³ããŒåšãã®å®è£
ã Phase5ã¯ããã·ã¥ããŒãåšãã®å®è£
ã Phase6ã¯E2Eãã¹ãã®ç°å¢æ§ç¯ã E2Eãå®è¡ãããšããã1ä»¶passããŠã2ä»¶failedã«ãªããŸããã çµæãã³ããããŠãClaude Codeã«è¿ããŸãã 2ä»¶passããŠã1ä»¶failedã«ãªã£ãŠããŸããã å床ããšã©ãŒãã°ãClaude Codeã«é£æºããŠä¿®æ£ãäŸé ŒããŸããã åå®è¡ãããããE2Eã«ãã¹ãŠåæ ŒããŸããã ã¡ãªã¿ã«ãE2Eã®1ã€ç®ã®äžèº«ã¯ãããªæãã§ãã ãäŸé Œäœæ â æ
åœè
ãå¯Ÿå¿æžã¿ã«ãã â äŸé Œè
ã鲿ã確èªãããäžé£ã®æ¥åãããŒããã©ãŠã¶äžã§ç¢ºèªãããã¹ãã«ãªã£ãŠããŸãã 2ã€ç®ã¯ãããªæãã éšçœ²ç®¡çè
åãããã·ã¥ããŒãã®E2Eãã¹ãã§ãã ãDBãåæåâãŠãŒã¶ãŒãäœæâã¿ã¹ã¯ãçŽæ¥DBã«äœæâ2人åã®å²ãåœãŠãäœæâéšçœ²ç®¡çè
ã§ãã°ã€ã³âããã·ã¥ããŒããéãâè¡šç€ºãæ€èšŒ(æ£åžã1/2 ãèŠããããš)ããšããæµãã«ãªã£ãŠããŸãã 3ã€ç®ã¯ãããªæãã ãªãã€ã³ããŒæ©èœã®E2Eãã¹ãã§ãã ãDBãåæåâãŠãŒã¶ãŒãäœæâã¿ã¹ã¯ãçŽæ¥DBã«äœæâæ
åœè
ãžã®å²ãåœãŠãäœæâãªãã€ã³ããŒAPIãå®è¡âæ
åœè
ã§ãã°ã€ã³âéç¥ç»é¢ã確èªããšããæµãã«ãªã£ãŠããŸãã E2Eã«ééããããšãäŒãããšãPhase7ã«åãæãããŸããã æ°æéåŸãPlan1ããã¹ãŠå®äºããŸããã ã¡ãªã¿ã«ããããŸã§ããã£ãã³ã¹ãã¯çŽ$98(â1äž5åå)ã§ããã Plan2ã«ã€ã㊠AWSãžã®ãããã€ã¯Codexã§ã容æã«ã§ããã®ã§ãä»åã®èšäºã§ã¯å²æãããŠããã ããŸãã ãã®ãããã®æš©éç§»è²åšãã«ã€ããŠã¯ éå»ã®èšäº ãåç
§ããŠãã ããã ãããã« Codexãšã®æ¯èŒ Codexãšæ¯ã¹ãŠèšç»ç«ãŠãŠèªåŸçã«èµ°ãèœåãé«ã Codexãšæ¯ã¹ãŠã³ã¹ããé«ã èªèµ°ããŠããããã1æ¥åœããã®äœæ¥éãå€ã èšç»ãç«ãŠãããšã«ãããŒã¯ã³ãæ¶è²»ãã ãµããšãŒãžã§ã³ãã䜿ããšçšã«ãã³ã°ãã ãã³ã°ããéã«ã¯ctrl+oã§ç¶æ
ã確èªããctrl+cã§æ¢ããŠãããåå®è¡ãäŸé Œããå¿
èŠããã£ãã ããã«ããã®éã«superpowersã®ãµã€ã¯ã«ããå€ããããšããã£ãã ãã®å Žåã以äžã®ããã«åœä»€ããŠsuperpowersã®ãããŒã«åŒ·å¶çã«æ»ããŠãããå¿
èŠããã£ãã ããã³ããïŒãã³ã°ããŠããããäžæåæ¢ããŸãããsuperpowersã®ã¹ãã«ã確èªããŠTDDã§ã®éçºãç¶ç¶ããŠãã ããã éçºå¹çãšã³ã¹ã ãããŸã§çŽ1ïœ2æ¥éã§ããã(ã»ãã®äœæ¥ãããªããè£ã§åãããã ã) ã³ã¹ãã1ïœ2äžåçšåºŠã§ããã BtoC/BtoBæ¡ä»¶ã®äžè¬çãªéçºã§ã¯ãããã¯ãã®åæéçºã«ããªãã®æéãšã³ã¹ããããããŸãã(æè¡çã«ã€ãŸãããšãå€ã
ãã) ããã倧å¹
ã«åæžã§ãããšæããšã人åéçºã®æä»£ã«ã¯ããæ»ããªããªãšæããŸãã æ¡çšæ
å ± å
æ¥Xã§ãJTCã§ã¯ç€Ÿå
ã®AIå©çšãé²ãã§ãããåãã«ãããã¿ãããªã®ã話é¡ã«ãªã£ãŠãŸããããåŒç€Ÿã¯ãã®æ°å¹Žéã§åçš®AIããŒã«ã®ã©ã€ã»ã³ã¹ãç³è«åšããããªãæŽåããããã¡ããã¡ãåããããã§ããAIã䜿ã£ãŠä»äºãããSIã®æ¹ã¯ãã²ãæ€èšãã ãããã â ã®ã¹ã¿ãŒãæŒããŠããã ãããšå¬ããã§ããå±ã¿ã«ãªããŸãã æåŸãŸã§èªãã§ããã ããããããšãããããŸããã ãšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éšã§ã¯äžç·ã«åããŠãã ãã仲éãåéäžã§ãã以äžã®ãªã³ã¯ãããé¡ãããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ äžéæ¡çš-ãšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éš æ°åæ¡çš-ãšã³ã¿ãŒãã©ã€ãºç¬¬äžæ¬éš å·çïŒ è± è¯æ²» (@hanabusa.ryoji) ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ïŒã¯ãã¹ã€ãããŒã·ã§ã³æ¬éš AIãã©ã³ã¹ãã©ãŒã¡ãŒã·ã§ã³ã»ã³ã¿ãŒã®ææ±ã§ãã ä»åã¯ãé»éç·ç ã®ãOJTãªãŒããŒå¶åºŠãã«ãããå幎éã®OJTæéã§ãç§ãé
å±å
ã§çµéšããããšã玹ä»ããããšæããŸãã å
ã«å
¬éããããç§ã®OJTãªãŒããŒãæ
åœããŠãã ãã£ãææ¬ããã®èšäºãšããããŠèªãã§ããã ããšãOJTãªãŒããŒç®ç·ãšæ°äººç®ç·ã§ãåãOJTæéãã©ãæããŠããã®ãã®éããèŠããŠãããããããŸããã tech.dentsusoken.com é
å±å
ã«ã€ã㊠æ°äººæè²å¶åºŠã®è©³çŽ°ã¯ OJTãªãŒããŒåŽã®æ¯ãè¿ãèšäº ã§èª¬æãããŠããã®ã§ãããã§ã¯ç§ã®é
å±å
ã«ã€ããŠè»œãè§ŠããŠãããŸãã ç§ã¯æ°äººç ä¿®åŸãAIãã©ã³ã¹ãã©ãŒã¡ãŒã·ã§ã³ã»ã³ã¿ãŒïŒAITCïŒã®AIã³ã¢ãœãªã¥ãŒã·ã§ã³ã°ã«ãŒãã«é
å±ãããŸãããæŠèŠã¯ä»¥äžã®ãšããã§ããç°¡åã«ãŸãšãããšã çæAIãœãªã¥ãŒã·ã§ã³ãKnow NarratorïŒä»¥äžãKNïŒãã®éçºã¡ã³ããŒãšããŠé
å±ããã ãšããããšã§ãïŒ AITCã¯é»éç·ç ã®äžã«ããAIã«ç¹åãããããžã§ã¯ãããŒã ã«ãªããŸããããã«AITCã®äžã§ããœãªã¥ãŒã·ã§ã³ç³»ã°ã«ãŒãïŒãœãªã¥ãŒã·ã§ã³ã³ã¢ã»ãœãªã¥ãŒã·ã§ã³ã¢ããªïŒãšã³ã³ãµã«ãã£ã³ã°ã°ã«ãŒãã«åãããŠãããç§ãšæ°å
¥ç€Ÿå¡ã®æ¹ã¯ãœãªã¥ãŒã·ã§ã³ã³ã¢ã°ã«ãŒãã«æå±ããŠããŸãããœãªã¥ãŒã·ã§ã³ç³»ã°ã«ãŒãã§ã¯ããšã³ã¿ãŒãã©ã€ãºåãçæAIãœãªã¥ãŒã·ã§ã³ãKnow Narratorãã®éçºãé
ååäžã«åããæè¡æ€èšŒçãè¡ã£ãŠããŸãã Know Narratorã¯èªç€Ÿéçºãè¡ã£ãŠãããããã¯ãã«ãªããŸãã®ã§ããœãªã¥ãŒã·ã§ã³ç³»ã°ã«ãŒãã飿ºããªããéçºãããŠããŸããã€ãŸããæ°å
¥ç€Ÿå¡ã®æ¹ã¯éçºããŒã ã®äžå¡ãšãªãããããã¯ãéçºã«ãããæ§ã
ãªã¹ãã«ã身ã«çããªããããããã¯ãã®é
ååäžã«è²¢ç®ããŠããããšã倧ããªç®æšãšãªã£ãŠãããŸãã é
å±åœåã®èªåãšãå幎åŸã®èªå å幎ã§åãçµãã ããšã玹ä»ããåã«ãé
å±åœåã®èªåãã©ã®ãããªç¶æ
ã ã£ãã®ãããããŠOJTæéãå幎éãããåŸã«ã©ãå€ãã£ãã®ããå
ã«ç޹ä»ããããšæããŸãã é
å±åœåã®èªå ãŸããé
å±åœåã®èªåã®ç¶æ
ã«ã€ããŠç޹ä»ããŸãã çµæŽ æ
å ±å·¥åŠå°æ»ã®å€§åŠé¢å åºæ¬æ
å ±æè¡è
詊éšïŒåæ Œ ããã£ãŠããããš ããã°ã©ãã³ã° ïŒå€§åŠã®ææ¥ãç ç©¶ãéããŠãããã°ã©ãã³ã°ã®çµéšã¯ããçšåºŠãã£ã äžå®ã ã£ãããš ã¯ã©ãŠã ïŒ AWSãAzureçãã»ãšãã©è§Šã£ãããšããªã AI : ChatGPTãGitHub Copilotã䜿ã£ãããšãããçšåºŠ ããŒã éçº ïŒ ã¡ãããšåãçµãã ã®ã¯æ°äººç ä¿®ãåã㊠ããããŠæ¯ãè¿ããšãé
å±åœåã®èªåã¯éçºããŒã ã®ã¡ã³ããŒãšããŠãæŠåã«ãªããç¶æ
ã§ã¯å
šããããŸããã§ããã ãã ãããã¯ç¹å¥ãªããšã§ã¯ãªããå€ãã®æ°å瀟å¡ã䌌ããããªç¶æ
ã§é
å±ãããã®ã§ã¯ãªãããšæããŸãã é
å±å幎åŸã®èªå å幎åŸã«ã¯ãé
å±åœåã«æããŠããäžå®ããã¹ãŠãªããªã£ãããã§ã¯ãããŸããããå°ãªããšã ãäœãããããªãç¶æ
ã ããã¯ããªãåã«é²ãããšæããŸããäžå®ã ã£ããã€ã³ãã以äžã®ããã«å€ãããŸããã äžå®ã ã£ãç¹ããå幎åŸã«ã¯ã©ãå€ãã£ãã ã¯ã©ãŠã ïŒ Azureã®è³æ Œãäºã€ååŸ ããæ¥åã®äžã§ãAzureã®ç»é¢ã®ç°¡åãªæäœãã§ããããã«ãªã£ãã AI : çæAIãœãªã¥ãŒã·ã§ã³ã®æ©èœéçºãæ
ã ãæ®æ®µã®éçºã§ãAIãæŽ»çšããŠããããŸãã ææ°æè¡ã調æ»ããŠããŒã ã«å
±æ ããçµéšãéããŠãçè§£ãæ·±ããã ããŒã éçº ïŒ éçºããŒã ã«æ¬æ Œçã«å
¥ããKnow Narratorã®äž»èŠæ©èœã®1ã€ã 仿§æŽçããå®è£
ããã¹ããŸã§äžè²«ããŠäž»æ
åœãšããŠãããããåšå²ãšé£æºããªãããªãªãŒã¹ã«è²¢ç®ã§ããããã«ãªã£ãã é
å±åœåã®èªåãæ±ããŠããäžå®ã¯ãå幎ã®OJTæéãéããŠã å®éã«æãåãããªããå°ããã€åããŠããããšãã§ããŸãã ã å
·äœçãªåãçµã¿ãšãã®ææ³ ãããããã©ã®ãããªåãçµã¿ãéããŠæé·ã§ãããã«ã€ããŠæç³»åã§æ¯ãè¿ã£ãŠãããŸãã 10æã11æïŒãŸãã¯0ããäœã£ãŠåŠã¶ OJTãªãŒããŒåŽã®æ¯ãè¿ãèšäº ã§ã¯ããã®ææã®åãçµã¿ã次ã®ããã«æŽçãããŠããŸãããããèžãŸããŠãèªåã§ãæ¯ãè¿ããããšæããŸãã ãäž»ã«åãçµãã ããšã Know Narratorã1ãŠãŒã¶ãŒãšããŠããããè§Šã£ãŠæ©èœã®çè§£ãæ·±ãã OJTãªãŒããŒãåå¥ã«ã¿ã¹ã¯ãæç€ºããæ°äººã¯ãã®ã¿ã¹ã¯ãéæããããã®å®è£
ãè¡ã 1ãããªããžããªãäœããç°å¢ãæ§ç¯ããå®è£
â§ãã¹ããŸã§è¡ãå®è£
ããã»ã¹ã¯KNéçºãèžè¥²ããã¿ã¹ã¯åè§£âå®è£
âãã¹ãâã³ãŒãã¬ãã¥ãŒã®æµãã§é²ãã ãçãã身ã«çããŠã»ããã¹ãã«ã ãã§ããããšããæèŠãå³ãã£ãŠããã ãããã«ãå®å
šã«0ããå§ããŠèªåã§å°ããã€å®è£
ãç°¡åãªçæAIã¢ããªãäœã KNéçºã§ã®ãäœæ³ããã¡ãã§ãå°å
¥ããªããé²ããããšã§ããäœæ³ã«ãªããã¿ã¹ã¯ã®é²ãæ¹ãå°ã£ããšãã®çžè«ãªã©ãOJTãªãŒããŒãšã®äŒè©±ãéããŠæ
£ããŠããã ãå®éã«è£œåå°å
¥ãäºå®ãããŠããæ©èœã®å
é§ãæ€èšŒâ§ããŒã å
±æãè¡ãããšã§ãããŒã â§è£œåãžã®è²¢ç®ãæããŠããã ã å
±ææã«ã©ã®ããã«æ
å ±ãæŽçããã°äŒããããªã©ãããŒã å
ã§çµéšãã 10æã11æã¯ã補åéçºã«çŽæ¥é¢ãããšããããããŸã㯠Know Narratorãã©ã®ãããªè£œåãªã®ããç¥ãããšãšãKnow Narratorã®éçºç°å¢ã§äœ¿ãããŠããæè¡ã®ãã£ããã¢ãã ãé²ããããšã«åãçµã¿ãŸããã ãŸãKnow Narratorãšãã補åãç¥ãããã«ããŸãã¯å®éã«ã·ã¹ãã ãè§Šã£ãŠã¿ãããšããå§ããŸããã ããã§ã¯ããŠãŒã¶ãŒç®ç·ã§æŒãããã¿ã³ãäžéãè§Šããäœãèµ·ããããèŠãããè£åŽã§ã©ãåŠçãããŠããã®ãæ°ã«ãªã£ãç¹ãæ¥å ±ã«æžãããããªããé²ããŸãããåœæã¯ãæ°äººã«ä»»ããä»äºããªãããããã£ãŠããã®ããªïŒããšæã£ãŠããéšåããããŸãããããããéçºã«é¢ããã·ã¹ãã ãçè§£ããããã«éåžžã«éèŠãªæéã ã£ããšãä»ã«ãªã£ãŠæããŸãã æè¡ã®ãã£ããã¢ããã§ã¯ãGitã®ãªããžããªã1ããäœããç°¡åãªAIãã£ããã¢ããªãäœããªãããéçºã§å¿
èŠãªAIãéçºç°å¢ã®ç¥èãããã°ã©ãã³ã°ã®ãäœæ³ãªã©ãåŠã³ãŸãã OJTãªãŒããŒããå°ããªã¿ã¹ã¯ãäžã€ãã€ããããå¯Ÿè±¡ã®æè¡ããã£ããã¢ããããªãããå®è£
ãPull Requestã®äœæãã¬ãã¥ãŒãšããæµãã§é²ããŸããã åºæ¬çã«ã¯ãŸãèªåãªãã«é²ãããã®ææç©ã«å¯ŸããŠOJTãªãŒããŒã®ææ¬ããã ãã§ãªããä»ã®éçºã¡ã³ããŒãããã³ã¡ã³ããã¢ããã€ã¹ãããã ããã®ã§ãã¿ã¹ã¯ãé²ãããã³ã«æ°ããæ°ã¥ããåŸãããšãã§ããŸããã äžå³ã¯å®éã«äœã£ãŠããã¢ããªã§ãã ãªããžããªã1ããäœãããšã®ã¡ãªããã¯ããªããžããªå
ã®ãã¹ãŠã®ã³ãŒããèªåãææ¡ããŠããç¶æ
ã§é²ããããããšã«ãããšæããŸãããæ¢ã«ãããžã§ã¯ããšããŠæéãçµã£ãŠããããŒã ã«åŸããå
¥ããšãæ¢åã®ã³ãŒããçè§£ããã®ã«å€§ããªåŽåãããããŸãããŸããéçºç°å¢ã®æ§ç¯ãèšèšã®ããã«ãæ¢ã«æŽåãããŠããéšåãèªåã§äœãçµéšãåŸã«ãããšæããŸãã éçºããŒã ã§ã¯ãã³ãŒããã©ãŒããã¿ãŒããªã³ã¿ãŒãGitHubã§Pull Requestãåºãããšãã«åãèªåãã¹ããã¬ãã¥ãŒãªã©ãå質ãä¿ã€ããã®ä»çµã¿ãããã€ãæŽåãããŠããŸããããããä»çµã¿ã«ã€ããŠããèªåã§1ããæ§ç¯ããããšã§ãã®ã¡ã«éçºã¡ã³ããŒãšããŠæ¬æ Œçã«å
¥ã£ããšããã ããªããåæã«ããæãã«åããŠãããã§ã¯ãªããè£åŽã§ã©ã®ãããªä»çµã¿ãåããŠããã®ããã€ã¡ãŒãžãããã ãªããŸããã ãŸãããã£ããã¢ãããšåæã«ã補åã«ä»åŸå°å
¥äºå®ã ã£ãæè¡ã®èª¿æ»ãšæ€èšŒã宿œããŸãããæ€èšŒã§ã¯äžèšãã£ããã¢ããªã«æè¡ãçµã¿èŸŒã¿ããã®ããŠããŠãããã¥ã¡ã³ãåãéçºããŒã ã«é£æºããŸããã å
¬åŒããã¥ã¡ã³ãã®å
容ããã®ãŸãŸãŸãšããã ãã§ã¯ãªããæ°ã«ãªã£ããšããã远å ã§èª¿ã¹ãããå®éã«åãããã³ãŒããèŒãããããããšã§ãåããŠããŒã å
ã§äŸ¡å€ã®ããããã¥ã¡ã³ãã«ã§ãããšæããŠããŸãããã®ãšãäœæããããã¥ã¡ã³ããããã®åŸã®éçºã§ä»ã®ã¡ã³ããŒã®åèã«ãªã£ãã®ã¯ãèªåã«ãšã£ãŠãããããçµéšã§ããã ãã®ææã«Azureã®åºç€çãªè³æ Œãäºã€ååŸããŸããããšã¯ãããè³æ Œã ãã§ã¯æ¥åã«ã»ãšãã©å¿çšã§ããªãããšãåŸã
æããããšãå€ãã£ãã§ããæ¥å¹Žä»¥éã¯ãäœæãããã£ããã¢ããªãAzureäžã§ãããã€ããŠã¿ãŠãããããªãšãæããŸãã 11æã1æïŒKNéçºã«å
¥ã£ãŠæããå£ãšãæ
£ãããŸã§ 11æã®åŸåãã1æã«ã€ããŠåãçµãã ããšã¯ä»¥äžã®ãšããã§ããïŒ OJTãªãŒããŒåŽã®æ¯ãè¿ãèšäº ããåŒçšïŒ ãäž»ã«åãçµãã ããšã Know Narratorã®éçºç°å¢ãæ§ç¯ãç°å¢æ§ç¯æé è³æã®æ¹åãè¡ã Know Narratorã§ãªãªãŒã¹åã«è¡ã£ãŠããã·ããªãªãã¹ãè¡ã軜埮ãªãã°ã®ä¿®æ£äœæ¥ããã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ã 瀟å
ã§éå¬ãããŠããAI CodingåŠç¿äŒã«åå ãã ãçãã身ã«çããŠã»ããã¹ãã«ã ç°å¢æ§ç¯ãããªããæ¢åã®ç°å¢æ§ç¯è³æãã©ãæ¹åããã°ãããããããããªããèããŠããã ã Know Narratoréçºã«ãããã¿ã¹ã¯ãããªããªãããããŒã éçºâ§ããŒã ã¡ã³ããŒãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã«æ
£ãã Know Narratorã®ã³ãŒãããŒã¹ã«å¯Ÿããçè§£ãæ·±ãã 11æããã¯æ¬æ Œçã«éçºããŒã ã®äžå¡ãšããŠãã¿ã¹ã¯ãé²ããããšã«ãªããŸããã ãŸãã¯Know Narratorãéçºããããã® ç°å¢æ§ç¯ ãããŸãããææ¬ãããããããããã¥ããããã¥ã¡ã³ãã ãªãšäžæºã«æããããæ¬¡ããå
¥ã£ãŠãã人ãæãããšãããªã®ã§ã¬ã³ã¬ã³çŽããŠããããå¬ãããã¿ãããªããšãããèšãããŠããã®ã§ãå®éã«ããã€ãä¿®æ£ããããèªåã§æ°ããããã¥ã¡ã³ããäœã£ãããããŸããã å®éãäºå¹Žç®ã®å
èŒ©ãæšå¹Žç°å¢æ§ç¯ããéã«æ®ããŠããããã¥ã¡ã³ãã«å€§å€å©ãããããããã®ã§ã ããã¥ã¡ã³ããæ®ãããšã®éèŠæ§ ããè¶³ããªãã£ããèªåã§çŽããšããæèã¥ããããã§åŸ¹åºã§ããããªãšæããŸãã ç°å¢æ§ç¯ãçµãã£ãåŸã«æåã®å€§ããªã¿ã¹ã¯ãšãªã£ãã®ãã ãªãã¡ã¯ã¿ãªã³ã° ã§ããã å®ã¯æåã«åãçµãã¯ãã ã£ãæ©èœéçºãé²ããã«ããããã³ãŒãããŒã¹äžã«ããã€ãã®èª²é¡ããã£ãã®ã§ãããã®èª²é¡ã解決ããªãããšã«ã¯å®è£
äœæ¥ãé²ããããªããšå€æããããªãã¡ã¯ã¿ãªã³ã°ããã£ãŠã¿ãŸããããšããæµãã«ãªããŸããã åããŠæ¬æ Œçã«ããã¿ã¹ã¯ããªãã¡ã¯ã¿ãªã³ã°ãšããããšã§ãé²ãæ¹ãªã©ææ¬ããã«ããªããµããŒãã¯ããŠããã£ããã®ã®ãããã§ã ãã¶èŠæŠããŸããã ãªãã¡ã¯ã¿ãªã³ã°ã¯å€ããèŠãåäœãå€ããã«å
éšã®ãœãŒã¹ã³ãŒããæŽçããããšãªã®ã§ããªãã¡ã¯ã¿ãªã³ã°ã®åœ±é¿ç¯å²ã®ã³ãŒããã©ãåããŠããŠãã©ãã«äŸåé¢ä¿ãããããçè§£ããªããšåã«é²ããŸããã補åã®æ¢åã³ãŒããçè§£ãããšãããç¹ã«å€§å€ã§ããã æåã¯ããªãæéãããããŸããããã¿ã¹ã¯ãé²ãããã¡ã«æ¬¡ç¬¬ã«çè§£ããã¹ããŒããéããªãããªããšãé²ããŠãããŸãããçµå±ãéãèªãããšãéµã§ããïŒç¬ïŒãå ããŠãæ¢åã®ã³ãŒãããŒã¹ãéçºã»ä¿å®ããããããã«ããããªéå±€ã§åããããŠãããããããããã®åœ¹å²ãçè§£ããåŠçã®æµããã€ã¡ãŒãžã§ããããã«ãªã£ãããšã倧ããã£ãã§ãã ã³ãŒãããŒã¹ã®èšèšææ³ã«ã€ããŠã¯ææ¬ãããš1on1ã®æéã§äžåºŠãã£ããã³ãã¥ãã±ãŒã·ã§ã³ããšã£ãŠãèªåã®èªèã®ãºã¬ãæ¢åã®èšèšã§ã¢ã€ã¢ã€ããŠããç¹ãè§£æ¶ã§ããã®ã倧ããã£ãã§ãã ãã®çµéšããã ã³ãŒããèªãã ãã§ãªãã人ãšè©±ãããšã®éèŠæ§ ãåŠã³ãŸããã ãŸãããã®ææãããªãªãŒã¹åã® ã·ããªãªãã¹ã ãæ
åœããããã«ãªããŸããã ã·ããªãªãã¹ãã¯Know Narratorã®æ¯æã®ã¢ããããŒãåã«ãæå³ããåäœã«ãªã£ãŠãããããã§ãã¯ããããã«å®éã«è§Šã£ãŠç¢ºèªãããã¹ãã®ããšã§ãã ã·ããªãªãã¹ãèªäœã¯ç¹å¥é¢çœãäœæ¥ã§ã¯ãªãã§ããã10æã«Know Narratorãè§ŠããŸãã£ããšããšåãããã«ã補åã«å¯Ÿããçè§£ãé²ã¿ãŸããããŸãããããŸã§ã®ã¿ã¹ã¯ã§ã¯OJTãªãŒããŒã®ææ¬ãããšã®ã³ãã¥ãã±ãŒã·ã§ã³ãäžå¿ã§ãããããã¹ããé²ããäžã§ããã¹ããäœæããã¡ã³ããŒãæ©èœãéçºããã¡ã³ããŒãšããåãããæ©äŒãå¢ããŸãããããŒãããŒäŒç€Ÿã®æ¹ãéçºããŒã ã®ä»ã¡ã³ããŒãšãé¢ããããšãã§ãã飿ºã®å¹
ãåºããè¯ãæ©äŒã«ãªããŸããã 2æã3æïŒèªåãå®è£
ããæ©èœã®ãªãªãŒã¹ãçµéšãã 2-3æã«åãçµãã ããšã¯ä»¥äžã®ãšããã§ããïŒ OJTãªãŒããŒåŽã®æ¯ãè¿ãèšäº ããåŒçšïŒ ãäž»ã«åãçµãã ããšã ç¶ç¶ããŠKnow Narratoréçºã®æ§ã
ãªã¿ã¹ã¯ãæ
ã Know NarratorãšããŠå€§ããªã¢ããããŒãèŠçŽ ãšãªãããäž»èŠæ©èœãäœãåã ãçãã身ã«çããŠã»ããã¹ãã«ã èªåãå®è£
ããæ©èœã補åã«ä¹ãåã³ãå³ãã£ãŠããã ã倧ããªæ©èœéçºãéããŠãèšèšãå®è£
ããã¹ãã¯ãã¡ãããèªèº«ã®ã¿ã¹ã¯æŽçãã³ãã¥ãã±ãŒã·ã§ã³ã®ãªãŒããçµéšããŠããããããã¯ããªãŒããŒãããžãã¹ãªãŒããŒã«å¯ŸããŠãæ©èœã®éçºç¶æ³ã仿§ã«ã€ããŠèª¬æããçµéšãããŠããã ã 2æã»3æã§æ°ããéçºã¿ã¹ã¯ãšããŠè¡ã£ãããšã¯å€§ããåããŠ2ã€ã§ãã Know Narratorã§æ¡çšäºå®ã ã£ãæ°æè¡ã®ãã£ããã¢ãããšåäœç¢ºèª 3ææ«ã®ã¢ããããŒãã®æ©èœã®äžã€ã仿§æŽçããéçºã»ãã¹ããŸã§ãäžè²«ããŠè¡ããKNã®ã¢ããããŒãã«èªåãäœã£ãæ©èœãèŒãã ãŸãäžã€ç®ã®æè¡èª¿æ»ã«ã€ããŠã§ãã 11æã§ããã§ã«æè¡èª¿æ»ãè¡ããŸãããã2æã®æè¡èª¿æ»ã§ã¯ãåã«èª¿æ»ããŠæå
ã§åããã ãã§ãªããKnow Narratorã®ãããžã§ã¯ãäžã§ãã¹ãã³ãŒããå®è£
ãã Know Narratorã®ç°å¢ã§ãå®éã«åäœããããšã確èªãããŸã§ ããŽãŒã«ãšããæ€èšŒãè¡ããŸããã æå
ã§ç°¡åã«åããã®ãšã¯éã£ãŠãæ¢åã®ãããã¯ãã³ãŒããèŠãªããã䜿ãããšããã¯å
±éåããŠå®è£
ãããšããã«ãããé£ãããæããŸããããŸãåæã«IDEã®ãããã°ã¢ãŒããæŽ»çšãããããã°ã«ã€ããŠãåŠã¶ããšãã§ããŸããã äºã€ç®ã®æ©èœéçºã«ã€ããŠã§ãã ããã§æããããšã¯ãäºã€ãããŸãã äžã€ç®ã¯ãæ©èœã®ä»æ§ãèããããšã¯åæãèããã®ãšã»ããã§ããããšã§ãã æåã«ä»æ§ã決ããéã«ã仿§ã«ã€ããŠéçºããŒã ã®å
茩ã«çžè«ãããšããããã®æ©èœã䜿ããããšãã®åææ¡ä»¶ãããã¯ãã ããããããå
ã«å€æããã°è¯ããšããã³ã¡ã³ããããããŸããã äºã€ç®ã¯ãã¿ã¹ã¯ãæŽçããããšã®é£ããã§ãã ä»ãŸã§ã¯å²ãåœãŠãããã¿ã¹ã¯ãããªãåŽã§ããããšãã¡ã€ã³ã ã£ãäžæ¹ã§ããã®ã¿ã€ãã³ã°ã§ã¯ãã¿ã¹ã¯ãæŽçããŠäœãåŽã«åãããšãçµéšããŸããããã®ç¹ã¯ææ¬ããã«ããªããµããŒããããŠããã£ãŠãã¿ã¹ã¯ã®åãåãã®åäœããç»é¢ãã¶ã€ã³äœæã®äŸé Œãäžéšå®è£
ã®ããŒãããŒäŒç€Ÿã®æ¹ãžã®äŸé Œãªã©ãäžç·ã«é²ããŠããããŸããã äžäººã§ã¯éçºãé²ãŸããå
åãããŠã³ãã¥ãã±ãŒã·ã§ã³ãåããªããéçºãé²ããããšãéèŠã ãšæããŸããã ã¿ã¹ã¯ã®é²ãæ¹ã«ã¯èª²é¡ãå€ããããŸããããèªåã®éçºããæ©èœãOJTæéã«ãªãªãŒã¹ãããšãããŸã§æã£ãŠãããã®ã§ãèªä¿¡ã«ãã€ãªãããŸããã ããŒã ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ ããã§ã¯ãOJTæéäžã«æããããŒã ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã«ã€ããŠæ¯ãè¿ã£ãŠã¿ãŸãã éçºéšå± ç§ãæå±ããAITCã®éçºããŒã ã¯ããªã¢ãŒãã¯ãŒã¯ãã¡ã€ã³ã§ãåºæ¬çã«äžæ¥äž éçºéšå± ãšåŒã°ããTeamsã®ãªã³ã©ã€ã³äŒè°ã«å
¥ã£ãŠéçºãé²ããŠããŸããé
å±çŽåŸã¯ãã¡ã³ããŒå
šå¡ãããå Žã§å£°ãåºããŠè³ªåããããšã«å°ãããããããããŸããã ãã ãæ
£ããŠãããšãéçºéšå±ã«ããããšã§ã©ã®ã¡ã³ããŒãäŒè©±ã§ããããããã«ããã£ãããäŒè©±ãèããŠããä»ã®å
茩ããã©ã¹ã¢ã«ãã¡ã§ã³ã¡ã³ããããããããŠããšãŠãä»äºã®ããããç°å¢ã ãšæããããã«ãªããŸããã éçºéšå±ã«ã€ããŠã¯å¥èšäºã§ã玹ä»ãããŠããã®ã§ãæ°ã«ãªãæ¹ã¯èŠãŠã¿ãŠãã ããã tech.dentsusoken.com 1on1 10æã®é
å±çŽåŸã«ã¯ãéçºããŒã ã®ã¡ã³ããŒãšåºæ¬ç㫠察é¢ã§1on1 ãããæ©äŒãããã ããŸããããªã³ã©ã€ã³äžå¿ã ãšã³ãã¥ãã±ãŒã·ã§ã³ãå°ããã©ã€ã«æããããšããããŸãããã察é¢ã§è©±ãããšã§äººãšãªãããããããšãŠãããã£ãã§ãã ãŸããOJTãªãŒããŒã®ææ¬ãããšã¯ éé±ã§1on1 ãããŠããŠã æ¥ã
ã®éè«ããä»äºã®é²ãæ¹ã§è¿·ã£ãŠãããšããã®çžè« ãŸã§ããŠããã ãããšãŠãå©ãããŸããã æ°äººçšTeamsãã£ãã« 10æãã12æã¯ãæ°äººãåºæ¬çã«Teamsã®äžã€ã®ãã£ãã«ãèŠãã ãã§å¿
èŠãªæ
å ±ãåŸãããããã«ãæ°äººçšãã£ãã«ãçšæããŠããã£ãŠããŸããã ããã«ã¯ãæ¥åã§ããåç
§ãããµã€ãã®ãªã³ã¯ãäºåçãªé£çµ¡ãTODOãªã¹ããæ°ã«ãªãããšã質åã§ããã¹ã¬ãããªã©ãäžã€ã®ãã£ãã«ã«ãŸãšãŸã£ãŠããŠã ãšãããããã®ãã£ãã«ãèŠãã°å€§äžå€« ãšããç¶æ
ã«ãªã£ãŠããŸããã ããããããµã€ãã®\~~ãšããããŒãžãéããŠãã ãããçãªããšãæç€ºããããšãã©ããèŠãã°ãããè¿·ãããšããããŸããããã®ãã£ãã«ã®ãããã§ãã©ããã£ãŠè¡ããã ã£ãããšæ¢ãæéã¯ã»ãŒãªãã£ãã§ãã åãã£ãã«ã§æ¥å ±ã®äœæãè¡ã£ãŠããŸãããæ¥å ±ã¯YWTP圢åŒïŒãã£ãããšã»ããã£ãããšã»æ¬¡ããããšã»åé¡ïŒã§æžããŠããŸããããèªåã®WïŒããã£ãããšïŒãPïŒåé¡ïŒã«å¯ŸããŠãOJTãªãŒããŒä»¥å€ã®æ¹ããã£ãŒãããã¯ãšã¢ããã€ã¹ãããã ããŠãéåžžã«å©ãããŸããã æ¥å ±ã¯OJTæéãçµãã£ãåŸããéçºããŒã å
ã§åã圢åŒã§å®æœããŠããŠãæ¥ã
ã¡ã³ããŒãèããŠããããšãçºèŠãããã£ãããã¢ããã€ã¹ãããã ãããããŠå€§å€ãããããã§ãã OJTãªãŒããŒãšã®ããåã ææ¬ããã¯å®ã¯é¢è¥¿æ¯ç€Ÿã®æ¹ã§ãæ±äº¬ã«ããç§ãšã¯ãªã³ã©ã€ã³ã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ãã¡ã€ã³ã§ãããæåã¯å°ãé©ããŸãããããªã³ã©ã€ã³ã§ãæ¥ã
ã®ãã£ããã1on1çã§ãã£ããã³ãã¥ãã±ãŒã·ã§ã³ãåã£ãŠããã ããã®ã§ãäžæºã¯å
šããããŸããã§ãããããæ¹æ¬¡ç¬¬ã§ã©ãã«ã§ããªããã ãªãšæããŸããã 10æãã12æãŸã§ã¯æ¯æ¥ææ¬ãããšæäŒãããŠããŠãæ¥å ±ãããšã«é²æç¢ºèªããã£ãŒãããã¯ãã€ãŸãããŠãããšããã®çžè«çãããŠããŸããã ã¿ã¹ã¯ãé²ããäžã§åºã質åã¯éçºéšå±ã§è¡ã圢ã«ããŠããŸããããã ãææ¬ãããå¿ãããŠéçºéšå±ã«ããã£ããããªãããšãå€ãææã¯ãé²ãæ¹ã«å°ãèŠåŽããŸãããä»ã®ã¡ã³ããŒã®æ¹ã¯ç§ã®ã¿ã¹ã¯ãè©³çŽ°ã«ææ¡ããŠããªãã±ãŒã¹ããã£ããããæãæ¢ãŸã£ãŠããŸãæéããããŸããã 仿¯ãè¿ããšãèªåããã£ãšä»ã®å
茩ã«ãé Œãããã«ã³ãã¥ãã±ãŒã·ã§ã³ãåãã°ããã£ããšæããŸãããã®ããã§ãç¹å®ã®äžäººã«é Œãããã«ãªããªãäœå¶ããæ°è»œã«çžè«ã§ããçžæãå¢ãããŠããããšããåãå
¥ãããããããããããã§å€§äºã ãšæããŸããã åå¹Žãæ¯ãè¿ã£ãŠã¿ãŠ OJTæéå幎ãéããŠãéçºããŒã ã®ãè·ç©ãšåæã«æããŠããŸããããªç¶æ
ããã¯è±åŽã§ããããªãšæã£ãŠããŸããå幎éã§èªåã§ãæé·ã§ãããšãã宿ããããŸãã OJTæéã§ç§ãæµãŸããŠãããšæããããšã¯ã ãšã«ãããã£ããèªåãçŽåŸãããŸã§ãã£ãŠãã ãšããã¹ã¿ã³ã¹ã§èŠå®ã£ãŠããããããšã§ããç¹ã«ä»ã¯çæAIãçºéããŠããã®ã§ãçè§£ãããšã圢ã«ã§ããŠããŸãéšåã¯ããã®ã§ãããèªåã®æé·ãåªå
ããŠããããããšã§ãæè¡åã®åäžã«ã€ãªããã粟ç¥çã«ãããæå³ã§æ¥œãªç¶æ
ã§å幎ééããããšãã§ããŸããã OJTãªãŒããŒåŽã®èŠç¹ãåã㊠ããã§ã OJTãªãŒããŒåŽ ããã¯ã©ãèŠããŠããã®ããæ¯ãè¿ããŸãã ããæ°äººãããã§ã¯ãªããæ°ããã¡ã³ããŒããããŒã ã§åãå
¥ãããããšããç§ã®OJTæéã®ããŒã ã«ãªã£ãŠããããã§ãã ç¹ã«é
å±åŸã®2ã3ãæã¯ããã®ã¹ã¿ã³ã¹ã匷ãæããŠããŸããããªã³ããŒãã£ã³ã°äžã¯ãæé»ç¥ãç¥ããªãç«å Žã ããããæ°ã¥ããç¹ãèžãŸããŠãããŒã å
ããã¥ã¡ã³ãã®æŽåããã£ããä»»ããŠããã£ãããããã¥ãããšãããäžå¯§ã«èããŠããã ãããããŸããã ããããããåããéããŠãæ°äººã»ããã©ã³ã«é¢ããããããããæ°ããéçºããŒã ã«å ãã人ã«åãããªã³ããŒãã£ã³ã°ã®æ¹åã«ã€ãªããããšããæèãæããŸãããèªåèªèº«ãã ãªã³ããŒãã£ã³ã°ã®æ¹åã«è²¢ç®ãããšããæå³ã§è²¬ä»»æãæã£ãŠåãçµã ããšãã§ããã®ã§ããªã³ããŒãã£ã³ã°äžã«æããããã¥ãããååãã«æãããããããªæ°ãããŸãã ãããã£ãç°å¢ãèªåã®æé·ã«ã€ãªããã¿ã¹ã¯ãçšæããŠãã ãã£ãææ¬ããã¯ããAITCã®å
茩æ¹ã«æè¬ããä»åŸæ°ããå
¥ã£ãŠããã¡ã³ããŒã«å¯ŸããŠã¯ãèªåãçŽè¿ã§ãªã³ããŒãã£ã³ã°ãçµéšããã¡ã³ããŒãšããŠåã«ãªããããšèããŠããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @sugie.naoki ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
1. ã¯ããã« ã¯ãããŸããŠïŒé»éç·ç ã®æŠç°åµ©å²ïŒãããµã¿ïŒãšç³ããŸããããã¯ããã°ãå·çããã®ãåããŠã§æ¯ããªããã®æçš¿ã§ãããå
š2åã«æž¡ãæ¬ããŒãã«ã€ããŠçºä¿¡ã§ããã°ãšæããŸããç°¡åã«ç§ã®èªå·±ç޹ä»ãããŠããæ¬å
容ã«ç§»ããããšæããŸãã èªå·±çŽ¹ä» æ¹ããŸããŠæŠç°åµ©å²ãšç³ããŸããæ®æ®µã¯ã¯ã©ãŠããçšããã·ã¹ãã éçºãéçšã®ãããžã§ã¯ãã»ãããŒãžã£ãŒãããŠãããŸãã ãã®äžã§ãæè¿ã§ã¯ã¯ã©ãŠãHPCã®åºç€ãæ§ç¯ããããšãå€ããæ§ã
ãªã¯ã©ãŠããã³ããŒæ§ãšãä»äºããããŠããã ããŠãããŸãã âã¯ã©ãŠãHPCâïŒãªããããããïŒãšããæ¹ã¯åŒç€Ÿãå
¬éããŠãã以äžèšäºãã芧ããã ããã°ãšæããŸãïŒ SDGsã®éæã«ãè²¢ç®ïŒïŒã¯ã©ãŠãHPCã«ã€ããŠããäžåºŠèããŠã¿ã é»éç·ç ã®ã¯ã©ãŠãHPCãµãŒãã¹ããããã驿°ãšã¡ãªãã æ±ãã¯ã©ãŠãã¯AWS, Azure, OCIã®3ã€ãäž»ã§ããŠãããããã®ã¯ã©ãŠããããã€ããŒã®åŒ·ã¿ã»ç¹åŸŽã掻ãããŠæé©ãªç°å¢ãã客æ§ã«æäŸããããšãåŸæãšããŠãããŸãã ã¢ãããŒã·ã§ã³ ããŠããããªç§ãã¯ã©ãŠãHPCã®äžã§ãæè¿ç¹ã«æ³šç®ããŠããã®ããAWSã® "hpc8a" ã€ã³ã¹ã¿ã³ã¹ã§ãã AMDç€Ÿã®ææ°ããã»ããµã§ããTurinïŒEPYC 9R45ïŒãæèŒããã€ã³ã¹ã¿ã³ã¹ã¿ã€ãã§ããŠã ap-northeast-1ïŒæ±äº¬ïŒ ãªãŒãžã§ã³ã§å©çšãã§ããããšã1ã€ã®ç¹åŸŽã§ãã ãã®ã€ã³ã¹ã¿ã³ã¹ãAWSå
¬åŒã®ããŒãžãåŒçšãããšä»¥äžã®ããã©ãŒãã³ã¹ãçºæ®ãããšã®ããšã åäžä»£ã® Hpc7a ã€ã³ã¹ã¿ã³ã¹ããã æå€§ 40% åªããããã©ãŒãã³ã¹ã42% åºãã¡ã¢ãªåž¯åå¹
ãæå€§ 25% åªããæéããã©ãŒãã³ã¹ ãå®çŸããŸãã ïŒåŒçšå
ïŒ ç¬¬ 5 äžä»£ AMD EPYC ããã»ããµãæèŒãã Amazon EC2 Hpc8a ã€ã³ã¹ã¿ã³ã¹ã®äžè¬æäŸéå§ HPCã¯ãŒã¯ããŒãã®ç¹åŸŽäžãè§£æããŒã¿ãµã€ãºã倧ããã£ãããå€ãã®I/Oãçºçãããããã®ã§ãããŒã¿ãšã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã¯å¯èœãªéãè¿ãå Žæã«çœ®ãæ¹ãããã©ãŒãã³ã¹ãçºæ®ã§ããŸãããã®ãããæ¥æ¬ã®ã客æ§ã¯æ¥æ¬ã§å©çšã§ãã髿§èœãªãã·ã³ã¯ããã°ããã ãå¬ããã®ã§ããã®ã€ã³ã¹ã¿ã³ã¹ã¿ã€ãã«ç§èªèº«ããšãŠãèå³ããããå®åã¯ã©ããªãã®ããšèª¿æ»ãã¹ãä»åã®ãã³ãããŒã¯å®æœã«è³ããŸããã æ¬é¡ æ¬èšäºã¯ä»¥äžã®æµããšãªã£ãŠãããŸãã ç®æ¬¡ ã¯ããã« âçµäº ãã³ãããŒã¯æŠèŠ Ansys Fluentãã³ãããŒã¯çµæ Cradle MSC scFLOWãã³ãããŒã¯çµæ ãããã«ïŒæ¬¡åäºåïŒ 2. ãã³ãããŒã¯æŠèŠ 2.1 ãã³ãããŒã¯ã«å©çšããã€ã³ã¹ã¿ã³ã¹ã¿ã€ã ãã³ãããŒã¯ãšèšã£ãŠãhpc8aã ãã§è§£æå®è¡ããŠã仿¹ãããŸããããšããããšã§ãä»åã¯ä»¥äžã®EC2ã€ã³ã¹ã¿ã³ã¹ã¿ã€ããéžå®ããã³ãããŒã¯ã宿œããŸããã Instance type Spec Cost $ (instance/h) Cost $ (core/h) hpc6id.32xlarge (Intel) CPUïŒIntel Xeon Ice Lake 64cores 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ïŒ50 Gbps EFA $9.85 $0.05 hpc7a.96xlarge (AMD) CPUïŒAMD EPYC 9R14 Genoa 192 cores MemoryïŒ768GB NICïŒ300 Gbps EFA $7.20 $0.04 m8a.48xlarge (AMD) CPUïŒAMD EPYC 9R45 Turin 192 cores MemoryïŒ768GB NICïŒ75 Gbps EFA $11.69 $0.06 c8a.48xlarge (AMD) CPUïŒAMD EPYC 9R45 Turin 192 cores MemoryïŒ384GB NICïŒ75 Gbps EFA $10.35 $0.06 hpc8a.48xlarge (AMD) CPUïŒAMD EPYC 9R45 Turin 192 cores MemoryïŒ768GB NICïŒ300 Gbps EFA $7.92 $0.04 c8g.48xlarge (AWS) CPUïŒAWS Graviton4 192 cores MemoryïŒ384GB NICïŒ50 Gbps EFA $7.63 $0.04 â»Costã¯ãªãã€ãªãªãŒãžã§ã³ã§ã®å䟡ã§ãã â»Cost $ (core/h), Cost $ (instance/h)ã«ãããŠã¯å°æ°ç¹3æ¡ãåæšäºå
¥ããå°æ°ç¹ä»¥äž2æ¡ã§è¡šèšããŠãããŸãã â»äžéšãã³ãããŒã¯ã«ã€ããŠã¯çµæããªãã€ã³ã¹ã¿ã³ã¹ã¿ã€ããããããŸãã éžå®ã®åºæºãšããŠã¯3ã€ã®èгç¹ã§è¡ããŸããã â 1. äŒç€Ÿ " CPUã®è£œé å
ãšããŠä»£è¡šçãªIntel, AMDãéžå®ããŸããAWSãç¬èªã§ããã»ããµãéçºããŠããã®ã§ãGravitonãããããŒãããŸããã " 2. äžä»£ " åCPUã®äžä»£ãäžãããšæ§èœãåäžããã®ããã©ã®çšåºŠåäžããã®ãããšããææšãã¿ãããã«è€æ°äžä»£ãéžå®ããŸããã " 3. ã€ã³ã¹ã¿ã³ã¹ã®çšé " AWSã¯åãCPUãæèŒããŠããŠããã¯ãŒã¯ããŒãã«ãã£ãŠæé©åãããã€ã³ã¹ã¿ã³ã¹ã¿ã€ããæºåããŠããŸããåºæ¬çã«ã¯ã³ã³ãã¥ãŒãã£ã³ã°æé©åã€ã³ã¹ã¿ã³ã¹ïŒcã·ãªãŒãºïŒãšHPCç¹åã€ã³ã¹ã¿ã³ã¹ïŒhpcã·ãªãŒãºïŒãéžå®ããŠããŸãããã¡ã¢ãªæé©åïŒrã·ãªãŒãºïŒãæ±çšïŒmã·ãªãŒãºïŒãéžå®ããŠãããã®ããããŸãã 2.2 ãã³ãããŒã¯å®æœå
容 ããã§ã¯ã©ã®ãããªæ¡ä»¶ããœã«ãã§ãã³ãããŒã¯ãè¡ã£ãããã説æããããŸãã 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 ãã®äžã§ç¬¬1åãšãªãä»å㯠Ansys Fluent ãš Cradle MSC scFLOW ã®ãã³ãããŒã¯çµæãçæ§ã«å
±æããããŸãïŒ 2.2.2 ãã³ãããŒã¯å®æœç°å¢æ
å ± ãã³ãããŒã¯ã宿œããç°å¢æ
å ±ã¯ä»¥äžã®ãšããã§ãã é
ç® å
容 OS Red Hat Enterprise Linux 8.10 ã¹ãã¬ãŒãž Amazon FSx for Lustre ïŒSSD / 250 MB/s-TiB ïŒ *4.8 TiB ãããã¯ãŒã¯ EFA æå¹å ãžã§ãã¹ã±ãžã¥ãŒã©ãŒ Slurm MPI Intel MPI 2021.13 MPI ïŒArm ããã»ããµå©çšæïŒ Open MPI 4.1.7 ãŸãããããã®ç°å¢ã®æºåã«ã¯AWS ParallelClusterãå©çšããŠãã倧å€äŸ¿å©ãªãµãŒãã¹ã§ããã®ã§ããã¡ããå¥éã玹ä»ã§ããã°ãšæããŸãã ïŒåèïŒ AWS ParallelCluster 2.2.3 ãã³ãããŒã¯è©äŸ¡é
ç® ãã³ãããŒã¯ã®è©äŸ¡é
ç®ã¯ä»¥äžã®3ã€ã®ææšã§è©äŸ¡ãè¡ããŸããã 1ïŒå®è¡æé åãœã«ããŒã®å®è¡æéãç§åäœã§èšæž¬ã 2ïŒã³ã¹ã åãã³ãããŒã¯ãžã§ããå®èµ°ããã®ã«å¿
èŠãšãªãã€ã³ã¹ã¿ã³ã¹ã®è²»çšãèšç®ãããã§ã¯èµ·å/忢ã«ãããè²»çšãããŒã¿ã®ä¿ç®¡è²»çšãéä¿¡ã«ãããè²»çšã¯å«ãã§ãããããããŸã§ãã³ãããŒã¯ãžã§ããå®èµ°ããã®ã«ããã£ãã³ã³ãã¥ãŒãã£ã³ã°ãªãœãŒã¹ã®ã¿ã®è²»çšãç®åºããŠããŸãã 3ïŒã³ã¹ãããã©ãŒãã³ã¹ ãèšç®é床ãéããŠã倿®µãé«ããšç°¡åã«ã¯å©çšã§ããªããããšããã®ã宿
ã ãšæããŸãã®ã§ãä»åã¯ã³ã¹ãããã©ãŒãã³ã¹ãšããææšãæºåããŸãããã³ã¹ãããã©ãŒãã³ã¹ã¯ä»¥äžåŒã§å®çŸ©ããŸãã ä»åã¯ç°¡åã®ããã«ãGenoaããã»ããµãæèŒããã³ã³ãã¥ãŒãã£ã³ã°æé©åã€ã³ã¹ã¿ã³ã¹ã¿ã€ã "c7a.48xlarge"ã"1.0"ãšããŠæ£èŠåããã¹ã³ã¢ã§è©äŸ¡ããŸããã 3. Ansys Fluentãã³ãããŒã¯çµæ ããã§ã¯Ansys Fluentã®ãã³ãããŒã¯çµæããã¡ãã§ããAnsys Fluentã§ã¯256䞊åãã2048䞊åãŸã§ã®äžŠåæ°ã§å®æœããŸããã 3.1 å®è¡æé ãœã«ããŒå®è¡ã®çµéæéæ¯èŒ åäžäžŠåè§£ææ°ã®å Žåãå
šãŠã®å Žåã§Turin (m8a, hpc8a) ã®ã€ã³ã¹ã¿ã³ã¹æ§èœãè¯ãçµæãšãªããŸããã åäžä»£ãšã®ããã©ãŒãã³ã¹æ¯èŒ å
šäžŠåæ°ã§3å²çšåºŠã®ããã©ãŒãã³ã¹æ¹åãã¿ãããŸãããAWSå
¬åŒã«ãããšã æå€§40%ã®åªããããã©ãŒãã³ã¹ ãšã®ããšã ã£ãã®ã§ãä»åã®çµæã¯ããã«è¿ãçµæãåŸãããŸããã Gravitonã®èšç®ã¹ã±ãŒã« c8g (Graviton4) ã«ã€ããŠã¯ãäžŠåæ°ãå¢å ããã«ã€ããä»ã€ã³ã¹ã¿ã³ã¹ã¿ã€ããšã®çµéæéã®å·®ã¯çž®å°åŸåã«ãããå€§èŠæš¡äžŠåèšç®ã«ãããŠèšç®æéã®ã¹ã±ãŒã«ã¡ãªãããåºãããšã確èªã§ããŸããã 3.2 ã³ã¹ã ã³ã¹ãæ¯èŒ hpc8aãå
šãŠã®äžŠåæ°ã§äžçªã³ã¹ããäœãçµæã§ããã Ansys Fluentã®ä»åã®ãã³ãããŒã¯ã¢ãã«ã«ãããŠã¯512䞊åãäžçªã³ã¹ãã«åªããäžŠåæ°ãšãªããŸããã åäžä»£ãšã®ã³ã¹ãæ¯èŒ å
šäžŠåæ°ã§2å²çšåºŠã®ã³ã¹ãæ¹åãã¿ãããŸãããAWSå
¬åŒã«ãããšã æå€§ 25% åªããæéããã©ãŒãã³ã¹ ãšã®ããšã ã£ãã®ã§ããã¡ããå
¬åŒã«è¿ãçµæãåŸãããŸããã 3.3 ã³ã¹ãããã©ãŒãã³ã¹ ã³ã¹ãããã©ãŒãã³ã¹æ¯èŒ hpc8aãäžçªã³ã¹ãããã©ãŒãã³ã¹ã«åªããçµæã«ãªããŸããã åCPUã¹ããã¯ã§æ¯èŒãããšHPCã€ã³ã¹ã¿ã³ã¹ã¯ã³ã¹ãããã©ãŒãã³ã¹ãé«ãçµæãã¿ãããŸãã c8g (Graviton4) ã¯2048䞊åã«ãªããšãc7aã®ã³ã¹ãããã©ãŒãã³ã¹ãäžåãçµæã«ãªããŸããã 以äžãAnsys Fluentã®ãã³ãããŒã¯çµæãšãªããŸããããããã§ãããã å®è¡æéã»ã³ã¹ãã»ã³ã¹ãããã©ãŒãã³ã¹å
šãŠã«ãããŠhpc8aãè¯ãããã©ãŒãã³ã¹ã瀺ããŠããããšãã¿ãŠãšããã®ã§ã¯ãªãã§ããããã 4. MSC scFLOWãã³ãããŒã¯çµæ ç¶ããŠã¯Cradle MSC scFLOWã®ãã³ãããŒã¯çµæã§ããscFLOWã§ã¯128䞊åãã1024䞊åãŸã§ã®äžŠåæ°ã§å®æœããŸããã scFLOWã«ãããŠã¯äžéšå®æœã§ããŠããªãã€ã³ã¹ã¿ã³ã¹ã¿ã€ããããããšãäºæ¿ãã ããã 4.1 å®è¡æé ãœã«ããŒå®è¡ã®çµéæéæ¯èŒ åäžäžŠåè§£ææ°ã®å Žåãå
šãŠã®å Žåã§hpc8aã®æ§èœãè¯ãçµæãšãªããŸããã åäžä»£ãšã®ããã©ãŒãã³ã¹æ¯èŒ ãã¡ããAnsys Fluentãšåæ§ãå
šäžŠåæ°ã§3å²çšåºŠã®ããã©ãŒãã³ã¹æ¹åãã¿ãããŸããã 4.2 ã³ã¹ã ã³ã¹ãæ¯èŒ hpc8aãå
šãŠã®äžŠåæ°ã§äžçªã³ã¹ããäœãçµæã§ããã åäžä»£ãšã®ã³ã¹ãæ¯èŒ ãã¡ããAnsys Fluentãšåæ§ãå
šäžŠåæ°ã§2å²çšåºŠã®ã³ã¹ãæ¹åãã¿ãããŸããã 4.3 ã³ã¹ãããã©ãŒãã³ã¹ ã³ã¹ãããã©ãŒãã³ã¹æ¯èŒ äžèšã®çµæãããåãããšãããhpc8aãäžçªã³ã¹ãããã©ãŒãã³ã¹ã«åªããçµæã«ãªããŸããã 以äžãscFLOWã®ãã³ãããŒã¯çµæã§ãããã倧ããªæ¹åæ§ãšããŠã¯Ansys Fluentãšå€ããããå®è¡æéã»ã³ã¹ãã»ã³ã¹ãããã©ãŒãã³ã¹å
šãŠã«ãããŠhpc8aãè¯ãããã©ãŒãã³ã¹ãæ®ããŠããŸããã 5. ãããã«ïŒæ¬¡åäºåïŒ ãšãããšããã§ä»åã¯Ansys FluentãšCradle MSC scFLOWã«ãããhpc8aã®ãã³ãããŒã¯çµæãã玹ä»ããããŸããã æ¬¡åã¯è¡çªç³»ãœã«ãã®Ansys LS-DYNAãšæµäœç³»ãœã«ãSiemens STAR-CCM+ã®ãã³ãããŒã¯çµæãã玹ä»ããããŸãã®ã§ããã¡ãããæ¥œãã¿ã«ãåŸ
ã¡ããã ããŸããšå¹žãã§ãïŒ æ«çã«ãªããŸããããæ¬ãã³ãããŒã¯å®æœã«ããããååããã ããŸããå瀟æ§ããé¢ä¿è
ã®çæ§ã«åã埡瀌ç³ãäžããŸãã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @takeda.takafumi ã¬ãã¥ãŒïŒ @kobayashi.hinami ïŒ Shodo ã§å·çãããŸãã ïŒ
ã¯ããããã«ã¡ã¯ãŒïŒã¯ãã¹ã€ãããŒã·ã§ã³æ¬éš ãµã€ããŒã»ãã¥ãªãã£ãã¯ãããžãŒã»ã³ã¿ãŒã®çŠå±±ã§ãã æšå¹ŽãããããããœãããŠã§ã¢è匱æ§å ±åä»¶æ°ã®å¢å ããµãã©ã€ãã§ãŒã³æ»æã®ãã¥ãŒã¹ãç®ç«ã€ããã«ãªããŸããã ããã§ä»åã¯è匱æ§ç®¡çãšãœãããŠã§ã¢ãµãã©ã€ãã§ãŒã³ã®çŸç¶ãææ¡ãã¹ããé¢é£ããŒãã«ãã©ãŒã«ã¹ããã»ãã¥ãªãã£ã«ã³ãã¡ã¬ã³ã¹ãVulnConãã«ããŒãã£ã«åå ããŸããã®ã§ãæ¬çš¿ã«ã¬ããŒããšããŠãŸãšããŸãã VulnConãšã¯ 1. NIST's National Vulnerability Database Update and the Vulnerability Enrichment Ecosystem 2. Vulnrichment Playground 3. Supply Chains and Malware Campaigns: Is CVE the Right Way to Name the Game? 4. How to Answer "What's Affected?" in Open Source 5. Identifying Exploited and Likely-to-Be-Exploited Vulnerabilities 6. Taming the Scanner Storm: How VEX Brings Context to Vulnerability Data 7. Contextual SBOMs: Unlocking Precise Vulnerability Management with Build-Time Content Intelligence 8. Lessons From NPM's Dark Side: Preventing the Next Shai-Hulud ãŸãšã VulnConãšã¯ VulnConãšã¯CVEããã°ã©ã ãFIRSTãäžå¿ãšãªã£ãŠäž»å¬ãããè匱æ§ç®¡çã«ç¹åããåœéã«ã³ãã¡ã¬ã³ã¹ãã§ãã 第1åéå¬ã¯2024å¹Žãšæ¯èŒçæ°ããã«ã³ãã¡ã¬ã³ã¹ã§ãããä»å¹Žã¯ç±³åœã¢ãªãŸãå·ã¹ã³ããããŒã«ã§éå¬ãããŸããã https://www.first.org/conference/vulncon26/ VulnConã¯ãè匱æ§ç®¡çãšãµã€ããŒã»ãã¥ãªãã£åéã®å°éå®¶ãäžå ã«äŒããæèŠäº€æãªã©ãè¡ããå
·äœçãªææã®åµåºãç®æãå Žãšãªã£ãŠããŸãã ä»åãVulnCon 2026ïŒçŸå°æéïŒ2026幎4æ13æ¥ïœ4æ16æ¥éå¬ïŒããªã¢ãŒãã§èŠèŽïŒåå è²»çš $100ïŒããçè
ãæ³šç®ãã8ã€ã®ã»ãã·ã§ã³ã玹ä»ããŸãã æ¬èšäºã§ã¯åã»ãã·ã§ã³å
容ãããšã«ãè匱æ§ç®¡çããã³ãµãã©ã€ãã§ãŒã³ã»ãã¥ãªãã£ã®èгç¹ããéèŠãªãã€ã³ããæŽçããŸããã ãªããæ¬èšäºã¯è¬æŒè
ã®çºèšå
容ã«åºã¥ãæžãèµ·ããã§ãããå
容ã¯ãTLP:CLEARãã®ã¿ã§ãã 1. NIST's National Vulnerability Database Update and the Vulnerability Enrichment Ecosystem çºè¡šïŒNIST NVD NVDã®åœ¹å² CVEã«å¯ŸããŠNVDã¯è¿œå ã¡ã¿ããŒã¿ïŒCPEã»CVSSã»CWEã»åç
§ã¿ã°ïŒãæäŸãããããŠã³ããªãŒãªããžã§ã¯ãããšããŠæ©èœ CNAã¯2016幎以éç¬èªå
¬éãå¯èœã«ãªããçŸåš502ã®CNAãååš ã¹ã±ãŒã«ã®åé¡ïŒNVDãçŽé¢ããçŸç¶ CVEã®å¢å æ°ãé廿倧ã¬ãã«ã«éããŠãããçŸè¡ã®æåããã»ã¹ã§ã¯è¿œãã€ããªã CPEå²ãåœãŠã«åææéã®åå以äžãæ¶è²»ïŒLLMãããžã§ã¯ããGitHubããŒã¹ã®ãœãããŠã§ã¢ã®æ¥å¢ãè² è·ãå¢å€§ïŒ å€§èŠæš¡ãªæªåŠçããã¯ãã°ãèç© NVDã®æ°ããåªå
床ä»ãã¢ãããŒãïŒãªã¹ã¯ããŒã¹ãžã®è»¢æïŒ CISA KEVãªã¹ãæ²èŒCVEïŒ1å¶æ¥æ¥ä»¥å
ã«ãšã³ãªããïŒä»å æ
å ±ã®ä»äžïŒ ç±³åœé£éŠæ¿åºãœãããŠã§ã¢ã«é¢é£ããCVE 倧統é 什14208å·ã§å®çŸ©ãããã¯ãªãã£ã«ã«ãœãããŠã§ã¢ã®CVE ãªã¯ãšã¹ãããŒã¹ã§ã®å¯Ÿå¿ãåãä»ãïŒå¯Ÿå¿ã¯å¯èœãªç¯å²ã§å®æœïŒ CVSSã¹ã³ã¢ã®æ¹éå€æŽ æ¢ã«ã¹ã³ã¢ãæã€CVEã«ã¯éè€ã¹ã³ã¢ãä»äžããªãïŒGap Fillingã®æ£åŒåïŒ ã¢ããªã¹ããççŸãçºèŠããå Žåã¯åè©äŸ¡ã®å¯èœæ§ãã â»Gap FillingïŒ2025幎ããæ«å®å°å
¥ãããCNAããæåºãããCVSSããã³CWEããŒã¿ãåæ€èšŒããã«ãäžæçã«åãå
¥ããæ¹éã®ããš ããã¯ãã°ã®æŽç ãdeferredãã¹ããŒã¿ã¹ããnot scheduledãã«æ¹å 2026幎3æ1æ¥ä»¥åã®å€ãããã¯ãã°ã¯ååãnot scheduledãã«ç§»è¡ ä¿®æ£ãããCVEã®åãšã³ãªããã¯ååè¡ããïŒãªã¯ãšã¹ããããã°å¯Ÿå¿ïŒ èªååãžã®åãçµã¿ LLM/AIãæŽ»çšããåæèªååãå°ããŒã ã§ç ç©¶äžïŒå®ææ¬¡ç¬¬ãªãŒãã³ãœãŒã¹ãšããŠå
¬éäºå® RPAã«ããååŸ©äœæ¥ã®èªååã䞊è¡ããŠæ€èš CPE管çã®ãã§ãã¬ãŒã·ã§ã³åïŒCNAãäœæ¥ã°ã«ãŒããšåè°äžïŒ 2. Vulnrichment Playground çºè¡šïŒ CISAãTharros Labs Vulnrichmentãšã¯ CISAãé£éŠæ¿åºæ©é¢ïŒFCEBïŒãéèŠã€ã³ãã©ä¿è·ã®ããã«è¡ã£ãŠããè匱æ§åæãåºãå
¬éããåãçµã¿ CVEã®ADPïŒAuthorized Data PublisherïŒã³ã³ãããšããŠæäŸãGitHubãªããžããªãããååŸå¯èœ æ¯å¹ŽçŽ2,000件以äžã®CVDïŒå調çè匱æ§é瀺ïŒã±ãŒã¹ãåŠçããäžã§åŸãå€§èŠæš¡ãªåæç¥èŠãå
ã«ãªã£ãŠãã VulnrichmentãæäŸããããŒã¿ SSVCïŒStakeholder Specific Vulnerability CategorizationïŒïŒå
šæ°èŠCVEã«ã¹ã³ã¢ãªã³ã° KEVãã©ã°ïŒæ¢ç¥ã®èåŒ±æ§æªçšã«ã¿ãã°ãžã®æ²èŒæç¡ CVSSã»CWEïŒCNAæªæäŸåã®ããã¯ãã£ã«ïŒCNAãæ¢ã«æäŸããŠããå Žåã¯äžæžãããªãïŒ åç
§ã¿ã°ïŒãããã»ã¢ããã€ã¶ãªçã®åé¡ 2幎ç®ã®æå€§ã®å€åïŒCPEã®å»æ¢ åœåCPEã®ä»äžãå®éšçã«è¡ã£ãŠããããåææéã®2/3ãCPEäœæã«è²»ãããŠããããšã倿 å©çšè
ããã®ãCPEããSSVCã»KEVã»CWEã®ã«ãã¬ããžãåºããŠã»ããããšãã声ãåããŠå»æ¢ CPE廿¢ã«ãã£ãŠãªãœãŒã¹ãåé
åããå
šæ°èŠCVEãžã®å®å
šãšã³ãªããã¡ã³ããå¯èœã«ãªã£ã ãPlaygroundãã®æ¬è³ªïŒæ¬çªç°å¢ã§ã®å®éš KEVã¯ææåã®ããéçšæä»€ïŒBODïŒã«çŽã¥ããŠãã倿Žã³ã¹ããé«ããVulnrichmentã¯äœãªã¹ã¯ã§å®éšã§ããå ŽãšããŠèšèšãããŠãã ã远å ããã ãã§ãªãããããããšãéèŠããšããå§¿å¢ïŒCPE廿¢ããã®å®è·µäŸ Linuxã«ãŒãã«ãããäžæµã«ãŒãã«è匱æ§ã®CVSSã¹ã³ã¢ãªã³ã°ããããŠã»ããããšããèŠæïŒGitHub Issue #262ïŒãå
¬éã®å Žã§è°è«äž Pandoc CVEã䜿ã£ãå®è·µäŸïŒCVEèšé²ãã©ãå€åãããïŒ åœåïŒèšè¿°äžæç¢ºã圱é¿ç¯å²ïŒaffectedïŒããN/Aãã誀ã£ãåç
§ãªã³ã¯ Vulnrichmentã忥äžã«CVSSã»SSVCãè¿œå æ°ã¶æåŸïŒåç
§ãä¿®æ£ãSSVCã®æè¡ç圱é¿ã誀å
¥åâåŸæ¥ä¿®æ£ å®éšçä»å
¥ïŒCISAãçŽæ¥Pandocã®éçºè
ãšè°è«ã»æ€èšŒãè¡ã£ãããã§æžãçŽãïŒéåžžã¹ã³ãŒãå€ïŒ ä»åŸã®å®éšåè£ïŒCVEéã®é¢ä¿æ§ã®è¡šçŸ çŸåšã¯èšè¿°æã®æçµè¡ã«ãä»ã®CVEãšã®é¢é£ããèªç¶èšèªã§æžããããªã ãCVEå士ã®é¢ä¿æ§ãæ©æ¢°å¯èªãªåœ¢ã§è¡šçŸã§ããªããããVulnrichmentã§å®éšãããïŒã¹ããŒã倿Žã®å段ãšããŠïŒ Pandocã®äŸïŒå€éšããŒã«ã®åŒã³åºãæã«å¥ã®SSRFè匱æ§ãçºçâé¢ä¿æ§ã人éã«ã¯ããããæ©æ¢°ã«ã¯åŠçã§ããªã Supplier ADPïŒSADPïŒãã€ããããžã®èšå CNAèªèº«ããèªç€Ÿè£œåã§ãã®CVEã¯åœ±é¿ãªãããšããVEXçãªæ
å ±ãADPã³ã³ãããšããŠè¿œèšã§ããä»çµã¿ã®ãã€ããã äŸïŒPandocãçµã¿èŸŒãã èªç€ŸWebã¢ããªã --sandbox ãªã©å®å
šãªæ¹æ³ã§PandocãåŒã³åºããŠãã圱é¿ãåããªãå ŽåãïŒæäŸå
ãCNAã§ããã°ïŒãã®æšãADPã³ã³ãããšããŠã圱é¿ãªãããšè¿œèšã§ããã åèïŒ https://github.com/CVEProject/sadp-pilot Vulnrichmentã®ããŒã¿å質ã»éææ§ã«ã€ã㊠CVEããã°ã©ã ã®ã¬ã³ãŒãã»NVDã»Vulnrichmentã®3ã€ãä¿¡é Œæ§ã§é äœä»ãããã®ã¯é£ãã ãGitHubäžã§åé¡æèµ·âè°è«âä¿®æ£ããšããéæãªããã»ã¹ãåè³ªã®æ
ä¿ CVSSã ãã§è匱æ§ãåªå
床ä»ãããã®ã¯äžååã§ãããSSVCã®ãããªã³ã³ããã¹ãæ
å ±ãšã®çµã¿åãããéèŠ 3. Supply Chains and Malware Campaigns: Is CVE the Right Way to Name the Game? ããã«ãã£ã¹ã«ãã·ã§ã³ïŒ Telos LabsãVulnCheckãHeroDevsãGitHub è°è«ã®åæ CVE CNA Rules 4.1.8 / 4.1.9ïŒäžè¬çãªç®çã§æ
æã«äœæãããæªæã®ããã³ãŒãã¯CVE察象å€ããã ããããã€ã®æšéЬãããã¯ãã¢ããŸãã¯é¡äŒŒã®ãµãã©ã€ãã§ãŒã³ã®äŸµå®³ãªã©ãæªæã®ããåœ¢ã«æ¹å€ããã補åã¯ãè匱æ§ã§ãããšå€æãããå¯èœæ§ãããã OSVãOpenSSFã®malicious-packagesãªããžããªãªã©ä»£æ¿ã¯ãããããšã³ã·ã¹ãã å
šäœã§ã®æšæºåãéçšã®æçã¯ãŸã çºå±éäž ã±ãŒã¹1ïŒXZ UtilsïŒCVE-2024-3094ïŒâããã¯ãã¢åã蟌㿠Red Hatãããã¯ãã¢ãæªæããæ¹å€æžã¿æ£èŠã³ãŒããšããŠCVEãçºè¡ CVEããã£ãããšã§ãæ¢åã®è匱æ§ç®¡çãã€ãã©ã€ã³ãããã«å¯Ÿå¿ã§ãã CVEãªãã§ã¯ãã©ã®XZ Utilsã®åé¡ããã®èå¥åããªããæ
å ±äŒéãæ··ä¹±ããŠããå¯èœæ§ ã±ãŒã¹2ïŒtj-actionsïŒCVE-2025-30066ïŒâGitHubã¢ã¯ã·ã§ã³ã®äŸµå®³ ã¡ã³ãããŒã®ã¢ã«ãŠã³ããããã¯ã¢ãŠããããç¶æ
ã§MITREãCVEãçºè¡ ã¡ã³ãããŒãæ©èœåæ¢ããŠããä»ã®CNAïŒãã®äŸã§ã¯MITREïŒãCVEçºè¡ã§éç¥ãåã«é²ããããå¯èœæ§ã瀺ããã CVEããã£ãããšã§æ¢åã¯ãŒã¯ãããŒãžã®çµ±åãå³åº§ã«å¯èœ ã±ãŒã¹3ïŒShai-Huludânpmã¯ãŒã ãã£ã³ããŒã³ npmã®ãã«ãŠã§ã¢åé€åŠçãCVEãªãã§æ©èœããGHSAãå
¬éããnpm auditã§èŠå CVEã䜿ããªããŠã npm ãšã³ã·ã¹ãã ïŒGHSA/npm auditïŒãæ©èœãã ãã ãCVEã·ã¹ãã ã«ã¯ãã£ã³ããŒã³å
šäœãé¢é£ä»ããã¡ã«ããºã ãååšããªãïŒèšè¿°ã«æžããããªãïŒ ã±ãŒã¹4ïŒTrivy䟵害ïŒCVE-2026-33634ïŒ GitHubãTrivyåãCVEãçºè¡ãäžæµã®LightLLMãšTelnyxã¯åå¥ã¢ããã€ã¶ãªãååŸ ããã±ãŒãžãããŒãžã£ãŒããŸããã䟵害ïŒGoïŒPyPIïŒã§ã®CVEéçšã®èª²é¡ãæµ®ã圫ãã« CVEãæåã®æ¹æ³ãïŒ ãCVEã¯25幎åã®èšèšææ³ã§åããŠãããä»ã§ãæ©èœããŠãããã ãå®ç§ã§ã¯ãªãã ãã£ã³ããŒã³å
šäœãäžã€ã®IDã§è¿œè·¡ãããå Žåãšãåå¥ããã±ãŒãžããšã«IDãå¿
èŠãªå Žåã¯ççŸãã CVEã®å¢çºã¯å¯Ÿå¿ããŒã ã®è² è·å¢å€§ãæãïŒ10ä»¶ã®CVEã¯1ä»¶ã®10åã®äºåäœæ¥ïŒ ãIDãå€ãããããšã¯åé¡ã§ã¯ãªãããããããé¢é£ä»ããããªãããšãåé¡ãïŒçŸè¡CVEã«ãã®ã¡ã«ããºã ãªãïŒ 4. How to Answer "What's Affected?" in Open Source çºè¡šïŒ Google CVEããã°ã©ã ã®èª²é¡ 1999幎ã¯321ä»¶ â çŸåšã¯10åã«1ä»¶ããŒã¹ æ§é åãããŠããªãããã¹ããå€ããèªåãããã³ã°ãå°é£ NVDã®CPEä»äžã®é
å»¶ã«ããæååŠçãå¿
èŠãªç¶æ³ãç¶ããŠãã OSVïŒOpen Source VulnerabilityïŒã¹ããŒãã®èšèšææ³ æ©æ¢°å¯èªãªåœ¢åŒã§ãªãŒãã³ãœãŒã¹ã®è匱æ§ãèšè¿° introduced ïŒè匱æ§ã®æ··å
¥æç¹ïŒã» fixed ïŒä¿®æ£ãå
¥ã£ãæç¹ïŒã» last_affected ïŒåœ±é¿ãåããæçµç¹ïŒã€ãã³ãã§ç¯å²ãå®çŸ© OSVã®èšèšãCVE5.0ã¹ããŒãã«ãããããŒãžã§ã³ç¯å²å°å
¥ã«åœ±é¿ãã ããŒãžã§ã³ç¯å²ã®è€éãïŒLTSãã©ã³ãåé¡ïŒ ã1.xã§å°å
¥â2.2.8ã§ä¿®æ£â3.0ã§åå°å
¥ãã®ãããªè€æ°ãã©ã³ãã¯åçŽãªç·åœ¢ããŒãžã§ã³ã§ã¯è¡šçŸãã¥ãã ã³ãããã®å·®åïŒdiffïŒãããã·ã¥åãã patch-id ã䜿ãããšã§ããã§ãªãŒããã¯ãããä¿®æ£ãèªåæ€åºã§ãã Gitã¯æ¬è³ªçãªé åºé¢ä¿ãæã€ããããšã³ã·ã¹ãã åºæã®ããŒãžã§ã³æ¯èŒããžãã¯ã«é Œããã«æžã ã圱é¿ãããå€å®ã®ã«ãŒã« å°å
¥ã³ãããããçŸåšã®ã³ããããžãä¿®æ£ã³ããããçµç±ããªããã¹ãååšããå Žåã«åœ±é¿ãã ããŒãžã³ãããã®æ±ãïŒä¿®æ£ãã©ã³ãåã蟌ã¿ã§ãå±¥æŽæ¬¡ç¬¬ã§å®å
šæ§ãå€ããã倿ã«ã¯âintroducedâåœè©²commitâã®çµè·¯ã«fixedãå«ãããææ§ãªã圱é¿ããå¯ãã«åãã introduced: 0 ïŒæåã®ããŒãžã§ã³ããè匱ïŒã®éãGitã®è€æ°ã«ãŒãïŒsubtreeãªã©ïŒãžã®å¯ŸåŠãæç€º ããŒã¿ãœãŒã¹ã®çš®é¡ ãšã³ã·ã¹ãã çŽæ¥æäŸïŒcrates.ioãGoãªã©ã¯OSVãã©ãŒãããã§çŽæ¥æäŸã颿°ã¬ãã«ã®æ
å ±ãå«ãïŒ GitHub Security AdvisoryïŒGHSAïŒçµç±ã§Mavenã»npmã®æ
å ±ãè£å® CVE/NVDããã®å€æïŒããŒãžã§ã³ã¿ã°ãšGitã³ããããç
§åããŠç¯å²ãæšå®ïŒãã ãä¿®æ£ã³ãããã§ã¯ãªããªãªãŒã¹ã³ãããã蟿ããã¡ã§éçãããïŒ ããããåŠã¹ãããš CNAãšããŠGitã³ãããããã·ã¥ã§ã®è匱æ§ã¬ããŒãæäŸãåŒ·ãæšå¥š ããŒã«ïŒVEXã»å°éå¯èœæ§è§£æã»éçè§£æïŒãšçµã¿åãããŠãèªåã®ãããžã§ã¯ãã§å®éã«åœ±é¿ãåãããããããã«çµã蟌ãã 5. Identifying Exploited and Likely-to-Be-Exploited Vulnerabilities çºè¡šïŒ VulnCheck VulnCheckã®CNA掻åã®3æ¬æ± Report of Vulnerability ServiceïŒå€éšç ç©¶è
ããè匱æ§å ±åãåãä»ããCVEçºè¡ãŸã§ç¡åã§ãµããŒã è匱æ§ç ç©¶ã»CVD調æŽïŒãµãŒãããŒãã£ãšã®èª¿æŽãç£æ»ãCVEã¢ãµã€ã³ Initial AccessããŒã ïŒãšã¯ã¹ããã€ãéçºãæ€ç¥ã¢ãŒãã£ãã¡ã¯ãäœæïŒå®éã«è匱ãªã³ã³ãããæ¬çªã€ã³ã¿ãŒãããã«å
¬éããŠæ»æãã©ãã£ãã¯ã確èªïŒ VulnCheckç¬èªKEVã®å®çŸ©ãšå®æ
ãå
¬éæ
å ±ãšããŠæªçšå ±åããããã®ããŸãã¯ãVulnCheckã芳枬ãããã®ããã¹ãŠãKEVãšããŠæ±ãïŒCISAããåºãå®çŸ©ïŒ 2025å¹Žã®æªçšç¢ºèªæžã¿è匱æ§ã®ãã¡çŽ28%ãé瀺æ¥åœæ¥ä»¥åã«æªçšèšŒæ ãã AIã®æ®åã«ãããã®ã¿ã€ã ã©ã€ã³ãããã«ççž®ãããæžå¿µ CVEæªå²åœã®æªçšè匱æ§ã®çºèŠïŒShadow Serverãšã®é£æº Shadow Serverã®ã·ã³ã¯ããŒã«ïŒæªçšæ€ç¥ã·ã°ããã£ïŒãåæâCVEãååšããªãç¶æ
ã§é·å¹ŽæªçšãããŠããè匱æ§ãçŽ50ä»¶çºèŠãCVEã¢ãµã€ã³ å®äŸïŒ2016幎ããå
¬éãããŠããD-Linkã®DSLã¢ãã ã®è匱æ§â2025幎ãŸã§æªå²åœâCVEã¢ãµã€ã³åŸã«CISA KEVãžæ²èŒ ãCVEããªãïŒãªã¹ã¯ããªããã§ã¯ãªããåã«èŠããŠããªãã ã Metasploitã¢ãžã¥ãŒã«ã®ç£æ» Metasploitã«ååšãããšã¯ã¹ããã€ãã¢ãžã¥ãŒã«ãšCVEã®çŽä»ããå
šä»¶ç£æ» æ°çŸä»¶ã®ã¢ãžã¥ãŒã«ã«CVEãæªå²åœâãã¡çŽ200ä»¶ã¯CNA管èœå
ã§CVEã¢ãµã€ã³ãå¯èœ Moore's Lawã®é²åçïŒãã«ãžã¥ã¢ã«ãªæ»æè
ã®èœååäžé床âAIã®é²åé床ãã«ãªãã€ã€ãã BlackHat/Bostonã®ãã£ãããã°äŸïŒè
åšã¢ã¯ã¿ãŒãMetasploitãã€ã³ã¹ããŒã«ã倿°ã®ã¢ãžã¥ãŒã«ãæŽ»çš è£œåã»ãã¥ãªãã£ã¢ããã€ã¶ãªã®æŽ»çš Microsoft MSRCã®ãããªæ©æ¢°å¯èªãã©ãŒãããã§æªçšã€ã³ãžã±ãŒã¿ãæäŸãããã³ããŒãçæ³ å®äŸïŒNotepad++ãæªçšâãµãã©ã€ãã§ãŒã³äŸµå®³âVulnCheckãDIBSããã»ã¹ã§èª¿æŽãCVEã¢ãµã€ã³âCISA KEVãžæ²èŒ DIBSããã»ã¹ïŒéè€CVEçºè¡ãé²ãå調ã¡ã«ããºã CNAãéãŸããã¯ãªãã£ã«ã«ãªè匱æ§ã«å¯ŸããŠã誰ãCVEãçºè¡ãããããçæéã§åæããéå
¬åŒããã»ã¹ CVEéè€çºè¡ãªã¹ã¯ãæžãããªããã察å¿é床ã確ä¿ãã ãªããžããªã¯å
¬éãããŠããåå å¯èœ ç ç©¶è
ã³ãã¥ããã£ãšã®é¢ä¿æ§ç¯ãéèŠ Project Discoveryãªã©ãç¹°ãè¿ãè匱æ§ãå ±åããç ç©¶è
ã³ãã¥ããã£ãšã®ä¿¡é Œé¢ä¿ãæ§ç¯âæ·±å€ã«LinkedInçµç±ã§ãŒããã€å ±åãå±ã Versa Connectã®èªèšŒãã€ãã¹è匱æ§ïŒå ±ååœå€ã«CVEãçºè¡ããç¿æ¥ã«ã¯Shadow Serverããã³Sibolãå®éçšç°å¢ã§ã®æªçšã確èªâCISA KEVæ²èŒ è匱æ§ã®æªçšã«é¢ããåææ
å ±ã¯ãç ç©¶è
ã³ãã¥ããã£ããã©ãŒã©ã ãDiscordãªã©ã«åžžé§ãããperpetually online groupsãã«ãã£ãŠæåã«ãµãŒãã§ã¹ããããšãå€ããããããã·ã°ãã«ãããã«æ©ããã£ããã§ããããã«ã®ã«ãªã ç ç©¶è
ã¯ã¬ãžããã®éèŠæ§ VulnCheckã®Initial AccessããŒã ã®ç ç©¶è
ïŒKaleïŒã«å ããå€éšã®è匱æ§ç ç©¶ããŒã ã§ããwatchTowr LabsãCode Whiteãåäžã®è匱æ§ãã»ãŒåæã«çºèŠãããresearcher collisionããçºç å
šå ±åè
ã«é©åãªã¯ã¬ãžãããä»äžããããšãä¿¡é Œãæ§ç¯ããããã§éèŠ ãã³ããŒã¯ã¢ããã€ã¶ãªãšCVEã¬ã³ãŒãäž¡æ¹ã«ã¯ã¬ãžãããèšèŒãã¹ã AIã«ãã圱é¿ïŒQ&AããïŒ é«ã¹ãã«ç ç©¶è
ã䜿ãã°é«å質ãªè匱æ§å ±åã®å€§éæåºãå¯èœã« ã¹ãã«ã®äœãå ±åè
ããã®ãã¹ãããïŒéãªå ±åïŒããå¢å è
åšã¢ã¯ã¿ãŒã¯ãŸã å€ãæ¯ããè匱æ§ãå€çšããŠãããAIã«ããæ°èŠéçºå éã®å®å®³ã¯ãŸã èšæž¬å°é£ã ããæ³šèŠäž 6. Taming the Scanner Storm: How VEX Brings Context to Vulnerability Data çºè¡šïŒ NVIDIA å眮ã ãã®çºè¡šã¯ã¹ãã£ããŒããåŸãããè匱æ§ããŒã¿ãã©ãæ±ãããšãã話 ä»åã¯ç¹ã«ã³ã³ããã€ã¡ãŒãžã«ãã©ãŒã«ã¹ äžéšã®ã€ã¡ãŒãžã察象ã«å§ãããããžã§ã¯ãã§ããã®åŸãã¹ãŠã®ã³ã³ããã€ã¡ãŒãžã«VEXãé©çšã§ããããã«ãªã£ã â»VEXãšã¯ïŒ https://www.vuls.biz/blog/articles/20241105a#Vulnerability-Exploitability-eXchange-VEX ïŒäžèšFutureVuls BlogãåèïŒ åé¡ïŒã¹ãã£ã³çµæãå€ãããŠéçºè
ãåããªã 34,000ã®ã³ã³ããã€ã¡ãŒãžãæ¯æ¥ã¹ãã£ã³çµæãæŽæ°âçŽ2,690äžä»¶ã®è匱æ§çºèŠã24,536ä»¶ã®ãŠããŒã¯ãªCVE ãã®ãã¡66%ã¯ãã³ããŒããããæªæäŸïŒäžæµä¿®æ£ã¯ããããã³ããŒãæªåã蟌ã¿ïŒ ã¹ãã£ããŒã¯ããã³ããŒã圱é¿ãªããšããŠãããããæ¬åœã«æªçšå¯èœãããåœéœæ§ãããå€å®ããªã VEXïŒVulnerability Exploitability eXchange â»ïŒãªãŒããŒã¬ã€ã·ã¹ãã ã®èšèš 2段éãã€ãã©ã€ã³ïŒ UbuntuïŒGitHubå
¬éã®VEXïŒãšRed HatïŒCSAFç³»VEXïŒãåã蟌ã¿ãæ£èŠåããŠCycloneDXãšããŠDBã«æ ŒçŽ ã¹ãã£ã³å®äºæã«APIãã¹ãã£ã³ã¬ããŒãã«VEXæ
å ±ãäžæžããã ã«ãŒã«ãšã³ãžã³ã§ãªã¹ã¯èš±å®¹åºŠã«å¿ããèªåVEXé©çšããªã·ãŒãèšå® VEXã¢ã¯ã·ã§ã³ã®åªå
é äœïŒã«ãŒã«ïŒ upgrade_suggested â èªååæ ããªããä¿®æ£çãããã®ã§ã¢ããã°ã¬ãŒããä¿ã vendor_VEX-not_affected â Critical/Highå«ãå
šæ·±å»åºŠã§èªååæ å¯ fix_available â vendor_VEX-not_affected ããåŸé äœã§é©çš vendor_VEX-affected â ãã³ããŒã圱é¿ãMedium以äžãšããçãæ¡ä»¶ä»ãã§èªååæ ããéçºè
ã®è¿œå 調æ»ã®è² æ
ãæžãã no_vex_or_upgrade_found â ååã¯èªåã§å€å®ããããã ãæè¿å
¬éãããå Žåãªã©ã¯ããªã¢ãŒãžäžãšããŠæ±ã å®çžŸããŒã¿ ä¿®æ£ããªãã£ãfindingsã®ãã¡94%ã§VEXæ
å ±ã«åºã¥ãå€å®ãå¯èœïŒCVE 2020以éïŒ äžäœæ·±å»åºŠ1,700äžä»¶ã®ãã¡84%ã«VEXæ
å ±ãé©çš Critical/Highã¯ä¿®æ£å¯èœãªãã®ãå€ãç©æ¥µçã«ä¿®æ£æç€º -2,600äžä»¶âVEXé©çšåŸãéçºè
ãçã«å¯Ÿå¿ãã¹ãä»¶æ°ã倧å¹
åæž ãã³ããŒãã圱é¿ãªãããšèšã£ãŠããŠã顧客ã¹ãã£ããŒã§ã¯æ€åºããããããSLAã®èšèšãå¿
èŠãªèª²é¡ãšããŠæ®ã åŠãã ããš ãã³ããŒããšã®VEXãã©ãŒãããã»æŽæ°é »åºŠãç°ãªãæ£èŠåãå¿
é ã¹ãã£ããŒåŽãVEXæ
å ±ãåã蟌ãã§ããªãã±ãŒã¹ããããæ¥çå
šäœã§ã®æšæºåã»åã蟌ã¿ãèª²é¡ AlpineçãŸã 察å¿ããŠããªããã£ã¹ããªãã¥ãŒã·ã§ã³ã®VEXæ
å ±ã®åã蟌ã¿ãä»åŸã®èª²é¡ 7. Contextual SBOMs: Unlocking Precise Vulnerability Management with Build-Time Content Intelligence çºè¡šïŒ Red Hat SBOMã«ã€ã㊠SBOMïŒSoftware Bill of MaterialsïŒã¯ããã«ãå·¥çšã§äœ¿ãããæçµçãªãœãããŠã§ã¢ã³ã³ããŒãã³ãã«å«ãŸããå
šã¢ãŒãã£ãã¡ã¯ããæ©æ¢°å¯èªã§æ£åžããããã® è匱æ§ç®¡çã«ãããŠéèŠãªã®ã¯ããœãããŠã§ã¢è³ç£å
šäœã®äžããCVEãè¿
éã«ç¹å®ã§ããä¿®æ£ã®åªå
é äœä»ãã«ã圹ç«ã€ãã èŠå¶ïŒäŸïŒEU Cyber Resilience ActïŒããã¬ãŒã ã¯ãŒã¯ïŒäŸïŒNIST SSDFïŒã§SBOMèŠæ±ãå¢ããSPDX/CycloneDXãããŒã«çŸ€ã§æçããŠããäžæ¹ãè€éã§çŸå®çãªã³ã³ãããã«ãã§ã¯ãSBOMãçŽæããããšããšãå®éã«æäŸã§ããããšãã«ã®ã£ããããã æšæºSBOMïŒAnalyzed SBOMïŒã®æ ¹æ¬çãªéç ã³ã³ããã€ã¡ãŒãžã¯è€æ°ã®ããŒã¹ã»ãã«ããŒã€ã¡ãŒãžãããªããã«ãã¹ããŒãžãã«ãã§æ§æ æšæºSBOMã¯ãã©ãããªãcontainsããªã¹ãã®ã¿ãæäŸããããªããã®ã¢ãŒãã£ãã¡ã¯ããããã«ãããããäžæ ã誰ãä¿®æ£è²¬ä»»è
ãããããããªãç¶æ
ã§CVEãå ±åããããããè€æ°ããŒã ãç¡é§ãªèª¿æ»ã»åãã«ãã«æéãæµªè²» 誀ã£ãé åºã§ã®åãã«ãã«ããCVEãä¿®æ£ãããªãäºæ
ãèµ·ããåŸã Contextual SBOMã®ã³ã¢ã³ã³ã»ãã ãã«ãã¹ãããã粟å¯ã«ç£èŠããå
šã¢ãŒãã£ãã¡ã¯ãããã«ãã¢ã¯ã·ã§ã³ã»çæã€ã¡ãŒãžã«ãããã³ã° 䜿çšããSPDXã®RelationshipTypeïŒ CONTAINS ïŒã³ã³ããã€ã¡ãŒãžå
ã®æšæºçãªå
å«é¢ä¿ DESCENDANT_OF ïŒããŒã¹ã€ã¡ãŒãžãšã®èŠªåé¢ä¿ïŒäŸïŒã¢ããªã€ã¡ãŒãžâUBI PythonïŒ BUILD_TOOL_OF ïŒãã«ãã¹ããŒãžãã«ããŒã€ã¡ãŒãžãšã®é¢ä¿ å
·äœçãªå¹æïŒããŒã¹ã€ã¡ãŒãžã®äŸïŒ è匱ãªHTTPããã±ãŒãžæ€åºæâContextual SBOMãããUBI PythonããŒã¹ã€ã¡ãŒãžã«ç±æ¥ããšå³åº§ã«å€å® ã¢ããªã±ãŒã·ã§ã³ææè
ã§ã¯ãªãããŒã¹ã€ã¡ãŒãžææè
ã«éç¥ ããŒã¹ã€ã¡ãŒãžä¿®æ£åŸã®CI/CDãã€ãã©ã€ã³ã®èªååãã«ããå®å
šèªåå å
·äœçãªå¹æïŒãã«ããŒã€ã¡ãŒãžã®äŸïŒ curl ãè匱âGoLang Builderã€ã¡ãŒãžãèµ·ç¹ãšç¹å®âã¢ããªã¬ã€ã€ãŒã«ã³ããŒãããŠããªãå Žåã¯æçµã¢ããªã®åãã«ãäžèŠãšå€æå¯èœ ãœãŒã¹ã³ãŒãã®äŸåé¢ä¿èµ·å ã®CVEâããŒã¹ã€ã¡ãŒãžææè
ã»ãã«ããŒææè
ã«ã¯éç¥äžèŠ Contextual SBOMå°å
¥ååŸã®æ¯èŒ Before After ã¢ãŒãã£ãã¡ã¯ãã®èµ·æº äžæ å³åº§ã«ç¹å®å¯èœ ä¿®æ£æ
åœããŒã é¢ä¿ããããªããŒã ãå·»ã蟌ãŸããæ
åœç¹å®ã«æé æ
åœããŒã ãæåããç¹å®ã§ããæ
åœã ããåãã åãã«ãé åº è©Šè¡é¯èª€ã»éè€ãã«ã æé©ãªé åºã§èªåå®è¡ 瀟å
ãšã¹ã«ã¬ãŒã·ã§ã³ å
šäœã¢ã©ãŒãã«ãªããã¡ ã察å¿äžèŠããšäŒãããã 課é¡ãšåŒã³ãã ã¢ãŒãã£ãã¡ã¯ãã®äžæèå¥åïŒãã§ãã¯ãµã ã»SPDXã®Package Verification CodeïŒã®äžè²«æ§ã粟床ã®åæ ã«ã¹ã¿ã ãã€ããªãã¡ã€ã«ãªã©äžæèå¥åãæããªãã³ã³ãã³ãã§ã¯èµ·æºç¹å®ãå°é£âãäžç¢ºå®ç¶æ
ãã§ãã©ã°ä»ã SBOMããŒã«ãšã³ã·ã¹ãã å
šäœã«ãããContextual SBOM察å¿ããŒã«éçºãžã®æè³ãåŒã³ãã Contextual SBOMã®å©ç𿹿³ HermetoïŒâ»ïŒ å
¬éãããžã§ã¯ããšããŠå
¬éäžãCI/CDãã€ãã©ã€ã³ãžã®çµã¿èŸŒã¿å¯èœ â»Hermeto ProjectïŒ https://github.com/hermetoproject 8. Lessons From NPM's Dark Side: Preventing the Next Shai-Hulud çºè¡šïŒ OpenSourceMalware.com ãå¶çºçè匱æ§ãvsãæå³çãã«ãŠã§ã¢ãã®éã å¶çºçïŒéçºè
ã®ãã¹ã«ãããããŒãCVE察象ããµãŒãããŒãã£ã©ã€ãã©ãªãåããŠããå Žæã§æªçšãåœ±é¿æéã¯é·æéã®ã±ãŒã¹ããã æå³çïŒæåã«ææããã®ã¯éçºè
PCãCIãåœ±é¿æéã¯çåœïŒaxiosã¯3æéæªæºã§ã¬ãžã¹ããªããæ¶ããïŒãã·ãŒã¯ã¬ããçªåãäž»ãªç®ç CVEã®å¯ŸåŠæ³ïŒææ°ããŒãžã§ã³ã«ã¢ããã°ã¬ãŒãïŒãããã«ãŠã§ã¢ã§ã¯éã«ææçµè·¯ã«ãªã ãªãnpmãæšçã«ãªãã postinstallãªã©ã®ã©ã€ããµã€ã¯ã«ã¹ã¯ãªãããããã©ã«ãã§å®è¡ãããïŒããŠã³ããŒãçŽåŸã«ææïŒ provenanceïŒçºè¡å
蚌æïŒãå¿
é ã§ã¯ãªããæ€èšŒã®ç¿æ
£ãæ ¹ä»ããŠããªã é·ææå¹ããŒã¯ã³ïŒLong-lived Access TokenïŒãååšããäžåºŠå¥ªããããšé·æéæªçšããã ããã«JavaScriptã®æšç§»çäŸåé¢ä¿ã®å€ãã圱é¿ç¯å²ã®æ¡å€§ãå é 2025幎䞻èŠãã«ãŠã§ã¢ãã£ã³ããŒã³ïŒ5ä»¶ïŒ eslint-config-prettierïŒ7æïŒïŒ 3800äžDL/é±ãã¿ã€ãã¹ã¯ã¯ããã£ã³ã°ãã¡ã€ã³ã®ãã£ãã·ã³ã°ã§ããŒã¯ã³çªåâWindowséçºç°å¢ã§RCE isïŒ7æïŒïŒ 280äžDL/é±ããã¡ã³ãããŒã®èª€ã£ãã¢ã¯ã»ã¹åé€ããè£
ããœãŒã·ã£ã«ãšã³ãžãã¢ãªã³ã°âã¯ãªãããŠã©ã¬ããã»ã¯ã©ãŠãã¯ã¬ãã³ã·ã£ã«çªå NXïŒ8æïŒïŒ GitHubã¢ã¯ã·ã§ã³ã®æªçºèŠè匱æ§ãæªçšâAIããŒã«ïŒClaudeã»Geminiã»Amazon QïŒã®èšå®ãæžãæããŠãã«ãŠã§ã¢ã®å
±ç¯è
åâ370瀟ã»20,000ãã¡ã€ã«ä»¥äžæµåºïŒç¬¬2æ³¢ã§6,700ãªããžããªè¿œå å
¬éïŒ QuixïŒ10æïŒïŒ 26åDL/é±ãã2FAæŽæ°ããè£
ããã£ãã·ã³ã°âchalkã»debugããã±ãŒãžå«ã28ããã±ãŒãžäŸµå®³â$1,000çžåœã®æå·é貚çªå Shai-HuludïŒ9æã»11æïŒïŒ 187ããã±ãŒãžææ¡âTruffleHogãæŠåšåããŠã·ãŒã¯ã¬ãããã¹ãã£ã³âææããããã±ãŒãžãèªåçã«åå
¬éããã¯ãŒã æ©èœâ528ãªããžããªå
¬éåâ第2æ³¢ã§492ããã±ãŒãžè¿œå 䟵害ïŒããŒã ãã£ã¬ã¯ããªå逿©èœä»ãïŒâ26,000ãªããžããªããã¯ã¬ãã³ã·ã£ã«æµåº 2026幎ïŒTeamPCPã«ããTrivyã»axios䟵害 TrivyïŒ é·ææå¹PATãæªçšããŠæªæãããªãªãŒã¹ãå
¬éâLightLLMãªã©äžæµããŒã«ãæ±æ axiosïŒ åæé®®ç³»è
åšã¢ã¯ã¿ãŒã«ããé«åºŠãªãœãŒã·ã£ã«ãšã³ãžãã¢ãªã³ã°ïŒåœã®Slacké£çµ¡ã»åœã®Teamsã¢ããããŒãèªå°ã«ãããã«ãŠã§ã¢å®è¡ïŒ Shai-Hulud第2æ³¢ã®è¢«å®³ãåããçµç¹ã®åæ 䟵害ããã30,000ããã±ãŒãžã«ã€ããŠãã©ãã ãã®çµç¹ãã·ãŒã¯ã¬ãããããŒããŒã·ã§ã³ãããã調æ»ïŒEntro Security瀟ã«ããåæïŒ 被害ãåããçµç¹ã¯1,000ãè¶
ãã äžå®æ°ã®çµç¹ã§ãShai-Hulud第2æ³¢ãã72æéåŸãæå¹ãªã¯ã¬ãã³ã·ã£ã«ãä¿æããŠãã 被害çµç¹ã¯æè¡ç³»äŒæ¥ã ãã§ãªãäžåç£ã»å»çã»ä¿éºãªã©å¹
åºãæ¥çš®ã«åã¶ é²åŸ¡çïŒnpmã¡ã³ãããŒåã ããŒããŠã§ã¢ããŒïŒYubiKeyãªã©ïŒïŒãã©ãŠã¶ã®ãªãªãžã³äžäžèŽãæåŠãã人çèªèšŒçµè·¯ãä¿è· Trusted PublishingïŒGitHub OIDCïŒïŒCI/CDãã€ãã©ã€ã³ã®ããŒã¯ã³ãä¿è·ïŒæ¡çšçïŒéå»ATO被害è
ã§13%ãShai-Hulud被害è
ã§ããã«äœã10.8%ïŒ ã»ãã·ã§ã³ããŒã¹ããŒã¯ã³ïŒ2025幎12ænpmå°å
¥ïŒïŒé·æããŒã¯ã³ã廿¢ãExposure WindowïŒé²åºæéïŒãçž®å° é²åŸ¡çïŒå©çšè
åã éçºè
ïŒ ããŒãžã§ã³ãã³ãã³ã°ãlockfile管çãèªåã¢ããããŒãã®ç¡å¹åãã©ã€ããµã€ã¯ã«ã¹ã¯ãªããã®ç¡å¹å ãããã¯ãã»ãã¥ãªãã£ïŒ 䜿çšããŠããªãäŸåé¢ä¿ã®åé€ãCIãAI IDEäžã§ã®ãã«ãŠã§ã¢ã¹ãã£ã³ ã¯ã©ãŠãã»ãã¥ãªãã£ïŒ ã·ãŒã¯ã¬ããããŒããŒã·ã§ã³ã®èªååã»å³æå®è¡ãç°åžžãªã¯ã¬ãã³ã·ã£ã«äœ¿çšã®ç£èŠ ã€ã³ã·ãã³ãã¬ã¹ãã³ã¹ïŒ è
åšã€ã³ããªãžã§ã³ã¹ãšã®ãã£ãŒãçµ±åããµãã©ã€ãã§ãŒã³ã®IRãã¬ã€ããã¯ã®äœæ Q & A ããã±ãŒãžåäœã§ã¯ãªãããªããžããªåäœã§ãããã¯ãããšããèãæ¹ãšã¯ïŒ ãã«ãŠã§ã¢ãé
åžããã«ã¯ãããã±ãŒãžåäœã ãã§ãªãããããå
¬éããããã®ã€ã³ãã©ïŒäŸïŒGitHubãªããžããªïŒãå¿
èŠã«ãªã ãã®ãããåã
ã®æªæ§ããã±ãŒãžã远ããããã®ã§ã¯ãªãã以äžã®å¯Ÿå¿ã®æ¹ããéçšäžå¹ççã§ã¹ã±ãŒã«ããããã±ãŒã¹ããã æªæ§ã ãšå€æããGitHubãªããžããªèªäœããããã¯ãã ãã®ãªããžããªããé
åžãããææç©ãå
æ¬çã«é®æãã ã¯ãŒã«ããŠã³æéãšã¯äœãïŒãªãæå¹ãªã®ãïŒ æ°ããããã±ãŒãžãããŒãžã§ã³ãå
¬éçŽåŸã«ãã䜿ãããäžå®æéåŸ
ã£ãŠããå©çšããéçšã®ããš æšå¥šãããåŸ
æ©æéïŒ2ã3æ¥ïŒçç±ïŒã¢ã«ãŠã³ãä¹ã£åããªã©ã§å
¬éããã æªæ§ããŒãžã§ã³ã®å€ãã¯ããã®æéå
ã«åé€ã»æ€ç¥ãããŠããïŒ æ»æãå®å
šã«é²ããããã§ã¯ãªãããäœãããªãå Žåã«æ¯ã¹ãŠãªã¹ã¯ã倧ããäžããããå®çšçãªé²åŸ¡çãšãããŠãã ã¯ãŒã«ããŠã³éçšã§åé¡ã«ãªããã¡ãªç¹ã¯ïŒ é倧㪠CVE 察å¿ãªã©ã峿ã¢ããããŒããå¿
èŠãªäŸå€ã±ãŒã¹ãå¿
ãçºçãã ãã®ãããã¯ãŒã«ããŠã³ãåæãšããå Žåã¯ã次ãäžå¯æ¬ ã§ãã æè¡çã«ã¯ãŒã«ããŠã³ãåé¿ã§ããä»çµã¿ 誰ãã»ã©ã®æ¡ä»¶ã§äŸå€ãæ¿èªããããšããäºååæ å®éã®éçšã§ã¯ãã24æé以å
ã«å
šç€Ÿã峿ã¢ããããŒãå¿
é ããšããã±ãŒã¹ã¯çš çè«äžã®ç·æ¥æ§ãšãçŸå Žã§å®éã«å¯Ÿå¿ã§ããçŸå®ã«ã¯ã®ã£ããããã ãŸãšã VulnCon 2026ã§ã¯ãè匱æ§ç®¡çãåãå·»ããšã³ã·ã¹ãã ã倧ããªè»¢æç¹ã«ããããšã瀺ãããŸããã NVDãCVEãšãã£ãåºç€ã¯åŒãç¶ãéèŠã§ããäžæ¹ãnpmããã±ãŒãžã®ãã«ãŠã§ã¢ãã£ã³ããŒã³ã®äºäŸã瀺ãããã«ããµãã©ã€ãã§ãŒã³æ»æã®ã¹ããŒããšè€éãã¯å¢ããŠãããåäžã®å¶åºŠãææšã ãã§ã¯å®éçšã«èããªãå Žé¢ãå¢ããŠããŸãã ãŸãè匱æ§ç®¡çã«ãããŠãVEXãContextual SBOMã«ãã圱é¿ç¯å²ã®æèåã«å ããVulnCheckã®çºè¡šã瀺ãããããªãå®éã«æªçšãããŠããïŒããããããããšããèŠç¹ãçµã¿åãããéèŠæ§ã匷調ãããŠããŸããã æ¬èšäºã§ç޹ä»ããã»ãã·ã§ã³ã¯ããããã®å€åãšèª²é¡ãçè§£ããããã§ç¹ã«åèã«ãªãå
容ãå€ãã£ããšæããŸããã ã¡ãªã¿ã«ããŒãã£ã«åå ã®å ŽåãTLP:CLEARãã€2æ¥ç®ä»¥éã®ã»ãã·ã§ã³ããèŠèŽã§ããŸããã§ããã ãããã¯ãŒãã³ã°ããŒãã£ãã¯ãŒã¯ã·ã§ãããžã®åå ãTLP:GREEN以äžã®ã»ãã·ã§ã³ãèŠèŽãããå Žåã¯ãçŸå°åå ããæ€èšãã ããã https://www.first.org/events/calendar/2027#start:2027-03-30 CVE/FIRST VulnCon 2027 & Annual CNA Summit - Save the Date Scottsdale, US March 30, 2027âApril 2, 2027 ç§ãã¡ã¯å
±ã«åããŠããã ãã仲éãåéããŠããŸãïŒ ã¿ãªããŸã®ãå¿åããåŸ
ã¡ããŠããŸãïŒ æ ªåŒäŒç€Ÿé»éç·ç æ°åæ¡çšãµã€ã æ ªåŒäŒç€Ÿé»éç·ç ãã£ãªã¢æ¡çšãµã€ã å·çïŒ @fukuyama.kenta ã¬ãã¥ãŒïŒ @kobayashi.hinami ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ãã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšãAIãã©ã³ã¹ãã©ãŒã¡ãŒã·ã§ã³ã»ã³ã¿ãŒã«æå±ããŠããææ¬ã§ãã ä»åã¯ãé»éç·ç ãåãçµããOJTãªãŒããŒå¶åºŠãã®äžç°ã§ãç§ãOJTãªãŒããŒãšããŠæ°äººã®æ¹ïŒææ±ããïŒãšã©ã®ããã«éãããŠãããã玹ä»ããããšæããŸãã ãªããã®èšäºã¯ãOJTãªãŒããŒããèŠãæ¯ãè¿ãã§ãããæ°äººã®ææ±ããããèŠããšå
šãç¶æ³ãéããããããŸãããããã§å¯ŸãšãªãèšäºãšããŠãæ°äººã®ææ±ããç®ç·ã§ã®æ¯ãè¿ããæçš¿ããŠããã ãäºå®ã§ãã åæïŒé»éç·ç ã®æ°äººæè²å¶åºŠãšAITCã«ã€ã㊠æ°äººæè²ã®æµã åãå
¥ãå
ã®AITCã«ã€ã㊠åãå
¥ããã«ããã£ãŠå€§äºã«ããããš ãæ°äººãããã§ã¯ãªããæ°ããã¡ã³ããŒããããŒã ã§åãå
¥ãã æ°ã¡ã³ããŒã®çåã¯ããŒã ã«ãšã£ãŠææçŸ©ã ãããæ°è»œã«è³ªåããŠã æ¥ã
ã®ã³ãã¥ãã±ãŒã·ã§ã³ïŒOJTãªãŒããŒä»¥å€ãšã®æ¥ç¹ãäœã æ°äººå°çšã®Teamsãã£ãã«ãäœãæ
å ±ãéçŽ æ¥å ±ãæçš¿ããŠããã ããéšå
šäœãããªã¢ã¯ã·ã§ã³ãããããããã« Teamséçºéšå±ïŒãªã¢ã«ã¿ã€ã ã³ãã¥ãã±ãŒã·ã§ã³ã®å Ž éçºããŒã ã¡ã³ããŒãšã®1on1ã©ãã·ã¥ ãŒãããæ©èœãªãªãŒã¹ãŸã§ïŒå幎éã®å®è·µæ¯ãè¿ã 10æïœ11æïŒç°¡æçæAIã¢ããªéçºãéããŠåºç€ãšããŒã ã®ããäœæ³ããåŠã¶ 11æïœ1æïŒéçºããã»ã¹ã®æ§ã
ãªã¿ã¹ã¯ãæ
ã£ãŠéçºã«æ
£ãã 2æïœ3æïŒäž»èŠæ©èœã®éçºãªãŒããšãªãªãŒã¹äœéš OJTãªãŒããŒãšããŠã®åå¹Žãæ¯ãè¿ã£ãŠã¿ãŠ æ°ã¡ã³ããŒã«ãšã£ãŠåããããããŒã ã§ããããšãå€§äº OJTæéã¯ããŒã ã®ããã»ã¹ãã¢ããããŒãããæé OJTãªãŒããŒ1人ã§é 匵ããããªã ãŸãšã åæïŒé»éç·ç ã®æ°äººæè²å¶åºŠãšAITCã«ã€ã㊠ãŸãåãã«ãåæãšããŠé»éç·ç ã®æ°äººæè²å¶åºŠã«ã€ããŠè»œãè§ŠããŸãã ïŒå®éã«äœããããæ°ã«ãªãæ¹ã¯ãã®ç« ãé£ã°ããŠèªãã§ãã ããïŒ æ°äººæè²ã®æµã www.dentsusoken.com æè¡è·ã§å
¥ç€Ÿãããæ¹ã
ã¯ãå
¥ç€ŸåŸ4ïœ9æãŸã§éåç ä¿®ãè¡ãããŸãããããŠã10æä»¥éåéšçœ²ã«é
å±ãããããããå幎éã®OJTæéãšãªããŸãããã®æéã¯ãOJTãªãŒããŒïŒä»åã¯ç§ïŒãšé
å±å
éšçœ²ïŒAITCïŒãšäººäºéšéãååããŠæ°å
¥ç€Ÿå¡ããµããŒãããŸããïŒå¶æ¥è·ã§å
¥ç€Ÿãããæ¹ã¯7ææç¹ã§é
å±ãããå¥ã®ç ä¿®ãåããŸãïŒ éåç ä¿®ã§åºç€çãªITã¹ãã«ããã£ããåŠãã§ããããOJTæéã§é
å±å
ã«åãããã¹ãã«ãå®è·µãéããŠèº«ã«ã€ããŠããã€ã¡ãŒãžã§ããã åãå
¥ãå
ã®AITCã«ã€ã㊠ç§ãæå±ããŠããAIãã©ã³ã¹ãã©ãŒã¡ãŒã·ã§ã³ã»ã³ã¿ãŒïŒAITCïŒã¯ãé»éç·ç ã®äžã§ãAIã«ç¹åãããããžã§ã¯ãããŒã ã§ãã aitc.dentsusoken.com AITCã®äžã§ãããã€ãã°ã«ãŒãããããç§ãšææ±ããã¯AIã³ã¢ãœãªã¥ãŒã·ã§ã³ã°ã«ãŒãã«æå±ããŠããŸãã ããã§ã¯ããšã³ã¿ãŒãã©ã€ãºåãçæAIãœãªã¥ãŒã·ã§ã³ãKnow Narratorãã®éçºãAIã«ããããæè¡æ€èšŒã«åãçµãã§ããŸãã Know Narratorã¯èªç€Ÿéçºã®ãããã¯ããªã®ã§ãææ±ããã¯éçºããŒã ã®äžå¡ãšããŠããããã¯ãéçºã®ã¹ãã«ã身ã«ã€ããªããã補åã®é
ååäžã«è²¢ç®ããŠããããšã倧ããªç®æšã«ãªããŸãã åãå
¥ããã«ããã£ãŠå€§äºã«ããããš OJTãªãŒããŒãšããŠãäžçªå€§äºã«ããã®ã¯ãæ°äººããããããªããŠãæ°ããã¡ã³ããŒããšããŠåãå
¥ããããšã§ããã ãæ°äººãããã§ã¯ãªããæ°ããã¡ã³ããŒããããŒã ã§åãå
¥ãã OJTæéã«ãããŠãæã倧äºãªããšã»ç®æšã¯ãæ°å
¥ç€Ÿå¡ã®æ¹ããããŒã ã®äžå¡ããšããŠãã瀟äŒäººããšããŠããéçºè
ããšããŠæ§ã
ãªçµéšãç©ãããšã§ãã äžæ¹ã§ãåãå
¥ããããŒã ç®ç·ã§èŠããšãã®ç®æšã¯ã©ãã§ããããïŒ ãæ°å
¥ç€Ÿå¡ãæŠååããããšãã«ãªããã¡ ã§ã¯ãªãã§ããããïŒ ãããããã®ç®æšããã¹ãŠã«ãªã£ããšãã ãæŠååãããŸã§ã¯è² æ
ãªã®ãïŒã ãšãã話ã«ãªã£ãŠããŸããŸããOJTãªãŒããŒãšããŠãçŠããŸãããæ°äººç®ç·ã§ããªãã ãå«ã§ããããèªåãè² æ
ãšèšãããŠããããã§ã ããã¯éåžžã«ãã£ãããªãã§ãã ãã¡ããæŠååã¯å€§ããªç®æšã®1ã€ã§ããããããç§ã¯ ãããŒã ã®æé»ç¥ãéããªããã¬ãã·ã¥ãªæ°ã¡ã³ããŒãæ¥ãããšæããŠãããŒã ã®ããã»ã¹ãèŠçŽããã£ã³ã¹ ã ãšæãããã«ããŸããã äŸãã°ïŒ æ°äººãç°å¢æ§ç¯ã«æéãããã â ç°å¢æ§ç¯ããããã®æ
å ±ãè¶³ããŠããªã æ°äººãããŒã ã®åããããã£ãŠããªãâ ã³ãã¥ãã±ãŒã·ã§ã³ãã¹ãæ
åœãèŠãã¥ãã æ°äººãéçºã«è²¢ç®ã§ããŠããªã â ã¢ãŒããã¯ãã£ãéçºããã»ã¹ãè€éããã ãããªé¢šã«æããããã«ããŸããã ããŒã éçºã¯ãæéãçµã€ãšæé»ç¥ã®å¡ã«ãªã£ãŠãããŸãã宿çã«ããã»ã¹ã®èŠçŽããããã¥ã¡ã³ãæŽåã¯ããŸãããæ°ã¥ãã°ããŒã ã¡ã³ããŒéã®é¿åœã®åŒåžã«äŸåããŠããããšãå€ãããããªãã§ããããïŒ æ°ããæ¥ã人ã«ã¯ããã®æé»ç¥ãé¿åœã®åŒåžã¯éçšããŸããããããŠããã¯ããªã«ãâæ°å
¥ç€Ÿå¡âã ããã§ã¯ãªããã§ããããã©ã³ã§ãåãã§ãã ããã©ã³ã®æ¹ã®æŠååãæ©ãã®ã¯ãéå»ã®çµéšãèªåãªãã®ããæ¹ãæã£ãŠããŠãããŒã ã«ãã£ããããèœåãé«ãããããšãã€ãŸããæ°å
¥ç€Ÿå¡ã ãããããã©ã³ã ããããããŒã ã«æ
£ãããŸã§ã«å€ããå°ãªããæéã¯ããããŸãã ã ããããããæŠååããïŒããŒã ã«æ
£ãããåã«ãããŒã ãšããŠæ°ã¡ã³ããŒãåããããç°å¢ã«å€ãã£ãŠããããããäžç·ã«æ¹åããŠããæèã倧äºã«ããŸããã æ°ã¡ã³ããŒã®çåã¯ããŒã ã«ãšã£ãŠææçŸ©ã ãããæ°è»œã«è³ªåããŠã ãã®èãæ¹ã¯ææ±ããã«ãäŒããŠããŸããã ãããªããOJTæéã§ãããããªãããã³ãã¥ãã±ãŒã·ã§ã³ããšãã¥ããããšæãããšã¯ãããŒã ã®èª²é¡ã§ããä»åŸããŒã ã«å
¥ã£ãŠããã¡ã³ããŒãæãããšãªã®ã§ãæ°è»œã«èšã£ãŠãã ãããäžç·ã«æ¹åããŠãããŸãããã ïŒãããªç¶ºéºãªèšãæ¹ããããå®ãã§ã¯ãªãã§ããããã¥ã¢ã³ã¹ã¯äŒããã¯ãâŠïŒ ãããã£ãæèã¥ããããããšã§ãå°ãã§ã質åã®ããŒãã«ãäžããããã®ãªããããããšèããŠããŸãããæ°äººã®é ã¯ãæ°è»œã«è³ªåããŠãããšèšãããŠããªããªãæ°ãã€ãããã®ã§ãããããããæ°äººã«éã£ã話ã§ã¯ãªããšã¯æããŸããã ã質åãããããç°å¢ãšããã®ã¯ãçµå±ãèªåãããŒã ã«åãå
¥ããããŠããããšæããããšãå€§äº ã ãšæããŸãã®ã§ãæ¥ã
ã®ã³ãã¥ãã±ãŒã·ã§ã³ããããŒã ã«éŠŽæãã§ããã ããããæèããŸããã æ¥ã
ã®ã³ãã¥ãã±ãŒã·ã§ã³ïŒOJTãªãŒããŒä»¥å€ãšã®æ¥ç¹ãäœã æ¥ã
ã®ã³ãã¥ãã±ãŒã·ã§ã³ãã©ã®ããã«ãšã£ãŠãããããŸã玹ä»ããŸããããã§å€§äºã«ããã®ã¯ãOJTãªãŒããŒãšæ°äººã®1察1ã®é¢ä¿ã§ã¯ãªãããããŒã å
šäœããµããŒãã§ããããæ°äººãšæ§ã
ãªã¡ã³ããŒãšã®æ¥ç¹ãå¢ãããããšã§ãã æ°äººå°çšã®Teamsãã£ãã«ãäœãæ
å ±ãéçŽ ãçãã æ°äººã«é¢ããæ
å ±ãäžå
åããããããèŠãã°ããããç¶æ
ã«ãã æ°äººãæ°è»œã«è³ªåã§ããããŒã ã¡ã³ããŒãæ°è»œã«ãµããŒãã§ãã空éãäœã æ¥æä»¥éã®æ°äººããããèŠãã°åèã«ã§ãã ãŸãåãã«ãAITCã«é
å±ãããæ°äººã«ãããããããã¯ãæ±ãå°çšTeamsãã£ãã«ãäœæããŸããããã®ãã£ãã«ã¯AITCã¡ã³ããŒã§ããã°ã ãã§ãé²èЧã»ã³ã¡ã³ãå¯èœã§ãã å®éã«ããåããŠã®é¡åããæã®æè£
ããšããæ°äººã«ãšã£ãŠã¯ããŒãã«ã®é«ããããã¯ããæ°è»œã«ããåããããŠããŸããã 以äžã®ãããªåœ¢ã§ãæ°äººã®æ¹ãžå®£äŒããã¡ã³ããŒãã æ¥å ±ãæçš¿ããŠããã ããéšå
šäœãããªã¢ã¯ã·ã§ã³ãããããããã« ãçãã æ°äººãæ¥å ±ãéããŠæç« ãæžãåãåãçµãã ããšãæŽçã»ã¢ãŠããããããåã身ã«çãã AITCå
šäœã§æ°äººãåãçµãã§ããããšãå°ã£ãŠããããšãææ¡ãããµããŒãã§ããããã«ãã é
å±åŸ2ãæéãäžèšã®æ°äººå°çšTeamsãã£ãã«å
ã§ã®å°çšã¹ã¬ããäžã«ãYWTP圢åŒïŒãã£ãããšã»ããã£ãããšã»ã§ããããšã»åé¡ïŒã®æ¥å ±ãæžããŠããã ããŸããã æ¥å ±ã¯OJTãªãŒããŒããæ°äººã®æ¹ãèªåã®ããªããŠããã¿ã¹ã¯ãçè§£ã§ããŠãããïŒåé¡ãæ©ã¿äºã¯ãªã«ãïŒãææ¡ãã1ã€ã®ææ®µã«ãªããŸãããŸãTeamsã§ãã®ã§ä»ã®AITCã¡ã³ããŒãèŠãããšãã§ããŸãã äžå³ã¯äžäŸã§ãããããªãã£ã¹ã®ããªã³ã¿èšå®ãããŸããããªãããšããã³ã¡ã³ãã«å¯ŸããŠãOJTãªãŒããŒã§ã¯ãªãAITCã®ã¡ã³ããŒã®æ¹ããããã¥ã¢ã«ãªã³ã¯ã飿ºãããæ§åã§ã ãªããæ¥å ±èªäœã¯éçºããŒã ãšããŠãå°å
¥ããŠããä»çµã¿ã§ãéçºããŒã ã«å
¥ãææ±ããã«ã¯1æä»¥éãç¶ç¶ããŠæ¥å ±ãæžããŠããã ããŠããŸãã Teamséçºéšå±ïŒãªã¢ã«ã¿ã€ã ã³ãã¥ãã±ãŒã·ã§ã³ã®å Ž ãçãã éçºããŒã ã®æ¥åžžçãªã³ãã¥ãã±ãŒã·ã§ã³ç°å¢ã«æ°äººãçµã¿èŸŒã ããããªãããšããã£ããšãã«OJTãªãŒããŒã ãã§ãªãããã®å Žã«ããã¡ã³ããŒããµããŒãã§ããç°å¢ãäœã ãã¡ãã¯ä»¥åå¥èšäºã§ã玹ä»ããåãçµã¿ã«ãªããŸãã tech.dentsusoken.com éçºããŒã ã§ã¯ããéçºéšå±ããšããŠTeamsã®äŒè°ã«ãŒã ãäœæ¥æéäžç«ã¡äžãã£ã±ãªãã«ããŠããŸãïŒéåžžæãã€ã¯ãšã«ã¡ã©ã¯ãªãã§ãèªç±ã«é¢åžããŠããã§ãã詳现ã¯äžèšèšäºã«ãŠïŒã ææ±ããã«ããã®éçºéšå±ã«åå ããŠããã ãã質åãèãããããšãããã°ããã§èããŠããã ãããã«ããŸããã ããããããšã§ãç§ä»¥å€ã®ã¡ã³ããŒãäœãããŠãããèªç¥ãããããªããŸãããç§ãäžåšã®ãšãããã»ãã®ã¡ã³ããŒã«ãµããŒãããŠããã ãããšãã§ããŸãããŸããææ±ããã«ãšã£ãŠãåšããã©ãããããšã«åãçµãã§ãããç¥ãæ©äŒã«ã€ãªãã£ãã®ã§ã¯ãªãããªïŒãšæããŸãã å®éãç§ã1é±éã»ã©æµ·å€åºåŒµã§ãµããŒãã§ããªãæéããããŸããããã»ãã®éçºã¡ã³ããŒãšã³ãã¥ãã±ãŒã·ã§ã³ããšããªããäœæ¥ãé²ããŠãããŠããŸããã éçºããŒã ã¡ã³ããŒãšã®1on1ã©ãã·ã¥ ãçãã éçºããŒã ã®ã¡ã³ããŒãšæ°äººã®é¢ä¿æ§ãæ§ç¯ãã ã¹ã±ãžã¥ãŒã«èª¿æŽãªã©ã®å®åãçµéšããŠããã ã é»éç·ç ã§ã¯1on1æåãããããšãã«éçºããŒã ã§ã¯æ¯åæ°ã¡ã³ããŒã«éçºããŒã å
šå¡ãšã®1on1ã©ãã·ã¥ãè¡ã£ãŠããã£ãŠããŸãã äœåºŠãèšããŸãããæ°äººãããåãå
¥ãããšããã®ã¯äœãOJTãªãŒããŒã ããè¡ãã®ã§ã¯ãããŸãããããŒã å
šäœã§åãå
¥ããã®ã§ãããã®ããã«ãçžäºã«çè§£ãããŠããã®ã¯å¿
èŠã§ããã£ãã°ããã«äŒè©±ããæ©äŒãçšæããŠããŸãã ãŸãã1on1ã®ã¹ã±ãžã¥ãŒã«èª¿æŽãæ°äººããã«ãªãŒãããŠãããã瀟å
ã®ããŒã«ã«ãæ
£ãã€ã€ã¹ã±ãžã¥ãŒã«èª¿æŽã®ç·Žç¿ãããŠããã ããŸããã ãŒãããæ©èœãªãªãŒã¹ãŸã§ïŒå幎éã®å®è·µæ¯ãè¿ã å幎éã§å
·äœçã«ã©ã®ãããªããšã«åãçµãã§ãããããã£ãããšããæç³»åã§ç޹ä»ããŸãã 10æïœ11æïŒç°¡æçæAIã¢ããªéçºãéããŠåºç€ãšããŒã ã®ããäœæ³ããåŠã¶ ãäž»ã«åãçµãã ããšã Know NarratorããŠãŒã¶ãŒãšããŠè§Šã£ãŠã¿ãŠããªããŒã¹ãšã³ãžãã¢ãªã³ã°çãªææ³ã§çè§£ãæ·±ãã æ¢åã³ãŒãã«ã¯è§Šããã1ãããªããžããªãäœæããŠç°å¢æ§ç¯ã»å®è£
ã»ãã¹ããè¡ã 補åãžå°å
¥äºå®ã®æè¡é åã®æ€èšŒãé²ãã éçºããã»ã¹ã¯æ¬çªããŒã ãèžè¥²ïŒã¿ã¹ã¯åè§£âå®è£
âãã¹ãâã³ãŒãã¬ãã¥ãŒïŒ ãçãã身ã«çããŠã»ããã¹ãã«ã å®å
šã«0ããèªåã§ç°¡æãªçæAIã¢ããªãäœããåããã®ãã§ããããšããäœéšãç©ã¿éããã Know Narratoréçºã®ãäœæ³ããã¡ãã§ãæ¡çšããŠããäœæ³ã«æ
£ããŠããã ã ã¿ã¹ã¯ã®é²ãæ¹ãå°ã£ããšãã®çžè«ãªã©ãOJTãªãŒããŒãšã®äŒè©±ãéããŠæ
£ããŠããã ã æªç¥ã®æè¡ãèªåã§èª¿ã¹ãŠå®è£
ããçµéšãããŠããã ã ãææã Pythonãããžã§ã¯ãã®ç°å¢æ§ç¯ïŒèªåãã¹ãã»ãã©ãŒãããå«ãïŒããçæAIã¢ããªäœæãŸã§ãå®éãã äžèšã®éçšã§åŠãã ç¥èŠããæ¬çªãããã¯ãïŒKnow NarratorïŒã®CI/CDæ¹åã«ãéå
ãã æ€èšŒéçšã§åŸãããæè¡æ
å ±ãããŒã ãžå
±æããåŸã®é¡§å®¢åãæ©èœéçºã®åºç€ãšãªã£ã æåã®2ãæã¯1on1ãããŒã ã®åãã«æ
£ããŠããã ããªãããKnow Narratorã®ã³ãŒãããŒã¹ãšã¯å¥ã®å Žæã§ã0ããç°¡åãªçæAIã¢ããªãäœã£ãŠããã ããŸããã Know Narratorã®ã³ãŒãããŒã¹ã¯ãã§ã«å€§èŠæš¡ã«ãªã£ãŠããã補åéçºæªçµéšã®æ¹ããããªãè§Šããã«ã¯ããŒãã«ãé«ãã§ãããŸãã æ¢ã«éçºãé²ãã§ãã補ååŽã¯ç°å¢åšããCI/CDãæŽåãããããŠããããããèªåã§ç°å¢ãäœãäžããçµéšããç©ã¿ã«ãã ãšããæžå¿µããããŸããã ããã§ãç§ãã以äžã®ãããªã¿ã¹ã¯ãã¹ãããããšã«æž¡ãã€ã€ãææ±ããèªèº«ã§ãããã調ã¹ãªããå®è£
ããŠããã ããŸããã Stepãããªããã³ã«PRãäžããŠããããTeamsã®å°çšã¹ã¬ããã§é£çµ¡ãããŠããã ãããããŠãã®PRãç§ãã¬ãã¥ãŒãããšããæµãã§é²ããŠãããŸãããããã¯éçºããŒã ã®æ®æ®µã®éçºã¹ã¿ã€ã«ãã®ãã®ã§ãã AIããŒã«ã®å©çšãä»»ããŠããŸããããPRã®å
容ãå ±åå
容ã«ã€ããŠç§ã質åãããšãã«èªåã®èšèã§çããããããã«ã¯ããŠããããŸããããAIã«èãããââã ã£ãã®ã§...ãã§ã¯ãªããAIããŒã«ãå©çšããŠåŸãããç¥èŠãåºã«ãèªåã®çè§£ã»èšèã§è©±ããŠãããç·Žç¿ãããŠããã ã圢ã§ãã äžæ¹ãOJTãªãŒããŒç®ç·ã»éçºããŒã ç®ç·ã§ããã®é²ãæ¹ã¯ã¡ãªããããããŸããã ææ±ãããåºããPRãèŠããªãã§æ°ããªçºèŠãããããã®ç¥èŠããã®ãŸãŸè£œåã®CI/CDã«çµã¿èŸŒã¿ãŸããããã¯ãæ¢ã«ç°å¢ïŒCI/CDïŒãªã©ãæŽã£ãŠãã補ååŽã ãšãæ¹ããŠèª¿ã¹ãªãããŠæ¹åããæ©äŒããªããæ¹åã®åªå
床ã¯ã©ãããŠãèœã¡ãŸãããã ãããããæå³ã§ã0ãã調ã¹ãªããé²ããŠããããã®ã¯ããã£ããšæããŸãã æçµçã«ã¯ãç»åçæãªã©ãã§ããç°¡åãªãã£ããã¢ããªãå®è£
ããããã§èª¿ã¹ãŠããã ããå
容ãäœã£ãã¢ããªãéçºããŒã ã«å
±æããŠããã ããŸããããŸããå
±æããŠããã ããæè¡èŠçŽ ã®äžéšã¯ãã®åŸãKnow Narratorã®æ©èœéçºã«æŽ»ããããå®éã«ã客ããŸã®æå
ã«å±ããŠããŸãã 11æïœ1æïŒéçºããã»ã¹ã®æ§ã
ãªã¿ã¹ã¯ãæ
ã£ãŠéçºã«æ
£ãã ãäž»ã«åãçµãã ããšã Know Narratorã®éçºç°å¢ãæ§ç¯ãç°å¢æ§ç¯æé æžã®æ¹åãè¡ã ãªãªãŒã¹åã®ã·ããªãªãã¹ã宿œãšããã°ä¿®æ£ã»ãªãã¡ã¯ã¿ãªã³ã° 瀟å
ã§éå¬ãããŠããAI CodingåŠç¿äŒãžã®åå ãçãã身ã«çããŠã»ããã¹ãã«ã ç°å¢æ§ç¯ãéããŠãæé æžã®ãåèŠã§ãããã«ããç¹ããæŽãåºãæ¹åãã å®éã®éçºã¿ã¹ã¯ïŒãã¹ãã»ãã°ä¿®æ£ïŒãããªããããŒã éçºã®ãããŒã«æ
£ãã æ¢åã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ãéããŠãã³ãŒãããŒã¹ã®æ§é ãçè§£ãã ãææã æ¹åãããç°å¢æ§ç¯æé æžã«ãããåŸã«åç»ããããŒãããŒäŒæ¥ã®ãªã³ããŒãã£ã³ã°å·¥æ°ãåæžããã ã·ããªãªãã¹ããéããŠãªãªãŒã¹åã®ãã°ãçºèŠã»ä¿®æ£ããå質æ
ä¿ã«è²¢ç®ãã æ¢åã¡ã³ããŒãçæã§ããŠããªãã£ãã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ãå®éããå¯èªæ§ãšä¿å®æ§ãåäžããã éçºã®ãã£ããã¢ãããçµãã11æäžæ¬ããã¯å®éã®Know Narratoréçºã«åå ããŠããã ããŸããã ãŸãã¯ç°å¢æ§ç¯ããã¹ã¿ãŒãã§ãã æé æžã¯ããçšåºŠæŽåãããŠããŸããããããã§ããåããŠè§Šã人ãã«ããããããªãã€ãŸã¥ããã€ã³ãã¯ãããã® ã§ããããã§ãç°å¢æ§ç¯ãšäžŠè¡ããŠæé æžã®æ¹åãäŸé ŒããŸããã çµæããã©ãã·ã¥ã¢ãããããæé æžã¯ããã®åŸããŒã ã«åç»ããæ°ã¡ã³ããŒã®æ¹ã«ãå
±æãããç°å¢æ§ç¯ã®ãã©ããŒãããæéãåæžã§ããŸããããæ°ã¡ã³ããŒã®ãããããªããã¯ããŒã ã®è³ç£ã«ãªãããšããè¯ãå®äŸã ã£ããšæããŸãã ç°å¢æ§ç¯åŸã¯ãã·ããªãªãã¹ããéããŠè£œåçè§£ãæ·±ããŠããã ããŸããããã¹ãäžã«çºèŠãããã°ã¯ã起祚ããä¿®æ£ãŸã§äžè²«ããŠææ±ããã«æ
åœããŠããã ããŸããã ãœãªã¥ãŒã·ã§ã³ã®å質ã«ãé
å±åŸ2ãæã§è²¢ç® ã§ããã®ã¯çŽ æŽãããã§ãã ãã®åŸãæ©èœéçºãžé²ãäºå®ã§ãããã察象ã³ãŒããè€éåããŠããããããŸãã¯ãªãã¡ã¯ã¿ãªã³ã°ã«åãçµãã§ããã ãããšã«ããŸããããæåã®å€§ããªå®è£
ã¿ã¹ã¯ããªãã¡ã¯ã¿ãªã³ã°ã§è¯ãã®ãïŒããšããè¿·ãã¯ãããŸããããçµæãšã㊠ãã³ãŒãã®æ§é çè§£ã«ãšãŠã圹ç«ã£ãã ãšããææ³ãææ±ããããããã ããŸãããïŒæ¬é³ã ã£ããšæã£ãŠããŸãïŒ ãã®ãªãã¡ã¯ã¿ãªã³ã°ã§ã¯ãæ¢åã¡ã³ããŒãæãä»ããããŠããªãã£ãæè¡çè² åµãè§£æ¶ã§ãããããããŒã ãšããŠãéåžžã«å©ããææãšãªããŸããã 2æïœ3æïŒäž»èŠæ©èœã®éçºãªãŒããšãªãªãŒã¹äœéš ãäž»ã«åãçµãã ããšã ç¶ç¶ããŠã·ããªãªãã¹ããæ§ã
ãªéçºã¿ã¹ã¯ã«åãçµãã§ããã ã äž»èŠæ©èœã®å®è£
ã»ãã¹ãããªãŒãããææ¬¡ãªãªãŒã¹ã«ãŠé¡§å®¢ãžæäŸãã ãçãã身ã«çããŠã»ããã¹ãã«ã èªåãå®è£
ããæ©èœã補åãšããŠäžã«åºãåã³ãšããã®ããã«ãã¹ãããšãçµéšããŠããã ã 倧ããªæ©èœéçºãéããŠãèšèšãå®è£
ããã¹ãã¯ãã¡ãããèªèº«ã®ã¿ã¹ã¯æŽçãåšèŸºãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã®çµéšãç©ã ãããã¯ããªãŒããŒãããžãã¹ãªãŒããŒã«å¯ŸããŠãæ©èœã®éçºç¶æ³ã仿§ã«ã€ããŠèª¬æããçµéšãããŠããã ã ãææã ææ±ãããæ€èšŒã仿§æŽçããåãçµãã æ©èœã3ææ«ã®ãªãªãŒã¹ã«å«ãŸãã éçºããŒã ã®äžå¡ãšããŠæ§ã
ãªã¿ã¹ã¯ãããªãããŒã ã«è²¢ç®ãã ããŒã å€ã®ã¹ããŒã¯ãã«ããŒã«å¯Ÿããå®è£
ãããæ©èœã®ç޹ä»ããã¢ãªã©ãè¡ã£ã 2æããã¯ãå®å
šã«1人ã®éçºã¡ã³ããŒãšããŠãæ§ã
ãªå®è£
ã¿ã¹ã¯ã«åãçµãã§ããã ãããã«ãªããŸãããOJTãªãŒããŒãšããŠãææ±ããã®ã¿ã¹ã¯ã®èª¿æŽãèšèšã®æéãåºãããšã¯ãã£ãŠããåºæ¬çã«ã¯èªåŸçã«åããŠãããããšæããŸãã æè¡çã«ããæ¢åã®ã³ãŒãã®ã¢ãŒããã¯ãã£ãçè§£ããŠã®è³ªåãã§ããããã«ãªã£ãŠããå°è±¡ã§ããããŸãããããããªãããšãèãããšããããšãç©æ¥µçã«åãçµããŠãããšæããŸãã ãããŠã3æã¢ããããŒãïŒKnow Narratorã¯ææ¬¡ã§æ©èœè¿œå ãªã©ã®ã¢ããããŒããè¡ã£ãŠããŸãïŒã«ãŠã äž»èŠæ©èœã®1ã€ãææ±ããã®å®è£
ã«ããæäŸ ããããšãã§ããŸããã ãç®æšã«å¯ŸããŠäœãè¶³ããªããïŒããã©ããä¿®æ£ãã¹ããïŒããšãã£ãã¿ã¹ã¯æŽçããé¢ä¿è
ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã«åãçµãã§ããããããšæããŸãã OJTãªãŒããŒãšããŠã®åå¹Žãæ¯ãè¿ã£ãŠã¿ãŠ ãŸãã¯ãææ±ãããæ¬åœã«ããé 匵ã£ãŠããããšæããŠããŸãã é
å±ãããŠå幎以å
ã«é¡§å®¢æäŸãããæ©èœã®éçºã®å®è£
ãèªåŸçã«é²ããŠããã ããã®ã¯çŽ æŽãããææã ãšæããŸããé²åã®æ¿ããçæAIã«ãããŠãçæAIã®çè§£ãé²ããªãããœãããŠã§ã¢éçºã®ã¹ãã«ãçå®ã«ç©ãã§ããã ããã®ããªãšãããããã®æŽ»èºã«ã倧ãã«æåŸ
ããŠããŸãã æ°ã¡ã³ããŒã«ãšã£ãŠåããããããŒã ã§ããããšãå€§äº ãããããŠæ¯ãè¿ã£ãŠã¿ãŠãã ãâæ°äººâã§ã¯ãªãâæ°ã¡ã³ããŒâãšããŠåãå
¥ããã ãšããã¹ã¿ã³ã¹ã倧äºã«ããã®ã¯ããã£ããªãšæããŸãã ææ±ãããæãããçåãããããã¥ããããå
±æããŠãããããããããŒã ã®èª²é¡ãšããŠäžç·ã«æ¹åã§ããããšã¯ãç§ã«ãšã£ãŠã倧ããªåç©«ã§ããã å®éã«ææ±ãããã©ãæããŠãããã¯åœŒèªèº«ã®èšäºã«è²ããŸãããå°ãªããšããããã¥ããã®ã¯å人ã®è²¬ä»»ã§ã¯ãªããåºæ¬çã«ããŒã ã®ããã»ã¹ã®åé¡ããšããã¹ã¿ã³ã¹ã§æ¥ããããšã¯ãå¿ççå®å
šæ§ã®é«ãããŒã äœãã«ãããŠå€§äºã§ãããšç§ã¯æããŸãã ãã¡ããå人ã®åªåã§è§£æ±ºãã¹ãããšãããã®ã¯ããã£ãŠããŸãããäºãã«ææããããšã倧äºã§ããããããããä¿¡é Œé¢ä¿ããªã¹ãã¯ãããªããã°ãæ°äººã»ããã©ã³åããåãã«ããè·å Žã«ãªã£ãŠããŸããŸãã ç§èªèº«ããåããããããšæããããŒã ã§ããç¶ããããã«ãããã®ãã€ã³ãã¯ããããã倧äºã«ããŠãããããªãšæã£ãŠããŸãã OJTæéã¯ããŒã ã®ããã»ã¹ãã¢ããããŒãããæé ä»åã®ããæ¹ããã¹ãŠã®ãããžã§ã¯ãã§éçšããããã§ã¯ãããŸããããã©ããªç¶æ³ã§ãããä»ãæ°ã¡ã³ããŒãæ¥ããã©ãåãå
¥ãããïŒããåžžã«æèããŠããããšã¯éèŠã§ãããããŸã§ä»åã®ç§ãã¡ã®ããæ¹ã¯ã 2025幎10ææç¹ã§ã®Know NarratorããŒã ãšããŠã®OJT ã ã£ããšæããŸããæ¬¡ã®OJTã§ã¯ãããããéãããšã«åãçµãã§ãããããšã«ãªãã§ãããã ãã®ãããªç°å¢ã ãããšèšã£ãŠãOJTããæ°äººã®è²æïŒã³ã¹ããããããã®ããšæããã®ã¯éåžžã«ãã£ãããªãã§ãããæ°äººã«ãšã£ãŠã¯ããã¥ãããçãèŠå ã§ãããã 人ã®å
¥ãæ¿ããã¯èµ·ãããã®ã ããæ°äººãæ¥ãŠãããã®ã¯ãããããããš ãªã®ã§ãããã£ããè¿ãå
¥ãããªããããŒã ã®ããã»ã¹ãèŠçŽãçµ¶å¥œã®æ©äŒããšæããŠãããŒã å
šäœã§æé·ããŠãããã°ãšèããŠããŸãã OJTãªãŒããŒ1人ã§é 匵ããããªã OJTãªãŒããŒãæ
åœãããšãã©ãããŠãåäººã®æ¥åè² è·ã¯å¢ããŸããã ããããããããŒã å
šäœã§åãå
¥ããããšããæåã»ã¹ã¿ã³ã¹ãéèŠã§ãã å®éã«ãç§ãOJTãªãŒããŒãšããŠç ä¿®ãªã©ã«åå ããªããšãããªããšãã¯ãã»ãã®æ¹ã«èªåã®ã¿ã¹ã¯ãå·»ãåã£ãŠããããªã©ãµããŒããããã ããŸãããåè¿°ã®éããæåã®2ãæéã¯åå¥ã§æŒç¿èª²é¡ã®ããåããããŠããã®ã§ãéçºã¿ã¹ã¯ã¯ãªãã¹ã軜ããã®ãã¬ãã¥ãŒã®ã¿ã«ãããªã©åãæ¹ã調æŽããŠããŸããããã®ããã«ãæ°äººã ãã§ãªããOJTãªãŒããŒåŽã®ãµããŒããããããšã¯æ³å以äžã«å€§ããã£ããªãšæããŠããŸãã ãã ããããŒã ã®ãµããŒãã倧äºïŒããšæã£ãŠããŠããå®éåé¡ããã«ãµããŒããããããç°å¢ã«ãªã£ãŠããã®ãïŒãšèšããããšé£ãããã®ã§ãããã人äºéšéãããåéšçœ²ã«å¯Ÿãã説æãªã©ã¯ããŠããã ããŠããŸãããçŸå Žã¬ãã«ã«ãã®æèãèœã¡ãŠãããïŒã¯é£ãã課é¡ã ãšæããŸãã OJTãªãŒããŒã«ãªã£ãããã«ã¯ãèªåã1äººã§æ±ã蟌ãŸãªãããã«ããåšå²ãå·»ã蟌ãã¢ã¯ã·ã§ã³ãå¿
èŠãªã®ã ãããšæããŸãããæ°äººãšããŒã ã®æ¹ã
ã®ã³ãã¥ãã±ãŒã·ã§ã³ãä¿ãããšãããŒã ã®æ¹ã«OJTã§ã©ã®ãããªããšãããŠãããã¢ããŒã«ããããšãç§ã¯ãã®ãããªã¢ã¯ã·ã§ã³ããšããããããŒã æåããã£ãã®ã幞ãããŸããããèªåãããŒã åŽã®ç«å Žã«ãªã£ããšããOJTãã¢ã®æ§åã¯æèããŠããããã§ããã äžäœè
ãããŒã ãOJTã«å¯ŸããŠçè§£ãæ·±ãããOJTãªãŒããŒã¯ãã£ããåšããå·»ã蟌ã¿ãªãããæ°äººãèªåãåããããç°å¢ãæŽåããããã®ãããªå¿ããããããããç©ã¿éããŠããããã§ãã ãŸãšã å幎éã®OJTããOJTãªãŒããŒç®ç·ã§æ¯ãè¿ã£ãŠã¿ãŸããã æ°äººã®æ¹ããããããšæé·ããããŒã ã®æŠåã«ãªã£ãŠããå§¿ãéè¿ã§èŠãããã®ã¯ãOJTãªãŒããŒãªãã§ã¯ã®æ¥œããã§ããå®éãåè·ã§ã1床OJTãªãŒããŒãæ
åœããŸãããã2åç®ã®ä»åãéåžžã«æ¥œããã£ãã§ãã OJTãªãŒããŒã®è² æ
ã¯ç¢ºãã«ãããŸãããæ°äººã®æ¹ã«ã¯ãŸã£ããé¢ä¿ã®ãªã話ã§ãããããŒã ã«ãšã£ãŠããæ°ãã颚ããåã蟌ãéèŠãªããã»ã¹ã§ãã èªåãOJTãªãŒããŒã«ãªãã«ãããªããªãã«ãããããŒã ã«æ°ã¡ã³ããŒããã£ãŠããéã¯ããå
¥ã£ãŠããæ¹ãã©ãåãå
¥ããã©ããã¢ã«æé·ããããã«éäžããåæ¹ã«ãšã£ãŠææçŸ©ãªæéã«ã§ããããååãã«ãšãããŠããããã§ããã æåŸãŸã§ãèªã¿ããã ãããããšãããããŸãããææ±ããèŠç¹ã®èšäºãå
¬éãããŸãã®ã§ããã²äœµããŠã芧ãã ããïŒãããããããå
šç¶éãæãæ¹ãããŠãããããããŸããïŒïŒïŒ ç§ãã¡ã¯å
±ã«åããŠããã ãã仲éãåéããŠããŸãïŒ ã¿ãªããŸã®ãå¿åããåŸ
ã¡ããŠããŸãïŒ æ ªåŒäŒç€Ÿé»éç·ç æ°åæ¡çšãµã€ã æ ªåŒäŒç€Ÿé»éç·ç ãã£ãªã¢æ¡çšãµã€ã å·çïŒ @naoki.muramoto ã¬ãã¥ãŒïŒ @miyazawa.hibiki ïŒ Shodo ã§å·çãããŸãã ïŒ
ããã«ã¡ã¯ãã¯ãã¹ã€ãããŒã·ã§ã³æ¬éšãªãŒãã£ã³ã°ãšããžãã¯ãããžãŒã»ã³ã¿ãŒã®å±±äžã§ãã æè¿ã¯ãgpt-ossãQwen3.5ãšãã£ãããŒã«ã«LLMïŒLocal Large Language ModelïŒã泚ç®ãããŠãããããããæŽ»çšãããããžã§ã¯ããå¢ããŠããŠããŸãã ä»åã®èšäºã§ã¯ãããŒã«ã«LLMã®ãã³ãããŒã¯ãœãããŠã§ã¢ã§ãã GuideLLM ã«ã€ããŠç޹ä»ããŸããLLMã®æ§èœã«ã¯æ§ã
ãªèгç¹ããããŸãããGuideLLMã¯LLMãµãŒãèªäœã®å¿çé床ãªã©ã枬ãããã®ãã³ãããŒã¯ãœãããŠã§ã¢ã§ãã GuideLLMã§ã¯ã以äžã®ãããªèгç¹ã§LLMãµãŒãã®æ§èœãè©äŸ¡ããŸãã ã¬ã€ãã³ã·ãŒïŒå¿çæéïŒ ã¹ã«ãŒãããïŒåŠçèœåïŒ åæãªã¯ãšã¹ãæ°ã«å¯Ÿããæ§èœã®å€å ãšã©ãŒçãå®å®æ§ GuideLLMã¯ãLLMãµãŒãã«å¯ŸããŠæ§ã
ãªè² è·ããããããšã§ããããã®èгç¹ã§æ§èœãè©äŸ¡ããŸããäŸãã°ãåæã«è€æ°ã®ãªã¯ãšã¹ããéãããšã§ãã¹ã«ãŒããããã¬ã€ãã³ã·ãŒã®å€åãæž¬å®ããŸãããŸããé·æéã®è² è·ãã¹ããè¡ãããšã§ãå®å®æ§ããšã©ãŒçãè©äŸ¡ããŸãã LLMãµãŒãã®è©äŸ¡é
ç® LLMãµãŒãã®è©äŸ¡ã«ã¯ãTTFTïŒTime To First TokenïŒãITLïŒInter Token LatencyïŒãThroughputãªã©ã®ææšãçšããããŸãã TTFTïŒTime To First TokenïŒ : LLMãæåã®ããŒã¯ã³ãçæãããŸã§ã®æéãæž¬å®ããŸããããã¯ããŠãŒã¶ãŒãå¿çãåãåããŸã§ã®åŸ
ã¡æéã瀺ãéèŠãªææšã§ãã ITLïŒInter Token LatencyïŒ : ããŒã¯ã³éã®çææéãæž¬å®ããŸããããã«ãããLLMã®å¿çé床ãåŠçèœåãè©äŸ¡ã§ããŸãã Throughput : äžå®æéå
ã«åŠçã§ãããªã¯ãšã¹ãã®æ°ã枬å®ããŸããããã¯ãLLMãµãŒãã®åŠçèœåãç€ºãææšã§ãã LatencyïŒã¬ã€ãã³ã·ãŒïŒ : LLMãµãŒãããªã¯ãšã¹ãã«å¯ŸããŠå¿çãããŸã§ã®æéãæž¬å®ããŸããããã¯ããŒã¯ã³ããšã§ã¯ãªããã¹ãŠã®çæãå®äºãããŸã§ã®æéã«ãªããŸãã åæãªã¯ãšã¹ãæ°ã«å¯Ÿããæ§èœã®å€å : åæã«è€æ°ã®ãªã¯ãšã¹ããéãããšã§ãLLMãµãŒãã®æ§èœãã©ã®ããã«å€åããããè©äŸ¡ããŸããããã«ããããµãŒãã®ã¹ã±ãŒã©ããªãã£ãè² è·èæ§ã枬å®ã§ããŸãã ãšã©ãŒçãå®å®æ§ : é·æéã®è² è·ãã¹ããè¡ãããšã§ãLLMãµãŒãã®å®å®æ§ããšã©ãŒçãè©äŸ¡ããŸãã éåžžã®WebãµãŒãã®ãã³ãããŒã¯ãœãããŠã§ã¢ã¯ãHTTPãªã¯ãšã¹ãã®åŠçèœåãå¿çæéãæž¬å®ããããšãäžè¬çã§ããããããLLMãµãŒãã¯å¿çãäœæããããã®æéãé·ãããããçæãããçµæããªã¢ã«ã¿ã€ã ã«è¿ãä»çµã¿ã«ãªã£ãŠããŸãããã®ãããéåžžã®WebãµãŒãã®ææšã«å ããŠTTFTãITLãšãã£ãLLMç¹æã®ææšãéèŠã«ãªããŸããç¹ã«TTFTã¯ãŠãŒã¶ãŒãæåã®å¿çãåãåããŸã§ã®åŸ
ã¡æéã瀺ããITLã¯1ã€ã®ããŒã¯ã³ãçæãããŠããæ¬¡ã®ããŒã¯ã³ãçæããããŸã§ã®æéã«ãªããŸãããããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ã«çŽçµããéèŠãªææšãšãªããŸãã ChatGPTãªã©ã®ãµãŒãã¹ãå©çšããŠããéã«ãæåã®äžæåãåºããŸã§ã®æéãé·ããšæããããšããããããããŸããããããã¯TTFTãé·ãããšãæå³ããŠããŸããTTFTãçãã»ã©ããŠãŒã¶ãŒã¯è¿
éã«å¿çãåãåãããšãã§ããããå¿«é©ãªäœéšãæäŸã§ããŸãã GuideLLMã¯å®éã«LLMãµãŒãã«å¯ŸããŠè² è·ããããããšã§ããããã®ææšã枬å®ããLLMãµãŒãã®æ§èœãè©äŸ¡ããŸããããã«ãããLLMãµãŒãã®æ§èœãå®éçã«è©äŸ¡ããæ¹åç¹ãç¹å®ããããšãã§ããŸãã GuideLLMã®äœ¿ç𿹿³ GuideLLMã¯ãPythonã§å®è£
ããããã³ãããŒã¯ãœãããŠã§ã¢ã§ãã以äžã®ã³ãã³ãã§ã€ã³ã¹ããŒã«ã§ããŸãã ä»ã®ã€ã³ã¹ããŒã«æ¹æ³ã«ã€ããŠã¯ãå
¬åŒã® GitHubãªããžã㪠ãåç
§ããŠãã ããã pip install guidellm[recommended] ã€ã³ã¹ããŒã«åŸãäŸãã°ä»¥äžã®ã³ãã³ãã§ãã³ãããŒã¯ãå®è¡ã§ããŸãã guidellm benchmark run\ --target "http://<LLMãµãŒãã®ã¢ãã¬ã¹:ããŒã>" \ --profile sweep \ --max-seconds 30 \ --data "prompt_tokens=256,output_tokens=128" ããã§ã¯ --target ãªãã·ã§ã³ã§LLMãµãŒãã®ã¢ãã¬ã¹ãšããŒããæå®ããŸãã --profile ãªãã·ã§ã³ã§ã¯ããã³ãããŒã¯ã®ãããã¡ã€ã«ãæå®ããŸãã sweep ãããã¡ã€ã«ã¯ãæ§ã
ãªè² è·æ¡ä»¶ã§ãã³ãããŒã¯ãå®è¡ããããã®ãããã¡ã€ã«ã§ãã --max-seconds ãªãã·ã§ã³ã§ã¯ããã³ãããŒã¯ã®æå€§å®è¡æéãæå®ããŸãã --data ãªãã·ã§ã³ã§ã¯ããã³ãããŒã¯ã«äœ¿çšããããŒã¿ãæå®ããŸããããã§ã¯ãããã³ããããŒã¯ã³æ°ãšåºåããŒã¯ã³æ°ãæå®ããŠããŸãã --profile ãšããŠä»å㯠sweep ãæå®ããŠããŸããããã®åäœã¯ä»¥äžã®ãããªãã®ã«ãªã£ãŠããŸãã ãŸãã¯1䞊åã§ã®ãã³ãããŒã¯ãè¡ããããŒã¹ã©ã€ã³ã®ã¬ã€ãã³ã·ãŒã枬å®ããŸããããã«ãããLLMãµãŒããåäžãªã¯ãšã¹ãã«å¯ŸããŠã©ããããã®å¿çæéãããããææ¡ããŸãã æ¬¡ã«äžŠåã¢ã¯ã»ã¹ãè¡ã(ããã©ã«ãã§ã¯512䞊å)LLMãµãŒãã®æå€§ã¹ã«ãŒããããæž¬å®ããŸããããã«ãããLLMãµãŒããã©ããããã®ãªã¯ãšã¹ããåæã«åŠçã§ããããææ¡ããŸãã 2ã€ã®ãã³ãããŒã¯ã§ããŒã¹ãšãªãæ§èœãšæå€§ã¹ã«ãŒããããããããŸãããæ¬¡ã«ãããŒã¹ã©ã€ã³ã®ã¬ã€ãã³ã·ãŒãšæå€§ã¹ã«ãŒãããã®éã®èšå®ã§ãã³ãããŒã¯ã詊ããŸããããã«ãããLLMãµãŒããç°ãªãè² è·æ¡ä»¶ã§ã©ã®ããã«æ§èœãå€åããããææ¡ããŸãã --profile ã«ã¯ä»ã«ãè²ã
ãªãããã¡ã€ã«ãçšæãããŠããã®ã§ãç®çã«å¿ããŠéžæããããšãã§ããŸãã å
¬åŒã®ããŒãž ãåèã«ããŠãã ããã å®è¡äŸ ããã§ã¯ãå®éã«GuideLLMã䜿çšããŠãã³ãããŒã¯ãå®è¡ããäŸã玹ä»ããŸããä»åã¯ãããŒã«ã«ã§åäœããŠããLLMãµãŒãã«å¯ŸããŠãã³ãããŒã¯ãå®è¡ããŸããã éä¿¡ããLLMãµãŒãã¯DGX Sparkã§åäœããŠããvLLMãµãŒãã§gpt-oss-120b ã䜿çšããŠããŸãã 以äžã®ã³ãã³ãã§ãã³ãããŒã¯ãå®è¡ããŸããã GUIDELLM__MAX_CONCURRENCY ã¯ãguidLLMããã³ãããŒã¯ãå®è¡ããéã®æå€§äžŠåæ°ã§ãã ä»åã®æ¥ç¶å
ãDGX Sparkãªã®ã§ãããŸã§å€ãã®æ¥ç¶ã¯ããªãæ³å®ãªã®ã§128䞊åãæå®ããŠã¿ãŸããã ãŸãã --processor ãªãã·ã§ã³ã§ããã³ãããŒã¯ã§äœ¿çšããããŒã¿ãçæããããã«äœ¿çšããããã»ããµãæå®ããŠããŸããããã§ã¯ãgpt-oss-120bãæ¥ç¶å
ã«ãªãã®ã§ã openai/gpt-oss-120b ãæå®ããŠããŸãã export GUIDELLM__MAX_CONCURRENCY=128 guidellm benchmark --target "LLMãµãŒãã®ã¢ãã¬ã¹:ããŒã" \ --output-dir ./output-dir/ \ --profile sweep \ --max-seconds 300 \ --data "prompt_tokens=256,output_tokens=128" \ --processor "openai/gpt-oss-120b" ãã³ãããŒã¯ã®çµæã¯ä»¥äžã®ããã«ãªããŸããã ãã¹ãŠã®çµæãèŒãããšé·ãããã®ã§ããã³ãããŒã¯çµæã®ãµããªã®éšåãæç²ããŠããŸãã ãµããªãèŠãŠã¿ããšå
šäœã®æ°åã®åŸåãšããŠãåæãªã¯ãšã¹ãæ°ãå¢ããã«ã€ããŠãã¬ã€ãã³ã·ãŒ(Lat)ãå¢å ããã¹ã«ãŒããã(Tok gen/s)ãå¢å ããŠããããšãããããŸãã ãŸããTTFTãITLãåæ§ã«å¢å ããŠããŸããã€ãŸããªã¯ãšã¹ãæ°ãå¢ãããšå¿çé床ãé
ããªã£ãŠããããšãããããŸãã äžæ¹ã§TTFTã¯ææªã§ã500msçšåºŠã§ãITLã131msçšåºŠãªã®ã§ãåæãªã¯ãšã¹ãæ°ãå¢ããŠãå¿çé床ã¯ãŸã 蚱容å¯èœãªç¯å²ã«åãŸã£ãŠããããšãããããŸãã ç¹ã« throughput@128 ã®è¡ãèŠããšãã¹ã«ãŒããããçŽ5.1 req/sã«éããŠããããšãããããŸããããã«ã123.2䞊åãŸã§åé¡ãªãåŠçã§ããŠããããšãããããŸãããã®å Žåã§ããTTFTã¯1506.7msãITLã¯177.3msãªã®ã§ãåæãªã¯ãšã¹ãæ°ãå¢ããŠãå¿çé床ã¯ãŸã 蚱容å¯èœãªç¯å²ãšèšããã®ã§ã¯ãªãã§ããããã è€æ°ãã constant@æ°å ã®çµæã¯ãããŒã¹ã©ã€ã³ã®ã¬ã€ãã³ã·ãŒãšæå€§ã¹ã«ãŒãããã®éã®èšå®ã§ãã³ãããŒã¯ã詊ããçµæã«ãªããŸãã @ ã®å³åŽã®æ°åã¯ãªã¯ãšã¹ãã®é »åºŠã«ãªããŸãã ãããã®çµæãããTTFTãã©ã®çšåºŠãŸã§ãªã蚱容ã§ããã®ããåºæºã«ããŠèš±å®¹å¯èœãªãªã¯ãšã¹ãé »åºŠãæ±ºããããšãã§ããŸããäŸãã°ãTTFTã§900ms以äžã«å¿çããŠã»ãããšããå Žåã§ãããªã constant@1.49 ã constant@2.09 ã®çµæãåèã«ãªããããããŸããã constant@1.49 ã§ã¯TTFTã786.1msã constant@2.09 ã§ã¯TTFTã943.2msãšãªã£ãŠããŸããã€ãŸãã1.49ãªã¯ãšã¹ã/ç§çšåºŠã§ããã°ãTTFTã900ms以äžã«åãŸãå¯èœæ§ãããããšãããããŸãã å©çšããŠã¿ãŠæ°ãä»ããç¹ ãã³ãããŒã¯ã®åºå圢åŒãšããŠã¯ãJSONãCSVã«å ããŠHTMLãéžæã§ããŸããããããä»åHTML圢åŒã§åºåãããã®ã確èªãããšãããããŸã衚瀺ãããŸããã§ãããçæãããŠããHTMLã«åé¡ãããããã§ããåå ã¯äžæã§ããJSONãCSV圢åŒã§åºåãããã®ã¯åé¡ãªãå©çšã§ããã®ã§ä»åã¯ãã¡ãã䜿çšããŸããã ãŸãšã ä»åã¯ãããŒã«ã«LLMã®ãã³ãããŒã¯ãœãããŠã§ã¢ã§ããGuideLLMã«ã€ããŠç޹ä»ããŸãããGuideLLMã¯ãLLMãµãŒãã®æ§èœãæ§ã
ãªèгç¹ã§è©äŸ¡ããããã®ãã³ãããŒã¯ãœãããŠã§ã¢ã§ããGuideLLMã䜿çšããããšã§ãLLMãµãŒãã®æ§èœãå®éçã«è©äŸ¡ããæ¹åç¹ãç¹å®ããããšãã§ããŸãã ããŒã«ã«LLMãæŽ»çšãããããžã§ã¯ããé²ããéã«ã¯ãLLMãµãŒãã®æ§èœãè©äŸ¡ããŠæé©ãªèšå®ãèŠã€ããããšãéèŠã§ãããã²ãGuideLLMãæŽ»çšããŠãããŒã«ã«LLMã®æ§èœãè©äŸ¡ããŠæé©ãªèšå®ãèŠã€ããŠãã ããã ç§ãã¡ã¯äžç·ã«åããŠããã仲éãåéããŠããŸãïŒ é»éç·ç ãã£ãªã¢æ¡çšãµã€ã é»éç·ç æ°åæ¡çšãµã€ã å·çïŒ @yamashita.tsuyoshi ã¬ãã¥ãŒïŒ @sato.taichi ïŒ Shodo ã§å·çãããŸãã ïŒ