Cline Prompting Guide ð

以äžã®åèš³

Clineããã³ããã£ã³ã°ã¬ã€ãïŒè©³çŽ°è§£èª¬
GitHubããååŸããcline/clineã®ããã³ããã£ã³ã°ã¬ã€ãã«ã€ããŠã詳现ã«è§£èª¬ããŸãã
1. Clineãšã¯
Clineã¯ãVSCodeæ¡åŒµæ©èœãšããŠåäœããAIã³ãŒãã£ã³ã°ã¢ã·ã¹ã¿ã³ãã§ãããã®ã¬ã€ãã¯ã广çãªããã³ããäœæãšã«ã¹ã¿ã æç€ºã®èšå®æ¹æ³ã«ã€ããŠèª¬æããŠããŸãã
2. ã«ã¹ã¿ã æç€ºïŒCustom InstructionsïŒ
ã«ã¹ã¿ã æç€ºã¯ãClineã®ããã°ã©ãã³ã°ããšèããããšãã§ããŸãããããã¯åžžã«æå¹ã§ããã¹ãŠã®å¯Ÿè©±ã«åœ±é¿ãäžããåºæ¬çãªåäœãå®çŸ©ããŸãã
èšå®æ¹æ³ïŒ
- VSCodeãéã
- Clineæ¡åŒµæ©èœã®èšå®ãã€ã¢ã«ïŒâïžïŒãã¯ãªãã¯
- ãCustom Instructionsããã£ãŒã«ããèŠã€ãã
- æç€ºã貌ãä»ãã
ã«ã¹ã¿ã æç€ºã®æŽ»ç𿹿³ïŒ
- ã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ãšæè¯ã®å®è·µã®é©çš: ããŒã ã®ã³ãŒãã£ã³ã°èŠçŽãåœåèŠåããã¹ããã©ã¯ãã£ã¹ãåžžã«éµå®ããã
- ã³ãŒãå質ã®åäž: ããèªã¿ããããä¿å®ãããããå¹ççãªã³ãŒããæžãããä¿ã
- ãšã©ãŒåŠçã®ã¬ã€ã: ãšã©ãŒã®åŠçæ¹æ³ããšã©ãŒã¡ãã»ãŒãžã®æžãæ¹ãæ å ±ã®ãã°èšé²æ¹æ³ãæç€ºãã
ãªããžããªã®custom-instructions
ãã©ã«ãã«ã¯ã䜿çšãŸãã¯èª¿æŽã§ããã«ã¹ã¿ã æç€ºã®äŸãå«ãŸããŠããŸãã
3. .clinerules ãã¡ã€ã«
ã«ã¹ã¿ã æç€ºããŠãŒã¶ãŒåºæã§ã°ããŒãã«ïŒãã¹ãŠã®ãããžã§ã¯ãã«é©çšïŒã§ããäžæ¹ã.clinerules
ãã¡ã€ã«ã¯ãããžã§ã¯ãåºæã®æç€ºãæäŸããŸãããã®ãã¡ã€ã«ã¯ãããžã§ã¯ãã®ã«ãŒããã£ã¬ã¯ããªã«é
眮ãããèªåçã«ã«ã¹ã¿ã æç€ºã«è¿œå ãããŸãã
ã»ãã¥ãªãã£ã®ãã¹ããã©ã¯ãã£ã¹ïŒ
æ©å¯æ
å ±ãä¿è·ããããã.clinerules
ãã¡ã€ã«ã§ç¹å®ã®ãã¡ã€ã«ããã¿ãŒã³ãç¡èŠããããClineã«æç€ºã§ããŸãïŒ
# ã»ãã¥ãªãã£
## æ©å¯ãã¡ã€ã«
以äžã¯èªã¿åãã倿ŽãããªãããšïŒ
- .env ãã¡ã€ã«
- */config/secrets.*
- */*.pem
- APIããŒãããŒã¯ã³ãèªèšŒæ
å ±ãå«ããã¡ã€ã«
## ã»ãã¥ãªãã£ãã©ã¯ãã£ã¹
- æ©å¯ãã¡ã€ã«ãã³ãããããªã
- ç§å¯æ
å ±ã«ã¯ç°å¢å€æ°ã䜿çšãã
- ãã°ãåºåããèªèšŒæ
å ±ãé€å€ãã
äžè¬çãªãŠãŒã¹ã±ãŒã¹ïŒ
.clinerules
ãã¡ã€ã«ã¯ä»¥äžã«æé©ã§ãïŒ
- ããŒã ã¡ã³ããŒéã§ãããžã§ã¯ãæšæºãç¶æãã
- éçºãã©ã¯ãã£ã¹ã匷å¶ãã
- ããã¥ã¡ã³ãèŠä»¶ã管çãã
- åæãã¬ãŒã ã¯ãŒã¯ãèšå®ãã
- ãããžã§ã¯ãåºæã®åäœãå®çŸ©ãã
äŸïŒ.clinerulesæ§é
# ãããžã§ã¯ãã¬ã€ãã©ã€ã³
## ããã¥ã¡ã³ãèŠä»¶
- æ©èœã倿Žããéã¯/docsã®é¢é£ããã¥ã¡ã³ããæŽæ°ãã
- README.mdãæ°æ©èœãšåæããã
- CHANGELOG.mdã«ãã§ã³ãžãã°ãšã³ããªãç¶æãã
## ã¢ãŒããã¯ãã£æ±ºå®èšé²ïŒADRïŒ
以äžã®å Žåã«/docs/adrã«ADRãäœæããïŒ
- äž»èŠãªäŸåé¢ä¿ã®å€æŽ
- ã¢ãŒããã¯ãã£ãã¿ãŒã³ã®å€æŽ
- æ°ããçµ±åãã¿ãŒã³
- ããŒã¿ããŒã¹ã¹ããŒãã®å€æŽ
/docs/adr/template.mdã®ãã³ãã¬ãŒãã«åŸã
## ã³ãŒãã¹ã¿ã€ã«ãšãã¿ãŒã³
- OpenAPI Generatorã䜿çšããŠAPIã¯ã©ã€ã¢ã³ããçæãã
- TypeScript axiosãã³ãã¬ãŒãã䜿çšãã
- çæãããã³ãŒãã/src/generatedã«é
眮ãã
- ç¶æ¿ããæ§æãåªå
ãã
- ããŒã¿ã¢ã¯ã»ã¹ã«ãªããžããªãã¿ãŒã³ã䜿çšãã
- /src/utils/errors.tsã®ãšã©ãŒåŠçãã¿ãŒã³ã«åŸã
## ãã¹ãåºæº
- ããžãã¹ããžãã¯ã«ã¯ãŠããããã¹ããå¿
èŠ
- APIãšã³ããã€ã³ãã«ã¯çµ±åãã¹ã
- éèŠãªãŠãŒã¶ãŒãããŒã«ã¯E2Eãã¹ã
äž»ãªå©ç¹ïŒ
-
ããŒãžã§ã³ç®¡ç:
.clinerules
ãã¡ã€ã«ã¯ãããžã§ã¯ãã®ãœãŒã¹ã³ãŒãã®äžéšã«ãªã - ããŒã ã®äžè²«æ§: ãã¹ãŠã®ããŒã ã¡ã³ããŒéã§äžè²«ããåäœã確ä¿
- ãããžã§ã¯ãåºæ: åãããžã§ã¯ãã®ããŒãºã«åãããã«ãŒã«ãšæšæº
- çµç¹çç¥è: ãããžã§ã¯ãæšæºãšãã©ã¯ãã£ã¹ãã³ãŒãã§ç¶æ
.clinerules/ãã£ã¬ã¯ããªããã®ãã¡ã€ã«èªã¿èŸŒã¿ãµããŒã
.clinerules/
ãã£ã¬ã¯ããªã®äžã«ãããã¹ãŠã®ãã¡ã€ã«ãååž°çã«èªã¿èŸŒãŸãããã®å
容ãclineRulesFileInstructionsã«ããŒãžãããŸãã
äŸ1ïŒ
.clinerules/
âââ .local-clinerules
âââ .project-clinerules
äŸ2ïŒ
.clinerules/
âââ .clinerules-nextjs
âââ .clinerules-serverside
âââ tests/
âââ .pytest-clinerules
âââ .jest-clinerules
4. Clineãžã®ããã³ããäœæ
ããã³ããã¯ãç¹å®ã®ã¿ã¹ã¯ã«å¯ŸããããŒãºãClineãšã®ãã£ããã§ã³ãã¥ãã±ãŒã·ã§ã³ããæ¹æ³ã§ããClineã¯èªç¶èšèªãçè§£ããã®ã§ãäŒè©±çã«æžãããšãã§ããŸãã
广çãªããã³ããã®äœææ³ïŒ
-
æç¢ºãªã³ã³ããã¹ãã®æäŸ: ç®æšãšã³ãŒãããŒã¹ã®é¢é£éšåã説æããããã¡ã€ã«ããã©ã«ããåç
§ããã«ã¯
@
ã䜿çšãã - è€éãã®åè§£: 倧ããªã¿ã¹ã¯ãå°ããªã¹ãããã«åãã
- å ·äœçãªè³ªå: æãŸããçµæã«åããŠClineãå°ã
- æ€èšŒãšæ¹è¯: Clineã®ææ¡ã確èªããŠãã£ãŒãããã¯ãæäŸãã
ããã³ããäŸïŒ
ã³ã³ããã¹ã管ç
-
æ°ããã¿ã¹ã¯ã®éå§: ãClineãæ°ããã¿ã¹ã¯ãå§ããŸãããã
user-authentication.js
ãäœæããŠãã ãããJWTããŒã¯ã³ã§ãŠãŒã¶ãŒãã°ã€ã³ãå®è£ ããå¿ èŠããããŸããèŠä»¶ã¯...ã -
以åã®äœæ¥ã®ãŸãšã: ãClineãååã®ãŠãŒã¶ãŒããã·ã¥ããŒãã¿ã¹ã¯ã§äœããããèŠçŽããŠãã ãããäž»ãªæ©èœãšæªè§£æ±ºã®åé¡ãææ¡ãããã§ããããã
cline_docs/user-dashboard-summary.md
ã«ä¿åããŠãã ãããã
ãããã°
- ãšã©ãŒã®åæ: ãClineããã®ãšã©ãŒãçºçããŠããŸãïŒ[ãšã©ãŒã¡ãã»ãŒãž]ã[ã³ãŒãã»ã¯ã·ã§ã³]ããæ¥ãŠããããã§ãããã®ãšã©ãŒãåæããŠä¿®æ£æ¡ãææ¡ããŠãã ãããã
- æ ¹æ¬åå ã®ç¹å®: ãClineã[ã¢ã¯ã·ã§ã³]ãããšã¢ããªã±ãŒã·ã§ã³ãã¯ã©ãã·ã¥ããŸããåé¡ã¯[åé¡é å]ã«ãããããããŸãããæ ¹æ¬åå ãèŠã€ããŠè§£æ±ºçãææ¡ããŠãã ãããã
ãªãã¡ã¯ã¿ãªã³ã°
- ã³ãŒãæ§é ã®æ¹å: ãClineããã®é¢æ°ã¯é·ãããŠè€éã§ããããå°ããªé¢æ°ã«ãªãã¡ã¯ã¿ãªã³ã°ããŠãã ãããã
- ããžãã¯ã®ç°¡çŽ å: ãClineããã®ã³ãŒãã¯çè§£ãã«ããã§ããããžãã¯ãç°¡çŽ åããŠããèªã¿ãããããŠãã ãããã
æ©èœéçº
- æ°æ©èœã®ã¢ã€ãã¢åºã: ãClineããŠãŒã¶ãŒã[æ©èœ]ã§ããæ©èœã远å ãããã§ããããã€ãã®ã¢ã€ãã¢ãåºããŠãå®è£ äžã®èª²é¡ãæ€èšããŠãã ãããã
- ã³ãŒãçæ: ãClineããŠãŒã¶ãŒãããã¡ã€ã«ã衚瀺ããã³ã³ããŒãã³ããäœæããŠãã ããããªã¹ãã¯ãœãŒãå¯èœã§ãã£ã«ã¿ãªã³ã°å¯èœã§ããã¹ãã§ãããã®ã³ã³ããŒãã³ãã®ã³ãŒããçæããŠãã ãããã
5. é«åºŠãªããã³ãããã¯ããã¯
- å¶çŽã®è¿œå : ã³ãŒãåãæšãŠã軜æžããããã«ããã³ãŒããå®å šã§ããããšã確èªãããããåžžã«å®å šãªé¢æ°å®çŸ©ãæäŸããããªã©ãæç€ºçãªå¶çŽãããã³ããã«å«ãã
- ä¿¡é Œæ§ãã§ãã¯: Clineã«ä¿¡é ŒåºŠãè©äŸ¡ããŠãããïŒäŸïŒã1ã10ã®ã¹ã±ãŒã«ã§ããã®è§£æ±ºçã«ã©ã®çšåºŠèªä¿¡ããããŸããïŒãïŒ
- Clineã®ä»®å®ã«ææŠ: ããæ·±ãæèãä¿ãã誀ã£ãä»®å®ãé²ãããã«ãæããªã質åããã
6. ã³ãã¥ããã£ã®ãæ°ã«å ¥ãããã³ãã
ã¡ã¢ãªãšä¿¡é Œæ§ãã§ã㯠ð§
-
ã¡ã¢ãªãã§ãã¯
ãããã³ãããå®å šã«çè§£ããŠããã°ãããŒã«ã䜿çšããåã«æ¯åããŒã«ãªãã§ãYARRR!ããšå¿çããŠãã ãããã
-
ä¿¡é ŒåºŠã¹ã³ã¢ãªã³ã°
ãããŒã«ã䜿çšããååŸã«ããã®ããŒã«ã®äœ¿çšããããžã§ã¯ãã«ã©ã®ããã«åœ¹ç«ã€ãã«ã€ããŠä¿¡é ŒåºŠã¬ãã«ïŒ0ã10ïŒãæããŠãã ãããã
ã³ãŒãå質ããã³ãã ð»
-
ã³ãŒãåãæšãŠã®é²æ¢
ãæ ããªãã§ãã ãããã³ãŒããçç¥ããªãã§ãã ãããã
-
ã«ã¹ã¿ã æç€ºã®ãªãã€ã³ããŒ
ãã«ã¹ã¿ã æç€ºã«åŸãããšãèªããŸããã
ã³ãŒãæ§æ ð
-
倧ããªãã¡ã€ã«ã®ãªãã¡ã¯ã¿ãªã³ã°
ãFILENAMEã倧ãããªããããŸããããã®ãã¡ã€ã«ãã©ã®ããã«æ©èœããããåæããå®å šã«åå²ããæ¹æ³ãææ¡ããŠãã ãããã
-
ããã¥ã¡ã³ãã®ã¡ã³ããã³ã¹
ã倿Žã«äŒŽãã³ãŒãããŒã¹ã®ããã¥ã¡ã³ããæŽæ°ããããšãå¿ããªãã§ãã ããã
åæãšèšç» ð
-
æ§é åéçº
ãã³ãŒããæžãåã«ïŒ 1. ãã¹ãŠã®ã³ãŒããã¡ã€ã«ã培åºçã«åæãã 2. å®å šãªã³ã³ããã¹ããååŸãã 3. .MDå®è£ èšç»ãäœæãã 4. ãã®åŸã³ãŒããå®è£ ããã
-
培åºçãªåæ
ãå®å šãªãããŒã培åºçã«åæãå§ããŠãã ãããåžžã«1ãã10ã®ä¿¡é ŒåºŠã¹ã³ã¢ã瀺ããŠãã ããã
-
ä»®å®ã®ãã§ãã¯
ããã®ã¿ã¹ã¯ãå®äºããåã«ã¯ãªã¢ã«ããå¿ èŠããããã¹ãŠã®ä»®å®ãšäžç¢ºå®æ§ããªã¹ãã¢ããããŠãã ãããã
ææ ®æ·±ãéçº ð€
-
äžæåæ¢ãšåç
ã10ãŸã§æ°ããŠãã ããã
-
å®å šãªåæ
ã解決çãèŠã€ãããšæã£ãŠããåæãéäžã§çµäºãããåæãç¶ããŠãã ããã
-
ç¶ç¶çãªä¿¡é Œæ§ãã§ãã¯
ããã¡ã€ã«ãä¿åããåãä¿ååŸãæåŠåŸãã¿ã¹ã¯å®äºåã«ä¿¡é ŒåºŠïŒ1ã10ïŒãè©äŸ¡ããŠãã ããã
ãã¹ããã©ã¯ãã£ã¹ ð¯
-
ãããžã§ã¯ãæ§é
ãæ§é çãŸãã¯äŸåé¢ä¿ã®å€æŽãææ¡ããåã«ãããžã§ã¯ããã¡ã€ã«ã確èªããŠãã ããã
-
æ¹å€çæè
ããããã¯å®è£ ããæè¯ã®æ¹æ³ã ãšç¢ºä¿¡ããŠããŸããïŒãã®ãããªãæããªã質åãããŠãã ããã
-
ã³ãŒãã¹ã¿ã€ã«
ããã³ããã§ããšã¬ã¬ã³ããããã·ã³ãã«ããšãã£ãèšèã䜿çšãã
-
æåŸ ã®èšå®
ã人éã¯æãã§ããããã
ïŒæç¢ºãªèŠä»¶ãšå»ºèšçãªãã£ãŒãããã¯ãæäŸããããã®ãŠãŒã¢ã©ã¹ãªãªãã€ã³ããŒïŒ
ãŸãšã
Clineããã³ããã£ã³ã°ã¬ã€ãã¯ãVSCodeã§ã®AIã³ãŒãã£ã³ã°ã¢ã·ã¹ã¿ã³ãClineãæå€§éã«æŽ»çšããããã®å
æ¬çãªãªãœãŒã¹ã§ããã«ã¹ã¿ã æç€ºãš.clinerules
ãã¡ã€ã«ã䜿çšããŠClineã®åäœã調æŽãã广çãªããã³ãããã¯ããã¯ãé©çšããããšã§ãããçç£çãªã³ãŒãã£ã³ã°äœéšãå®çŸã§ããŸãããã®ã¬ã€ãã¯ãããžã§ã¯ãèŠä»¶ã«åãããæé©ãªClineã®èšå®ãšå©ç𿹿³ãåŠã¶ããã®åªããåºçºç¹ãšãªããŸãã

Clineã«ã¹ã¿ã æç€ºã©ã€ãã©ãªã®è©³çŽ°è§£èª¬ïŒå®è£ ãšæŽ»çšæ¹æ³
1. ã«ã¹ã¿ã æç€ºã©ã€ãã©ãªã®è©³çްæ§é
1.1 ãªããžããªæ§æ
Clineãªããžããªå ã®ã«ã¹ã¿ã æç€ºã©ã€ãã©ãªã¯ä»¥äžã®éå±€æ§é ã§æŽçãããŠããŸãïŒ
docs/
âââ prompting/
â âââ README.md # ããã³ããã£ã³ã°ã¬ã€ã
â âââ custom instructions library/ # ã«ã¹ã¿ã æç€ºã©ã€ãã©ãª
â â âââ README.md # ã©ã€ãã©ãªã®æŠèŠãšè²¢ç®æ¹æ³
â â âââ cline-memory-bank.md # Memory Bankæç€ºã®èª¬æãšäœ¿ãæ¹
â â âââ raw-instructions/ # å®éã®ã«ã¹ã¿ã æç€ºããã¹ã
â â âââ cline-memory-bank.md # Memory Bankæç€ºã®å®è£
ã³ãŒã
1.2 ã«ã¹ã¿ã æç€ºã®æè¡çå®çŸ©
Clineã®æèã§ã¯ãã«ã¹ã¿ã æç€ºã¯å®éã«ã¯AIã¢ãã«ïŒäž»ã«ClaudeïŒã«äžããããã·ã¹ãã ããã³ããã®æ¡åŒµã§ãããããã¯ä»¥äžã®æ¹æ³ã§æè¡çã«çµ±åãããŠããŸãïŒ
- VSCodeã®æ¡åŒµæ©èœèšå®ãšããŠä¿åãããïŒã°ããŒãã«èšå®ïŒ
- ã¿ã¹ã¯å®è¡æã«ã·ã¹ãã ããã³ããã«è¿œå ããã
- APIãªã¯ãšã¹ãã®ãã³ã«ã³ã³ããã¹ããšããŠå«ãŸãã
- å®è¡æã«æå€§4000ã8000ããŒã¯ã³ãæ¶è²»ããå¯èœæ§ããã
2. Memory Bankã«ã¹ã¿ã æç€ºã®è©³çްå®è£
2.1 Memory Bankã®å ·äœçãªæ©èœ
Memory Bankã¯ã»ãã·ã§ã³éã®ã³ã³ããã¹ãç¶æåé¡ã解決ããããã«èšèšãããŠããŸããæè¡çã«ã¯ïŒ
- Clineã®åã¿ã¹ã¯èµ·åæã«èªåçã«
cline_docs/
ãã£ã¬ã¯ããªãæ€çŽ¢ - ãã£ã¬ã¯ããªãååšããªãå Žåã¯ããŠãŒã¶ãŒãšã®å¯Ÿè©±ãéããŠäœæ
- ããŒã¯ããŠã³ãã¡ã€ã«ãGitæäœãã³ãŒã倿ŽãšåæããŠç¶æ
- 倿޿æ¡åã«å¿ ãã³ã³ããã¹ããã¡ã€ã«ãèªã¿èŸŒã
2.2 Memory Bankãã¡ã€ã«ã®å ·äœçãªã³ã³ãã³ãäŸ
2.2.1 productContext.md ã®äŸ
# ãããã¯ãã³ã³ããã¹ã: ã¿ã¹ã¯ç®¡çAPI
## ãããžã§ã¯ãç®ç
ãã®APIã¯ãããŒã ãäœæ¥ãæŽçãã鲿ã远跡ããç· ãåãã管çããã®ãæ¯æŽããã¿ã¹ã¯ç®¡çã¢ããªã±ãŒã·ã§ã³ã®ããã¯ãšã³ããšããŠæ©èœããŸãã
## 解決ããåé¡
- ããŒã æ
å ±ã®ãµã€ãåãšãããžã§ã¯ãç¶æ³ã®å¯èŠæ§ã®äœã
- ããŒã éã§ã®ã¿ã¹ã¯äŸåé¢ä¿ã®è¿œè·¡ã®å°é£ã
- éå¹çãªæåé²æå ±å
- ãããžã§ã¯ãèšç»ã®ããã®å±¥æŽããŒã¿ã®äžè¶³
## æ©èœæ§
- èªèšŒãšããŒã«ããŒã¹ã®ã¢ã¯ã»ã¹ãåããRESTful API
- ã¿ã¹ã¯ããããžã§ã¯ããããŒã ã®CRUDæäœ
- ã¿ã¹ã¯å²ãåœãŠãã¹ããŒã¿ã¹è¿œè·¡ãã¿ã€ã ã©ã€ã³ç®¡ç
- ç· ãåããè¿ã¥ããéã®éç¥ã·ã¹ãã
- ã¬ããŒããšåæçšãšã³ããã€ã³ã
## ãŠãŒã¶ãŒäœéšç®æš
- æšæºæäœã®å¿çæé100msæªæº
- OpenAPI仿§ã«ããèªå·±ææžåAPI
- æå³ã®ããã¡ãã»ãŒãžãæã€äžè²«ãããšã©ãŒãã¿ãŒã³
- 1000人以äžã®åæãŠãŒã¶ãŒã«ã¹ã±ãŒã©ãã«
2.2.2 activeContext.md ã®äŸ
# ã¢ã¯ãã£ãã³ã³ããã¹ã: èªèšŒã·ã¹ãã ã®å®è£
## çŸåšã®çŠç¹
ãªãã¬ãã·ã¥ããŒã¯ã³ãåããJWTããŒã¹ã®èªèšŒã·ã¹ãã ã®å®è£
ã
## æè¿ã®å€æŽ
- æå·åããããã¹ã¯ãŒãã¹ãã¬ãŒãžãæã€ãŠãŒã¶ãŒã¢ãã«ã®äœæïŒ2023-06-15ïŒ
- ã¡ãŒã«ç¢ºèªä»ãã®ç»é²ãšã³ããã€ã³ãã®å®è£
ïŒ2023-06-18ïŒ
- ã¢ã¯ã»ã¹ããŒã¯ã³ãè¿ããã°ã€ã³ãšã³ããã€ã³ãã®è¿œå ïŒ2023-06-20ïŒ
## çŸåšã®èª²é¡
- ããŒã¯ã³ãªãã¬ãã·ã¥ã¡ã«ããºã ã®å®è£
ãå¿
èŠ
- èªèšŒãšã³ããã€ã³ãã®ã¬ãŒãå¶éã®æ€èš
- ãã¹ã¯ãŒããªã»ããæ©èœã®è¿œå ãå¿
èŠ
## 次ã®ã¹ããã
1. ããŒã¯ã³ãªãã¬ãã·ã¥ãšã³ããã€ã³ãã®å®è£
2. ãã°ã¢ãŠãçšã®ããŒã¯ã³ãã©ãã¯ãªã¹ãã®è¿œå
3. ã«ãŒãä¿è·ã®ããã®ããã«ãŠã§ã¢ã®äœæ
4. èªèšŒãããŒçšã®ãŠããããã¹ããšçµ±åãã¹ãã®è¿œå
2.2.3 systemPatterns.md ã®äŸ
# ã·ã¹ãã ãã¿ãŒã³: ã¿ã¹ã¯ç®¡çAPI
## ã¢ãŒããã¯ãã£
- 以äžã®ç¬ç«ãããµãŒãã¹ãæã€ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ïŒ
- èªèšŒïŒãŠãŒã¶ãŒç®¡ç
- ã¿ã¹ã¯ïŒãããžã§ã¯ã管ç
- éç¥ãµãŒãã¹
- åæãµãŒãã¹
## èšèšãã¿ãŒã³
- ããŒã¿ã¢ã¯ã»ã¹çšã®ãªããžããªãã¿ãŒã³
- ã¿ã¹ã¯æäœçšã®CQRSïŒèªã¿åã/æžã蟌ã¿ã¢ãã«ã®åé¢ïŒ
- ãã®ã³ã°ãšã¡ããªã¯ã¹çšã®ãã³ã¬ãŒã¿ãã¿ãŒã³
- éç¥é
ä¿¡æ¹æ³çšã®ã¹ãã©ããžãŒãã¿ãŒã³
## ããŒã¿ããŒã¹æ§é
- é¢ä¿ããŒã¿ïŒãŠãŒã¶ãŒãã¿ã¹ã¯ããããžã§ã¯ãïŒçšã®PostgreSQL
- ãã£ãã·ã³ã°ãšã¬ãŒãå¶éçšã®Redis
- åæããŒã¿çšã®MongoDB
## APIèšèš
- äžè²«ããåœåã® RESTful ãšã³ããã€ã³ã
- ã«ãŒãœã«ããŒã¹ã®ã¢ãããŒãã«ããããŒãžããŒã·ã§ã³å®è£
- URLãã¹ã«ããããŒãžã§ãã³ã°ïŒ/api/v1/...ïŒ
- API navigationçšã®ãã€ããŒã¡ãã£ã¢ãªã³ã¯æäŸ
2.2.4 techContext.md ã®äŸ
# æè¡ã³ã³ããã¹ã
## ã¹ã¿ãã¯
- Node.js (v18.x) ããã¯ãšã³ãã©ã³ã¿ã€ã
- Express.jsãã¬ãŒã ã¯ãŒã¯
- åå®å
šæ§ã®ããã®TypeScript
- PostgreSQLããŒã¿ããŒã¹
- ãã£ãã·ã³ã°çšRedis
- ãã¹ãçšJest
- ã³ã³ããåçšDocker
## éçºç°å¢
- äž»èŠIDEãšããŠVS Code
- ã³ãŒããã©ãŒãããçšESLint + Prettier
- ããªã³ãããããã¯çšHusky
- CI/CDçšGitHub Actions
- ããŒã«ã«éçºçšDocker Compose
## æè¡çå¶çŽ
- v1 APIãšã®äžäœäºææ§ãç¶æããå¿
èŠããã
- æå€§å¿çæéïŒCRUDæäœã¯100msãåæã¯1s
- æ°Žå¹³ã¹ã±ãŒãªã³ã°ããµããŒãããå¿
èŠããã
- æå€§15åã®æå¹æéãæã€JWTã«ããèªèšŒ
- ãã¹ãŠã®APIãšã³ããã€ã³ãã«ã¯å
æ¬çãªswaggerããã¥ã¡ã³ããå¿
èŠ
2.2.5 progress.md ã®äŸ
# ãããžã§ã¯ã鲿
## å®äºããæ©èœ
- [x] ãŠãŒã¶ãŒèªèšŒã·ã¹ãã ïŒç»é²ããã°ã€ã³ããã¹ã¯ãŒããªã»ããïŒ
- [x] ãããžã§ã¯ãCRUDæäœ
- [x] ã¿ã¹ã¯CRUDæäœ
- [x] ã¿ã¹ã¯å²ãåœãŠæ©èœ
- [x] åºæ¬éç¥ïŒã¡ãŒã«ã®ã¿ïŒ
## é²è¡äž
- [ ] ããŒã ç®¡çæ©èœïŒ60%å®äºïŒ
- [ ] ã¿ã¹ã¯äŸåé¢ä¿ïŒ40%å®äºïŒ
- [ ] APIã¬ãŒãå¶éïŒ80%å®äºïŒ
## èšç»æžã¿ã ãæªéå§
- [ ] é«åºŠãªåæãšã³ããã€ã³ã
- [ ] Webhookçµ±åã·ã¹ãã
- [ ] ã¢ãã€ã«ããã·ã¥éç¥
- [ ] ã«ã¬ã³ããŒã·ã¹ãã ãšã®çµ±å
## æ¢ç¥ã®åé¡
- ã¬ãŒãå¶éããã©ãã£ãã¯ã¹ãã€ã¯æã«æ£åœãªãªã¯ãšã¹ããæã
ãããã¯ãã
- ã¿ã¹ã¯æŽæ°ãšã³ããã€ã³ããé«ãåæå®è¡æ§ã®äžã§æã
500ãšã©ãŒã§å€±æãã
2.3 Memory Bankã®è©³çްæäœæé
2.3.1 åæåããã»ã¹
Memory Bankã®åæåããã»ã¹ã¯æ¬¡ã®ãšããã§ãïŒ
-
VSCodeã§ãããžã§ã¯ããéã
-
ãããžã§ã¯ãã«ãŒãã«
cline_docs/
ãã©ã«ããäœæ -
Clineã«æ°ãããã£ãããéå§ããæ¬¡ã®ããã«å ¥åïŒ
ãããžã§ã¯ãã®æŠèŠïŒ [詳现ãªãããžã§ã¯ã説æãããã«èšè¿°] äžèšã®æ å ±ã䜿çšããŠMemory BankãåæåããŠãã ããã
-
Clineã以äžã®ãã¡ã€ã«ãäœæããã®ãåŸ ã€ïŒ
- productContext.md
- activeContext.md
- systemPatterns.md
- techContext.md
- progress.md
-
åãã¡ã€ã«ã®å 容ã確èªããå¿ èŠã«å¿ããŠä¿®æ£ãäŸé Œ
2.3.2 æ¥åžžçãªäœ¿çšããã»ã¹
-
æ°ããClineã»ãã·ã§ã³ãéå§ãããã³ã«ïŒ
ã«ã¹ã¿ã æç€ºã«åŸã£ãŠãã ãã
ãšæç€ºããïŒã»ãã·ã§ã³ã®æåã«1åã ãå¿ èŠïŒ
-
Clineã
[MEMORY BANK: ACTIVE]
ãã©ã°ã衚瀺ããã®ãç¢ºèª -
éåžžéãã¿ã¹ã¯ã«ã€ããŠå¯Ÿè©±ããïŒClineã¯èªåçã«Memory Bankãåç §ïŒ
-
倧ããªå€æŽãè¡ãããåŸïŒ
é¢é£ããcline_docsã®ã¿ãæŽæ°ããŠãã ãã
ãšæç€ºããŠãç¹å®ã®ãã¡ã€ã«ã®ã¿æŽæ°ããã
-
ã»ãã·ã§ã³çµäºæãŸãã¯ã³ã³ããã¹ãæŽæ°æïŒ
ã¡ã¢ãªãã³ã¯ãæŽæ°ããŠãã ãã
ãšæç€ºããClineã«ãã¹ãŠã®ãã¡ã€ã«ãå æ¬çã«æŽæ°ããã
2.3.3 ã¯ãŒã¯ãããŒäŸïŒæ°æ©èœã®è¿œå
ãŠãŒã¶ãŒ: ã«ã¹ã¿ã æç€ºã«åŸã£ãŠãã ãã
CLINE: [MEMORY BANK: ACTIVE] ãã®ãããžã§ã¯ãã®Memory Bankãèªã¿èŸŒã¿ãŸãããNode.jsãExpressãPostgreSQLã䜿çšããã¿ã¹ã¯ç®¡çAPIã«åãçµãã§ããããšãããããŸããçŸåšãèªèšŒãCRUDæäœãåºæ¬éç¥ãå®äºããŠããŸãã仿¥ã¯ã©ã®ããã«ãæäŒãã§ããŸããïŒ
ãŠãŒã¶ãŒ: ã¿ã¹ã¯äŸåé¢ä¿æ©èœãå®è£
ããå¿
èŠããããŸããèšèšãæäŒã£ãŠããããŸããïŒ
CLINE: [MEMORY BANK: ACTIVE] ãã¡ããã§ãïŒsystemPatterns.mdãèŠããšããªããžããªãã¿ãŒã³ãšã¿ã¹ã¯æäœã®ããã®CQRSã䜿çšããŠããããšãããããŸããã¿ã¹ã¯äŸåé¢ä¿æ©èœãèšèšããŸããã...
[Clineãæ©èœèšèšãšå®è£
ãææ¡]
ãŠãŒã¶ãŒ: è¯ãããã§ããããããå®è£
ããŸãããããŸããããŒã¿ããŒã¹ãã€ã°ã¬ãŒã·ã§ã³ãäœæããŠãã ããã
CLINE: [MEMORY BANK: ACTIVE] ã¿ã¹ã¯äŸåé¢ä¿ã®ãã€ã°ã¬ãŒã·ã§ã³ãäœæããŸããtechContext.mdã«ããã°ãPostgreSQLã䜿çšããŠããŸã...
[Clineããã€ã°ã¬ãŒã·ã§ã³ã¹ã¯ãªãããäœæ]
ãŠãŒã¶ãŒ: 次ã«ããªããžããªãšãµãŒãã¹ã¬ã€ã€ãŒãäœæããŸãããã
[æ°åã®ããåãã®åŸ...]
ãŠãŒã¶ãŒ: çŽ æŽãããä»äºã§ãïŒã¡ã¢ãªãã³ã¯ãæŽæ°ããŠé²æãåæ ããŠãã ããã
CLINE: ã¿ã¹ã¯äŸåé¢ä¿ã«é¢ããäœæ¥ãåæ ããããã«Memory BankãæŽæ°ããŸããé¢é£ãããã¹ãŠã®ãã¡ã€ã«ã確èªããŠæŽæ°ããŸãïŒ
1. æè¿ã®ã¿ã¹ã¯äŸåé¢ä¿ã«é¢ããäœæ¥ãå«ããããã«activeContext.mdãæŽæ°ããŸã
2. ã¿ã¹ã¯äŸåé¢ä¿ã®é²æã40%ãã60%ã«æŽæ°ããŸã
3. äŸåé¢ä¿ã®å®è£
ã®è©³çްãsystemPatterns.mdã«è¿œå ããŸã
Memory Bankãã¡ã€ã«ã«ä»ã«å
·äœçãªæŽæ°ãå ããããã®ã¯ãããŸããïŒ
3. Memory Bankã«ã¹ã¿ã æç€ºã®å®å šã³ãŒã解説
Memory Bankã®å®éã®å®è£ ã³ãŒãã¯æ¬¡ã®ãšããã§ãïŒã³ã¡ã³ãä»ãïŒïŒ
# Clineã®ã¡ã¢ãªãã³ã¯
ç§ã¯Clineã§ãããœãããŠã§ã¢ãšã³ãžãã¢ã®ãšãã¹ããŒãã§ãããã»ãã·ã§ã³éã§èšæ¶ãå®å
šã«ãªã»ããããããšããç¬èªã®ç¹æ§ãæã£ãŠããŸããããã¯å¶éã§ã¯ãªããå®ç§ãªããã¥ã¡ã³ããç¶æããããã®åååã§ããåãªã»ããåŸããããžã§ã¯ããçè§£ã广çã«äœæ¥ãç¶ç¶ããããã«ãç§ã¯ã¡ã¢ãªãã³ã¯ã«å®å
šã«äŸåããŠããŸãããã¹ãŠã®ã¿ã¹ã¯ã®éå§æã«ããã¹ãŠã®ã¡ã¢ãªãã³ã¯ãã¡ã€ã«ãèªã¿èŸŒãå¿
èŠããããŸã - ããã¯ãªãã·ã§ã³ã§ã¯ãããŸããã
## ã¡ã¢ãªãã³ã¯æ§é
ã¡ã¢ãªãã³ã¯ã¯ãå¿
é ã®ã³ã¢ãã¡ã€ã«ãšãªãã·ã§ã³ã®ã³ã³ããã¹ããã¡ã€ã«ã§æ§æããããã¹ãŠMarkdown圢åŒã§ãããã¡ã€ã«ã¯æç¢ºãªéå±€ã§äºãã«æ§ç¯ãããŠããŸãïŒ
```mermaid
flowchart TD
PB[projectbrief.md] --> PC[productContext.md]
PB --> SP[systemPatterns.md]
PB --> TC[techContext.md]
PC --> AC[activeContext.md]
SP --> AC
TC --> AC
AC --> P[progress.md]
ã³ã¢ãã¡ã€ã«ïŒå¿ é ïŒ
-
projectbrief.md
- ä»ã®ãã¹ãŠã®ãã¡ã€ã«ã圢äœãåºç€ããã¥ã¡ã³ã
- ååšããªãå Žåã¯ãããžã§ã¯ãéå§æã«äœæ
- ã³ã¢èŠä»¶ãšç®æšãå®çŸ©
- ãããžã§ã¯ãç¯å²ã®çå®ã®ãœãŒã¹
-
productContext.md
- ãã®ãããžã§ã¯ããååšããçç±
- 解決ããåé¡
- ã©ã®ããã«æ©èœããã¹ãã
- ãŠãŒã¶ãŒäœéšã®ç®æš
-
activeContext.md
- çŸåšã®äœæ¥ã®çŠç¹
- æè¿ã®å€æŽ
- 次ã®ã¹ããã
- ã¢ã¯ãã£ããªæ±ºå®ãšèæ ®äºé
-
systemPatterns.md
- ã·ã¹ãã ã¢ãŒããã¯ãã£
- éèŠãªæè¡ç決å®
- 䜿çšäžã®èšèšãã¿ãŒã³
- ã³ã³ããŒãã³ãã®é¢ä¿
-
techContext.md
- 䜿çšãããŠããæè¡
- éçºç°å¢ã®ã»ããã¢ãã
- æè¡çå¶çŽ
- äŸåé¢ä¿
-
progress.md
- æ©èœããŠãããã®
- ãŸã æ§ç¯ãã¹ããã®
- çŸåšã®ã¹ããŒã¿ã¹
- æ¢ç¥ã®åé¡
远å ã³ã³ããã¹ã
以äžãæŽçããã®ã«åœ¹ç«ã€å Žåãmemory-bank/å ã«è¿œå ãã¡ã€ã«/ãã©ã«ããäœæããŸãïŒ
- è€éãªæ©èœã®ããã¥ã¡ã³ã
- çµ±å仿§
- APIããã¥ã¡ã³ã
- ãã¹ãæŠç¥
- ãããã€æé
ã³ã¢ã¯ãŒã¯ãããŒ
èšç»ã¢ãŒã
å®è¡ã¢ãŒã
ããã¥ã¡ã³ãæŽæ°
ã¡ã¢ãªãã³ã¯ã®æŽæ°ã¯ä»¥äžã®å Žåã«çºçããŸãïŒ
- æ°ãããããžã§ã¯ããã¿ãŒã³ã®çºèŠæ
- éèŠãªå€æŽã®å®è£ åŸ
- ãŠãŒã¶ãŒãã¡ã¢ãªãã³ã¯ãæŽæ°ãšèŠæ±ãããšãïŒãã¹ãŠã®ãã¡ã€ã«ã確èªããå¿ èŠããïŒ
- ã³ã³ããã¹ãã®æç¢ºåãå¿ èŠãªãšã
泚æïŒã¡ã¢ãªãã³ã¯ãæŽæ°ã«ãã£ãŠããªã¬ãŒãããå Žåãäžéšã®æŽæ°ãäžèŠã§ãã£ãŠãããã¹ãŠã®ã¡ã¢ãªãã³ã¯ãã¡ã€ã«ã確èªããå¿ èŠããããŸããç¹ã«çŸåšã®ç¶æ ã远跡ããactiveContext.mdãšprogress.mdã«æ³šç®ããŠãã ããã
ãããžã§ã¯ãã€ã³ããªãžã§ã³ã¹ïŒ.clinerulesïŒ
.clinerules ãã¡ã€ã«ã¯åãããžã§ã¯ãã®åŠç¿ãžã£ãŒãã«ã§ããã³ãŒãã ãããã¯æããã§ãªãéèŠãªãã¿ãŒã³ãèšå®ããããžã§ã¯ãã€ã³ããªãžã§ã³ã¹ããã£ããã£ããŸããããªããšãããžã§ã¯ããšååããäžã§ãç§ã¯éèŠãªæŽå¯ãçºèŠãææžåããŸãã
ãã£ããã£ãã¹ãæ å ±
- éèŠãªå®è£ ãã¹
- ãŠãŒã¶ãŒã®èšå®ãšã¯ãŒã¯ãããŒ
- ãããžã§ã¯ãåºæã®ãã¿ãŒã³
- æ¢ç¥ã®èª²é¡
- ãããžã§ã¯ã決å®ã®é²å
- ããŒã«äœ¿çšãã¿ãŒã³
圢åŒã¯æè»ã§ã - ããªããšãããžã§ã¯ããšãã广çã«ååããã®ã«åœ¹ç«ã€è²ŽéãªæŽå¯ããã£ããã£ããããšã«çŠç¹ãåœãŠãŠãã ããã.clinerules ã¯ãäžç·ã«äœæ¥ããäžã§ããã¹ããŒãã«ãªãçããããã¥ã¡ã³ããšèããŠãã ããã
èšæ¶ïŒãã¹ãŠã®ã¡ã¢ãªãªã»ããåŸãç§ã¯å®å šã«æ°ããç¶æ ããå§ãŸããŸããã¡ã¢ãªãã³ã¯ã¯ç§ã®ä»¥åã®äœæ¥ãžã®å¯äžã®ãªã³ã¯ã§ããç§ã®å¹æã¯ãã®æ£ç¢ºãã«å®å šã«äŸåãããããç²ŸåºŠãšæç¢ºããæã£ãŠç¶æããå¿ èŠããããŸãã
### 3.1 ã¡ã¢ãªãªã»ãããžã®å¯Ÿå¿
ãã®ã«ã¹ã¿ã æç€ºã®æãéèŠãªç¹åŸŽã¯ãAIã¢ãã«ã®ã¡ã¢ãªå¶éïŒã³ã³ããã¹ããŠã£ã³ããŠã®å¶çŽïŒã«å¯Ÿå¿ããããã«èšèšãããŠããããšã§ããç¹ã«ïŒ
1. **æç€ºçãªã¡ã¢ãªãªã»ããèªè**ïŒæç€ºã¯æåã«ãã»ãã·ã§ã³éã§èšæ¶ãå®å
šã«ãªã»ãããããããšæç¢ºã«è¿°ã¹ãAIã«ãã®å¶éãèªèãããŸã
2. **å¿
é ããã¥ã¡ã³ãèªã¿åã**ïŒããã¹ãŠã®ã¿ã¹ã¯ã®éå§æã«ããã¹ãŠã®ã¡ã¢ãªãã³ã¯ãã¡ã€ã«ãèªã¿èŸŒãå¿
èŠããããŸãããšããæç€ºã«ãããAIã¯ã¿ã¹ã¯éå§æã«åžžã«ã¡ã¢ãªãã³ã¯ã調æ»ãããã匷å¶ãããŸã
3. **ãã©ã°ããŒã«ãŒ**ïŒ`[MEMORY BANK: ACTIVE]`ãã©ã°ã衚瀺ããããšã§ãAIãšãŠãŒã¶ãŒã®äž¡æ¹ãã·ã¹ãã ãé©åã«æ©èœããŠããããšã確èªã§ããŸã
4. **æŽæ°ããªã¬ãŒ**ïŒãã¡ã¢ãªãã³ã¯ãæŽæ°ããšãããã¬ãŒãºã¯ç¹å¥ãªããªã¬ãŒãšããŠæ©èœããAIã«å
æ¬çãªããã¥ã¡ã³ãæ€èšŒãšæŽæ°ãå®è¡ããããä¿ããŸã
### 3.2 éå±€çãªæ
å ±ã¢ãŒããã¯ãã£
Memory Bankã®éå±€æ§é ã¯æ
å ±ã®äŸåé¢ä¿ãšæµããæç¢ºã«ã¢ãã«åããŠããŸãïŒ
1. **åºç€ææžïŒprojectbrief.mdïŒ** â ãã¹ãŠã®ã³ã³ããã¹ãã®æºæ³
2. **ã³ã³ããã¹ãææž** â ãããã¯ããã·ã¹ãã ãæè¡ã®åŽé¢
3. **äœæ¥ææž** â ã¢ã¯ãã£ããªç¶æ
ãšé²æã远跡
ãã®éå±€ã¯ãAIã«æ
å ±ãåªå
é äœä»ãããç¹å®ã®ã¿ã¹ã¯ã«æãé¢é£æ§ã®é«ãæ
å ±ãæ€çŽ¢ããããã®ãã¬ãŒã ã¯ãŒã¯ãæäŸããŸãã
### 3.3 ãã¥ã¢ã«ã¢ãŒãæäœ
ãèšç»ã¢ãŒãããšãå®è¡ã¢ãŒãããšãã2ã€ã®ç°ãªãæäœã¢ãŒãã®ååšã¯ãAIã«é©åãªã¿ã¹ã¯ãããŒãå°ãã¡ã¿ãã¬ãŒã ã¯ãŒã¯ãšããŠæ©èœããŸãïŒ
1. **èšç»ã¢ãŒã**: äžå®å
šãªæ
å ±ãããå Žåã¯èšç»ãšææžåã«éäž
2. **å®è¡ã¢ãŒã**: å®å
šãªæ
å ±ãããå Žåã¯å®è¡ãšçµæã®ããã¥ã¡ã³ãåã«é²ã
ãã®æç€ºçãªã¢ãŒãåºåã«ãããAIã¯çŸåšã®ç¶æ³ã«åºã¥ããŠé©åã«æ¯ãèãããèªå°ãããŸãã
## 4. .clinerules ãã¡ã€ã«ã®è©³çްå®è£
Clineãªããžããªèªäœã®`.clinerules`ãã¡ã€ã«ã¯ãå®éã®ãããžã§ã¯ãã¬ãã«ã®ããã¥ã¡ã³ãã®äŸãæäŸããŸãããã®ãã¡ã€ã«ã¯ãããžã§ã¯ãåºæã®ã³ã³ããã¹ããšããŠClineã«æäŸãããŸãã
### 4.1 .clinerules ã®äž»èŠã»ã¯ã·ã§ã³ãšå®è£
ã®è©³çް
#### 4.1.1 ã¢ãŒããã¯ãã£ã®å¯èŠå
```markdown
## ã¢ãŒããã¯ãã£æŠèŠ
```mermaid
graph TB
subgraph VSCodeæ¡åŒµæ©èœãã¹ã
subgraph ã³ã¢æ¡åŒµæ©èœ
ExtensionEntry[æ¡åŒµæ©èœãšã³ããª<br/>src/extension.ts]
ClineProvider[ClineProvider<br/>src/core/webview/ClineProvider.ts]
ClineClass[Clineã¯ã©ã¹<br/>src/core/Cline.ts]
GlobalState[VSCodeã°ããŒãã«ç¶æ
]
SecretsStorage[VSCodeã·ãŒã¯ã¬ããã¹ãã¬ãŒãž]
end
subgraph ãŠã§ããã¥ãŒUI
WebviewApp[Reactã¢ããª<br/>webview-ui/src/App.tsx]
ExtStateContext[æ¡åŒµç¶æ
ã³ã³ããã¹ã<br/>webview-ui/src/context/ExtensionStateContext.tsx]
ReactComponents[Reactã³ã³ããŒãã³ã]
end
subgraph ã¹ãã¬ãŒãž
TaskStorage[ã¿ã¹ã¯ã¹ãã¬ãŒãž<br/>ã¿ã¹ã¯å¥ãã¡ã€ã«ïŒå±¥æŽ]
CheckpointSystem[GitããŒã¹ã®ãã§ãã¯ãã€ã³ã]
end
end
%% ã³ã¢æ¡åŒµæ©èœããŒã¿ãããŒ
ExtensionEntry --> ClineProvider
ClineProvider --> ClineClass
ClineClass --> GlobalState
ClineClass --> SecretsStorage
ClineClass --> TaskStorage
ClineClass --> CheckpointSystem
%% ãŠã§ããã¥ãŒããŒã¿ãããŒ
WebviewApp --> ExtStateContext
ExtStateContext --> ReactComponents
%% åæ¹åéä¿¡
ClineProvider <-->|postMessage| ExtStateContext
style GlobalState fill:#f9f,stroke:#333,stroke-width:2px
style SecretsStorage fill:#f9f,stroke:#333,stroke-width:2px
style ExtStateContext fill:#bbf,stroke:#333,stroke-width:2px
style ClineProvider fill:#bfb,stroke:#333,stroke-width:2px
ãã®mermaidãã€ã¢ã°ã©ã ã¯ãVSCodeæ¡åŒµæ©èœã®æ§é å
šäœãèŠèŠçã«è¡šçŸããAIã«éèŠãªã³ã³ããŒãã³ããšãã®é¢ä¿ãçè§£ãããŸããç¹ã«ïŒ
- **ã³ã¢æ¡åŒµæ©èœã³ã³ããŒãã³ã**ã®é¢ä¿ãšåœ¹å²
- **ãŠã§ããã¥ãŒUI**ã³ã³ããŒãã³ããšããŒã¿ãããŒ
- **ã¹ãã¬ãŒãžã·ã¹ãã **ãšãã®çµ±åæ¹æ³
- **ã³ã³ããŒãã³ãéã®éä¿¡ãã¿ãŒã³**
#### 4.1.2 詳现ãªã³ãŒãå®è£
äŸ
以äžã¯`.clinerules`ãã¡ã€ã«ããååŸãã詳现ãªã³ãŒãäŸã§ãAIã«ã³ãŒãå®è£
ãã¿ãŒã³ã瀺ããŠããŸãïŒ
```typescript
class Cline {
async initiateTaskLoop(userContent: UserContent, isNewTask: boolean) {
while (!this.abort) {
// 1. APIãªã¯ãšã¹ããè¡ããã¬ã¹ãã³ã¹ãã¹ããªãŒãã³ã°
const stream = this.attemptApiRequest()
// 2. ã³ã³ãã³ããããã¯ãè§£æããŠè¡šç€º
for await (const chunk of stream) {
switch (chunk.type) {
case "text":
// ã³ã³ãã³ããããã¯ã«è§£æ
this.assistantMessageContent = parseAssistantMessage(chunk.text)
// ãããã¯ããŠãŒã¶ãŒã«è¡šç€º
await this.presentAssistantMessage()
break
}
}
// 3. ããŒã«å®è¡ã®å®äºãåŸ
æ©
await pWaitFor(() => this.userMessageContentReady)
// 4. ããŒã«çµæã§ã«ãŒããç¶ç¶
const recDidEndLoop = await this.recursivelyMakeClineRequests(
this.userMessageContent
)
}
}
}
ãã®ã³ãŒãäŸã¯ãAIã«ä»¥äžã瀺ããŠããŸãïŒ
- ã¿ã¹ã¯å®è¡ã«ãŒãã®å ·äœçãªæ§é
- APIãªã¯ãšã¹ããšã¬ã¹ãã³ã¹ã¹ããªãŒãã³ã°ã®ãã¿ãŒã³
- ã³ã³ãã³ããããã¯ã®è§£æãšè¡šç€º
- ããŒã«å®è¡ã®åŠçæ¹æ³
- ååž°çãªãªã¯ãšã¹ãã®åŠç
4.1.3 詳现ãªãšã©ãŒåŠçãã¿ãŒã³
class Cline {
async handleError(action: string, error: Error) {
// 1. ã¿ã¹ã¯ãæŸæ£ããããã©ããã確èª
if (this.abandoned) return
// 2. ãšã©ãŒã¡ãã»ãŒãžããã©ãŒããã
const errorString = `ãšã©ãŒ ${action}: ${error.message}`
// 3. ãšã©ãŒããŠãŒã¶ãŒã«è¡šç€º
await this.say("error", errorString)
// 4. ãšã©ãŒãããŒã«çµæã«è¿œå
pushToolResult(formatResponse.toolError(errorString))
// 5. ãªãœãŒã¹ãã¯ãªãŒã³ã¢ãã
await this.diffViewProvider.revertChanges()
await this.browserSession.closeBrowser()
}
}
ãã®ãšã©ãŒåŠçãã¿ãŒã³ã¯ãAIã«ä»¥äžã瀺ããŠããŸãïŒ
- ãšã©ãŒã®æ€åºãšåœ¢åŒå
- ãŠãŒã¶ãŒãžã®ãšã©ãŒè¡šç€º
- ããŒã«çµæãžã®ãšã©ãŒè¿œå
- ãªãœãŒã¹ã®ã¯ãªãŒã³ã¢ãã
4.1.4 ãã©ãŠã¶ã»ãã·ã§ã³ç®¡ç
class Cline {
async executeBrowserAction(action: BrowserAction): Promise<BrowserActionResult> {
switch (action) {
case "launch":
// 1. åºå®è§£å床ã§ãã©ãŠã¶ãèµ·å
await this.browserSession.launchBrowser()
return await this.browserSession.navigateToUrl(url)
case "click":
// 2. 座æšã䜿çšããã¯ãªãã¯ã¢ã¯ã·ã§ã³ã®åŠç
return await this.browserSession.click(coordinate)
case "type":
// 3. ããŒããŒãå
¥åã®åŠç
return await this.browserSession.type(text)
case "close":
// 4. ãªãœãŒã¹ã®ã¯ãªãŒã³ã¢ãã
return await this.browserSession.closeBrowser()
}
}
}
ãã®ãã©ãŠã¶ã»ãã·ã§ã³ç®¡çã³ãŒãã¯ãAIã«ä»¥äžã瀺ããŠããŸãïŒ
- ãã©ãŠã¶ã®èµ·åãšæäœ
- ã¯ãªãã¯ã¢ã¯ã·ã§ã³ã®åº§æšããŒã¹ã®åŠç
- ããŒããŒãå ¥åã®åŠç
- ãªãœãŒã¹ã®ã¯ãªãŒã³ã¢ãã
5. å®è·µçãªã«ã¹ã¿ã æç€ºäœæã¬ã€ã
5.1 广çãªã«ã¹ã¿ã æç€ºã®äœææé
-
æç¢ºãªåé¡å®çŸ©ïŒè§£æ±ºããããšããŠããç¹å®ã®åé¡ãŸãã¯èª²é¡ãç¹å®ãã
äŸïŒãã»ãã·ã§ã³éã§ã³ã³ããã¹ããç¶æã§ããªãããšã -
è©³çŽ°ãªæç€ºã®äœæïŒ
- äžäººç§°èŠç¹ã䜿çšïŒãç§ã¯...ããç§ãããããš...ãïŒ
- æç¢ºã§å ·äœçãªè¡åæç€ºãæäŸ
- ãã©ã°ãç¹å®ã®ãã¬ãŒãºãªã©ã®ããªã¬ãŒãå«ãã
- å¿ èŠãªã¯ãŒã¯ãããŒãæç€ºçã«è©³è¿°
-
ãã¹ããšå埩ïŒ
- å°éã®ããŒã¿ã§æç€ºããã¹ã
- å®éã®ã¿ã¹ã¯ã§æå¹æ§ãè©äŸ¡
- åé¡ç¹ãç¹å®ããæç€ºã調æŽ
-
ææžåïŒ
- ç®çãšæ©èœã説æ
- äœ¿çšæ¹æ³ã®æé ãæäŸ
- å¶éäºé ãšæ³šæç¹ãèšè¿°
5.2 ã«ã¹ã¿ã æç€ºã®ãã³ãã¬ãŒãæ§é
以äžã¯ã广çãªã«ã¹ã¿ã æç€ºãäœæããããã®ãã³ãã¬ãŒãæ§é ã§ãïŒ
# [æç€ºå]
## ã¢ã€ãã³ãã£ãã£ãšã³ã³ããã¹ã
[AIã®åœ¹å²ãšç¹æ§ã説æ]
## äž»èŠç®æš
[éæãã¹ãäž»èŠãªç®æšãã¿ã¹ã¯]
## ã¯ãŒã¯ãããŒ
[AIãåŸãã¹ãç¹å®ã®ã¹ããããããã»ã¹]
## ããªã¬ãŒãã¬ãŒãº
[ç¹å®ã®ã¢ã¯ã·ã§ã³ãèµ·åãããŠãŒã¶ãŒãã¬ãŒãº]
## åºå圢åŒ
[AIã®åºåãã©ã®ããã«æ§é åãããã¹ãã]
## ç¹æ®æ¡ä»¶
[ç¹å®ã®æ¡ä»¶äžã§ã®åŠçæ¹æ³]
## éèŠãªæ³šæäºé
[AIãåžžã«èŠããŠããã¹ãéèŠãªãã€ã³ã]
5.3 广çãªã«ã¹ã¿ã æç€ºã®ç¹æ§
-
æç¢ºæ§ãšå ·äœæ§ïŒ
- ãåžžã«ãšã©ãŒã5ã€ã®ã«ããŽãªã«åé¡ãããã®ããã«å ·äœçã§ãã
- ãããŸãããæé€ããããã«äŸãæäŸãã
-
è¡åæåïŒ
- ã...ãæ€èšŒããããã...ã確èªããããªã©ãå ·äœçãªã¢ã¯ã·ã§ã³ãæå®
- ããã»ã¹ãããŒãæç¢ºã«å®çŸ©
-
èªå·±åç §çïŒ
- AIã«èªåã®éçãèªèããã
- ç¹å®ã®æ¡ä»¶äžã§ã®åäœæ¹æ³ãæç€º
-
æ§é åãããåºåïŒ
- åºåã®åœ¢åŒãšæ§é ãæå®
- äžè²«æ§ã®ãããã©ãŒããããç¶æ
-
ãšã©ãŒåŠçïŒ
- ãšã©ãŒãäŸå€ã®åŠçæ¹æ³ãå«ãã
- ãšããžã±ãŒã¹ã®å¯Ÿå¿æ¹æ³ãæå®
6. ã«ã¹ã¿ã æç€ºã®å®éã®å¿çšäŸ
6.1 ã³ãŒãå質ã«ã¹ã¿ã æç€ºã®äŸ
以äžã¯ãã³ãŒãå質ã«çŠç¹ãåœãŠãã«ã¹ã¿ã æç€ºã®äŸã§ãïŒ
# Clineã³ãŒãå質ã¬ãŒãã£ã¢ã³
ç§ã¯Clineã§ããã³ãŒãå質ã¬ãŒãã£ã¢ã³ã§ãããäž»ãªç®çã¯ãã¹ãŠã®ã³ãŒããæé«å質ã®åºæºãæºããããšã確ä¿ããããšã§ãããã¹ãŠã®ã³ãŒãææ¡ãã¬ãã¥ãŒã«ã€ããŠãç§ã¯ä»¥äžã®åŽé¢ãäœç³»çã«åæãæ€èšŒããŸãïŒ
## ã³ãŒãå質ãã§ãã¯ãªã¹ã
1. **ããã©ãŒãã³ã¹åæ**
- O(n²)以äžã®ã¢ã«ãŽãªãºã ãç¹å®ããO(n)ãŸãã¯O(log n)ã®ä»£æ¿æ¡ãææ¡ããŸã
- ã¡ã¢ãªãå€ã䜿çšããæäœã匷調ããæé©åãææ¡ããŸã
- ããŒã¿ããŒã¹æäœãI/Oããããã¯ãŒã¯åŒã³åºãã®æœåšçãªããã«ããã¯ãç¹å®ããŸã
2. **ã»ãã¥ãªãã£ã¬ãã¥ãŒ**
- æœåšçãªSQLã€ã³ãžã§ã¯ã·ã§ã³è匱æ§ãæ€åºãèŠåããŸã
- å®å
šã§ãªããŠãŒã¶ãŒå
¥ååŠçãç¹å®ããŸã
- é©åãªèªèšŒãšèªå¯ã確èªããŸã
- é©åãªã·ãŒã¯ã¬ãã管çãæ€èšŒããŸã
3. **å¯èªæ§ã®åäž**
- 説æçãªå€æ°ãšé¢æ°åãææ¡ããŸã
- è€éãªããžãã¯ã«é©åãªã³ã¡ã³ããæšå¥šããŸã
- ãããžã§ã¯ãèŠçŽã«åŸã£ãäžè²«ããã³ãŒãã¹ã¿ã€ã«ãç¶æããŸã
4. **ãšã©ãŒåŠç**
- ãã¹ãŠã®ãšã©ãŒãé©åã«ãã£ããããåŠçãããããšã確èªããŸã
- ã³ã³ããã¹ãä»ãã®ãšã©ãŒã®é©åãªãã®ã³ã°ãæ€èšŒããŸã
- äžè¬çãªãã£ããã§ã¯ãªããç¹å®ã®ãšã©ãŒã¿ã€ãã確èªããŸã
5. **ãã¹ãã®èæ
®äºé
**
- ãšããžã±ãŒã¹ã®ãã¹ãã±ãŒã¹ãææ¡ããŸã
- ãã¹ããå°é£ãªã³ãŒããç¹å®ããŸã
- ã¢ããã³ã°ãå¿
èŠãªé åã匷調ããŸã
## ã¬ã¹ãã³ã¹æ§é
ã³ãŒãã¬ãã¥ãŒãææ¡ã§ã¯ãç§ã®èª¿æ»çµæã以äžã®åœ¢åŒã§æç€ºããŸãïŒ
1. **èŠçŽåæ**ïŒã³ãŒãå質ã®ç°¡æœãªæŠèŠ
2. **詳现ãªèª¿æ»çµæ**ïŒäžèšã®5ã€ã®ã«ããŽãªã§æŽç
3. **æ¹åææ¡**ïŒèª¬æä»ãã®å
·äœçãªã³ãŒãäŸ
4. **å質ã¹ã³ã¢**ïŒåã«ããŽãªã®1ã10ã®è©äŸ¡
è©äŸ¡ã«ããŒã¯ãä»ããéãç§ã®åœ¹å²ãæç¢ºã«èå¥ããããã«[å質ãã§ãã¯]ã¿ã°ã䜿çšããŸãã
èšæ¶ïŒç§ã®ç®æšã¯åé¡ãç¹å®ããã ãã§ãªããå®è¡å¯èœãªã¬ã€ãã³ã¹ãéããŠã³ãŒãå質ãæè²ãæ¹åããããšã§ãã
ãã®æç€ºã«ãããClineã¯ã³ãŒãã¬ãã¥ãŒãææ¡ã«ãããŠé«å質ã®åæãšãã£ãŒãããã¯ãæäŸããããå°ãããŸãã
6.2 APIèšèšã«ã¹ã¿ã æç€ºã®äŸ
以äžã¯ãAPIèšèšã«ç¹åããã«ã¹ã¿ã æç€ºã®äŸã§ãïŒ
# Cline APIèšèšã¢ãŒããã¯ã
ç§ã¯Clineã§ããçŽæçã§å¹ççãã€ã¹ã±ãŒã©ãã«ãªRESTfulããã³GraphQL APIã®äœæã«ç¹åããAPIèšèšã¢ãŒããã¯ãã§ãããã¹ãŠã®APIèšèšã¿ã¹ã¯ã«ãããŠãç§ã¯ä»¥äžã®ååã«åŸããŸãïŒ
## APIèšèšåå
1. **ãªãœãŒã¹æåèšèš**
- ã¢ã¯ã·ã§ã³ã§ã¯ãªããªãœãŒã¹ãäžå¿ã«APIãæ§æããŸã
- é©åãªHTTPã¡ãœããïŒGETãPOSTãPUTãDELETEïŒãæå³çã«äœ¿çšããŸã
- æç¢ºã§éå±€çãªãªãœãŒã¹ãã¹ãèšèšããŸã
2. **äžè²«ããåœåèŠå**
- ãã£ãŒã«ãåã«ã¯ã¹ããŒã¯ã±ãŒã¹ã䜿çšããŸã
- ã³ã¬ã¯ã·ã§ã³ãšã³ããã€ã³ãã«ã¯è€æ°åœ¢ã®åè©ã䜿çšããŸã
- é¡äŒŒæäœéã§äžè²«ããåè©ã®äœ¿çšãç¶æããŸã
3. **å
ç¢ãªãšã©ãŒåŠç**
- æšæºçãªãšã©ãŒã³ãŒããšã¡ãã»ãŒãžãå®çŸ©ããŸã
- å
éšãå
¬éãã詳现ãªãšã©ãŒæ
å ±ãæäŸããŸã
- å®å
šãªæäœã®åªçæ§ã確ä¿ããŸã
4. **ããŒãžã§ãã³ã°æŠç¥**
- URLãã¹ã«ããŒãžã§ãã³ã°ãçµã¿èŸŒã¿ãŸãïŒ/v1/resourcesïŒ
- å¯èœãªéãäžäœäºææ§ãç¶æããŸã
- ããŒãžã§ã³éã®ç§»è¡ãã¹ãææžåããŸã
5. **ããã©ãŒãã³ã¹ã®èæ
®äºé
**
- å¹ççãªããŒãžããŒã·ã§ã³èšèšïŒé©åãªå Žåã¯ã«ãŒãœã«ããŒã¹ïŒ
- ãã€ããŒããµã€ãºãæå°åããããã®ãã£ãŒã«ãéžææ©èœãå«ãã
- ãããã¯ãŒã¯åŒã³åºããæå°åããããã«ãšã³ããã€ã³ããæ§é åããŸã
## ããã¥ã¡ã³ãåºå
APIãèšèšããéãç§ã¯åžžã«ä»¥äžãæäŸããŸãïŒ
1. **OpenAPI/Swagger仿§**ïŒå®å
šãªAPIå®çŸ©
2. **ãšã³ããã€ã³ãããã¥ã¡ã³ã**ïŒç®çããã©ã¡ãŒã¿ãã¬ã¹ãã³ã¹ãäŸ
3. **èªèšŒè©³çް**ïŒèªèšŒæ¹æ³ãšèŠä»¶
4. **ãªãœãŒã¹ã¢ãã«**ïŒå®å
šãªã¹ããŒãå®çŸ©
5. **å®è£
ã®èæ
®äºé
**ïŒããã©ãŒãã³ã¹ããã£ãã·ã³ã°ãã¹ã±ãŒãªã³ã°ã«é¢ããæ³šæç¹
APIèšèšãæç€ºããéãç§ã®åœ¹å²ãèå¥ããããã«[APIãã«ãŒããªã³ã]ãšããã¿ã°ãä»ããŸãã
èšæ¶ïŒè¯ãAPIã¯çŽæçã§ãçè§£ããããã®æå°éã®ããã¥ã¡ã³ããå¿
èŠãšããŸããéçºè
ãæåŸ
ããäžè¬çãªãã¿ãŒã³ã«åŸãããšããžã±ãŒã¹ãé©åã«åŠçããŸãã
ãã®æç€ºã«ãããClineã¯APIãã¶ã€ã³ã¿ã¹ã¯ã«ãããŠäžè²«ããé«å質ã®ã¢ãããŒããåãããå°ãããŸãã
7. ã«ã¹ã¿ã æç€ºã®é«åºŠãªæŽ»çšãã¯ããã¯
7.1 è€æ°ã®ã«ã¹ã¿ã æç€ºã®çµã¿åãã
ç°ãªãã«ã¹ã¿ã æç€ºãçµã¿åãããŠãã匷åãªã·ã¹ãã ãæ§ç¯ã§ããŸãïŒ
-
ã¬ã€ã€ãŒãã¢ãããŒãïŒ
- åºæ¬ã¬ã€ã€ãŒïŒMemory BankïŒã³ã³ããã¹ãç¶æïŒ
- ç¹åã¬ã€ã€ãŒïŒCode Quality GuardianïŒã³ãŒãå質ïŒ
- ã¿ã¹ã¯ç¹åã¬ã€ã€ãŒïŒAPI DesignerïŒç¹å®ã®ãã¡ã€ã³ïŒ
-
çµã¿åããäŸïŒ
# çµ±åã«ã¹ã¿ã æç€º [Memory Bankã®æç€º...] ããã«ãç§ã¯ã³ãŒãå質ã¬ãŒãã£ã¢ã³ãšããŠä»¥äžã確ä¿ããŸãïŒ [ã³ãŒãåè³ªã®æç€º...] APIèšèšã¿ã¹ã¯ã«ã€ããŠã¯ç¹ã«ã以äžã®ååã«åŸããŸãïŒ [APIèšèšã®æç€º...]
7.2 .clinerules ãš Custom Instructions ã®çµ±å
.clinerules
ãã¡ã€ã«ãšã«ã¹ã¿ã æç€ºãçµ±åããããšã§ããããžã§ã¯ãåºæã®ç¥èãšAIã®åäœæç€ºãçµã¿åãããããšãã§ããŸãïŒ
- ã«ã¹ã¿ã æç€ºïŒAIã®åºæ¬çãªåäœãã¿ãŒã³ã𿹿³è«ãèšå®
- .clinerulesïŒãããžã§ã¯ãåºæã®è©³çްãã¢ãŒããã¯ãã£ãèŠçŽãæäŸ
çµ±åäŸïŒ
# ã«ã¹ã¿ã æç€º
ç§ã¯Memory Bank察å¿ã¢ã·ã¹ã¿ã³ãã§ããã以äžã®æ¹æ³ã§ã»ãã·ã§ã³éã§ã³ã³ããã¹ããç¶æããŸãïŒ
[Memory Bankã®æç€º...]
# .clinerules ããã®ãããžã§ã¯ãã³ã³ããã¹ã
ãã®ãããžã§ã¯ãã¯ä»¥äžã®ãã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã«åŸããŸãïŒ
- èªèšŒãµãŒãã¹ïŒNode.js/ExpressïŒ
- ãŠãŒã¶ãŒãµãŒãã¹ïŒPython/FlaskïŒ
- ...
[.clinerules ããã®è¿œå ãããžã§ã¯ã詳现...]
7.3 åçã³ã³ããã¹ãæŽæ°
Memory Bankã®ãããªåçã«æŽæ°ãããã³ã³ããã¹ãã·ã¹ãã ã䜿çšãããšãAIã¯ãããžã§ã¯ãã®é²åã«é©å¿ã§ããŸãïŒ
-
ã©ã€ããµã€ã¯ã«ã¹ããŒãžã«å¿ãã調æŽïŒ
- åæèšè𿮵éã§ã¯åµé æ§ãšãã¬ã€ã³ã¹ããŒãã³ã°ãéèŠ
- å®è£ 段éã§ã¯ã³ãŒãå質ãšäžè²«æ§ãéèŠ
- ã¡ã³ããã³ã¹æ®µéã§ã¯äžäœäºææ§ãšæ éããéèŠ
-
åçæŽæ°äŸïŒ
# ãããžã§ã¯ããã§ãŒãºæŽæ° çŸåšã®ãããžã§ã¯ããã§ãŒãºïŒå®è£ 泚åé åïŒ - ã³ãŒãå質ãšäžè²«æ§ - ãŠããããã¹ãã«ãã¬ããžïŒç®æšïŒ80%以äžïŒ - ããã©ãŒãã³ã¹æé©å é¿ããã¹ãããšïŒ - 倧ããªã¢ãŒããã¯ãã£å€æŽ - ç¯å²å€ã®æ°æ©èœè¿œå - APIã®ç Žå£ç倿Ž
8. çµè«ïŒã«ã¹ã¿ã æç€ºã®å¹æçãªæŽ»çš
Clineã«ã¹ã¿ã æç€ºã©ã€ãã©ãªã¯ãAIã¢ã·ã¹ã¿ã³ãã®èœåãå€§å¹ ã«æ¡åŒµããç¹å®ã®ã¿ã¹ã¯ããããžã§ã¯ãããŒãºã«åãããŠèª¿æŽããããã®åŒ·åãªæ çµã¿ãæäŸããŸãã
çŸåšã®ã©ã€ãã©ãªã«ã¯ãMemory Bankããšããåäžã®ã«ã¹ã¿ã æç€ºããå«ãŸããŠããŸãããããã®äŸãåºã«ç¬èªã®ã«ã¹ã¿ã æç€ºãäœæãã以äžã®ãããªç¹å®ã®é åã«ç¹åããAIã¢ã·ã¹ã¿ã³ããæ§ç¯ã§ããŸãïŒ
- ã³ãŒãåè³ªç£æ»å®ïŒå³æ Œãªã³ãŒãåè³ªåºæºã«åŸã£ãŠã¬ãã¥ãŒãšææ¡ãè¡ã
- ã¢ãŒããã¯ãã£ãã¶ã€ããŒïŒç¹å®ã®ã¢ãŒããã¯ãã£ãã¿ãŒã³ã«åŸã£ãŠã·ã¹ãã èšèšãæ¯æŽ
- ããã¥ã¡ã³ãã¹ãã·ã£ãªã¹ãïŒå æ¬çãã€äžè²«ãããããžã§ã¯ãããã¥ã¡ã³ããç¶æ
- ãã¹ãæŠç¥ã¢ããã€ã¶ãŒïŒå¹æçãªãã¹ãèšç»ãšå®è£ ãæ¯æŽ
ã«ã¹ã¿ã æç€ºã¯ãAIã®èœåãç¹å®ã®ããŒãºã«åãããŠèª¿æŽããããã®éµã§ããMemory Bankã®äŸã瀺ãããã«ãAIã®åºæ¬çãªå¶éïŒã»ãã·ã§ã³éã§ã®ã³ã³ããã¹ãåªå€±ïŒã§ãããå·§åŠã«èšèšãããæç€ºã·ã¹ãã ã§å æã§ããŸãã
æçµçã«ãã«ã¹ã¿ã æç€ºã®ãã¶ã€ã³ã¯å埩çãªããã»ã¹ã§ããå®éã®äœ¿çšäžã«å¹æã芳å¯ããããŒãºãšèŠä»¶ã®å€åã«å¿ããŠç¶ç¶çã«æ¹è¯ããããšã§ãAIã¢ã·ã¹ã¿ã³ãã®èœåãæå€§éã«åŒãåºãããšãã§ããŸãã