ã¯ãããŸããŠããããã¯ãæšé²æ¬éšã«ã€ãã±éçºéšã§ãšã³ãžãã¢ãããŠããæšéãšç³ããŸãã 2025幎1æã«å
¥ç€Ÿãããã£ãšããéã«1幎ãéããŸããã å
¥ç€ŸããŠæããããšãè²å
ãããªããåããŠã¿ãŠã©ãã ã£ãããäžå¿ã«æ¯ãè¿ã£ãŠããããšæããŸãã çŸåšãšã¹ã»ãšã ã»ãšã¹ã«èå³ããæã¡ã®æ¹ã®åèã«ãªãã°å¬ããã§ãïŒ ãã¡ã€ã³ç¥èã®ç¿åŸãšçŸå Žãç¥ã倧åã è€éãªå¶åºŠãã·ã¹ãã ã«èœãšã蟌ã ç§ã¯ä»è·äºæ¥è
åãçµå¶æ¯æŽãã©ãããã©ãŒã ãã«ã€ãã±ãã®é害çŠç¥åéã®éçºã«æºãã£ãŠããŸãã ä»è·ãé害çŠç¥ã®äºæ¥æã¯ãåœãå®ããå¶åºŠã«åã£ãŠéå¶ãããŠããŸãã ãã®ããç§ãã¡ãéçºããéããè¡æ¿ããåºãããè³æãèªã¿è§£ããæ£ããã·ã¹ãã ã«åæ ããããšããäœããéèŠã«ãªããŸãã å¶åºŠãç¹ã«å ±é
¬ç®å®ïŒãéã®èšç®ïŒã®ã«ãŒã«ã¯éåžžã«è€éã§ãèæ
®ãã¹ããã¿ãŒã³ãäŸå€åŠçã®é£æåºŠããšãŠãé«ãã§ãã ç§ã¯ä»¥åæ¯ç§åãã®é»åã«ã«ãéçºãããŠããçµéšããããåçåŽåçã®è³æãèªãããšã«ã¯å€å°æ
£ããŠããŸãããã§ããå®éã«é害çŠç¥ã®åéã«å
¥ã£ãŠã¿ããšãæ¯ç§ãšã¯èãæ¹ãç°ãªãéšåãå€ãã1幎çµã£ãä»ãæ¥ã
詊è¡é¯èª€ããŠããŸãã äŸãã°æ¯ç§ã¯ãäœããã£ããïŒèšºçåäœïŒããåºæ¬ã§ãããä»è·ãçŠç¥ã¯ã誰ããã©ããªããšããäœæéæäŸãããããšãã£ãèŠçŽ ã®çµã¿åããã§èšç®ãå€ãããŸãã ãã®ãç®å®ãã¿ãŒã³ããã©ãã·ã¹ãã ã«èœãšã蟌ãããèããã®ã¯ãæ©ãå Žé¢ãå€ãã§ãã ãã ãã®é£ããã¯åæã«é¢çœãéšåã§ããããŸãã å¶åºŠã®å€æŽã¯çŸå Žã®ããŒãºãç€ŸäŒæ
å¢ãåæ ããããã®ã§ããè³æãèªã¿èŸŒã¿ãèœãšã蟌ãã§ããäœæ¥ãéããŠã瀟äŒèª²é¡ã«åãåããåãçµãã§ãã宿ãæãŠãã®ã¯ãã®ãã¡ã€ã³ãªãã§ã¯ã®ããããã ãšæããŠããŸãã çŸå Žãç¥ã å
¥ç€ŸããŠæ©ã段éã§ãå®éã®æŸèª²åŸçãã€ãµãŒãã¹äºæ¥æã蚪åããæ©äŒãããã ããŸããã çŸå Žã®ã¹ã¿ããã®æ¹ã
ããã話ã䌺ããå®éã®å¿ããããæ¥åäžãŸã ãŸã ã¢ããã°ãå€ãçŸç¶ãçŽæ¥ç®ã«ããããšãã§ããŸããã æ¬æ¥ã®æ¥åã§ãããå©çšè
ãžã®æ¯æŽãã«éäžãããããäºåäœæ¥ãå¹çåããå¿
èŠãããã ãããèã§æããããšã§ãèªåãäœã£ãŠããã·ã¹ãã ã解決ãã¹ã課é¡ãæç¢ºã«ãªããéçºã«åãåãã¢ãããŒã·ã§ã³ãé«ãŸããŸããã å®éã®çŸå ŽãèŠãåŸã¯ãç»é¢ã®å
¥åæ¹æ³ãæ€èšããéããçŸå Žã®å
¥åè² è·ãå¢ããªããïŒããå®éã®æ¥åãããŒãšããŠäžèªç¶ã§ã¯ãªããïŒããšã è§£å床ãäžããŠèããããããã«ãªããŸããã çŸå Žãç¥ãããšã¯ãæ¥åã®è§£å床ãé«ããã ãã§ã¯ãªãããšã³ãžãã¢ãšããŠã®èŠç¹ãåºããããã«ãšãŠã倧åã ãšå®æããŠããŸãã ããããäºæ¥æèŠåŠãäœéšãéããŠçŸå Žãç¥ãæ©äŒã¯ç€Ÿå
ã«å®æçã«ããã çŸå Žã®ãèæèŠãã倧åã«ã§ããç°å¢ã¯éåžžã«ããããããªãšæã£ãŠããŸãã ããªãããã®ãããšããæå å
¥ç€ŸããŠäžçªé©ããã®ã¯çããã®ã¹ãã«ã®é«ããéçºéšå
šäœã«æ ¹ä»ããŠããããªããããããã®ãããèããæèã®é«ãã§ããã åã«ãã©ãå®è£
ãããããšããæè¡çãªè©±ã ãã§ãªããããªããããããã®ããããªããã®ä¿®æ£ãå¿
èŠãªã®ãããããã«ãã£ãŠèª°ãã©ã幞ãã«ãªãã®ãããšããåãããããšãŠã倧åã«ããŠããŸãã ããèªåã®èãããŒãããããŠããã°ãçŽåŸãããŸã§åæããäžå¯§ã«ããåãããããŠãããŸãã ãã®ãããã§ããã¬ãããšãªãé²ããããå Žé¢ãå€ããããŸããã æåã¯ã¬ãã¥ãŒã§ããªããã®å®è£
ã«ããã®ãïŒããšåãããŠããèšèªåã§ããã«åºãŸã£ãŠããŸãããšããããŸããã ããŒã ã®ã¡ã³ããŒã¯ãåã«æ£ããæžãæ¹ãæããã®ã§ã¯ãªãããã©ãããçç±ã§ãã®åœ¢ã«ããã®ãããšããæå³ãæ ¹æ°åŒ·ãåŒãåºãããšããŠãããŸããã ãã®ãããã§ç®å
ã®ã³ãŒãã®æžãæ¹ã ãã§ã¯ãªããéçºã®æ ¹åºã«ãããèãæ¹ãã®å€§åãã«æ°ã¥ãããšãã§ããŸããã ãã®æåã¯ã³ãŒãã¬ãã¥ãŒãèšèšã®å Žã ãã§ãªããããŒã ã®éå¶ãæ¹éãæ±ºããéã«ã培åºãããŠãããšæããŸãã çŽåŸã§ããªãããšãããã°ãªãŒãã³ã«è³ªåã§ããããã«å¯ŸããŠããªããããè¡ãã®ãããçŽåŸãããŸã§è°è«ããŠããŸãã ããªãããã®ãããå
šå¡ã培åºããŠããããšã§ãã誰ã®ã©ããªå©ãã«ãªãã®ãããæç¢ºã«ãªããããèª å®ã«ãããã¯ãã«åãåããŠããã®ã ãšæããŠããŸãã æ¥ã
ã©ãããã°ãã£ãšè¯ããªãããèãæããŠããçãããã¿ãŠã1幎çµã£ãä»ãç§ãèªç¶ãšããªãããã®ãããèªåèªçã§ããããã«ãªã£ãŠãããšæããŸãã ä»åŸã¯ç§ããããªé¢šã«ã誰ãã®èŠçãã¯ãªã¢ã«ã§ããååšãç®æããŠããããã§ãã ã¢ãã³ãªããŒã«ãšããŒã ã®æ¯ã å®éã®éçºæ¥åã§ã¯ãæ¬æ ŒçãªJavaã®éçºã¯åããŠã§æžæãããããŸããã ããã§ããAIããŒã«ã®æŽ»çšãããŒã ã¡ã³ããŒã«ããäžå¯§ãªã¬ãã¥ãŒã«å©ããããç¡äºã«ããã€ãã®æ¡ä»¶ããªãªãŒã¹ã§ããŠããŸãã æè¿ã¯ãAIãæ¥ã
ã®å®åã«ããŸãåãå
¥ããæµããæŽ»çºã§ãã å人ãšããŠã¯ããã¹ãã³ãŒãã®äœæãã»ã«ãã¬ãã¥ãŒãããã¥ã¡ã³ãäœæãªã©æ¥åžžçãªäœæ¥ã®åæã§æŽ»çšããŠããŸãã ããŒã ãšããŠãå
±éã§äœ¿ããåçš®èšå®ãäœæããããšãå¹çåãã©ãã©ãé²ãã§ããŸãã å
æ¥ãããŒã éã§AI掻çšã®æ
å ±äº€æäŒãè¡ãããŸããã ãå
·äœçãªããã³ãããã©ã工倫ããŠãããããšãã£ãçŸå Žãªãã§ã¯ã®å
±æãå€ããéåžžã«åèã«ãªããŸãããææ°æ
å ±ã®å
±æãSlackãªã©ã§æ¥åžžçã«è¡ãããŠãããããŒã«ã䜿ãããªããªãããããæ¬è³ªçãªèšèšãè°è«ã«æéãå²ãããšããèªç¶ãªé°å²æ°ããããšæããŠããŸãããã åè²ãŠãšãã«ãªã¢ãŒãã¯ãŒã¯ ãå®¶æåªå
ããåœããåã®ç©ºæ°æ ç§ã¯çŸåšãæªå°±åŠå
2人ã®è²å
äžã§ãã å
¥ç€ŸçŽåŸã¯ãæ¥ãªæ¬ å€ãæ©éã§è¿·æããããã®ã§ã¯ãªããããšå¿ççãªããŒãã«ãé«ãæããŠããŸããã ãã®äžå®ããªãã¡ãŒé¢è«ã§ãäŒããããšãããå
¥ç€Ÿåã«åè²ãŠäžã®ãšã³ãžãã¢ã®æ¹ã
ãšã話ãããã座è«äŒããèšããŠããã ããŸããã è²å
ããŠããæéãæžãããæè¡çãªãã£ããã¢ããã¯ã©ãããŠããã æ¥ãªäŒã¿ã¯ã©ã調æŽããŠããã®ã ãè¿ãã§1床æãããæè»ãªå€åã¯å¯èœã ãšãã£ããªã¢ã«ãªè©±ããã©ã³ã¯ãªé°å²æ°ã§èããããšããå
¥ç€Ÿã決ãã倧ããªå®å¿ææã«ãªããŸããã å®éã«åããŠã¿ããšãéçºéšå
šäœã«ãå®¶æãèªåã®äœèª¿ãæåªå
ã«ããã空æ°ãæåãšããŠæ ¹ä»ããŠããã®ã宿ããŸãã äŸãã°ãåäŸãæ¥ã«çºç±ããŠäžæããæ¬ å€ãå¿
èŠã«ãªã£ãéããããŒã ã®çããããã倧äºã«ïŒããå®¶æåªå
ããšãåœããåã®ããã«ãã©ããŒãåããç°å¢ããããŸãã å
¥ç€ŸçŽåŸãã¡ã³ããŒæ°åäœèª¿äžè¯ã§äžåšã ã£ãææããããŸããã ãã®éãããäºãæ§ã ããç¡çããäŒããããšããç©ºæ°æã培åºãããŠãããæ°å
¥ç€Ÿå¡ãšããŠã®å¿ççãªããŒãã«ããã£ãšäžãã£ãã®ãèŠããŠããŸãã ãã«ãªã¢ãŒãã§åãããš ãã«ãªã¢ãŒããšèããšãã³ãã¥ãã±ãŒã·ã§ã³ãæ
å ±ã®ãã£ããã¢ããã«äžå®ãæããæ¹ãå€ããããããŸããã å®éã瀟å
ã«ã¯èšå€§ãªããã¥ã¡ã³ããã¢ãŠããããããããããæåã¯æ
å ±ã®å€ãã«å§åãããããšããããŸããã ãã ãæ¬¡ç¬¬ã«ãã¹ãŠãå®ç§ã«è¿œãã®ã¯ãããŠãesaã®æ€çŽ¢ã工倫ãããAIããŒã«ã§èŠçŽããããšãèªåãªãã®ãã³ããªã³ã°è¡ã暡玢ããããã«ãªã£ãŠããŸãã ãã®æ
å ±ã®åæšéžæã¹ãã«ã¯ããã®1幎ã§åŸãæå€ãªåç©«ã®ã²ãšã€ã§ãã Slackã§ã®ã³ãã¥ãã±ãŒã·ã§ã³ãé©ãã»ã©æŽ»çºã§ãã åè²ãŠäžã®ã¡ã³ããŒãéãŸããã£ã³ãã«ãè¶£å³ã®ãã£ã³ãã«ãªã©ãæ¥åå€ã®ã€ãªãããå€ãããããªã¢ãŒãç¹æã®å€ç¬æãæããããšã¯ã»ãšãã©ãããŸããã å ããŠãæ¥ã
ã®æ¥åã«ããã飿ºã®ãªãŒãã³ããã倧ããªå®å¿æã«ã€ãªãã£ãŠããŸãã äŸãã°ãã¡ã³ã·ã§ã³ãã€ããŠããªãç¬ãèšã®ãããªæçš¿ã«å¯ŸããŠãã誰ãããã£ãšè§£æ±ºçãæç€ºããŠãããããé¡äŒŒæ¡ä»¶ãæããŠããããããããšããããŸãã å°ã£ããšãã¯ããã«ãããã«ïŒé³å£°é話ïŒããããããšå£°ããããã®ã§ãèªå®
ã§äžäººæ©ãã§å€ç«ããããšããããŸããã çšããè·é¢æã®äº€æµäŒãããããªã³ã©ã€ã³è¶ãã§ãããŒã ã®ã€ãªããããã£ãããšæããããŠããŸãã çµããã« 1å¹Žãæ¯ãè¿ã£ãŠã¿ãŸããã æ¹ããŠãšã¹ã»ãšã ã»ãšã¹ã«å
¥ç€ŸããŠè¯ãã£ããšæããŠããŸãã æ¥åè§£å床ãäžãã£ãŠããä»ãæ°ããããšã«ãã£ã¬ã³ãžãããªããããã«é 匵ã£ãŠãããããšæããŸãã
ããã«ã¡ã¯ããšã¹ã»ãšã ã»ãšã¹ã§ãããã¯ãæšé²æ¬éšäººäºãããŠããéïŒ @ssket0809 ïŒã§ãã 2026幎3æ20æ¥ã22æ¥ã«éå¬ããã PHPerKaigi 2026 ã«ããšã¹ã»ãšã ã»ãšã¹ãã¹ãã³ãµãŒãšããŠåå ããŸãããããŒã¹åºå±ããããªããå€ãã®ãšã³ãžãã¢ã®æ¹ã
ãšäº€æµãããŠããã ããŸããã phperkaigi.jp ã€ãã³ãã¹ã¿ããã®çãããåå ãããçããããããŠåŒç€ŸããŒã¹ã§ã¢ã³ã±ãŒãã«çããŠãã ãã£ãçãããæ¬åœã«ããããšãããããŸããã ãã®èšäºã§ã¯ãã¹ãã³ãµãŒåå ã®èæ¯ãããŒã¹ã§åãçµãã ããšãåœæ¥ã®æ§åã«ã€ããŠã¬ããŒãããŸãã PHPerKaigi 2026ãšã¯ PHPerKaigiã¯ãPHPãæãããšã³ãžãã¢ãã¡ãéãŸã幎次ã«ã³ãã¡ã¬ã³ã¹ã§ãã2026幎ã¯äžéã»ã³ãã©ã«ããŒã¯ã«ã³ãã¡ã¬ã³ã¹ã«ãŠéå¬ããã44æ¬ã®ã»ãã·ã§ã³ã22æ¬ã®LTïŒã©ã€ããã³ã°ããŒã¯ïŒããããéåžžã«å¯åºŠã®é«ã3æ¥éã§ããã ãšã¹ã»ãšã ã»ãšã¹ãšããŠPHPerKaigiãžã®åå ã¯2幎ã¶ãã§ããä»åã®ã¹ãã³ãµãŒåå ã§ã¯ãPHPerKaigiãäžç·ã«çãäžãããã®ãšåæã«ãåŒç€Ÿã® ãã£ãªã¢äºæ¥ é åã«ããããããã¯ãã»æè¡ã®èªç¥ããšã³ãžãã¢ã³ãã¥ããã£ã«åºããŠããããããšããèæ¯ããããŸããããããããããã®ãããã¯ãéçºãæ
ã 人æç޹ä»éçºã°ã«ãŒã ã®ã¡ã³ããŒãäžå¿ãšãªã£ãŠããŒã¹ã«ç«ã¡ãPHPã䜿ã£ããããã¯ãã®æè¡çãªåãçµã¿ããããŒã ã®éçºã¹ã¿ã€ã«ã«ã€ããŠæ¥å Žè
ãšçŽæ¥å¯Ÿè©±ããŸããã ããŒã¹ã®ã³ã³ã»ãã ããŒã¹ã«ã¯ãDay0ããDay2ãŸã§ãšã³ãžãã¢9åãåå ããŸããã Day1ã®éååç Day2ã®éååç åŒç€Ÿã®ãã£ãªã¢äºæ¥ã®ãããã¯ãã¯ãPHPãã¯ãããšããæè¡ã¹ã¿ãã¯ã§éçºãããŠããŸãããã æ£çŽãªãšãããã©ãããããŒã ã§ã©ãããéçºãããŠããã®ããå€éšãžã®æ
å ±çºä¿¡ããŸã ããŸãã§ããŠããŸããã§ããããã®ããããšã¹ã»ãšã ã»ãšã¹ã«ãããããããã¯ãããããããããªæè¡èª²é¡ã«åãçµãã§ããããšããèªç¥ãããšã³ãžãã¢ã³ãã¥ããã£ã«ã¯ã»ãšãã©å±ããŠããªãã®ãçŸç¶ã§ããã ä»åã®ããŒã¹ã¯ãã£ãªã¢äºæ¥ã®èªç¥ãå€ããŠããããã®1ã€ç®ã®æœçã§ããããŸããããã§ãæ¡çšãã³ãã¬ããã䞊ã¹ãã®ã§ã¯ãªãã ã¢ã³ã±ãŒãããã«ãçšæããŠæ¥å Žè
ãšå¯Ÿè©±ãã ãšãã圢ããšããŸãããå
·äœçã«ã¯ãã¢ã³ã±ãŒãããã«ãçšããŠæ¥å Žè
ã«ãšã³ãžãã¢ãšããŠå€§åã«ããŠãããã€ã³ããçããŠããããªãããèªç¶ãªæµãã§ãšã¹ã»ãšã ã»ãšã¹ã®ãããã¯ããæè¡ã«ã€ããŠãäŒãããŠãããŸããã ã¢ã³ã±ãŒãçµæ åœæ¥çãäžãã£ãã¢ã³ã±ãŒãã®çµæãæ¯ãè¿ã£ãŠã¿ãŸãã ã¢ã³ã±ãŒãã®åçã§æãå€ãã£ãã®ããã ããžãã¹ãšè·é¢ãè¿ã ããšããéžæè¢ã§ããããã ãäŒè©±ãããŠãããšãããžãã¹ãšè·é¢ãè¿ãããæå³ãããã®ã¯äººã«ãã£ãŠå°ãéãã®ãé¢çœããŠãPdMãããžãã¹ãµã€ããšæããŠãããšã®è·é¢æãæããŠãã人ãããã°ãå¶æ¥ãããŒã±è·ãªã©ãšã®è¿ããæããŠãã人ãããŸããã çæAIãéçºã®çŸå Žã§åœããåã®ããã«äœ¿ãããããã«ãªã£ãä»ãã³ãŒãã£ã³ã°ã¹ãã«ã ãã§ã¯ãªãããžãã¹ã®æèãçè§£ããŠäŸ¡å€ãçã¿åºãããšã³ãžãã¢ãæ±ããããŠããããããã£ãå€åãå«ããæ¥å Žè
ã®çã®å£°ã¯ãããããšèããããŠããããã®ã§ããã ãŸããäŒè©±ã®äžã§æ°ã¥ããã®ããããšã¹ã»ãšã ã»ãšã¹ããšãã瀟åã¯ç¥ã£ãŠããŠããäºæ¥å
容ã¯ã»ãšãã©ç¥ããªããšããæ¹ãå€ãã£ãããšã§ããå»çã»ä»è·ã»ãã«ã¹ã±ã¢é åã®äººæç޹ä»ãæãããŠãããšãäŒããããšãã瀟äŒè²¢ç®æ§ãé«ãäºæ¥ã§ããããæ¥æ¬ç€ŸäŒã«ãšã£ãŠãšãŠãéèŠã§ããããšããåå¿ãããã ãããšãå€ããæ¹ããŠèªåãã¡ãåãçµãã§ããäºæ¥ã®æçŸ©ãæããå Žé¢ã§ããããŸããã ãããã£ãæ¬é³ã®å£°ãçŽæ¥èããå Žã¯ãæ®æ®µã®ãªã³ã©ã€ã³é¢è«ã§ã¯åŸãããªã貎éãªæ©äŒã ãšæããŠããŸãã ã»ãã·ã§ã³ã®ææ³ ã©ã®ã»ãã·ã§ã³ãLTãç±éãé«ããåŒç€Ÿã¡ã³ããŒãåå ããã»ãã·ã§ã³ã®ææ³ãããã€ã玹ä»ããŸãã æ¥ç¶âããã©ãŒãã³ã¹ãã¥ãŒãã³ã°ã®æåŸã®äžæ ãç¹ãšç¹ãçµã¶ããã®äžç¬ã®ããã«ã ãã¥ãŒãã³ã°ããæ¥ç¶ããšãã芳ç¹ã§äœç³»çã«æãçŽãã»ãã·ã§ã³ã§ãããã¢ããªã±ãŒã·ã§ã³å
šäœã®æ§æã俯ç°ããã©ãã§ãªã¯ãšã¹ããçºçããŠã©ãã§åŠçãããŠããããææ¡ããããšã§ãã³ãŒããæžããŠããæäžã«ã¯æèãã«ãããæ¥ç¶ç¹ããèŠããŠããããããªèŠç¹ãæ¹ããŠåŠã¶ããšãã§ããŸããã è¥å€§åããRepositoryã¯ã©ã¹ã§è²¬ååå²ã§è§£æ±ºããããšãã話 ECé åã®æ³šææ
å ±ãæ±ãRepositoryã¯ã©ã¹ããã¡ã€ã³ã®è€éãããã«è¥å€§åããåé¡ãããæ³šæã¹ããŒã¿ã¹ãæŽæ°ããããšãã£ãåè©ããæŽæ°ã®èµ·å ïŒãŠãŒã¶ãŒã«ãããã®ãã·ã¹ãã ã«ãããã®ãïŒã«çç®ããããšã§ããŒã å
ã®å
±éèªèã圢æãããµãŒãã¹ã¯ã©ã¹ãšããŠåãåºãããšã«æåãã話ãå°è±¡çã§ããã ããžãã¹ãããããšã³ãžãã¢ã«ãªããïŒçµå¶åŠãšãšã³ãžãã¢ãªã³ã°ããã®å
±éç¹ãšæŽ»çšæ³ æ¥ã
ã®ãšã³ãžãã¢ãªã³ã°æ¥åã«MBAçèŠç¹ããã£ãŠèšããšãã話ã§ãMBAã®èª²é¡è§£æ±ºãã¬ãŒã ã¯ãŒã¯ãæ¥ã
ã®ãšã³ãžãã¢ãªã³ã°æ¥åã«äœ¿ãããšããèŠç¹ã§é¢çœãã£ãã§ãã åå ãéããŠæããã㚠人æç޹ä»éçºã°ã«ãŒããšããŠã«ã³ãã¡ã¬ã³ã¹ã«ããŒã¹åºå±ããã®ã¯ä»åãåããŠã§ãããåå ããã¡ã³ããŒããã¯ãããŒã¹ãåºããŠããã£ãããæ¥å Žè
ãšçŽæ¥è©±ããŠæ¥œããã£ãããèªåãã¡ã®èªç¥ãåºããããšã®å€§åãã宿ã§ããããšãã£ãããžãã£ããªææ³ãå€ãéãŸããŸãããåãã°ã«ãŒãå
ã§ãæ®æ®µã¯ç°ãªãããŒã ã§åããŠããã¡ã³ããŒå士ãäžç·ã«ããŒã¹ã«ç«ã€æ©äŒã¯ãªããªããªãã®ã§ããããã£ãæå³ã§ããäºããç¥ããè¯ãæ©äŒã«ãªã£ããšæã£ãŠããŸãã ãšã³ãžãã¢ãšããŠã§ã¯ãªãæ¡çšã»çµç¹ã¥ããã®ç«å Žã§åå ããŠããç§ã«ãšã£ãŠããããã®ãããã¯ãã«é¢ãããããããã®ããŒã ã§åãããããšæããŠããããçµç¹ã§ããç¶ããããšã®å€§åãããæ¹ããŠå®æãã3æ¥éã§ããã ãŸãšã ä»åPHPerKaigiã«ã¹ãã³ãµãŒãšããŠåå ããæ¥å Žè
ã®çãããšçŽæ¥å¯Ÿè©±ã§ããããšã¯ãç§ãã¡ã«ãšã£ãŠå€§ããªåç©«ã§ããããšã¹ã»ãšã ã»ãšã¹ã§ã¯åŒãç¶ããæè¡ã³ãã¥ããã£ãžã®è²¢ç®ãšããšã³ãžãã¢ãšã®æ¥ç¹ã¥ããã倧åã«ããŠãããããšæã£ãŠããŸãã æåŸã«ãçŽ æŽãããã€ãã³ããäœãäžããŠãã ãã£ãã€ãã³ãã¹ã¿ããã®çãããã»ãã·ã§ã³ãLTã§å ŽãçãäžããŠãã ãã£ãç»å£è
ã®çããããããŠåŒç€ŸããŒã¹ã«è¶³ãéãã§ãã ãã£ãçããã«ãå¿ããã瀌ç³ãäžããŸããããããšãããããŸããïŒ
ã¯ããã« ã¯ãããŸããŠãä»è·/é害çŠç¥äºæ¥è
åãçµå¶æ¯æŽãã«ã€ãã±ãã®äºæ¥éšã§CSè·ïŒã«ã¹ã¿ããŒãµã¯ã»ã¹/ãµããŒãïŒãããŠããTSUNOã§ããã«ã€ãã±ã«æºãã£ãŠ10幎以äžã«ãªããŸãã ãšã³ãžãã¢ã§ã¯ãããŸãããããã°ã©ãã³ã°ã®çµéšããããŸããã§ããã ãããªç§ãAIãæŽ»çšããŠæ¥åèªååããŒã«ãéçºããçµæã æ17.7æéã®å·¥æ°åæž ãš è³Œè²·å€æã®é©æ£å ãå®çŸããŸããã ãã®èšäºã¯ãéãšã³ãžãã¢ã®CSè·ãAIã§æ¥åèªååãé²ããå®è·µèšã§ããAIã§ãããŸã§ã§ãããã ããšãã宿ãæã£ãŠãããããå¬ããã§ãã ãªãããããšæã£ãã®ã ã«ã€ãã±ã®CSã§ã¯ãã客æ§ããã®åãåãã察å¿ã ãã§ãªããã«ã€ãã±ãå©çšããããã§ã®äºåæç¶ããŸã§ãã客æ§ã®æ¥åãå¹
åºãæ¯ããŠããŸãã 2024幎11æãæ¥åäœå¶ã®å€æŽã«ãšããªããæ°ãã«æ¥åãåŒãç¶ãããšã«ãªããŸããã ãã®æ¥åã¯å®äºãŸã§ã«å€ãã®ã¹ãããããããŸãïŒäžå³ïŒãåŒãç¶ãã ã®ã¯ãã®ãã§ãŒãº2ã®éšåã§ããã è€éãªäœæ¥ããã²ãããç¹°ãè¿ããéåžžæ¥åã«ããããäžä¹ããããç¶æ³ã§ã¯ããšãŠãã§ã¯ãªãã§ããæãåããŸãããã¡ããã©ãã®é ãç¡æçã®ChatGPTã§ç°¡åãªGoogle Apps ScriptïŒGASïŒãæžãäœéšãããŠããŸããããã£ã𿬿 Œçã«ããã°ã©ã ã§æ¥åãæ¹åã§ããã®ã§ã¯ãªããââããèãå§ããã®ãããã¹ãŠã®åºçºç¹ã§ãã AI掻çšã®ã¹ãããã¢ãã æåããææããŒã«ã䜿ã£ãŠããããã§ã¯ãããŸããã ç¡æããŒã«ã§å°ããå§ããŠãææãåºããæ¬¡ã®ã¹ããããžããã®ç¹°ãè¿ãã§ãæ°ãã€ãã°æ¬æ Œçãªéçºç°å¢ãæŽã£ãŠããŸããã 倧äºãªã®ã¯ã æåãã倧ããªæè³ãããå¿
èŠã¯ãªã ãšããããšã§ãã ææ ãã£ãããš ãã£ãã 2024幎1æã ç¡åçChatGPTã§AI掻çšãéå§ AI掻çšãžã®èå³ 2024幎11æã GASã§æ¥åèªååã«çæ æ¥åå¹çåã®å¿
èŠæ§ãé«ãŸã£ã 2025幎1æé Google WorkspaceæšæºæèŒã®GeminiãæŽ»çš äŒç€Ÿã®ç°å¢å€å 2025幎11æ Claude Codeã§æ¬æ Œçãªéçºãž AIããŒã«ã®æ¯èŒã»æ€èšŒãçµãŠ 2025幎12æ Claude MAXãã©ã³ãžã°ã¬ãŒãã¢ãã ROIãäžåžã«æç€ºããŠæ¿èª â» åææã¯çè
ãç¥ã£ãã»äœ¿ãå§ããã¿ã€ãã³ã°ã§ããããµãŒãã¹ã®ãªãªãŒã¹ææãšã¯ç°ãªããŸãã AI掻çšã®æ
å ±åéã¯å€æ¹é¢ããè¡ããŸããã X YouTube Google CloudãŠãŒã¶ãŒã³ãã¥ããã£ã®Jagu'e'r â» Jagu'e'r ïŒãžã£ã¬ãŒïŒ ãšã¯ãGoogle CloudãŠãŒã¶ãŒäŒæ¥ãäŒæ¥ã®å£æ ¹ãè¶
ããŠææ°æè¡ãããŠããŠãå
±æãåããã¯ã©ãŠã掻çšã®å€é©ãæšé²ããå
¬åŒã³ãã¥ããã£ã§ãã ç¹ã«Jagu'e'rã®ç¡æãã³ãºãªã³ã»ãããŒã§Vertex AIã«è§ŠããããšãããAPIãéããŠAIã䜿ãããšããã€ã¡ãŒãžãæŽããã£ããã«ãªããŸããããã®äœéšãåŸè¿°ããããŒã¿ç§»è¡æ¯æŽããŒã«ã®æè¡éžå®ã«ã€ãªãããŸãããããããå€éšã®åŠã³ã®å Žã«å ããæè¿ã§ã¯ç€Ÿå
ãšã³ãžãã¢äž»å¬ã®Claude Code掻çšãã¬ããžå
±æäŒã«ãåå ããŸããã ããããããªããŠãé£ã³èŸŒãã§ã¿ããšãæ°ããçºèŠããããã®ã§ãã çæAIã䜿ã£ã3ã€ã®åãçµã¿ ããããã¯ãAIãæŽ»çšããŠåãçµãã 3ã€ã®äºäŸã玹ä»ããŸãã # äºäŸ æŠèŠ 1 GAS + æ¥åãããŒã®èŠçŽã 6æéâ2æéã«å§çž® 2 ä»è·ä¿éºè«æ±ã®äºåæç¶ãRPAâ» æ17.7æéã®å·¥æ°åæž è³Œè²·å€æã®é©æ£å 3 AIé§åã§éçºäžã®ããŒã¿ç§»è¡æ¯æŽããŒã« 垳祚ã®èªåè§£æãšããŒã¿æŽåœ¢ â» RPAïŒRobotic Process AutomationïŒïŒäººããã©ãŠã¶ãã¢ããªäžã§è¡ãæäœãããã°ã©ã ã§èªååããæè¡ 1ïŒæåã®æåäœéš â GASã§6æéã®æ¥åã2æéã« AI掻çšã§æåã«åãçµãã ã®ã¯ãGASã«ããæ¥åèªååã§ãã ã³ãŒãã¯äž»ã«ChatGPTã§çæã»ä¿®æ£ããŸãããèªåã§ãŒãããæžããããã§ã¯ãªãããããããåŠçããããããšAIã«äŒããŠãåºãŠããã³ãŒããå®è¡ããããŸããããªããã°ãšã©ãŒã¡ãã»ãŒãžãAIã«è²Œã£ãŠä¿®æ£ããââãã®ãµã€ã¯ã«ãåãããšã§ãã³ãŒãã¯çå®ã«åããã®ã«ãªã£ãŠãããŸããã çµæã1æ¥ãããçŽ6æéããã£ãŠããæ¥åãçŽ2æéã«å§çž®ãããŸããããã ããããã¯GASã«ããèªååã ãã®å¹æã§ã¯ãªããæ¥åãããŒå
šäœã®èŠçŽãïŒäžèŠãªæé ã®å»æ¢ãäœæ¥é åºã®çµã¿æ¿ãïŒãšã®åç®ã§ããGASåäœã®åæžå¹æãšããŠåãåºããæ°åã§ã¯ãããŸããããããŒã«ãäœãããšèªäœãæ¥åãæ£åžããããã£ããã«ãªã£ããšããæå³ã§ã倧ããªäžæ©ã§ããã 2ïŒä»è·ä¿éºè«æ±ã®äºåæç¶ãRPA â æ¥åèªååã®æ¬æ Œå±é åè¿°ã®æ¥åèŠçŽãã®éçšã§ãGASã§ã¯è§£æ±ºã§ããªãæ¥åããæµ®ã圫ãã«ãªããŸãããæ¥åã®äžã«ã¯ãä»è·ä¿éºã®è«æ±æç¶ãã«äœ¿ãå€éšã·ã¹ãã äžã§ããã°ã€ã³ã»ç»é¢æäœã»åž³ç¥šåºåãšãã£ããã©ãŠã¶æäœãè¡ãå·¥çšãå«ãŸããŠããŸããã ãã®ã·ã¹ãã ã«ã¯å€éšããããã°ã©ã ã§é£æºããããã®ä»çµã¿ïŒAPIïŒãæäŸãããŠãããããã©ãŠã¶ãäººã®æã§æäœãããããããŸããããããããã©ãŠã¶æäœã¯GASã®å®åç¯å²å€ã§ãããèªååããã«ã¯ãã©ãŠã¶ãã®ãã®ãæäœããRPAãå¿
èŠã§ããã ãªããå€éšã·ã¹ãã ãRPAã§æäœããã«ããã£ãŠã¯ãå©çšèŠçŽã®ç¢ºèªã瀟å
ã®ãªã¹ã¯ãããžã¡ã³ãéšéãžã®äºåçžè«ãè¡ã£ãããã§éçºãé²ããŠããŸãïŒè©³çްã¯åŸè¿°ã®ãå€éšã·ã¹ãã ãæäœããäžã§ã®é
æ
®ãã§è§ŠããŸãïŒã ä»è·äºæ¥æãã«ã€ãã±ãéããŠä»è·ä¿éºãè«æ±ããã«ã¯ããã®ã·ã¹ãã äžã§åçš®æç¶ããè¡ãå¿
èŠããããŸãããããã®äœæ¥ã¯ãå
šéœéåºçã«ããã倿°ã®ã¢ã«ãŠã³ãã«å¯ŸããŠæ¥ã
è¡ãããŸãã 以åã«ããã®æ¥åãèªååããRPAããŒã«ãäœãããããšããããŸãããããããéçšç°å¢ã®å€åã«å¯Ÿå¿ããããªããªããæçµçã«åœ¹å²ãçµããŠããŸãããæ¥åã¯åã³æäœæ¥ã«æ»ã£ãŠããã®ã§ãã GASã§ç©ã¿éããæåäœéšãããèªåã§äœããããšã©ãŒãåºãŠããAIã«èããªãã察åŠã§ããããšããç¢ºä¿¡ãæ¯ããŠããŸããã ææâ ïŒæ17.7æéã®å·¥æ°åæž RPAã«ããèªååã§ãæã«17.7æéïŒçšŒåæ¥20æ¥/ææç®ã§ã1æ¥ããã53åïŒã®æ¥åæéãåæžãããŸããã2026幎1ææç¹ã®å®çžŸã§ãããããã®æ¥åã¯ã客æ§ã®å¢å ãšãšãã«ä»¶æ°ãå¢ããåŸåã«ãããä»åŸããã«åæžå¹æãæ¡å€§ããèŠèŸŒã¿ã§ãã æ°åã«ã¯è¡šããªãå€åããããŸãã以åã¯ã«ãŒãã³å¯Ÿå¿ã§æäžæ¯ã§ããããæéãçãŸããããšã§ãã客æ§ãžã®é²æå ±åãããé©åãªé »åºŠã§å±ããããããèšèšãçŽãäœè£ãã§ããŸãããèªååã®æ¬åœã®äŸ¡å€ã¯ã åæžããæéãã®ãã®ã§ã¯ãªãããã®æéã§äœãã§ããããã«ãªãã ã«ãããšæããŠããŸãã ææâ¡ïŒè³Œè²·å€æã®é©æ£å å·¥æ°åæžä»¥äžã«ã€ã³ãã¯ãã倧ããã£ãã®ããè³Œè²·å€æã®é©æ£åã§ãã åŸæ¥ã®éçšã§ã¯ãå€éšã·ã¹ãã ã«ãã°ã€ã³ããŠåŠçä»¶æ°ãäžã€ã²ãšã€ç¢ºèªããå¿
èŠããããå
šäœã®æ£ç¢ºãªææ¡ãå°é£ã§ããããã®ããã宿
ããå€ãã«ã¢ã«ãŠã³ãã賌å
¥ããããåŸãªãç¶æ³ãç¶ããŠããŸããã RPAããã®ãã°ã€ã³ãšä»¶æ°ååŸãèªåã§è¡ãããã«ãªã£ãããšã§ãå®éã®å©çšç¶æ³ãæ£ç¢ºã«èŠããããã«ãªããäžèŠãªã¢ã«ãŠã³ã賌å
¥ãåé¿ããŠã³ã¹ã驿£åãå®çŸããŸããã ããããåæžå¹æã®èŠèŸŒã¿ãROIãšããŠäžåžã«æç€ºããAIããŒã«ã®äžäœãã©ã³ã®å©çšæ¿èªãåŸãŸãããæ¿èªåŸã®å®çžŸããŒã¿ã§ããã®å¹æãè£ä»ããããŠããŸãããããŒã«ã®å©çšæã«å¯ŸããŠãããã ãã®æéãæµ®ãããšãã説æã¯ã瀟å
ã§äºç®ãåãããã§æå¹ã§ããã ããŒã¿ãèŠããããã«ãªããšãæ£ç¢ºãªå€æãã§ãã ãšå®æããåºæ¥äºã§ããã 3ïŒAIé§åã§éçºäžã®ããŒã¿ç§»è¡æ¯æŽããŒã« ããŒã¿ç§»è¡æ¯æŽããŒã«ã¯ãRPAãšäžŠè¡ããŠéçºãé²ããŠããããäžã€ã®ãããžã§ã¯ãã§ããçŸåšã¯æ€èšŒãã§ãŒãºã§ãããRPAã®ãããªç¢ºå®ããææã¯ãŸã ãããŸãããããã§ã¯ã宿ããŠããªããŠããéãšã³ãžãã¢ãAIãšäžç·ã«ãããŸã§å°éã§ããããšããéçšããäŒãããŸãã äœã解決ããããŒã«ã ã«ã€ãã±ãå°å
¥ããã ãéãã客æ§ããããŸã§èç©ããŠããããŒã¿ããã«ã€ãã±ã«ç»é²ããããšããããŒãºããããŸãããã®éã垳祚ïŒPDFïŒãç®èŠã§èªã¿åããæäœæ¥ã§è»¢èšãããããã¯æéããããã ãã§ãªãããã¹ãèµ·ããããäœæ¥ã§ãã ããŒã¿ç§»è¡æ¯æŽããŒã«ã¯ããã®åž³ç¥šãAIïŒGeminiããã£ããç»é¢ã§ã¯ãªãAPIçµç±ã§å©çšïŒã§èªåè§£æããã«ã€ãã±ã«åã蟌ãã圢åŒã«å€æããä»çµã¿ã§ãã Geminiã¢ããªããå§ãŸããClaude Codeã§æé·ãã æåã¯Geminiã¢ããªã®ãã£ããç»é¢äžã§ã1ã€ã®ããã°ã©ã ãã¡ã€ã«ïŒ.pyïŒã«ã³ãŒããæžããŠãã圢ã§ã¹ã¿ãŒãããŸãããããã®åž³ç¥šã®ãã®é
ç®ãèªã¿åã£ãŠãããšã©ãŒãåºãããçŽããŠããšããåãããªãããå°ããã€ã³ãŒããè²ãŠãŠãããŸããã ããããã³ãŒãã1,600è¡ãè¶
ãããããã§éçãæ¥ãŸããããã£ãããäžåºŠã«æ±ããæèã®ç¯å²ïŒã³ã³ããã¹ãïŒã«ã³ãŒãå
šäœãåãŸããããªããªããä¿®æ£ã®ãã³ã«ååŸé¢ä¿ãéåããããã«ãªã£ãã®ã§ãã ããã§åãæ¿ããã®ããClaude Codeããšãããããã¹ãå
¥åã§æäœããéçºããŒã«ã§ããããããžã§ã¯ãå
šäœã®ãã¡ã€ã«ãææ¡ããªããããšãŒãžã§ã³ãã®ããã«èªåŸçã«ã³ãŒããç·šéã»å®è¡ããŠãããŸãã Claude Codeã«åãæ¿ããŠããã¯éçºé床ã倧å¹
ã«äžããã1,600è¡ã®åäžãã¡ã€ã«ã ã£ãã³ãŒãã¯ã圹å²ããšã«ãã¡ã€ã«ãåãã9,300è¡è¶
ã®æ§æã«ãŸã§æé·ããŠããŸãã æç¹ èŠæš¡ éçºç°å¢ åæ çŽ1,600è¡ã»åäžã®.pyãã¡ã€ã« Geminiã¢ããªã®ãã£ããç»é¢ çŸåš çŽ9,300è¡ + ãã¹ãçŽ1,800è¡ã»è€æ°ãã¡ã€ã«æ§æ Claude Code AIã«ä»»ããéšåãšãä»»ããªãéšå éçºãé²ããäžã§ãæ£ç¢ºæ§ã®é«ãããŒã¿ãœãŒã¹ãåªå
ããèšèšã«ãã©ãçããŸãããä»è·ä¿éºã®è«æ±ããŒã¿ã¯ã仿§æžã§CSV圢åŒãšããŠå®çŸ©ãããŠããŸãããããã¯CSVãã確å®ã«ååŸããCSVã§ã¯åŸãããªãæ
å ±ã ãã垳祚PDFããAIã«èªã¿åãããããã€ããªããæ¹åŒããæ¡çšããŠããŸãã CSV圢åŒã§ç¢ºå®ã«ååŸã§ããããŒã¿ãããããŠç²ŸåºŠã«ã°ãã€ãã®ããAIèªã¿åãã«åãçç±ã¯ãããŸãããAIã¯åž³ç¥šã®èªã¿åãã§èª€èªèãèµ·ããããšãããããã確å®ãªææ®µããããªããã¡ããåªå
ãããã©ã®ããŒã¿ãã©ã®æ¹æ³ã§ååŸãããã®ç·åŒãã«ãããã¡ã€ã³ç¥èãæŽ»ããŠããŸãã â» å人æ
å ±ãå«ãããŒã¿ã®AIåŠçã«ããã£ãŠã¯ããšã³ã¿ãŒãã©ã€ãºåãã®ã»ãã¥ã¢ãªãµãŒãã¹ãå©çšããŠããŸãã çŸåšå° éçºç°å¢ã§ã®æ€èšŒãçµãŠãã¯ã©ãŠãäžã§åãWebã¢ããªãšããŠæ§ç¯ãããã©ãŠã¶ããã¢ã¯ã»ã¹ã§ããç¶æ
ã«ãŸã§æã£ãŠããŸãããåè¿°ã®ãã€ããªããæ¹åŒã¯ãå®ããŒã¿ãçšããæ€èšŒã§ãäžå®ã®ç²ŸåºŠã§åäœããããšã確èªããŠããŸããçŸåšã¯æ§ã
ãªãã¿ãŒã³ã®ããã³ããïŒAIãžã®èªã¿åãæç€ºïŒã調æŽããªããã察å¿ã§ãã垳祚ã®çš®é¡ãå¢ãããŠãããšããã§ããèªå以å€ã®ã¡ã³ããŒã䜿ããç¶æ
ã«ããããšã¯ä»åŸã®èª²é¡ã§ãã 宿ã«ã¯ãŸã æéãããããŸãããéãšã³ãžãã¢ã«ããæ¥åæ¹åã®æ°ããå¯èœæ§ã瀺ãããšèããŠããŸããããããã¯ã3ã€ã®äºäŸãéããŠåŸãå®è·µçãªåŠã³ãå
±æããŸãã éãšã³ãžãã¢ãAIé§åéçºãé²ããããã®ãã©ã¯ãã£ã¹ éãšã³ãžãã¢ãAIãæŽ»çšããŠææãåºãããã«ã¯ãå
·äœçãªææ³ã®åã«ããŸãããŒã¹ãšãªããå¿æ§ãããããäŒãããŸãã ãŸãæŒãããŠãããã4ã€ã®å¿æ§ã 1. ããã°ã©ãã³ã°çµéšãããæ·±ãæ¥åãããŒçè§£ æ¥åãæ·±ãçè§£ããåžžã«æ¹åç¹ã暡玢ããããšã 2. 人éã¯ãèŠä»¶å®çŸ©ãšå€æããAIã¯ãå®è£
æ
åœã ãäœãäœããããã©ããªãšã©ãŒãå±éºãããã©ã®ããŒã¿ãAIã«ä»»ããŠã¯ãããªãããããããã倿ã¯äººéã®åœ¹å²ã§ããå
·äœçãªæç€ºãåºããAIãã³ã³ãããŒã«ããããšã 3. AIã®åºåã¯ããããå°ããšããŠåãåã AIã¯èªä¿¡æºã
ã«ééããããšããããŸããã³ãŒãã®äžèº«ããã¹ãŠçè§£ããã®ã¯é£ãããŠããããã®ä¿®æ£ã§äœãå€ãã£ãïŒããæå³ããèšèšã«ãªã£ãŠããïŒããšAIã«ç¢ºèªããããšã¯ã§ããŸããè€æ°ã®AIã«ã¯ãã¹ãã§ãã¯ãããã®ãæå¹ã§ããéµåã¿ã«ãããèªåã®èšèã§åããããç¿æ
£ãæã€ããšã 4. å°ããå§ããŠãææãç©ã¿éãã å°ããªèªååã®æåäœéšããæ¬¡ã®ææŠãžã®èªä¿¡ãšåååã«ãªããŸããããŸãã¯æãåãããŠã¿ãããšã å®è·µïŒçµç¹ã§é²ããããã®6ã€ã®ãã©ã¯ãã£ã¹ å¿æ§ããåå°ãšããŠãç§ãå®éã«ãã£ãŠããäžã§ãããã¯ä»ã®äººã«ãåçŸã§ããããšæããå
·äœçãªã¢ã¯ã·ã§ã³ã6ã€ã«ãŸãšããŸããã ã«ããŽãª # ãã©ã¯ãã£ã¹ ã²ãšããšãã€ã³ã å®è·µ 1 AIãžã®æç€ºã¯ãæ¥åã®èšèãã§ãã å°éçšèªãããäœãã»ãªãã»ã©ãããããã 2 ãšã©ãŒã¯å£ã§ã¯ãªããæããã ãšã©ãŒã¡ãã»ãŒãžãAIã«è²Œãã ãã§åã«é²ãã 3 ãã¹ããAIã«æžããŠããã ãã ããæ¥åçã«æ£ããããã¯äººéãèãã 4 ç°å¢æ§ç¯ã¯ãAIã«èã â è£åã â ã»ãã¥ãªãã£ç¢ºèªã ã·ã£ããŒITãé¿ããæé ãçããªã çµç¹ 5 ææãæ°åã§èŠããŠããªãœãŒã¹ãåŸã ROIã§äžåžã®æ¿èªãåŸã 6 å€éšã·ã¹ãã ãæäœããäžã§ã®é
æ
® å©çšèŠçŽã»ç€Ÿå
æ¿èªã»è² è·é
æ
® 1. AIãžã®æç€ºã¯ãæ¥åã®èšèãã§ãã ããã³ãããšã³ãžãã¢ãªã³ã°ã ãšèº«æ§ããå¿
èŠã¯ãããŸããã倧äºãªã®ã¯ã æ¥åã®æèãäžå¯§ã«äŒããããš ã§ããããŒã¿ç§»è¡æ¯æŽããŒã«ã®éçºåæã«ç§ãAIã«äŒããã®ã¯ãããªå
容ã§ããã å°éçšèªã¯äžå䜿ã£ãŠããŸãããããäœãã»ãªãã»ã©ãããããããæç¢ºãªã®ã§ãAIã¯ã»ãã¥ãªãã£èšèšã䞊ååŠçããšã©ãŒãã³ããªã³ã°ãã³ã¹ã衚瀺ãŸã§äžåºŠã«ææ¡ããŠãããŸããããå人æ
å ±ã¯ãã°ã«åºãªãããã«ããŠãââããããçºæ³ã¯ãæ¥åã§æ¥åžžçã«å人æ
å ±ãæ±ãããã®éã¿ãç¥ã£ãŠããããããçãŸãããã®ã§ããAIã®åºåå質ãå·Šå³ããã®ã¯ãããã°ã©ãã³ã°ã®ç¥èã§ã¯ãªãæ¥åã®ç¥èã§ãã ãã ããAIã«ä»»ãããã§ããéšåãšã人éãå³å¯ã«èšèšããªããã°ãªããªãéšåã¯ãããŸããå€éšã·ã¹ãã ã®ä»æ§æžãèªã¿èŸŒã¿ã垳祚ã«ã©ã®ãããªå€ãå
¥ã£ãŠããã®ããæŽçããäžã§èªã¿åãã®ããžãã¯ãèšèšããââããã¯æ¥åãç¥ã£ãŠãã人éã責任ãæã€é åã§ãã 2. ãšã©ãŒã¯å£ã§ã¯ãªããæããã éãšã³ãžãã¢ã«ãšã£ãп倧ã®å£ã¯ããšã©ãŒãåºããšãã®å¯ŸåŠã§ããã§ãããããšã¯ç°¡åã§ã ãšã©ãŒã¡ãã»ãŒãžããã®ãŸãŸAIã«è²Œã ã ãã§ããå®éã®éçºã§ã¯ããšã©ãŒå¯ŸåŠã段éçã«ã¬ãã«ã¢ãããããŠãããŸããã ãŸã貌ã â ãšã©ãŒã¡ãã»ãŒãžãAIã«è²Œã£ãŠãããã©ãããã°ããïŒããšèãã倧æµã¯ããã§è§£æ±ºçãè¿ã£ãŠãã æŠç¥ãäœã â ãšã©ãŒã®çš®é¡ããšã®å¯ŸåŠæ¹éãAIãšäžç·ã«èšèšãã ä»çµã¿åãã â ãšã©ãŒçºçæã«ç»é¢ãã£ããã£ãHTMLãåŠçãã°ãèªåååŸããåå ç¹å®ã容æã«ãã ã²ãšã€æ³šæããŠããããã®ã¯ããšã©ãŒã¯èªåã®ã³ãŒãã ãããèµ·ããããã§ã¯ãªããšããç¹ã§ããPythonã®ããŒãžã§ã³ã¢ããããããšãããã³ãŒããäžåå€ããŠããªãã®ã«ãã©ã€ãã©ãªãæªå¯Ÿå¿ã§ããŒã«ãåããªããªã£ãçµéšããããŸãããåããŠãããã®ãç¶æãããé£ãããåŠã³ã§ããã 3. ãã¹ããAIã«æžããŠããã ããã®ã³ãŒããæ£ããåãã確èªãããã¹ããæžããŠããšAIã«é Œãã°ãã¹ãã³ãŒãã¯çæããŠãããŸãããã ããAIãèªåçæããã®ã¯ãã³ãŒããæè¡çã«æ£ããããã®ç¢ºèªã§ãã ãæ¥åçã«æ£ããããã確èªãããã¹ãã¯äººéãèããå¿
èŠããããŸã ã ããšãã°ãåŠçãäžéå端ãªç¶æ
ã®ãŸãŸæŸçœ®ãããŠããªããããšãããã¹ãã·ããªãªã¯ãå®éã®éçšãªã¹ã¯ãç¥ã£ãŠãã人éã«ããçºæ³ã§ããŸãããAIã«ãããããã±ãŒã¹ããã¹ããããããšäŒããã°ãã³ãŒãèªäœã¯æžããŠãããŸãã 4. ç°å¢æ§ç¯ã¯ãAIã«èã â ãããã§è£åã â ã»ãã¥ãªãã£éšéã«ç¢ºèªã å¿
èŠãªã©ã€ãã©ãªãã»ããã¢ããæé ãAIã«èããå
šäœåãææ¡ããŸããæ¬¡ã«ã©ã€ã»ã³ã¹åœ¢æ
ãéçºå
ã®ä¿¡é Œæ§ããããã§è£åãããŸãããã®äžã§ã瀟å
ã®ã»ãã¥ãªãã£éšéã«ããã®ããŒã«ãå°å
¥ããŠãããã確èªããŸãã ããšãã°ã©ã€ãã©ãªå°å
¥æã¯ãã©ã€ã»ã³ã¹ãåçšå©çšå¯èœã§ããããšãéçºå
ãä¿¡é Œã§ããããšã確èªããäžã§ç€Ÿå
ã®å°ééšçœ²ã«ç¢ºèªãåãââãã®æé ãçãããã·ã£ããŒITïŒäŒç€Ÿã®ç®¡çéšéãéããã«ããŒã«ãå°å
¥ããããšïŒãé¿ããããšããé·ã䜿ããä»çµã¿ã«ããããã®åå°ã«ãªããŸãã 5. ææãæ°åã§èŠããŠããªãœãŒã¹ãåŸã éãšã³ãžãã¢ãæ¥åæéã䜿ã£ãŠéçºãé²ããã«ã¯ãäžåžã®çè§£ãäžå¯æ¬ ã§ããåè¿°ã®ãšãããåæžå¹æãæ°åã§ç€ºãããšã§äžäœãã©ã³ã®æ¿èªãåŸãŸããã æ®µéçã«ã¹ã±ãŒã«ããåæ®µéã§ææãèŠããŠããããšã§ã次ã®ãã£ã¬ã³ãžãžã®èš±å¯ãåŸããããªããŸãã 6. å€éšã·ã¹ãã ãæäœããäžã§ã®é
æ
® RPAã®éçºçæåã«ã以äžã®ç¢ºèªã»é
æ
®ãè¡ããŸããã å©çšèŠçŽã®ç¢ºèª â RPAã«ããèªåæäœãæç€ºçã«çŠæ¢ãããŠããªãããšãç¢ºèª robots.txtã®ç¢ºèª â 察象ã·ã¹ãã ã«robots.txtïŒRPAã«ããã¢ã¯ã»ã¹ç¯å²ã瀺ããã¡ã€ã«ïŒã¯èšçœ®ãããŠããªãããšãç¢ºèª ç€Ÿå
æ¿èª â ãªã¹ã¯ãããžã¡ã³ãéšéã«äºåçžè«ããåé¡ãªããšã®ç¢ºèªãååŸ è² è·ãžã®é
æ
® â 人éãæäœããã®ãšåçã®é床ã§åäœãããæªç¥ã®ãšã©ãŒçºçæã«ã¯èªå忢ããèšèš ãããã« â å±äººåããªãèªååãç®æã㊠ãããªããããªããªã£ããã©ããªãã®ïŒã ââé¿ããããªãåãã§ããå®éãéå»ã«ç€Ÿå
ã§äœãããRPAãåŒãç¶ããããŸãããã䜿ãããªããªã£ãçµç·¯ããããŸããã ããããããã©ãã«ã·ã¥ãŒãã£ã³ã°ã¬ã€ããéçšæé æžãšãã£ãããã¥ã¡ã³ããæŽåããããã«ããŠããŸãããããŠäœããã AIãã¡ã³ããã³ã¹ã®ãéèš³ãã«ãªãã å¯èœæ§ã«æåŸ
ããŠããŸããã³ãŒããèªããªããŠããAIã«ãšã©ãŒã¡ãã»ãŒãžã貌ãã°å¯ŸåŠæ³ãè¿ã£ãŠãããäœã£ã人ãããªããªã£ãŠãåããä»çµã¿ãäœãããšââãã®ãå±äººåããªãèªååããç®æããŠãä»ã詊è¡é¯èª€ãç¶ããŠããŸãã ããŒã¿ç§»è¡æ¯æŽããŒã«ã¯ãŸã 宿ããŠããŸãããæš¡çŽ¢äžã®ããšãå€ããããŸããã§ããéãšã³ãžãã¢ã ããããã䜿ãåŽã®ç®ç·ãã§äœãã匷ã¿ããããæ¥åãæ·±ãçè§£ãã人éã«ããæžããªãèŠä»¶å®çŸ©ãããããããŠAIãããã®èŠä»¶å®çŸ©ãã³ãŒãã«èœãšã蟌ãã§ãããã èªåã§äœãããã«ãªã£ãŠã倧ããªæ°ã¥ãããããŸãããå
è¿°ã®Pythonã¢ããããŒãã§åããªããªã£ãçµéšãéããŠã瀟å
ã®ãšã³ãžãã¢ããã¬ãŒã ã¯ãŒã¯ãåºç€ã®æŽæ°ã«æ¥ã
åãçµã倧å€ããã身ããã£ãŠçè§£ã§ããŸãããå€§èŠæš¡ãªã·ã¹ãã ãæ¢ããã«æ¹åãç¶ãããšã³ãžãã¢ã®ä»äºã«å¯Ÿããè§£å床ãäžãã£ãããšã§ã忥ã®è³ªãå€ãã£ããšæããŠããŸããéãšã³ãžãã¢ãèªåã§äœãçµéšã¯ããšã³ãžãã¢ãšã®å
±éèšèªãå¢ããããšã«ãã€ãªããã®ã§ãã ãã®èšäºãèªãã§ããèªåããã£ãŠã¿ããããšæã£ãŠãããæ¹ãäžäººã§ãããããæžããç²æããããŸããæåã®äžæ©ã¯ããAIã§äœãã§ãããããèããããšã§ã¯ãããŸãããããããªäœæ¥ã倧å€ãªãã ããããšãAIã«å£æã¡ããŠã¿ãããšãããã«ã掻çšã®ãã³ãããããããããŸããã è¿œäŒžïŒ å®ã¯ãã®èšäºèªäœãã倧éšåãAIã«æžããŠããã£ãŠããŸããæ§ææ¡ã®äœæãæç« ã®æšæ²ãããã«ã¯å®éã®ããã°ã©ã ãšèšäºã®å
容ã«é£ãéãããªããã®ç¢ºèªãŸã§ãAIãšäžç·ã«é²ããŸããã ãã ãããäœãäŒããããããã©ããªã¹ããŒãªãŒã§èªè
ã«å±ããããââãã®æ žãšãªãèšèšã¯ãèªåã®é ã§èããŸãããAIã¯åªç§ãªéå
·ã§ãããéã蟌ããã®ã¯äººéã®ä»äºã§ããããŒã«éçºãããã°å·çããããã¯å€ãããªããšæããŸãã
ããã«ã¡ã¯ïŒäººæç޹ä»éçºã°ã«ãŒãã§SRE掻åãããŠãã倧äžã§ãã ç§ã¯2026幎1æãããå¿æ©äžè»¢SREé åã«ææŠããŠããŸããSWEãšããŠçŽ7幎ã®ãã£ãªã¢ã¯ãããŸãããAWSãã€ã³ãã©ã®äžçã§ã¯ãŸã 3ãæç®ã®åå¿è
ã§ãã ãããªç§ãã人çåã®ãªãã©ã€ã³ã€ãã³ããJAWS DAYS 2026ãã«é£ã³èŸŒãã§ããŸããã æ¬èšäºã§ã¯ãã€ã³ãã©åå¿è
ãã€ã€ãã³ãååæŠã®ç§ããäŒå Žã®ç±æ°ã«æãŸããªããäœãæããã©ããªæ¯è²ãèŠãŠããã®ããç身倧ã§ãäŒãããŸãã åå ã«å¯Ÿããäžå® æ£çŽãªãšãããåå ãæ±ºãŸã£ãŠããåœæ¥ãè¿ãããŸã§ã¯ãæåŸ
ãããèœã¡çããªãæ°æã¡ã®æ¹ã倧ããã£ãããã«æããŸããSRE掻åãå§ããŠãŸã æ¥ãæµ
ãèªåãããã®å€§èŠæš¡ãªã€ãã³ãããäœãæã¡åž°ããã®ãããã®å
·äœçãªã€ã¡ãŒãžããåœæã¯å
šãæããŠããªãã£ãããã§ãã åŒç€Ÿã§ã¯ããããã€ãã³ããžã®åå ãæ¥åã®äžç°ãšããŠèªããŠãããŠããŠã亀éè²»ã宿æ³è²»ãäŒç€ŸããµããŒãããŠãããŸãããšãŠãæµãŸããç°å¢ã ãªãšæããäžæ¹ã§ããã®æåãããããã£ãããšå®åã«åœ¹ç«ã€ææãæã¡åž°ããªããã°ãããªãããšãããã¬ãã·ã£ãŒããããŸããã ãããªäžãåšå²ããããŸãã¯ã€ãã³ãã®é°å²æ°ãç¥ã£ãŠãã¢ãããŒã·ã§ã³ãäžããã ãã§ãåå䟡å€ããããããšããã¢ããã€ã¹ãããã£ãŠãå°ãæ°æã¡ã楜ã«ãªããŸãããæè¡ã身ã«ã€ããã®ã¯æéãããããŸããããã€ã³ãã¯èªå次第ã§ããã«åãæ¿ããããšãã§ããŸããä»åã¯ãšã«ããçµéšãç©ãå Žã«ããããšå²ãåã£ãããšã§ãããããçŽç²ãªæ°æã¡ã§äŒå Žã«åããããšãã§ããŸããã é¢å¿ã«æ²¿ã£ãã»ãã·ã§ã³éžã³ åœæ¥ã¯äŒå Žã§è¿·åã«ãªããªãããã«ããæ°ã«ãªãã»ãã·ã§ã³ãçã£ç«¯ããèŠèŽããããšããã·ã³ãã«ãªäœæŠãç«ãŠãŸãããã¿ã€ã ããŒãã«ãèŠãŠäºåã«äºå®ãçµã¿ãŸãããããã®éã«1ã€èªåã®äžã§æ±ºããã«ãŒã«ããããŸããããã¯ãã»ãã·ã§ã³ã®é£æåºŠã瀺ãLevelãäžåæ°ã«ããªãããšããããšã§ããã SRE掻å3ãæç®ãšããç¶æ³ãããé«Levelã®ã»ãã·ã§ã³ã¯é¿ããŠããŸããããããŸããããä»åã¯ä»ã®èªåèªèº«ã®èå³ãåªå
ããŸããããã¡ããå
šãŠãå®ç§ã«çè§£ã§ããããã§ã¯ãããŸãããããããSWEãšããŠ7幎éã·ã¹ãã ãäœã£ãŠããçµéšããã£ããããããèªãããŠããèšèšææ³ãããªããã®æ§æã«ããã®ãããšããè«ççãªéšåã¯ãèªåãªãã®ãã£ã«ã¿ãŒãéããŠè§£éããããšãã§ããŸãããèªåã®é¢å¿ã«çŽ çŽã«åŸã£ãããšã§ãæåŸãŸã§éäžåãéåãããèªåã®åŒãåºãã«ã¯ãªãã£ãèãæ¹ãç¥ããã³ãèŠéãåºãã£ãŠãããããªæèŠããããŸããã æŒ ç¶ãšããAIãžã®äžå® ä»ãå€ãã®ãšã³ãžãã¢ãããã§ããããã«ãç§ããçæAIãšã©ãåãåãã¹ããããšããç¹ã«ã¯æŒ ç¶ãšããäžå®ãæããŠããŸãããç¹ã«æ°ããé åã«ãã£ã¬ã³ãžããŠããæäžã ãšããèªåãä»å¿
æ»ã«èŠããŠããããšã¯ãããã«AIã«åã£ãŠä»£ããããããããªããããªããŠèããŠããŸãããšããããŸãã ããããä»åã®ã€ãã³ããéããŠãã®äžå®ã¯ããªãè§£æ¶ãããŸããã第äžç·ã§æŽ»èºããSREã®æ¹ã
ã®èŠè§£ã«è§Šããããšã§ãSREãšããŠã®èŠç¹ã§AIãã©ãæããã©ãåãåãã¹ãããšããè§£å床ã倧å¹
ã«åäžããŸãããç¹ã«å°è±¡ã«æ®ã£ãã®ã¯ãAIããã¢ã³ããã«äŸããèãæ¹ã§ããAIã¯äººéã®åŒ·ã¿ã匱ç¹ããã®ãŸãŸå¢å¹
ãããŠããŸãæ§è³ªãããããããã å°å
¥ããã ãã§ã¯ãªã¹ã¯ã倧ãããªããŸããã ãããããAIãèžã¿å€ããªãããã®ãã¬ãŒãã¬ãŒã«ããä»çµã¿ãæŽããSREã®åœ¹å²ã¯éèŠãšãªã£ãŠããŸãã ãããŸã§ã¯æŒ ç¶ãšããäžå®ãæããããšããããŸããããä»ã§ã¯ãã®èŒªéãã¯ã£ããããäžå®ã¯æåŸ
ãžãšæžãæãã£ãŠããŸãã äŒå Žã®æž©åºŠæ ç§ã¯æ®æ®µãçŠå²¡ã§ãã«ãªã¢ãŒãå€åãããŠããŸãããªã¢ãŒãã¯ãŒã¯ã¯éäžã§ããã倧奜ããªåãæ¹ã§ãããä»åã®ã€ãã³ãã§æ¹ããŠã察é¢ã®æž©åºŠæãã®å€§åããåèªèããŸããã åå åã¯ããå
èŠããè¬çŸ©ãã®ãããªãã®ãªã®ããªãšèããŠããã®ã§ãããçŸå°ã§æãããç¥ãã®ãããªç©ºæ°æã«ãã£ãŠãäžæ°ã«æ¥œããã€ãã³ããžãšäžæžããããŠãããŸãããæ
å ±ã¯ãªã³ã©ã€ã³ã§ãååã«æã«å
¥ããŸãããçŸå Žã®ç©ºæ°ã¯ãã£ã±ã奿 Œã§ããã1000人以äžãã®ãšã³ãžãã¢ãåãå Žæã«éãŸã£ãŠãåãç±éã§æè¡ãèªãåã£ãŠããããããªç©ºéã«ãã 身ã眮ããŠããã ãã§ãèªåã®ã¢ãããŒã·ã§ã³ãå
åŽãããããããšåºäžããããŠããã®ãæããŸããã ç©ççãªåç©«ãããªãã©ã€ã³ãªãã§ã¯ã®æ¥œãã¿ã§ããäŒå Žã§ããã ããããã«ãã£ã¯ãäœã蟌ãŸããŠãããæã«åãã ãã§å¬ãããªããã®ã°ããã§ããããããããã¢ãããšããŠã®æãåºãæå
ã«æ®ãããšããããžã¿ã«ãªæ
å ±åéã ãã§ã¯åŸãããªããçŸå°åå ã®ãè€çŸã®ããã«æããŸãã æåŸã« æ¯ãè¿ã£ãŠã¿ãã°ãåå åã«ãããªã«æ©ãã§ããã®ãåã®ããã«ãååããªæ°æã¡ã§ãã£ã±ãã§ãã ãããä»ã®ç§ãšåãããã«ã€ãã³ãåå ãè¿·ã£ãŠãããšããæ¹ãããããç§ã¯å
šåã§åå ããŠã¿ãããšãããããããŸãïŒçµéšå¹Žæ°ãæè¡åã¯äžæŠçœ®ããŠãããŠããã®å Žã®ç±çã«èº«ãä»»ããŠã¿ãããšã倧å€è²Žéãªçµéšãšãªãã¯ãã§ãã ãããŠãæåŸã«ãªããŸããããã®çŽ æŽãããã€ãã³ããäŒç»ã»éå¶ããŠãã ãã£ãéå¶ã¡ã³ããŒãšåœæ¥ã¹ã¿ããã®çæ§ãæ¬åœã«ããããšãããããŸããïŒ
ããã«ã¡ã¯ããããã¯ãæšé²æ¬éšäººäºã®ãµãããïŒ @fkc_hr ïŒã§ãã ãšã¹ã»ãšã ã»ãšã¹ã¯å
æ¥éå¬ãããJAWS DAYS 2026ã«åè³ããå€ãã®ã¡ã³ããŒãšãšãã«åå ããŠããŸããïŒ jawsdays2026.jaws-ug.jp ã€ãã³ãã¹ã¿ããã®çãããåå ãããçããããããŠåŒç€ŸããŒã¹ã§ã¢ã³ã±ãŒãã«çããŠãã ãã£ãçãããæ¬åœã«ããããšãããããŸããã ä»åã®ããã°ã§ã¯ãåœæ¥ã®ããŒã¹ã®æ§åãšãçããã«ååããã ããã¢ã³ã±ãŒãã®çµæãå
±æããããšæããŸãã ããŒã¹ã®ã³ã³ã»ãã åŒç€Ÿã¯è€æ°ã®äºæ¥ããããã¯ããå±éããŠããŠããšã³ãžãã¢ãæ§ã
ãªããŒã ã«æå±ããŠããŸããç¹ã«SREã¯åãããã¯ãéçºããŒã ã®1ããŒã ãšããŠæå±ããŠããããå
šç€ŸæšªæããŠè€æ°ã®ãããã¯ããèŠããšããããŒã ã®åœ¢ããããããä»åã®ã€ãã³ãã«ã¯èš3ããŒã ããã¡ã³ããŒãéãŸã£ãŠåå ããããšã«ãªã£ãŠããŸããã ããã§ãäŒç€Ÿããããã¯ãã玹ä»ãããããããJAWS DAYS 2026ãšãããç¥ããäžç·ã«çãäžãããããæèŠªäŒãå«ããŠãåå è
å士ã®ã³ãã¥ãã±ãŒã·ã§ã³ã®ãã£ããã«ãªãå Žæãäœãããããšèãã以äžã®äŒç»ãçšæããŸããã ã¢ã³ã±ãŒãããã«â ïŒJAWSã€ãã³ãã®åå åæ° à AWSçµéšå¹Žæ° ã¢ã³ã±ãŒãããã«â¡ïŒãããªãã®æšãAIã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãã¯ïŒã ããã«ãã£ïŒAIãšãŒãžã§ã³ãåãããŒã«ãã¡ãã£ãšãããã¿ãä»èŸŒãã ã猶ãããžã 猶ãããžã¯èªåã®ãæšãããã圹å²ããä»ããŠæ©ãããšã§ããŒã¹å€ã§ãäŒè©±ã®ãã¿ã«ãªãã°ãããªãšæã£ãŠäœã£ãã®ã§ãããAWS HEROã®çãããããããæ¢ããããã«æŽ»çšããŠãã ãããšããæ³å®å€ãªäœ¿ããæ¹ãããŠãããŸããã ã¢ã³ã±ãŒãçµæ åœæ¥çãäžãã£ãã¢ã³ã±ãŒãã®çµæãæ¯ãè¿ã£ãŠã¿ãŸããåãªãå©çšçã§ã¯ãªããã¿ã€ãã«ã®éããæšãããšãã衚çŸã«ããçµæä»¥äžã®ããã«ãªããŸããã 1. å
šäœåŸåïŒ3åŒ·ã®æ§å³ ããŒãã俯ç°ãããšãClaude / OpenAI Codex / Kiroã®3ã€ã«ç¥šãéãŸããŸããã ç¹ã«Claudeãžã®ç¥šã®éãŸãæ¹ããããã£ãã§ãããããã¯ãšã³ããSREå±€ããã®ä¿¡é Œãåããä»ã®ã³ãŒãçæèœåãªããŸãã¯Claudeããšããç©ºæ°æããã®ãŸãŸè¡šããçµæã«ãªããŸãããäžæ¹ã§ã¯ãã€ã³ãã©ã®ããã«ã«ãããªããå®è£
ãè¡ãã®ã§ããã°äœèšãªå®è£
ãè¡ããªãCodexãåªç§ããšãã声ãèãããšãã§ããŸããã ãæšãããšãã衚çŸã«ããããšã§é »ç¹ã«å©çšããŠãããã©ããã ãã§ã¯ãªããå¿æŽããããšããæããä»äºã§ã¯äœ¿ããŠãªããã©æ°ã«å
¥ã£ãŠãããšããæ¹ãããã£ãããã話ã®ãã£ããã«ãªããŸããã ã¡ãªã¿ã«ãšã¹ã»ãšã ã»ãšã¹ã§ã¯ç¹å®ã®AIããŒã«ã®ã¿ãå©çšããæ¹éã§ã¯ãªããå人ã»ããŒã åäœã§å©çšããŠã¿ãããšãã§ããŸãïŒ 2. è·çš®å¥ã®ãã ãããèŠãã è·çš®ããšã«èŠãŠãããšãé¢çœãéããèŠããŠããŸããã SRE / ã€ã³ãã©å±€ïŒæç¥šæ°ãäžçªå€ããåå å²åã®é«ãã䌺ããŸããClaudeãšKiroãæ®æ ããã¯ãšã³ãå±€ïŒã»ãŒClaudeäžåŒ· ããã³ããšã³ãå±€ïŒä»ã®è·çš®ã«æ¯ã¹ãŠCursorãžã®æç¥šãç®ç«ã€ ãããžã¡ã³ãå±€ïŒEM/PdMçïŒïŒç¹å®ã®ããŒã«ã«åãããå¹
åºãè§Šã£ãŠããå°è±¡ ChatGPTãClaudeã®ãããªããã£ããåãã ãã§ãªãããšãã£ã¿ãšæ·±ã飿ºããŠèªåŸçã«ãã¡ã€ã«ãæäœããããšãŒãžã§ã³ãåãããŒã«ã宿пå
¥ããŠãããšã³ãžãã¢ãå€ãã®ããšèŠåããããŸããã ãŸããå人çã«ã¯ããã³ããšã³ãã®ãšã³ãžãã¢ã®æ°ããã®ä»ããŒã«ã®æ¹ãããã£ããã£ãŠãè²ããªæ¹ãåå ããã€ãã³ããªã®ããšé©ããŸããïŒ 3. åå è
ã®å±æ§ ãã1ã€ã®ããŒãïŒåå åæ°ÃAWSæŽïŒãèŠããšããAWSæŽãé·ããã€ãã³ãåå åæ°ãå€ãããšãããããããã³ãã¥ããã£ã®ããã©ã³å¢ããååå ã®æ¹ãŸã§åºãåå ãããŠããããšãããããŸããã AWSæŽ3ã10幎ã®äžå
ãããã©ã³å±€ãæãåãã§ãããã€ãã³ãåå åæ°3ã10åã®ãªããŒã¿ãŒå±€ãå€ãèŠããŸãã äžã«ã¯20幎以äžã®è¶
ããã©ã³ããåå åæ°100åè¶
ïŒïŒïŒã®ã³ã¢å±€ãã20å以äžã®æ¹ã¯ãããããããªããªãããšèšããªããã·ãŒã«ã貌ã£ãŠãããŠããŸããã ãŸãšã æ¯ãè¿ã£ãŠã¿ãŠãã¢ã³ã±ãŒãã®çµæãæ³å®ä»¥äžã«é¢çœããŠããã¡ããäžçªæ¥œããã§ãããããããŸããã åŒç€Ÿã¯è²ã
ãªã€ãã³ãã«åè³ããŠããŸãããä»åã®JAWS DAYS 2026ã¯ã»ãã·ã§ã³ã®ç±éãããŒã¹ã®æ°ããããŠäœããåå è
ã®çããã®çãäžãããåãŸãããŠ1æ¥äžãã¯ãŒãããããã€ãã³ãã§ããã æ¹ããŠãéå¶ã®çãããçŽ æµãªã€ãã³ããããããšãããããŸããïŒ ãŸãã©ããã®ã³ãã¥ããã£ã§ãäŒãããŸãããïŒïŒ æ®åœ±åå èŒäºãã (æ ªåŒäŒç€ŸãšãŠã¬ã«)
ã¯ããã« ããã«ã¡ã¯ãä»è·/é害çŠç¥äºæ¥è
åãçµå¶æ¯æŽãã«ã€ãã±ãã®ä»è·ã¬ã»ããŒã ã§ãšã³ãžãã¢ãããŠããæ²å£ã§ãã ããŒã ã§ç®¡çããŠããããŒãã«ã«é·å¹Žã®éçšã«ããããŒã¿éãçžåœæ°ãŸã§å¢ããŠãããã®ããããidã«ã©ã ã®åãINT UNSIGNEDããBIGINTã«å€æŽããå¿
èŠããããŸããã å
æ¥ããã®å¯Ÿå¿ãAurora MySQLã® BlueGreenDeployment ïŒä»¥éã§ã¯çç¥ããŠBlueGreenDeploymentãšèšèŒïŒãçšããŠçæéã®ã¡ã³ããã³ã¹ã§å®çŸã§ããããããã®äºäŸã玹ä»ããŸãã èæ¯ ã«ã€ãã±ã¯2011幎ã«ãªãã¥ãŒã¢ã«ãè¡ããçŸåšã®ã«ã€ãã±ãšããŠã®éçšãéå§ããŸããã åœæäœæãããäžéšã®ããŒãã«ã§ã¯2011幎ããçŸåšãŸã§ããŒã¿ã®èç©ãç¶ããŠãããä»å察å¿ãè¡ã£ãå©çšè
ã®è«æ±æçްã«é¢ããããŒãã«ã¯ãINT UNSIGNEDã®äžéã§ããçŽ42åã¬ã³ãŒãã«è¿ã
å°éããããšãããã£ãŠããŸããã ã¬ã³ãŒãæ°ããã®äžéã«éããŠããŸã£ãå Žåãå©çšè
è«æ±ã«é¢é£ããæ¥åäžæ¥µããŠéèŠãªæ©èœã忢ããŸãã ãããæªç¶ã«é²ããããå€§èŠæš¡ãªã¬ã³ãŒããååšããããŒãã«ã®å倿Žã«ã€ããŠãå®çŸæ¹æ³ã®æ€èšãè¡ãããšããå§ããŸããã å®çŸæ¹æ³ã®æ€èš ãŸãidã«ã©ã ã®å倿Žãè¡ãæ¹æ³ã«ã€ããŠãçæAIã®DeepResearchã«ããåãããéžæè¢ã調æ»ããŸããã çŽæ¥ALTER TABLEãå®è¡ãã ãªã³ã©ã€ã³ã¹ããŒã倿ŽããŒã« gh-ost (GitHub's Online Schema Transmogrifier/Translator/Transformer/Transfigurator) ãå©çšãã ãªã³ã©ã€ã³ã¹ããŒã倿ŽããŒã« pt-online-schema-change ãå©çšãã BlueGreenDeployment ã«ãããããã€ãè¡ã éžæè¢ãšç¹åŸŽã«ã€ããŠææ¡ããåŸã¯ãå®éã«ç§ãã¡ã®ããŒãã«ã«é©çšããå Žåã®å¶çŽãšç
§ããåãããŠãããã¹ããªæ¹æ³ãæ€èšããŸãã ããããã¯ãDeepResearchã®èª¿æ»æç« ãéµåã¿ã«ããã®ã§ã¯ãªããDeepResearchãæ ¹æ è³æãšããŠåºåããå
¬åŒè³æã確èªããªããè©°ããŠãããŸããã 以äžã§ã¯ãããããã®éžæè¢ã«ã€ããŠã®å€æçµæãšããã®çç±ãæžããŠãããŸãã (èŠéã) çŽæ¥ALTER TABLEãå®è¡ãã MySQLã¯ããŒãã«ã®å倿Žãè¡ãå Žåããªã³ã©ã€ã³DDLã«ãã顧客圱é¿ã®ãªã圢ã§ã¹ããŒã倿Žãè¡ãããšã¯ã§ããŸããã *1 ããæ¬çªç°å¢ã§DDLãéå§ããå Žåã¯DDLãå®äºãããŸã§ã®é SHARED_UPGRADABLE ããã¯ãååŸãããŸãã ãŠãŒã¶ãŒã®èŠç¹ã«ç«ã€ãšãå©çšè
è«æ±ã®å€æŽã«é¢ããæäœãè¡ããšåŠçãå®äºãããã¿ã€ã ã¢ãŠãããããšã«ãªããŸãã ãããé²ãããã«ã¯ã¡ã³ããã³ã¹ã®æéããšã£ãŠãªãªãŒã¹ãè¡ãããšã«ãªããŸããããã®åŠ¥åœæ§ãæ€èšããŠãããªããã°ãªããŸããã ç§ãã¡ã®ã¡ã³ããã³ã¹ã¢ãŒãäžã§ã®ãªãªãŒã¹ã«ã¯ä»¥äžã®å¶çŽããããŸãã ä»è·äºæ¥è
ã¯æ¥äžã¯åžžã«éèŠãªæ¥åãè¡ã£ãŠããŸãããã°ã¢ãŠããçºçãããªãªãŒã¹ã¯å©çšçãäžãã£ã19æä»¥éã«è¡ãå¿
èŠããããŸãã ä»è·äºæ¥è
ã®äžã«ã¯19æãã24æè¿ããŸã§æ¥åãè¡ã£ãŠããæ¹ãããŸããã¡ã³ããã³ã¹ãè¡ãå Žåã¯ããçãæéã§è¡ãå¿
èŠããããŸãã ç§ãã¡ã®ããŒã ãç¶ç¶å¯èœãªéçºäœå¶ã®äžç°ãšããŠãäŒæ¥æ·±å€ã®ãªãªãŒã¹ã¯æ¥µåé¿ããã¹ããšããèãããããŸãã ãããã®å¶çŽãåºã«ããã®ææ³ã«ã€ããŠã¯ããªãªãŒã¹äœæ¥ã2ã3æéçšåºŠã§å®äºãããåŠããã1ã€ã®å€æåºæºãšããŠèª¿æ»ããããšã«ããŸããã ããã§ã詊ãã«æ¬çªç°å¢ã®Aurora MySQLã€ã³ã¹ã¿ã³ã¹ãã³ããŒããç䌌ç°å¢ãçšæããå®éã«æµãããDDLãå®è¡ããŸããã çµæãšããŠå®è¡æéã¯7æé匱ãšãªããå€æåºæºãšããæéããäžåã£ãããããã®éžæè¢ã¯é€å€ããããšã«ãªããŸããã (èŠéã) gh-ost gh-ostã¯GitHubãæäŸããããªã³ã©ã€ã³ã§ã¹ããŒã倿Žãè¡ãããšãã§ããããŒã«ã§ããïŒããŒã«èªäœã®èª¬æã¯å²æããŸãïŒ ãªã³ã©ã€ã³ã§ã¹ããŒã倿Žãè¡ãããšãã§ããã®ã§ããã°ã¡ã³ããã³ã¹æéãäžèŠãšãªãããµãŒãã¹ãæ¢ããããšãªãåã®å€æŽãã§ãããã§ãã ããããå®è¡ããããã® å¶çŽ ã確èªãããšããã察象ããŒãã«ã«å€éšããŒå¶çŽãããå Žåã¯ãµããŒãå€ãšã®èšèŒããããä»åã®ã±ãŒã¹ãšãããããªãã£ãããèŠéãããšãšãªããŸããã (èŠéã) pt-online-schema-change PerconaãæäŸãããMySQLã®ã¹ããŒã倿Žããªã³ã©ã€ã³ã§å®è¡ããããã®ããŒã«ã§ããïŒãã¡ãããããŒã«èªäœã®èª¬æã¯å²æããŸãïŒ pt-online-schema-changeã«ã¯ãç§ãã¡ã«é¢ä¿ããéšåãšããŠã¯ä»¥äžã®ç¹åŸŽããããŸãã ããªã¬ãŒäœæã«äŒŽãããŒã¿ã³ããŒè² è·ã®å¢å è² è·ã倧ãããšããŒã«ã倿ããå Žåã®åŠç忢ãšåé äžèšã¯æ³šæäºé
ã§ã¯ãããŸããããããã«ãã£ãŠpt-online-schema-changeã®äœ¿çšãäžå¯èœã§ãããšã®å€æã¯ããŸããã§ããã äžæ¹ãæžå¿µç¹ãšããŠã¯ä»¥äžããããŸããã ããªã¬ãŒäœæã«ããè² è·æ€èšŒãæ€èšã»å®æœããå¿
èŠãããã pt-online-schema-changeã«ãããªãªãŒã¹ãéå§ããåŸããªãªãŒã¹å®äºãšãªãæå»ãäžæã§ããäœå¶ãäœãã¥ãããæ·±å€åŸ
æ©ã«çºå±ããå¯èœæ§ãããã pt-online-schema-changeã«ãããªãªãŒã¹å®æœçµéšããªãããªãªãŒã¹äžææã«å
ã®ç¶æ³ã«ããŒã«ããã¯ããæ¹æ³ã®æ€èš/忀èšã®å¯èœæ§ãããã äžèšã®æžå¿µç¹ãBlueGreenDeploymentã®å Žåã¯æãããããšå€æããçµæãšããŠpt-online-schema-changeã¯èŠéãããšã«ããŸããã (æ¡çš) BlueGreenDeployment BlueGreenDeploymentã§å¯ŸåŠããå Žåã以äžã®æµãã§äœæ¥ããããšã«ãªããŸãã æ¬çªã§çšŒåããŠããBlueç°å¢ãå
ã«Greenç°å¢ãäœæ Blueç°å¢ãžã®ããŒã¿å€æŽã¯ãbinlogãçšããŠGreenç°å¢ã«ç¶ç¶çã«ã¬ããªã±ãŒã·ã§ã³ããã Greenç°å¢ã«å¯ŸããŠå€æŽã宿œ Blueç°å¢ãšGreenç°å¢ãå
¥ãæ¿ããããšã§å€æŽã®é©çšå®äº ãããBlueGreenDeploymentã®å¶çŽãä»åã®ããŒãã«å€æŽã«åœ±é¿ããªãå Žåã«ã¯ã以äžãèšããŸãã æ¬çªç°å¢ã«åœ±é¿ããªã圢ã§ãªãªãŒã¹ãšã¯åé¢ããŠDDLãäºåå®è¡ã§ãã Greenç°å¢ãžã®DDLå®è¡æéäžã«ã¯ãæ¬çªç°å¢ãžã®åœ±é¿ããªãããäœå¶ã匵ãå¿
èŠããªã äºå®ããé·æéãšãªã£ãå ŽåãDDLå®è¡æ¥ãšãªãªãŒã¹æ¥ã®éã«ãããã¡ãããããŠããããšã§ãªãªãŒã¹ã«åœ±é¿ãåºããã«æžã ãªãªãŒã¹å¯åŠã®å€æãæç¢ºããªãªãŒã¹å¯èœãšå€æããåŸã¯Blueç°å¢ãšGreenç°å¢ãå
¥ãæ¿ããã ãã§ããåé¡ãçºçãã«ãã Greenç°å¢ãžã®DDLãæåããå Žåã¯ãªãªãŒã¹å¯èœ 倱æããå Žåã¯ãªãªãŒã¹äžå¯ ã¡ã³ããã³ã¹ã¯Blueç°å¢ãšGreenç°å¢ãå
¥ãæ¿ããã¿ã€ãã³ã°ã®ã¿å¿
èŠã§ããã1æéãããããå®äºã§ããèŠèŸŒã¿ ãããã£ã倿Žã®ç¢ºå®æ§ã®é«ããšãªãªãŒã¹ãŸã§ã®äºæž¬ã®ç«ãŠãããããããã®ææ³ãæåªå
ã§æ€èšããããšã«ããŸããã BlueGreenDeploymentã®èª¿æ» ãŸãã¯BlueGreenDeploymentãçšããå Žåã®å¶çŽã«ã€ããŠå
¬åŒããã¥ã¡ã³ãã確èªããŸãã å
¬åŒããã¥ã¡ã³ãã«èšèŒãããŠããå
容ã®äžã§èŠèœãšãããªããããå
šãŠèªã¿ãŸããã ããã§ãŠãŒã¹ã±ãŒã¹ãšããŠã¹ããŒã倿Žã«ã€ããŠã®èšèŒããããšäžæ°ã«å®çŸã®å¯èœæ§ãé«ãŸãã®ã§ãããå
¬åŒããã¥ã¡ã³ãã§ã¯ããããèšå®å€å€æŽã«ã€ããŠã®ãŠãŒã¹ã±ãŒã¹ãå§ããããŠããçšåºŠã§ã¹ããŒã倿Žã«ã€ããŠã¯èšèŒããããŸããã§ããã Amazon RDS ãã«ãŒ/ã°ãªãŒã³ãããã€ã䜿çšããå©ç¹ Amazon RDS ãã«ãŒ/ã°ãªãŒã³ãããã€ã䜿çšãããšãã»ãã¥ãªãã£ããããææ°ã®ç¶æ
ã«ä¿ã¡ãããŒã¿ããŒã¹ã®ããã©ãŒãã³ã¹ãåäžãããçãäºæž¬å¯èœãªããŠã³ã¿ã€ã ã§æ°ããããŒã¿ããŒã¹æ©èœãå°å
¥ã§ããŸãããã«ãŒ/ã°ãªãŒã³ãããã€ã§ã¯ããšã³ãžã³ã®ã¡ãžã£ãŒããŒãžã§ã³ãŸãã¯ãã€ããŒããŒãžã§ã³ã®ã¢ããã°ã¬ãŒããªã©ãããŒã¿ããŒã¹æŽæ°ã®ãªã¹ã¯ãšããŠã³ã¿ã€ã ã軜æžãããŸãã ãããã ãã«ãŒ/ã°ãªãŒã³ãããã€ã®äžè¬çãªãã¹ããã©ã¯ãã£ã¹ ã«ã¯ãå¶çŽäºé
ã®åœ¢ã§ä»¥äžã®æèšããããŸããã ãã«ãŒ/ã°ãªãŒã³ãããã€ã䜿çšããŠã¹ããŒãã®å€æŽãå®è£
ããå Žåã¯ãã¬ããªã±ãŒã·ã§ã³äºæã®å€æŽã®ã¿ãè¡ã£ãŠãã ããã äŸãã°ããã«ãŒãããã€ããã°ãªãŒã³ãããã€ãžã®ã¬ããªã±ãŒã·ã§ã³ãäžæããããšãªããããŒãã«ã®æåŸã«æ°ããåã远å ããããšãã§ããŸãããã ããååã®å€æŽãããŒãã«åã®å€æŽãªã©ã®ã¹ããŒãã®å€æŽã¯ãã°ãªãŒã³ãããã€ãžã®ã¬ããªã±ãŒã·ã§ã³ãäžæãããŸãã ã¬ããªã±ãŒã·ã§ã³ãšäºææ§ã®ãã倿Žã®è©³çްã«ã€ããŠã¯ãMySQLããã¥ã¡ã³ãã®ããœãŒã¹ãšã¬ããªã«ã®ããŒãã«å®çŸ©ãç°ãªãã¬ããªã±ãŒã·ã§ã³ããšPostgreSQLè«çã¬ããªã±ãŒã·ã§ã³ããã¥ã¡ã³ãã®ãå¶éããåç
§ããŠãã ããã ãã®å¶çŽã¯è£ãè¿ãã°ããã®å€æŽãã¬ããªã±ãŒã·ã§ã³äºæã§ããã°ã¹ããŒã倿Žã«å©çšå¯èœã§ããããšè§£éã§ããŸãã MySQLã®ããã¥ã¡ã³ããèŠãŠã¿ãŸãããã 17.5.1.9.2 ããŒã¿åãç°ãªãã«ã©ã ã®ã¬ããªã±ãŒã·ã§ã³ ãœãŒã¹äžã®å¯Ÿå¿ããã«ã©ã ãšåãããŒãã«ã®ã¬ããªã«ã³ããŒã¯ãåãããŒã¿åã§ããããšãçæ³çã§ãããã ããç¹å®ã®æ¡ä»¶ãæºããããŠããããããããã¯å¿
ãããå³å¯ã«ã¯åŒ·å¶ãããŸããã éåžžãç¹å®ã®ããŒã¿åã®ã«ã©ã ãããåããµã€ãºãŸãã¯å¹
(該åœããå Žå) ãŸãã¯ãã以äžã®åãåã®å¥ã®ã«ã©ã ã«ã¬ããªã±ãŒãã§ããŸãã ãµããŒãããã倿.éãããã©ã䌌ãŠããããŒã¿åã®éã§ãµããŒããããå€æãæ¬¡ã®ãªã¹ãã«ç€ºããŸãã æŽæ°åTINYINTãSMALLINTãMEDIUMINTãINTãããã³BIGINTã®ããããã®éã ããã«ã¯ããããã®åã®ç¬Šå·ä»ãããã³ç¬Šå·ãªãããŒãžã§ã³ã®éã®å€æãå«ãŸããŸãã äžå¯é倿ã¯ããœãŒã¹å€ãã¿ãŒã²ããã«ã©ã ã§èš±å¯ãããæå€§å€ (ãŸãã¯æå°å€) ã«åãæšãŠãããšã§è¡ãããŸãã笊å·ãªãåãã笊å·ä»ãåãžã®å€ææã«éå¯é倿ãä¿èšŒããã«ã¯ãã¿ãŒã²ããã«ã©ã ããœãŒã¹ã«ã©ã ã®å€ã®ç¯å²ãå容ã§ããååãªå€§ããã§ããå¿
èŠããããŸããããšãã°ãTINYINT UNSIGNEDã¯ãéäžå¯éã«SMALLINTã«éæ Œã§ããŸãããTINYINTã«ã¯ã§ããŸããã äžèšã®å
容ãããã«ã©ã åã®INT UNSIGNEDããBIGINTãžã®ææ Œã¯ã¬ããªã±ãŒã·ã§ã³äºæã§ããããšãããã£ãããããµããŒã察象ãšå€æããŸããã Amazon Aurora ã®ãã«ãŒ/ã°ãªãŒã³ãããã€ã®å¶éãšèæ
®äºé
ã«ãä»åã®ã¹ããŒã倿Žã«åœ±é¿ããå¶çŽã¯ãªãã£ãããããããŸã§ã®èª¿æ»ããã³ã¡ãªããã®é«ãããBlueGreenDeploymentã®æ¡çšã決ããŸããã æ¬çªç°å¢ã§ã®ãªãªãŒã¹ ã¹ã±ãžã¥ãŒã« BlueGreenDeploymentã®æ¬çªç°å¢é©çšãšã¡ã³ããã³ã¹ïŒæ¬çªãªãªãŒã¹ïŒã¯æ°æ¥ç©ºããŠèšç»ããŸããã ãã®ã¹ã±ãžã¥ãŒã«ã§ã¯ã以äžãèæ
®ããŠããŸãã DDLå®è¡æéãäºåèšæž¬ãããé·ããããå¯èœæ§ãžã®åã DDLãå®è¡ãããåŸãBlueç°å¢ã§å®è¡ãããã¯ãšãªãGreenç°å¢ã«åŸè¿œãã§é©çšãããã¬ããªã±ãŒã·ã§ã³åŠçæéãžã®èæ
® äžæž¬ã®äºæ
ãçºçããå Žåã®ãªã«ããªãŒæé ç¹ã«äžæž¬ã®äºæ
ãžã®åãã«ã€ããŠã¯ãBlueGreenDeploymentã«ããDDLå®è¡ã«ã€ããŠå
¬éãããŠããäºäŸãå°ãªãããšãããäœããšããžã±ãŒã¹ãèžãå¯èœæ§ããã£ãã®ã§èšå®ããŸããã åŸç¶ã§æžããŸãããäžæž¬ã®äºæ
ãå®éã«çºçããŠãããæéã®ãªã®ãªã§ãªã«ããªãŒã«æåãããããããã¡ãèšããŠãããŠããã£ãã§ãã å®è¡æé æ¬çªã§ã®å®æž¬å€ã¯ä»¥äžã®éãã§ãç¡äº1æéã®ã¡ã³ããã³ã¹ã§ãªãªãŒã¹ãå®äºããããšãã§ããŸããã Aurora MySQL DBã€ã³ã¹ã¿ã³ã¹ïŒ db.r6i.16xlarge 倿Žå¯Ÿè±¡ããŒãã«ã®ã¬ã³ãŒãæ°ïŒ 2,574,439,006ã¬ã³ãŒã DDLã®å®è¡æé 9æé30å ã¡ã³ããã³ã¹æã®BlueãšGreenã®å
¥ãæ¿ãäœæ¥ 10åã»ã©ïŒâ»æ£ç¢ºãªèšé²ãåãå¿ããŸããïŒ ã¡ã³ããã³ã¹å
šäœ 1æé 以éã¯ãæ¬çªç°å¢ã§èµ·ããäžæž¬ã®äºæ
ã«ã€ããŠæžããŠãããŸãã æ¬çªç°å¢ã§ã®äžæž¬ã®äºæ
: ããŒã¿äžæŽåãçºçãDDLå®è¡åŸã®ã¬ããªã±ãŒã·ã§ã³ã倱æãã èµ·ããããš Greenç°å¢ãäœæããGreenç°å¢ãžDDLã®å®è¡ãè¡ã£ãŠç¡äºå®äºããã®ã§ãããDDLã®å®è¡ãå®äºããåŸã«è¡ãããã¬ããªã±ãŒã·ã§ã³ã§ãšã©ãŒãçºçããŠããŸããã ãšã©ãŒã¡ãã»ãŒãž 2025-11-18T01:14:43.909892Z 7858 [ERROR] [MY-010584] [Repl] Replica SQL for channel '': Worker 1 failed executing transaction 'ANONYMOUS' at source log , end_log_pos 54575012; Could not execute Delete_rows event on table {ããŒãã«å}; Can't find record in {ããŒãã«å}, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event's source log mysql-bin-changelog.038641, end_log_pos 54575012, Error_code: MY-001032 ããã¯Blueç°å¢ã§å®è¡ãããdeleteã¯ãšãªãGreenç°å¢ã«é©çšããããšããéã«ãdelete察象ã®ã¬ã³ãŒããç¡ãããšèšã£ãŠããŸãã ãšã©ãŒãçºçããŠããåé€å¯Ÿè±¡ã®è©²åœè¡ãååšããããGreenç°å¢ãžSELECTã¯ãšãªãå®è¡ããã®ã§ããããã£ãããšååšããã®ã§äžå¯è§£ãªãšã©ãŒã¡ãã»ãŒãžã§å°æã§ãð åå 以äžã¯ã¬ããªã±ãŒã·ã§ã³ã«å©çšãããbinlogãããDELETEã«å€±æããlogãæç²ãããã®ã§ãã ### DELETE FROM `{ããŒãã«å}` ### WHERE ### @1=-824762424 (3470204872) /* INT meta=0 nullable=0 is_null=0 */ ### @2=NULL /* DATE meta=0 nullable=1 is_null=1 */ ### @3=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */ ### @4=NULL /* TIME(0) meta=0 nullable=1 is_null=1 */ ### @5='05' /* STRING(8) meta=65032 nullable=1 is_null=0 */ ã@Xãã®æ¬¡ã«ããã®ã¯å®éã«å
¥ãå€ã§ãããšãã° @5 ãã€ãŸã5çªç®ã®ã«ã©ã ã«å
¥ãã®ã¯ '05' ã§ããããšãããããŸãã ãã®ãã¡ã @1 ã¯ä»åå倿Žãè¡ã£ãã«ã©ã ã§ããBlueç°å¢ã§ã¯INT UNSIGNEDãGreenç°å¢ã§ã¯BIGINTãšããããã«åãç°ãªããŸãã @1 ã®å€ãšããŠæžãããŠãã -824762424 (3470204872) ã¯ä»ãšè¡šèšãç°ãªããŸããã以äžã®ããã«èªã¿åãããšãã§ããŸãã -824762424 : signedè§£éã®å€ (3470204872) : unsignedè§£éã®å€ INT UNSIGNEDã®ã«ã©ã ã«å¯ŸããŠSQLäžã§äœ¿ãããã®ã¯unsignedè§£éã®å€ãªã®ã§ delete from {ããŒãã«å} where id = 3470204872 ã¯HITããŸãã äžæ¹ã§GreenåŽã¯ãã®binlogãçšããŠã¬ããªã±ãŒã·ã§ã³ãå®è¡ããŠããéã ã©ããã -824762424 ãå€ãšããŠæ±ãããããè§£éããŠããŸã£ãŠããããã§ããã ã€ãŸããBlueåŽã¯ delete from {ããŒãã«å} where id = 3470204872 ãè¡ã£ãŠããŸããããæ
å ±ãäŒæ¬ãããGreenåŽã¯ delete from {ããŒãã«å} where id = -824762424 ãè¡ã£ãŠããŸãããããããã®ãããªè¡ã¯ååšããªããããã¬ããªã±ãŒã·ã§ã³ãšã©ãŒãçºçããŠããã®ã§ãã 調æ»ã®éçš ä»åã¯äžåºŠã®å®è¡ãé·æéãšãªãDDLãçšãããªãªãŒã¹ã§ãããšããããšãããæ¢çŽ¢çã«æåãããŸã§å®éšãç¹°ãè¿ããããªå¯ŸåŠæ³ã®æ¢ãæ¹ã¯ã§ãããéãããæéã§ç¢ºå®æ§ã®é«ãå¯ŸåŠæ³ãæ¢ãåºããäžåºŠã®æåã§ãªã«ããªãŒãããå¿
èŠããããŸããã ãã®ããã仮説ãæã£ãŠç¢ºå®æ§ã®é«ã蚌æ ã»è£ã©ããæ¢ãã«è¡ãåãããšã£ãŠããŸãã ïŒä»®èª¬1ïŒbinlogã確èªããåããè¡ã¯ååšããã®ã«åé€å¯Ÿè±¡ãèŠã€ããããªãããšããç¶æ³ãã Greenç°å¢ã®å倿åŸã®id: 1 (BIGINT) binlogã¬ããªã±ãŒã·ã§ã³ã«ãããã¯ãšãªã®å±¥æŽã§ãã delete from {ããŒãã«å} where id = 1 (INT UNSIGNED) ãšãã«å€ã¯ 1 ã§ã¯ãããŸãããå
éšçã«å¥ç©ãšãªãäžèŽããªãç¶æ
ã«ãªã£ãŠããã®ã§ã¯ãªããïŒãšãã仮説ãæã¡ãŸããã ïŒä»®èª¬2ïŒä»®èª¬1ã念é ã«binlogã確èªãããšãããidåã« -824762424 ãš (3470204872) ã®2å€ã䜵èšãããŠãããæ¬æ¥æ±ãã¹ãã§ãã 3470204872 ã§ã¯ãªã -824762424 ãwhereå¥ã§äœ¿ãããŠããã®ã§ã¯ããšåæã®ä»®èª¬1ããå¥ä»®èª¬ã«äžæ©é²å±ããŸããã è£ä»ã 仮説2ãããã¥ã¡ã³ãã§ç¢ºèªã§ããã°ç¢ºåºŠãäžãããšèããã¬ããªã±ãŒã·ã§ã³æã®å€ã®è§£éã«ã€ããŠMySQLã®å
¬åŒããã¥ã¡ã³ããå確èªããŸããã ãããšã ãœãŒã¹ãšã¬ããªã«ã§ç°ãªãããŒãã«å®çŸ©ã䜿çšããã¬ããªã±ãŒã·ã§ã³ ã«ãŠã以äžã®ãªãã·ã§ã³èšèŒãèŠã€ããŸããã ALL_SIGNED ææ ŒãããæŽæ°åã笊å·ä»ãå€ãšããŠæ±ããŸã (ããã©ã«ãåäœ)ã ALL_UNSIGNED ææ ŒãããæŽæ°åã笊å·ãªãå€ãšããŠæ±ããŸãã æŽæ°åãææ Œããããšãã«ã笊å·ããã笊å·ãªããã¯ä¿æãããŸãããããã©ã«ãã§ã¯ãã¬ããªã«ã¯ãã®ãããªå€ããã¹ãŠç¬Šå·ä»ããšããŠæ±ããŸãã ããã¯ãä»å倿Žããã«ã©ã ã®å€ã¯ããã©ã«ãã§ã¯ç¬Šå·ä»ãå€ (-824762424) ãšããŠæ±ãããããšã瀺ããŠããŸãããŸãã ALL_UNSIGNED ãæå®ããããšã§ç¬Šå·ãªãå€ (3470204872) ãšããŠæ±ãããããã«èšå®ã§ãããšããããŸãã ä»åã®å Žåã¯ãŸãã«ãããå¯ŸåŠæ³ãšãªãããã§ããããã ïŒããšä»®èª¬ã確信ã«å€ãããŸããã ããã¥ã¡ã³ãã®è©²åœéšåã¯äºåã«èªãã§ããã®ã§ããããã®ãããªäºæ
ã«ã€ãªããèšèŒã§ãããšã¯æ°ä»ããŸããã§ããã ãããªãè£ä»ã idåãsignedè§£éã®å€ã§ãããšããå Žåãdelete / updateãããããšããã°å¯Ÿè±¡ã®è¡ãèŠã€ãããªããšã©ãŒãšãªããŸãããinsertã®å Žåã¯ãšã©ãŒãªããã€ãã¹ã®å€ã§insertãããè¡ãããã¯ãã§ãã å®éã«ç¢ºèªãããšãããGreenç°å¢ã«ã¯ãã€ãã¹å€ã®idåã倿°äœæãããŠããã確蚌ãåŸãããšãã§ããŸããã ãªã«ããªãŒ ãªã«ããªãŒã®ããã«ã¯ ALL_UNSIGNED ãä»äžããGreenç°å¢ã§å床ã¬ããªã±ãŒã·ã§ã³ãå®è¡ããå¿
èŠãããã以äžã®ããã«å
šå·¥çšã®ããçŽããè¡ããŸããã Greenç°å¢ã®åé€ Greenç°å¢ã®åäœæ ALL_UNSIGNED ãã©ã¡ãŒã¿ã®è¿œå DDLã®åå®è¡ 幞ããšã©ãŒãçºçããåœæ¥ã«åå ãšå¯ŸåŠæ³ã®ç¹å®ãã§ããããããªãªãŒã¹å®è¡æ¥ã«éã«åãããããšãã§ããŸããã çµããã« ä»åã¯BlueGreenDeploymentãæŽ»çšããã«ã©ã åã®å€æŽãšããã®éã«çããäºæãã¬ã¬ããªã±ãŒã·ã§ã³ãšã©ãŒã«ã€ããŠèšèŒããŸããã äºæãã¬äºæ
ã¯1ä»¶çºçããŠããŸããŸãããã 顧客圱é¿ãåºãããå®è¡æéãæ°ã«ããDDLãæ¬çªå®è¡ã§ãã Greenç°å¢ã®å倿Žãæ£åžžã«å®äºã§ããã°ã¡ã³ããã³ã¹ã¯äžå®ãªããªãªãŒã¹ãã§ãã çæéã®ã¡ã³ããã³ã¹ã«ããä»è·äºæ¥è
ãã¢ããªãå©çšã§ããªãæéãçæéãšãã€ã€ããªãªãŒã¹é¢ä¿è
ãç¡çãªããªãªãŒã¹ãã§ãã ãšããBlueGreenDeploymentã®ã¡ãªãããæŽ»ããããªãªãŒã¹ãè¡ãããšæããŸãã ãã®èšäºãããããã¹ããŒã倿Žãè¡ãæ¹ã®åœ¹ã«ç«ã€ãšå¬ããã§ãã èªãã§ããã ãããããšãããããŸããã *1 : ãªã³ã©ã€ã³DDLæäœã«é¢ããå
¬åŒããã¥ã¡ã³ã: https://dev.mysql.com/doc/refman/8.0/ja/innodb-online-ddl-operations.html
ã¯ããã« ããã«ã¡ã¯ïŒã«ã€ãã±ã³ãã¯ãã®éçºæšé²ããŒã ã§ãšã³ãžãã¢ãããŠãã @_kimuson ã§ãã ç§ãã¡ã®ããŒã ã§ã¯ãéçºäœéšã®åäžãä»åŸã®æ¡åŒµã«åããŠå€§èŠæš¡ãªããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã®ãã€ã¯ãããã³ããšã³ãåãé²ããŠããŸãã ã¢ããªåå²ã«ã€ããŠã¯äžèšã®èšäºã§ç޹ä»ããŠããŸãã®ã§ããããããã°åãããŠãåç
§ãã ããã ã¢ããªåå²ã®äžç°ãšããŠpnpm workspaceã䜿ã£ãã¢ãã¬ãæ§æãæ¡çšããŠããã®ã§ãããinternal packageã«ãããpeerDependenciesã®æ±ãã課é¡ã«ãªããŸããã ãã®èšäºã§ã¯ãpnpm workspaceã«ãããpeerDependenciesã®åé¡ãšãã®è§£æ±ºçã«ã€ããŠæŽçããŠã¿ãŸããåããããªæ§æã§éçºããŠããæ¹ã®åèã«ãªãã°å¹žãã§ãã pnpm workspace ãš peerDependenciesãäœãåé¡ãªã®ã ãŸãã¯åé¡ã®èæ¯ãã説æããŸãã pnpm workspaceã§ã¯ workspace:* ãããã³ã«ã䜿ãããšã§ãããŒã«ã«ããã±ãŒãžéã®äŸåãã·ã³ããªãã¯ãªã³ã¯ã§è§£æ±ºããŠãããŸããããããšãŠã䟿å©ã§ãããã±ãŒãžå
ã®ãã¡ã€ã«ãç·šéãããšå³åº§ã«åæ ãããŸãããwatchããã»ã¹ãäžèŠãªã®ã§éçºç°å¢ãéããªããŸããã å
žåçãªæ§æã¯ãããªæãã§ãïŒ // apps/main/package.json { " dependencies ": { " react ": " ^18.0.0 ", " shared-ui ": " workspace:* " } } // packages/shared-ui/package.json { " peerDependencies ": { " react ": " ^18.0.0 " } } apps/main ã shared-ui ã«äŸåããŠããŠã shared-ui ã¯ReactãpeerDependenciesãšããŠå®£èšããŠããŸããããæ®éã®æ§æã§ããã ã·ã³ããªãã¯ãªã³ã¯ãåŒãèµ·ããåé¡ UI Libraryçã§ã¯ããããæ®éã®æ§é ã ãšæããŸãããworkspaceã§ã®internalããã±ãŒãžã§ã¯èŽåœçãªåé¡ããããŸãã ã·ã³ããªãã¯ãªã³ã¯ã§ããã±ãŒãžãåç
§ãããšãNode.jsã®ã¢ãžã¥ãŒã«è§£æ±ºã®ä»çµã¿äžãããããã®ããã±ãŒãžã ç°ãªãã©ã€ãã©ãªã®å®æ
ãåç
§ããŠããŸã ããšããããšã§ãã ã·ã³ããªãã¯ãªã³ã¯ã«ãã shared-ui ãåç
§ããŠããŸããããããããç°ãªãreactã€ã³ã¹ã¿ã³ã¹ãåç
§ããŠããŸããŸãã Node.jsã¯ã¢ãžã¥ãŒã«ã解決ãããšããåŒã³åºãå
ã®ãã¡ã€ã«ããèŠãŠè¿ããã£ã¬ã¯ããªããé çªã« node_modules ãæ¢ããŠãããŸãïŒåèïŒ Node.js Documentation - Loading from node_modules folders ïŒã shared-ui ã®ãœãŒã¹ã³ãŒããã import React from 'react' ãããšããŸã packages/shared-ui/node_modules/react ãèŠã€ããŠããŸãããã§ãã peerDependenciesã¯æ¬æ¥ãå©çšåŽãšåãã€ã³ã¹ã¿ã³ã¹ã䜿ã£ãŠãããšããæå³ã§å®£èšãããã®ã§ãããã·ã³ããªãã¯ãªã³ã¯ã ãšæåŸ
éãã®è§£æ±ºã«ãªããŸããã å®éã«åé¡ãèµ·ããã±ãŒã¹ ãšã¯ããããã¹ãŠã®peerDependenciesã§åé¡ãèµ·ããããã§ã¯ãããŸãããåé¡ãé¡åšåããã®ã¯ãåºæ¬çã«ããã±ãŒãžã ã°ããŒãã«ãªç¶æ
ãæã€ å Žåã§ãã ããšãã°ãããããããäŸãšããŠåçŽãªã«ãŠã³ã¿ãŒããã±ãŒãžãèããŠã¿ãŸãïŒ // counter.ts let count = 0 ; export const addCount = () => { count++; } ; export const getCount = () => count; ãã®ããã±ãŒãžã shared-ui ã«peerDependenciesãšããŠè¿œå ãããŠãããšä»®å®ããŠã shared-ui ãã addCount() ãåŒãã§ãã apps/main ãã getCount() ãåŒã¶ãš0ãè¿ã£ãŠããŸããå¥ã®ã€ã³ã¹ã¿ã³ã¹ã®å¥ã®å€æ°ãèŠãŠããããã§ããã Reactãåæ§ã§ã useContext ã useMemo ãªã©ã°ããŒãã«ãªç¶æ
ã«äŸåããæ©èœã䜿ããšãšã©ãŒãçºçããŸããäžæ¹ãdate-fnsães-toolkitã®ãããªçŽç²ãªé¢æ°ã ããæäŸããããã±ãŒãžã¯ãåãå®è£
ã2ç®æã«ååšããã ããªã®ã§åäœã«ã¯åé¡ãããŸããã 解決ç ãã®åé¡ã«å¯Ÿããã¢ãããŒãã¯å€§ãã2ã€ãããŸãããããã peerDependencies ãåãã¢ãžã¥ãŒã«ã®å®äœã«è§£æ±ºããã ãšããæ¹åæ§ã¯åãã§ãã 解決ç1: ãã³ãã©ãŒããã¹ããã¬ãŒã ã¯ãŒã¯ã§äŸå解決ããªãŒããŒã©ã€ããã 1ã€ç®ã¯ãäŸå解決ãè¡ãããåããŒã«ã§ãã¢ãžã¥ãŒã«ã®è§£æ±ºå
ãäžæžãããæ¹æ³ã§ãã Jestã®å Žåã¯ãããªæãã§èšå®ããŸã // jest.config.ts import { createRequire } from 'node:module' ; const require = createRequire(import.meta. url ); const reactPath = require.resolve( 'react' ); const jestConfig = { moduleNameMapper : { '^react$' : reactPath, } , } ; export default jestConfig; webpackã䜿ãNext.jsãStorybookã§ããåæ§ã« resolve.alias ã§äžæžãã§ããŸããViteã§ã dedupe ãªãã·ã§ã³ãæäŸãããŠããŸãã ã¡ãªãã: ã·ã³ããªãã¯ãªã³ã¯ã®å©ç¹ïŒå³åº§ã«åæ ãwatchäžèŠã軜éïŒãç¶æã§ãã å¿
èŠãªç®æã ãããããåœãŠããã ãã¡ãªãã: Next.jsãStorybookãJest/Vitestãªã©ãäŸå解決ãè¡ããã¹ãŠã®ããŒã«ã§èšå®ãå¿
èŠ æ°ããããŒã«ã远å ãããã³ã«èšå®ã远å ããªããšãããªã æœåšçãªåé¡ã¯æ®ã Ex. å®ã¯ã°ããŒãã«ãªç¶æ
ãæã£ãŠããŠããžãã¯ãå£ããŠããããšã«åŸããæ°ã¥ã Ex. åãã³ãŒããéè€ããŠãã³ãã«ã«å«ãŸããŠããŸã 解決ç2: pnpm ã® dependenciesMeta.*.injected ã䜿ã 2ã€ç®ã¯ãpnpmãæäŸãã injected ãªãã·ã§ã³ãäœ¿ãæ¹æ³ã§ãã 解決ç1ãããããå
ãŠããããªå¯Ÿçã ã£ãããšã«å¯ŸããŠããã¡ãã¯æ ¹æ¬è§£æ±ºã«ãªããŸãã // apps/main/package.json { " dependencies ": { " react ": " ^18.0.0 ", " shared-ui ": " workspace:* " } , " dependenciesMeta ": { " shared-ui ": { " injected ": true } } } ãããèšå®ãããšãpnpm㯠.pnpm ãã£ã¬ã¯ããªå
ã« node_modules ãæããªãããã±ãŒãžã®ã¯ããŒã³ ãäœæããŸãã ãã£ã¬ã¯ããªæ§é ã¯äžèšã®ããã«ãªããŸãã ./ âââ apps â âââ main â âââ node_modules â âââ .pnpm â â âââ <shared-ui-clone> â â âââ src (shared-ui ã®ã³ããŒ) â â âââ node_modules (空) â âââ @my-pkg â âââ shared-ui --> .pnpm/<shared-ui-clone> âââ packages â âââ shared-ui âââ package.json apps/main ããã¯ãã®ã¯ããŒã³ãåç
§ããããã«ãªãã®ã§ã shared-ui ã®ã³ãŒãããReactãimportããŠããã¯ããŒã³åŽã® node_modules ã¯ç©ºã§ãããã芪ãã£ã¬ã¯ããªããã©ãã apps/main/node_modules/react ãžè§£æ±ºãããŸãã ã€ãŸãã apps/main ã®ã³ãŒããš shared-ui ã®ã³ãŒããåãreactã€ã³ã¹ã¿ã³ã¹ãåç
§ããããã«ãªããŸãã èŠãŠã®éãæ ¹æ¬çãªè§£æ±ºã§ãããçæ³çã«èŠããŸããéçºäœéšãèŽåœçã«æªããšããåé¡ãå«ãã§ããŸãã injected ã«ããéçºäœéšã®å£åãšèåç injected ã䜿ããšã packages/shared-ui/src ãšãã®ã¯ããŒã³ã§ãã apps/main/node_modules/.pnpm/<shared-ui-clone>/src ã¯åºæ¬çã«ãã¡ã€ã«ããšã«ããŒããªã³ã¯ã§åæãããŸãã ãããã£ãŠãã¡ã€ã«ã远å ãããããåé€ããããããå Žåã«ã¯åæãããŸããã ãŸããç¹å®æ¡ä»¶äžã§ããŒããªã³ã¯ã§ã¯ãªãåãªãã³ããŒãè¡ããããšããUndocumentedãªæåããããæã
ã®ãããžã§ã¯ãã§ã¯ãã®æ¡ä»¶ïŒ shared-workspace-lockfile=false , postinstall ããïŒãæºããããã³ããŒã«å¯ã£ãŠäœæããã倿Žããåæãããªããšããç¶æ
ã§ããã 起祚ããIssue: https://github.com/pnpm/pnpm/issues/9828 ãã®åé¡ãè£å®ããããã«ã pnpm-sync-dependencies-meta-injected ãšããããŒã«ããããŸããããã䜿ããšãéçºäžã«ãœãŒã¹ã³ãŒãã®å€æŽãwatchããŠããŒããªã³ã¯ãæŽæ°ããŠãããã®ã§ãinjectedã䜿ããªãããå¿«é©ãªéçºäœéšãç¶æã§ããŸãã ã¡ãªã¿ã«pnpm v10ã§ã¯ syncInjectedDepsAfterScripts ãšããå
¬åŒãªãã·ã§ã³ã远å ãããŠããŸããä»»æã®ã¹ã¯ãªããå®è¡åŸã«ããŒããªã³ã¯ãååæããŠããããã®ã§ãå°æ¥çã«ã¯ãã¡ãã䜿ãéžæè¢ãããããã§ãã ãã ããã§å
šéšè§£æ±ºã ããïŒãšããããšã§ããªããnode_modulesãåé€ããŠpnpm iããªãããªããšæŽæ°ãããªãç¶æ
ã«å®æçã«é¥ãããšãã£ãåé¡ãå®éã«çºçããŠãããéçºäœéšãšããŠã¯éåžžã«æªãç¶æ
ãæ®ã£ãŠããŸãã çµå±ã©ã¡ããæ¡çšããã°ããã®ã å°ãªããšãçŸåšïŒ2025幎12æïŒã§ã¯ã©ã¡ãããå®ç§ãªè§£æ±ºçã«ã¯ãªã£ãŠãããããã¬ãŒããªããèæ
®ããŠéžã¶å¿
èŠããããŸãã èŠ³ç¹ è§£æ±ºç1ïŒãªãŒããŒã©ã€ãïŒ è§£æ±ºç2ïŒinjectedïŒ éçºäœéš â â³ èšå®ã®ç
©éãã»æé Ã â æ ¹æ¬è§£æ±º à â ãã³ãã«ãµã€ãº â³ïŒéè€ã®å¯èœæ§ïŒ âïŒéè€ãªãïŒ å¯èœã§ããã°æ ¹æ¬è§£æ±ºã§ããinjectedã«å¯ããŠããããæ°æã¡ã¯ããã€ã€ãéçºäœéšãæªãããã®ã§çŸç¶ã¯ãªãŒããŒã©ã€ãã«å¯ããŠããŸãã overrides æ¹åŒã§ã¯è§£æ±ºã§ããªãåé¡ããã åºæ¬éçºäœéšãåªå
ããŠoverridesã«å¯ããŠããŸãããäžéšã®å
±éããã±ãŒãžã§ã¯overridesã§è§£æ±ºã§ããªãåé¡ããããinjectedãå©çšããŠããŸãã å
·äœçã«ã¯å解決ã®åé¡ã§ãã å解決ã«ã€ããŠã¯peerDependenciesã®å®æ
ãç°ãªããã®ã«è§£æ±ºãããŠãããšããŠãããŒãžã§ã³ããæã£ãŠããã°æ§é çéšååã§åãã§ãã¯ãããããåºæ¬çã«ã¯åé¡ã¯èµ·ããŸããã import { User } from 'peer-dep-pkg' import { getUser } from '@my-pkg/dep' const user: User /* node_modules/peer-dep-pkg */ = getUser() /* packages/dep/node_modules/peer-dep-pkg */ ã®ããã«å®æ
ãç°ãªã£ãŠããŠãæ§é ã¯åäžã§ãããããåãšã©ãŒã«ã¯ãªãããŸããã åŒãããã¯ãã®å Žåã¯pnpm catalogã䜿ã£ãŠäŸåã管çããŠãããããããŒãžã§ã³ã¯åºå®ããéçšãããŠããã®ã§ããŒãžã§ã³éããèµ·ããŸããã https://pnpm.io/ja/catalogs äžæ¹ãTypeScriptã§ããclassã䜿ã£ãŠããprivateããããã£ãæã€å Žåãã§ã¯äŸå€çã«ç·ç§°åã§åãã§ãã¯ãããã±ãŒã¹ãååšãããããã£ãåã䜿ãããŠããã©ã€ãã©ãªãpeerDependenciesã«ååšãããšåãã§ãã¯ã¯é©åã«è¡ããŸããã // ã©ã€ãã©ã€åŽã®ã³ãŒãäŸ class ApiClient { private cache : unknown ; // ... } import { ApiClient } from '@my-pkg/peerDep' import { createApiClient } from '@my-pkg/dep' const apiClient: ApiClient /* node_modules/peer-dep-pkg */ = createApiClient() /* packages/dep/node_modules/peer-dep-pkg */ ; // => 宿
ãç°ãªãããç·ç§°åã§ãã§ãã¯ããåãšã©ãŒ ãã®åé¡ã¯è§£æ±ºã®ã¯ãŒã¯ã¢ã©ãŠã³ãçã«åé¿ãé£ããã®ã§ãäžéšã®ããã±ãŒãžã§ã¯éçºäœéšã®å£åã蚱容ããŠinjectedãæ¡çšããŠããŸãã çµããã« pnpm workspaceã«ãããpeerDependenciesã®åé¡ãšè§£æ±ºçã«ã€ããŠæŽçããŸããã ã·ã³ããªãã¯ãªã³ã¯ã«ããã¢ãžã¥ãŒã«è§£æ±ºã®ä»çµã¿äžãpeerDependenciesãç°ãªãã€ã³ã¹ã¿ã³ã¹ãåç
§ããŠããŸãåé¡ããã ã°ããŒãã«ãªç¶æ
ãæã€ããã±ãŒãžïŒReactãªã©ïŒãç·ç§°åã«ãªãåãå
¬éããããã±ãŒãžã§åé¡ãé¡åšåãã 解決çãšããŠã¯ãåããŒã«ã§ãªãŒããŒã©ã€ããããinjectedãªãã·ã§ã³ãã®2〠æ£çŽãoverridesãèšå®ãç
©éããããã¯ãŒã¯ã¢ã©ãŠã³ãã§ããããšãinjectedãäœéšãæªããŠãã£ããã¯æ¥ãŠããªãã®ã§ããèæ¯çè§£ãšæ¹éæ€èšã«ãèŠåŽããã®ã§ãåããããªworkspaceåçã«åãçµãã§ããæ¹ã®åèã«ãªãã°å¹žãã§ãïŒ ãŸããpnpmã®ãªããžããªã§ã®ãã®åé¡ã¯è°è«ãããŠããã®ã§ãinjectedïŒæ ¹æ¬è§£æ±ºïŒããŒã¹ã§ããéçºäœéšãç¶æã§ãããœãªã¥ãŒã·ã§ã³ãåºãŠãããšè¯ããªãšæã£ãŠããŸãã https://github.com/orgs/pnpm/discussions/3938
ã¯ããã« ããã«ã¡ã¯ïŒã«ã€ãã±ã³ãã¯ãã®éçºæšé²ããŒã ã§ãšã³ãžãã¢ãããŠãã @_kimuson ã§ããäž»ã«ããã³ããšã³ããäžå¿ã«éçºçç£æ§ã®åäžã«åãçµãã§ããŸãã ä»åã¯ãã«ã€ãã±ã³ãã¯ãã®ããã³ããšã³ããåäžã®Next.jsæ§æãããã€ã¯ãããã³ããšã³ãåãã話ã玹ä»ããŸãã ã¹ãã³ã§èšããšææ¡ãããŠãã9ãæã»ã©çµã£ãŠããã®ã§ããããããã圢ã«ãªã£ãŠããã®ã§æ¹éã詊è¡é¯èª€ããç¥èŠãå
±æã§ããã°ãšæããŸãã èæ¯ã»å
ã
ã®ã¢ãŒããã¯ã㣠ãŸããå
ã
ã®æ§æãç°¡åã«èª¬æããŠãããŸãã ã«ã€ãã±ã³ãã¯ãã®ããã³ããšã³ãã¯ãGraphQL Federation *1 ãè¡ãBFF *2 Serverã«å¯ŸããŠå·šå€§ãªããã³ããšã³ãã建ã£ãŠããæ§é ã§ãã Next.jsã䜿ã£ãŠããŸãããSSR *3 ã¯è¡ããéçãªæ§æã§ããPages Routerã§Static Buildããææç©ãS3ã§ãã¹ãã£ã³ã°ããã ãã®ã·ã³ãã«ãªåœ¢ã§ããã çµç¹æ§é ãšããŠã¯ãã¹ããªãŒã ã¢ã©ã€ã³ãããŒã *4 ãNext.jså
ã®ããŒãžã§åºåãããå°ããã¢ããªã±ãŒã·ã§ã³ããšã«ãªãŒããŒã·ãããæã£ãŠããŸãã äŸãã°å³ã®app1ã®ããŒã ã¯äž»ã« src/pages/app1 , src/services/app1 ã®ãªãŒããŒã·ãããæã€ãããªåœ¢ã§ãã åå²ã®ã¢ãããŒã·ã§ã³ ããšããšã¯ãããã ã«åäžã®Next.jsã§éå§ããŠãããã®ãããã¯ãã§ãããçµç¹æ¡å€§ã»æéçµéãšãšãã«è¥å€§åãç¶ããŠããããã€ã³ãåºãŠããŠããç¶æ³ã§ããã 課é¡1: åããŒã ããšã«ããªã¥ãŒã¹ããªãŒã ãæã¡ãã ãŸãããããã®ã¢ããªã±ãŒã·ã§ã³ã®éçºã¯ããŒã ãåãããŠããã®ã§ãåœç¶ããããã®ããŒã ã§ããªã¥ãŒã¹ããªãŒã ãæã¡ããªãªãŒã¹ãããŠããããã®ã§ãããã«ããäžæ¬ã«ãªãéœåäžåå¥ã§ã®ãããã€ãè¡ãããšãã§ããŸããã§ããã çµæã2é±éæ¯ã«ãŸãšããŠè¶³äžŠã¿ãããããŠãªãªãŒã¹ãè¡ãããªãªãŒã¹ãã¬ã€ã³ããé·ãã宿œããŠããŸããã ãã£ãšé«é »åºŠã«ãªãªãŒã¹ãããŠãããã ã¢ããªåäœã§QAããªãªãŒã¹ãè¡ã£ãŠè¡ããã ãšèšã£ãéèŠã倧ãããªã£ãŠãããŸããã 課é¡2: CI ãããŒã«ã«ç°å¢ã®è¥å€§å æ¬æ¥èªããŒã ãšã¯é¢ä¿ãªãã»å
šããŒã ã®ãœãŒã¹ã³ãŒããå«ãŸããŠããããã±ãŒãžã«ãªã£ãŠããŸã£ãŠããã®ã§ 倿Žã«é¢ä¿ãªã察象ã®CIïŒtest, build, lint, åãã§ãã¯ïŒãåããå¿
èŠããã ããŒã«ã«ã§å
šéšå
¥ãã®Next.js Dev Serverãç«ãŠãå¿
èŠããã ãšèšã£ãç¶æ
ã§ããã ä»åŸãã¢ããªã®å°ã°ã«ãŒããã³ãŒãããŒã¹ãå¢ããŠããã®ã§ä»ã®æ§æã®ãŸãŸé²ãã§å€§äžå€«ãïŒãšããæžå¿µãåºã€ã€ãããŸããã ãã€ã¯ãããã³ããšã³ãã§è§£æ±ºãç®æã ãããã®èª²é¡ã«å¯ŸããŠãVerticalã«ããã³ããšã³ããåå²ããæ§æã«ç§»è¡ããããšã§è§£æ±ºãç®æããŸããã ã¢ããªããšã«ç¬ç«ããNext.jsã¢ããªã±ãŒã·ã§ã³ãæãŠãããã«ããŸãã ããã«ãã ããŒã«ã«ç°å¢ã§èªåãè§Šããªãã¢ããªã¯å
±æç°å¢ã®ãªãœãŒã¹ã«æ¥ç¶ã§ãã CI/CDãåå²ãããã¢ããªåäœã§å¿
èŠãªCIã«çµã£ãŠåãããšãã§ããããã«ãªã ã¢ããªã®ãããã€åäœãåå²ã§ãããããããŒã ããšã«èªåã®ã¢ããªã ããããã€ããããšãå¯èœã«ãªã ãšãã圢ã§ãã€ã³ãè§£æ¶ãããŠããæ§æ³ã§éå§ããŸããã å®çŸæ¹æ³ åå²ã®å®æœã«ã¯è€æ°ã®ã¢ãããŒããæ€èšããŸããããåå²ããããšèªäœãéåžžã«å€§ããªåãçµã¿ã§ããã¹ã³ãŒããæ¥µåçµã£ããããã ãªæ¹éã§åå²ãè¡ããŸããã äŸãã°ã¢ããªããšã«ãµããã¡ã€ã³ãåããçãèããããŸããã ã¢ããªã®ãã¹ã¯å€ããªãïŒ /app1 ãªãapp1ã®Next.jsãåãã ãããšããæ§é ïŒ ãã¹ãå€ããªãã®ã§æ§ãã¹ã»æ°ãã¹ã®ãªãã€ã¬ã¯ãçãäžèŠ ãããŸã§åæ§åäžã®s3ãã±ããã«ãããã€ãã圢ãç¶æ ãšããããšã§ãããã±ãŒãžãåå²ãã以å€ã®é¢å¿ãããŸãæ°ã«ããé²ããããããã«ããŸããã basePath ãæŽ»çšããã€ã³ãã©æ§æãã»ãŒå€ãããªãæ¹æ³ Next.jsã«ã¯ basePath ãªãã·ã§ã³ ãååšããŠããããµããã¹ã«ãããŠé
ä¿¡ããæ§æã«å¯Ÿå¿ããŠããŸãã ããã䜿ã£ãŠããããã®ã¢ããªã basePath ããã§ãã«ãããææç©ãçµåããŠS3ã«ã¢ããããŒãããŸãã # åã¢ããªã®ãã«ãææç© apps/ âââ app1/out/ # basePath: /app1 ã§ãã«ã â âââ _next/ â âââ index.html âââ app2/out/ # basePath: /app2 ã§ãã«ã â âââ _next/ â âââ index.html âââ app3/out/ # basePath: /app3 ã§ãã«ã âââ _next/ âââ index.html â cp -r ã§çµå # S3ã«ã¢ããããŒãããææç© dist/ âââ app1-path/ â âââ _next/ â âââ index.html âââ app2-path/ â âââ _next/ â âââ index.html âââ app3-path/ âââ _next/ âââ index.html éçãã¹ãã£ã³ã°ã§ã® Dynamic routes å¯Ÿå¿ äžèšã§åºæ¬çã«ã¯æåŸ
éãåãã®ã§ãããDynamic routesã®è§£æ±ºã«é¢ããŠã¯è¿œå ã®å¯Ÿå¿ãå¿
èŠã§ãã ããããåå²é¢ä¿ãªãäžè¬çã«Next.jsã®éçãã¹ãã£ã³ã°ã§ã¯Dynamic Routesãåäœããªãã®ã§ã¯ãŒã¯ã¢ã©ãŠã³ããè¡ãå¿
èŠãããããšãç¥ãããŠããŸãã è©³çŽ°ãªæ¹æ³ã¯ã€ã³ãã©çã«ãå¯ãã®ã§ãŸã¡ãŸã¡ã§ãããæŠããããã察å¿ãå¿
èŠã§ãã ã€ã³ãã©åŽïŒ /posts/10 ã®ãããªã¢ã»ãããååšããªããã¹ãžã®ãªã¯ãšã¹ãã§ã /404.html çãè¿ãããã«ãã ããã³ããšã³ãåŽïŒ /404 çåããFEåŽã§ window.location.pathname ( /posts/10 ) ã確èªããååšããã«ãŒãããã° router.replace ããŠãã©ãŒã«ããã¯ãã ã¢ããªåå²ãããšåœç¶ã¢ããªããšã® /404 ãããããœããããã²ãŒã·ã§ã³ã§æ£èŠã®ãã¹ã«ãã©ãŒã«ããã¯ã§ããŸãããããåå¥ã® /404 ã«æµãå¿
èŠããããŸãã æã
ã®å Žåã¯ãCloudFront Functionsã§äžèšã®ãããªå¯Ÿå¿ãå
¥ããããšã§Dynamic Routesã«äžæã察å¿ããŠããŸãã éçã¢ã»ããã¯æ£èŠè¡šçŸã§ããããããŠãã®ãŸãŸåž°ã ãã以å€ã¯CloudFront Functionsãåã¢ããªã®ãã¹ãç¥ã£ãŠããã /app1-path â /app1-path/404.html ãè¿ãããšãããããªåŠçãçãã ããã«ãããåå²ããŠçµåãããã«ãææç©ãs3ã«é
ä¿¡ãã圢ã§Dynamic Routeså«ãæ£åžžã«åããããšãã§ããããã«ãªããŸããã ã¢ãã¬ãã®ç®¡ç ç¶ããŠãããŒã«ã«ãCIã§ã®ããã±ãŒãžç®¡çã«ã€ããŠã§ãã ã¢ãã¬ã管çã¯pnpm workspace + Turborepoã®æ§æãæ¡çšããŠããŸãã pnpm workspaceã¯ä»ã®ããã±ãŒãžãããŒãžã£ãŒãšæ¯èŒããŠãã¯ãŒã¯ã¹ããŒã¹åšãã®æ©èœãå
å®ããŠããŸãã åºæ¬çã«ã¯ã¯ãŒã¯ã¹ããŒã¹ãããã³ã«ã䜿çšããå
éšããã±ãŒãžéã®äŸåã解決ããŠããŸããã¯ãŒã¯ã¹ããŒã¹ãããã³ã«ã䜿çšãããšäŸåå
ã®node_modules/pkg-nameéšåãããã±ãŒãžã®å®æ
ãžã®ã·ã³ããªãã¯ãªã³ã¯ã«ãªããããããããªããŒãçãã»ãŒåäžããã±ãŒãžå
ã§äŸåããŠããå Žåãšå€ãããªããããªäœéšã§å©çšã§ããŸãã ./ âââ packages/ â âââ shared/ # å®éã®ããã±ãŒãžã®å®äœ â âââ package.json â âââ src/ â âââ index.ts â âââ apps/ âââ app1/ âââ package.json # "shared": "workspace:*" ãšèšè¿° âââ node_modules/ âââ shared/ # â ../../packages/shared ãžã®ã·ã³ããªãã¯ãªã³ã¯ ãŸããããã±ãŒãžãè·šãã¹ã¯ãªããã®ç®¡çã«Turborepoãæ¡çšããŠããŸãã Turborepoã§ã¯ --affected ãšãããªãã·ã§ã³ãæäŸãããŠãããäŸãã° turbo run build --affected ãšå®è¡ãããšgitã®diffããäŸåé¢ä¿ãå«ããŠå®è¡ããå¿
èŠãããããã±ãŒãžãèšç®ããå®è¡ããŠãããŸãã ãŸããæã
ã¯ãŸã ããããæ§æãå¿
èŠã«ãªã£ãŠããªãã®ã§å©çšããŠããŸããããããã«ããå®è¡ããã«ã¯äŸåããããã±ãŒãžããã«ããããŠããå¿
èŠãããããšãããããªäŸåé¢ä¿ãå®çŸ©ã§ããã®ã§ããããã£ãå®è¡ãã¹ãã¿ã¹ã¯ã®ç®¡çããä»»ãã§ããŠäŸ¿å©ã§ãã internal package ã«ããã TypeScript ã®å解決 internalã§ãªãããã±ãŒãžã§ã¯ãã«ããè¡ã d.ts ãš .js ãå
¬éããŠå©çšãããæ§é ãäžè¬çã§ãã // äžè¬ç㪠npm package ã®å
¬éæ¹æ³ { "type": "module", "exports": { ".": { "types": "./dist/index.d.ts", "require": "./dist/index.cjs", "import": "./dist/index.mjs" } } } ãã ãinternal packageã§ã¯äžã
å
±éããã±ãŒãžã§ãã«ãããŠãããšéçºäœéšãæªãã®ã§ã .ts ãã¡ã€ã«ãçŽæ¥å
¬éããå®éã«ãã©ã³ã¹ãã€ã«ãè¡ãã®ã¯ã¢ããªåŽã«ããŠããŸãã // TypeScript ãã¡ã€ã«ãçŽæ¥å
¬éãã { "type": "module", "exports": { ".": "./src/index.ts" } } åºæ¬ãã®åœ¢ã§éçºè
äœéšãç¶æããŠäŸå解決ãããŠããŸãããäžéšãã«ãããããããã±ãŒãžãã¯ãŒã¯ã¹ããŒã¹å
ã«ååšããŠããã®ã§ãã¡ãã«ã€ããŠã¯custom conditionã䜿ã£ãŠå
éšã§ã®ã¿ .ts ã«è§£æ±ºãããããããŠããŸãã ãã®èŸºãã¯ä»¥åèšäºãæžããŠããã®ã§ãããã°ããããŠãåç
§ãã ããã çŽæ¥ .ts ãå
¬éããããã«æ°ãã€ããããš äœéšãå§åçã«è¯ãã®ã§ .ts ã®çŽæ¥å
¬éãããããã§ãããããã€ãæ°ãã€ããŠããã¹ããã€ã³ãããããŸãã ãŸãã¯ã .ts ãå
¬éãããšããããšã¯è€æ°ã®ããã±ãŒãžããå
¬éãããtsãã¡ã€ã«ã®åãã§ãã¯ãè¡ããããšããããšã§ãã ãã®ãããæ¥µåããã±ãŒãžéã®åãã§ãã¯ã«é¢ããtsconfigã®ãªãã·ã§ã³ãçµ±äžããŠããããšãæãŸããã§ããæã
ã®å Žåã¯å
±éã®tsconfigã packages/tsconfig ãšããŠçšæãããããextendsããŠå¿
èŠãªç®æã ãäžæžãããæ§é ã«ããŠããŸãã { "extends": "@my-pkg/tsconfig/base.json", "compilerOptions": { // ... äžæžãããèšå® } } 次ã«åæ§ã®çç±ã§ããã±ãŒãžã®ããŒãžã§ã³ãæããŠããããšãæãŸããã§ãã ã¢ããªããšã®TypeScriptæ¬äœã®ããŒãžã§ã³ãç°ãªã£ãŠããããäŸåã®ããŒãžã§ã³ãç°ãªã£ãŠãããšäžæ¹ã§ã¯éãåãã§ãã¯ãããäžæ¹ã§ã¯éããªããšèšã£ãããšãããããŸãã pnpmã§ã¯Catalogsãšããã¯ãŒã¯ã¹ããŒã¹å
ã§å©çšããããŒãžã§ã³ãæããæ©èœãæäŸãããŠããã®ã§ããã䜿ããšçµ±äžãç°¡åã«å®çŸã§ããŸãã # pnpm-workspace.yaml packages : - apps/** - packages/** catalog : 'react' : 19.0.0 catalogMode : strict cleanupUnusedCatalogs : true // package.json { " dependencies ": { " react ": " catalog: " } } å
±éã®ã¢ããªã±ãŒã·ã§ã³ã³ãŒããã©ããããåé¡ app1ãšapp2ã§ãå
±éã§å©çšããŠããã³ãŒããã¯ãããã±ãŒãžã«åãåºãå¿
èŠããããŸããããããcommonãutilsãšããååãã€ããã¡ãªã³ãŒãé¡ã§ããã ãŸãçæ³åœ¢ãèšããšã¡ãããšè²¬åããšã«ããã±ãŒãžãåããŠããã®ãè¯ããšæããŸãã äžæ¹ãçŸå®çã«ã¯ãªãã¡ã¯ã¿ã³ã¹ãã倧ãããŠåå²ã®ã³ã¹ãã倧ãããªã£ãŠããŸããããã©ãã£ãšãŸãšããŠåäžã®sharedãªããã±ãŒãžãšããŠåãåºãããšã«ããŸããã ããã¯ããã±ãŒãžéã®åŸªç°åç
§ã蚱容ããªãããã§ãã äŸãã° auth ããã±ãŒãžãš test ããã±ãŒãžãçšæããŠãtestã§ã¯authã«ããåãå¿
èŠãauthã§ã¯ãã¹ãããã®ã«testããã±ãŒãžã®ãŠãŒããªãã£ãå¿
èŠãšãªããšçžäºäŸåã®é¢ä¿ã«ãªã£ãŠããŸãããšã«ãªããŸããããã蚱容ããŠããŸããšãã«ãçã®äŸåé¢ä¿ãæ£ãã解決ã§ããŸããïŒãšããåãããã±ãŒãžèªäœã®äŸå解決ã¯åé¡ãªããïŒçãšèããããšãå¢ãããã蚱容ããªãããšã«ããŠããŸãã äžèšãåºæ¬æ¹éãšããªãã ãŸãã¯åäžã®Next.jsã¢ããªãã¯ãŒã¯ã¹ããŒã¹ã®äžã§åãæ§æ åœåããcommonã®ããã«ããããããå
±ééšåãšãªã£ãŠããç®æãåãåºãã1ã®ã¢ããªãããã«äŸåããç¶æ
ãäœã å°ããã»å€æŽã®å°ãªãã¢ããªããå®éã«ç§»è¡ããªããå¿
èŠãªç®æãç¹å®ããŠå
±éããã±ãŒãžã«åãåºã ãšããæµãã§å
±éã³ãŒããåé¢ããªããåå²ãé²ããŠãããŸããã çµæ ãã®èšäºãæžããŠãã2026幎1æçŸåšã§ãã¹ãŠã®ã¢ããªåå²ã¯çµãã£ãŠããŸããããæ®ãããšããš1ã¢ããªãšãªããŸããã çŸæç¹ã§ã®çµæããŸãšããããšæããŸãã éçºç°å¢ã§å¿
èŠãªã¢ããªã ãèµ·åã§ããããã«ãªã£ã ãã«ãåäœãå¥ããããšã§è§Šãã¢ããªã±ãŒã·ã§ã³ã® next dev ã®ã¿ç«ãŠãã°è¯ã圢ã«ãªããŸãããä»ã®ã¢ããªã«é¢ããŠã¯å
±æç°å¢ã®buildããã®ãŸãŸåãåãã ãã§è¯ãã®ã§éçºãã·ã³ã«ãåªããã§ãããä»ã¢ããªèµ·å ã®ãã©ãã«ãèµ·ãã¥ããæããŸããã CI 㯠turborepo --affected ã§å¿
èŠãªäŸåã ãå®è¡ åé ã§ç޹ä»ããéãTurborepoã«ã¯ --affected ãªãã·ã§ã³ãããã倿Žã«åœ±é¿ãããã¹ã¯ãªããã ãå®è¡ããããšãã§ããŸãã CIã®æ§ç¯ãæè»œã§ãCIçšã®ã¯ãŒã¯ãããŒãçšæã㊠--affected ã§ãã¹ãçãå®è¡ããã ãã§å¿
èŠãªããã±ãŒãžã«çµã£ããã¹ãçãå®è¡ãããããã«ãªããŸãã ã©ã€ãã©ãªã®æ®µéç§»è¡ããããããªã£ã 坿¬¡çã«çã£ãŠããããšã§ã¯ãããŸãããã©ã€ãã©ãªã®ã¢ããããŒããã¢ããªåäœã§é²ããããããã«ãªããŸããã ã³ãŒãããŒã¹ã倧ããã®ã§ãå¯ã«äŸåããŠããã©ã€ãã©ãªã®Majorã¢ããããŒããå¥ã©ã€ãã©ãªãžã®ç§»è¡çã¯å€§å€ã«ãªããã¡ã§ããäŸãã°Jestã¯ESM SupportåšããèŸãã®ã§Vitestãžç§»è¡ãããŠããã®ã§ããããããã話ãã¢ããªããšã§å®æœã§ããããã«ãªããŸããã ã¡ãªã¿ã«ãåè¿°ããéãæã
ã¯ããã±ãŒãžã®ããŒãžã§ã³ã¯ãã¹ãŠpnpm catalogã§äžå
管çããŠããŸãããnamed catalogsã䜿ã£ãŠè€æ°ããŒãžã§ã³ã®å
±åãå¯èœã«ãªã£ãŠããŸãã # pnpm-workspace.yaml # éåžžã®ã«ã¿ãã° catalog : react : 17.0.2 react-dom : 17.0.2 # Named Catalog catalogs : react17 : react : 17.0.2 react-dom : 17.0.2 react18 : react : 18.2.0 react-dom : 18.2.0 ããã§ããŒãžã§ã³ãäžå
管çãã€ã€ããç¹å®ã®ããã±ãŒãžã ãMajorããŒãžã§ã³ã¢ããããããšèšã£ã察å¿ãå¯èœã«ãªã£ãŠããŸãã https://pnpm.io/catalogs#named-catalogs æ®ã£ãŠãã課é¡ïŒshared è¥å€§ååé¡ åå²åŸã«èª²é¡ãããã€ãæ®ã£ãŠããã®ã§ãããç¹ã«éèŠãªã®ã§ãsharedã®è¥å€§ååé¡ãã§ãã ãŸããã¢ããªã±ãŒã·ã§ã³ã®å
±ééšåãåãåºããsharedã®ããã±ãŒãžã®å€æŽã§ã¯ããããªããŒããå¹ããªããšããåé¡ããããŸãã ããã¯peerDependenciesãæã€ããã±ãŒãžã workspace:* ãããã³ã«ã§è§£æ±ºããéã«èµ·ãã£ãŠããŸãåé¡ã§ãããäºæ
ãè€éãªã®ã§ããèªäœã§èšäºãæžããŠããŸãã ãŸããããããªããŒãã®åé¡ã眮ããŠãããŠãsharedããã¡ããã ãšçµå±å€æŽãä»ããŒã ã«åœ±é¿ããããšãå¢ããŸãã調æŽããšã®æéãå¢ããŠããŸãã®ã§ãçµç¹çã«ãè¯ããªããšæã£ãŠããŸãã 察çãšããŠsharedãæžãããŠããæ¹åã§é²ããŠããŸãã ããããç§»è¡ãåªå
ããŠã©ãã£ãšæã£ãŠããŠããŸã£ãã®ã§ ãã¶ã€ã³ã·ã¹ãã ãšããŠæè¯ãããŠããªããããã¡ã€ã³ã®äºæ
ãæããªãUI Patternã¯ãã¶ã€ã³ã·ã¹ãã ã«æã£ãŠãããªããïŒ ã¢ããªãè·šãå
±éã®UIã¯æ¬åœã«å
±éã«ããªããšãã¡ãªãã®ãïŒã³ããŒã®æ¹ãæãŸãããªããïŒ çãæ€èšããã¡ãããšçšéããšã®internal packageã«åé¢ããŠsharedãçž®å°ããŠãããããšæã£ãŠããŸãã ãŸãšã 巚倧ãªNext.jsã¢ããªã±ãŒã·ã§ã³ããã€ã¯ãããã³ããšã³ãåãã話ã玹ä»ããŸããã ããŒãžãã¹ãã€ã³ãã©æ§æãžã®åœ±é¿ãæå°éã«æããããšã§ãçŸå®çã«åå²ãé²ããããŸããã ãããã§CIãéçºç°å¢ãäŸåã©ã€ãã©ãªã®æ®µéçã¢ããããŒããªã©ã¢ããªã±ãŒã·ã§ã³åäœã§å®æœã§ããããšãå¢ããŸããã ãŸã 課é¡ãæ®ã£ãŠããã®ã¯æžãããšãããªã®ã§ãåŒãç¶ãæ¹åãç¶ããŠãããããšæã£ãŠããŸãã *1 : å¥éã®ã°ã©ããæã€è€æ°ã®GraphQL ServerãæããGateway Serverãçšæããã¯ã©ã€ã¢ã³ãããçµ±åããã1ã€ã®ã°ã©ãã«å¯ŸããŠãªã¯ãšã¹ããè¡ãããšãã§ããã¢ãããŒãã *2 : Backend For Frontend ã®ç¥ãããã³ããšã³ããšããã¯ãšã³ãã®äžéã«é
眮ããããµãŒããŒã§ãããã³ããšã³ãããèŠãŠè€éãªããã¯ãšã³ãåŒã³åºããé èœããçã®è²¬åãæã¡ãŸãã *3 : Server-Side Rendering ã®ç¥ãæå³ãæºããã¡ã§ãããããã§ã¯ããªã¯ãšã¹ãããšã«ãµãŒããŒåŽã§HTMLãçµã¿ç«ãŠãŠè¿ãæ§æãã®æå³ã§äœ¿çšããŠããŸãã *4 : æžç±ããŒã ããããžãŒã«ãŠç޹ä»ãããŠããããŒã åé¡ã®1ã€ã§ããåºç€ãæäŸãããé«åºŠãªå°éé åãæ±ãããŒã ãšå¯Ÿæ¯ããŠããžãã¹ãã¡ã€ã³ã«æ²¿ã£ãŠãããã¯ãã®éçºãé²ããããŒã ãæããŸãã
ã¯ããã« ããã«ã¡ã¯ãã«ã€ãã±ã³ãã¯ãã®éçºæšé²ããŒã ã§ãšã³ãžãã¢ãããŠãã @_kimuson ã§ãã éçºæšé²ããŒã ã§ã¯ãšã³ãžãã¢ã®çç£æ§åäžãããã·ã§ã³ã«æ²ããŠãããããæè¿ã§ã¯ç©æ¥µçã«AI掻çšãæšé²ããŠããŸãã äžèšãšã³ããªã§ã¯ãã¿ã¹ã¯ããšã®åæ¥ã¬ãã«ãå®çŸ©ãããäœã忥ã¬ãã«ïŒïŒã§ããã ãLLMã«ç§»è²ãããïŒãå®çŸããããã®æ¹éã玹ä»ããŸããã ãã®ãšã³ããªã§ã¯ããå
·äœçã«ãClaude Codeããã«æŽ»çšããŠãããã£ãã¯ãŒã¯ãããŒã®èšèšãçµç¹ã«é©çšããéã®ç¥èŠããŸãšããŠã¿ãããšæããŸãã èšèšããã¯ãŒã¯ãããŒã®åæ¥ã¬ãã«ãæèãã ååã®ãšã³ããªã§ã¯ãã¯ãŒã¯ãããŒãèšèšããã«åœãã£ãŠåæ¥ã¬ãã«ãã€ãŸãã©ã®çšåºŠLLMã«æš©éç§»è²ãããããããªã²ãŒã·ã§ã³ããŒã«ãŒã®åé¡ãåããŠæŽçããŸããã ããããLLMã®å©æŽ»çšã·ãŒã³ãšå¯Ÿå¿ããç§»è²ã¬ãã«ã¯äžèšã®ããã«å¯Ÿå¿ããŸãïŒ æµã 忥ã¬ãã« äž»äœ ChatGPTã«èšèšã«ã€ããŠçžè«ããèªåã§å®è£
Consult 人é Copilot ã Cursor ã®è£å®ã䜿ããªãããèªåã§å®è£
Consult 人é 现ããæç€ºãåºããªãããšãŒãžã§ã³ããå®è£
ãDriver ããšãŒãžã§ã³ããªã¢ããã Agree 人é & LLM LLM ã«ãã±ãããæž¡ããŠPRãŸã§äœã£ãŠããã Inquire LLM LLM ã«ãã±ãããæž¡ããŠPRãäœã£ãŠããããLLMã«ããã¬ãã¥ãŒã§ããŒãžãŸã§å®çµ Delegate LLM åºããAI掻çšããšãã£ãŠããç®çãããããããšæ¬¡ç¬¬ã§èšèšãã¹ãã¯ãŒã¯ãããŒã®åæ¥ã¬ãã«ã¯å€ãã£ãŠããŸã AgreeãConsultã¬ãã«ã§ããšã³ãžãã¢ãšAIã忥ããªããåºããã¢ãŠããããã®è³ªãé«ããããšãã話ãªã®ã Inquireã¬ãã«ã«æã£ãŠããããšã§ã責åãç§»è²ããã¶ã€ããŒãç°¡åãªFEå®è£
ãã§ããããã«ããããQAã®äººãèªåãã¹ããæžããããããããšãã£ãè·èœã®æ¡åŒµããããã®ã Inquireã¬ãã«ã«æã£ãŠããããšã§ããšã³ãžãã¢ã®äœæ¥æéããããã¯ããã«å°ããã¿ã¹ã¯ããŽãªãŽãªé²ããŠãããããšããŠããã®ã ãããã¯ãã¹ãŠAI掻çšã§ãããã¯ãŒã¯ãããŒèšèšã®èãæ¹ã倧ããå€ãã£ãŠããŸãã ãªã®ã§æåã«æç¢ºã«æèããŠããã®ãè¯ããšæã£ãŠããŸãã ãšãŒãžã§ã³ãã¯ã³ã³ããã¹ãããã¹ãŠ ãšãŒãžã§ã³ãèšèšã§ãã£ãšãéèŠãªããšã¯ã³ã³ããã¹ã管çã ãšæã£ãŠããŸãã ã€ã¡ãŒãžããŠã¿ãŠãã ããããããã人éãéçºãããããã§ã èšèšãããŠãããšãã¯ãèŠä»¶ã»éæ©èœèŠä»¶ãæºããããã察å¿ã§ããªãEdgeã±ãŒã¹ããªãããã¯ãŒãã³ã°ã¡ã¢ãªã«çœ®ããªããèããã ããã³ããšã³ãéçºããããšãã¯TypeScriptã®åã·ã¹ãã ãReactã®ææ³ãæèããªããã³ãŒãã£ã³ã°ããã åãããã³ããšã³ãéçºã§ããŠããããã¹ããæžããšãã¯ä»æ§ã®æŒããå¢çå€ãªã©æ€èšŒãã¹ãå
容ãæèããŠããã ãšèšã£ã圢ã§ã¯ãŒãã³ã°ã¡ã¢ãªã«çœ®ããŠããããšãå
šãéããŸãã 人éã¯ããããã³ã³ããã¹ãã®åãæ¿ããèªç¶ã«ã§ãããã§ãããLLMã¯ãããã§ããŸããã ãããã£ãŠå·¥å€«ãããªããšããšãŒãžã§ã³ãã¯ããããã¹ãŠã®èŠç¹ããã¹ãŠã¯ãŒãã³ã°ã¡ã¢ãªã«èŒããæ³šææ£æŒ«ãªç¶æ
ã§æ§ã
ãªäœæ¥ãè¡ã矜ç®ã«ãªããŸããããã§ã¯ãããã¢ãã«æ§èœãããã£ãŠã質ã®é«ãã¢ãŠããããã¯åºãã¥ããã§ãã â ã€ãŸãã ã³ã³ããã¹ããæé©åããããšããããå®çŸããããã®ããã³ããããã¹ãŠ ãªã®ã§ãããã«æè³ãããã®ã倧äºã«ãªã£ãŠããŸãã ã³ã³ããã¹ããã©ããã£ãŠåé¢ããã®ã ãã®ã³ã³ããã¹ãåé¢ã®çãã®1ã€ããã«ããšãŒãžã§ã³ãã§ãã åäžã®ãšãŒãžã§ã³ãã»äŒè©±ã»ãã·ã§ã³ã§ããããããšãå
šéšèŒãããšæç€ºãäŒè©±ãã°ãéåžžã«é·ããªã£ãŠããŸãã®ã§ãããããã®åå¥ã®è²¬åãæã€ãšãŒãžã§ã³ãã忥ããããšã§ã³ã³ããã¹ããåé¢ããããšããèãæ¹ã§ãã ãã®é åã§ã¯Googleãçºè¡šãããŠãã A2A ãããã³ã« çããããŸãããæ®åããŠããã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãã®CLIããŒã«ã§å©çšã§ããããã§ã¯ãªãã®ã§ãšã£ã€ãã¥ããããããŸãã Claude Codeã§ã¯ããå¶çŽããã *1 ãã®ã®ã¿ã¹ã¯ããŒã«ã»ãµããšãŒãžã§ã³ããçµã¿èŸŒãŸããŠããã®ã§ãæè»œã«ãããå®çŸã§ããŸãã äŸãšããŠãå®è£
ãäžžæãããããšæã£ãŠãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãªãã§ã¯ãŒã¯ãããŒãçµãã§ã¿ãŸãããã±ãã確èªâèšèšâAPI Spec決å®âBEå®è£
âFEå®è£
âåãšã©ãŒã»ãã¹ã察å¿âå ±åããšããæµãã§ãã ãã®å Žåããã¹ãŠã®ã¹ãããã®æ³šæäºé
ãã¬ã€ãã©ã€ã³ãå«ããšãããã³ãããæ°çŸè¡ã«ããªããŸããããããã®ãäœã£ãŠã¿ããšããããŸããã ããããã®ã¹ãããã§éèŠãªèгç¹ãæ
ä¿ã§ããªã ã©ããã®ã¹ãããã§è©°ãŸããšè§£æ±ºã§ããªãã»é·åŒããšåãšã©ãŒå¯Ÿå¿ãªã©ã®ã¹ããããã¹ãããããã ãšãã£ãããšãå€ããªããŸãã äžæ¹ãããããªãŒã±ã¹ãã¬ãŒã·ã§ã³åæã§çµãã§ã¿ããšãã¡ã€ã³ã»ãã·ã§ã³ã®è²¬åã¯ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã ãã«ãªããŸããåã¹ãããã®ç¶æ³ã远ã£ãŠãã£ãŠããµããšãŒãžã§ã³ãïŒãµãã¿ã¹ã¯ïŒãåŒã³åºããŠå
容ã¯ç§»è²ãããããã ãã§ãã ãããããšãµããšãŒãžã§ã³ãã«ã¯åäžè²¬ä»»ãªããã³ãããæãããäžã§èµ·åã§ããã®ã§ããèšèšã«ãããŠéèŠãªããšããBEå®è£
ã®ã¬ã€ãã©ã€ã³ããªã©ããããã®è²¬åã§å¿
èŠãªããã³ãã ã®ã¿ ãæž¡ããäžã§åã¹ããããå®è¡ã§ããããã«ãªããŸãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãªãã ãšä»ã®ã¹ãããã®äŒè©±ãã°ãå
šéšNåæãã€ããããšã«ãªãã®ã«å¯ŸããŠãã³ã³ããã¹ãã¯é©æç Žæ£ãããã®ã§ããŒã¯ã³å¹çãè¯ãã§ãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®ãã¬ãŒããªã ãšããæãã§ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¯è¯ãããšã¥ããã«èŠããŸããããã¹ãŠã®ã±ãŒã¹ã§é©çšãã¹ããšãããã®ã§ããããŸããã å®éã«äœ¿ã£ãŠã¿ããšåŒ±ãç¹ããããŸã çè«äžè§£ããåé¡ã®ç¯å²ãåºããããããçŸå®ã«ã¯ãªãŒã±ã¹ãã¬ãŒã¿ãŒãšåãµããšãŒãžã§ã³ãã®é¢ããæ¹ã®èšèšã®é£æåºŠãé«ãã 察話ãéããããšã«ãã£ãŠææç©ããã©ãã·ã¥ã¢ããããããšã«ãåããŸããã ãã©ãã·ã¥ã¢ããã«åããªãã®ããªãããšãããšããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã§ã¯ãµããšãŒãžã§ã³ãã®å®è£
ã®ã³ã³ããã¹ããç¥ãããšãã§ããŸããïŒããããããç®çã«åé¢ããŠããïŒã ãããã£ãŠããŠãŒã¶ãŒãšã¡ã€ã³ã»ãã·ã§ã³ã®äŒè©±ã¯ããã°äŒèšã²ãŒã ç¶æ
ã§ãããã¡ã€ã³ã»ãã·ã§ã³ãå®è£
ã®è©³çްãç¥ããªãããã詳ãããªãè
å士ã察話ããŠããç¶æ
ã«ãªããŸãã ãšããããšã§åæ¥ã¬ãã«ãæèããããšã倧äºã«ãªãããã§ãã Agreeã¬ãã«ã§äžç·ã«äœã£ãŠããããå
容ã¯ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã®æ¡çšãéå®çã«ããæ¹ãè¯ãã§ãããéã«Inquire以äžã®ã¬ãã«ã§ãŸãã£ãšç§»è²ãããã¿ã¹ã¯ã¯ç©æ¥µçã«ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããŠãããšè¯ãã§ãã ãŸãã0/100ã§ã¯ãªãéšåçã«äœ¿ãæ¡ã¯ãã©ã³ã¹ãè¯ãAgreeã¬ãã«ã§ãæ¡çšããããç§ã¯å¥œãã§äœ¿ã£ãŠããŸãã ã¡ã€ã³ã»ãã·ã§ã³ã®è²¬åã¯ãå®è£
& ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã«ãã ã¡ã€ã³ã»ãã·ã§ã³ã¯å®è£
ã«éäžãã€ã€ãèšèšãã³ãŒãã¬ãã¥ãŒã»åäœç¢ºèªãªã©ã¯èªåã§è¡ãããµããšãŒãžã§ã³ããžç§»è²ãã ããã ãšãããã¡ããããçŽããªããšã§ããããã¿ãããªãã£ãŒãããã¯ãæè»ã«åãã€ã€ãåã¹ãããã®å質ãå®å®ããããããªããŸãã ãµããšãŒãžã§ã³ã vs Skill vs ã³ãã³ã ãšãŒãžã§ã³ãã«é©åãªã³ã³ããã¹ããä»äžããææ®µãšããŠClaude Codeã¯è€æ°ã®ææ®µãæäŸããŠããŠãç¹ã«å¹æçã«æŽ»çšããããšæããšäœ¿ãåãã®å€æãé£ããã®ã§ã¯ïŒãšæã£ãŠãŸãã Slash Command Subagents Agent Skills CLAUDE.md ããã§ã¯ç§ãªãã«ãããããåŸæãšãã芳ç¹ãçšéãæŽçããããšæããŸãã Progressive Disclosure Progressive Disclosureã¯ãæè¿ãã䞻匵ãããŠããã¿ã¹ã¯ããšã«å¿
èŠãªã³ã³ããã¹ãã ããæ®µéçã«èªã¿èŸŒãŸãããã©ã¯ãã£ã¹ã§ãã Claude Skillsã®å
¬åŒã®ãã©ã¯ãã£ã¹ ã§æšå¥šãããŠããæŠå¿µã§ãLLMã®ã³ã³ããã¹ããŠã£ã³ããŠãå¹ççã«äœ¿ãããã®éèŠãªèãæ¹ã§ãã äŸãã°CLAUDE.mdãMCPã¯ãã¹ãŠã®ã»ãã·ã§ã³ã§äŸå€ç¡ãèªãŸããŸãã10%ã®ã»ãã·ã§ã³ã§ãã䜿ããªãç¥èãå
¥ãããšç¡é§ã«ãªã£ãŠããŸããŸãã äžæ¹ãSkillãã³ãã³ãããµããšãŒãžã§ã³ãã¯å¿
èŠãªã»ãã·ã§ã³ã§ã ãããã³ãããèªã¿èŸŒãä»çµã¿ã§ãããéãããå Žé¢ã§ãã䜿ããªãå°éçãªç¥èãã眮ãå ŽæãšããŠåªããŠããŸãã è¯ãé¢ã°ããèšãããã®ã§ãã¬ãã£ããªé¢ã«ããã©ãŒã«ã¹ãããšã段éçã«Skillã䜿ããã°çæ³ãªãã§ãããèªåã§é©åã«é©çšããŠããã®ã¯çŸå®çã«é£ãããšæããŠããŸãã Must always be enabled when writing/reviewing React code ã®ãããªåŒ·ãã®descriptionãå
¥ããŠãããŠãReactãè§Šããšãã«å¿
ã䜿ã£ãŠãããããã§ã¯ãªã ãµããšãŒãžã§ã³ããLLMãèªåŸçã«äœ¿ãããæ±ºããŸãããããã³ãããªãã§Reactãæžããšãã«React agentãžç§»è²ãããšã¯éããŸãã ã§ãã®ã§ããã¡ããéèŠãªä»çµã¿ã§ã¯ããã®ã§ãããSkillããµããšãŒãžã§ã³ããå¢ããç¶ããŠã人éã®ããã«èªç¶ãªã³ã³ããã¹ãã¹ã€ãããããŠå®è£
ããŠãããããã§ã¯ãããŸããã ãšã¯ããèãæ¹èªäœã¯éåžžã«éèŠãªã®ã§ããã¹ãŠã®ã³ã³ããã¹ãã«èªãŸããŠããŸãCLAUDE.mdã¯ä»¥äžã®ãããªæ¹éã§æå°éã«ããŠããŸãã ããã«è²ãŠããã§ã¯ãªããããã«æ
å ±ãèœãšããããã倧äºã ããã¿ã«å¢ãããªã 80%以äžã®ã¿ã¹ã¯ã§å¿
èŠã«ãªããããããžã§ã¯ãæŠèŠãªã©è§£å床ãäžããããå¿
èŠãªãããæœè±¡çãªæ
å ±ãäžå¿ã«ãã æ
å ±ãã®ãã®ããProgressiveã«Disclosureããããã®èµ·ç¹ãšãªãæ
å ±ïŒäŸãã°ãã©ãã«ã·ã¥ãŒãã«ã€ããŠã¯ãã®ããã¥ã¡ã³ãã«ãŸãšãŸã£ãŠãããããªã©ïŒãèšèŒãã ãŸããMCPã«ã€ããŠã¯Skillsã®ç»å Žã®èæ¯ãšããŠMCPãProgressiveã«Disclosureã§ããªãããšãã説æãããŠããã®ã§ãã¬ãã£ããªå°è±¡ãåããã¡ã§ãããClaude Codeã§ã¯æ®µéçãªèªã¿èŸŒã¿ããµããŒããããŠããæå¹ã«ããã°Progressive Disclosureé¢ã§ã®äžå©ã¯ãããªãã®ã§ãçšéã«ããããŠSkillsãšé©åã«éžæã§ãããšè¯ããšæããŸãã Command vs Skills vs Agent CLAUDE.mdã¯Progressive Disclosureã®æèã§ããã¿ã«è²ãŠãã¹ãã§ã¯ãªãã®ã§ã代ããã«ã³ãã³ãã»ã¹ãã«ã»ãµããšãŒãžã§ã³ããè²ãŠãŠããã®ãè¯ããšæããŸãã ãããã®äœ¿ãåãã«ã€ããŠã¯æ©ã¿ãã¡ã ãšæãã®ã§ç§ãªãã®æŽçãæžããŠããããšæããŸãã Command vs Skill ã¯æ¬æ¥ã®çšéã«å¯ãã ãŸãæ©èœé¢ã®è©±ããããšãã³ãã³ãã«ã€ããŠã¯å®ã¯ã·ã¹ãã ã³ã³ããã¹ããšããŠã³ãã³ããšã¹ãã«ã¯ããã»ãŒåäžèŠãããŠããã®ã§å¢çã¯ãŠãŒã¶ãŒã®ããããããçšåºŠãããããŸããã ãŠãŒã¶ãŒãã /<skillå> ãã§ã¹ãã«ãã³ãã³ãã®ããã«åŒã³åºããŸããããšãŒãžã§ã³ããã Skill(skill=<ã³ãã³ãå>) ãã®åœ¢ã§ã³ãã³ããæå¹åã§ããŸãããšãŒãžã§ã³ãã«ãã¹ãã«ã®äžèЧæããŠãçãšåãããããšåœããåã«ã¹ã©ãã·ã¥ã³ãã³ããå«ããªã¹ããåºå¥ãªãè¿ãç¶æ
ãªã®ã§ãæã
å©çšåŽãåäžã®ãã®ãšèããŠããŸã£ãŠè¯ããšæããŸãã ã§ãã®ã§ãããšã¯ããããã®ããããããã§äœ¿ãåããã°è¯ãç¯å²ã§ãããå人çã«ã³ãã³ããšã¹ãã«ã¯èšèšææ³ãç°ãªãã®ã§ã人ãçŽæ¥å®è¡ããã®ãäž»ãªç®çãšããããã§åºå¥ããŠäœ¿ãåããŠããŸãã ã³ãã³ã 人ãçŽæ¥å®è¡ãã ç¥èãšããããæé ãèŒãããšãŒãžã§ã³ãã®åãæ¹ãå¶åŸ¡ããã ã¹ã㫠人ãçŽæ¥å®è¡ããããšããããããµããšãŒãžã§ã³ãã§æå®ããããProgressive Disclosureã§ç¥èãè£å®ããã®ãã¡ã€ã³ å
šäœã®äœæ¥æé ã¯ããŸãæžããªãïŒè€æ°ã®ã¹ãã«ãæå¹ã«ãããšããæç€ºççŸãèµ·ããããïŒ Skill vs Agent ã§éèŠãªã®ã¯è€æ°å©çšãããã ãµããšãŒãžã§ã³ãã«ã€ããŠã¯ @<agent-name> ã§ãµããšãŒãžã§ã³ããæå®ã§ããããã«ãªã£ãŠã¯ããŸãããã³ãã³ãçã«ã¡ã€ã³ã»ãã·ã§ã³ã«ã¢ãã«ãããã³ãããé©çšããããšã¯ã§ããŸããã Skill vs Agentã§éèŠãªã®ã¯1ã»ãã·ã§ã³ã«å¯ŸããŠè€æ°å©çšã§ããããšãã芳ç¹ã§ãäŸãã°React skill à TypeScript skillã¯ã§ããŸãããReact agent à TypeScript agentã¯ã§ããŸããã ãªã®ã§åå©çšå¯èœãªç¥èã®åäœãšããŠSkillãåé¢ãããµããšãŒãžã§ã³ãã«èªã¿èŸŒãã¹ãã«ãæå®ããããšãæãŸãããšæã£ãŠããŸãã name: frontend-engineer description: ããã³ããšã³ãã®å®è£
ãè¡ã skills: - typescript - react --- < prompt > 責ååè§£ç¹ è²¬åãã€ãŸããµããšãŒãžã§ã³ããã©ãåããããããããªãã¿ãŒã³ãããããªãšã¯æãã®ã§ãããç§ãããåããã¿ãŒã³ã玹ä»ããŸãã ããããã¹ãŠã䜿ãããã§ã¯ãªããã¿ã¹ã¯ã®é£æåºŠã ã£ããã§éšåçã«äœ¿ã£ããããåæã§ãã ã³ã³ããã¹ãåéããã»ã¹ ã«ã€ãã±ãªãã¥ãŒã¢ã«ã®ãããžã§ã¯ãã®ããã³ããšã³ãã§ã¯éçºæã®ã¬ã€ãã©ã€ã³ãªã©ãããªãã¡ãããšã¬ã€ãã©ã€ã³åãããŠããŸãã éã«ãããããã«ãã¹ãŠã®ããã¥ã¡ã³ããèªã¿èŸŒãŸããŠããŸããšã³ã³ããã¹ããèšããŠããŸãã®ã§ãä»åã®ã¿ã¹ã¯ã«é¢é£ããã¬ã€ãã©ã€ã³ã®ã¿ãæœåºããŠæž¡ããããªããã»ã¹ã广çã§ãã ä»åå¿
èŠãªã¬ã€ãã©ã€ã³ã®ã¿éããã»LLMåãã«äžèŠãªæ
å ±ãåããLLMåãã®æŽçãããã³ã³ããã¹ããçšæããããšã責åã§ããã èšç»ã»èšèšããã»ã¹ ããã¯ãããããã¿ãŒã³ãªã®ã§æ¹ããŠæžãããšã¯ããã»ã©ãªãã§ãããèšèšã«ãããŠéèŠãªèгç¹ãªã©ãããã³ããã«å«ããŠããèšèšã«éäžãããŸãã TipsãšããŠéåžžã«éèŠãªã¹ããããªã®ã§Sonnetãæ®æ®µäœ¿ãããŠããŠãããã ãOpusã«ãããããŸãå°ã倧å€ã§ããããããã¹ãããã¯OpenAIç³»ã®ã¢ãã«ã®ã»ããåŸæãªã®ã§ãã¡ãã«æµãã®ããªã¹ã¹ã¡ã§ãã LiteLLM ãBashããŒã«ã§Codex CLIã䜿ãããšã§ããããã¹ãããã®ã¿Anthropic以å€ã®ã¢ãã«ã«ä»»ããããšãã§ããŸãã åèïŒ https://code.claude.com/docs/en/common-workflows#use-extended-thinking https://docs.litellm.ai/docs/tutorials/claude_responses_api ã³ãŒãã¬ãã¥ãŒ ã³ãŒãã¬ãã¥ãŒãåãåºããšå¹æçã§ãã äœæãAãããŠã¯ãããŸããããšããã«ãŒã«ãå®ãããªããã³ãŒããæžããã粟床ã¯åºã¥ããããã«æããŠãããå®è£
åŽã«ã¯åŠå®åœ¢ã§ã¯ãªãäŸãªã©çšããŠããããªé¢šã«æžããŠãã ããããæžãããšãå€ãã§ãã éã«ã¬ãã¥ãŒã¹ãããã ãšåŠå®åœ¢ãããªãäžæãæ±ã£ãŠææã§ããã®ã§ãç¹ã«ã¬ãã¥ãŒã¹ãããçšã®ããã³ããã§ã¯ãããªãã§ã»ããããšãæžãããšãå€ãã§ããã ãŸããã¬ãã¥ãŒã¯ãã¥ãŒã¿ãã«ã§ãªãã¿ã¹ã¯ãªã®ã§äžŠååããããããã€æ¯åç°ãªããã£ãŒãããã¯ãè¿ã£ãŠããã®ã§è³ªãäžããããã°N䞊åã§äŸé Œããã®ã广çã§ãã QA ã¢ããªã±ãŒã·ã§ã³æ¬¡ç¬¬ã§ãããäŸãã°ããŒã«ã«ç°å¢ãçšæããããWebã¢ããªã±ãŒã·ã§ã³ã§ããã°éçºãµãŒããŒãèµ·åããŠE2Eã§è©ŠããããAPIéçºã§ããã°curlã§å©ããŠã¿ããããŸãã ããã³ãããæžãã¡ã¿ããã³ãã ãããŸã§æžããŠããããã« ã¯ãŒã¯ãããŒããŸãäžå¯§ã«èšèšããããš ãã®ã¯ãŒã¯ãããŒéãã«åãããããã«ããã³ãããæžãããš ãéèŠã§ããããããã£ãç¥èŠã¯ãã£ãŠãå®ã£ãç¶æ
ã§å€§éã®ããã³ãããæžãã®ã¯éåžžã«å€§å€ãªã®ã§ããã³ãããæžãçšã®ã³ãã³ããçšæããŠããã®ããªã¹ã¹ã¡ã§ãã åèãŸã§ã«ç§ã䜿ã£ãŠããã³ãã³ãã貌ã£ãŠãããŸãïŒ ãã®ã³ãã³ãã¯ç§ãèšèªåããããã³ããã®ãã©ã¯ãã£ã¹ã«æ²¿ã£ãŠããã³ãããæžãããµãã¿ã¹ã¯ã䜿ã£ãã¬ãã¥ãŒããã»ã¹ãè¡ãããšã§ããçšåºŠæåŸ
ã«æ²¿ã£ãããã³ãããæžããŠãããã³ãã³ãã§ãã ç§ã確èªããåæ®µã§ããçšåºŠåé¡ãæ€åºããŠä¿®æ£ã§ããŸããããšã¯ããæå³ãšç°ãªãçµæã«ãªãããšãå€ãã®ã§ãäžžæãã¯ã§ããå
šäœãã¡ãããšç¢ºèªããŠããŸãã ç§ã¯ãŸã ããã»ã©è³ªã§å°ã£ãŠããªãã®ã§äœ¿ã£ãŠããŸãããã DSPy ãªã©ããã³ããã®è©äŸ¡ããã»ã¹èªäœãæã€ä»çµã¿ã䜿ãããšã§è³ªãæããŠããããšãæçšã ãšæããŸãã ãŸãšã Claude Codeã䜿ã£ãAI掻çšã®ã¯ãŒã¯ãããŒèšèšã«ã€ããŠãç§ãªãã®ç¥èŠããŸãšããŠã¿ãŸããã 忥ã¬ãã«ã»è²¬ä»»å¢çãæèããŠã¯ãŒã¯ãããŒãäžå¯§ã«èšèšãã ã¯ãŒã¯ãããŒã¯åæ¥ã¬ãã«ãäœããã°ãªãŒã±ã¹ãã¬ãŒã·ã§ã³èŠçŽ ã匷åããèªåŸçã«åãããããã«ãããéã«é«å¯åºŠã§åæ¥ããã®ã§ããã°ã¬ãã¥ãŒããããã°ãªã©æ¬æ¥ã®ç®çãšç°ãªã坿¬¡çãªäœæ¥ããµãã»ãã·ã§ã³ã§åããçšåºŠã«çããããšãã£ãèšèšãå€§äº CLAUDE.mdãè²ãŠãªãã»Skillãåå©çšåäœãšããŠé©åãªç²åºŠã§è²ãŠãããšã³ããªãŒãã€ã³ããšããŠã³ãã³ãããµããšãŒãžã§ã³ããæ§æ ããã³ããã®å質åäžã«ã¯æéãããããŸãããèšèªåã»äœç³»åããæ©äŒã«ããªãã®ã§ãããã³ãããæžãããã®ããã³ãããçšæããŠãããšè¯ã çããã®AI掻çšã®åèã«ãªãã°å¹žãã§ãïŒ *1 : ãµãŒãããŒãã£ã®LLM APIã®Proxyçã§è€éãªæ§æãçµãŸãªãéãAnthropic以å€ã®ã¢ãã«ãéžæããããšãã§ããŸããããŸããµããšãŒãžã§ã³ãã¯ãµããšãŒãžã§ã³ããåŒã³åºãããšãã§ããŸãããäžæ¹ãå¶çŽã¯ãããããã§ä»¥åã¯ãã£ããã®åéãäžå¯èœã§ããåé¡çããããŸããã察å¿ãããæ¥µç«¯ã«å€§èŠæš¡ãªãã«ããšãŒãžã§ã³ã忥ãå¿
èŠã§ãªããã°ååãªæ©èœãæã£ãŠããŸãã
ã¯ããã« ã«ã€ãã±ã³ãã¯ãã®éçºæšé²ããŒã ã§ãšã³ãžãã¢ãããŠãã @_kimuson ã§ãã ããŒã ã§ããªãã¡ã€ã³ã¡ã³ãæåèµ·ããããLLMã«ãã±ãã詳现ãèªåã§ã¡ã³ããã³ã¹ããŠãããããšããæŽ»çšã詊ãããšããéåžžã«æè§Šãè¯ãã£ãã®ã§ç޹ä»ããããšæããŸãïŒ èª²é¡ ãŸãåæãšããŠã«ã€ãã±ãªãã¥ãŒã¢ã«ã§ã¯LeSS *1 ãæ¡çšããŠãããã¹ããªã³ããåãåããŒã ã忥ããããšã§ãããã¯ããåã«é²ããŠããŸãã ããããã®ããŒã ã¯äž»ã«ããã³ããšã³ãã®éçºçç£æ§åäžãããã·ã§ã³ã«çœ®ããã¡ã³ããŒ2人ã§äžéãã®ã¹ã¯ã©ã ã€ãã³ãã宿œããŠããŸãã ãã®äžã§ãªãã¡ã€ã³ã¡ã³ãã宿œããŠããããã¯ãããã¯ãã°ã¢ã€ãã ãReadyãªç¶æ
ïŒAcceptance CriteriaïŒä»¥éãACãšç¥ããŸãïŒãåæãããŠãããStorypointãæ¯ãããŠããïŒã«æã£ãŠãããããã«ããŠããŸãã ãªãã¡ã€ã³ã¡ã³ãã§åæããå
å®¹ã¯æ¥µåãã±ããã«èšèŒããããã«ã¯ããŠã¯ãããã§ãããæ°ãã€ããŠããŠãã©ãããŠãæŒãã¯åºãŠããŸãã®ãšããã±ããã«è°è«ããå
容ãã§ããã ããããªãèšèŒããŠããã®ãã³ã¹ããæãã£ãŠããŸã£ãŠããŸãããç¹ã«2人ããŒã ãšããããšããããè°è«ã«åå ããŠããªãæãªäººãæžããšãã£ãããšããã¥ããã®ã§è°äºé²ãäžå¯§ã«åã£ãŠãããšè°è«ã®ã¹ããŒããèœã¡ããããçååããŠéçšã§ãããšè¯ããªãŒãšæã£ãŠããŸããã çµæããã©ããã§äŒè©±ããã¯ãã ãã©ãã±ããã«ã¯æ®ã£ãŠãªãããšãã£ãå
容ãããŸã«çºçããŠããŸããã è§£æ±ºç æãã€ãã§ãªãã¡ã€ã³ã¡ã³ãã®æåèµ·ããããã®ãŸãŸé£ãããŠMCPïŒModel Context ProtocolïŒãä»ããŠJiraãã±ããã«ãããã£ãæ
å ±ãæžãã®ãäžžæããã¡ããã°è¯ãããããïŒãšãã話ã«ãªããŸããã æç« ããµãã©ã€ãºããã®ã¯ãæåèµ·ããã®äžå®å®ããèæ
®ããŠãLLMã«ããããã¿ã¹ã¯ãšããŠã¯ååé£æåºŠãäœãã§ãããã³ã³ããã¹ããµã€ãºãéåºŠã«æ¯æžããå
容ã§ã¯ãªãã®ã§è¡ãããã ãããšãªã宿œããŸããã è°äºé²(ãµããªãŒ)ã§ã¯ãªãæåèµ·ããã䜿ã ããããã¯Slackã®huddleã§ãªãã¡ã€ã³ã¡ã³ãã宿œããŠããã®ã§huddleã䜿ã£ãŠããŸãããhuddleã«éããã ãããã®MTGããŒã«ã®è°äºé²æ©èœã«ã¯ 人ãèªãã§èªã¿ãããããã«è¯ãæãã«ãµãã©ã€ãºããŠãŸãšããããè°äºé² æ£ç¢ºãªæ
å ±ã远ãããã«ãµãã©ã€ãºãããŠããªããã¬ãŒã³ãªæåèµ·ãã ã®2ã€ãä»ããŠããããšãå€ããšæããŸãã è°äºé²ã¯ãã£ãšèŠãã«ã¯å¬ããã§ãã ããªãæ
å ±ãåãããŠããŸã£ãŠãã èšã£ãŠãªãå
容ã§ãµãã©ã€ãºãããŠããããšãå€ãä¿¡é Œæ§ã«æ¬ ããïŒhuddleè°äºé²ã«å¯Ÿããå人çãªå°è±¡ïŒ ãšãã£ãç¹ã§æåèµ·ããã®æ¹ãããããã§ãã Atlassian MCPãšã®é£æº æåèµ·ããã¯ã³ããããŠé£ãããã ããªã®ã§ãããšã¯ãã®æåèµ·ããã®å
容ãããã±ãããæŽæ°ã§ããå¿
èŠããããŸãã ããããã¯ãããã¯ãããã¯ãã°ã®ç®¡çã«Jiraãå©çšããŠãããããAtlassianããæäŸãããŠããå
¬åŒã®Remote MCPãå©çšããŠããŸãã OAuthã«å¯Ÿå¿ããŠããã®ã§API Keyãªã©ã®çºè¡ãäžèŠã§äœ¿ããããã§ãã { " mcpServers ": { " type ": " sse ", " url ": " https://mcp.atlassian.com/v1/sse " } } ãããç¹ãã§OAuthã®æ¿èªã ãè¡ãã°Claude Codeã§Jiraãã±ãããæ¢ãããã¢ããããŒãããããã§ããããã«ãªããŸãã ã³ãã³ãå éå
·ã¯æã£ãã®ã§ã³ãã³ãåããŠåå©çšã§ããããã«ããŸãã 以äžã®å
容ã .claude/commands/update-jira-from-minutes.md ãšããŠä¿åããŸãã --- description: 'è°äºé²ããJiraãã±ãããèªåæ€åºããå
容ãèŠçŽããŠãã±ããæ
å ±ãæŽæ°ãã' allowed-tools: mcp __ atlassian __ searchJiraIssuesUsingJql, mcp __ atlassian __ getJiraIssue, mcp __ atlassian __ editJiraIssue, AskUserQuestion --- You will analyze meeting minutes provided by the user, automatically detect Jira tickets mentioned in the text, and update those tickets with relevant information from the minutes. ## Process ### 1. Extract Jira Ticket References Scan the meeting minutes text for < PROJECT > ticket references in the format: - ` <PROJECT>-XXX ` (direct mention) - URLs containing ` /browse/<PROJECT>-XXX ` - Any other patterns that clearly reference < PROJECT > tickets Create a comprehensive list of all unique ticket IDs found. ### 2. Retrieve Current Ticket Information For each detected ticket: - Use ` mcp__atlassian__getJiraIssue ` with cloudId: ` https://<domain>.atlassian.net ` to fetch current ticket details - Retrieve: summary, description, status, issuetype, parent (epic), and subtasks if any - If a ticket has subtasks, also retrieve their information ### 3. Analyze Meeting Minutes Content For each ticket found: - Extract all relevant information from the minutes that relates to this ticket - Identify: - Technical decisions made - Implementation approaches discussed - Concerns or blockers mentioned - Dependencies on other tickets - Timeline or priority changes - Any acceptance criteria or requirements clarified ### 4. Generate Update Proposal For each ticket, prepare: - **Updated Description**: Enhance the existing description with information from the minutes - Preserve existing content structure (Why, Acceptance Criteria, Note sections) - Add new sections if needed (Implementation Plan, Technical Background, Dependencies, etc.) - Use markdown formatting - Write in Japanese - **Epic Assignment**: If the discussion indicates this ticket should belong to an epic, identify the epic ID ### 5. Present Updates for Confirmation Use ` AskUserQuestion ` to present all proposed updates: - Show ticket ID and summary - Display both the current description and proposed description in full - Show epic assignment changes if any - Ask user to confirm which tickets should be updated Format the question clearly: \`\`\` 以äžã®ãã±ãããæŽæ°ããŸããå
容ã確èªããŠãã ããïŒ [Ticket ID]-[Summary] çŸåšã®Description: ... æŽæ°åŸã®Description: ... Epic:[çŸåšïŒœâ[æŽæ°åŸïŒœ æŽæ°ãå®è¡ããŸããïŒ \`\`\` Provide options: - "ãã¹ãп޿°" (Update all) - "éžæããŠæŽæ°" (Select which to update) - "ãã£ã³ã»ã«" (Cancel) ### 6. Execute Updates Based on user confirmation: - Use ` mcp__atlassian__editJiraIssue ` to update each approved ticket - Update the ` description ` field with the enhanced content - If epic assignment is needed, update the ` parent ` field with the epic ID - Confirm successful updates ## Important Notes - **Cloud ID**: Always use ` https://<domain>.atlassian.net ` as the cloudId - **Project**: Only process < PROJECT > tickets - **Language**: Write all descriptions in Japanese - **Preserve Information**: Never remove existing information; only enhance and add - **Structure**: Maintain markdown formatting and section structure - **Accuracy**: Only include information that is clearly stated in the minutes - **Parent/Epic Format**: When setting parent/epic, use the format: ` {"key": "<PROJECT>-XXX"} ` ## Error Handling If any ticket cannot be retrieved or updated: - Note the error - Continue processing other tickets - Report all errors at the end äžå¿æŽæ°åã«æ¿èªãè¡ã£ãŠããåæ ããããã«ããŠããŸãã çµæ ãã®ã¯ãŒã¯ãããŒã䜿ãå§ããŠããéåžžã«éçšã楜ã«ãªããŸããã ãªãã¡ã€ã³ã¡ã³ãã§ã¯ACã®åæã¯å€§äºãªã®ã§ãªã¢ã«ã¿ã€ã ã«äŒè©±ãèšèŒãããŸãããã以å€ã®æ
å ±ã¯åºæ¬æžããŠãŸãããããªãã¡ã€ã³ã¡ã³ãçŽåŸã«äžèšã®ã³ãã³ããå®è¡ããŠæåèµ·ããã®å
šæãæž¡ããŸããããšã¯æ¿èªã ãããŠçµããã§ãã Claude CodeãACã ãã§ãªã ã©ãããè°è«ãããŠããããçµè«ã«ãªã£ãã®ã æ°ãã€ããã¹ããã€ã³ãã¯ã©ãã å®è£
æã«èæ
®ãã¹ããã€ã³ãã¯ã©ãã ãšãã£ããªãã¡ã€ã³ã¡ã³ãã§è°è«ãããæ
å ±ãã¡ãããšæžãããŠããŸãã ããããæžãããæ
å ±ãèªã¿è¿ããŠã¿ãŠãè°è«ããå
容ãããªãæ£ç¢ºã«æŽçãããŠèšèŒãããŠãããéåæã®ããå
容ãåãæžãããŠããããšãã»ãŒã»ãŒãªãã®ã§éåžžã«äžæãã¯ãŒã¯ããŠãããšæããŸãã ãªãã¡ã€ã³ã¡ã³ãã宿œãããå¿
ãå®è¡ãã圢ã§å®çããŠããã®ã§ãä»åŸå¯èœã§ããã°èªåã§äžèšã®ã¯ãŒã¯ãããŒãå®è¡ãããããã«ã§ãããšè¯ããªãšæã£ãŠããŸãã ãŸãšã ãªãã¡ã€ã³ã¡ã³ãè°äºé²ãå
ã«Claude Codeã䜿ã£ãŠã³ã¹ãããããã«Jiraãã±ãããã¡ãããšã¡ã³ããã³ã¹ããææ³ã玹ä»ããŸããã ç¹ã«ããããã¯ã¡ã³ããŒã2人ãªã®ã§ãã£ã¡ããšæ±ºãåãããç·©ãéçšããŠããåŽé¢ããããããã«ãããåºãããŸãããå°äººæ°ããŒã ã ãšãããã£ãéåã«å²ãæéã®ã³ã¹ããæªãã®ã§çååããŠãã±ããã®è³ªãããã£ãŠè¯ãããšã¥ããã§ããã çããã®ããŒã ã§ãè¯ããã°ã詊ããã ããïŒãã£ã¡ãããããã§ãã *1 : Large-Scale Scrumãã¹ã¯ã©ã ãæ¡åŒµãããã¬ãŒã ã¯ãŒã¯ã§ãåäžã®ãããžã§ã¯ãã«ã€ããŠè€æ°ã®ã¹ã¯ã©ã ããŒã ã飿ºããŠåæ¥ããŸãã
ããã«ã¡ã¯ïŒã«ã€ãã±ãªãã¥ãŒã¢ã«ã®ã±ã¢é åã§PO *1 ãåããŠãã岩äžã§ãã è²äŒãã埩垰ããä»äºãšå®¶äºã»è²å
ã®äž¡ç«ã«å¥®éããäžã§ããAIã®æŽ»çšãã¯ãã¯ãå¿
é ã®ä»äºè¡ãšãªããŸããã ãã®èšäºã§ã¯ããããªç§ãAIãä»äºã§ã©ã®ããã«æŽ»çšããŠããã®ããå
·äœäŸã亀ããŠã玹ä»ããŸããåºæ¬çãªæŽ»çšæ³ãäžå¿ã§ãããããããããçããã®æ¥ã
ã®æ¥åã®ãã³ãã«ãªããããããªãââãããªæãã§æžããŠã¿ãã®ã§ããã²ãæåŸãŸã§ãä»ãåããã ããïŒ ãããã¯ããããŒãžã£ãŒã¯AIãã©ã䜿ã£ãŠããïŒ ç§ã®AI掻çšã¯ãŸã ææ¢ãç¶æ
ã§ã¯ãããŸãããå®è·µäŸãšããŠç¹ã«ä»¥äžã®5ã€ã®æ¹æ³ã玹ä»ããŸãã 1. PRDïŒãããã¯ãèŠæ±å®çŸ©ïŒã®å©ãå°äœæ PRDïŒãããã¯ãèŠæ±å®çŸ©ïŒãšã¯ããäœã®ããã«ãã©ã®ãããªãããã¯ãïŒæ©èœïŒãäœãã®ãããéçºããŒã ãããžãã¹é¢ä¿è
ã«å
±æããããã®èšèšå³ãšãªãææžã§ããããããéçºããæ©èœã®WhyãWhatãHowãèšèªåããŠãããã®ã§ãã ç§ã¯ Gemini ãPRDã®å©ãå°äœæã«æŽ»çšããŠããŸãã å
·äœçã«ã¯ã瀟å
ã§äœ¿çšããŠããesa *2 ã®ãã³ãã¬ãŒãïŒ14é
ç®ïŒãçŽæ¥è²Œãä»ããŠã€ã³ããããããã®ãã©ãŒãããã«æ²¿ã£ãŠPRDã®åçš¿ãäœæããŠããããŸããç¹ã«äŸ¿å©ãªã®ã¯ã äŒç€Ÿã®Googleãã©ã€ããæ
å ±æºãšããŠPRDãäœæããŠããã ç¹ã§ãã äŸãã°ãæ
å ±ãœãŒã¹ã®ååŸå
ãšããŠãæ¢åã®ãããã¯ãã«ã€ããŠã®VoCïŒVoice of CustomerïŒããŸãšããã¹ãã¬ããã·ãŒãURLãããä»è·ä¿éºå¶åºŠã«ã€ããŠã®ææ°æ
å ±ãéçŽããŠããå
±æãã©ã«ãããããã³ããã«å
¥ããŠãããŸããããã«ããã瀟å
ã®æ¢åããã¥ã¡ã³ããææ°æ
å ±ãåç
§ããããã粟床ã®é«ãPRDãè¿
éã«äœæã§ããŸãã ãããå©ãå°ã«ã詳现ã远èšããããã¯å
容ã«èª€ããããã°ä¿®æ£ããŠããããšã§ãçæéã§80ç¹ãããã®PRDãã§ãããããŸãã ã¡ãªã¿ã«ãåºæ¥äžãã£ãPRDã¯ç€Ÿå
ã®éçšã«ãŒã«ãšããŠãªã¹ãã芳ç¹ã§ãã¬ãã¥ãŒãããŠããããã¡ããAIã«ãããã§ãã¯ãã§ããããã«ãªã£ãŠããŸãã â» Geminiã®ãDeep Researchãæ©èœã¯ç€Ÿå
ã§æŽ»çšãæšé²ãããŠãããã®ã§ã¯ãããŸããããœãŒã¹ãäžè¬çãªWebæ
å ±ã«ãªããããäŒç€Ÿã®Googleãã©ã€ãã«æ ŒçŽãããæ
å ±ã®ä¿¡é Œæ§ã®æ¹ãé«ããç§ã®æ¥åã§ã¯ããŸã䜿çšããŠããŸããã§ããããã2025/11ãããDeep Researchãæ©èœãã¢ããããŒããããGmailããã©ã€ã(ããã¥ã¡ã³ããã¹ã©ã€ããã¹ãã¬ããã·ãŒããPDFç)ãGoogle Chatãæ
å ±ãœãŒã¹ãšããŠçŽæ¥æå®ã§ããããã«ãªããŸãããä»åŸã¯ãDeep ResearchããæŽ»çšããŠããããã«ãªããšæããŸãïŒ 2. éçºãã§ãã¯ãªã¹ãã®äœæ éçºè
ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ãåæ»ã«é²ããããã Gemini ã§éçºã®ãã§ãã¯ãªã¹ããäœæããŠããŸããäŸãã°ãæ°èŠã®ã¹ããå¯Ÿå¿æ©èœã«ã€ããŠãšã³ãžãã¢ãšè©±ãåã«GeminiãžäŸé ŒããŠãã¹ããåãã®éçºã§èæ
®ãå¿
èŠãªããšãã®ãã§ãã¯é
ç®ããªã¹ãã¢ããããŠããã£ãããšããããŸãããããã«ãããèªèº«ã®ç¥èã¬ãã«ãäžãããã質ã®é«ãè°è«ã®æºåãã§ããŸãã âŒå
·äœäŸïŒãã¹ããåãéçºãã§ã®èæ
®ãã€ã³ãã®ãã§ãã¯ãªã¹ãïŒçµéšè
ã«ã¯åœããåã®ããšãããããŸããããâéæ©èœèŠä»¶âã®æŽãåºãçãèªåãçµéšããããšããªãåéã«ã€ããŠã®éçºåã«ã¯ãšãŠãå©ãããŸããïŒ çæããããã§ãã¯ãªã¹ã 3. åªå
åºŠå€æã®ããã®è°è«æ·±å ãããã¯ãéçºã«ãããåªå
åºŠå€æã¯åžžã«é£ãã課é¡ã§ãããããªã·ãŒã³ã§ã¯Geminiãžã®ããã³ããã工倫ããè°è«ãæ·±ããŠããŸãã詳现ãªã·ããªãªãšç»å Žäººç©ã®èšå®ãäžããŠèšè«ãããããšã§ãåãªã質çå¿çãè¶
ãããæèã®ã·ãã¥ã¬ãŒã·ã§ã³ããŒã«ãšããŠæŽ»çšããã€ã¡ãŒãžã§ãïŒè€æ°ã®éžæè¢ããã¬ãŒããªãã«ã€ããŠGeminiã®çµè«ãåèã«ããããšã§ããã客芳çãã€å€è§çãªèŠç¹ããåªå
床ã倿ã§ããããã«ãªããŸããïŒãããŸã§æçµçãªå€æãããã®ã¯èªåã§ãïŒ å
·äœçã«ã¯ãè°è«ãæ·±ãã圹å²ãšããŠãããã¯ããããžã¡ã³ããã©ã€ã¢ã³ã°ã«çã«3è
ïŒé¡§å®¢ã»éçºè
ã»ããžãã¹ïŒãèšå®ããããããã®èгç¹ãçšããŠè°è«ãå±éããããã«ããã³ãããæžããè©±ãæ·±ããŠããã£ãŠããŸããïŒãŸããããã¯ãŸã ãã£ãããšã¯ãããŸãããã圹å²ã«å ããŠãèŠææŽŸããæ¥œèŠ³æŽŸããçŸå®æŽŸããšãã£ãã¹ã¿ã³ã¹ãäžããããšã§ãæ€èšå
å®¹ã¯æ·±ãŸãããã§ããïŒ âŒå
·äœäŸïŒèšªåèšé²ã®éçºããŒããããã«ã€ããŠãæèã¢ãŒããã䜿ã£ãŠ3è
ã®ç«å Žããè°è«ãæ·±ããŠããããŸãã ããã³ããã®å
¥åäŸ ãã®æã«ã¯ãäžã®ããã«ããã³ãããå
¥åãããšããããã®ç«å Žããã®æèŠãšè°è«ãå±éãããåŸã以äžã®ããã«MSP *3 ã®æ§æãææ¡ãããŸãããæŽã«ããããå
ã«ãããŠãŒã¶ãŒã¹ããŒãªãŒãããŒããããã®ææ¡ãç¶ããŠè¡ãããŸããã Geminiããã®è¿çïŒäžéšæç²ïŒ æææ±ºå®ããããè¡åã»ã¢ã¯ã·ã§ã³ã¯ãããã»ãããªããã®2æã§ããã«ãé¢ããããããã»ã¹ïŒHOWãç»ãæ¹ïŒã¯åºæ¬çã«ã¯ã°ã©ããŒã·ã§ã³ã«ãªã£ãŠããã®ã§ãåªå
åºŠå€æã«ã¯å€è§çã«å€æè»žïŒç§ãããŠããããã«3è
ã®èгç¹ãèžãŸãããªã©ïŒãæã£ãŠæèããããšãæ±ããããŸããäžèšã®ãèšè«ãããŠã¿ããææ³ã¯ããã®ããã®ã€ã³ããããšããŠäœ¿ãããšæããŸãïŒ 4. è°äºé²ã®ããããã£ã¹ãåãšæ
å ±åé æ
å ±éãå€ããå
容ãè€éãªäŒè°ã®è°äºé²ã¯ãåŸããèªã¿è¿ãã®ã倧å€ã§ããããç§ã¯ãã®èª²é¡ã NotebookLM ã§è§£æ±ºããŠããŸãã è°äºé²ãèªã¿èŸŒãŸããŠé³å£°åããããã»ã¹ NotebookLMã®é
åã¯ãèªã¿èŸŒãŸããããã¥ã¡ã³ããåºã«ããã®å
容ãèŠçŽãããã質åã«çãããããããŠãé³å£°ããšããŠåçã§ããç¹ã§ãã è³æã®çšæãšã¢ããããŒãïŒ æ®æ®µå©çšããŠããesaãè°äºé²ãPDFãGoogleããã¥ã¡ã³ããšããŠçšæããNotebookLMã®ãœãŒã¹ãšããŠèªã¿èŸŒãŸããŸãã é³å£°çæãšåçïŒ èªã¿èŸŒã¿åŸãNotebookLMã®æ©èœïŒãé³å£°è§£èª¬ããã¿ã³äžã€ã§å®è¡ïŒã䜿ã£ãŠãå¹³æã®ããã¥ã¡ã³ããããããã£ã¹ã颚ã®é³å£°ã«å€æããŸãã é³å£°åã®ã¡ãªããïŒå¯Ÿè©±åœ¢åŒã§æ
å ±ãã¹ããšå
¥ã ãã®æ©èœã®ããããšããã¯ããã ããã¹ããæ©æ¢°çã«èªã¿äžããã ãã§ãªãã察話圢åŒãã¹ããŒãªãŒåœ¢åŒã§é³å£°ãäœæããŠãããç¹ã§ãã éå€äžã®ããªãããåŠç¿ïŒçæãããé³å£°ãã©ãžãªã®ããã«ã€ã€ãã³ã§èãããšã§ãéå€äžãå®¶äºã®åéãªã©ãç§»åæéãã¹ããæéãæå¹æŽ»çšã§ããŸãã ç解床ã®åäžïŒå調ãªããã¹ããèªããããã察話圢åŒã®é³å£°ã®æ¹ãé ã«å
¥ã£ãŠãããããå
容ã®ãã£ããã¢ããå¹çãæ Œæ®µã«äžãããŸããã çŸåšã¯miroãesaã®æ
å ±ãPDFåããŠNotebookLMã«èªã¿èŸŒãŸããå·¥çšã«å°ãæéããããã®ã課é¡ã§ããããã®ããªããåŠç¿ãã®ã¡ãªããããããè£ã£ãŠäœããããšæããŠããŸãã 5. Vercel v0ã«ããUXã®äžç¢ºå®æ§åæžãžã®ææŠ æè¿ãVercelã®v0ãšããAIã³ãŒãã£ã³ã°ããŒã«ã®æŽ»çšãå§ããŸããã v0ã¯ããã·ã³ãã«ãªãã°ã€ã³ãã©ãŒã ããå颚ãã¶ã€ã³ã®ã©ã³ãã£ã³ã°ããŒãžããšãã£ãèªç¶èšèªã§ã®ããã³ãããå
¥åããã ãã§ã WebããŒãžã®UIãã¶ã€ã³ãã³ãŒãïŒReact/Next.js/Tailwind CSSããŒã¹ïŒãèªåã§çæ ããŠãããããŒã«ã§ããWebãã¶ã€ã³ãããã°ã©ãã³ã°ã®ç¥èããªããŠãã æ°ç§ã§ãã¶ã€ã³ã®å©ãå°ããããã¿ã€ããäœãã ãããã¢ã€ãã£ã¢ãçŽ æ©ãå¯èŠåã§ããŸãã PRDã§èšèªåãããèŠæ±å®çŸ©ã ãã§ã¯ããã°ãã°UXïŒãŠãŒã¶ãŒäœéšïŒã®éšåã®äžç¢ºå®æ§ãæ®ããã¡ã§ããv0ã§ç°¡åãªãããã¿ã€ããUIã³ã³ããŒãã³ããçŽ æ©ãäœæãããããããŒã¹ã«ããŒã ãšäŒè©±ããããšã§ãéçºã«å
¥ãåã®æ©ã段éã§èªèã®ãºã¬ãè§£æ¶ããäžç¢ºå®æ§ãæžããããšæåŸ
ããŠããŸãããŸã è©Šè¡æ®µéã§ãããä»ããŒã ã®POã®éã§ã掻çšãåºãã£ãŠããŠãç§èªèº«ããã®å¹æã楜ãã¿ã«ããŠããŸãïŒ âŒå
·äœäŸïŒãã¹ããã®èšªåèšé²åãéçºãã§ãç»é¢å·ŠåŽã«ããå¹ãåºãã§ããããããããŠæ¬²ãããã®ã³ã¡ã³ãããããšãå³åŽã«ãããããªç»é¢ãç§ã§åºæ¥äžãããŸãã v0ã§çæããããããã¿ã€ãã®äŸ ãŸãšã ãããã¯ããããŒãžã£ãŒæ¥ã«æºãã人ãAIãæ¥åã«åãå
¥ãããšãæè»œã«åšèŸºé åã®ç¥èãç¿åŸã§ããããã«ãªã£ããããã質ã®è¯ãæææ±ºå®ãã§ããããã«ãªããããæ°ã
ã®æ¥åãå¹ççãã€ã¹ã ãŒãºã«é²ããŠãããããã«ãªããŸãããŸãæŽã«äžæ©èžã¿èŸŒãã§ãv0ã®ãããªããŒã«ãéããŠUXã®æ©ææ€èšŒãè¡ãã°ãæ¥åé åãåºãã圢ã§ã¢ãŠããããã®è³ªãé«ããããšãå¯èœã§ãïŒä»åã玹ä»ããäºäŸããçããã®æ¥ã
ã®æ¥åã«å°ãã§ã圹ç«ãŠã°å¹žãã§ãã çããã¯ã©ã®ãããªAI掻çšè¡ããæã¡ã§ããïŒãã²æããŠãã ããïŒ *1 : ãããã¯ããªãŒããŒïŒãããã¯ããããŒãžã£ãŒã®åœ¹å²ã®äžéšãšããŠããããã¯ãã®äŸ¡å€ãæå€§åãã責任ãè² ãããžã·ã§ã³ã§ã *2 : ããŒã ã»çµç¹å
ã®æ
å ±å
±æã®ããã®ããã¥ã¡ã³ããµãŒãã¹ã§ã *3 : Minimum Sellable ProductïŒè²©å£²å¯èœãªäŸ¡å€ãæã€æå°éã®ãããã¯ãã®ããš
ããã¯ æ ªåŒäŒç€Ÿãšã¹ã»ãšã ã»ãšã¹ Advent Calendar 2025 ã®12æ25æ¥ã®èšäºã§ãã ã«ã€ãã±ãªãã¥ãŒã¢ã«ãããžã§ã¯ãã§ãšã³ãžãã¢ãªã³ã°ãããŒãžã£ãŒãããŠããèå·»ïŒ @hotpepsi ïŒã§ãã ä»å¹Žã®11æã« LeSS' Yoaké 2025 ãšããã«ã³ãã¡ã¬ã³ã¹ã«åå ãããã èªå®LeSSå®è·µè
ç ä¿® ãåããŠããŸããããããã®ã€ãã³ããç ä¿®ã§ã¯ãåŠç¿ã®éèŠæ§ãã調æŽåœ¹ã眮ããªãããšã®æçŸ©ãèªãããŠããŠå°è±¡ã«æ®ã£ãã®ã§ãããã«ã€ããŠæžããŠã¿ãŸãã ã¹ã¯ã©ã ãšLeSSã®é¢ä¿ 以äžã®è©±ã®åæãšããŠãLeSSã«ã€ããŠå°ãè£è¶³ããŸãã LeSS (Large-Scale Scrum) ã¯å€§èŠæš¡ã¹ã¯ã©ã ã謳ããã¬ãŒã ã¯ãŒã¯ã§ãåäžã®ããã¯ãã°ãšäžäººã®ãããã¯ããªãŒããŒãè€æ°ã®ããŒã ãããªããŸãã LeSSã¯ã¹ã¯ã©ã ã§ãã ãšå®£èšããŠãããåºæ¬çã«ã¯ã¹ã¯ã©ã ã®ååããã®ãŸãŸé©çšãããŸããåããŒã ã¯å°ãããã¯ãã¹ãã¡ã³ã¯ã·ã§ãã«ãªãã£ãŒãã£ãŒããŒã ã§ããããšãæãŸããã§ãã â» çšèªã«ã€ã㊠ã¯ãã¹ãã¡ã³ã¯ã·ã§ãã« äžè¬çã«ã¯ãããŒã å
ã«è€æ°ã®è·èœã®äººãã¡ãããç¶æ
ãLeSSã®æèã§ã¯ãããŒã ã«æ±ããããã¹ãã«ãæã£ãŠããããç¿åŸå¯èœã§ããããš ãã£ãŒãã£ãŒããŒã 顧客äžå¿ã®èŠç¹ãæã¡ã䟡å€ã®ããæ©èœïŒãã£ãŒãã£ãŒïŒãå±ããããã®å
šãŠã®å·¥çšã«é¢ããã宿ãããããšã«è²¬ä»»ãæã€ããŒã ãå¿
ç¶çã«ã¯ãã¹ãã¡ã³ã¯ã·ã§ãã«ã§ããããšãæ±ããããã察矩èªã¯ãç¹å®é åãæ
åœãããã³ã³ããŒãã³ãããŒã ã LeSSã§ã®åŠç¿ãšã¯ LeSSã¯ã人ã¯åŠç¿å¯èœã§ãããšããåæã«ç«ã¡ãå®éšã»åŠç¿ã»èå¯ã«æ¯ãåã£ããã¬ãŒã ã¯ãŒã¯ãšãªã£ãŠããŸãã ç ä¿®ã§ã¯ãç¹°ãè¿ãåŠç¿ã®éèŠæ§ãèªãããŸãããããã§ã®åŠç¿ã¯ãããŒã ã®èœåãé«ããå
šãŠã®æŽ»åã®ããšã§ããæè¡é åãåºãããæ¥åãã¡ã€ã³ãçè§£ãããªã©ã®éçºæ¥åã«é¢ããåŠç¿ã ãã§ãªãã顧客ã€ã³ã¿ãã¥ãŒãäŸ¡å€æ€èšŒã®ãããªãèŠæ±åæã®é åãªã©ãå«ãŸããŸããããªãã¡LeSSãæ³å®ããçµç¹åŠç¿ãšã¯ãåŠç¿ããŠåœ±é¿ç¯å²ãåºããŠããããšã§ãå
šäœã«å¯ŸããŠãªãŒããŒã·ãããçºæ®ããŠäŸ¡å€æäŸããŠãããšãããã®ã«ãªããŸãã ã¹ã¯ã©ã ãšå
šäœæé© ã¹ã¯ã©ã ã¬ã€ã ã§ã¯ã¹ã¯ã©ã ã®å€ã®äžçã«ã€ããŠããŸãèªãããŠããŸãããäžæ¹ãã å€§èŠæš¡ã¹ã¯ã©ã Large-Scale Scrum(LeSS) ãã«ãããšãLeSSã§ã¯ããããã¯ãã䜿ãããçŸå Žããšããããã¯ããéçºãããçŸå Žãã®2ã€ã®çŸå ŽããããšããŠããŠãããŒã ã®å€åŽã«ãæç¢ºã«æèãåããŠããŸãã äžè¬ã«ããããã¯ããæé·ããŠäººãå¢ãããšããŒã ãå¢ããŠããã圹å²åæ
ãçãŸããŠå¢çãã§ããŸãããããŠæ¬¡ç¬¬ã«å®åç¯å²ãçããªããåŸã
ã«ããããã¯ãã䜿ãããçŸå Žãããé ããã屿æé©åãããŠãããŸããããã«å¯ŸããŠLeSSã§ã¯å人ã®åŠç¿èœåã«æåŸ
ããããšã§ãèªç¶ãªååŠã«éãããå
šäœæé©ãç®æããŸããããã§é¡§å®¢äŸ¡å€ãšã¯ããããã¯ãã䜿ãããçŸå Žãã®äŸ¡å€ã§ãã£ãŠãã¹ã¯ã©ã ãæ³šåããããšãã®ãã®ã§ãããªã®ã§å
šäœæé©ã«åãããšããLeSSã®ååã¯ãã¹ã¯ã©ã ãšççŸãããã®ã§ã¯ãªããã¹ã¯ã©ã ã®æç¢ºåã®äžåœ¢æ
ãšããŠè§£éã§ããã®ããªãšæããŸããã LeSSãã®ãã®ãåŠã¶ éçºè
ãåŠç¿ã®éèŠæ§ãæèããããã«ã¯ãåå°ãšãªãååã®çè§£ãå¿
èŠã«ãªããŸããç ä¿®ã§ã¯ããã€ãã®ã¯ãŒã¯ã·ã§ãããããããããéããŠãååã®çè§£ãå
±æãšããã®ã¯ãã¹ã¯ã©ã ãã¹ã¿ãŒããã å
容ã玹ä»ããã ãã§èº«ã«ã€ããã®ã§ã¯ãªãããã ãšããæèŠãåŸãããŸããã ã·ã¹ãã æèãªã©å®éšã»åæã»æ¹å掻åãªã©ãéããŠãéçºè
èªèº«ãè°è«ãæèããååãã©ã®ããã«äœçšããã®ãã宿ãèšæ¶ããããšã§ãååãšãã©ã¯ãã£ã¹ãçžäºã«çµã³ã€ããšæããŸããã 調æŽåœ¹ã眮ããªãããš LeSSã§ã¯ãªãã¹ã調æŽåœ¹ã眮ããªãããšãæšå¥šãããŠããŸããããã§ã®èª¿æŽåœ¹ã¯ããããã¯ããªãŒããŒããã£ãŒãã£ãŒããŒã 以å€ã®æ§ã
ãªåœ¹å²ã®ããšã§ããäŸãã°èšèšãå°éçã«è¡ã人ãããŒã ãååšãããšã調æŽã³ã¹ããåŸ
ã¡ã®èŠå ãšãªããŸããããããäŸåé¢ä¿ã¯ä»äºã®ãã€ãã©ã€ã³åãçã¿åºããã¹ããªã³ãå
ã§äœæ¥ãå®çµãããããšãå°é£ã«ããŸãããŸããããŒã ããèŠããšèª¿æŽåœ¹ãåŠç¿æ©äŒã奪ã£ãŠããããšã«ããªããŸãããã®ããLeSSã§ã¯ãããŒã ã®å€éšã«ååšãã圹å²ïŒèª¿æŽåœ¹ãããªãã®ãçæ³çã§ãã LeSSãå°å
¥ããŠããã®çŸåšå° ããããã¯æã
ã®LeSSã®ç¶æ³ã«ã€ããŠãäŒãããããšæããŸããã«ã€ãã±ãªãã¥ãŒã¢ã«ãããžã§ã¯ãã§ã¯ãããŒã æ°ãåŸã
ã«å¢ããè€æ°ã®ãããã¯ããªãŒããŒãšè€æ°ã®è·èœå¥ããŒã ãååšããç¶æ³ã§ãæšå¹ŽLeSSãå°å
¥ããŸããã ããããåŸã
ã«ãè·èœå¥ããŒã ãããã£ãŒãã£ãŒããŒã ãžåç·šæããå°ããã€LeSSã®åœ¢ã«è¿ã¥ããŠããç¶æ³ã§ããLeSSå°å
¥ã®å°ãåã«ã¯ããããžã§ã¯ããªãŒããšããããŒã éã®ãããšãªã圹å²ã廿¢ããããšããããŸããããããã¯ãŸãã«èª¿æŽåœ¹ãæžããæŽ»åã ã£ãã®ã ãšæçŸ©ãåèªèã§ããŸããã ãã®ãããã®å°å
¥ã«ããå€åã«ã€ããŠã¯ããããã¯ããªãŒããŒãããŒã ã¡ã³ããŒã®å£°ã座è«äŒåœ¢åŒã§èšäºåããŠããŸãã ç§èªèº«ã¯LeSSã®ãããŒãžã£ãŒãšããŠã掻åããŠããŸãã調æŽåœ¹ã«ãªããªãããã«ããããªãšæã£ãŠããŸãã çŸåšå°ãšããŠã¯ãå
šäœã®ååãããã®ããŒã ãLeSSãå®è·µããŠããããã以å€ã«ãç¹å®é åãæ
åœããããŒã ãããã€ãååšããŸãããŸãLeSSå
éšã§ãããããã¯ãããã¯ãã°å
šäœã管çãããããã¯ããªãŒããŒã®ä»ã«ãç¹å®ãã¡ã€ã³ã®ãããã¯ãããã¯ãã°ã¢ã€ãã ã«è²¬ä»»ãæã€ãããã¯ããããŒãžã£ãŒãããŸããããããç¶æ³ã§ããã®ãŸãŸLeSSãæ¡å€§ããŠããã®ãããããšãLeSS Hugeã«åããã®ãããªã©ã®è°è«ãçãŸãããããŠããŸããä»åŸããæ¥åãã¡ã€ã³ãè€éã§ãããšãããããã¯ãã®ç¹æ§ãèæ
®ããªãããã©ã®ãããªLeSSã«åããã®ããè°è«ãå®éšããŠãããããšæã£ãŠããŸãã LeSSã®å®è·µã«èå³ã®ããæ¹ã¯ããã²ã«ãžã¥ã¢ã«é¢è«ã§ã話ããŸãããã以äžã®ãªã³ã¯ãããæ°è»œã«ãç³ã蟌ã¿ãã ããã
ã¯ããã« ããã«ã¡ã¯ïŒã«ã€ãã±ã³ãã¯ãã®éçºæšé²ããŒã ã§ãšã³ãžãã¢ãããŠãã @_kimuson ã§ãã ç§ãã¡ã®ããŒã ã¯ãã¹ããªãŒã ã¢ã©ã€ã³ãããŒã *1 ã®çç£æ§åäžãããã·ã§ã³ã«æã€ããŒã ã§ããã®æèã§çæAIã®æŽ»çšã«ãåãçµãã§ããŸãã LLMã䜿ã£ãéçºãåœããåã«ãªã£ãŠããŠãå®éã«çç£æ§ãäžããåŽé¢ã宿ããŠããäžæ¹ã§ãã§ããããšãå€ããããæ
ã«å€¢ãåºããã€ã€ããçŸå®ã§ã¯å£ãå€ããŠé£ãããã€ã³ããå€ãã®ãäºå®ã§ãã人éã®äœæ¥ãããã«ããã¯ã«ãªã£ãŠããŸããæã£ãã»ã©çç£æ§ãäžãããªããšãã課é¡ã«ãã¶ã€ãããŸãã ãã®ãšã³ããªã§ã¯ãçç£æ§åäžããŽãŒã«ã«ãAIãã©ã掻çšããŠããã®ãè¯ããã®æŽçãšãç§ãã¡ã®ããŒã ã§å®éã«ã©ãããã³ã³ã»ããã§AI掻çšãé²ããŠããã®ãã玹ä»ããããšæããŸãã LLMãžã®ç§»è²ã¬ãã«ãå®çŸ©ãã AIãšãŒãžã§ã³ããæŽ»çšããŠä»äºããããšããããšã¯ãä»äºã®äžéšãLLMã«æš©éç§»è²ãããšããããšã§ãã ãããã£ãŠLLMãšã®è²¬åã®å¢çãæç¢ºã«æèããŠãããšè¯ãã ãããªãšæã£ãŠããŸãã ããã§ã¯ãããŒã éçºã§ãã䜿ããã Delegation Poker *2 ã®ç§»è²ã¬ãã«ã®åé¡ãåããŠã人éãšAIãšãŒãžã§ã³ãéã®è²¬åã®ç§»è²ã¬ãã«ãåé¡ããŠã¿ãŸãã ããããLLMã®å©æŽ»çšã·ãŒã³ãšå¯Ÿå¿ããç§»è²ã¬ãã«ã¯äžèšã®ããã«å¯Ÿå¿ããŸãïŒ æµã ç§»è²ã¬ãã« äž»äœ ChatGPTã«èšèšã«ã€ããŠçžè«ããèªåã§å®è£
Consult 人é Copilotã®è£å®ã䜿ããªãããèªåã§å®è£
Consult 人é 现ããæç€ºãåºããªãããšãŒãžã§ã³ããå®è£
ãDriver ããšãŒãžã§ã³ããªã¢ããã Agree 人é & LLM LLM ã«ãã±ãããæž¡ããŠPRãŸã§äœã£ãŠããã Inquire LLM LLM ã«ãã±ãããæž¡ããŠPRãäœã£ãŠããããLLMã«ããã¬ãã¥ãŒã§ããŒãžãŸã§å®çµ Delegate LLM Consultã¬ãã«ã§ã¯ãããŸã§LLMã«çžè«ãããã ããªã®ã§äž»äœã¯åžžã«ãããã人éã§ããAgreeã¬ãã«ã«ãªãããšã§LLMãå
±åã§è²¬åãæã¡ãŸããããããã人éãäžç·ã«äœæ¥ãããããšã«ãªããŸãã ãã®èŸºããŸã§ã®æŽ»çšãçŸå®çã«å€ãè¡ãããŠããã»æ¡çšãããããç§»è²ã¬ãã«ã ãšæããŸãã ããããããã«ç§»è²ã¬ãã«ãäžããŠãããš æçµã¬ãã¥ãŒã¯ãããã©ã¿ã¹ã¯ã®äž»äœã¯LLMã«ç§»è²ãããŠããInquireã¬ãã« ããã«ã¯ãããã人éã«ããæ¿èªããäžèŠãªDelegateã¬ãã« ã«å°éããããšãªããŸãã ç§»è²ã¬ãã«ããªãéèŠã ãŸã倧åæãšããŠãã³ãŒãã£ã³ã°ãåããšããŠã¿ã¹ã¯ã®äœæ¥æéã¯ãããã人éããLLMã®æ¹ãå§åçã«æ©ãã§ããç©ççãªé床ãããã§ãããLLMã¯äžŠåã§äœæ¥ãé²ããããšãå¯èœã§ãã çç£æ§ãäžããã«ã¯ãããã«ããã¯ãè§£æ¶ããŠããããšã倧åã§ãããäœæ¥ãLLMã®ã»ããé«éã ããããç§»è²ã¬ãã«ãäžããŠããããšã§ããã«ããã¯ãè§£æ¶ããç§»ãå€ãã£ãŠãããŸãã Consult / Agree ã¬ãã« : 人éã®äœæ¥æéãããã«ãã㯠人éãå¿
ãã€ãã£ããã§äœæ¥ããå¿
èŠããããã Inquire ã¬ãã« : 人éã®èªç¥è² è·ãããã«ãã㯠人éã倿Žå
容ãèªç¥ãã責任ãæã£ãŠããŒãžããå¿
èŠããããã Delegate ã¬ãã« : 人éã®ãã±ããçæé床ãããã«ãã㯠çè«äžãã¹ãŠãDelegateãªãããéãèš±ãéã24æééçºãé²ãããããããã±ããã®æ¹ãè¶³ããªããªãã¯ã ã€ãŸããçç£æ§ãäžããã«ã¯ãLLMãžã®ç§»è²ã¬ãã«ãããã«äžããŠãããããã€ã³ãã«ãªãããã§ãã ç§»è²ã¬ãã«ãã©ãäžããŠããã ã¢ãŠããããïŒã¢ãŠãã«ã ã§ã¯ãªãïŒã®çç£æ§ã ããèããå Žåãçæ³è«ã§èšããšã人éã¯ããã«ããã¯ã«ãããªããªãã®ã§ãã¹ãŠã®ã¿ã¹ã¯ãDelegateã¬ãã«ã§é²ããã®ããã¹ãã§ãã ãšã¯ãããçŸå®çã«ã¯ ã¯ãªãªãã£ã³ã³ãããŒã« æ¹åæ§ã®ç¶æ ã¢ãŠãã«ã ã«ãªããªã ãšãã£ãåŽé¢ãèãããšããã¹ãŠãäžžæãããã®ã¯ç¡çããããŸãïŒã§ãããã·ã³ã®ã¥ã©ãªãã£ã§ããïŒã çŸå®çã«ã¯ã éçºã¿ã¹ã¯ã®äžã§ç§»è²ã¬ãã«ãäžããããã¿ã¹ã¯ãç§»è²ããŠãããæé¢ããããæéã§ãšã³ãžãã¢ãããé£ããåé¡ã«Agree/Consultã¬ãã«ã§åæ¥ããããšã§çç£æ§ãé«ãã ã®ãè¯ããšæã£ãŠããŸãã ããå
·äœçã«ã¯ äž»èŠãªãšã³ãžãã¢ã®ã¿ã¹ã¯ãåé¡ãã äžžæãããªã㣠*3 ãè©äŸ¡ããã©ã®ã¿ã¹ã¯ãã©ã®ç§»è²ã¬ãã«ã«æã£ãŠããããè©äŸ¡ãã DelegateãInquireã¬ãã«ã«ç§»ããã¿ã¹ã¯ãç§»è²ããŠãã ãšããæµãã§æ¹éãäœã£ãŠããŸãã äžžæãããªãã£ãšããææš LLMã«äžžæãããããã¿ã¹ã¯ã宿§çã«ã§ãè©äŸ¡ã§ããªããšãã©ã®ã¿ã¹ã¯ãç§»è²ãã¹ãã倿ãã¥ããã§ãã å人çã«ã¯ã以äžã®ãããªèгç¹ã§è©äŸ¡ã§ãããã ãšèããŠããŸãã ææªå£ããŠãè¯ãã ã¯ãŒã¯ãããŒèšèšã§ã¢ãŠãããããå®å®ãããã®ã¯åæãšããŠããLLMãªã®ã§ïŒãŸã人éã§ãåãã§ããïŒäžå®ã®ãã¹ã¯èš±å®¹ããããåŸãŸããããããã©ã®çšåºŠèš±å®¹ã§ããããšãã芳ç¹ã§ãã äŸãã°ãCIã®èšå®ãªããŸãå£ãããšããããããããšãã蚱容床ããããšæããŸããäžæ¹ã§ãæ¬çªæ©èœã®ã³ã¢ããžãã¯ã ãšããã¯ãããŸããã LLMã§ã©ãã ãæåŸ
å€ã©ã€ã³ã«è¿ãã¢ãŠãããããåºããã ãµãã£ãšããŠããŸãããããããããçšåºŠèŠãŠãããïŒããšãªãã¢ãŠãããããåºã¥ãããªãæåããAgreeã§ããã°è¯ãããšãã話ã§ãã å人çã«LLMãè§£ãããã¯ã³ã³ããã¹ãããã¹ãŠã ãšæã£ãŠããŸããæé»ç¥ã§ã³ã³ããã¹ãã«å«ããããªãããã«ãããŠå«ããããªãããšãã£ãå¶çŽããªããã°ãæ
å ±ã®éãæ¹ãã¯ãŒã¯ãããŒèšèšãé©åã«ãã¥ãŒãã³ã°ããã°ããçšåºŠã©ããšã§ããªãæ°ã¯ããŸãã ããŒã å
ã§ã®çžå¯ŸçãªææšãšããŠã¯ Storypoint ã䜿ãããããããŸããããã ããStorypointã¯ããŒã åºæã®åºæºãªã®ã§ãäžžæãããªãã£ã®è©äŸ¡ã«ã¯å®æ§çãªèгç¹ã䜵ããŠèæ
®ããå¿
èŠããããŸãã ãã®äœæ¥å
容ãèªååãããããšã§ã©ãã ãå¬ããã äžè¬çãªèªååãšåã芳ç¹ã§ããäŸãã°å¹Ž1ã§ããçºçããªãã¿ã¹ã¯ã«é©çšããŠãããŸããïŒãšãã話ã§ãããã³ãã³ãã®æŽåãªã©ã«ãã³ã¹ããããããŸãããã ç§ãã¡ã¯ãã®èãæ¹ã§è©äŸ¡ãããŠããŸããããã©ãããã¿ã¹ã¯ãLLMã«äžžæãã§ããããã®è©äŸ¡ãè¡ããŠããã°ææ®µã¯ãªãã§ãè¯ããšæã£ãŠããŸãã äŸãã°äžèšã®èšäºã§ã¯ãçæãããã³ãŒããèªåãèªãã§ããªãå²åããåºæºã«ãªããšããèãæ¹ã玹ä»ãããŠããŸããèªãã§ãªãïŒãã§ã«ç§»è²ãããŠããããšããããšãªã®ã§äžžæãã§ããããããšãã話ã§ããããã£ãã·ã³ãã«ãªèãæ¹ãã¢ãªã ãªãšæããŸãã ç§»è²ã¬ãã«ã®äžãæ¹ ã¿ã¹ã¯ããšã®ç§»è²ã¬ãã«ã®è©äŸ¡ãã§ããããããšã¯å®éã«LLMã®è²¬åãå¢ãããŠããå¿
èŠãããã®ã§å°ãå
·äœã«èžã¿èŸŒãã§ãå®éã«ã©ããã£ãŠç§»è²ã¬ãã«ãäžããŠããã®ãã玹ä»ããŸãã Agree ãã Inquire ãž LLMãžã®ç§»è²ã¬ãã«ãäžããïŒLLMã«ç§»è²ãã責åãå¢ããïŒ ã³ã³ããã¹ãåè§£ãå¿
é ããšããã®ãAgreeããInquireãžã®ç§»è¡ã®ãã¢ã ãšæã£ãŠããŸãã ã³ã³ããã¹ããŠã£ã³ããŠã®ç©ççãªãµã€ãºããã¡ãããããŸããããã以äžã«è€æ°ã®ããšããããããšããããããæ§èœãèœã¡ãŸãã ã€ãŸãã LLMã§ãåäžè²¬ä»»ã®ååãéèŠ ã§ãããè€æ°ã®è²¬åãæããããªããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãåæã«ãªããŸãã ãšãŒãžã§ã³ããå¥ã®ããã³ããïŒïŒè²¬åïŒãæã€ãšãŒãžã§ã³ããåŒã³åºããå¿
èŠããããŸããClaude Codeã¯TaskããŒã«ãšãµããšãŒãžã§ã³ãã«ãã£ãŠããããµããŒãããŠããã®ã§ããµããšãŒãžã§ã³ããšã³ãã³ããäœæããŠã¿ãŸããã äœæ¥ã€ã¡ãŒãžãšããŠã¯ãããªæãã§ãïŒ ãšã³ãžãã¢ïŒ /inquire_xxx <ãã±ããURL> ã®å®è£
ãã㊠Claude Code(Orchestrator) use: ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ã¹ãã« Claude Code(context-collector): æ
å ±åé Claude Code(architect): èšèš Claude Code(engineer): TDDå®è£
Claude Code(reviewer): ã¬ãã¥ãŒÃN Claude Code(pr-creator): PRäœæ & CIãã§ã㯠Claude Code(QA): åäœæ€èšŒ â ã¬ããŒã åäžã®è²¬åãæã€ãšãŒãžã§ã³ãã忥ããããšã§è³ªã®é«ãã¢ãŠããããã¯åºããããªããŸãããæé¢ããã以äžãæåŸ
ãšç°ãªãå Žåã«æ¢ããããšãã§ããªãã®ã§æž¡ããé£æåºŠã«éçã¯ãããŸãã Inquire ãã Delegate ãž Inquireæç¹ã§å®è£
é¢ã¯ç§»è²ãããŠããã®ã§ãDelegateãžã®å£ã¯å€§ãã2ã€ãããŸãã GitHubã«ãããããŒãžãããã¯ãã©ãé©åãªã¿ã¹ã¯ã§ã®ã¿åé¿ããã®ã AIã¬ãã¥ãŒã§ã©ãå質ä¿èšŒããã åè
ã¯ãDelegateã¬ãã«ã§ç§»è²ã§ãã察象ã®ãœãŒã¹ã³ãŒãã«å¯ŸããŠCODEOWNERSã§ãªãŒããŒãããããããšã§ãšãŒãžã§ã³ãã«ããã¬ãã¥ãŒåã³æ¿èªã»ããŒãžãè¡ãããšãã§ããŸãã åŸè
ã¯ãããšã³ãžãã¢ãã³ãŒãã¬ãã¥ãŒã§æ
ä¿ããŠããå
容ããèšèªåããå¿
èŠããããŸããå ããŠã¿ã¹ã¯ããšã«èгç¹ãç°ãªãã¯ãïŒæ©èœå®è£
ãšCIã®ç®¡çã§ã¯èгç¹ããããéããŸãããïŒãªã®ã§ãã¿ã¹ã¯ããšã«åå¥ã§èããå¿
èŠããããŸãã äŸ: Renovate ã® Delegate å çŽè¿ããããã¿ã倧ãããã§åãçµãã§ããã®ãRenovateã®æé¢ãã§ãã äžèšã¯å®éã«ã¯éçšãããŠããªãå©ãã§ãããäŸãã°1äŸãšããŠãããã£ã確èªåã³LLMã«ãããªãŒãããŒãžãèããããŸãã 0.x以å€ã®patchããŒãžã§ã³ã¯å€æŽå
容ããã£ãšèªãã§åé¡ãªããã°ã«ãžã¥ã¢ã«ã«Approve minor updateã0.xã¢ããããŒãã¯Claude Codeã«Breaking Changesãäžå¿ã«åœ±é¿ç¯å²ã調æ»ããŠãããã圱é¿ããªãããç¢ºèª åœ±é¿ãªã â Approve 圱é¿ãã â Inquireã¬ãã«ã§ä¿®æ£ãè¡ã£ãŠãããããšã³ãžãã¢ã®ã¬ãã¥ãŒã«ãã©ãŒã«ãã㯠Majorãªã©ã§ãããã±ãŒãžããšã®ã«ãŒã«ã§å¶åŸ¡ Majorã¯ããã©ã«ãã§ã¯æ
éã«æ±ã äŸãã°éçºç°å¢ã§äœ¿ãããã±ãŒãžã¯pnpm buildãéãã°OKãšããã°ã«ãŒãããšã«ç¢ºèªãã¹ãå
容ãèšèªåãéã£ãŠããã°ããŒãžãŸã§OK ã¢ããªã§äœ¿ãããã±ãŒãžã§ããäŸãã°å¯äœçšã®ãªãdate-fnsães-toolkitçã¯CIééãæã£ãŠåé¡ãªããšã§ããã ãããªæãã®ç¢ºèªãClaude Codeã«ãã£ãŠè¡ãããã°ãApprove & ããŒãžããŠè¯ãã®ã§ã¯ãªããããšããèãæ¹ã§ãã ããã¯ããŒã ã§ã®åæåœ¢æãã¿ã¹ã¯ããšã«å¿
èŠãšãªããŸããäŸãã°Renovateã¯äžèšã®ãããªã¬ã€ãã©ã€ã³ãæã£ãŠããŒãžOKãšããŠãããããšãã£ãè°è«ã§ããã 䞊åã§ Inquire 以äžã®ã¿ã¹ã¯ãè¡ãä»çµã¿ Inquireã¬ãã«ã§ãŽãªãŽãªã®ã¿ã¹ã¯ãé²ããã®ã«ã¯äžå®ã®ä»çµã¿ãå¿
èŠã§ãã çŸç¶ã¯ç§ã®éçºãã·ã³ã§1ã€ã®worktreeãClaude Codeçšã«å²ãåœãŠãæåå³åã§ããç§ãäœã£ãŠãã d-kimuson/claude-code-viewer *4 ã®ã¹ã±ãžã¥ãŒã©æ©èœïŒcronåŒã«ãããããæéã§èªåã§ã¡ãã»ãŒãžéä¿¡ïŒã䜿ãããšã§å®å
šã«æé¢ããããšããã§è»œãã¿ã¹ã¯ãå®è¡ããŠããŸãã LLM ã¿ã¹ã¯ã®ãªãã¡ã€ã³ã¡ã³ã äžèšã§æããäžžæãããªãã£ïŒå®éçã«ã¯Storypointã宿§çã«ã¯ACã®å
å®åºŠãå
容ïŒãèšèªåããLLMèªèº«ã«ãããã¹ãã¿ã¹ã¯ãããããªãã¹ãã¿ã¹ã¯ããåé¡ããã Claude Codeã«å®æœãããã¹ããã®æçµãã§ãã¯ã¯äžå¿ãããã®ã§åé¡ãããæ
å ±ãã¿ãŠãæ¿èªãããã±ãããQueueã«ç©ã èªåå®è¡ Queueãã宿çã«ãã±ãããåãåºããŠinquireã¬ãã«ã§Claude Codeãå®è¡ ãŸãšã LLMãžã®ç§»è²ã¬ãã«ãæŽçããç§ãã¡ãçŸåšåãçµãã§ããLLMã«ããéçºçç£æ§åäžã®èãæ¹ã玹ä»ããŸããã ç§»è²ã¬ãã«ïŒConsult / Agree / Inquire / DelegateïŒãæèçã«èšèšããããšã§ããšã³ãžãã¢ã¯æ¬åœã«é£ããåé¡ã»æ¥œãããåé¡ã«éäžã§ããã¯ãã§ãã å®éã«å€æåºæºãããæ£ç¢ºã«èšèªåããããäžéšã®ã¿ã¹ã¯ãDelegateã«ç§»ããŠãããšããã¯ãŸã ãŸã ç§ãã¡ãåãçµãã§ããæäžã§ãããããŒã ã§ã®åæåœ¢æã倧äºã«ããªããé²ããŠãããããšæã£ãŠããŸãã *1 : ããŒã ããããžãŒã§ç޹ä»ãããŠããããŒã ã®åé¡ã®1ã€ã§ããã¡ã€ã³ã«æ²¿ã£ãŠç¶ç¶çã«ãããã¯ãéçºãè¡ãããŒã ãããã«è©²åœããŸãã *2 : Management 3.0 ã§ç޹ä»ãããŠãã管çè
ããããŒã ãžæš©éç§»è²ãããããã®ã²ãŒã ã§ããæš©éã7ã€ã®ã¬ãã«ã«åé¡ããç§»è²ã¬ãã«ã®æåŸ
å€ãããåãããŸãããã®èšäºã§ã¯äººéããAIãžã®æš©éç§»è²ã®åºŠåããåé¡ããããã«å©çšããŠããŸãã *3 : ã¿ã¹ã¯ãLLMã«ç§»è²ãããããã©ãããè©äŸ¡ããææšãé èªã§ã *4 : Claude Codeã®GUIã¯ã©ã€ã¢ã³ã
ããã«ã¡ã¯ãã«ã€ãã±ã®éçºçµç¹è²¬ä»»è
ãããŠããé
äºã§ãã 仿¥ã¯ç§ã®å€§åãªä»äºã®1ã€ã§ããããšã³ãžãã¢æ¡çšãã«ã€ããŠæžããŸãããã®èšäºã¯ æ ªåŒäŒç€Ÿãšã¹ã»ãšã ã»ãšã¹ Advent Calendar 2025 ã®23æ¥ç®ã®èšäºã§ãã ãæææ±ºå®ãã¹ã±ãŒã«ãããšã³ãžãã¢ãããªãéèŠãªã®ã ãšã¹ã»ãšã ã»ãšã¹ã®äºæ¥é åã¯ãå¶åºŠã»æ¥åã»ç°å¢ãè€éã«çµ¡ã¿åãå€åã®å€§ããã瀟äŒèª²é¡ããšããäžç¢ºå®æ§ã®é«ãé åã§ãããããã¯ãéçºã«ãããŠéèŠãªã®ã¯ãããããäžç¢ºå®æ§ãšåãåããªããã詊è¡é¯èª€ãéããŠãœãããŠã§ã¢èšèšãžãšèœãšã蟌ã¿ç¶ãããããã©ããã ãšèããŠããŸãã äºåã«ç«ãŠãèšç»ã©ããã«é²ããã°åé¡ã解決ããããã§ã¯ãªãã絶察çãªæ£è§£ãååšããªãäžã§ãç¶æ³ã«å¿ãã倿ãç©ã¿éããªããç©äºãåã«é²ããŠããåãæ±ããããŸãããã®ããã«ã¯ãç¹å®ã®å人ã®åéã«äŸåããã®ã§ã¯ãªããçµç¹ãšããŠã¹ãã«ããã€ã³ãã»ããããã©ã³ã¹ãã身ã«ã€ããŠããå¿
èŠããããŸãã ç§ãã¡ãæ¡çšããããšã³ãžãã¢ã¯ãåã«çµéšãè±å¯ãªäººãšããæå³ã§ã®ã匷ãå人ãã§ã¯ãããŸãããå®è£
ãéãããšãé£ããæè¡ã«è©³ããããšã¯åææ¡ä»¶ã®äžéšã«ããããæ¬åœã«éèŠããŠããã®ã¯ã倿ãåŒãåããåŠç¿ãããŒã ã«åºããäžç¢ºå®æ§ã®äžã§ãçµç¹ãšããŠåã«é²ããããç¶æ
ãã€ããããã©ããã§ãã ãããã¯ããçµç¹ãæé·ããã«ã€ããæææ±ºå®ã¯äžéšã®äººã«éäžãããããªããçµæãšããŠã¹ããŒãã倱ã£ãŠããŸãããšããããŸãããã®ããã«ããã¯ãè§£æ¶ããããã«ã¯ã匷ãå人ãå¢ããããšä»¥äžã«ã倿ãšåŠç¿ã忣ããæ§é ãã€ããããšãéèŠã ãšèããŠããŸãã ãã®ãããªãæææ±ºå®ãã¹ã±ãŒã«ãããšã³ãžãã¢ãã«å¯ŸããŠãç§ãã¡ã¯äœã倧åã«ããæ¡çšã®çŸå Žã§ã¯ã©ã®ãããªç¹ãèŠãŠããã®ãã«ã€ããŠä»¥éã§æŽçããŠãããŸãã äœã®ããã®ãæè¡åãã ç§ãã¡ã®æ¡çšããã»ã¹ã§ããä»ã®å€ãã®äŒæ¥ãšåæ§ã«ããœãããŠã§ã¢ãšã³ãžãã¢ã®éžèã«ãããŠãæè¡é¢æ¥ããè¡ã£ãŠããŸããããã§ã¯ãéå»ã®ãçµéšã䌺ããªããçŸå®ã®åé¡ãããžãã¹äžã®èª²é¡ãã©ã®ããã«æãããœãããŠã§ã¢ãšããŠã©ã®ããã«èšèšããŠããã®ãããã®é£æåºŠãã¹ã±ãŒã«æãªã©ãçè§£ãããŠããã ããŠããŸãã æè¡é¢æ¥ã®çµæã¯ãèœåãææ¡ããããã§éåžžã«éèŠãªæ
å ±ã§ã¯ãããŸãããããã ãã§æ¡çšã決ããå忡件ãšã¯ããŠããŸãããç¹ã«ããé«ãæåŸ
圹å²ãæ
ã£ãŠããã ãããžã·ã§ã³ã«ãªãã»ã©ãæè¡çãªæ£ããã ãã§åé¡ãéããŠããŸãããåšå²ã®æèãåºããããŒã å
šäœã®åŠç¿é床ãé«ããé¢ããæ¹ãã§ãããã©ãããå«ããŠèŠãŠãããããšèããŠããŸãã åé¡è§£æ±ºã®èœå åè¿°ã®ãšãããç§ãã¡ãåãåã£ãŠããäºæ¥é åã«ã¯åžžã«é«ãäžç¢ºå®æ§ãååšããŸãããšãã«ã¯ãæ©èœãéçºããæå³ïŒWHYïŒãã®ãã®ãæç¢ºã«å®çŸ©ãããŠããªãç¶æ
ã§åãåãããšããããŸãã ãã®ãããªç¶æ³ã«ãããŠç§ãã¡ãæåŸ
ããŠããã®ã¯ããããã¯ãããã¯ããªãŒããŒã決ããããšããšç·ãåŒãããšã§ã¯ãªããå¿
èŠãªã³ã³ããã¹ããéããèªåããšãšããŠèª²é¡èšå®ã«é¢ãããªããå°ããã€ãœãããŠã§ã¢èšèšã®ææãã€ãã£ãŠããå§¿å¢ã§ãã 衚局çã«çŸããŠããåé¡ã ããå¡ãã®ã§ã¯ãªãããªããã®åé¡ãèµ·ããŠããã®ããèããã¢ãŒããã¯ãã£ãçµç¹ãããã»ã¹ãšãã£ãè€æ°ã®èгç¹ãè¡ãæ¥ããªããæ§é çã«èª²é¡ãæãçŽããŠããããšãéèŠã§ããããã®ããã®ææ®µãšããŠãæè¡ãã䜿ã£ãŠãããšã³ãžãã¢ãšäžç·ã«ä»äºãããããšç§ãã¡ã¯èããŠããŸãã 颿¥ã§ã¯ãèšèšãã®çµéšã«ã€ããŠå€ã䌺ããŸãããäžè¬è«ãšããŠã®èšèšã§ã¯ãªããåãåã£ããã¡ã€ã³åºæã®äžç¢ºå®æ§ã«å¯ŸããŠã©ã®ãããªèšèšå€æãè¡ã£ãã®ãããã®èšèšãæéã®çµéãšãšãã«ã©ã®ããã«å€åããŠãã£ãã®ããè€æ°ã®éžæè¢ã®äžãããªããã®å€æãéžãã ã®ããäœãå®ããäœãæšãŠãã®ããšãã£ãã倿ã®èæ¯ããéèŠããŠããŸãã ãªãŒããŒã·ããã®ããæ¹ æè¡åãšåæ§ã«ãæ¡çšã«ãããŠã¯ãšã³ãžãã¢ãšããŠã®ããªãŒããŒã·ããã®ããæ¹ãã倧åã«ããŠããŸãã ç§èªèº«ã¯ã匷ããªãŒããŒã·ããã«å¿
ãããè©æžãã¯å¿
èŠãªããšèããŠããŸããæš©éã®æç¡ã«é¢ããããç¶æ³ãçè§£ãæ ¹æ¬çãªèª²é¡ãèšå®ããªããç©äºãåã«é²ããŠããåããæèŠã®å¯Ÿç«ãæããã«ç¶æ³ãæŽçããææŠã®éçãæããŠããåãããéèŠã ãšèããŠããŸãã ãããŸã§å€ãã®é¢æ¥ãæ
åœããŠããäžã§ãè€éãªåé¡è§£æ±ºãçµéšããŠãããšã³ãžãã¢ã®å€ãã¯ãåçŸæ§ã®ãããæè¡ä»¥å€ã®èœåãã䜵ãæã£ãŠãããšæããããšãå€ããããŸãããç¹ã«ã瀟äŒçèæ¯ãæ¥çç¹æ§ãããžãã¹äžã®æèãšãã£ãã³ã³ããã¹ããçè§£ããããšããå§¿å¢ã匷ããããªãïŒWHYïŒããã®ã¿ã€ãã³ã°ã§ïŒWHENïŒã誰ã®ããã«ïŒWHOïŒããã®åé¡ãïŒWHATïŒãè§£ãå¿
èŠãããã®ãããšãã£ãç¹ã«ã€ããŠãè§£å床ã®é«ã説æãããŠããã ããããšãå€ãå°è±¡ã§ãã ãŸãããã®ãããªãªãŒããŒã·ãããçºæ®ããæ¹ã»ã©ãä»è
ãç¶æ³ããã®ãã£ãŒãããã¯ã«å¯ŸããŠãæè»ã§ããããã«æããŸããä»è
ããã®ææãã倿ã®çµæãšããŠãŠãŒã¶ãŒããå¯ããããæèŠã«å¯ŸããŠãé²åŸ¡çã«ãªãã®ã§ã¯ãªãèªåã®åæãçãåé¡ãæãçŽãããšããå§¿å¢ãæã£ãŠãããã©ããã倧åã«èŠãŠããŸãã 颿¥ã®å Žã§ã¯ãç§èªèº«ãçè§£ããããªãã£ãç¹ãéåæãèŠããç¹ã«ã€ããŠã¯ççŽã«è³ªåããããã«ããŠããŸãããã¡ãããæå³çã«æãè¶³ãåããããªèãæ¹ãããããšã¯ãããŸãããããäºãã®èããããåãããããã®å¯Ÿè©±ãšããŠããã®èæ¯ã倿çç±ãäžå¯§ã«äŒºãããã«ããŠããŸãã å¶çŽã匷ãç°å¢ã§ããããš åé¡è§£æ±ºåããªãŒããŒã·ããã«å ããŠãå€éšç°å¢ã«ããå¶çŽãšåãåããªãããšã³ãžãã¢ãªã³ã°ãè¡ã£ãŠããçµéšããããã©ãããã倧åãªèгç¹ã®1ã€ã§ãã æ³å¶åºŠãæ¥çç¹æã®åç¿æ
£ããªãœãŒã¹ãæéã®å¶çŽãå€§èŠæš¡ã§è€éãªãœãããŠã§ã¢ãšãã£ãåææ¡ä»¶ã®äžã§ãçæ³ãçè§£ãã€ã€ãçŸå®çãªçå°ç¹ãèŠåºããŠããçµéšããã®äžã§ãå°æ¥å€ãããããã®ããšãå€ããããªããã®ããã©ã®ããã«åãåããŠèããŠããã®ãã¯ãå¿
ã䌺ãããã«ããŠããŸãã ä»è·æ¥çã«ãããŠã¯ãè€éãªæ³å¶åºŠã顧客æ¥åã«ãšã£ãŠå€§ããªå¶çŽãšãªããåæã«ãœãããŠã§ã¢èšèšã«ã匷ã圱é¿ããŸããããããç¡èŠããããšã¯ã§ããªãäžã§ãäœãéžã³ãäœãæšãŠãã®ããšãã倿ãç©ã¿éããŠããçµéšã¯ãç§ãã¡ãç¹ã«å€§åã«ããããã€ã³ãã§ãã é æ°ã§è§£æ±ºããªãæ¡çš ç§ãã¡ã¯ãè€éã§äžç¢ºå®æ§ã®é«ã瀟äŒèª²é¡ã«åãåããªãããœãããŠã§ã¢éçºãè¡ã£ãŠããŸãããã¡ããããããŸã§ã«æžãããã¹ãŠã®èœåãçµéšãäžäººã®ãšã³ãžãã¢ã«æ±ããŠããããã§ã¯ãããŸããã æ¡çšã«ãããŠç§ã倧åã«ããŠããã®ã¯ã人æ°ãç®æšã«ããŠã匷ãå人ããéããããšã§ã¯ãªããæªæ¥ã®ã匷ãããŒã ããã€ããããã«å¿
èŠãªèŠç¹ã圹å²ãæã£ãæ¹ãšåºäŒãããšã§ãã éžèã®å Žã§å€ãã®ãšã³ãžãã¢ã®æ¹ãšå¯Ÿè©±ããäžã§ãç§èªèº«ãæ¥ã
å€ãã®åŠã³ãåŸãŠããŸãããããŸã§ãšã¹ã»ãšã ã»ãšã¹ã®æ¡çšã«é¢ãã£ãŠãã ãã£ããã¹ãŠã®æ¹ã«æè¬ãã€ã€ãããããããçµç¹ã®æªæ¥ãäžç·ã«ã€ãã£ãŠãããæ¹ãšã®åºäŒãã倧åã«ããŠãããããšèããŠããŸãã åŒãç¶ããã«ãžã¥ã¢ã«é¢è«ãéžèãžã®ãå¿åããåŸ
ã¡ããŠããŸãã
ãã®èšäºã¯ æ ªåŒäŒç€Ÿãšã¹ã»ãšã ã»ãšã¹ Advent Calendar 2025 ã®22æ¥ç®ã®èšäºã§ãã ã¯ããã« ããã«ã¡ã¯ïŒ ãŠã§ã«ããŒãžã§ã ã ã·ã«ãã« ã ã«ã€ãŽãžã§ãã¢ã«ãã㌠ã§ãšã³ãžãã¢ãªã³ã°ãããŒãžã£ãŒãšãããã¯ããããŒãžã£ãŒãæ
åœããŠãã è±æ¿± ã§ãã èªå·±ç޹ä»ã¯å
æ¥ã®èšäºãã芧ãã ããã tech.bm-sms.co.jp ä»åã¯ãäœããªãæè¡ãã«ã€ããŠã話ããŸãã ãã®ã¥ããã«é¢ããã³ã¹ããæéã倧ããæžãããæä»£ã«ãªã£ãããããããããã£ãèŠç¹ãæã£ãŠåãçµãããšã§æ¬è³ªçãªèª²é¡ã«åãçµããã®ã§ã¯ããšèããŠããŸãã ãã€ããã£ãŠããããš ãããã¯ãéçºã«é¢ãã£ãŠããæ¹ã¯ã现ããéãã¯ããã©æŠã以äžã®æµãã§é²ããŠããããšãå€ãã®ã§ã¯ãšæããŸãã çŸç¶ãåžå Žã顧客ã®åæ éæãããç®çã¯ãªã«ã æäŸã§ãã䟡å€ã¯ãªã«ã ãããã¯ããšããŠæäŸãã¹ããã®ã¯ãªã«ã èšèšãéçºããã¹ãããªãªãŒã¹ æ€èšŒ 1ã3çªãããã«æ»ããçºå±ããã ãã®ã¥ãããããããã«ãæèŠã宿§ã§ã¯ãªããç®çã䟡å€ãæç¢ºã«ããŠãããŒã å
šäœã§åãç®ç·ãæã£ãŠåãçµãã®ã¯ãšãŠãããããšã§ãã ãã ãããæ€èšŒããããã«ããªã«ããã®ãäœããªããšãããªãããšããæµããåœç¶ã«ãªã£ãŠããªãã§ããããã ãªã«ããäœãã«ã¯äººä»¶è²»ãã€ã³ãã©ã»ã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ããªãªãŒã¹ãããã®ã§ããã°éçšãã¡ã³ããã³ã¹ã»é¡§å®¢å¯Ÿå¿ããããŠããããããªãããã®ãæéããªã©ãæè³ãå¿
ãå¿
èŠã«ãªã£ãŠããŸãããããžè³ãåã«ãŸã ãããããšãããããããã®ã§ã¯ããšèããŠããŸãã äœããªãããã®å·¥å€« ããŸãããã®ã®çµã¿åãããèŠçŽãã§ã©ãã«ããã 瀟å
ããŒã«ã®äœ¿ãã¥ãããè§£æ¶ããã ãªãŒãã¿ã€ã ãçãããã 人çãªãœãŒã¹ãæé©åããã è€éãªãããŒããªãããã ãããã£ãç®çãææããã£ãŠé²ããããšã¯ãããããŸãã æ°ãããããã¯ãã§äŸ¡å€æäŸããã®ãé©åãªå ŽåããããŸãããããŸãããããŒãã¬ã©ããšå€ããã®ã倧ããªã³ã¹ããšæéãããã£ãŠããŸããŸãã ããŸã®è€éãªãããŒãå
šãæ°ããã·ã³ãã«ãªãã®ã«ãã âããŸã®ãããŒã®ãªãã§ãåŸ
ã¡ãçºçããŠããéšåã䞊ååãã è€æ°ãã管çç»é¢ã1ã€ã«éçŽãã âè€æ°ã®ç®¡çç»é¢ã¯å€ããããŸãã¯ããŒã¿ã®é£æºã人æïŒã³ããïŒã§ãã£ãŠããéšåãèªååãã ãšãã£ããšããããå
¥ãã®ã次ã«é²ãã倧ããªäžæ©ã ãšèããŠããŸãã çŸç¶ã®çè§£ãå¯èŠåã«æéãããã£ãŠããŸãã®ã§ã¯ããšããèŠæ¹ããããŸããããªããããååšããŠããã®ãïŒã確èªããããšã¯æ°ãããããã¯ããäœãã«ããŠãå¿
èŠãªããã»ã¹ãªã®ã§ãå
šãç¡é§ã«ãªããšã¯ããŸãèããŠããŸããã ãã®ãããã¯ãã»æ¥åããªããããã©ããªãã®ã ãã¯ããäœããªãã©ãããäœã£ãŠãããã®ããªãã話ã«ãªã£ãŠããŸãããããŸãããã®ãæ¬åœã«å¿
èŠãªã®ãããšããæ€èšŒããã£ãŠããã¹ãã§ãã ãªããããšã§å€±ããã䟡å€ã¯ãªããªã®ã ç¶æããŠããããã®æè³ãéã¿ããšã©ããªãã®ã æ°ãããããã¯ããäœã£ãŠç§»è¡ãããã³ã¹ããšã®ãã¬ãŒããªãã¯ã©ããªã®ã å®ã¯ãªããã ãã§ãç®çãéæã§ããã®ã§ã¯ãªãã ãã¡ãããåãªãæè³å¯Ÿå¹æããã¬ãŒããªãã ãã§å€æã§ããããã§ã¯ãããŸããããçºæ³ãšããŠããªãããŠã¿ãããèããŠããã®ã倧äºã ãªãšæããŸãã ãŸãšã ããŸããŸãªæè¡ãœãªã¥ãŒã·ã§ã³ã»è¿å¹Žã®çæAIã»IDEã«ä»£è¡šãããããŒã«ã«ãã£ãŠã10幎åã«æ¯ã¹ãŠäœãããŒãã«ã¯å§åçã«äžãããäœããªãã詊è¡ããŠãããã®ã«çºå±ãããŠããããšããã®ãã¹ã¿ã³ããŒããªæä»£ã«ãªã£ãŠããŸããã ãããªæä»£ã ããããããããã«äœããã«ææãåºããããã¿ãããªèŠç¹ãæã£ãŠããã®ã1ã€ã®ãæè¡ããªããããªãããªãšèããŠããããªã¿ã€ãã«ãã€ããŠã¿ãŸããã
ãã®èšäºã¯ æ ªåŒäŒç€Ÿãšã¹ã»ãšã ã»ãšã¹ Advent Calendar 2025 ã®19æ¥ç®ã®èšäºã§ãã ããã«ã¡ã¯ããšã¹ã»ãšã ã»ãšã¹ã®äººæç޹ä»éçºã°ã«ãŒãã§ãããŒãžã£ãŒãããŠãã @kenjiszk ã§ããä»åã¯ã«ãžã¥ã¢ã«ãªç§ã®æ©ã¿ã«ã€ããŠæžããŠã¿ãããšæããŸãã ã³ãŒããæžããªããããŒãžã£ãŒ æ¥åã§ã³ãŒããæžããã©ããã¯ãããžã¡ã³ãããŠããé åãçµç¹èŠæš¡ã«å¯ããšæããŸãããç§ã¯çŸåšãæ¥åã«ãããŠãã³ãŒããæžããªããããŒãžã£ãŒããšããã¹ã¿ã€ã«ããšã£ãŠããŸããã³ãŒããæžãããšãå«ãã§ã¯ãªãã§ãããå®éã«ã³ãŒããæžãããšã§æè§Šãæãæã£ãŠãããã¯ããæ±ãããšã¯éåžžã«å¥œãã§ãããã ãããããžã¡ã³ããšãã芳ç¹ã«ãããŠä»¥äžã®çç±ã§ã³ãŒããæžãããšãããŠããŸããã ãããžã¡ã³ãæ¥åã«é¢ããããä»äºã¯ã¬ãã¬ããžãå¹ããã€ã³ãã«åãå²ãããšãè¯ããšèããŠãã æ®å¿µãªããã¹ãŒããŒãšã³ãžãã¢ã§ã¯ãªãç§ã¯èªåãã³ãŒããæžãããšã§å¹ãããããã¬ãã¬ããžãããããããžã¡ã³ãæ¥åã«ãã£ãŠäºæ¥ã«äžããããã¬ãã¬ããžã®æ¹ã倧ãããšæããŠãã ããããä»ã®ç¶æ
ã§äžéå端ã«ã³ãŒããæžãå§ãããš2çš®é¡ã®ããã«ããã¯ãçºçããã 1ã€ç®ã¯ãå
ŒåãšããŠã³ãŒããæžãã®ã§ãããããå®è£
é床ãã¯ãªãªãã£ã¯é«ããªãã倧ããªissueã¯æ±ããªã 2ã€ç®ã¯ãã³ãŒããæžãããšã«æéã䜿ãããšã§ãæ¬æ¥ããã¹ãæææ±ºå®ãæŠç¥ã¥ãããªã©ã«æéãå²ããªããªã ãšããããšã§ãæå³çã«ã³ãŒããæžããŠããªããããããè¯ããšæã£ãŠããŸãã çæAIã®ç»å Ž ãã ããã®ç¶æ³ã¯èªåãéå»ã«ã³ãŒããæžããããšãããããæç«ããŠãããšãèšããŸãããŸããSREãããã€ã¯ããµãŒãã¹ã®éçšããããã£ãŠããçµéšãããã®ã§ã·ã¹ãã å
šäœãéããŠããçšåºŠçè§£ã§ãããšããåæãããæç«ããŠãããã§ãã ãããªãããªã§ãŸããªããšããã£ãŠããããã§ãããæè¿ã¯ãããªäºãããå£ã«ããŠãããªããšæããŸããã ããã®èŸºã¯AIã«æžããã¡ãã£ãŠã倧äžå€«ããã§ããã ããã®åŠçã¯AIãåŸæãããªãã§æžããã¡ãããŸããããã ãAIã§ã³ãŒãæžãã®åœããåã«ãªã£ãŠããŠãŸãããŒã ãããŠæ°ã¥ããŸãããã¯ãŠãç§ã¯AIãæŽ»çšããŠã³ãŒããæžããããšãã£ãã£ãïŒããšã ã³ãŒããæžããªããããŒãžã£ãŒã¯ã©ãã§AIã䜿ã£ãŠã³ãŒããæžãïŒ ãã£ãããšããªããªããã£ãŠã¿ãã°ããã®ã§ãããç§ã¯ã³ãŒããæžãæ¥åãããŠããªãã®ã§AIãæŽ»çšããã³ãŒãã£ã³ã°ã詊ãå ŽæããããŸãããã©ããããã ç¡çããæ¥åã®äžã«ã³ãŒãã£ã³ã°ã®ã¿ã¹ã¯ããã蟌ãã§ããåè¿°ã®ããã«èªåãããã«ããã¯ã«ãªãããšã¯ç®ã«èŠããŠããŸãããã£ããè
°ãæ®ããŠåãçµãã°è¯ãã®ã§ãããããè²ã
ãªä»èŸŒã¿ãããŠããæäžã§ããã£ãŠããã£ã¡ã¯ãã£ã¡ã§æéãå²ããªããšãããªãç¶æ³ã§ããã ã§ããã°ããå人éçºãããªãããã§ãã 以åã¯å人éçºãããŠããããšããã£ãã®ã§ããããªããªãç¶ç¶çã«ã³ãŒããæžãæéã確ä¿ã§ããããã§ããªãã®ã§ããæ°å¹Žã¯æå¿µããŠããŸãããAIãã³ãŒããæžããŠããããªãæéããããŸã§äœ¿ããªããŠãäœãäœããããªã®ã§å人éçºãåéããŠã¿ãããšã«ããŸããã ãã®ããã°ã§äŒãããããšã®äž»é¡ã§ã¯ãªãã®ã§ã¢ããªã®æ©èœãäžèº«ã«ã€ããŠã¯è§ŠããŸããããFlutter + Firebaseãšããæ§æã§ã·ã³ãã«ãªiOSã¢ããªãäœã£ãŠã¿ãŸããããã¶ã€ã³ãå«ããŠå®è£
ããŠããŠããªããšãªãã®é°å²æ°ã¯ä»¥äžã®ãããªãã®ã«ãªããŸãã ãã£ãŠè¯ãã£ãvibe coding AIã«ããã³ãŒãã£ã³ã°ã«ã€ããŠã¯ãããããšããã§ãã®å¹æãèªãããŠããŸãã®ã§æ¹ããŠããã§ãŸãšããã€ããã¯ãªãã§ãããå®éã«æãåãããŠãã£ãŠã¿ãããšã¯äŸ¡å€ããã£ããªãšæããŸãã ãŸãåœããåã®è©±ã§ãããå§åçã«äŸ¿å©ã§ããïŒç¬ïŒã first commitã2025/11/6ã§ãããããããé±ã«æ°æé空ããæéã䜿ãçšåºŠã§çŽ1ãæã§æŠãã®æ©èœãäœãçµããããšãã§ããŸãããã·ã³ãã«ãªæ§æãšã¯ãããFirebaseã«ããèªèšŒåšããFirestoreãžã®ããŒã¿ä¿åããããããŒãžããè€æ°ããŒãžãžã®é·ç§»ãªã©ãäžéãã®æ©èœãæã€ã¢ããªã§ããããããäºæ³å€ã«ç°¡åã«äœããŠããŸããŸããã å人çã«ç¹ã«äŸ¿å©ã ãšæããã®ã¯ãå®çŸãããæ©èœã®æŠèŠãäŒãããšãããã«é©ããã©ã€ãã©ãªã®éžå®ããææ¡ããŠãããç¹ã§ããææ°ã®èšèªã»ãã¬ãŒã ã¯ãŒã¯äºæ
ããããŸã§ãã£ããã¢ããã§ããŠããªã身ãšããŠã¯ããã®èŸºãã®èª¿æ»ã®æéã倧å¹
ã«ã·ã§ãŒãã«ããã§ããã®ã¯éåžžã«å©ãããŸããã AIéçºã¯é åã«ãã£ãŠãèœåã®ã¹ã±ãŒã«ã¢ãŠããããŠãããå Žåãšã¹ã±ãŒã«ã¢ãããããŠãããå ŽåããããšããããšãããããŸããïŒã¹ã±ãŒã«ã¢ãŠã/ã¹ã±ãŒã«ã¢ããã¯æ¬æ¥ã€ã³ãã©çšèªã§ããããããå°æ°ãå¢ãããŠåŠçèœåãäžããããåäœã®æ§èœãäžããããšããæå³ã§ããããã§ã¯ãèªåãšåãèœåãæã€å身ãå¢ããããèªåã«ãªãå°éèœåãç²åŸããããšããæå³ã§äœ¿ã£ãŠããŸãïŒã èªåãåŸæãªé åãå®çŸæ¹æ³ã詳ããç¥ã£ãŠããç®æã§ã¯èœåãã¹ã±ãŒã«ã¢ãŠãããŠãããæèŠã«ãªããŸããç§ã®å Žåã¯ãFlutter + Firebaseãšããæ§æã§ã¢ããªãäœãããšã¯äœåºŠãçµéšãããã®ã§ããã®éšåã¯èªåãåºæ¥ãããšã代ããåã«é«éã§ã³ãŒãã£ã³ã°ãããŠãããŠãããšããæèŠã§ãããèªåãããäžäººããæèŠã§ãã äžæ¹ã§ããã¶ã€ã³ã ã£ããã¢ããªã®ã¢ã€ã³ã³ã®äœæãšãããšããã§ã¯ãç§ã¯å°éå®¶ã§ã¯ãªãã®ã§ãªããšãªãã®ã€ã¡ãŒãžãäŒããã ãã§ããããªãã®ã¯ãªãªãã£ã®ãã®ãäœãåºããŠãããŸãããããã¯ç¢ºå®ã«èœåã®ã¹ã±ãŒã«ã¢ããããããŠãã宿ããããAIã䜿ã£ãŠããŠäžçªãã³ã·ã§ã³ãäžãããã€ã³ãã§ãããããã¯èªåãããäžäººãããšããããã¯ãå°éå®¶ãèªåã®ããã«åããŠãããŠãããšããæèŠã§ããã å¥ã®èгç¹ãšããŠãèªåã§æãåããã«ã¯ã¡ãã£ãšãã³ã·ã§ã³ãäžãããªããã©ãããªããšãããªãã¿ã¹ã¯ã¯å
šéšAIããã£ãŠãããã®ã¯ãšãŠãè¯ããç§ã®å Žåã¯ãã¹ãã¢ã«ã¢ããªãåºãããã®èšå®ãã¹ãã¢ã«è¡šç€ºããé
åçãªæèšäœæã¯å
šç¶ããæ°ãåºãªãã®ã§ãã®èŸºããå
šéšä»»ããããã®ã¯ãšãŠãããããããªãšæããŸãããããã¯æå¥ãèšããªãç§æžçãªæèŠã§ãã ã¡ãªã¿ã«å
šãæ°èŠã®èšèªããã¬ãŒã ã¯ãŒã¯ã ãšãã€ããã ãªãšããã®ãåæã«æããŸãããå°ãªããšãç§ãæ±ããšãèšèªããã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽãèšèšæ¹éãªã©ãçè§£ããŠããªãç¶æ
ã§AIã«ä»»ãããšçµæ§é
·ããã®ãåºæ¥äžãã£ãŠãããã§ãã ãŸããå®è£
ã«ã€ããŠã¯ãã«ã£ãšä»»ãããšåé·ã§é©åœãªãã åãã ãã®å·šå€§ãªã³ãŒããåºããŠããã®ã§ãå¿
ç¶çã«æå³ã®ããæå°åäœã®æç€ºãAIã«åºãããšã«ãªãã现ããä¿®æ£ãå°ããã€ç©ãã§ãããšããã¹ã¿ã€ã«ã«èªç¶ãšãªããŸããã æåŸã« AIã«ããã³ãŒãã£ã³ã°ã§ã¢ããªéçºããããšããå®çžŸãè§£é€ããŸããã®ã§ãä»åŸã¯èªä¿¡ãæã£ãŠãããç³»ã®åŠçã¯AIãåŸæããã ããAIã«æžãããŸãããããšããAIã§éçºãããšã¬ãã¥ãŒå€§å€ã§ãããããšå£°é«ã«èšã£ãŠããããšæããŸãïŒ åé ã§è§Šããããã³ãŒããæžããªããããŒãžã£ãŒããšããéžæãä»åŸå€ãã£ãŠãããããããŸãããä»åã¯AIãã³ãŒãã£ã³ã°ã«æŽ»çšããéšåã ãã«è§ŠããŠããŸãããããããæ¥åã§AIã®æŽ»çšã¯ç©æ¥µçã«ããŠãããããšèããŠããŸãã AIã®ç»å Žã«ããã©ããªããšã§ãè²ã
ãšè§Šã£ãŠè©ŠããŠã¿ãã³ã¹ãã倧å¹
ã«äžãã£ããšæãã®ã§ãç©æ¥µçã«æ°ããããšãåãå
¥ããã£ã¬ã³ãžããçµç¹ãç®æããŠãããŸãã
ã¯ããã« ãã®èšäºã¯ æ ªåŒäŒç€Ÿãšã¹ã»ãšã ã»ãšã¹ Advent Calendar 2025 ã®18æ¥ç®ã®èšäºã§ãã ã¯ãããŸããŠããšã¹ã»ãšã ã»ãšã¹ ãããã¯ãæšé²æ¬éš æ¡çšã»çµç¹éçºæ¯æŽã°ã«ãŒãã®éã§ãã ä»å¹Žã®8æã«å
¥ç€Ÿããã°ããã§ããããªãç§ããšã¹ã»ãšã ã»ãšã¹ã«å
¥ç€Ÿããã®ããä»ãã£ãŠããããšããããŠä»åŸãã£ãŠããããããšã玹ä»ããŸãã ä»ãŸã§ã®çµæŽ åè·ã¯ããžã¿ã«ããŒã±ãã£ã³ã°SaaSãæäŸããäŒæ¥ã«æå±ããŠããŸããã2018幎ã«ãšã³ãžãã¢ãšããŠå
¥ç€ŸããçŽ5幎ééçºã«æºãããŸãããéçºæ¥åã ãã§ãªããããŒã ãªãŒããšããŠã®ãããžã¡ã³ããå€éšç»å£ãªã©ãæ§ã
ãªçµéšããããŠããããŸããã ããŒã ã§éçºãããããã¯ããã¹ããŒãã£ãŒã«åœ¢ã«ãªãããŠãŒã¶ãŒããå¬ãããã£ãŒãããã¯ãå±ãç¬éããéçºã®ééå³ã ãšæãããšã³ãžãã¢ãšããŠæ¥œããä»äºã«åãåã£ãŠããŸããã 転æ©ã蚪ããã®ã¯ããšã³ãžãã¢æ¡çšãè³ãããªãã誰ããšã³ãžãã¢æ¡çšãçœåŒããå¿
èŠãåºãŠãããšãã§ããããšã³ãžãã¢ããã¯ã°ã©ãŠã³ãããããã³ãã¥ãã±ãŒã·ã§ã³ãæ¯èŒçåŸæã ã£ãç§ã«çœçŸœã®ç¢ãç«ã¡ã2023幎7æãããšã³ãžãã¢æ¡çšè²¬ä»»è
ãšããŠã®ãã£ãªã¢ãå§ãŸããŸããã 颿¥å®ä»¥å€ã®æ¡çšæ¥åã¯æªçµéšã§ããããåšå²ã®ååãããã倧å€ãªãããæåŸ
ã«å¿ããææãåºãããšãã§ããŸããããšã³ãžãã¢æä»£ã«æãããããŒã ã§éçºãããããã¯ããã¹ããŒãã£ãŒã«åœ¢ã«ãªãäœéšã«ãããŠãåªç§ãªããŒã ã¡ã³ããŒãååšããããšã1ã€ã®èŠå ã§ãããšæããŠããŸãããã®ããŒã ã¡ã³ããŒãããã®ãåœæã®æ¡çšããã£ãããããã§ãããäŒç€Ÿã»çµç¹ã»ããŒã ã«ãšã£ãŠã¯æ¡çšãéèŠã§ããã®ã身ããã£ãŠæããŸããããŸããçµç¹ããããã¯ãã®èª²é¡ãšåè£è
ã®ãã£ãªã¢ã«æ·±ãå
¥ã蟌ãããšã§ããªããã®åè£è
ã«å
¥ç€ŸããŠãããããã®ãã®ã¹ããŒãªãŒãäœããçµæãšããŠåè£è
ã«ç±éé«ãå
¥ç€ŸããŠãããããšãã®å¬ããã¯ããããã®ãªããã®ã§ããããããã£ãæåäœéšãéããŠãæ¡çšãã¯ãããšããã人ã»çµç¹ãã«åãåãæ¥œããããããŠåªç§ãªã¡ã³ããŒãæ¡çšããããšã®ã€ã³ãã¯ãã®å€§ãããèã§æããŸããã ãšã¹ã»ãšã ã»ãšã¹ã«å
¥ç€Ÿããçç± åè·ã§ã®äººäºã®ä»äºã楜ããã£ãã®ã§ããã人äºãžã®ãžã§ããã§ã³ãžãã2幎ãåšç±æéã6幎åãçµã¡ããä»ã«ã©ã®ãããªç°å¢ãããã®ãããšå€ã®äžçã«ãèå³ãæã¡å§ããŸããã ãããªäžãçŸåšã®ã°ã«ãŒãé·ã§ãã @emfurupon777 ãšã«ãžã¥ã¢ã«é¢è«ãããæ©äŒãããããšã¹ã»ãšã ã»ãšã¹ã«ã€ããŠè©³ããèããŸãããç¹ã«åºãã£ãã®ã¯ãäŒæ¥ç念ãããã·ã§ã³ã»ããªã¥ãŒã«ããããã«ãç¶ããéèŠããŠããç¹ã§ããã€ãŸãããé·æãèŠæ®ããŠäŸ¡å€ãåºãç¶ããããšãã倧äºã«ããŠãããšããæåã§ãã ãšã¹ã»ãšã ã»ãšã¹ãåãåãæ¥æ¬ã®é«éœ¢ç€ŸäŒã®èª²é¡ã¯éåžžã«å£®å€§ã§ãã1幎ããããã§è§£æ±ºã§ãããã®ã§ã¯ãªãã10幎ã20幎ãšããã¹ãã³ã§èããªããã°ãªããŸããããã®ããã«ã¯é·æèŠç¹ã§æèããç¶ç¶çã«ã¢ã¯ã·ã§ã³ãåãç¶ããããšãéèŠã«ãªããŸãã ç§èªèº«ããããŸã§é·æã§æèããçµéšã¯ãããŸããã§ãããããå°æ¥çµç¹ãçœåŒãã人æã«ãªãã«ã¯ãé·æçãªèŠåº§ãå¿
èŠã ããšããèª²é¡æãæã£ãŠããŸããããŸãããã®å£®å€§ãªèª²é¡ã«åãåãçµç¹ãäœãããšã¯éåžžã«ãã£ã¬ã³ãžã³ã°ã ãšæããåŒ·ãæ¹ãããŸããã éžèéçšã§ãæè¡è²¬ä»»è
ã® @sunaot ã人æç޹ä»éçºéšEMã® @kenjiszk ã人äºã® @fkc_hr ãšãã話ãããŸããããçãããåªç§ã§ããããšã¯ãã¡ãããããšã¹ã»ãšã ã»ãšã¹ãéããŠç€ŸäŒãè¯ããããããšããç±ãæããã²ãã²ããšäŒãã£ãŠããŸããããã®ããã·ã§ã³ã«æåãããæ¬¡ã®ãã£ã¬ã³ãžã®å ŽãšããŠãšã¹ã»ãšã ã»ãšã¹ãéžã³ãä»å¹Ž8æã«å
¥ç€ŸããŸããã ä»ãšã¹ã»ãšã ã»ãšã¹ã§ãã£ãŠããããš çŸåšã¯ããããã¯ãæšé²æ¬éšã®ãšã³ãžãã¢æ¡çšãã¡ã€ã³ã§é²ããŠããŸãã æ¡çšæ¥åã¯å€å²ã«æž¡ããŸãããæéçã«ãæ¯éã倧ããã®ã¯ãã«ãžã¥ã¢ã«é¢è«ããšãåè£è
ã®éžèãããŒæ§ç¯ãã®2ã€ã§ãã ã«ãžã¥ã¢ã«é¢è«ã«ã€ã㊠åè·ã§ã®çµéšããããã«ãžã¥ã¢ã«é¢è«ã§ã©ãã ãèªåãã¡ã«é«ãé¢å¿ãæã£ãŠãããããããåè£è
ã®æææ±ºå®ã«ãããéèŠãªèŠçŽ ã ãšèããŠããŸãããŸããå
¥ç€Ÿæã«æåŸ
ãããŠããããšã®1ã€ããä»ãŸã§ã®ãšã¹ã»ãšã ã»ãšã¹ã«ã¯ãªããç§ãªãã§ã¯ã®ç±éã»ã¢ãããŒããã§ããããã®ãããèªåã®èšèã§ãšã¹ã»ãšã ã»ãšã¹ã®é
åãèªããããã«ãªãå¿
èŠããããŸããã çµç¹ãäºæ¥ã®ãã£ããã¢ãããèœã¡çããå
¥ç€Ÿ1ãæåé ããããŸãã¯ç°èŸºãããEMé£ã®é¢è«ã«ååžããŠèŠåŠã次ã«ç§ãäœæããè³æã䜿ã£ãŠã¡ã€ã³ã§è©±ãã @sunaot ã @emfurupon777 ã«ååžããŠããã£ãŠãã£ãŒãããã¯ããããâŠâŠãšãããµã€ã¯ã«ã§ãã©ãã·ã¥ã¢ããããŠãããŸãããçãããšãŠãååçã§ããã£ãããã£ãŒãããã¯ãããããç°å¢ã¯æ¬åœã«ãããããã§ãïŒ æ¡çšããŒã ã§ã¯ä»å¹Ž9æä»¥éããã€ã¬ã¯ããªã¯ã«ãŒãã£ã³ã°ã玹ä»äŒç€Ÿé£æºã®åŒ·åã«ããæ¯éå£åœ¢æãããŸããã£ãŠãããç§ã®9æãã12æçŸåšã®ã«ãžã¥ã¢ã«é¢è«æ
åœæ°ã70ä»¶ãè¶
ããŸããã ãŸã 粟床ãäžããäœå°ã¯ãããŸãããçæéã§å€ãã®æ©äŒããããããããã§ãåè£è
ã®æ¹ãããéãããšã®é¢è«ãææçŸ©ã§ããããšãã£ãããžãã£ããªææ³ãããã ããããšãå¢ããŸããããŸããç§ãæ
åœããåè£è
ã®æ¹ããªãã¡ãŒãå
宿¿è«Ÿã«è³ãã±ãŒã¹ãåºãŠããŠããŸãã ã«ãžã¥ã¢ã«é¢è«ã§è©±ããã³ã«ããšã¹ã»ãšã ã»ãšã¹ã®åãåã課é¡ã®å£®å€§ããšãããã¹ãããšã®å€ããåèªèããŸããç§ãé
åãæãããšãã®ããã«ãåè£è
ã®æ¹ã«ããä»ãšããããã®ãšã¹ã»ãšã ã»ãšã¹ãã®é
åãæããŠãããããããä»åŸãåãå
¥ããŠããããã§ãã éžèãããŒã®æ§ç¯ å
¥ç€ŸããŠé©ããããšã®1ã€ãããåè£è
ãžã®åãåããã«çžåœãªåãå
¥ããŠããç¹ã§ãã çŸåšã¯æ¯æãæ¡çšããŒã ã§ãã€ãã©ã€ã³ã確èªããŠããŸããååè£è
ã®æ¹ã«ã©ã®ãããªéžèãããŒãçµãã¹ããããã®å Žã§æ±ºããããªãå Žåã¯èª°ã«çžè«ãããã話ãåããŸãããšã¹ã»ãšã ã»ãšã¹ã®éžèã¯ç»äžçãªãããŒã§ã¯ãªããåè£è
ããšã«æè»ã«ã«ã¹ã¿ãã€ãºããããããã£ãããšããè°è«ãå¿
èŠã§ãã åœåã¯ããããŸã§æéããããŠæ±ºããã®ãããšé©ããŸãããããšã³ãžãã¢æ¡çšã®é£æåºŠã幎ã
é«ãŸãäžãåè£è
äžäººã²ãšãã«æ·±ãå
¥ã蟌ãéèŠæ§ãåèªèããŠããŸããïŒãã¡ããããã æéããããã°è¯ãããã§ã¯ãªãã®ã§ãå¹çåã§ããéšåã¯å·¥å€«ãå¿
èŠã§ããïŒ æ¡çšã¯äººãå·»ãèŸŒãæ¥åãå€ãã§ããããšã¹ã»ãšã ã»ãšã¹ã®ã¡ã³ããŒã¯ã³ãã¥ãã±ãŒã·ã§ã³ãéåžžã«åæ»ã§ã建èšçãªè°è«ãã§ããæ¹ã°ããã§ããã ãããããåè£è
ã«åãããæé©ãªéžèãããŒãæäŸã§ããŠããã®ã ãšæããŸãã ãããããã£ãŠããããããš å
¥ç€ŸããŠ5ãæã«ãªããŸãããä»ã®ãšãããšãŠã楜ããåããŠããŸãã ç§ã¯ãä»äºãé·ãç¶ããã«ã¯ããã®ä»äºãé¢çœããããæã倧äºã ãšæã£ãŠããŸãããé¢çœãä»äºãã®æ¡ä»¶ã¯ããåãåã£ãŠãã課é¡ãææŠçã§ããããšããããŠãäžç·ã«åã仲éãåªç§ã§è¯ãã¡ã³ããŒã§ããããšãã§ãã éèŠãªã®ã§ç¹°ãè¿ããŸããããšã¹ã»ãšã ã»ãšã¹ã®åãçµãã§ãã課é¡ã¯å£®å€§ã§ãäžççžã§ã¯ãããŸããããã®ãããåããŠäŒãåè£è
ã®æ¹ã«äžèšã§èª¬æããã®ã¯é£ããã§ããããããã ããããããããåãå£ã§ã®é
åããããåè£è
ã®å
¥ãå£ãšãªã人äºã¯ãäºæ¥ã»ãããã¯ãã»çµç¹ã»äººã«æ·±ãå
¥ã蟌ã¿ãåºãç¥ãå¿
èŠããããŸãã ãŸã çè§£ãæµ
ãé åããããŸããããã®åã飜ããã«ãããããšããããããããšæããŠããŸãããããŠãäžç·ã«åãçµãå¿åŒ·ã仲éãããŸãã ã€ãŸããè
°ãæ®ããŠé·æã§ããããããšã«åãçµãããã ãšæã£ãŠããŸãïŒ ãŸãã¯æ¡çšã軞ã«ãã€ã€ã人äºãšããŠçµç¹ã»äººã®èгç¹ã§ãä»åŸã©ãããã¹ããããèããæ¥é ããåããç«ãŠãŠã¢ã¯ã·ã§ã³ããŠããããã§ãã ãããŠããšã¹ã»ãšã ã»ãšã¹ã§ã¯ããããããžã·ã§ã³ã®ãšã³ãžãã¢ããã¶ã€ããŒãPdMãåéããŠããŸãããã²ç§ãçŸå Žã®ã¡ã³ããŒã®ã«ãžã¥ã¢ã«é¢è«ã§ã話ããŸãããããåŸ
ã¡ããŠããŸãïŒ
ãã®èšäºã¯ãæ ªåŒäŒç€Ÿãšã¹ã»ãšã ã»ãšã¹ Advent Calendar 2025ãã®12/17ã®èšäºã§ãã qiita.com ã¯ããã« ä»è·/é害çŠç¥äºæ¥è
åãçµå¶æ¯æŽãµãŒãã¹ãã«ã€ãã±ãã§QAãæ
åœããŠããäžæã§ããæ°ã¥ãã°å
¥ç€ŸããŠ4幎ãçµã¡ãŸãããçŸåšã¯è€æ°ã®QAããŒã ã«æšªæçã«é¢ããã€ã€ãããŒã ã®ãµããŒããæ¹åæŽ»åã®æšé²ãçµç¹ãããžã¡ã³ããªã©å¹
åºãæ¥åãæ
åœããŠããŸãã ãšã¹ã»ãšã ã»ãšã¹ã§ã¯å
šç€Ÿå¡ãçæAIãæ¥åã«æŽ»çšã§ããç°å¢ãæŽã£ãŠãããç§ãã¡QAãšã³ãžãã¢ããã¹ã掻åãæ¥åå¹çåã«æŽ»çšãé²ããŠããŸããããããçŸç¶ã¯å人ã¬ãã«ã§ã®æŽ»çšãã¡ã€ã³ãšãªã£ãŠãããçµç¹çãªä»çµã¿åããã¬ããžã®æšªå±éãšããé¢ã§ã¯ããŸã ãŸã çæAIãæŽ»ãããããŠããªããšããã®ã宿
ã§ãã ãããã課é¡ã«å¯Ÿããä»åã®èšäºã§ã¯çæAIãå質掻åã«åãå
¥ããããšããŠããå
·äœçãªãã£ã¬ã³ãžäºäŸã«ã€ããŠ2ã€ç޹ä»ããŸãããŸã å
åãªææãåºãŠãããã§ãŒãºã§ã¯ãªãããããŸã§è©Šè¡é¯èª€ããŠããå
容ãšããŠãççŽã«èšèŒããŠããŸãã®ã§ãäºæ¿ãã ããã äºäŸ1. äžå
·ååæãçæAIã§å¹çå å°å
¥ã®èæ¯ ã«ã€ãã±ã§ã¯ãäžå
·åããŒã¿ã«è€æ°ã®åé¡ãæãããŠãå®éçã«åæããä»çµã¿ãåãå
¥ããŠããŸãã詳现ã¯éå»ã«ç§ãå·çããèšäºããåç
§ãã ããã tech.bm-sms.co.jp äžå
·ååæã¯äž»ã«ä»¥äžã®ããã»ã¹ã§é²ããŠããŸãããçæAIãåãå
¥ããã®ã¯ã3.JIRAã®ããŒã¿ãå
ã«åæããããã§ãŒãºã§ãã äžå
·åãJIRAãã±ããã«èµ·ç¥š JIRAã®ããŒã¿ãã¹ãã¬ããã·ãŒãã§éèšã»å¯èŠå JIRAã®ããŒã¿ãå
ã«åæãã â»AI掻çšãã€ã³ã ãã®ãåæãããã®ãã§ãŒãºã¯ãåæçµéšã»ãããã¯ãçè§£ã»ãããŠçç·Žè
ã®åæãå¿
èŠã§ãããå±äººåããããæéãæãã£ãŠããŸããšãã課é¡ãæ±ããŠããŸãããããã§ãæ§é åãããäžå
·åããŒã¿ãçæAIãšé£æºãããåæã®äœæ¥å¹çåãšããã»ã¹ã®æšæºåãç®æãããšã§ããã®èª²é¡ãæç Žã§ãããšèããŸããã ã©ãå®çŸããŠãããïŒ äœ¿çšããçæAIã¯Geminiã§ãããŸããJIRAã«èç©ãããŠããåæå¯Ÿè±¡ã®ãäžå
·åããŒã¿ããçšæããã€ã³ããããšããŠAIã«æž¡ããŸããæ¬¡ã«åæã®ç®çãæåŸ
ããã¢ãŠããããã®åœ¢åŒãšãã£ãå
·äœçãªåææç€ºãããã³ããã§å
¥åããäžå
·ååæã宿œããŠãããŸããäžå
·åããŒã¿ãããã³ããã®è©³çްã¯åŸè¿°ããŸãã äžå
·åããŒã¿ äžå
·åããŒã¿ã¯ãæ®æ®µããéèšã»æŽ»çšããŠããJIRAãã±ããã®æ
å ±ãããŒã¹ã§ãããã®ããŒã¿ã¯ãäžå
·åã®çºçç¶æ³ã ãã§ãªããå質æ¹åã«åããæ·±æãåæãå¯èœã«ãããããè€æ°ã®ãåé¡è»žããæãããŠãŠããŸãã äžå
·åããŒã¿ãæã£ãŠããäž»èŠãªæ
å ±ã¯ä»¥äžã®éãã§ãã é
ç®å 説æ åºæ¬æ
å ± èŠçŽãåçŸæé ãæåŸ
å€ãªã©ãäžå
·åã®æŠèŠæ
å ± ãã¹ããã§ãŒãº äžå
·åãæ€åºãããã¹ããã§ãŒãº ïŒäŸïŒDEVãã¹ããSTGãã¹ã ãªã©ïŒ äžå
·åçš®å¥ äžå
·åã®çš®å¥ ïŒäŸïŒæ°èŠãæ¢å ãªã©ïŒ æ€åºçš®å¥ æ€åºããäžå
·åã®å
容 ïŒäŸïŒæ©èœäžåãã¬ã€ã¢ãŠãäžå ãªã©ïŒ æ€åºåé¡ äžå
·åãæ€åºããçµè·¯ ïŒäŸïŒQAãã¹ãã±ãŒã¹ãQAãã¹ãã±ãŒã¹å€ãªã©ïŒ åå åé¡ äžå
·åãæ··å
¥ããåå ïŒäŸïŒä»æ§çè§£äžè¶³ãã³ãŒãå®è£
äžå ãªã©ïŒ ããã³ãã åæã®å質ãåäžåã誰ã§ãæ©ãŸãã«å¹ççã«ã¢ãŠãããããåŸãããããããæšæºããã³ããããèšèšããŸããããã®æšæºããã³ããã¯çæAIãç¹å®ã®å°éå®¶ãšããŠæ©èœãããããã®èŠçŽ ãå«ãã§ããŸãã æšæºããã³ãããæ§æããäž»ãªèŠçŽ ã¯ä»¥äžã®éãã§ãã æ§æèŠçŽ ç®çãšå
·äœçãªæç€º åœ¹å² ãã«ãœããèšå®ããåºåã®ããŒã³ãšèŠç¹ãèšå®ãã èæ¯ åæããã¹ãã®ç®çãªã©ãããŒã¿ã§ã¯åãããªãæèãèšå®ãã ã«ãŒã« å
·äœçãªåæäœæ¥ãæç€ºãåæè»žã®æå®ãã¢ãŠããããã®æ§æèŠçŽ ãèšå®ãã â»ããã³ããäŸ åœ¹å² ã»çµéšè±å¯ãªQAããŒã ãªãŒããŒã®èŠç¹ã§åæããŠãã ãã èæ¯ ã»åæç®çïŒãããžã§ã¯ãã®å質åŸåãææ¡ããã ã»ãããžã§ã¯ãåïŒXXXæ©èœã®è¿œå ã»ãã¹ãç®çïŒè¿œå ããXXXæ©èœãæ£ããåäœããããšãé¢é£ããæ¢åæ©èœã«åœ±é¿ããªãããšã確èªããïŒ ã«ãŒã« ã»ãæ€åºçš®å¥ à åå åé¡ãã®è»žã§åæãããŠãã ãã ã»äžå
·åããå質åŸåã客芳çãªèŠç¹ã§ã¬ããŒãããŠãã ãã ã»å
šäœãéããŠãã§ãã調ãã§èšè¿°ããŠãã ãã ã»çµè«ããå
ã«è¿°ã¹ãæ§æã«ããŠãã ãã ä»åŸã«åã㊠çæAIãæåã«åºããŠããã¢ãŠããããã¯ãããŸã§ãäžæžãã¬ãã«ãã§ããããã人éã«ããã¬ãã¥ãŒãAIãšã®å¯Ÿè©±ãå€ãå¿
èŠã«ãªã£ãŠããŸããä»åŸã¯ãããŒã å
šäœã§ã®ç©æ¥µçãªæŽ»çšãšãã£ãŒãããã¯ãéããŠåæç²ŸåºŠã®åäžãå³ããã¬ãã¥ãŒã®ã³ã¹ããåæžã§ããã°ãšèããŠããŸãããŸããããŒã¿éèšããèšèªåãŸã§ã®ããã»ã¹ãããå¹çåãããããã¹ãã¬ããã·ãŒãã®AI颿°ãªã©ã掻çšããã·ãŒã ã¬ã¹ãªé£æºãå®çŸã§ããããæ¹åãé²ããŠããããšãæ€èšããŠãããŸãã äºäŸ2. äžå
·åæ
å ±ãæã£ããã£ãããããã®æŽ»çš å°å
¥ã®èæ¯ ãã¹ãèšèšã«ãããŠãéå»ã®äžå
·åæ
å ±ããã¡ã€ã³ç¥èã¯éèŠãªåèæ
å ±ã§ãããæ
å ±ãèšå€§ããã«æ¢çŽ¢ã³ã¹ããé«ãæ
å ±ãæŒããŠããŸããšãããªã¹ã¯ããããŸãããçæAIã¯ãããã®èª²é¡è§£æ±ºã«å ãããã¹ã芳ç¹ã®ææ¡ãã¬ãã¥ãŒå¹æãæåŸ
ã§ããããã察話åŒã®ãã£ãããããäœæãç®æãããšã«ããŸããã ã©ãå®çŸããŠãããïŒ Geminiã®Gemæ©èœ ã䜿ãããã«ã¹ã¿ã æç€ºããšãç¥èãã«å¿
èŠãªæ
å ±ãèšå®ããããšã§å°çšã®ãã£ããããããäœæããŸãããããã³ããã¯å
¥åã«è¿·ããªãããã«ããã€ããµã³ãã«ãäœæããŠå
¬éããŠããŸããéçšã€ã¡ãŒãžã¯äžèšå³ããåç
§ãã ããã ã«ã¹ã¿ã æç€º ãã¡ã€ã³ç¥èãæã£ãQAå°éã®ã¢ã·ã¹ã¿ã³ããšããŠæ©èœããããã«èšå®ããŠããŸããã«ã¹ã¿ã æç€ºã«ã¯ãAIãåçã®éã«åç
§ãã¹ãã圹å²ãããã¡ã€ã³ããã«ãŒã«ãã詳现ã«å®çŸ©ããŠããŸãã ã«ã¹ã¿ã æç€ºã«èšå®ããå
容ã¯ä»¥äžã®éãã§ãã æ§æèŠçŽ ç®çãšå
·äœçãªæç€º åœ¹å² ãã«ãœããèšå®ããåºåã®ããŒã³ãšèŠç¹ãèšå®ãã ïŒäŸïŒããªãã¯éå»äžå
·åãšãã¡ã€ã³ç¥èã«ç²ŸéããQAã¢ã·ã¹ã¿ã³ãã§ãïŒ ãã¡ã€ã³ ãµãŒãã¹ã®æ¥çãæ¥åé åãæè¡çã»å¶åºŠçãªå¶çŽãšãã£ããèæ¯ç¥èãèšå®ãã ã«ãŒã« è¡åæéïŒæ
å ±æ€çŽ¢æ¹æ³ãäºå®ã«åºã¥ããåçã®åŸ¹åºïŒãšãã¢ãŠããããã®æ§æèŠçŽ ãèšå®ãã ç¥è ç¥èã«ã¯äºäŸ1ã§ç޹ä»ããäžå
·åããŒã¿ãèšå®ããŸãã ãã£ããããããšã®å¯Ÿè©±äŸ å®éã«ãã£ããããããšãããšããŠããå
容ã®äŸã玹ä»ããŸããæçµçãªå€æã¯äººãè¡ãå¿
èŠããããŸãããå©ããšããŠã¯å
åãªå
容ã§é«éã§åºåãããããšãããéåžžã«å¹ççã§ãã ç®ç ããã³ããäŸ åçæŠèŠ 1. ãªã¹ã¯åæãšèŠ³ç¹æœåº ãã°ã€ã³æ©èœã«å€æŽãå
¥ãã®ã§ãéå»ã®äžå
·åããèŠãŠæ³šæãã¹ã芳ç¹ãæã㊠éå»ã®äžå
·åäºäŸã«åºã¥ãã èªèšŒã»ã»ãã·ã§ã³å®å®æ§ ã ã»ãã¥ãªãã£ïŒæš©éææ ŒïŒ ã 飿ºæ©èœãžã®åœ±é¿ ãªã©ãæããªã¹ã¯ã®é«ãéç¹èгç¹ãæç€º 2. ãã¹ãã±ãŒã¹ã®ææ¡ 倿 管çã®æ¹ä¿®ãå
¥ãã®ã§ãå
·äœçãªãã¹ãã±ãŒã¹ãææ¡ã㊠éå»äºäŸãåæ ãã å¢çå€ãã¹ã ã æ©èœé£æºãã¹ã ãªã©ãå
·äœçãªæäœæé ãå«ããã¹ãã±ãŒã¹ã®äŸãææ¡ 3. äžå
·åçºçæã®å¯Ÿå¿æ¯æŽ ç¹å®ã®ããŒã¿ã§ç»é¢ãçã£çœã«ãªã£ããã©ãéå»ã«äŒŒãäºè±¡ã¯ããïŒ é¡äŒŒãã éå»ã®äžå
·åäºäŸ ã æ³å®ãããåå ãç¹å®ãã調æ»ã®æ¹åæ§ãæç€º 4. ãã¡ã€ã³ç¥èã®ååã è«æ±æ
å ±ãšå€æ æ
å ±ã®é£æºã§ãéå»ã«ã©ããªåé¡ãèµ·ããïŒ ç¹å®ã®æ©èœé£æºã«é¢ããŠãéå»ã«çºçãã ããŒã¿äžæŽåã®ãªã¹ã¯ ããããã«å¯Ÿãã çŸåšã®ã·ã¹ãã 察å¿ç¶æ³ ã説æ ä»åŸã«åã㊠å®éçšã¯ãŸã QAããŒã ã«éããŠããŸãããä»åŸã¯åºãå±éãäžå
·åããŒã¿ã ãã§ãªããèšå€§ãªãã¡ã€ã³æ
å ±ã瀟å
ã®ç¥èŠãåã蟌ã¿ãQAãå質ã«é¢ãããããããå°ãããšãã®çžè«çžæãšãªãAIã¢ã·ã¹ã¿ã³ãã«è²ãŠãŠãããããšèããŠããŸãã ãããã« æ¬èšäºã§ã¯ãã«ã€ãã±QAããŒã ã®çæAIã䜿ã£ãå
·äœçãªåãçµã¿äºäŸã玹ä»ãããŠããã ããŸãããæè¡ã®é²åããçµµã«æããé€
ãã§çµãããããå質掻åã«ç©æ¥µçã«åãå
¥ããã¢ãããŒã·ã§ã³ãæã£ãŠæ¥ã
æ¥åã«åãçµãã§ããŸãããã®ä»ãGitHub CopilotãClaude Codeã䜿ã£ãŠããããã¯ãã³ãŒããPRã®æ
å ±ãããã¹ã芳ç¹ãå¹ççã«æœåºããæŽ»åããã©ã€ããŠããŸãã ç§ãã¡QAãšã³ãžãã¢ã¯åã«ãã°ãèŠã€ããã ãã§ãªããããã»ã¹ã®ãã¶ã€ã³ãããŒã ã®ç¥èãæ§é åããããææ°ã®ãã¯ãããžãŒã掻çšããŠãããã¯ãå
šäœã®å質ãé«ãã圹å²ãæ
ã£ãŠãããšèããŠããŸãããããã£ãæ°ããæè¡ãå質掻åã«åãå
¥ããããšã«ã¯ã¯ã¯ã¯ãã詊è¡é¯èª€ã§ããã¢ãããŒã·ã§ã³ãããæ¹ãç©æ¥µåéäžã§ãããäžç·ã«ä»äºãããããšæã£ãŠããŸãã èå³ãããæ¹ã¯ããã²ã«ãžã¥ã¢ã«é¢è«ã§ã話ãããŸãããïŒïŒ
ãã®èšäºã¯æ ªåŒäŒç€Ÿãšã¹ã»ãšã ã»ãšã¹Advent Calendar 2025ã®12æ11æ¥ã®èšäºã§ãã qiita.com ããã«ã¡ã¯ãä»è·/é害çŠç¥äºæ¥è
åãçµå¶æ¯æŽãµãŒãã¹ãã«ã€ãã±ãã®ãªãã¥ãŒã¢ã«ãããžã§ã¯ãã§SREãæ
åœ ããŠãã å æ ( @TAKA_0411 ) ã§ãã ç§äºã§ã¯ãããŸããã9æã«SREããŒã ãããããã¯ãéçºããŒã ãžç°åããŸãããçŸåšã¯Embedded SREã§ã¯ãªããéçºè
ãšããŠKotlinãçšããããã¯ãšã³ãéçºãäž»ã«æ
åœããŠããŸãã ãããŸã§ã®ç§ã®ãã£ãªã¢ã¯QA â ã€ã³ãã© â SREãšããæµãã§ãã¢ããªã±ãŒã·ã§ã³éçºã®çµéšã¯ã»ãšãã©ãããŸããã§ããããã®ãããèªåã®ã¹ãã«ãåºããããšããæãããææŠãããŠããã£ãŠããŸãã åœåã¯IntelliJã®ã»ããã¢ãããDDDã®çè§£ãªã©ã«èŠæŠããŸããããããŒã ã¡ã³ããŒã®å€å€§ãªãµããŒãããããããããå°ããã€æ
£ããŠãããšæããŠããŸãã åã®ããŒã ã§ã®ç§ã¯ãã©ã®ããã«ãªãã¶ãŒãããªãã£ãå®çŸã»é«ããŠãããããšããããšã«æ³šåããŠããã®ã§ãããå®éã«éçºããŒã ã§åããŠãããã¡ã«ãªãã¶ãŒãããªãã£ã«é¢ããèãæ¹ãåãçµã¿ã«é¢ããŠæ°ããèŠç¹ãèœçããŠãããšæããŠããã®ã§ç޹ä»ããŸãã ãã£ããã¯ãã€ãã«ã³ãã¡ã¬ã³ã¹ ãŸããç§ã«ãšã£ãŠã²ãšã€ã®è»¢æ©ãšãªã£ãã€ãã³ãã玹ä»ããŸãã2025幎10æ27æ¥ã«éå¬ãããObservability Conference Tokyo 2025ã§ãã o11ycon.jp ãã®ã«ã³ãã¡ã¬ã³ã¹ã¯ãªãã¶ãŒãããªãã£ãšããæè¡é åã«ãã©ãŒã«ã¹ããã€ãã³ãã§ãããŒã«ã»æåã»éçšã»OpenTelemetryãªã©å¹
åºãããŒããæ±ãããŠããŸãããåŒç€ŸãããŽã¹ãã³ãµãŒãšããŠåè³ããŠããŸãã äžã§ãç¹ã«å°è±¡ã«æ®ã£ãã®ã¯ãLINEã€ããŒæ ªåŒäŒç€Ÿã®Toshiya Katoããã«ããããªãã¶ãŒãããªãã£ãè²ãéçºè
ã®ã·ã¹ãã çè§£ãšå¥œå¥å¿ããšããã»ãã·ã§ã³ã§ããã¢ãŒã«ã€ãåç»ãå
¬éãããŠããã®ã§ããã²ã芧ãã ããã o11ycon.jp youtu.be ãã®ã»ãã·ã§ã³ã¯ããªãã¶ãŒãããªãã£ããŒã«ãæ¬åœã«äœ¿ãããŠããŸããïŒããšããåãããããå§ãŸããŸãã ãµãŒãã¹ã®ãã¬ã¡ããªãŒããŒã¿ãäžéãæããŠãã ãããããã¬ã¡ããªãŒããŒã¿ãå®éã«æŽ»çšãããã·ãã¥ãšãŒã·ã§ã³ã¯ãªãªãŒã¹æãåé¡çºçæã§ãã£ã åé¡çºçæã«ã¯ãªãã¶ãŒãããªãã£ããŒã«ãçšãããã®ã§ã¯ãªãããã©ã³ã«ãã解決ãšããã±ãŒã¹ãèµ·ãã£ãŠãã ãã¬ã¡ããªãŒããŒã¿ããªãã¶ãŒãããªãã£ããŒã«ãæ¥åžžçã«å©çšãããŠãããšã¯èšããªãç¶æ³ ã€ãŸããã·ã¹ãã ãçè§£ããããã®ãªãã¶ãŒãããªãã£ã§ã¯ãªãããªãã¶ãŒãããªãã£ããŒã«ãå°å
¥ããŠã¢ãã¿ãªã³ã°ããŠããã ãã§ã¯ïŒãšããç¶æ³ã§ãããšæŽçãããŠããŸãã ãã®ãããªãããã¯ããããŒã ã®ç¶æ³ããµãŸããã¡ã³ã¿ã«ã¢ãã«ãšããåãå£ããäžèšã®ããã«èª²é¡ãæŽçããŠããŸããã ç§ãã¡ã¯ããã¥ã¡ã³ããã³ãŒããããã·ã¥ããŒããªã©ãéããŠã·ã¹ãã ã®å§¿ãæãæããŠããïŒâã¡ã³ã¿ã«ã¢ãã«ïŒ ã¡ã³ã¿ã«ã¢ãã«ãšã·ã¹ãã ããºã¬ããšä»æ§ã®èª€è§£ãé害ãçºçãã æ
åœããŠãããµãŒãã¹ã§ã¯é害ãå°ãªãã£ãåé¢ãã¡ã³ã¿ã«ã¢ãã«ã®ãºã¬ã®ä¿®æ£ãè¡ãæ©äŒãåŸãããšãã§ããªãã£ã éçºè
ãšSREãšã§ã¯ã¡ã³ã¿ã«ã¢ãã«ãç°ãªã£ãŠãããéçºè
ã¯ã³ãŒããããã¥ã¡ã³ããããSREã¯ããã·ã¥ããŒããªã©ã®ãã¬ã¡ããªãŒããŒã¿ããæ§ç¯ããŠãã äžèšã®ã¡ã³ã¿ã«ã¢ãã«ã®éãã¯DevOpsã®ãµã€ã¯ã«ãšäžèŽããŠããããã§ãã ãªãã¶ãŒãããªãã£ããŒã«ã¯DevOpsã® "Ops" ã®ãµã€ã¯ã«ã§æ¡å
ãããã¡ã§ãéçºè
ã«ãšã£ãŠã¯äœ¿ãæ
£ããªãããŒã«ã«ãªã£ãŠããŸã "Dev" ã®ãµã€ã¯ã«ã§ãªãã¶ãŒãããªãã£ããŒã«ã䜿ãããšã§ã·ã¹ãã ã®çè§£ãšå¥œå¥å¿ãè²ãŠãããšãã§ããã®ã§ã¯ãªãã DevOpsãµã€ã¯ã« ( https://www.pagerduty.co.jp/blog/devsecops-cultural-transformation ) äžèšã®èª²é¡ã解決ããããã"Dev" ã®ãµã€ã¯ã«ã§æ¬çªåçã®èŠ³æž¬ãã§ããç°å¢ãšè² è·ãå¿
èŠãšèããGitHubã®PRããšã®Previewç°å¢ããããŠã«ãžã¥ã¢ã«ã«å®æœã§ããè² è·è©Šéšã®ã·ã¹ãã ãæŽåããåãçµã¿ã玹ä»ããŠããŸããã ãããŸã§ã®çºè¡šå
容ããèªåã®åãçµã¿ãæ¯ãè¿ã£ãŠã¿ããšãSREãšããŠã®ç§ã泚åããŠããã®ã¯ "Ops" ã®ãµã€ã¯ã«ã§ã®ãã¬ã¡ããªãŒããŒã¿æ¡å
ã«ãããããããã "ãªãã¶ãŒãããªãã£ããŒã«ã§ã¢ãã¿ãªã³ã°ãããŠããã ã" ãšããç¶æ³ã«é¥ã£ãŠãããšããããšã«æ°ä»ããŸãããããããã®èªåã«å¿
èŠãªã®ã¯ "Ops" ã®ãµã€ã¯ã«ã§åŸãããåŠã³ããã£ãŒãããã¯ãé©åã« "Dev" ã®ãµã€ã¯ã«ã«åã蟌ã¿ããªãã¶ãŒãããªãã£ããŒã«ã掻çšããŠã·ã¹ãã çè§£ãæ·±ããåé¡ãããè¿
éã«è§£æ±ºã§ããç°å¢ãæŽããããšã ãšåŒ·ãèªèããŸããã ãã®ã»ãã·ã§ã³ãèªåã«ãšã£ãŠå€§ããªè»¢æç¹ãšãªã£ãããšããããŠè²Žéãªçºè¡šãããŠããã ããããšãæ¹ããŠToshiya Katoããã«æè¬ããããšæããŸãã ãªã³ã³ãŒã«å¯Ÿå¿ããèŠããŠããèª²é¡ ã«ã³ãã¡ã¬ã³ã¹ãçµãŠæèãå€åããçŽåŸã®11ææ«ãçãããªã³ã³ãŒã«å¯Ÿå¿ãå¿
èŠãªã¢ã©ãŒããæ€ç¥ããŸãããç§ãéçºè
ãšããŠãã©ãã«ã·ã¥ãŒãã£ã³ã°ã«åå ããŸããã Datadogã®APMãèŠã€ã€ãšã©ãŒã®ç®æã远ã£ãŠãããšãDatadogã®GitHub Integrationã圹ç«ã¡ãåé¡ç®æãšåå ãæ©ãæ®µéã§ææ¡ã§ããŸãããããããå®éã«ã©ã®ãããªãªã¯ãšã¹ããéãããŠããã®ãããªããã®ãããªãªã¯ãšã¹ããéãããŠããŸã£ãã®ããšãã£ã調æ»ã«ãšãŠãæéåã£ãŠããŸããŸãããããŸããSlackã«éç¥ãããã¢ã©ãŒãã¡ãã»ãŒãžãæœè±¡çã ã£ãããšãããããã®ã¢ã©ãŒããèŠãŠæã
ãã©ã®ãããªã¢ã¯ã·ã§ã³ãå¿
èŠãªã®ããšããç¹ã§ååã®é
ãã«ç¹ãã£ãŠããŸããŸããã 12æ3æ¥ã®èšäº ã«ãããšãããç§ãã¡ãéçºããŠããã«ã€ãã±ã®ã·ã¹ãã ã¯åæ£ã·ã¹ãã ãšãªã£ãŠããŸããWebããã³ããšã³ãããAPIã®Gatewayãçµç±ããããŒã¿ããã³ã³ããŒãã³ãéã®éä¿¡ããŒã¿ããããŸãããã®ããããªãã¶ãŒãããªãã£ã®èãæ¹ãšããŠã¯åé¡ãåŒãèµ·ãããããŒã¿ãã©ãããæ¥ãã®ãããã®äžèº«ãäœã§ãã£ãã®ããåéããŠãããŠããã«ç¢ºèªã§ããç¶æ
ã§ããã¹ãã§ããã ã·ã¹ãã æŠèŠå³ ãŸããç§ãå«ãéçºè
ããã©ãã«ã·ã¥ãŒãã£ã³ã°ã®ããã®Datadogã®å©çšã«äžæ
£ãã§ãã£ããããªã³ã³ãŒã«å¯Ÿå¿ã®ããã®RunbookããŸã æŽåãããŠããªããšããç¶æ³ã§ãããæçµçã«ã¯éçºçµéšãé·ã詳ãã人ã«ããŒã¿ã調æ»ããé¡ãããäºãªããåŸãŠã²ãšãŸãèœã¡çããŸãããããã¯ã€ãŸãäžèšã®ç¶æ³ã§ãã åé¡çºçæã«ã¯ãªãã¶ãŒãããªãã£ããŒã«ãçšãããã®ã§ã¯ãªãããã©ã³ã«ãã解決 ã·ã¹ãã ãçè§£ããããã®ãªãã¶ãŒãããªãã£ã§ã¯ãªãããŒã«ãå°å
¥ããŠã¢ãã¿ãªã³ã°ããŠããã ã éçºè
ã«ãšã£ãŠã¯äœ¿ãæ
£ããªããªãã¶ãŒãããªãã£ããŒã« ãã®ãããªç¶æ³ãèžãŸããåãããŒã ã®ååãšç°¡æçãªãã¹ãã¢ãŒãã ã宿œããçŸç¶ã®èª²é¡ãæŽçãã€ã€è¿
éãªãªã³ã³ãŒã«å¯Ÿå¿ãå¯èœã«ããããã®æ¹åãé²ããŠããŸãããããã¯ãéçºããŒã ã«æå±ããããšã§ç§ã«åœäºè
æèãèœçããã®ã§ãããããããŒã å
šäœã§ã® "éçºè
ãèªåãã¡ã®æã§èŠ³æž¬ã»çè§£ã§ããç°å¢ã¥ãã" ãžã®ææ¬²ãé«ãŸã£ãŠããŸãã"Dev" ã®ãµã€ã¯ã«ã§ãªãã¶ãŒãããªãã£ããŒã«ã䜿ãããšãããã«æ
£ããããšããããŠã·ã¹ãã ã®çè§£ãæ·±ããããšã®éèŠããçæããŸããã ãŸãšã ä»åã®ããŒã ç°åãšObservability Conference Tokyo 2025ãžã®åå ãéããŠããªãã¶ãŒãããªãã£ãžã®çè§£ã倧ããå€åããŸããã ä»åŸã¯ããéçºãµã€ã¯ã«ã«å¯çããå®è·µçãªãªãã¶ãŒãããªãã£æ¹åãé²ããŠãããããšæããŸãã 瀟å
ã§ããªãã¶ãŒãããªãã£ã»ãšã³ãžãã¢ãªã³ã°ãã®èŒªèªäŒãéããªã©ãç§ã®æå±ããŒã 以å€ã§ããªãã¶ãŒãããªãã£ãžã®é¢å¿ãåºããã€ã€ãããŸãã ä»åã®æ¹åã§ã©ã®ãããªææãèŠãããã®ãã«ã€ããŠã¯ãçµæãåºæ¬¡ç¬¬ãŸãããã°ãç»å£ã§å
±æããäºå®ã§ããä»åŸã®å ±åããã²ãæåŸ
ãã ããã
ãã®èšäºã¯ æ ªåŒäŒç€Ÿãšã¹ã»ãšã ã»ãšã¹ Advent Calendar 2025 ã®12æ9æ¥ã®èšäºã§ãã ã¯ããã« ã¡ããã©1幎ã¶ãã®ããã¯ããã°ãžã®ç»å ŽãšãªããŸãããBPRæšé²éšEAæšé²ã°ã«ãŒãã§ãšã³ãžãã¢ãããŠãããããã @kotaoue ã§ãã ãã®èšäºã¯ããšã¹ã»ãšã ã»ãšã¹ã«å
¥ç€ŸããŠãããæ¥œããä»äºãããããã«ãããããã£ãŠããããšããæ¯ãè¿ã£ãŠã¿ãããšãããå人çãªæ³ãããªãã³ã§æžããŠããŸãã â» åæã«ãBPRæšé²éšã£ãŠã©ããªããŒã ïŒããããšã¹ã»ãšã ã»ãšã¹ã®BPRæšé²éšã§ãšã³ãžãã¢ãšããŠåãæ¥œãããã¿ãããªãã®ãããããããŠå°æ¥äžç·ã«ããŒã ãšããŠä»äºãããããšã«ãªã誰ãã«äŒãããšæ¬åœã«æé«ã ãªãšããæåŸ
ãçµæ§èŸŒããŠããŸãïŒ å
·äœçãªTechã®è©±ãšããããã¯ãéçºãããŒãã«ã«ãã£ãŒã«é¢ããããšã ã§ãã ç°¡åãªèªå·±çŽ¹ä» ãŸãã¯ããããã®ç¥æŽãç°¡åã«æžããŠãããŸãã ããããããšã¹ã»ãšã ã»ãšã¹ã®BPRæšé²éšã§ãšã³ãžãã¢ãšããŠåãæ¥œãããã«è§ŠããŸãããããã¯ããã ããããªæãã§ä»äºãããŠãã人ã«ãšã£ãŠããšããåæãä»ã話ã«ã¯ãªãã®ã§ç¥æŽãæžããŠãããŸãã 20幎以äžåã«å°±è·ããŠãããã²ãŒã ãã©ã³ã㌠â èµ·æ¥è©Šã¿ãŠå€±æ â Slerã§ããã°ã©ã â äºæ¥äŒç€Ÿã®ç€Ÿå
SE â ã²ãŒã äŒç€Ÿã®ãµãŒããŒãšã³ãžã㢠â SaaSã¹ã¿ãŒãã¢ããã®ãšã³ãžã㢠ãšãã£ãæãã§ä»äºãããŠããŠããŸãã ã¡ãã£ãšå€åçãªãã£ãªã¢ãã©ã³ã§åèã«ãªããªãããšæãããããã§ãã⊠ãSlerã®ããã°ã©ãããåäººäºæ¥äž»ããã¹ã¿ãŒãã¢ããã®ã¡ã³ããŒãã®ãããªäœåãã®èŠç¹ããèªã£ãŠãããšæããŠããã ãããšå¹žãã§ãã BPRã£ãŠäœïŒ EAæšé²ã°ã«ãŒãã£ãŠäœïŒ ãšã¹ã»ãšã ã»ãšã¹ã«ã¯ããããã¯ãéçºéšããšã¯å¥ã«ãBPRæšé²éšããšããçµç¹ãååšããŸãã ããã§ã æšå¹Žã®èšäº ãšåæ§ã«ãæå±ããŠããéšçœ²ã®ç޹ä»ãèšèŒããŠãããŸãã ãŸããBPRæšé²éšã§ãããBPR(Business Process Re-engineering)ã®ç¥ç§°ã§ãã ãšãŠãç°¡åã«èšããšãéšçœ²ã暪æããŠäŒç€Ÿå
šäœã®æ¥åããã»ã¹ãæ¹åããŠããããšããç®æšã®ããŒã ãšãªã£ãŠããŸãã ã¡ãªã¿ã«ãEAæšé²ã°ã«ãŒãã¯ãEA(Enterprise Architecture)ã®ç¥ç§°ã§ãããã«ããããžãã¹æŠç¥ãšITãçµ±åããŠã·ããžãŒãæå€§åããŠãããããšãã£ãæ³ããå
¥ã£ãããŒã åãšãªã£ãŠããŸãã ããããã¯ãéçºéšããšãBPRæšé²éšãã§ã¯ããäºãã«ãããŒã±ããïŒåžå Žã»æ¥çïŒãžåããŠã䟡å€ãå±ãããšããæ¹åæ§ã¯åãã§ããããããžè³ãã¢ãããŒããšããŠãäž»ã«ä»¥äžã®ãããªåœ¹å²åæ
ãããŠããŸãã ãããã¯ãéçºéšâããŒã±ããã«åããŠçŽæ¥äŸ¡å€æäŸãããµãŒãã¹ã®éçºã»æäŸ BPRæšé²éšâããŒã±ãããžã®ãµãŒãã¹ããªããªãŒãŸã§ãå«ãã瀟å
ã®æ¥åããã»ã¹æ¹å/æ¥åã·ã¹ãã æ§ç¯ ãã¡ããããã®åœ¹å²åæ
ãåºå®çãªãã®ã§ã¯ãªãããäºãã«ããã¹ããšæã£ãããšããªãŒããŒã©ããããã忥ãããããªããçµç¹æšªæçã«ææã«åãã£ãŠåããŠããŸãã â» ãã®TechBlogãããããã¯ãéçºéšãšBPRæšé²éšã®äž¡æ¹ã®ã¡ã³ããŒããšã³ããªãŒãæžããŠéå¶ããŠããŸãã ããŒããšããŠããåãæ¹ã®çºè¡š èŠæš¡ãšããŠã¯å€ãã®åŸæ¥å¡æ°ãæå±ãããããããšã³ã¿ãŒãã©ã€ãºäŒæ¥ãšããããšã§ããšã³ã¿ãŒãã©ã€ãºäŒæ¥ãªãã§ã¯ã®åãæ¹ãå¿
èŠã ãšå
¥ç€Ÿåããå°ã身æ§ããŠããŸããã äŸãã°ãçµç¹ãšããŠå®ãã¹ãã«ãŒã«ããç»å Žäººç©ãå€ãããšã«ãã調æŽã®é£ãããç¬ç¹ã®ã¹ããŒãæã«ã€ããŠã¯ãåè·ã®ã¹ã¿ãŒãã¢ãããšã¯å€§ããç°ãªããšæ³åããŠããŸããã ãããªçµç¹ã®äžã§ãèªåãšããŠæ¥œããä»äºããã&çµç¹ã«äŸ¡å€ãéå
ã§ããããã«ãããšãããããã£ãŠã¿ãããèªåã®ããŒãã«ããŠããŸããã â» è£ããŒãã¯ã誰ãã«æããããŸã§ã¯ãã£ãŠã¿ããã§ããã ããã¯ããããŸã§äž»ã«ãSlerã®ããã°ã©ãããåäººäºæ¥äž»ããã¹ã¿ãŒãã¢ããã®ã¡ã³ããŒããšããŠåããŠãã人éãããšã³ã¿ãŒãã©ã€ãºäŒæ¥ãã§ãã¬ãŒã³ã¹ã瀺ãããã«ã¯ãã¡ãã£ãšéã£ãèŠç¹ãããæ¹ã倧äºã ãšæã£ãŠäœæããããŒãã§ãã ãã®äžäŸãšããŠãèªåã®å¥œããªä»äºãã«ã€ããŠéšå
šäœã«å
±æäŒã宿œããããšã«ãªã£ãä»¶ã玹ä»ããŸãã ãèªåã®å¥œããªä»äºãã«ã€ããŠéšå
šäœã«å
±æäŒãéå¬ããããšã«ãªã£ãä»¶ ãããã¯ãã¹ãã¢ãŒãã ã倧奜ãã§ãïŒè²ã
ããä»äºã®äžã§äžçªå¥œãã ãšèšã£ãŠãéèšã§ã¯ç¡ãã§ãã ãããŠã楜ããä»äºããããããããšãããããã£ãŠã¿ããã誰ãã«æããããŸã§ã¯ãã£ãŠã¿ãããããŒãã®äžå¹Žã ã£ãã®ã§ããããããã¹ãã¢ãŒãã ã®é
åãäŒããå
±æäŒãã¿ããªã«åããŠéå¬ãããããšåããŠã¿ãçµæã®æ¯ãè¿ãã§ãã éå¬ãŸã§ã®æµã å
±æäŒãéå¬ããããªãšæã ããã¹ãã¢ãŒãã ã倧奜ããªã®ã§ããã¹ãã¢ãŒãã ã®é
åãäŒããäŒãéå¬ãããã§ãïŒåå è
åéã§ãããšSlackã®BPRå
šäœãã£ã³ãã«ã«æçš¿ å®éã®ã¡ãã»ãŒãžã®ã¹ã¯ãªãŒã³ã·ã§ããã¯â éšé·ãããäœããæ¥œããã£ãŠãããšãããè¯ãã§ããïŒããšããã³ã¡ã³ããè²°ã£ãŠåã¶ éå¬ ãšããæãã§ããã å
¥ç€Ÿåã«èº«æ§ããŠãããšã³ã¿ãŒãã©ã€ãºäŒæ¥çãªé£ããããªããããããããâãããããâãããããšãã軜ããããã¯ãŒã¯ã§éå¬ããããšãã§ããŸããã ãŸããåäººã®æãã€ããèµ·ç¹ãšãªã£ãå
±æäŒã§ãããäžç·ã«å
容ãã©ãã·ã¥ã¢ãããããããšãããŒãžã£ãŒãåã®ããã§ååããŠããããªã©ããšãŠãåããããç°å¢ã§ããã ãã®æç¹ã§ãBPRãšããçµç¹ã¯ãå
¥ç€Ÿåã«æ³åããŠãããããæ°åãæ°ååã®è£éç¯å²ãããããšããããšãæããããã¯ã誰ãã«æããããŸã§ã¯ãã£ãŠã¿ãããšããéçãæ»ããã®ãé£ãããªãšããã倧ããªé©ãã«ãªã£ãŠããŸããã éå¬ããçµæ çµæãšããŠãå
±æäŒã®åé ã«è¡šç€ºãããã¹ã©ã€ãã§ã奜ãã ããããå
šé¢ã«æŒãåºããããªãå人çãªæ³ããæºèŒã®å
±æäŒãéå¬ããããšã«ãªããŸããã åå¿ãäžã
ã§ å
±æäŒãèããŠã3ç§åŸã«esaã§ãã¹ãã¢ãŒãã ãä»çµã¿åãããŒã ã®ããã¥ã¡ã³ããšããŠã·ã§ã¢ããŸããïŒ ãã£ããããŒã ã§ãã¹ãã¢ãŒãã ãã£ãŠã¿ãŸããïŒåçºé²æ¢çã¯ã¿ããªã§èããããïŒãšããæèã§è°è«ã§ããã®ã¯è¯ãã£ããšæããŸãïŒ çµå¶ç®¡çæ¬éšãšãä»éšçœ²ã®ã¡ã³ããŒã«ãå
±æããããªããšæããã§ããã©ããšã¹ã»ãšã ã»ãšã¹å
šäœã«åºãã¡ãã£ãŠãããã§ããïŒ ãšãã£ãæãã§ãBPRã®äžã§åå¿ããã ãã§ã¯ãªããŠä»éšçœ²ã«ãæ³¢åãããšãããåœåæ±ããŠãããšã³ã¿ãŒãã©ã€ãºäŒæ¥ãšããæ³åãæã¡ç ããããªè»œãããªçµæãšãªããŸããã ãã¹ãã¢ãŒãã ã奜ããªçç±ã®è£è¶³ ä»åã®èšäºã¯ã楜ããä»äºãããããã«ããŒããšããŠããããšã®æ¯ãè¿ãããªã®ã§ããã¹ãã¢ãŒãã ã«ã€ããŠã¯æ·±å ãããªãããã«ããããšæããŸãããããã¯ã奜ããªã®ã§ã¡ãã£ãšã ãèªãããŠãã ããã ãã¹ãã¢ãŒãã ã奜ããªçç±ã¯ã ãã¹ãã¢ãŒãã ãæ¥œãããã¡ã³ããŒã®éãŸã£ãããŒã ã奜ãã ãã ãã§ãã ãããŠãã®çç±ã现ååãããš ãã¹ãã¢ãŒãã ã奜ãã£ãŠããšã¯ã倱æããŠãæ¹å€ãããªããã倱æããããžãã£ããªåŠã³ãåŸãããŒã 倱æããããžãã£ããªåŠã³ãåŸãã£ãŠããšã¯ãæ°ããããšã«ãã£ã¬ã³ãžã§ããããŒã æ°ããããšã«ãã£ã¬ã³ãžã§ããã£ãŠããšã¯ããã£ãšè¯ãããŒã ã«ãªãå¯èœæ§ãé«ãããŒã ãã£ãšè¯ãããŒã ã«ãªãå¯èœæ§ãé«ãããŒã ã£ãŠã®ã¯ãåå ããŠããŠæ¥œããããŒã ïŒ ãšããæãã§ãã ãããŠãå
±æäŒãéå¬ãããŸã§ã®æµãã§ã èªåãåå ããŠããããŒã ã¯ãã£ãšè¯ãããŒã ã«ãªãå¯èœæ§ãé«ããšæããããšãã§ãã ããšããã®ãæé«ã®ãã£ãŒãããã¯ã§ããã ãŸãšã å
¥ç€Ÿåã«ã¯ãšã³ã¿ãŒãã©ã€ãºäŒæ¥ã ãããšèº«æ§ããŠããŸãããâŠå®éã«ã¯ããã£ãŠã¿ãããªããšèªåããã¢ã¯ã·ã§ã³ãèµ·ããã°ããã£ãŠã¿ããä»äºã«ãã£ã¬ã³ãžã§ããæ©äŒããããæåæãããããã軜ããããã¯ãŒã¯ã§è²ã
ãªããšãã§ããçµç¹ã§ããã ãã¯ãããŠã®ãã¹ãã¢ãŒãã ãã ãã§ã¯ãªããLT倧äŒãã£ãŠã¿ãŸããããã茪èªäŒãã£ãŠã¿ãŸããããããããã¯ãéçºã§å®æœããŠããããŒãã²ãŒã äŒã«åå ããŠè¯ãã§ããïŒããšãã£ãããŒã ã«ã«ãã£ãŒã«ãŸã€ããçžè«ã«ã¯ãã¡ããããã£ãŠã¿ããããšããåå¿ã§é²è¡ããããšã«ãªããŸããã ãŸããããã·ã¥ããŒãäœããŸããããããAIãšãŒãžã§ã³ã䜿ã£ãŠã¿ããã§ããããæ¬¡ã¯JavaãããªããŠGoã§PoCããããã§ãããšãã£ãæè¡çãªåžæããITGCã®çµ±å¶å¯Ÿè±¡ãšãªã£ãŠããã·ã¹ãã ã®éçºãããŒã ãããã¥ããéšåãããã®ã§å€æŽãããããšãã£ãéçºãããŒãITå
šè¬çµ±å¶ã«é¢ãããããªãããããèŠæã§ãã£ãŠããäžåºŠããNGããšèšãããããšããªãçµç¹ã§ããã ä»ã«ããã¡ãã£ãš1on1ãããã§ãããšSlackã§å£°ããããã°ãæè¡è²¬ä»»è
ã®ç°èŸºãã( @sunaot )ãšã1on1宿œã§ãããšãããã¹ã¿ãŒãã¢ããã®ãããªãšãŠãè·é¢ã®è¿ãã³ãã¥ãã±ãŒã·ã§ã³ãå¯èœãªçµç¹ã§ããã ãã¡ããããšãããããã£ãŠã¿ãããã§ã¯ãªããŠããããããããã«ã¯æ
å ±ãæŽçããŠç¶ãã¹ãã«ãŒãã§æ¿èªç³è«ããŠããããšãã£ãé²ãæ¹ã«ãªãããšã¯ãããŸãã ããã§ãããããã©ãããã°å®çŸã§ãããããšããèŠç¹ã§åããã®ããBPR(Business Process Re-engineering)ãšããèšèãå
¥ã£ãçµç¹ã®åŒ·ã¿ã§ããããšã¹ã»ãšã ã»ãšã¹ãšããäŒç€Ÿã®ç€Ÿé¢šãªãã ãªãšæããã®ããäžå¹Žãæ¯ãè¿ã£ãççŽãªææ³ã§ãã ãããã« ã¢ããã³ãã«ã¬ã³ããŒã®äžã§ã¯ãããŸããâŠBPRæšé²éšã§ã¯äžç·ã«ãšã¹ã»ãšã ã»ãšã¹ã®BPRã«åãçµãã§ãããã¡ã³ããŒãåéäžã§ãã BPRæšé²ã»ã³ãŒãã¬ãŒã ãšã³ãžãã¢è·çš®äžèЧ ãšããŠãŸãšããŠãããŸãã ãã¡ããããšããããã1å話ãããŠã¿ãããªãŒããšããã«ãžã¥ã¢ã«é¢è«ã倧æè¿ãªã®ã§ãâã«ããã«ãžã¥ã¢ã«é¢è«ã®ãªã³ã¯ãã¯ãªãã¯ããŠã¿ãŠãã ããã ãŸããBPRã«ã€ããŠããå°ãç¥ãããæ¹åããžã®èšäºããªã³ã¯ããŠãããŸãã èŠæš¡ã¯ãšã³ã¿ãŒãã©ã€ãºã§ãããã¹ã¿ãŒãã¢ããçãªé床æã§åãããšã®ã§ããçµç¹ãªã®ã§ãããã£ã¬ã³ãžãããã®ãã倧ããªissueãããããããããŸããããã²äžç·ã«ãã£ã¬ã³ãžããããšæã£ãŠããŸããšããæ³ããäŒããŠçã眮ããŸãã ãããããBPRã«ã€ããŠç¥ãããæ¹åããžã®èšäº çµç¹ã®ãã£ãŠããããšãç¥ãããæ¹ãž å€æ§ãªããžãã¹ã¢ãã«ãå±éããŠããæé·äŒæ¥ã®BPRçµç¹ã®ããã·ã§ã³ BPRãããã®è©°ãŸã£ãããžãã¹ã¢ãŒããã¯ããšããè·çš®ã«ã€ããŠç¥ãããæ¹ãž ããžãã¹ã¢ãŒããã¯ã à SalesforceïŒæ¹åã ãã§çµãããªããæŠç¥æšé²ãšæŠè¡å®è¡ã远æ±ãã ãã®ä»ãBPRã¡ã³ããŒã®æžããèšäºã¯ ãã¡ã