
ozawaã§ããæãæ¥ãç¶ãã¦ãã¾ãã®ã§ãªãã£ã¹åºç¤¾ããéã®ã©ã³ãã¯æ¯ååãä¸è¯å±ããã§å·éººã»ãããé ¼ãã§ãã¾ãããã¶ãå·éººééã¨è£ã§å¼ã°ãã¦ããã¨æãã¾ãã
- AWSçºã®AIã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ããKiroã
- ã¤ã³ãã©å±ããã®ã¢ããã¼ã·ã§ã³
- çµè«ãã䏿µå·¥ç¨ã®å質ãç©ãè¨ãã
- å人çã«æ°ã«ãªã£ãç¹
- ããããä½ããããªãã£ãï¼
- ã¤ã³ãã©å±ãããAIã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ãã¨ä»²è¯ããªãããã«
- ã¾ã¨ã
AWSçºã®AIã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ããKiroã
å··ã§æµè¡ãã®Kiroã§ããAIã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ãã¯ããã¤ãããã¾ãããæºãæãã¦ç»å ´ã§ãã
ãããã10å¹´å¼±ã¤ã³ãã©ã¨ã³ã¸ãã¢ããã£ã¦ããç§ã§ããããã®æã®ã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ããããã¤ã触ã£ã¦ã¿ã¦ã¯ããªãã»ã©ãããï¼ãã¨ãã¾ãè
¹è½ã¡ããªãç¶æ
ãç¶ãã¦ãã¾ããã
ä»åæ¹ãã¦Kiroã触ã£ã¦ã¿ã¦ããã®åãã«å¯¾ãã¦å°ãè¦ãã¦ãããã®ãããã®ã§ãã¡ãã«ã¤ãã¦ã話ããã¾ãã
ã¤ã³ãã©å±ããã®ã¢ããã¼ã·ã§ã³
ã¾ãã¤ã³ãã©å±ãããAIã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ãã«ä½ãæ±ããã®ãã«ã¤ãã¦èãã¦ã¿ã¾ããã
- ã¤ã±ã¦ãã¢ã¼ããã¯ãã£ã®è¨è¨ãããã
- ã¤ã±ã¦ã IaCãã³ãã¬ã¼ããä½ã£ã¦ããããã
- é¢åãªæ´æ°ç³»ã¿ã¹ã¯ãå ¨é¨ãã£ã¦ã»ãã
- etc...,
ä¸è¬çãã©ããã¯ãããã¾ããããç§ã¨ãã¦ã¯ããªããè¦ä»¶çªã£è¾¼ãã§ããã«æé©ãªIaCãã¼ã¹ã®ã¢ã¼ããã¯ãã£ãæ§ç¯ãããã°OKãã¿ãããªãã¨ãèãã¦ãã¾ããã
ãªã¼ãã¼ãä¸ãã¦é¢åãªãã¨ãå
¨é¨ãã£ã¦ãããä¸ã¤å質é«ããããã¯ããã§ããã°æé«ã ãªã¼ã¨ãµãããæã£ã¦ãã¾ããã
çµè«ãã䏿µå·¥ç¨ã®å質ãç©ãè¨ãã
æ©éçµè«ã§ãã10å¹´å¼±ã¨ã³ã¸ãã¢ãã£ã¦ã¦ä»æ´ãããã¨ããã³ããèããããã§ããä»°ãéãã
ãã£ããã¨
ä»åã¯Kiroã®Specã¢ã¼ãã試ãã¾ããããã£ããããã¨SDLC (Software Development Life Cycle = ã½ããã¦ã§ã¢éçºã©ã¤ããµã¤ã¯ã«) ãæèããéçºãé²ããããã®æ çµã¿ã«åã£ã¦éçºã§ããã¢ã¼ãã§ãã
å
·ä½çã«ã¯ä¸è¨ã®ããã¥ã¡ã³ãããã£ããã§AIã¨ã¼ã¸ã§ã³ãã¨å£æã¡ããªãã使ãé²ãã¦ãæçµçã«ä½æ¥ãªã¹ããçã¿åºãã¾ãã
- requirements.md
- Specã¢ã¼ãã§ã¯ã使æã®ä¸çªæåã«AIãã£ããã«å¯¾ãã¦ããããããã¨ããã£ã¦ã»ãããã¨ãããªã¼ãã¼ãåºãã¾ã
- ãã®ãªã¼ãã¼ããã¨ã«ã¾ãã¯è¦ä»¶å®ç¾©æ¸ã使ãã¾ã
- ä¿®æ£ãå¿ è¦ã§ããã°ãã£ããã§AIã¨ã¼ã¸ã§ã³ãã«ä¿®æ£ä¾é ¼ãåºããåé¡ãªããã°ææ¡ãåãå ¥ãã¾ã
- design.md
- è¦ä»¶å®ç¾©æ¸ããã¨ã«æ¹å¼ã¬ãã«ã®è¨è¨è³æãèµ·ããã¦ããã¾ã
- ãããé©å®AIã¨ã¼ã¸ã§ã³ãã¨ãã£ããã§å£æã¡ããªããé²ãã¾ã
- tasks.md
- æ¹å¼è¨è¨æ¸ããã¨ã«å®éã«æ§ç¯ãé²ããããã®ä½æ¥æé æ¸ã使ãã¦ããã¾ã
- ãããåºæ¥ä¸ããã¨ã䏿¦AIã¨ã¼ã¸ã§ã³ãã¨ã®å£æã¡ã¯çµããã¾ã
- tasks.md ãKiroä¸ã§éããä¸èº«ãè¦ã㨠Start Task ãã¿ã³ãããã®ã§ããã¡ããæ¼ãã¨Kiroã使¥ã¿ã¹ã¯ãéå§ãã¾ã
ã¡ãªã¿ã«ä»åã¯ãããã£ãæãã®ã¢ã¼ããã¯ãã£ãä½ã£ã¦ããããã¨ãã¦ãã¾ããã

requirements.mdâtasks.mdã¾ã§ã®ä½æã«é¢ãã¦ã¯ãAIã¨ã¼ã¸ã§ã³ãã¨å£æã¡ããªããä½ãã¾ãããããã¦æéã¯ããããªãã£ãã§ãã
仿ãè¿ãã¨ããã§è²ã
ã¨æ°ã«ãã¹ã観ç¹ããã£ããªã¼ã¨æãã¾ããã
è¦ä»¶ã»æ¹å¼æ±ºãã¾ã§ã¯ãããªããããããã«è¦ãã
ä»åã®ä½æ¥ã§ã¯ä¸è¿°ã®ï¼ãã¡ã¤ã«ã使ããé¨åã¯æ°åãããã°ä½æã§ãã¾ããï¼ãã®ããã«è¦ãã¾ããï¼ããå®éã®ä½æ¥ã¿ã¹ã¯ã«ã¤ãã¦ã¯ï¼æ¥ä»¥ä¸ãããã¾ããããªããªãç¾ç¶ãå½åã®ã´ã¼ã«ã«ã¯è¾¿ãçãã¦ãã¾ããããµãããã£ã¦è¦ãä¸ã§å人çã«æ°ã«ãªã£ãç¹ã«ã¤ãã¦ã¾ã¨ãã¾ãã
å人çã«æ°ã«ãªã£ãç¹
ããããè¤éãªæ§æ
ä»åã¯ãOSSã®æ²ç¤ºæ¿ãã¼ã«ã使ã£ãECS on Fargateãªãµã¼ãã¹ãCDK管çã§ä½ã£ã¦ãã¨ãã£ããªã¼ãã¼ãåºãã¾ãããçµæãåºæ¥ä¸ãã£ãæ¹å¼ã¨ãã¦ã¯ECSã ãã§ã¯ãªãS3ãEFSãDocumentDBãElastiCacheã¨ãã£ãæ§ã ãªãµã¼ãã¹ãçµã¿è¾¼ãã æ§æãä¸ãã£ã¦ãã¾ãããããã¦çããã¨ããªããã¾ããããªæãããã¨ããã¬ãã«æã§design.mdãåãå ¥ãã¾ãããå®éã®æ§ç¯ãã§ã¼ãºã§ä½ãèµ·ãããã¨ããã¨ã
- å種ãªã½ã¼ã¹æ¨©éï¼IAMï¼ã®è¨å®ä¸å
- ECSããDocumentDBã¸ã®ãããã¯ã¼ã¯ã¢ã¯ã»ã¹çµè·¯ã®ä¸åï¼VPCãµããããéã§ã«ã¼ãã£ã³ã°ãéã£ã¦ããªãï¼
ã¨ãã£ãäºè±¡ãããã¾ãããIAMã®é¨åã«ã¤ãã¦ã¯ä»æ¹ããªãããªã¼ã¨æã£ãåé¢ãDocumentDBã¸ã®éä¿¡ãéã£ã¦ããªãã®ã確èªããæã¯ããªãã人éã¿ãããªãã¹ãããªããã¨æãã¾ããã
æ¼¢æ°ããµãã課é¡è§£æ±º
AIã¨ã¼ã¸ã§ã³ãã¯é常ã«åªç§ã§ããã ãæã¨ãã¦ãã®åªç§ããä»ã¨ãªãç¬éãããã¾ããã
- æããã«NGãªåä½ããã¦ãããã¹ãç®æã§ãNGåä½ãåãå
¥ãããããã¹ãã±ã¼ã¹ãä¿®æ£
- ç·åãã¹ãç¨ã®TypeScriptãªãã¹ãã³ã¼ããå®è£
ãã¦ãããKiroãDocumentDBã®ã¤ã³ã¹ã¿ã³ã¹ã¯ã©ã¹åå¾çµæãæ³å®ã®çµæã«ãªããªãã£ãã®ã§ããã®çµæãåãå
¥ãããï¼ã¨ææ°è¾¼ãã æ¬¡ç¬¬ã§ãã

NGçµæããã®ã¾ã¾åãå ¥ãããã¨ããkiro
- ç·åãã¹ãç¨ã®TypeScriptãªãã¹ãã³ã¼ããå®è£
ãã¦ãããKiroãDocumentDBã®ã¤ã³ã¹ã¿ã³ã¹ã¯ã©ã¹åå¾çµæãæ³å®ã®çµæã«ãªããªãã£ãã®ã§ããã®çµæãåãå
¥ãããï¼ã¨ææ°è¾¼ãã æ¬¡ç¬¬ã§ãã
- ãããã¯ã¼ã¯ã¨ã©ã¼ã§å¤±æãããã¼ã«ã¤ã³ã¹ãã¼ã«ãããããæ¹æ³ã§è§£æ¶ãããã¨ããæçµçã«ã¯ã½ã¼ã¹ã³ã¼ããcurlã§GETããã¨ããæ¼¢æ°ããµããæ¹æ³ã§åé¿ãããã¨ãã
- ãã¼ã«ã«ç°å¢ã®ãã¼ã«ã¯asdfã§ç®¡çãã¦ãã¦ãasdf installã試ã¿ããã®ã®å¤±æããã®ã§ãæå¾ã®ææ®µã«åºãæãã§ã

jqãã½ã¼ã¹ããã¤ã³ã¹ãã¼ã«ãããã¨ããkiro
- ãã¼ã«ã«ç°å¢ã®ãã¼ã«ã¯asdfã§ç®¡çãã¦ãã¦ãasdf installã試ã¿ããã®ã®å¤±æããã®ã§ãæå¾ã®ææ®µã«åºãæãã§ã
æå¾ã®æ¹ã¯ãã£ããã§ãããã¦ãã ãããã¨ãé¡ãããæãããã¾ããã
ããããä½ããããªãã£ãï¼
è²ã çµ±åããçµæãä¸è¨ãåé¡ã§ã¯ï¼ã¨ããçµè«ã«ãªãã¾ããã
- ææ§ãªæç¤º
- èæ ®ãã¹ã観ç¹ã®æ¼ã
- åææ¡ä»¶ã®ããåããä¸è¶³
èªåã§æ¸ãã¦ãã¦ããªãã ãæ²ãããªãã¾ããã
ææ§ãªæç¤º
ä¸çªæããã®ã¯ãã¹ãã§NGã«ãªã£ãéããã°ãçºè¦ããéã®ãã©ãã«ã·ã¥ã¼ãæã«ãã ãã ãããã解決ãã¦ãã ãããã¨ãé¡ãããã®ã¯ãããªãããªã¨æãã¾ããã ãã®ãã¿ã¼ã³ã«ããã¦ã¯ãAIã¨ã¼ã¸ã§ã³ãã¯ãªããããã£ãæ°ã«ãªã£ã¦ãã ãã§çµå±è§£æ±ºã§ãã¦ããªãã¨ããç¡éã«ã¼ãã«é¥ããã¨ãå¤ãã£ãã§ãã
âããããÃÃã¨ããç¶æ³ã®ããã§ãããã®äºè±¡ã«ã¤ãã¦åå ãç©¶æãã解決çãææ¡ãã¦ãã ãããã¨ãé¡ããããã¨ã§ãã¾ãä½ãèµ·ãã£ã¦ããã®ããæ´çããä¸ã§å¯¾å¿çãããã¤ãæç¤ºãã¦ãããããã«ãªãã¾ãããã¡ããã¨å¯¾è©±ãéããä¸ã§ãããäºããè§£å度ã®é«ãç¶æ
ã§ä½æ¥ãé²ãã¦ããããããªæ°ããã¦ãã¾ãã
èæ ®ãã¹ã観ç¹ã®æ¼ã
AIã¨ã¼ã¸ã§ã³ãã¯é常ã«åªç§ã§ãKiroèªèº«ããã¼ã«ã¨ãã¦ã¯ããã§ãã¦ãããªã¼ã¨æå¿ãã¤ã¤ãããç¨åº¦ã®è¤éããä¼´ãã¢ã¼ããã¯ãã£ãä½ããã¨æã£ãéã«ãä½ãèããã«ãã æç¤ºããã ãã§ã¯å質ãã¾ã æå¾
å¤ã«å±ããªãé¨åããããªã¨ããå°è±¡ã§ãã
ç¹ã«ç·åã»çµåã·ã¹ãã ãã¹ãã®è¦³ç¹ã§èæ
®ãã¹ãç®æã«ã¤ãã¦ã¯æ³¨æãå¿
è¦ã ã¨æãã¾ãããCDKã³ã¼ãå®è£
æç¹ã§ã¯ããã£ã½ããã®ãã§ãã¦ããã ãã§ãå®éã«ãªã½ã¼ã¹æ§ç¯ãçµãã£ã¦æ¥ç¶ãããã¨ããã¨ãããã¯ã¼ã¯ã¨ã©ã¼ã«ãªãã¨ãã£ãç¶æ
ã«ãªã£ã¦ãããã¨ãã¡ããã¡ããããã¾ããã
ãã®ãããªInterface éã®ã¤ãªããã®é¨åã«ã¤ãã¦ã¯ãIaCã³ã¼ãå®è£ ããã¹ã宿½æã«ç¢ºèªãã¹ã観ç¹ã¨ãã¦æããä¸ã§AIã¨ã¼ã¸ã§ã³ãã¨ããåãããããã¨ãéè¦ã ã¨æãã¾ããã
åææ¡ä»¶ã®ããåããä¸è¶³
å è¿°ã®éãããã¼ã«ã¤ã³ã¹ãã¼ã«ã§åé¡ãèµ·ãã£ãéã«AIã¨ã¼ã¸ã§ã³ãããã¯ãã®èª²é¡ãä½ã¨ãã¦ã§ã解決ãããã¨ããããæ¼¢æ°ããµãã対å¿ã宿½ãã¾ãããããæã ã常æ¥é éçºãé²ããä¸ã§ã¯å°ãªãããåæç°å¢ãå®ç¾©ãã¦ããã¯ãã§ãï¼MacOSãªãbrewçµç±ã§ã¤ã³ã¹ãã¼ã«ããããã¼ã«ç®¡çã¯asdfã«ãããetc...,ï¼ãAIã¨ã¼ã¸ã§ã³ãã¯ãã£ããã®ããåãã®ä¸ã§ããç¨åº¦ç¶æ³ãæ¨å¯ããä¸ã§å¯¾å¿ã宿½ãã¦ããããã¨ãå¤ãã§ãããåææ¡ä»¶ãå½¹å²ã«ã¤ãã¦ã¯ãããããæç¤ºããä¸ã§ä½æ¥ãã¦ãããã®ãè¯ããã¨æãã¾ããã
ã¤ã³ãã©å±ãããAIã³ã¼ãã£ã³ã°ã¨ã¼ã¸ã§ã³ãã¨ä»²è¯ããªãããã«
ãä½ã§ãããã§ãAIããããªä¸çç·ã¯å人çã«ã¯ã¾ã é ãããªã¼ã¨èãã¦ãã¾ããããããã¤ã注æç¹ãæã£ãä¸ã§AIã¨ç¸å¯¾ãããã¨ã§ç´ æ´ãããç¸ä¹å¹æãæå¾ ã§ãããã¨ãæãã¾ããã
ä¸è¬çã«ãªã¹ã¯ãã¯ããç®æãæãã
ä¾ãã°ã·ã¹ãã éçºã®ç¾å ´ã«ããã¦ã
- Interface éã®æ¥ç¶
- 権éå¶å¾¡(IAMãªã©)
- ã¢ã¯ã»ã¹å¶å¾¡(IPã¢ãã¬ã¹ãªã©)
ã¨ãã£ãã¤ãªãããæèããç®æã¯ãéçºãé²ãã¦ããä¸ã§ãç¹ã«æ éã«ç¢ºèªããç®æãã¨æãã¾ããAIã¨ã¼ã¸ã§ã³ãã«å®è£ ãããéã«ããæ§ç¯å¾ã®ç·å観ç¹ã®ãã§ãã¯ã¯ãã¡ãããã³ã¼ãã¬ãã«ã«ããã¦ãé©åãªè¨å®ãããã¦ãããã¨ãã観ç¹ãæã£ã¦ç¢ºèªãã¦ããããã¨ãããã§ã¼ãºãè¨ããã®ãè¯ãããªã¨æãã¾ããã
ä»åãKiroã§å®è£ ããã«ããã£ã¦ã¯tasks.mdã®ç« ç«ã¦ã¬ãã«ã®å®è£ ãå®äºããã¿ã¤ãã³ã°ã§ãnpm buildããcdk synthãã¨ãã£ãã³ãã³ããä¸éãå®è¡ãã¦æ£å¸¸ã«åä½ãããã確èªãããã§ã¼ãºãããã¾ãããããã«ä¸ã¤ãããã¨â³â³ã®éã«ãããéä¿¡ãéãããã«è¨å®ãããã¦ããã確èªãã¦ã»ãããã¨ãã£ãä¾é ¼ãAIã¨ã¼ã¸ã§ã³ãã«æãããããã¨ãã§ããã°è¯ããã¨æãã¾ãããå®éãECSâDBéã®æ¥ç¶ãã©ãã«ã·ã¥ã¼ãã®éã«ãã³ã¼ãã¬ãã«ã¾ã§é¡ããã¨ã«ãªã£ãã®ã§ããã¯äºåã«ä¼ãã¦ããã¨æ°ã¥ããåé¡ããªã¨æãã¾ããã
ã¾ããä»åã¯CDKã½ã¼ã¹ã³ã¼ãã®å®è£ âapplyâãã¹ããã¨ããããããã¦ã©ã¼ã¿ã¼ãã©ã¼ã«ãªã¢ããã¼ãã§ã¿ã¹ã¯ãªã¹ããé²ãã¾ããããã¹ã¯ã©ã éçºçãªèãæ¹ã§ããç¨åº¦ã®å°ç²ãªã¢ã¸ã¥ã¼ã«åä½ã§CDKå®è£ âapplyâãã¹ããç¹°ãè¿ãã¨ããããæ¹ã§ããã°ãå½±é¿ç¯å²ãçµãã¤ã¤å¯¾å¦ã§ãããããªæ°ãããã®ã§ãããå¹ççã«å®è£ ãé²ãã®ããªã¨æãã¾ããã
éçºç°å¢ãã³ã¼ãã£ã³ã°è¦ç´ãçµ±ä¸ãã
ããã¼ã«ã¤ã³ã¹ãã¼ã«ã«ã¯ããã使ã£ã¦ãã ããããã³ã¼ãã£ã³ã°è¦ç´ã¯â³â³ã«åã£ã¦ãã ãããã¨ãã£ããã¨ãäºåã«ä¼ãã¦ããã¨è¯ããã¨æãã¾ããããã¨ãã¨èª¿ã¹ã¦ããä¸ã§ãKiroã«é¢ãã¦ã¯Agent Steeringæ©è½ã§ãã®è¾ºãã®ã¬ã¼ãã¬ã¼ã«ã調æ´ããã°ãã¾ãããã®ã§ã¯ï¼ã¨ãã£ããæ°ã¥ãã¾ããã
æ¢åãã¼ã«çã§AIã ãã«ä¾ããªãå質æ ä¿ãæèãã
ã¶ã£ã¡ããçæAIã使ããã³ã¼ãã«ã¤ãã¦ã¯ãæ¬å½ã«å¤§ä¸å¤«ï¼ãæãæããªãã®ã§ãã½ã¼ã¹ã³ã¼ãã¬ãã«ã«ããã¦ã¯ãkicsçã®SASTãã¼ã«ãå©ç¨ãã¦AIã«ä¾ããªãå質æ ä¿ã®çµè·¯ã確ä¿ãã¦ããã®ãéè¦ãã¨æãã¾ããã
ã¾ã¨ã
ããªããµãããã¨ããå
容ã«ãªãã¾ããããAIåå¿è
ãããããªæãã§ãããããªï¼ãã¨æãåããã¦ã¿ããå²ã¨ããã£ã¦æ¶ã
ã¨ããäºè±¡ã¯çµæ§ä¸ã®ä¸ãããããªã®ã§ã¯ï¼ã¨æã£ãã®ã§ã¾ã¨ãã¦ã¿ã¾ããã
ç¹ã«æè¡çãªTipsãããããã§ã¯ãªãã§ãããã¤ã³ãã©å±ããã§ãããããå¿æã¡ã§AIã¨é¢ãããã¨ãã§ããã°å¹¸ãã«ãªããããï¼ã¨ãããã¨ã ã ã¨æã£ã¦èªãã§ããã ããã°å¹¸ãã§ãã
