SPECSãã¬ãŒã ã¯ãŒã¯ãšã¯
SPECSãã¬ãŒã ã¯ãŒã¯ã¯ããã¹ãŠã®ããã³ãããã«ãžã¥ã¢ã«ãªãã£ããã¡ãã»ãŒãžã§ã¯ãªããããèŠä»¶ããã¥ã¡ã³ããšããŠæ±ã仿§åªå åããã³ãããã¿ãŒã³ã§ãã ããã¯ããªãŒãã³ãšã³ãã®åµé æ§ãããç²ŸåºŠãæ§é ãåçŸæ§ãéèŠãªã¿ã¹ã¯åãã«èšèšãããŠããŸããSPECSã¯GPT-4oãClaude Opus 4.7ãGemini 3.1 Proãããã³ããŒã«ã«ã¢ãã«ãªã©ã®ã¢ãã«ã§é©åã«æ©èœããŸãããããã®ã¢ãã«ã¯ãåœä»€ã®ææ§ããæé€ããããã§ãã
ç°ãªã人ãŸãã¯ã·ã¹ãã ãåãããã³ãããå®è¡ããŠäžè²«ããçµæãååŸããå¿ èŠãããå ŽåãSPECSã¯ç¹ã«æçšã§ããããã³ãããæç¢ºãªä»æ§ã«å€æããããšã§ãåé¡ã®ãããã°ãã¢ãã«ã®åäœã®æ¯èŒãã¯ãŒã¯ãããŒå šäœã®æšæºã®å®æœã容æã«ãªããŸãã
SPECS 5ã€ã®ã³ã³ããŒãã³ã
匷åãªSPECSããã³ããã¯ãã¢ãã«ãæ£ç¢ºã«äœããã¹ããããªããããã¹ãããã©ã®ããã«åçããã©ãŒããããã¹ãããç¥ãããã«ã5ã€ã®ã³ã³ããŒãã³ãããã¹ãŠå®çŸ©ããŸãã åã³ã³ããŒãã³ãã¯ãåœä»€ã®ç°ãªãéšåã«çŠç¹ãåœãŠãŠããŸãã
å žåçãªå®çŸ©ã¯ä»¥äžã®éãã§ãïŒ
- Scope : ã¿ã¹ã¯ãã«ããŒããå 容ãšãæç€ºçã«ã«ããŒãããªããã®ã
- Purpose : åºåããµããŒãããåºæ¬çãªç®æšãŸãã¯æ±ºå®ã
- Examples : ã¢ãã«ãåºå®ããããã®1ã€ä»¥äžã®å ¥å/åºåãµã³ãã«ã
- Constraints : é·ãã®å¶éããã©ãŒããããçŠæ¢äºé ãªã©ã®ããŒãå¶çŽã
- Steps : åºåã«å°éããããã«ã¢ãã«ãåŸãã¹ãå éšã·ãŒã±ã³ã¹ã
SPECSãã¬ãŒã ã¯ãŒã¯ãæçšã§ããçç±
SPECSãã¬ãŒã ã¯ãŒã¯ã¯ãèªã¿ããããããŒãºã§ã¯ãªããæ©æ¢°ãå©çšå¯èœãªçµæãå¿ èŠãšããåæçãæäœçãããã³çµ±åã¿ã¹ã¯ã«æçšã§ãã ããã¯é ãããä»®å®ãæžãããããã³ããã®ãã¹ãŠã®éšåãæç€ºçã«ããŸããããã¯æ¬çªã¯ãŒã¯ãããŒã«äžå¯æ¬ ã§ãã
äžè¬çãªã¡ãªããã«ã¯ä»¥äžãå«ãŸããŸãïŒ
- 仿§ã®åã ã®ã³ã³ããŒãã³ãã調æŽãŸãã¯ãã¹ãã§ããããããããã°ãç°¡åã
- å¶çŽãšäŸã«ãããã¢ãã«ãšå®è¡å šäœã§ããå®å®ããåºåã
- ããŠã³ã¹ããªãŒã åŠçã«é©ããŠãããæ§é ãäºåã«ããã£ãŠããŸãã
äŸïŒæªãSPECSããã³ãã察è¯ãSPECSããã³ãã
æ§é åãããŠããªãèŠæ±ãšSPECSããŒã¹ã®èŠæ±ã®éãã¯ãåãã¿ã¹ã¯ãäž¡æ¹ã®æ¹æ³ã§èšè¿°ããããã®ãèŠããšæããã«ãªããŸãã ããã¹ãããæ å ±ãæœåºããäŸã以äžã«ç€ºããŸãã
æªãããã³ãã
"ãã®ã«ã¹ã¿ã㌠ã¡ãŒã«ãèªãã§ãèŠç¹ããŸãšããŠãã ããã"
è¯ãããã³ãã
"Scope : åäžã®ã«ã¹ã¿ã㌠ãµããŒã ã¡ãŒã«ãåæãããµããŒã ããŒã ã«é¢é£ããäž»èŠãªæ å ±ãæœåºããŸããããŒã±ãã£ã³ã°ãŸãã¯å¶æ¥ã®æ©äŒã¯ç¡èŠããŠãã ãããPurpose : ãã±ãã ã·ã¹ãã ã«èšé²ãããšãŒãžã§ã³ããããè¿ éã«å¯Ÿå¿ããããã«äœ¿çšã§ããæ§é åãããæŠèŠãäœæããŸããExamples : Input : 'æ¬æ¥2åãã¹ã¯ãŒãããªã»ããããããšããŸããããäž¡æ¹ãšããªã³ã¯ãæéåãã«ãªã£ãŠããŸããŸããâŠ' Output : {"issue_type": "password_reset", "urgency": "medium", "summary": "ãã¹ã¯ãŒã ãªã»ãã ãªã³ã¯ã¯ãŠãŒã¶ãŒããªã»ãããå®äºããåã«æéåãã«ãªããŸã"} Constraints : åºå㯠`issue_type`ã`urgency`ã`summary` ã®ããŒãæã€æå¹ãª JSON ã§ããå¿ èŠããããŸãã远å ã®ãã£ãŒã«ãã¯è¿œå ããªãã§ãã ããã`urgency` ã¯ä»¥äžã®ããããã§ããå¿ èŠããããŸã : lowãmediumãhighãSteps : 1ïŒã¡ã€ã³ã®åé¡ãç¹å®ããã2ïŒåœ±é¿ãšäžæºã«åºã¥ããŠç·æ¥åºŠãæšæž¬ããã3ïŒ25èªä»¥äžã®ç°¡æœãªæŠèŠãäœæããã"
SPECSããŒãžã§ã³ã¯ãã¢ãã«ãäœãåºåãã¹ãããã©ã®ããã«èããã¹ãããçµæãã©ã®ããã«äœ¿çšãããããæ£ç¢ºã«å®çŸ©ããŠããŸãã
SPECSãã¬ãŒã ã¯ãŒã¯ããã€äœ¿çšããã
æ¢çŽ¢çãªãã¬ãŒã³ã¹ããŒãã³ã°ã§ã¯ãªããæ§é åãããä¿¡é Œæ§ã®é«ãåºåãäž»ãªç®æšã®å Žåã¯ãSPECSãã¬ãŒã ã¯ãŒã¯ã䜿çšãã¹ãã§ãã ããã«ã¯ä»¥äžãå«ãŸãããšãå€ãã§ãïŒ
- ã¡ãŒã«ããã£ããããŸãã¯ããã¥ã¡ã³ãããåºå®ã¹ããŒããžã®ããŒã¿æœåºã
- å³å¯ãªã«ãŒã«ã§ã®ã³ãŒã倿ãããã¥ã¡ã³ãçæããªãã¡ã¯ã¿ãªã³ã°ã
- ã»ã¯ã·ã§ã³èŠåºããã¡ããªã¯ã¹ããã©ãŒããããäºåå®çŸ©ãããã¬ããŒãçæã
- AIåºåãå¥ã®ã·ã¹ãã ãŸãã¯ã¹ã¯ãªããã«çŽæ¥ãã£ãŒããããã¯ãŒã¯ãããŒã
PromptQuorumãSPECSãã¬ãŒã ã¯ãŒã¯ãå®è£ ããæ¹æ³
PromptQuorumã¯ãã«ãã¢ãã«AIãã£ã¹ããã ããŒã«ã§ãSPECSãã¬ãŒã ã¯ãŒã¯ãçµã¿èŸŒã¿ããã³ããæ§é ã®1ã€ãšããŠæäŸããŠããããŠãŒã¶ãŒã¯æåãããããæ§ç¯ããããšãªãã仿§ã¹ã¿ã€ã«ã®ããã³ãããèšèšã§ããŸãã PromptQuorumã§SPECSãéžæãããšãã¢ããªã¯ScopeãPurposeãExamplesãConstraintsãããã³Stepsã®å°çšãã£ãŒã«ããå ¬éããããããåäžã®æ§é åãããåœä»€ã«çµã¿ç«ãŠãŸãã
PromptQuorumå ã§ã¯ãSPECSãã¬ãŒã ã¯ãŒã¯ã«ãã以äžãå¯èœã«ãªããŸãïŒ
- åã³ã³ããŒãã³ããåå¥ã®ãã£ãŒã«ãã§ååŸããŠã仿§ãèªã¿ãããç·šéããããç¶æ ã«ä¿ã¡ãŸãã
- SPECS ããŒã¹ã®åãããã³ãããè€æ°ã®ã¢ãã«ã«äžŠè¡ããŠé©çšããŠãç°ãªããããã€ããŒãå³å¯ãªãã©ãŒããããã©ã®ããã«åŠçããããç°¡åã«æ¯èŒã§ããŸãã
- ãã±ããèŠçŽãã¬ããŒãçæãã³ãŒã ã¬ãã¥ãŒãªã©ã®ç¹°ãè¿ãã¯ãŒã¯ãããŒåãã®SPECSãã³ãã¬ãŒããä¿åããŠå ±æããŸãã
SPECSãä»ã®ãã¬ãŒã ã¯ãŒã¯ãšçµã¿åããã
SPECSãã¬ãŒã ã¯ãŒã¯ãæ§é åãããåºåã®ããã¯ããŒã³ãšããŠé 眮ããè£å®çãªã¿ã¹ã¯ã«ä»ã®ãã¬ãŒã ã¯ãŒã¯ãšçµã¿åãããã¹ãã§ãã å®çšçãªãã¿ãŒã³ã¯ä»¥äžã®éãã§ãïŒ
- äºæž¬å¯èœãªæ§é ãçæããå¿ èŠããããã®ããŸãã¯ããŒã«ã«ãã£ãŒãããå¿ èŠããããã®ã¯ãã¹ãŠSPECSã䜿çšããŸãã
- ããŒã±ãã£ã³ã°ãšã³ããŒã©ã€ãã£ã³ã°ã®å Žåã¯ãCRAFTãªã©ã®åµé çãªãã¬ãŒã ã¯ãŒã¯ã䜿çšããŸãã
- å¯èŠçãªäžéæšè«ãå¿ èŠãªå Žåã¯ãAnalyzeâPlanâExecuteïŒAPEïŒãªã©ã®æšè«æåã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããŸãã
- å®å šãªä»æ§ãæ£åœåããªãè¿ éãªã¿ã¹ã¯ã«ã¯ãã·ã³ã°ã«ã¹ãããã®æ±çšãã¬ãŒã ã¯ãŒã¯ã䜿çšããŸãã
SPECSãã¬ãŒã ã¯ãŒã¯ã®äœ¿ç𿹿³
- 1Setting : ç°å¢ãã·ã¹ãã ããŸãã¯ãã¡ã€ã³ã«é¢ããã³ã³ããã¹ããæäŸããŸãã äŸ : 'ããªãã¯ãã«ã¹ã±ã¢äŒæ¥ã®ããŒã¿ã¢ããªã¹ãã§ããæ£è ã®ãã©ã€ãã·ãŒã¯éèŠã§ãããã¹ãŠã®ã¯ãšãªã¯HIPAAã«æºæ ããå¿ èŠããããŸãã'
- 2Problem statement : 解決ããŠããç¹å®ã®åé¡ãè¿°ã¹ãŸãã äŸ : 'éå»90æ¥éã«ã¡ãã£ã±ãŒã·ã§ã³é å¿ãäœãæ£è éå£ãç¹å®ããŸãã'
- 3Examples : é©åãªåºåã®2ïœ3ã€ã®å ·äœçãªäŸãæäŸããŸãã åæã®å Žåã¯ããµã³ãã«åºåããŒãã«ãŸãã¯æ€åºçµæã衚瀺ããŸããã³ãŒãçæã®å Žåã¯ãã¹ã¿ã€ã«ã«åãããåäœã³ãŒãã衚瀺ããŸãã
- 4Constraints : ããŒã ã«ãŒã«ãšèšå®ãåæããŸãã äŸ : 'SQLã®ã¿ã䜿çšããŠãã ããïŒPythonãªãïŒãã¯ãšãªã¯5ç§ä»¥å ã«å®è¡ãããå¿ èŠããããŸããåºåã¯å¿ååãããå¿ èŠããããŸãïŒæ£è åãªãïŒã'
- 5Style : ããŒã³ãèšèªããã©ãŒãããã®èšå®ãæå®ããŸãã äŸ : 'æè¡çãªèŠèŽè ãæ£ç¢ºãªçšèªã䜿çšããŠãã ãããããŒã¯ããŠã³ ã¬ããŒããšããŠè¿åŽããŠãã ããã'