å·»ç©ãæ¢ã
11ä»¶ã®å·»ç©
AIãšãŒãžã§ã³ãã® skill/tool ãè€æ°PCãžé åžããæã®çœ ãšåé¿ç
skillã»å ±éããŒã«ãè€æ°PCãžèªåé åžããéçšã§å¿ ãèžã3ã€ã®çœ ïŒé åžç©ã¯git repoã§ãªãïŒåæã¹ã¯ãªããèªäœãå€ãïŒskillã¯ã»ãã·ã§ã³éå§æããŒãïŒãšãäŸåãååž°ååŸããããŒãã¹ãã©ããæé ã
LLMã®å§è²å ããæåçÃã³ã¹ããã§æ±ºãã eval ããŒãã¹
å®ãã¢ãã«ãžåŠçãç§»ãåã«å質ãèœã¡ãªãããšãæ°åã§ç¢ºèªããèšæž¬ããŒã«ã®äœãæ¹ã枬å®ãæªãã4ã€ã®çœ (APIãšã©ãŒ/åºååæ/æåŸ å€ãæ£è§£ã匟ã/ãã³ãã¬ãé åžå ã«å±ããªã)ãšå¯Ÿçã宿ž¬å€ã€ãã§ç€ºãã
Claude Code ã®ãæ¯ãªã¯ãšã¹ã課éãããæèãã宿ž¬ããŠåã
~/.claude/rules/ ã® .md 㯠paths: ãç¡ããšå šãªã¯ãšã¹ãã«ç¡æ¡ä»¶ããŒãããããcount_tokens API ã§ãã¡ã€ã«åäœã«å®æž¬ããåžžæããŒãããå®å šã«å€ããé åžæžã¿ã®å šç«¯æ«ãèªåç§»è¡ããããŸã§ã®æé ãæ©æreturnã®åŸãã«åŸå§æ«ãæžããšäžéšç«¯æ«ã§æ°žä¹ ã«çŽããªããåé€ã§ãªãç§»åã«ããªããšå šæãæ¶ããçªãã§ããããšãã£ãå®è£ äžã®èœãšã穎ãšååž°ãã¹ã5ã±ãŒã¹ä»ãã宿ž¬ã§ 29,295â6,020 tok/reqã
ã«ãŒã«åŒ·å¶ hook ãæ¬çªã§å£ãã3ã€ã®åãšæ€èšŒæ¹æ³
AIã«éçšã«ãŒã«ãå®ããã hook ãäœã£ãåŸã«å¿ ãèµ·ããå£ãæ¹(éšåäžèŽã®èª€çã»èªãç¯å²ã®ãã°ã»åæã§æ¶ãã)ãšãå¥çŽãã¹ã5ã±ãŒã¹+é åžç¢ºèªã®å
AIã«ãèªåã§èª¿ã¹ããããã¬ãŒãã®äœãæ¹ â 調æ»ã®äžžæããæ©æ¢°ã§æ¢ãã
ãšãŒãžã§ã³ããèªåã§1åã§åããããšã人éã«ç¢ºèªãããã®ã hook ã§æ¢ããåãæ¢ã«ã¬ãŒããæžããã®ã«å¹ããªã5ã€ã®åå ïŒæªé åžã»æ±çšããŒã«ãäžèœããŒã»ã«ããŽãªäžè¶³ã»èª€æ€ç¥ã§åœ¢éªžåã»éããåŒãç·©ãïŒãšã質åããŒã«ã PreToolUse ã§äºåãããã¯ããæ¹æ³ãåºå®ãã¹ããã¹ãé ç®ãŸã§ã
è€æ°PCã®AIãšãŒãžã§ã³ãã«ã«ãŒã«å€æŽã確å®ã«å±ãã â å±ããã€ãããæœ°ã4ã€ã®å®æž¬
å ±æãªããžããªçµç±ã§AIã®ã«ãŒã«ãé ãæ§æã§ãpullã ãèªå/pushãæåã»éåŒããé»ã£ãŠå¹ãã»CDNãå€ãçãè¿ãã»dry-runãä¿è·ãã©ã³ããæããªããã®4ã€ã®çœ ãšæœ°ãæ¹ãæ€èšŒã¯é åžçµè·¯ãã®ãã®ã§è¡ãã
AIã®åºåãæ¢ããã²ãŒãhookã誀çããæã®çŽãæ¹
ããã¹ããããã§å¿çãæ¢ããhookã¯å¿ ã誀çãããçå ã®ç¹å®(Markdown衚ã1ãããã¯ã«ãªã/åŒçšãå®ç©ãšæ°ãã/æºããããã®ãªãèŠæ±)ãããæå°ã®äŸå€ã®åãæ¹ãéå°æ€ç¥ã«å€ããªããã¹ããé åžå ãŸã§èŠãå®äºå€å®ãŸã§ã
AIéçšã«ãŒã«ãæ©æ¢°çã«å®ããã hook èšèš â ã«ãŒã«æãå®ãããªãæ¬åœã®çç±
ããŒã ã§AIãšãŒãžã§ã³ãã䜿ããšéçšã«ãŒã«ãå¿ ãå®ãããªããªããçå ã¯ãèªãã§ããªããã§ã¯ãªã hook ããã®ãã·ã³ã§ç»é²ãããŠããªã/å§è²å ãæ²é»ããŠå£ããŠããããšãçŠæ¢=å®è¡åæåŠã»èªå°=äŸé Œæã®å ·äœã³ãã³ãæ³šå ¥ã»æ ä¿=ã»ãã·ã§ã³éå§æã®èªå·±ä¿®åŸ©ã®3å±€ãæç€ºäŸå€ã®çåœããŒã¯ã³ãwarnâblockã®æ®µéææ ŒãBOM/ãµã³ãããã¯ã¹/timeout ãªã©å€±æãæ²é»ããçœ ãšãç°å¢äŸåã§èœã¡ãªããã¹ãã®äœãæ¹ãŸã§ã宿ž¬ããŒã¹ã§ãŸãšããå°å ¥æé ã
AIã¢ãã«ã®èª²éåºåã宿ž¬ã§ç¢ºå®ããã«ãŒã«ãæ©æ¢°ã«åŒ·å¶ããã
ããã®ã¢ãã«ã¯å®é¡å ãåŸé課éãããæšæž¬ã§æ±ºãããšå€ãããæ¯åºã¬ããŒãã§ç¢ºå®ãããæé ãšã確å®çµæãåäžã®èšå®æº+3å±€ã®ããã¯ã§åŒ·å¶ããåãå®ãã¢ãã«ãå®ã¯é«ãïŒãã£ãã·ã¥æžã蟌ã¿ïŒã®èŠã€ãæ¹ãå«ãã
é«é¡ã¢ãã«ã§èµ°ãç¶ããŠããã»ãã·ã§ã³ã hook ã«èªå·±æ€åºãããïŒClaude CodeïŒ
ã»ãã·ã§ã³å ã§ /model éžæããé«é¡ã¢ãã«ã¯æ¢å®ã¢ãã«èšå®ã§ã PreToolUse ã§ãæ¢ãŸããªããhook stdin ã® transcript_path ã§èªã»ãã·ã§ã³ã®ã¢ãã«ãèªã¿ãæ¯ã¿ãŒã³èŠåãæ³šå ¥ããåãå šèªã¿çŠæ¢ã»async exitã»realpath èµ·åå€å®ã»BOM ã®èœãšã穎ãšãéèšåŽã«çºçå ã»ãã·ã§ã³IDãèŒããæ¹ä¿®ãŸã§ã
éçšã«ãŒã«ãAIã«å®ãããã宣èšåŒ·å¶ã²ãŒããhook
äŸé Œåé æ(UserPromptSubmit)ã«å²ã蟌ã¿ãå¿çåé ã§1è¡ã®å€å®å®£èšãåºãããããšã§ãå§è²ã»å€éãããçã®éçšã«ãŒã«ãå®å¹åãã hook ã®åãå®è£ ã³ãŒãã»ç»é²æ¹æ³ã»çºç«/éçºç«ã®æ€èšŒã³ãã³ãã»å®éã«èžãã èœãšã穎ã€ãã