ããã«ã¡ã¯ãããã°ãã¯ã Findy Team+ éçºã®ããã³ããšã³ããªãŒããããŠãã @shoota ã§ãã ä»åã¯ããã³ããšã³ãããã¯å°ãé¢ããAIã«ãããã«ãªã¯ãšã¹ãã®ã¬ãã¥ãŒã·ã¹ãã ãäœæããè©±ãæžããŸãã Findy Team+ããã³ããšã³ãã®çŸç¶ãšèª²é¡ AIã³ãŒãã£ã³ã°æä»£ã®æ°ããªèª²é¡ AIã«ããèªåã¬ãã¥ãŒïŒApproveïŒãäœãã 解決ãããèª²é¡ ã¬ãã¥ãŒã¯å€§ãã3çš®é¡ãã 誰ã䜿ããã®ã äœãå€å®ããã®ã å€å®ã®ãã¢ã¯Tidy First?ã®åé¡ å®è£
ãšãã€ã³ã GitHub Actions Claude Code Actions ã¯ãŒã¯ãããŒã®å€åãšããã³ããã®æ¹å å®è¡ã³ã¹ã ãããã« Findy Team+ããã³ããšã³ãã®çŸç¶ãšèª²é¡ éå»ã®ããã°ã§ãè§ŠããŠããŸãããFindy Team+ã®ããã³ããšã³ãã¯ãéåžžã«å€§ããªã¢ãã¬ãã§æ§æãããŠããŸãã tech.findy.co.jp ãã®ãããCIã®æé©åã»ãã¥ãŒãã³ã°ã¯ãã¡ããã®ããšãã³ãŒãããŒã¹å
šäœã®ç§©åºã®å質ãç¶æããããã«ããŸããŸãªå·¥å€«ãå¶çŽããã£ãŠéçšããŠããŸããã AIã³ãŒãã£ã³ã°ãäž»æµã«ãªã£ãŠããã¯æŽã«ãããã匷åããå¶çŽãã«ãŒã«ã®çå®ãESLintããŠããããã¹ããªã©ã®ã¬ãŒãã¬ãŒã«æŽåã匷åãããã1幎ããããŠé²ããŠããŸããã ïŒãã®å
容ã«ã€ããŠã¯å¥ã§çºè¡šããããšæããŸãïŒ ãããã®æè³ãšAIã¢ãã«ã®é²åã«ããããããŸã§ããã¯ãšã³ããäžå¿ã«æŽ»åããŠããã¡ã³ããŒã®ããã³ããšã³ãã®åå
¥éå£ã倧ããäžããããšã«æåããŠããŸãã çŸåšã§ã¯ãAIãçæããã³ãŒãã®è³ªã¯1幎åãã倧ããåäžããŠãããšäœæããŠããŸãã AIã³ãŒãã£ã³ã°æä»£ã®æ°ããªèª²é¡ ãããããã§æ°ããªèª²é¡ãçãŸããŸãããããã¯ããAIãç䌌ãã¹ãã§ãªãã³ãŒãã®ä¿®æ£ããããããé²ãã«ãŒã«ã®å°å
¥ã®ããã®ã¬ãã¥ãŒã³ã¹ããç°åžžã«é«ãããšããããšã§ãã AIã®æŽ»çšã®ããã«ã³ãŒããçŽãç¶ããæŽ»åã¯å·šå€§ãªã³ãŒãããŒã¹ã§ã¯ããªãã³ã¹ãããã æè¡çãªéå£ãããåçŽãªç©éãã€ããã察æããææ®µããªã ESLintã®ã«ãŒã«ã1ã€å€æŽããã ãã§ãã«ãªã¯ãšã¹ãã倧éã«å¿
èŠã«ãªã ç¹å®ã®ã«ãŒã«ã®ã¡ãã£ãšãã峿 Œåã§25ä»¶ã®ãã«ãªã¯ãšã¹ããäœæ ãããããã«ãŒã«ã远å ãããšãã¯150ä»¶ã®ãã«ãªã¯ãšã¹ããå¿
èŠã«ãªã£ã 軜埮ãªå€æŽã§ãæå³ã®ããç²åºŠã§ä¿®æ£ããªããŠã¯ã¬ãã¥ãŒã§ããªããããã²ãããã«æ°ãéãã ãã®ãããªäºè±¡ãå®åžžçã«çºçããŠãããæ¬¡ã®Findy Team+ã§ã®ã°ã©ãã§ã確èªã§ããŸãã 倧éã®ãã«ãªã¯ãšã¹ããçºçããæ§å Vitest ã®äžéšã®assertionãdeprecatedã«ãªã£ãããšã«å¯ŸããŠãç§ãäžäººã§Claude Codeãåãã1æ¥ã«72ä»¶ã2æ¥ã§100件以äžã®ãã«ãªã¯ãšã¹ããäœæããŸããã ã¬ãã¥ãŒåŸ
ã¡ãå€ãçºçããå²ã«ãå
容ã¯é¢æ°ã®çœ®ãæããªã®ã§ã¬ãã¥ãŒäŸ¡å€ãäœããã«ãªã¯ãšã¹ãã倧éã«å¿
èŠã«ãªã£ãã®ã§ãã ãã®ãã㪠ãAIãå©çšããŠå質ãç¶æããããã®æŽåã人éãèŠãããŠããã ãšããç¶æ³ã¯ãè¿é 話é¡ã«ãªã£ãŠãã Hustle Porn ã«è¿ãã®ã§ã¯ãªããïŒãšèããŸããã hustle porn èŠãã https://t.co/y3jpiLDL0x — Takuto Wada (@t_wada) 2026幎4æ13æ¥ ãã«ãªã¯ãšã¹ããããããæžãããšã¯çŽ æŽãããã§ãããããã«æå³ã®ããç²åºŠãšäŸ¡å€ã䌎ããªããã°ãªããŸããã AIã«ããèªåã¬ãã¥ãŒïŒApproveïŒãäœãã ãã®ãããªèæ¯ããã¬ãã¥ãŒè² è·ãå¯èœãªéãäœæžããããã ãã æ æ° ãåãæ»ãããã«ãAIã¬ãã¥ãŒã®ä»çµã¿ãäœæããããšã«ããŸããã ãŸãã¯ããããããšããå
šäœã®æ§æ³ãšã³ã³ã»ãããæ±ºããŠãããæ¬¡ã®ãããªå
容ã«ãªããŸããã 解決ãããèª²é¡ ãã«ãªã¯ãšã¹ããé«éã«äœãç¶ããããšã¯ãããæè¿ãã¹ã 課é¡ã®æ¬è³ªã¯ãã¬ãã¥ãŒããã»ã¹ã察ã²ãšã§ããæ©èœããŠããªããããš äººã®æéããã°ã 人ã®ã¢ã¯ã·ã§ã³ãåŸ
〠䞡è
ã«ã¡ãªãããå°ãªã ã¬ãã¥ãŒã¯å€§ãã3çš®é¡ãã ã¬ãã¥ãŒãã䟡å€ããªãããšã確èªããã¬ãã¥ãŒãã¬ãã¥ãŒãšããã¯ãŒã¯ãããŒã宿œããŠããã ãã§ãããæ¬è³ªçãªã¬ãã¥ãŒã¯ããŠããªããã¬ãã¥ãŒã¯ãŒã¯ãããŒã«çžä¹ãããŠããååŒã®ã²ãšã€ã å質ãããã°ã©ã 芳ç¹ãšããŠã®ã³ãŒãã¬ãã¥ãŒãããããæ¬è³ªçãªã³ãŒãã¬ãã¥ãŒã ã¬ãã¥ãŒçµæãåæ ãããŠããããšã®ã¬ãã¥ãŒãè«ç¹ãçµãããŠãããã³ãŒãã®å
容ãã¬ãã¥ãŒææã«å³ããŠä¿®æ£ãããŠããããã確èªãããã ãã®äœæ¥çãªååŒã ä»åã¯1. ã®ãã¬ãã¥ãŒãã䟡å€ããªãããšãä»è
ãä¿èšŒããååŒããAIã«ããããããšããŽãŒã«ãšããŸãã 誰ã䜿ããã®ã åæã¯ããã³ããšã³ãã®ã¬ãã¥ã¯ãŒããŒã ã®ã¿ã«çµã æå€§ãªã¹ã¯ã¯ã誀å€å®ãæé ã®ããã¯ã«ããã¬ãã¥ãŒã®ã¶ã«å ããã³ãã¬ãã¥ã¯ãŒããŒã ã¯ã»ã«ãã¬ãã¥ãŒã§äžå®ã®å質æ
ä¿ãã§ããŠããåæã§èãã æ¡ä»¶çã«äžè¬è§£æŸã¯æ³å®ããããå€å®ã®æåçããŒã¿ãããŸããŸã§ã¯ãªã¹ã¯ã®ã»ãã倧ãã äœãå€å®ããã®ã èŠã¯ãã«ãªã¯ãšã¹ãã®åé¡åšãã€ãã Claude Codeã®Review (~$25) ã¯å¿
èŠããªã 倿Žå
容ãã人éãã¬ãã¥ãŒããå¿
èŠããããã©ããïŒãå€å®ãã æ¯ãèããå€ãããªã æ§é çãªãªãã¡ã¯ã¿ãªã³ã° code generatorãªã©ã®æ¢åã®æ©æ¢°çãªã¯ãŒã¯ãããŒã®çµæãäžèŠãšå€æãã å€å®ã®ãã¢ã¯Tidy First?ã®åé¡ ã¬ãã¥ãŒã®å¿
èŠæ§ã枬ãå€å®åŠçã«ã æ§é çãªãªãã¡ã¯ã¿ãªã³ã° ãšããæŠå¿µãæã¡èŸŒã¿ãŸããã ããã¯æšå¹Žã®åŒç€Ÿã®ã€ãã³ãã§ããŒããŒããåããŠããã ããKent Beckæ°ã®æžç± Tidy First? ããåŒçšããèšèã§ãã ãã®æžã§ã¯ãªãã¡ã¯ã¿ãªã³ã°ã®åé¡ã玹ä»ãããŠããããªãã¡ã¯ã¿ãªã³ã°ãå¹ççã«é²ããããã®äœæ¥ãæããŸãã åèš³ã§ã¯ãæŽé ããšè¡šçŸãããŠããŸãã æ¯ãèãã®å€åã䌎ããªãããã³ãŒãã®ç§»åã»åå²ãããååã®å€æŽãããé
眮ã®å€æŽã ããã°ã©ã ïŒçŸ€ïŒã®åé床ã«å¯Ÿãããªãã¡ã¯ã¿ãªã³ã°ã¢ãããŒã ãããã®ä¿®æ£ã¯äººéãç®ã§è¿œãã®ã¯æå€ãšé¢åã§ãã¬ãã¥ãŒã³ã¹ããå²ã«åããªã äŸïŒãã¡ã€ã«ç§»åãçµ±åã倿°ã»é¢æ°ã®ãªããŒã oråé€ã颿°çµ±åã»åé¢ www.oreilly.co.jp Tidy First?ã«é¢ããèå¯ã¯éåžžã«å€ãè°è«ãããŠããã®ã§ãClaude Codeã«èª¿æ»ãããªããã人éã®ã¬ãã¥ãŒãäžèŠãã®å®çŸ©ã確å®ããããã³ããã«èµ·ãããŠãããŸããã æ¬¡ã«ç€ºãã®ããã®ãã¿ãŒã³ã®æŠèŠã§ãã詳ããå
容ã¯ãã²æžç±ã確èªããŠããã ãããšããããšæããŸãã 察象ãã¿ãŒã³ïŒT1ãT14ïŒ T1: ãã¡ã€ã«ç§»åã»ãªããŒã T2: importæŽçã»barrel export T3: åå®çŸ©ã®ç§»åã»åé¢ T4: ã³ã³ããŒãã³ãã»é¢æ°ã®åå²ã»çµ±åã»æœåº T5: 倿°ã»é¢æ°ã»propsã®ãªããŒã ïŒãã¹ã/ã¢ãã¯ãžã®æ©æ¢°çæ³¢åå«ãïŒ T6: ESLint/Prettierä¿®æ£ T7: äžèŠã³ãŒãã»ãã¡ã€ã«åé€ T8: éæšå¥šAPIã®æ©æ¢°çç§»è¡ïŒ1:1察å¿ïŒ T9: GraphQL codegenå®è¡çµæ T10: Nx generatorå®è¡çµæ T11: ã¬ãŒãç¯ãžã®å€æ T12: 説æå€æ°ã»å®æ°ã®å°å
¥ T13: Feature Flagåã®è¿œå T14: ã³ã¡ã³ãã®è¿œå ã»ä¿®æ£ã»åé€ NGãã¿ãŒã³ïŒNG1ãNG7ïŒ æ°æ¡ä»¶åå²ãæ°ããžãã¹ããžãã¯ãAPI倿Žãç¶æ
管ç倿Žããã¹ã远å ãUI倿Žãèšå®å€å€æŽ å®è£
ãšãã€ã³ã å
šäœã®èŠä»¶ã決ãŸã£ãã®ã§ããããã¯å®è£
ã§ãã GitHub Actions GitHub Actionsãã©ã³ããŒãšããããã³ãããã¡ã€ã«ãèªã¿èŸŒãã ããã§Claude Code Actionsã«æž¡ããŠå®è¡ãçµæãããŒã¹ããŠã¬ããŒãããéåžžã«ã·ã³ãã«ãªãããŒã§ãã ãŸãFindy Team+ã¯CIçµæãéã£ãŠCIã®å®è¡åæãã§ããã®ã§ããããçµã¿èŸŒãã§ãããŸãã GitHub Actionsã®ãã㌠Claude Code Actions Claude Code Actionsã®åŒã³åºãã®ãã€ã³ã㯠--max-turns ã§ãã ããã¯Claude CodeãåŠçãäœæãŸã§è¡ãããå¶éãããã®ã§ã倿Žãã¡ã€ã«æ°ããããã®ãã¡ã€ã«ã®é¢é£æ§ã«ãã£ãŠååŸããŸãã - name: Classify PR changes id: claude uses: anthropics/claude-code-action@5d5c10a4f389689f992ea10bb14dcb6fcc83146d # v1.0.102 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} claude_args: '--max-turns 20' prompt: ${{ steps.prompt.outputs.content }} äœãã¿ãŒã³ãã®æ§é çãªãªãã¡ã¯ã¿ãªã³ã°ã®ãã«ãªã¯ãšã¹ãã§è©Šãããšãã ã15 turns ã«ãããŸãããã§ããããäœè£ãèŠãŠ20ãèšå®ããŠããŸãã ãããèšå®ããŠããããšã§ããã³ããã®èª€èªãæ³å®ããªã倧ããªå·®åã§å®è¡ãããå Žåã§ããå€å®äžèœãã§å®å
šã«çµäºããããã«ããŠããŸãã ã¯ãŒã¯ãããŒã®å€åãšããã³ããã®æ¹å äœåºŠã詊ããŠãããã¡ã«ãã²ãšã€ã®æ°ã¥ãããããŸããã ãããŸã§ãã«ãªã¯ãšã¹ã㯠ã人éãèªç¥ã§ãã倿Žéãã«ãµã€ãžã³ã°ããããã«ãã¹ã ã§ããããAIã¯æ©æ¢°çã«ãããåæã§ããã®ã§ãåãäœæ¥ãªãå·®åã倧ãããŠã1ã€ã®ãã«ãªã¯ãšã¹ãã«ãŸãšãããããšãã§ããããšããããšã§ãã ãã®ãã倧ããªå·®åã§ãApproveãã§ãããããªè² è·èæ§ãããããå¿
èŠããããŸãã ããã§å€æŽãã¡ã€ã«ãå€ãå Žåã¯å€æŽãã®ãã®ãèŠãã®ã§ã¯ãªããããã€ãããµã³ããªã³ã°ãããdiffã®ãã¿ãŒã³ãåäžã§ãããïŒããClaudeã確èªããããã«ããŠããŸãã <!-- 远å ããããã³ããã®æç² --> ## å€§èŠæš¡ PR ã®ãã©ãŒã«ãã㯠- **倿Žãã¡ã€ã«æ°ã 30 ãã¡ã€ã«ãè¶
ããå Žå**: åäžãã¿ãŒã³ã®å€æŽãç¹°ãè¿ããããã¡ã€ã«çŸ€ã¯ãµã³ããªã³ã°ïŒä»£è¡šçãªæ°ãã¡ã€ã«ã®ç¢ºèªïŒã§å€å®ããŠããããµã³ããªã³ã°ããæšãšç¢ºèªãããã¡ã€ã«ã泚æäºé
ã«èšèŒãã - **ãµã³ããªã³ã°æã¯å¯äœçšã®åãéãã«æ³šæãã**: ãã T ãã¿ãŒã³ãç¹å®ãããã**ãã®æ³¢åå
ãã¡ã€ã«çŸ€ïŒã¹ãããã·ã§ãããspecãã¢ãã¯ã`index.ts` ã® re-exportãimport æŽæ° çïŒãå¿
ã1件以äžãµã³ããªã³ã°ã«å«ããå
ã® T ãã¿ãŒã³ãšã®å¯Ÿå¿ã確èªãã**ãæ³¢åå
ã®ãã¡ã€ã«ã ããåç¬ã§èŠããš NG ã«èª€åé¡ããããïŒäŸ: T5 ãªããŒã ã®ã€ã³ã©ã€ã³ã¹ãããã·ã§ããæŽæ°ã NG5 ãšèª€èªïŒãæ³¢åå
ã»æ³¢åå
ã**ã»ããã§**ãµã³ããªã³ã°ããããš ïŒä»¥äžç¥ïŒ å®è¡ã³ã¹ã Claude Codeã®Review㯠æå€§$25ã®è²»çšãå¿
èŠ ã§ãããä»åã¯ãã«ãªã¯ãšã¹ãã®åé¡åšãªã®ã§ãããŸã§ã®ã³ã¹ããããããŸããã CIããå®è¡ãããã°ããã¿ããšã1 runãããã$0.20ã0.50ã§åé¡ãã§ããŠããŸããã { " type ": " result ", " subtype ": " success ", " is_error ": false , " duration_ms ": 62472 , " num_turns ": 10 , // Claude Codeã®ææ°ã®å®çžŸå€ãæå€§20ã§çµã£ãŠããã " total_cost_usd ": 0.24731475000000003 , // çŽ$0.25ãæ¶è²» " permission_denials_count ": 0 } ãããã« ãã«ãªã¯ãšã¹ãã®åé¡åšãGitHub Actions + Claude Code Actionsã§äœæããããšã§ã人ãã¬ãã¥ãŒããªããŠæžããã«ãªã¯ãšã¹ãã¯äœæè
ãåç¬ã§ããŒãžã§ããããã«ãªããŸããã ãã®ä»çµã¿ã®å°å
¥ã¯æ³å®ä»¥äžã«éçºè
äœéšãããããŸãæ©èœéçºã®åéã§ãªãã¡ã¯ã¿ãªã³ã°ããã¢ãããŒã·ã§ã³ãé«ããŠãããŸãã ãŸãã« Tidy First? ã®ãªãã§ã®ãå
ã«æŽé ãããšã«æŽé ããä»çµã¿ã§æ¯ããããšãã§ãããšæããŠããŸãã Claude Code Actionsã¯ãã£ãã圢åŒã«äŒŒãJSONã¬ã¹ãã³ã¹ãè¿ããããAIãã£ããã®å®è£
çµéšãCIã®ãããã°ã«åœ¹ç«ã¡ãŸããã ä»åŸã¯ããã«å¯Ÿè±¡ãæ¡å€§ããã€ã€ãçµç¹çã«å©çšããAIã¯ãŒã¯ãããŒãå
å®ãããŠãããããšæããŸãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ããŒã¿ãšã³ãžãã¢ãããŠãã é ã§ãã 2026幎4æ28æ¥ïŒç«ïŒã«ãããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã äž»å¬ã®æ¡çšã€ãã³ã ãäºæ¥æé·ã«å¹ããããã¡ã€ã³ãã£æµããŒã¿ãšã³ãžãã¢ãªã³ã°ã®å®è·µã ãéå¬ããŸããã findy-inc.connpass.com ãã®èšäºã§ã¯ãã€ãã³ããäŒç»ããèæ¯ãšåœæ¥ã®3æ¬ã®ã»ãã·ã§ã³ãåå ã§ããªãã£ãæ¹ã«ãã€ã¡ãŒãžãäŒããããã«ãŸãšããŸãã ã€ãã³ãéå¬ã®èæ¯ ã»ãã·ã§ã³1: ãã¡ã€ã³ãã£ã®äºæ¥æ¡å€§ãæ¯ããæ¡åŒµå¯èœãªããŒã¿åºç€ãžã®ãªã¢ãŒããã¯ã㣠ã»ãã·ã§ã³2: ããŒã¿ã¢ããªã³ã°ãéããŠç®¡çäŒèšã®ãªãã¬ãŒã·ã§ã³ãåèšèš ã»ãã·ã§ã³3: 瀟å
ã§äœ¿ãããLookeræŽåã®é²ãæ¹ ãŸãšã ã€ãã³ãéå¬ã®èæ¯ ãã¡ã€ã³ãã£ã§ã¯ãæ¢å4ãããã¯ãã«å ããŠãæ°ãã«4ã€ã®ãããã¯ãããªãªãŒã¹ãããšã³ãžãã¢ã®çããŸãžãµãŒãã¹ãå€è§çã«å±éããŠããŸããäŒç€ŸèŠæš¡ã®æ¡å€§ãšãšãã«ãæ±ãããŒã¿ã®éãšçš®é¡ã¯æ¥éã«åºãã£ãŠããŸããã prtimes.jp å€åã®æ¿ããäºæ¥ç°å¢ã®ãªãã§å®¢èгçãªæææ±ºå®ãæ¯ããã«ã¯ã瀟å
ã®æ
å ±æµéãããæŽ»æ§åãããä»çµã¿ãæ¬ ãããŸãããç§ãã¡ã¯ããã®åå°ãæ
ãã®ãããŒã¿ãšã³ãžãã¢ãªã³ã°ã ãšèããŠããŸãã ããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã ã¯å°æ°ç²Ÿéã§æšé²ããŠããŸããããäºæ¥æé·ã®ã¹ããŒãã«åãããŠããŒã¿åºç€ãããã«ã¹ã±ãŒã«ãããã«ã¯ãå
±ã«ææŠããŠããã仲éã®ååšãäžå¯æ¬ ã§ããä»åã®ã€ãã³ãã¯ããã¡ã€ã³ãã£ãã©ã®ãããªèª²é¡ã«åãåããã©ã®ãããªæè¡ãšçµç¹ã§è§£ããŠããããçŽæ¥ã話ãããæ©äŒãšããŸããã ã»ãã·ã§ã³ã¯3æ¬ç«ãŠã§ãããŒã¿åºç€ã»ããŒã¿ã¢ããªã³ã°ã»BIã®3ã€ã®èгç¹ãããã¡ã€ã³ãã£ã®ããŒã¿ãšã³ãžãã¢ãªã³ã°ãã話ãããŸããã ã»ãã·ã§ã³1: ãã¡ã€ã³ãã£ã®äºæ¥æ¡å€§ãæ¯ããæ¡åŒµå¯èœãªããŒã¿åºç€ãžã®ãªã¢ãŒããã¯ã㣠ç»å£è
: é speakerdeck.com äºæ¥æ¡å€§ã«åãããŠããŒã¿åºç€ãã©ããªã¢ãŒããã¯ãã£ããŠãããã玹ä»ããŸãããçŽè¿1幎ã§ããŒã¿ãœãŒã¹ã¯10åãGoogle Cloudãããžã§ã¯ãã¯6åã«å¢ããäžæ¹ãããŒã¿ãšã³ãžãã¢ã¯3åã®ãŸãŸã§ãèªç¥ã³ã¹ããšéçšè² è·ãèšããã§ããŸããã ãããŸã§ã¯äºæ¥ïŒãã¡ã€ã³ãšããããŒã¿ã¡ãã·ã¥çãªæ§æã§ãæè¡éžå®ãåããŒã ã«å§ããŠããŸãããã¢ãžãªãã£ã¯åºãäžæ¹ã§ããã¡ã€ã³éã®é£æºäžè¶³ãæè¡ã®ã°ãã€ããäœæ¥éè€ã課é¡ã«ãªã£ãŠããŸããã ããã§ãããŒã¿ã¡ãã·ã¥ã®å©ç¹ã¯æ®ãã€ã€å®è£
ãèŠçŽããGoogle Cloudãããžã§ã¯ãã®çµ±åãIAMã®ããŒã¿ã»ããåäœã§ã®ç®¡çãdbt Platformãžã®ãªãŒã±ã¹ãã¬ãŒã·ã§ã³éçŽããããŒãžããµãŒãã¹ã®æŽ»çšãé²ããŠããŸããããã«ãããããŒãžããµãŒãã¹ã®APIãMCPãçšããŠAIãšãŒãžã§ã³ãã«éçšãäžéšç§»è²ããããšãã§ããŠããŸããäœæããã¹ãã«ããµããšãŒãžã§ã³ãã¯ä»¥åããã¯ããã°ã§ç޹ä»ãããã©ã°ã€ã³ãšããŠããŒã å
šäœã§äœ¿ããããã«ããŠããŸãã tech.findy.co.jp DataOpsã®çååãé²ãäžæ¹ãã³ã¹ãéææ§ã®äœäžãšãã£ãæ°ãã課é¡ãèŠããFinOpsäœå¶ã®æ§ç¯ããæµ®ããæéãããŒã¿æŽ»çšè
ãšã®äŒè©±ãã€ããŒããªã³ã°ã«äœ¿ã£ãŠããããšã次ã®ããŒãã«ããŠããŸãã ã»ãã·ã§ã³2: ããŒã¿ã¢ããªã³ã°ãéããŠç®¡çäŒèšã®ãªãã¬ãŒã·ã§ã³ãåèšèš ç»å£è
: ç°é ãã speakerdeck.com çµå¶å€æã«çŽçµãã管çäŒèšãšããæ¥åé åã«å¯ŸããŠãããŒã¿ã¢ããªã³ã°ã®èгç¹ãããªãã¬ãŒã·ã§ã³ãåèšèšããåãçµã¿ã玹ä»ããŸããã ãã¡ã€ã³ãã£ã®ç®¡çäŒèšã¯ãé·ããã¹ãã¬ããã·ãŒããäžå¿ã«åã£ãŠããŸãããææ¬¡ã®ãã³ã«é¢æ°ãšãããããæäœæ¥ã§çµã¿çŽããIMPORTRANGEãVLOOKUPã§çµ¡ã¿åã£ãã¹ãã¬ããã·ãŒãã®ãªããŒãžã¯50ä»¶ãè¶
ããã©ãã1æåŽ©ãããšå
šäœãé£éããŠå£ããèããæ±ããŠããŸãããåãKPIãéšçœ²ããšã«å¥ããžãã¯ã§èšç®ãããŠæ°åãåããªããææ¬¡ç· ãã«2ã3æ¥ããã£ãŠæææ±ºå®ãåŸè¿œãã«ãªãããšãã£ãç¶æ
ãåžžæ
åããŠããŸããã åèšèšã®èµ·ç¹ã«çœ®ããã®ã¯ãæè¡éžå®ã§ã¯ãªãæ¥åæ
åœè
ãžã®ãã¢ãªã³ã°ã§ãããèšäžçµç¹ããè£å©ç§ç®ããé
賊ããäºç®çªå·ããšãã£ãå°éçšèªãé£ã³äº€ããªããåå®å
åž³ããã¯ããçºããã ãã§ã¯æŽããªãéèšç²åºŠãåæè»žããçµå¶ç®¡çéšã®æ
åœè
ãšäœåºŠãMTGãéããŠåŒãåºããŠãããŸãããæžç± ãã¢ãžã£ã€ã«ããŒã¿ã¢ããªã³ã° çµç¹ã«ããŒã¿åæãåºããããã®ããŒãã«èšèšã¬ã€ãã ã®BEAMâ²ãåèã«ã誰ãã»äœãã»ãã€ã»ã©ãã§éèšãããã®ãã察話ãã茪éåããç·åå®å
åž³ãèµ·ç¹ã«å£²äžã»è²»çšã»åäŸ¡ãææ¬¡ç²åºŠã®ãã¡ã¯ããšããŠæŽçããŠããŸãã å®è£
ã¯ãäŒèšããŒã¿ãœãŒã¹ãGoogle Driveã«ã¢ããããŒãããŠTROCCOã§åã蟌ã¿ãdbtã§éèšããŠLookerãã¹ãã¬ããã·ãŒãããåç
§ããæ§æã«èœãšããŠããŸããããã«ãããã¯ã³ãã¿ã³ã§ææ¬¡ã®å®çžŸå€ãæããæ³å®å€ã®ç§ç®ãèªåã§æ€åºã§ããããã«ãªããŸããããã©ã®æ°åãæ£ãããããè°è«ããå Žé¢ã¯ãªããªããææ¬¡ç· ãã®æèŠæéãšæ°åã®ä¿¡é Œæ§ãåæã«æ¹åããŠããŸãã ä»åŸã¯ãå®çžŸãã¡ã¯ããšåãç²åºŠã§äºç®ã»èŠéããåã蟌ãã äºå®åæã®èªååããæŽåæžã¿ã®ãã¡ã¯ããèµ·ç¹ã«AIãšãŒãžã§ã³ããèªç¶èšèªã§äŒèšåæãè¡ããåºç€ãžã®å±éãé²ããŠããŸãã ã»ãã·ã§ã³3: 瀟å
ã§äœ¿ãããLookeræŽåã®é²ãæ¹ ç»å£è
: åºçžãã speakerdeck.com 瀟å
ã§å®éã«äœ¿ãããBIã«ããããã«Lookerãã©ã®ããã«æŽåããŠãããã玹ä»ããŸããããããã·ã¥ããŒããäœã£ãç¬éãããŒã¯ã«ãªã£ãŠäœ¿ãããªããªãããäºæ¥éšããã¯ããŒã¿æŽ»çšã®å
¥å£ãèŠããªãããã¹ãã¬ããã·ãŒãéçšãå±äººåããŠéçãèŠããŠããããšãã£ãããããã課é¡ãåºçºç¹ã«ããŠããŸãã ãã¡ã€ã³ãã£ã§ã¯ãLookerãæææ±ºå®ã«ã²ãä»ãããã·ã¥ããŒããå®åžžçã«èŠãå ŽãšããŠã ãã§ãªããExploreãäŒè©±åæã§ããŒã¿ãã®ãã®ãæ¢çŽ¢ããå Žã«ããããšãç®æããŠããŸãããã ããæåã¯LookerãèŠã«è¡ãç¿æ
£ãExploreã®æäœã«ãæ
£ããŠããªããããé²ãæ¹ã®å·¥å€«ãæ¬ ãããŸããã ããã§ããã¢ãªã³ã°ã§èª²é¡ãåŒãåºã â æäœéã®æ©èœã«çµã£ãŠæåã®ããã·ã¥ããŒããçŽ æ©ãæäŸãã â å
±æMTGã§äžç·ã«è§Šããªããæ¹åã«ãŒããåã â å©çšãå®çããŠãããã£ã¡ã³ã·ã§ãã«ã¢ãã«ãã¡ã¿ããŒã¿ãæŽããããšãã4ã¹ãããã§äŸ¡å€ãç©ã¿äžããŠããŸãããå®ç§ãªèšèšãããæ©ãäœéšæäŸãåªå
ããèŠåŽããŠããããšããå
ã«è§£æ¶ããŠããããšã倧åã«ããŠããŸãã詳ããé²ãæ¹ã¯ä»¥åã®ããã¯ããã°ã§ã玹ä»ããŠããŸãã tech.findy.co.jp ãã®çµæãMAUã¯2026幎1æãã4æéäžã§çŽ1.5åãWAUã¯1æäžæ¬ãã4æäžæ¬ã§çŽ2.6åã«æé·ããŸãããçµå¶ç®¡çéšããããBigQueryãLookerãé§äœ¿ããã¢ãã¿ãªã³ã°ãäºæ¥æ¡å€§ã«äžå¯æ¬ ããšããã³ã¡ã³ããå±ããªã©ãLookerãä¿¡é Œã§ããããŒã¿ãœãŒã¹ãšããŠç€Ÿå
ã«å®çããŠããŠããŸãã ãŸãšã ä»åã®ã€ãã³ããéããŠããã¡ã€ã³ãã£ãããŒã¿ãšã³ãžãã¢ãªã³ã°ãã©ã®ããã«äºæ¥ã«å¹ãããããšããŠããããã3ã€ã®ç°ãªãåãå£ã§ãäŒãã§ãããšæããŸããããŒã¿åºç€ã»ããŒã¿ã¢ããªã³ã°ã»BIã®ãããããæè¡ãã®ãã®ããããäºæ¥ãæ¥åã«ã©ãæ¥ç¶ããããã軞ã«é²ããŠããåãçµã¿ã§ãã åå ããŠãã ãã£ãçãããããããšãããããŸããïŒ ãã¡ã€ã³ãã£ã§ã¯ãããŒã¿ãšã³ãžãã¢ãªã³ã°ã®åã§äºæ¥æé·ãæ¯ãã仲éãåéããŠããŸããä»åã®ã€ãã³ãå
容ã«å°ãã§ãèå³ãæã£ãŠããã ããæ¹ã¯ããã²ãæ°è»œã«ã«ãžã¥ã¢ã«é¢è«ãªã©ã§ã話ãã§ãããšããããã§ãã herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£ã§Findy Toolsã®éçºãããŠããæ¬ç°ã§ãã ãã®ãã³ãFindy Toolsã®æ°æ©èœãšããŠãã¢ãŒããã¯ãã£AIãããªãªãŒã¹ããŸãããèŠä»¶ãå
¥åãããšAWSã®ã¢ãŒããã¯ãã£å³ãšèšèšã®ææ¡ãçæãããæ©èœã§ãã findy.co.jp ä»åã®éçºã§ã¯ãPMã»ä»æ§çå®ã»ã¹ã³ãŒãå®çŸ©ã»ã€ã³ãã©ã»FE/BEéçºã»ãã¹ããŸã§ãã»ãŒäžäººã§1ãæã§æ
åœããŸããããããŠãã³ãŒãã£ã³ã°ã¯ã»ãšãã©Claude Codeã«ä»»ããç§èªèº«ã¯ã»ãŒã³ãŒããæžããŠããŸããã ãã®èšäºã§ã¯ããããªéçºãé²ãããªãã§åãã£ãããšãé£ããã£ãããšããããŠæ¹ããŠå®æãããšã³ãžãã¢ã®ä»äºã«ã€ããŠç޹ä»ããŸãã ã¢ãŒããã¯ãã£AIã«ã€ã㊠äžäººéçºã®å
šäœå ãšã³ãžãã¢ã䟡å€ãšã³ã¹ããèªåã§å€æãã 察話ã§å€æã®èŠéãåºãã åããã®ã§å
±éèªèãäœã èªåã®ä»äºã¯æžãããå€æãšæææ±ºå®ã®æéãå¢ãã ãŸãšã ã¢ãŒããã¯ãã£AIã«ã€ã㊠æ¬é¡ã«å
¥ãåã«ããªãªãŒã¹ããæ©èœã軜ã玹ä»ãããŠãã ããã ã¢ãŒããã¯ãã£AIã¯ãFindy Toolsã®äžã§æäŸããŠããæ©èœã®1ã€ã§ããäœãããã·ã¹ãã ã®èŠä»¶ããå
¥åãããšAWSã䜿ã£ãæ§ææ¡ãšã¢ãŒããã¯ãã£å³ããããŠèšèšã®èãæ¹ã®è§£èª¬ããŸãšãŸã£ã圢ã§åŸããããã®ã§ãã ai-architecture.findy-tools.io ã¢ãŒããã¯ãã£ã®èšèšã¯ãµãŒãã¹ã®åå°ã決ããå·¥çšã§ãçµéšãåšèŸºç¥èã®åºããåãããé åã§ããããããç¥èŠãæã£ã人ã«çžè«ãã¥ããå Žé¢ã§ããæ§æã®æ€èšãåã«é²ããå©ãã«ãªãããšãç®æããŠããŸãã ããããå
ã¯ããã®æ©èœãäžäººã§1ãæã§äœã£ããªãã§æ°ã¥ããããšãäžå¿ã«æžããŠãããŸãã äžäººéçºã®å
šäœå ä»åã¯ãPMããéçºããã¹ãããªãªãŒã¹ãŸã§ãäžäººã§æ
åœããŸãããå
·äœçã«ã¯æ¬¡ã®ãããªç¯å²ã§ãã ãããã¯ãã®æ¹åæ§ã»åªå
é äœã®æ±ºå® 仿§çå®ãã¹ã³ãŒãå®çŸ© ã€ã³ãã©ã®æ§ç¯ ããã³ããšã³ãã»ããã¯ãšã³ãã®å®è£
ãã¹ãããªãªãŒã¹äœæ¥ éçºã®ã¯ãŒã¯ãããŒã¯ã·ã³ãã«ã§ãã ããããã®ãµã€ã¯ã«ãåããŠããŸããã GitHub Issueã«ããªãäœãã®ãããäœãäœãã®ããããPRDããŠãŒã¶ãŒã¹ããŒãªãŒã®åœ¢ã§æžã Claude Codeã«Issueãæž¡ããŠå®è£
ããŠããã èªåã¯å·®åãã¬ãã¥ãŒããå¿
èŠã«å¿ããŠæç€ºãåºã å¥ããŒã ã®ã¡ã³ããŒã«ã¬ãã¥ãŒããŠããããPRãããŒãžãã å®è£
ã®éäžã§ããäœãããèæ¯ããŠãŒã¶ãŒã«å±ããã䟡å€ã«ç«ã¡æ»ã£ãŠæ¹éã調æŽããããšã¯ãããããŸããã 仿§çå®ãUIã®ã¢ãã¯äœæããAIãšå£æã¡ããªããé²ããŠããŸãããçµæãšããŠãèªåã§ã³ãŒããæžããéã¯ãããããã§ãã»ãšãã©ã®å®è£
ã¯Claude CodeãæžããŠããŸãã äžæ¹ã§ããèªåã¯ã»ãŒã³ãŒããæžããŠããªãããããšãã£ãŠä»äºãå°ãªãããã§ã¯ãããŸããã§ããããããã³ãŒãã£ã³ã°ä»¥å€ã«ããããšãå±±ã»ã©ãããšããã®ã宿ã§ãã äœãäœãããäœãåããã®å€æ 仿§ã®çްéšã«é¢ããæææ±ºå® æè¡éžå® ã³ãŒãã¬ãã¥ãŒãšåè³ªã®æ
ä¿ ã¹ã±ãžã¥ãŒã«ç®¡çãšãªãªãŒã¹èšç» ããããã¯ããã®é²ãæ¹ã§1ãæãã£ãŠã¿ãŠæããããšãæžããŠãããŸãã ãšã³ãžãã¢ã䟡å€ãšã³ã¹ããèªåã§å€æãã æã匷ãæããã®ã¯ã ãšã³ãžãã¢èªèº«ããŠãŒã¶ãŒäŸ¡å€ãšå®è£
ã³ã¹ãã®ãã©ã³ã¹ã倿ããªããéçºã«æºããããšã®åŒ·ã¿ ã§ãã ä»åã¯äžäººã§æ
åœããŠããã®ã§ãäºæ¥ããããã¯ãã®æå³ãæè¡çãªå®çŸå¯èœæ§ãå®è£
ã³ã¹ããããã¹ãŠèªåã®é ã®äžã«æã£ãŠããŸãããããŠãŒã¶ãŒäŸ¡å€ãšããŠå€ããªãéšåã¯ã©ããããã³ã¹ããããã䟡å€ãããã®ã¯ã©ãããããèªåã®äžã§ã€ãªããŠèããªããéçºãé²ããããšãã§ããŸãã å
·äœçã«ã¯ãéçºã®éäžã§ã¢ãŒããã¯ãã£å³ã®æç»ã©ã€ãã©ãªãåãæ¿ãã倿ããããããªãªãŒã¹ã®2é±éåã«ãªã£ãŠããSNSã§å
±æããããšãã«èŠæ ãã®è¯ãç»åãçæããæ©èœã远å ãã倿ãããããšãæ¹é転æãçŽ æ©ãé²ããããŸãããæè¡çã«æç«ããããClaude Codeã§çŽ æ©ãæ€èšŒãã€ã€ããããã¯ããšããŠæ¬åœã«å¿
èŠããèªåã§å€æã§ããããšã§ã䟡å€ãšã³ã¹ãã®äž¡åããçããéžæè¢ãèŠã€ãããããªã£ãŠããŸããã äœå¶ãäžäººã«ããããšãæ¬è³ªã§ã¯ãªããšæã£ãŠããŸãã倧äºãªã®ã¯ãã¯ããäœãåŽã®ãšã³ãžãã¢ããŠãŒã¶ãŒäŸ¡å€ãäºæ¥äŸ¡å€ãçè§£ããããã§ãã³ã¹ããšäŸ¡å€ã®ãã©ã³ã¹ã倿ããªããéçºã«æºãããŠãããã ãšãä»åã®éçºãéããŠæ¹ããŠæããŸããã 察話ã§å€æã®èŠéãåºãã æææ±ºå®ãéãã®ã¯è¯ãããšã§ãããéããã°è¯ãããã§ã¯ãããŸãããäžã€ã®èŠç¹ã ãã§éã倿ãç¶ããŠãããšãæ°ã¥ããªããã¡ã«çã®æªãæ¹ã«æµããŠããŸããŸãã ããã§å¹ããŠããã®ããäžäººã§æ
åœããŠããŠãå€ç«ã¯ããŠããªããšããäœå¶ã¥ããã§ããã éçºäžã¯ãäºæ¥éšé·ã»POã»ãã¶ã€ããšå®æçã«çžè«ã»å
±æã§ããå Žãæã¡ããã以å€ã®å Žé¢ã§ããã€ã§ãã³ãã¥ãã±ãŒã·ã§ã³ãåããããã«ããŠããŸããã ãããã¯ããšããŠäœã倧äºã«ããŠããã äºæ¥ãšããŠãã®æ©èœã«ã©ãããæåŸ
ãããã ãã¶ã€ã³ãšããŠè²ããªãéšåã¯ã©ãã ãããã芳ç¹ãç¶ç¶çã«ããåãããããšã§ãèªåäžäººã§ã¯èŠããŠããªãã£ãããè¯ãéžæè¢ãèŠã€ããããããŠããŸããã èªåã®é ã®äžã ãã§å€æãããšãã©ãããŠãèŠéãçããªããŸããããã«ä»ã®ç«å Žã®èŠç¹ãå
¥ããšããä»ã«ãã£ãšè¯ãéžã³æ¹ã¯ãªããããšããåãçŽããã§ããŸããã¹ããŒãéèŠã®äœå¶ã§ãã£ãŠãããšããããã¹ããŒãéèŠã ãããããããŒã ãšã®å¯Ÿè©±ã¯æ¬ ãããªããšæããŸããã åããã®ã§å
±éèªèãäœã ãã1ã€åŒ·ãæããã®ãã éãèŠãããããã®ã»åããã®ã䜿ã£ãŠå
±éèªèãäœãããšã®å¹æ ã§ããããèªäœã¯æããããèšããã話ã§ãããAIã®åã§ãã£ãšããããããªããŸããã ä»åã¯ãå®ãããã¯ãã®éçºãå§ããåã«ãå¥ãªããžããªã§PoCã¢ããªãäœããã¹ããŒã¯ãã«ããŒãã€ã³ã¿ãã¥ãŒã«ãååããã ããæ¹ã«ãå®éã«èŠããè§Šã£ããããŠãããæéãåããŸããã PoCã¢ããªã®ç»é¢ããã¶ã€ã³ã¯äœã蟌ãŸãããŠãŒã¶ãŒã«äŸ¡å€ãäœéšããŠãããããšãåªå
ããã æç« ãã¹ã©ã€ãã ãã§è°è«ãããšãã©ãããŠãæœè±¡çã«ãªããèªèã®ãºã¬ã«æ°ã¥ãã«ãããªããŸããåããã®ããããšããããã¯æ¬²ããããããã¯æåŸ
ãšéãããšãããã£ãŒãããã¯ãå
·äœçã«è¿ã£ãŠããã ãã§ãªãããã©ããã䟡å€ãåŸãããããããšããéšåã§ãå
±éèªèãäœãããããªããŸãã PoCãèŠããè§Šã£ããããŠããããªãã§èŠããŠããã®ã¯æ¬¡ã®ãããªããšã§ãã ãŠãŒã¶ãŒãæ¬åœã«äŸ¡å€ãæããã®ã¯ã©ã®éšåã æåã¯ãããšäŸ¿å©ããã«èŠããããå®éã¯ãªããŠãå°ããªãæ©èœ æè¡çã«èŠèœãšããŠããå¶çŽããéã«æ³å®ãã軜ãå®çŸã§ããããªéšå PoCã§åŸããããããã®æ
å ±ãåå°ã«ãªã£ãŠãæ¬éçºã®ã¹ã³ãŒããšæ¹éãå®ãŸã£ãŠãããŸããã AIã§ãä»®ã«åããã®ããé«éã«äœããããã«ãªã£ã匷ã¿ã掻ãããŠãåããã®ãäžå¿ã«ä»®èª¬æ€èšŒã®ãµã€ã¯ã«ãåããããš ãã1ãæãšããéãããæéã®ãªãã§ç¹ã«å¹ãããã€ã³ãã ãšæããŸãã èªåã®ä»äºã¯æžãããå€æãšæææ±ºå®ã®æéãå¢ãã ãããŸã§æžããŠããããšãèžãŸããŠãæ¹ããŠæããã®ã¯ å°ãªããšãä»åã®èªåã®çµéšã§ã¯ãã³ãŒãã£ã³ã°ãAIã«ä»»ããŠãããšã³ãžãã¢ãšããŠããããšã¯æžããªãã£ã ãšããããšã§ããããããæ¬è³ªçãªå€æã«éäžããå¿
èŠãåºãŠããæèŠã§ããã ä»åã®éçºã§èªåãæéã䜿ã£ãŠããã®ã¯ã次ã®ãããªéšåã§ãã ãã®æ©èœãäœãæå³ã¯äœãã誰ã®ã©ããªèª²é¡ãè§£ãã®ã ã¹ã³ãŒããã©ããŸã§åºããã©ãã§åãã ã©ã®æè¡ãéžã³ãã©ã®æè¡ãèŠéãã åºãŠããã³ãŒããæ¬åœã«èŠä»¶ãæºãããŠããããå°æ¥ã®éçšã«èããã ã©ãããæææ±ºå®ãšå€æã®ä»äºã§ããã³ãŒãã£ã³ã°ãã®ãã®ãAIã«ä»»ããããããããããããã倿ã«éäžã§ããæéãå¢ããŸããã AIãšåæ¥ãããªãã§å€ããéšåãšå€ãããªãéšåãããããã³ãŒããæžãæéãã¯ç¢ºå®ã«æžããŸãããããšã³ãžãã¢ãªã³ã°ãè¡ãæéãã¯æžããªãããããå¢ããŠããæèŠã§ããã ãŸãšã ã»ãŒäžäººã§1ãæãããŠã¢ãŒããã¯ãã£AIããªãªãŒã¹ããŠã¿ãŠã次ã®ããšãåŠã³ãšããŠæ®ããŸããã ãšã³ãžãã¢èªèº«ããŠãŒã¶ãŒäŸ¡å€ãšå®è£
ã³ã¹ãã®ãã©ã³ã¹ã倿ããªããéçºã«æºããããšã䟡å€ãšã³ã¹ãã®äž¡åããçããéžæè¢ãèŠã€ãããã éãã ãã远ãã®ã§ã¯ãªããè€æ°ã®èŠç¹ã察話ã§åã蟌ãã§éžæè¢ãåºããŠãã AIã§ä»®ã®åããã®ãé«éã«äœããããã«ãªã£ã匷ã¿ã掻ããã°ãçæéã§ãåããã®ã軞ã«ä»®èª¬æ€èšŒãåãããã å°ãªããšãä»åã®èªåã®çµéšã§ã¯ãã³ãŒãã£ã³ã°ãAIã«ä»»ããŠãä»äºã¯æžãããå€æãšæææ±ºå®ã«éäžããæéãå¢ãã AIãšäžç·ã«éçºããæä»£ã«ãªã£ãŠãããäœãäœããããã©ãäœãããããªããããéžã¶ãããèãæãããšã®å€§åãã¯å€ãããªããªãšãä»åã®éçºãéããŠæ¹ããŠæããŸããã ã¢ãŒããã¯ãã£AIã¯æ¬¡ã®ããŒãžããè§ŠããŸãïŒFindy Toolsã®äŒå¡ç»é²ãå¿
èŠã§ãïŒããèå³ã®ããæ¹ã¯ãã²è©ŠããŠã¿ãŠãã ããã findy-tools.io ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ããããã¯ãéçºéšã®æ£® @jiskanulo ã§ãã 2026幎4æ22æ¥ãã24æ¥ãŸã§RubyKaigi 2026 Hakodateãéå¬ãããŸããã rubykaigi.org åœé€šã¢ãªãŒãã3æ¥éã«æž¡ã£ãŠè²žãåãå€§èŠæš¡ã€ãã³ãã®éå¶ãããŠããã ããŸããã¹ã¿ããã®çæ§ã«æè¬ãç³ãäžããŸãã ãã¡ã€ã³ãã£æ ªåŒäŒç€ŸãPlatinumã¹ãã³ãµãŒãšããŠåè³ããŸããã ç§ãããŒã¹ã«ç«ã£ãŠåºå±ããã¡ã€ã³ãã£åãµãŒãã¹ã®ãæ¡å
ããããŠããã ããŸããã ã話ããããŠããã ããçæ§ã«ãéããŠæè¬ç³ãäžããŸãã ããŒã¹ã«ç«ã€åéã«ã»ãã·ã§ã³ãèããŠèªåã§ãããããªããšã«æãã銳ããããä»ç€Ÿæ§ã®ããŒã¹ãåã£ãŠãããã¯ãã®ã話ãããããæã®ååãç¥äººãšåäŒããããšå人çã«ãããåºæ¿ã®å€ã3æ¥éã§ããã ããŠã4æ24æ¥ãæåŸã®ã»ãã·ã§ã³ã®Matzããã®ããŒããŒãã«ãŠRubyãã¡ã€ã«ããã€ãã£ããã€ããªã«ã³ã³ãã€ã«ãã Spinel ãçºè¡šãããŸããã æ©éSpinelã䜿ã£ãŠã¿ãææ³ãšã€ããã©ãããèšããŸãã Spinelãšã¯ æ€èšŒç°å¢ãšã»ããã¢ãã åãããŠã¿ã Hello, World! eval / requireã®æåïŒãšã©ãŒã«ãªããç¡é³ã§ééã eval 㯠no-op ã«çœ®ãæãã require ã¯æããšæ¶ãã çŸæç¹ã§ã®æ³šæç¹ Spinelã䜿ã£ãŠã¿ã requireãªãã§JSONãæ±ã ãããã©ããã¯åå¥ã«èžã¿ã«è¡ã䟡å€ããã Spinelã詊ããšãã®å€æåºæº åäººçææ ããŸã: Spinelã®ç±æ¥ ããã Spinelãšã¯ Spinelã¯Rubyã®AOT (Ahead-Of-Time) ã³ã³ãã€ã©ã§ãã RubyãœãŒã¹ã³ãŒããPrismã§ããŒã¹ããå
šããã°ã©ã åæšè«ãè¡ãCã®ã³ãŒãã«å€æããŠãã€ãã£ããã€ããªãçæããŸãã ãã€ãã©ã€ã³ã¯æ¬¡ã®ãšããã§ãã Ruby â Prism â AST â å
šããã°ã©ã åæšè« â Cã³ãŒã â ãã€ãã£ãå®è¡ãã¡ã€ã« ãªããžããªã®READMEã«ãããšãminirubyæ¯ã§çŽ11.6åãConway's Game of Lifeã§ã¯86.7åãšããæ§èœã瀺ãããŠããŸãã ãŸããã€ããªãµã€ãºãmrubyãå«ããã«æ°åKBã«åãŸãã®ã§å®¹éãå³ããç°å¢ã«ãé©çšã§ãããšã®ããšã§ãã å®äœãšããŠã® ./spinel ã¯POSIX shell wrapperã§ãå
éšã§ spinel_parse â spinel_codegen â cc ãçŽåã«åŒã³åºããŠããããšããäœãã§ãã æ€èšŒç°å¢ãšã»ããã¢ãã æ€èšŒã¯æå
ã®macç°å¢ã§è¡ããŸããã 4æ24æ¥å
¬éçŽåŸã«macã§åããããšããã¿ã€ãã³ã°ã§ã¯ malloc.h ãååšããªããªã©ã§ãšã©ãŒã«ãªã£ãã®ã§Dockerã§Ubuntuã®ã³ã³ãããèµ·åããŠæäœããŸããããçŸåšã¯å¯Ÿå¿ãããŠããŸãã 忥ã§åœé€šèгå
ããŠãããã¡ã«ã³ã³ããªãã¥ãŒããé²ãã§ããŸãããã³ã³ããªãã¥ãŒãã®ãã£ã³ã¹ã§ããã mac buildå¯Ÿå¿ https://github.com/matz/spinel/commit/4593581eb87cea45b59fb28b9dcf2cd75a9bcbab windowså¯Ÿå¿ https://github.com/matz/spinel/commit/1fe3136aa9bf834b5f37176faca7346503fb1446 ç°å¢ã¯æ¬¡ã®ãšããã§ãã macOS (arm64) Apple Clang Spinel masterãã©ã³ãïŒ2026-04-28æç¹ïŒ ãã«ããšå®è¡ã®åºæ¬ãããŒã¯ã·ã³ãã«ã§ãã spinel ãmakeãã spinel ã«rubyãã¡ã€ã«ããããã°å®è¡åœ¢åŒãã€ããªãåºåãããŸãã make deps # ååã®ã¿: libprism ååŸ make # spinel_parse / spinel_codegen / ã©ã³ã¿ã€ã ããã«ã ./spinel app.rb # Ruby â å®è¡åœ¢åŒïŒ./appïŒ ./app åãããŠã¿ã Matzã®ããŒããŒããšã被ããŸãããµã³ãã«ã³ãŒããåãããŠã¿ãŸããã ãŸãããŒããŒãã§è©±ããã£ããšãã eval ãš require ã¯ãµããŒãããŠããªããšã®ããšã§ãã eval, requireã䜿ããšå
·äœçã«ã©ããªãã®ãã詊ããŠã¿ãŸããã Hello, World! æå°ã®åäœç¢ºèªã¯ãã®ãŸãŸåããŸãã # hello_world.rb puts " Hello, World! " ./spinel hello_world.rb ./hello_world # => Hello, World! eval / requireã®æåïŒãšã©ãŒã«ãªããç¡é³ã§ééã 2026幎4æ28æ¥ã®çŸæç¹ã§ã¯ ã³ã³ãã€ã«æã«ãšã©ãŒã«ãªãããwarningãåºãããããå®è¡ãããšç¡é³ã§ééã£ãåºå ãè¿ããšããæåã§ãã å
·äœçã«2ã€ã®ã±ãŒã¹ãèŠãŠãããŸãã eval 㯠no-op ã«çœ®ãæãã æ¬¡ã®Rubyã³ãŒããSpinelã§ã³ã³ãã€ã«ããŠå®è¡ããŸãã # test_eval.rb code = " 1 + 2 " result = eval (code) puts result $ ./spinel ./tmp/jiska/samples/test_eval.rb ./tmp/jiska/samples/test_eval.rb -> test_eval å®è¡ãããšçµæã¯ 0 ã§ãã $ ./test_eval 0 çæãããCã®ã³ãŒããèŠããš eval() ã®åŒã³åºããno-opã«çœ®ãæãããæ»ãå€ã¯åæšè«ã§æ±ºãŸã£ããŒãå€ïŒ mrb_int ã®ãã 0 ïŒã«ãªããŸãã const char *lv_code = "1 + 2" ; mrb_int lv_result = 0 ; // mrb_int = int64_t typedef lv_code = "1 + 2" ; lv_result = 0 ; // â eval() åŒã³åºãèªäœãæ¶æ»
ã0 ã代å
¥ããã ã printf ( " %lld\n " , ( long long )lv_result); mrb_int ã¯mrubyã®ãããªãåœåã«èŠããŸãã lib/sp_runtime.h ã§ int64_t ã®typedefãšããŠå®çŸ©ãããSpinelã©ã³ã¿ã€ã ã®æŽæ°åã§ãã https://github.com/matz/spinel/blob/64105ec86d08c9edc92c3d17bf059126ceaa15d3/lib/sp_runtime.h#L53 require ã¯æããšæ¶ãã æ¬¡ã¯ require "json" ãš JSON.generate ã䜿ãã±ãŒã¹ã§ãã # test_require.rb require " json " puts JSON .generate({ name : " spinel " , year : 2026 }) ãã¡ããå®è¡ãããš 0 ã«ãªããŸãïŒ $ ./spinel ./tmp/jiska/samples/test_require.rb ./tmp/jiska/samples/test_require.rb -> test_require $./test_require 0 require ã®è¡ã¯çæãããCã®ã³ãŒãäžã§æããšæ¶ããŸãã ç¶ã JSON.generate ãSpinelããèŠãã°æªå®çŸ©ã¡ãœããã§ããã eval ãšåãããŒãå€ãè¿ãåŒã³åºãã«åããŸãã æçµçã« puts ã«ã¯ 0 ãæž¡ã£ãŠè¡šç€ºãããããšããæµãã§ãã çŸæç¹ã§ã®æ³šæç¹ çŸæç¹ã§ã¯ãã³ã³ãã€ã«ãéã£ãããå®è¡ãã¡ã€ã«ãã§ããããå®è¡ã§ãããã®3ç¹ã ããèŠãŠãããšééã£ãçµæãåããŠããããšã«æ°ã¥ããŸããã Spinelåãã«Rubyãæžããšã㯠README ãéœåºŠç¢ºèªããããšãéèŠã§ãã Spinelã䜿ã£ãŠã¿ã 次ã«å®éã®ãŠãŒã¹ã±ãŒã¹ãæ³å®ããŠã¿ãŸãã å®äŸãšããŠãGitHubã®PRäžèЧJSONãå
¥åã«åããåPRã® number ãš author ã衚瀺ããã¹ã¯ãªãããæžããŠã¿ãŸããã å
¥åã¯ARGVãstdinã®åªå
é ã§åãåããŸãã requireãªãã§JSONãæ±ã require "json" ã䜿ããªãã®ã§æšæºã® Regexp ãš String æäœã ãã§åŠçãçµãå¿
èŠããããŸãã ãªããããã§ç€ºãã³ãŒãã¯æ£ããJSONããŒãµã§ã¯ãããŸããã require "json" ã䜿ããªãSpinelã®å¶çŽäžã§ãå
¥ãåãªããžã§ã¯ãã }, ãå«ãæååå€ãçŸããªãããã©ãããªé
å圢åŒã®åºå®ããŒã¿ãã number ãš author ãã¢ãããã¯ã«åãåºãäŸãšããŠèªãã§ãã ãããæ¬æ ŒçãªJSONåŠçãå¿
èŠãªå Žåã¯ãå
¥ãåã»ãšã¹ã±ãŒããªã©ã§å®¹æã«å£ããããããã®å®è£
ã¯äœ¿ããŸããã å®éã®Rubyãã¡ã€ã«ã¯æ¬¡ã®ãšããã§ãã å€å°ããªãããŒãªãšããã¯æããŸãããããããéå®çãªçšéã§ããã°ãRegexpãšStringã®æšæºæ©èœã ãã§å®è£
ã§ããããšãããããŸããã if ARGV .length > 0 input = ARGV [ 0 ] else input = readlines.join end records = input.split( / }, / ) results = [] records.each do |chunk| if chunk =~ / "number" \s* : \s*(\d+)/ num = $1 if chunk =~ / "author" \s* : \s* " ([^ " ]+) " / auth = $1 results << " # #{ num } by #{ auth }" end end end if results.length == 0 $stderr .puts " Error: failed to parse JSON (no matching number/author pairs found) " exit 1 end results.each do |line| puts line end å®è¡ãµã³ãã«ã¯æ¬¡ã®ãšããã§ãã åŒæ°æž¡ãããã€ãããªãã€ã¬ã¯ãããããã«å¯Ÿå¿ããŠããŸãã JSONãå±éã§ããªãå Žåã¯æšæºãšã©ãŒãžãšã©ãŒã¡ãã»ãŒãžãåºã㊠exit 1 ããŸãã SAMPLE='[{"number":1,"author":"Findy"},{"number":2,"author":"jiskanulo"}]' # 1) åŒæ°æž¡ã ./pr_extract "$SAMPLE" # 2) ãã€ã echo "$SAMPLE" | ./pr_extract # 3) ãªãã€ã¬ã¯ã ./pr_extract < sample.json # ããããã®åºå: # #1 by Findy # #2 by jiskanulo $ ./pr_extract "not json" Error: failed to parse JSON (no matching number/author pairs found) $ echo $? 1 ãªããåŒæ°ããã€ãããªãã§ ./pr_extract ãèµ·åãããš readlines ãEOFåŸ
ã¡ã§ãããã¯ããŸãã æå㯠$stdin.tty? ã§å€å®ããŠUsageã衚瀺ããããšããŸãããã宿©ã§è©ŠããšTTYã§ããã€ãã§ãäž¡æ¹ 0 ãè¿ã£ãŠããŸãããããã eval / require ãšåãããSpinelæªå¯Ÿå¿ã®ã¡ãœããã silent failããŠããäŸã§ãã # test_tty.rb puts $stdin .tty? $ ./test_tty # TTYå®è¡ 0 $ echo "" | ./test_tty # ãã€ãå®è¡ 0 Spinelã§æšæºå
¥åãæ±ããšã㯠$stdin.tty? ã«é Œã£ãåå²ãã§ããªããããåŒæ°ã§æž¡ãããã€ãã»ãªãã€ã¬ã¯ãã§æç€ºçã«æµã蟌ãéçšã«åãã®ãå®å
šã§ãã ãããã©ããã¯åå¥ã«èžã¿ã«è¡ã䟡å€ããã å®è£
ããŠã¿ããš String#<< ã§mutableåãããš Regexp#scan ã«æž¡ããªãã Regexp#scan(/(...)/) { |m| ... } ã®ãã£ããã£ã¯å¹ããªã...ãªã©ãšãããã©ãããããã€ããããŸããã ãã ãçŸæç¹ã§ã®è©³çްã解説ããŠãéçºã掻çºã«é²ãã§ããã®ã§ããã«é¢šåããŠããŸãã®ã§è©³ããã¯èšããŸããã Spinelã詊ããšãã®å€æåºæº ãããŸã§è§Šã£ãŠã¿ãæè§ŠãããSpinelãè§Šããšãã®å€æåºæºã次ã«ãŸãšããŸãã æåäœéšãåŸãããã®ã¯æ¬¡ã®ãããªã³ãŒãã§ãã å
¥åºåã puts / printf ã§å®çµãã æšæºã©ã€ãã©ãªã«äŸåããªã æ°å€èšç®ã»æåååŠçã»æ£èŠè¡šçŸ( =~ + $1 )ã§æžããç¯å² éã«ãçŸæç¹ã§èžããšè©°ãŸãããããã¯silent failã«ãªãã®ã¯æ¬¡ã®ãããªé åã§ãã require ãåæãšããã³ãŒãïŒæšæºã©ã€ãã©ãªã®å©çšïŒ eval ãå«ãã¡ã¿ããã°ã©ãã³ã° æªå¯Ÿå¿ã¡ãœããã«äŸåããåŠçïŒåŒã³åºãããŒãå€è¿åŽã«åããïŒ ãã³ã³ãã€ã«ãéã£ãããåããŠããããšã¯éããªãããšããã®ãçŸæç¹ã§ã®æã倧äºãªæè§Šã§ãã CRubyãšSpinelã®äž¡æ¹ã§å®è¡ããŠåºåãdiffããéçšãçµãã®ãå®å
šã§ãã åäººçææ ããŒã«ã«ç°å¢ã®lintããã§ãã«ãŒãªã©ä»ãŸã§ã¯ã³ã©ã€ããŒã§ãã£ãŠããããšã眮ãæããŠäœ¿ã£ãŠã¿ããã§ããã ã³ã³ãã€ã«æžã¿ã®ãã€ããªãé
åžã§ããã®ã§ããã°ç°å¢æ§ç¯ã®æéãæžããããããŸããã ãŸã å°ãè§Šã£ãã ãã§ãããSpinelã«å¯èœæ§ãæããŠããŸãããŸããããããã¯ã¯ã¯ã¯ãããã®ãæäŸããŠãããMatzããã®åãããããããŠå®æããŸãã ããããæ©èœãæ¡å
ãããŠããã®ã楜ãã¿ã§ãã èªåã§ãã³ã³ããªãã¥ãŒãããŠããããã§ããã ããŸã: Spinelã®ç±æ¥ Rubyãšåããå®ç³ã€ãªããã§Spinelãªã®ããªããšã¯ããæã£ãŠããŸããããæŒ«ç»ã¢ãã¡ãã«ãŒããã£ãã¿ãŒããããã®ã¹ããã«ã»ãµã³ïŒã¹ãããŒïŒããååããšã£ãŠããããã§ãã çžæ£ã¯ã«ããŒã»ã ãŒã³ãªã®ã§ããã§ãRubyã«ç¹ãã£ãŠããŸããã ç±æ¥èããæã¯ãã£ã¡ãããïŒïŒãšãªããŸãããããããã ããã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ã ãã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ããã¯ãªãŒããããŒãžã£ãŒãããããŠããã£ãŠããæžç°ã§ãã Claude Codeã®Pluginã䜿ããšã瀟å
ã§è²ãŠãSkillãAgentããçµç¹ã®ã¡ã³ããŒã«ãŸãšããŠé
åžã§ããããã«ãªããŸãããã¡ã€ã³ãã£ã§ãããã®ä»çµã¿ã§ã»ã«ãã¬ãã¥ãŒçšã®Skillãéçºçµç¹å
šäœã«é
ããåèªãPull requestäœæåã«åŒã³åºãåœ¢ã§æŽ»çšããŠããŸããã ãã®èšäºã§ã¯ããããã ããã«äžæ©èžã¿èŸŒãã äœ¿ãæ¹ãšããŠãPluginãGitHub ActionsããåŒã³åºããŠCIã§åãã åãçµã¿ã玹ä»ããŸããå
·äœçã«ã¯ãPluginã«å«ãŸããã»ã«ãã¬ãã¥ãŒSkillãCIãã宿å®è¡ããææå
容ãåæ ããPull requestãèªåã§çæããä»çµã¿ã§ãã Pluginã®äœ¿ãæ¹ãšãããšãSkillã瀟å
ã§å
±æããŠãåèªãããŒã«ã«ã§å©ãããšããäžé¢ãèªãããã¡ã§ããã åãPluginãCIåºç€ããèµ·åãã ãšããéžæè¢ããšããšãPluginã§è²ãŠãSkillãå人ã®éçºäœéšã ãã§ãªããããŒã å
šäœã®ããã»ã¹ã«ãå¹ããŠããŸãã Pluginãšã»ã«ãã¬ãã¥ãŒã®Skillã«ã€ããŠã¯æ¬¡ã®èšäºãåç
§ããŠãã ããã tech.findy.co.jp tech.findy.co.jp Pluginã§é
ã£ãŠåèªã«äœ¿ã£ãŠãããéçš PluginãCIããåŒã³åºã å®éã®Workflowãèªã¿è§£ã ããªã¬ãŒãšã¹ã³ãŒã PluginãCIã«åŒã蟌ã èªåçæPull requestã«ãCIãèµ°ãããããã® GitHub App 1ææ1Pull requestã«åãåºã GitHub Actionsã®matrixã䜿ã£ãŠäžŠåã§Pull requestãäœã ãŸãšã Pluginã§é
ã£ãŠåèªã«äœ¿ã£ãŠãããéçš ãŸãããã¡ã€ã³ãã£ã§ã®ã»ã«ãã¬ãã¥ãŒã®æµããæŽçããŸãã 瀟å
ã®éçºçšPluginã«ã¯ãã»ã«ãã¬ãã¥ãŒSkillãå«ãŸããŠããŠãPull requestäœæåã«ããŒã«ã«ã§Pull requestäœæçšã®ã³ãã³ãããåŒã³åºãããŸããPluginãšããŠé
åžããŠããã®ã§ãæ°ãããžã§ã€ã³ããã¡ã³ããŒãã远å ã®æé ãªãã«åãSkillã䜿ããç¶æ
ã«ãªã£ãŠããŸãã ãã®ãããã®ãPluginã§éçºãã¬ããžã暪å±éããã話ã¯ãåé ã«è²Œã£ãèšäºã§è©³ãã玹ä»ããŠããã®ã§ããã¡ãããã²ã芧ãã ããã ãã®éçšã¯ãå人ã®éçºäœéšãåºäžãããããã§ååæ©èœããŠããŸãããã®èšäºãå
¬éãããé ã«ã¯å®ã«1500åãã®Pull requestã§å®è¡ãããŠããããæåŸã®äžæŒãããšããŠåããŠãããŠããŸãã PluginãCIããåŒã³åºã ãã®éçšãããŒã¹ã«ã ããã«ããäžæ©èžã¿èŸŒãã§ãåãPluginãCIãããåŒã³åºããŠã¿ã ãšããã®ãæ¬èšäºã®ããŒãã§ãã Pluginã¯SkillãSub Agentãªã©ã®éãŸããªã®ã§ã Pluginãåç
§ã§ããå®è¡ç°å¢ããäœãã°ã人éã®ä»£ããã«CIããåŒã³åºãããšãã§ããŸã ãæ®æ®µããŒã«ã«ã§èµ°ã£ãŠãããã®ãšåãSkillãã anthropics/claude-code-action çµç±ã§GitHub Actionsããèµ·åããã°ãSkillãåå®è£
ããããšãªãCIåã§ããããã§ãã github.com æ¬èšäºã§ã¯ããã®èãæ¹ã®äžäŸãšããŠãã»ã«ãã¬ãã¥ãŒSkillã宿å®è¡ããææäºé
ããšã«å¥ã
ã®Pull requestãèªåçæããWorkflowãåãäžããŸãã察象ã«ããã®ã¯ãæ¢åã³ãŒãã®ãã¡é·æéè§ŠãããŠããªããã¡ã€ã«ã§ãã人éã®ã¬ãã¥ãŒã§ã¯ç®ãå±ãã«ããç®æã«å¯ŸããŠãæ©æ¢°ãã¬ãã¥ãŒããããšã§æè¡çè² åµã®èç©ãæãããšãããããããããŸãã å
·äœçã«çµã¿äžããWorkflowã¯ã2ã€ã®jobã§åããŸãã æææœåº job ïŒPluginã®ã»ã«ãã¬ãã¥ãŒçšSkillãåŒã³åºãã察象ã³ãŒãã«å¯Ÿããææãæœåºããã ä¿®æ£Pull requestäœæ jobïŒmatrixïŒ ïŒææã®ä»¶æ°ã matrix strategy ã«å±éãã ææå
容ããšã«ç¬ç«ããjobã䞊åèµ·å ãåjobã¯æ°ãã runner äžã§ææå
容ã1ä»¶ã ãä¿®æ£ããã®ã¡ãPluginã®Pull requestäœæSkillã§Pull requestãäœæ çµæãšããŠãæåºç€Ÿãããš æ¹åPull requestã®åè£ã䞊ãã§ãã ç¶æ
ã«ãªããŸãããããŒã«ã«ã§å人ãæåå®è¡ããSkillãšãCIãã宿å®è¡ãããSkillããåãPluginã®äžèº«ãå
±æããŠããââããããPluginã®äœ¿ãæ¹ãããäžæ®µåºããŠããããã€ã³ãã§ããã ãã®ä»çµã¿èªäœã¯ã»ã«ãã¬ãã¥ãŒå°çšã®ãã®ãšããããããPluginãCIããèµ·åããããšãããã¿ãŒã³ã®1ã€ã®å¿çšã§ããåãæ§é ã§ãæ§ã
ãªSkillãCIã«çµã¿èŸŒããŸãã å®éã®Workflowãèªã¿è§£ã ãŸãã¯ãä»åçµã¿äžããWorkflowã®å
šäœåã§ããPluginã®SkillãCIããåŒã³åºããŠææãPull requestã䞊åçæãããšããæµããäžéã確èªã§ããŸãã name : Scheduled Self Review on : schedule : - cron : '0 19 * * 0-4' # å¹³æ¥ JST 04:00ïŒUTC 19:00 Sun-ThuïŒ workflow_dispatch : env : SELF_REVIEW_MAX_FINDINGS : "3" jobs : # --------------------------------------------------------------------------- # Job 1: findings æœåº # ã»ã«ãã¬ãã¥ãŒSkillã§ stale files ãã¬ãã¥ãŒãã # ææã findings.json ãšã㊠artifact åãmatrix å±éçšã® index ãåºåã # --------------------------------------------------------------------------- extract-findings : runs-on : ubuntu-latest timeout-minutes : 30 outputs : finding_indices : ${{ steps.compute-matrix.outputs.finding_indices }} findings_count : ${{ steps.compute-matrix.outputs.findings_count }} steps : - id : app-token uses : actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2.2.2 with : app-id : ${{ secrets.SELF_REVIEWER_APP_ID }} private-key : ${{ secrets.SELF_REVIEWER_APP_PRIVATE_KEY }} - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with : token : ${{ steps.app-token.outputs.token }} fetch-depth : 0 - name : Compute stale file list run : | git log --since="1 month ago" --name-only --pretty=format : origin/main \ | grep -v '^$' | sort -u > .stale-recent.txt git ls-files | sort > .stale-all.txt comm -23 .stale-all.txt .stale-recent.txt > .stale-files.txt - name : Clone plugin repository run : | git clone https://x-access-token:${{ secrets.PLUGIN_REPO_READ_TOKEN }}@github.com/your-org/plugin-repo.git /tmp/plugin-repo - name : Extract findings via self-reviewer uses : anthropics/claude-code-action@4e5d8b13ca281a6d163cdb287d8917b216e00d6f # v1.0.103 with : anthropic_api_key : ${{ secrets.ANTHROPIC_API_KEY }} github_token : ${{ steps.app-token.outputs.token }} plugin_marketplaces : | /tmp/plugin-repo plugins : | example-dev-plugin@plugin-repo claude_args : >- --allowedTools Read --allowedTools Write --allowedTools "Skill(example-dev-plugin:<review-skill>)" --allowedTools "Skill(<review-skill>)" --allowedTools "Bash(cat:*)" --allowedTools "Bash(jq:*)" --allowedTools "Bash(gh pr list:*)" prompt : | .stale-files.txt ã«åæããã stale files ã察象ã«ã ã»ã«ãã¬ãã¥ãŒSkillãåŒã³åºããŠææãæœåºãã åææã 1 finding ãšããŠã¹ããŒãã«åŸã findings.json ã«æžãåºãã ã³ãŒãä¿®æ£ã»Pull requestäœæã¯è¡ããªãïŒåŸç¶ matrix job ãæ
åœïŒã - id : compute-matrix run : | COUNT=$(jq length .self-review-findings.json) INDICES=$(jq -c 'to_entries | map(.key)' .self-review-findings.json) echo "findings_count=$COUNT" >> "$GITHUB_OUTPUT" echo "finding_indices=$INDICES" >> "$GITHUB_OUTPUT" - uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 if : steps.compute-matrix.outputs.findings_count != '0' with : name : self-review-findings path : .self-review-findings.json include-hidden-files : true # --------------------------------------------------------------------------- # Job 2: finding ããšã«ä¿®æ£ + Pull request äœæïŒmatrix ã§äžŠåïŒ # å matrix job ã¯ç¬ç«ãã runner ã§æ°èŠ checkout ããããã # worktree ã䜿ããã«æžã¿ãjob å士ã®ç·šéè¡çªãããããçºçããªãã # --------------------------------------------------------------------------- fix-per-finding : needs : extract-findings if : needs.extract-findings.outputs.findings_count != '0' runs-on : ubuntu-latest timeout-minutes : 40 strategy : fail-fast : false matrix : finding_index : ${{ fromJSON(needs.extract-findings.outputs.finding_indices) }} steps : - id : app-token uses : actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2.2.2 with : app-id : ${{ secrets.SELF_REVIEWER_APP_ID }} private-key : ${{ secrets.SELF_REVIEWER_APP_PRIVATE_KEY }} - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with : token : ${{ steps.app-token.outputs.token }} - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with : name : self-review-findings - name : Extract single finding id : finding run : | FINDING=$(jq -c ".[${{ matrix.finding_index }}]" .self-review-findings.json) { echo "finding<<EOF" echo "$FINDING" echo "EOF" } >> "$GITHUB_OUTPUT" echo "branch=fix/self-review-$(date -u +%Y%m%d-%H%M)-${{ matrix.finding_index }}" >> "$GITHUB_OUTPUT" - name : Clone plugin repository run : | git clone https://x-access-token:${{ secrets.PLUGIN_REPO_READ_TOKEN }}@github.com/your-org/plugin-repo.git /tmp/plugin-repo - name : Fix finding and create Pull request uses : anthropics/claude-code-action@4e5d8b13ca281a6d163cdb287d8917b216e00d6f # v1.0.103 env : FINDING_JSON : ${{ steps.finding.outputs.finding }} FINDING_BRANCH : ${{ steps.finding.outputs.branch }} with : anthropic_api_key : ${{ secrets.ANTHROPIC_API_KEY }} github_token : ${{ steps.app-token.outputs.token }} plugin_marketplaces : | /tmp/plugin-repo plugins : | example-dev-plugin@plugin-repo claude_args : >- --allowedTools Read --allowedTools Edit --allowedTools "Skill(example-dev-plugin:<pr-skill>)" --allowedTools "Skill(example-dev-plugin:<review-skill>)" --allowedTools "Skill(<pr-skill>)" --allowedTools "Skill(<review-skill>)" --allowedTools "Bash(git switch:*)" --allowedTools "Bash(git commit:*)" --allowedTools "Bash(git push:*)" --allowedTools "Bash(gh pr create:*)" prompt : | $FINDING_JSON ãæ
åœ findingã$FINDING_BRANCH ãæ
åœãã©ã³ãã origin/main ãã $FINDING_BRANCH ãåãã affected_locations ã®ã¿ã Edit â PRäœæSkill ã§ Pull request ãäœæã ããããã¯ããã®Workflowãèšèšããããã§ãã€ã³ãã«ãªã£ãç®æãåãäžããŠè§£èª¬ããŠãããŸãã ããªã¬ãŒãšã¹ã³ãŒã Pull requestã§ã¯ãªã ã¹ã±ãžã¥ãŒã« ãããªã¬ãŒã«ããŠããã®ã¯ãæ®æ®µã®Pull requestã§è§Šãæ©äŒãå°ãªãã³ãŒãã«ããåãSkillã®èгç¹ãå±ãããããã§ãã ããã«å¯Ÿè±¡ãã¡ã€ã«ã¯ãçŽè¿1ã¶æä»¥äžå€æŽãããŠããªããã¡ã€ã«ïŒstale filesïŒãã«çµã£ãŠããŸããæè¿ã®å€æŽã¯éåžžã®Pull requestã¬ãã¥ãŒã§æ¢ã«ã«ããŒãããŠããåæã§ããã以å€ã®é åã«ãã©ãŒã«ã¹ããèšèšã§ãã çµã蟌ã¿èªäœã¯ã git log --since ã§çŽè¿ã®å€æŽãã¡ã€ã«äžèЧãäœãã git ls-files ãš comm ã§å·®åãåãã ãã®ã·ã³ãã«ãªåŠçã§ããAIã«ãªããžããªãäžžããšæž¡ããšãã³ã³ããã¹ããè²»çšãèšããã®ã§ã ãä»å¹ããã䟡å€ãããç¯å²ãã«çµã蟌ãããã®ååŠçã1段æã ã®ãéçšäžã®ã³ãã§ããã PluginãCIã«åŒã蟌ã Workflowå
ã§ã¯ã瀟å
Pluginé
åžãªããžããªãéœåºŠcloneããClaude Code Actionã® plugin_marketplaces ã«æž¡ããŠããŸãã ããã§å¹ããŠããã®ãã Skillã®å®äœãWorkflowåŽã«ã³ããŒãããPluginãããã®ãŸãŸåŒã蟌ã ãšããæ§é ã§ããSkillã®æ¹åã¯Pluginé
åžãªããžããªã«ããŒãžããã ãã§ãèªåçã«ãã¹ãŠã®ãªããžããªã®CIã«åæ ãããŸããããŒã«ã«ã§é
ã£ãŠããSkillãšåããã®ããäœã®ã³ããŒããªãã«CIã§åãããããããPluginã§é
ããšããŒã«ã«ã§äœ¿ããããããPluginã§é
ã£ããã®ãCIã§ãèµ°ãããžã®ãã¡ãã£ãšããçºæ³ã®é£èºã§ããã èªåçæPull requestã«ãCIãèµ°ãããããã® GitHub App å°å³ã«éèŠã ã£ãã®ãã github_token ã«GitHub Appã®installation tokenãæž¡ããŠããéšåã§ãã ãªã GITHUB_TOKEN ã§ã¯ãªãAppã䜿ãã®ããçç±ã¯ã GITHUB_TOKEN ã§äœæãããPull requestã¯Workflowãèªåã§çºç«ãããªã ãšããGitHub Actionsã®ä»æ§ã«ãããŸãã èªåçæãããPull requestã«å¯ŸããŠããéåžžã®Pull requestãšåãããã«CIãã»ã«ãã¬ãã¥ãŒã®Skillãèµ°ãããããããã GITHUB_TOKEN ã§äœããšããããèªåã§çºç«ããŸãããApp tokençµç±ã®Pull requestã¯ãã®å¶çŽã®å¯Ÿè±¡å€ãªã®ã§ããAIãçæããPull requestã«ãã人éã®Pull requestãšåãCIãèªåã§å®è¡ããããç¶æ
ãäœããŸãã ãPluginã®SkillãCIããèµ°ãããããæ¬æ°ã§éçšã«ä¹ãããªããtokenæŠç¥ã¯ã¯ã³ã»ããã§èããå¿
èŠããããŸããã 1ææ1Pull requestã«åãåºã ãã®Workflowã§èæ
®ããèšèšå€æã®1ã€ãããèŠã€ãã£ãè€æ°ã®ææãã1ã€ã®Pull requestã«ãŸãšãããã1ææ1Pull requestã«åããããã§ãã æçµçã«éžãã ã®ã¯ã ææäºé
ããšã«å¥ã
ã®Pull requestã«åãåºã æ¹éã§ãããçç±ã¯æ¬¡ã®éãã§ãã 1ã€ç®ã¯ ã¬ãã¥ãŒèгç¹ã®åé¢ ã§ãã1ã€ã®Pull requestã«è€æ°ã®ç¡é¢ä¿ãªæ¹åãæ··ãããšãã¬ãã¥ã¢ãŒãèŠãã¹ã芳ç¹ããŸã°ãã«ãªã£ãŠããŸããŸããããã®ãªãã¡ã¯ã¿ã¯åŠ¥åœã ãããã¡ãã¯æ
éã«èŠããããšãã£ã倿ããPull requeståäœã§åãåããããç¶æ
ã«ããããšããã®ãèæ¯ã§ããã 2ã€ç®ã¯ revertåäœã®ç²åºŠ ã§ããçæAIã«ããç¹å®ã®å€æŽãæ¬çªã§äžå
·åãèµ·ãããå Žåãæ³å®ãããšãä»ã®å€æŽãå·»ã蟌ãŸãã«æ»ãããããªç²åºŠã«ä¿ã€ã®ãå®å
šã§ãããšèããŸããã1ææ1Pull requestã§ããã°ãrevertã²ãšã€ã§è©²åœã®å€æŽã ãå
ã«æ»ããŸãã 3ã€ç®ã¯ äŸåé¢ä¿ãªãã«ããŒãžã§ããããš ã§ããè€æ°ã®Pull requestã1æ¬ã«ãŸãšãããšãã©ãã1ã€ãããŒãžã§ããªãã ãã§å
šäœããããã¯ãããŸããäŸåé¢ä¿ãå°ãªããªãããã«Pull requestãåããŠããã°ãããŒãžã§ãããã®ããé ã«åŠçã§ããŸãã 代åãšããŠãã¬ãã¥ã¢ãŒã¯ãPull requestã®ä»¶æ°ãå¢ãããããšã«ãªããŸãããã ãåPull requestã®å€æŽéã¯å°ããã芳ç¹ãçµãããŠããã®ã§ã1æ¬ãããã®ã¬ãã¥ãŒæéã¯ãããçãã«ãªããŸãã GitHub Actionsã®matrixã䜿ã£ãŠäžŠåã§Pull requestãäœã ææããšã«Pull requestãåããåæã«ç«ã€ãšã次ã¯ãã©ããã£ãŠäžŠåã§å®å
šã«Pull requestãäœããããè«ç¹ã«ãªããŸããããã§æ¡çšããã®ãã GitHub Actionsã® matrix strategy ã«ãã job 䞊ååã§ãã å
·äœçã«ã¯ãjob ã2ã€ã«åããŠããŸãã æåã® jobïŒ extract-findings ïŒã§ã»ã«ãã¬ãã¥ãŒSkillãèµ°ãããææå
容ããŸãšãã åŸç¶ jobïŒ fix-per-finding ïŒã¯ããã®ææå
容ããšã« matrix ã«å±éãããmatrix ã®èŠçŽ æ°ã¶ãã ç¬ç«ãã runner äžã§äžŠåã« job ãèµ·å ãã åmatrix job ã¯ãææå
容ã1ä»¶ã ãåãåºããŠä¿®æ£ããŠãPluginã®Pull requestäœæSkillã§Pull requestãäœããŸãã 䞊ååã§ãããã¡ãªäºæ
ã¯ãç·šéã®è¡çªã§ããè€æ°ã®ãšãŒãžã§ã³ããåããã¡ã€ã«ãåæã«è§Šããšãã©ã¡ããã®å€æŽã倱ãããŸããä»åã¯ãããã matrix ã§åæ£ããå job ãå¥ runner äžã§ç¬ç«ã« checkout ãã ãšããæ§é ã§ãããããçºçããªã圢ã«ããŸããã strategy : fail-fast : false matrix : finding_index : ${{ fromJSON(needs.extract-findings.outputs.finding_indices) }} fail-fast: false ã«ããŠããã®ã¯ã1ã€ã®matrix jobã®ä¿®æ£ã倱æããŠãä»ã® matrix job ãæ¢ããªããããAIãçæããä¿®æ£ã¯åœããå€ããããã®ã§ããäžéšã倱æããŠãæ®ãã¯æµãããšããå§¿å¢ã§éçšããã»ããçŸå®çã§ããã ãã®æ§é ã§å¹ããŠããã®ããPluginãšããŠé
åžãããŠããSkillã®ååšã§ãã extract-findings ã§ã¯ã»ã«ãã¬ãã¥ãŒSkillã fix-per-finding ã§ã¯Pull requestäœæSkillããã®ãŸãŸåŒã³åºãã ãã§ããã¬ãã¥ãŒããâä¿®æ£ããâPull requestãäœãããšããæµããçµã¿äžãããŸãã Pluginã§é
ã£ãSkillããCIã® job åå²ã®åäœãšãã®ãŸãŸåã¿åã ããããããPluginã§é
ã£ãŠããŒã«ã«ã§äœ¿ããã®äžæ©å
ã«ããäœ¿ãæ¹ã§ãã ãŸãšã Pluginã§é
ã£ãSkillãGitHub Actionsã«ãèŒãããå Žåã«äœ¿ãããã€ã³ãããŸãšããŸãã Pluginé
åžçšãªããžããªãWorkflowå
ã§cloneãã plugin_marketplaces ã«æž¡ã ãSkillã®æ¹åã¯Pluginãªããžããªãžã®ããŒãžã ãã§ãããŒã«ã«ã«ãCIã«ãåãå
容ãåæ ããã èªåçæPull requestã«ãCIãåããããªãã GITHUB_TOKEN ã§ã¯ãªãGitHub App tokenã䜿ã ãçºç«ãã§ãŒã³æå¶ã®å¯Ÿè±¡å€ã«ãªã 䞊åã§åãããªããGitHub Actionsã® matrix strategy ã§ job ãåé¢ãã ãå job ã¯ç¬ç«ãã runner ã§æ°èŠ checkout ããã®ã§ãç·šéè¡çªã¯ããããçºçããªã Pluginã§é
ã£ãSkillã¯ãå人ã®éçºäœéšãåºäžãããã ãã§ãªãã CIã«èŒããããšã§ããŒã å
šäœã®ããã»ã¹ã«ãå¹ããŠãã äœ¿ãæ¹ãã§ããŸãããããŒã«ã«ã§é
ã£ãŠäœ¿ããã®æ¬¡ã®äžæ©ãšããŠãåèã«ãªãã°ããããã§ãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ã¯ããã« ããã«ã¡ã¯ããããã¯ãéçºéš 転è·éçºããŒã ã§ãšã³ãžãã¢ãªã³ã°ãããŒãžã£ãŒãããŠããæŸæ( @shakemurasan )ã§ãã 2026-04-22(æ°Ž)ãã2026-04-24(é)ãŸã§ã®3æ¥ééå¬ãããŠããRubyKaigi 2026ã«çŸå°åå ããŠããŸãã rubykaigi.org ãã®èšäºã¯ãDay1 13:00-13:30ã®koicããã®ã»ãã·ã§ã³ãExploring RuboCop with MCPãã«ã€ããŠãäºåæºåç·šãšåœæ¥ç·šïŒã»ãã·ã§ã³åœæ¥ã«æ®ããã¡ã¢ãšææ³ïŒã1æ¬ã«ãŸãšãããã®ã§ãã äºåæºåç·šã«ã¯AIã«ããäºæ³ãå«ãŸãããããå®éã®ã»ãã·ã§ã³å
容ãšäžèŽãããšã¯éããªãç¹ããããããæã£ãŠãããŸãã ã¯ããã« äºåæºåç·š koicããã®äººãšãªã AIã«äºæ³ãããŠã¿ãããæ¬äººåç¥ã§çŠç¹ãçµãã æ¬äººããããã®ææãšPRãå°ãèŠãã åœæ¥ç·š åå: MCP Ruby SDKãšStreamable HTTP åŸå: ãã®1幎éã®è©Šè¡é¯èª€ çµã³ãž: æ±ºå®æ§ãšéæ±ºå®æ§ããããŠElicitation èŽãçµããŠè
¹èœã¡ããããš ãããã« äºåæºåç·š koicããã®äººãšãªã koicããã¯RuboCopã®ãããã³ããã¿ãŒã§ã2025幎ã«ã¯MCPã®å
¬åŒRuby SDK ( modelcontextprotocol/ruby-sdk ) ã®ã¡ã³ãããŒã«ãå ãã£ãŠããŸãã github.com ãããŸã§ã®éã®ãã¯Findy Engineer Labã®åæèšäºã 365æ¥æ¬ ãããã³ããããç©ãããªãRuboCopã³ããã¿ãŒäŒè€æµ©äžã¯OSSãšåãåãç¶ããã®ã ããšãçŽè¿ã®ã話ã¯ãæ¬äººã®ããã°ã MCPã®å
¬åŒRuby SDKã®ã¡ã³ãããŒã«å ãã£ã ãã§è©³ããç¶ŽãããŠããŸãã findy-code.io koic.hatenablog.com å人çãªè©±ãããã°ãç§ãRubyãæžãå§ããŠæ°å¹Žã®é ãå°åã®Rubyã³ãã¥ããã£ã§äœåºŠãkoicããããèŠãããããžã¥ãã¢æä»£ã®èªåã«åºæ¿ããããæ¹ã®äžäººã§ããããŸãã AIã«äºæ³ãããŠã¿ãããæ¬äººåç¥ã§çŠç¹ãçµãã ã»ãã·ã§ã³ã¿ã€ãã«ã ãã§ã¯è«ç¹ãèŠãã«ããã£ãã®ã§ãå®ã¯äºåã«äºç¿ã®ææãšããŠãAIã«koicããã®çŽè¿ã®PRãIssueãããšã«å
容ãäºæ³ãããŠããŸããã è¿ã£ãŠããã®ã¯å€§ãã3éãã®æ¡ã§ããã 1ã€ç®ã¯ãstdioå®è£
ãšMCP primitivesïŒtools / resources / promptsïŒã®ååãäžå¿ã«æ®ããæ§æã 2ã€ç®ã¯ãMCPã®tool annotationãšRuboCopã®Cop屿§ã®å¯Ÿå¿ãæ žã«æ®ããæ§æã 3ã€ç®ã¯ãStreamable HTTPãè»žã«æ®ããçµç¹éçšè«ã«ãŸã§åºããŠããæ§æã ããããkoicããã®å
¬éPRãIssueããæŸããããªçã§ã¯ãããæåã¯ããªãã»ã©ãã®ã©ããã ãããªããšçºããŠããŸããã ãã®åŸãkoicãããæ¬äººãã RubyKaigi 2026ã«ç»å£ããŸã ãã§èæ¯ãšäºç¿ã®æ¡å
ããã§ã«å
¬éãããŠããããšã«æ°ã¥ããŸããã koic.hatenablog.com æ¬äººåç¥ã§è»žã«çœ®ãããŠããã®ã¯ãRubyããŒã«ãã§ã€ã³ãžã®AIæä»£ã®èª²é¡æèµ·ãã§ãStreamable HTTPã¯å¯é¡ãšããŠæç€ºãããŠããŸããã äžæ¹ã§ãtool / resource / promptãšãã£ããããæº¢ããŠããæ
å ±ãã¯æ·±æãããªãããšãæèšãããŠããŸãã AIã®äºæ³ãšæ¬äººåç¥ã芳ç¹ããšã«ãŸãšãããšã次ã®éãã§ãã èŠ³ç¹ AIã®äºæ³ æ¬äººåç¥ äžå¿è»ž RuboCopå®è£
詳现 / MCP primitivesã®åå RubyããŒã«ãã§ã€ã³ãžã®AIæä»£ã®èª²é¡æèµ· Streamable HTTP 1æ¡ã®äžå¿ãä»2æ¡ã§ã¯æ«å°Ÿã«è§ŠããçšåºŠ å¯é¡ãšããŠæç€º ãè¬æŒã®å€§ããªããã㯠tools / resources / prompts ååã®äžå¿æŠå¿µãšããŠæ±ã ãããæº¢ããŠããæ
å ±ããšããŠæ·±æãããªãæšãæèš åœãã£ãŠããã®ã¯ãStreamable HTTPãäž»èŠãããã¯ã®1ã€ããšèŠç«ãŠãŠããç¹ã§ã倧ããå€ããã®ã¯ãtool / resource / promptãååã®äžå¿æŠå¿µãšããŠæ±ãããšããæ¹åæ§ã§ããã AIã®äºæ³ã¯äžã«åºãåºåã£ãŠãã話é¡ã®éå¿ã«åŒã£åŒµããããããæ¬äººãããããŠæ·±æãããªãããšå®£èšããŠããé åããããããäžå¿ã«çœ®ãããŠããããšããã³ã³ãã©ã¹ãã«ãªããŸãã ãã®ãããã§ãåœæ¥èãã«è¡ãã¹ãçŠç¹ãäžæ°ã«çµããŸããã æ¬äººããããã®ææãšPRãå°ãèŠãã æ¬äººåç¥ã§ç޹ä»ãããŠããææã®ãã¡ãRubyWorld Conference 2025ã§ã®koicããã®ç»å£ã¢ãŒã«ã€ãã«ç®ãéããŸããã ããªãstdioã ãã§ã¯è¶³ãããåæ¹åã®HTTPéä¿¡ãå¿
èŠãªã®ãããšããéçãç»å£ã®æµãã§è¿œãããããã»ãã·ã§ã³åã®ãŠã©ãŒã ã¢ããã«å©ãããŸããã åœæ¥ç·š æ¬ç·šã¯äºååç¥ã©ããã®2éšæ§æã§ãååãMCP Ruby SDKã®è©±ãåŸåãRuboCop x MCPã®è©±ã§ããã ãªããåœæ¥ã®ã»ãã·ã§ã³è³æã¯ã Exploring RuboCop with MCP ããšããŠãã§ã«å
¬éãããŠããŸãã speakerdeck.com 以éã¯ãçŸå°ã§åãåã£ã枩床æã®èšé²ãšããŠèªãã§ããããã°ãšæããŸãã åå: MCP Ruby SDKãšStreamable HTTP Ruby SDKã¯ããšããšShopify瀟å
ã§å°äººæ°ã®ãšã³ãžãã¢ãå§ãããã®ã§ãkoicããèªèº«ãRuboCopã念é ã«æ©ã段éããåç»ããã³ããã¿ãŒã«æãããã®ã¡ã mcp gemãšããŠå
¬éãããããšããçµç·¯ã玹ä»ãããŸããã MCPã«ã¯Tier1ã3ã®ã©ã³ã¯ãå®çŸ© ãããŠããŠãçŸåšã®Ruby SDKã¯Tier3ã Tier1ãç®æããŠããããšæç¢ºã«å®£èšããŠããŸããã æ¬é¡ã®transportsã®è©±ã§ã¯ãèŠæ ŒãšããŠstdioãšStreamable HTTPã®2ã€ã䞊ã³ãŸãã stdioã®åçŽãã¯ããããšè§Šããæéãå²ãããã®ã¯Streamable HTTPã®ã»ãã§ããã HTTPã®èŠæ Œã®ãŸãŸã§ãWebSocketã®ãããªç¬èªãããã³ã«ã«å¯ããã«åæ¹åéä¿¡ãæç«ãããã å®è£
ã¯Rackã¢ããªã±ãŒã·ã§ã³ãšããŠçµãã§ãããHTTPã§å©ãããã¿ã€ãã³ã°ã§MCPã»ãã·ã§ã³IDãæãåºããŠã»ãã·ã§ã³ã確ç«ããQueueãä»ããŠããåããäœåŸåŸ©ãæç«ãããã 1ãªã¯ãšã¹ã1ã¬ã¹ãã³ã¹ã§ã¯ãªãã1ãªã¯ãšã¹ããèµ·ç¹ã«ãµãŒããŒã»ã¯ã©ã€ã¢ã³ãéã§éä¿¡ãèµ°ãããšããçµµãäžå¯§ã«æãããŠãããŸãã æãåãããªããšå®æãæ¹§ãã«ããé åã§ãããRackã®äžã«çŽ çŽã«ä¹ã£ãŠãããšãã話ãèããç¬éãæ®æ®µè§Šã£ãŠããWebæè¡ã®å»¶é·ç·äžã§æããŠãã話ãªã®ã ããšæ¥ã«è·é¢ãè¿ãæããããŸããã ãããŠååã®ç· ãã§koicããã眮ããæ¬¡ã®ãããªãã¥ã¢ã³ã¹ã®äžèšããå人çã«äžçªåºãã£ãŠããŸãã ãAIã«ãªã£ãŠã¬ã©ããšå€ãã£ããšæãããããLinuxã§ãããšãäœã¬ã€ã€ã®äžçã¯äœãå€ãã£ãŠããªããŠãæã
ã¯ãã®äžã§éçºãããŠããã«éããªãã åŒç€Ÿã§ããã³ãã³è©±é¡ã«äžãããAIã®å°é ã«ãããšã³ãžãã¢èªèº«ã«ãšã£ãŠã¯ãããåºç€ã倧äºã«ãªã£ãŠããããšããèãæ¹ãšäžèŽããŠããã匷ãå
±æããŸããã åŸå: ãã®1幎éã®è©Šè¡é¯èª€ åŸåã¯ããŒã³ãå°ãå€ãããŸããã ã1幎éãããã詊è¡é¯èª€ããŠããããããŸããããªãã£ãããšãå€ãã£ãããã®è©±ãããŸãããškoicãããççŽã«åãåºããŸãã æåèã§ã¯ãªãã詊è¡ã®çµéãšçŸåšå°ã®å
±æã ããšããã¢ãŒãã«åãæ¿ãããŸããã æåã®ã¢ã€ãã¢ã¯ã·ã³ãã«ã§ãRuboCopã®çµæãJSONæ§é ã§MCPåããã°AIãã¬ã³ããªãŒã«ãªã£ãŠè¯ãã®ã§ã¯ãªããããšãããã®ã§ããã ãããå®éã«æãåãããŠã¿ããšãRuboCopã¯ããããèåãªgemãªã®ã§ãAIåŽããã§ã«çžåœåŠç¿ããŠããããã«æããããããšæ¯ãè¿ããŸãã ããããMCPã®ç®ã被ããªããŠããããçšåºŠã®ããšã¯æ¢ã«ã§ããŠããŸãçžæã ã£ãããšããããšã§ãã ã¢ã€ãã¢ãåºãåéããŠè°è«ããããã®ã®ãå¯ãããããã®ããã®ãŸãŸå®è£
ããŠå
šå¡ãåã¶æ©èœã«ãªãèªä¿¡ã¯æãŠãªãã£ãããšãç¶ããŸãã çµã³ãž: æ±ºå®æ§ãšéæ±ºå®æ§ããããŠElicitation ããããçµã³ã«åããŠãRuboCopã¯ãããŸã§ãã€ã³ãããã«å¯ŸããŠçµæãäžæã«å®ãŸããã®ã ã£ãããšæ¹ããŠäœçœ®ã¥ãçŽãããŸãã ãæ±ºå®æ§ãããLinterãšããŠã®äŸ¡å€ã ã£ãããšããåæãèšèã«ããããã§ãããã«éæ±ºå®æ§ãæã€LLMãçµã¿åããããäœãã§ããã®ãããšç¶ããŸããã å
·äœäŸãšããŠäžŠã¹ãããã®ã¯ãLLMåŽã«å§ããSamplingãšããŠãŒã¶ãŒã«èãè¿ãElicitationã§ããã ã©ã¡ãããµãŒããŒããã¯ã©ã€ã¢ã³ãã«åãåãããè¿ããä»çµã¿ã§ãããèªåã®è³ã«ç¹ã«æ®ã£ãã®ã¯Elicitationã®ã»ãã§ãã ãŠãŒã¶ãŒã«å¯ŸããŠå®ãŸã£ããã©ãŒãããã®è³ªåãšåçãã©ãŒã ãè¿ããä»çµã¿ã§ãããã®ä¿®æ£ãã©ãé²ãããïŒããšèãè¿ãäœå°ãMCPã®äžã§äœããããšãã話ãšããŠçœ®ãããŠããŸããã æ±ºå®æ§ã®ããRuboCopã®æµãã®ãªãã«äººéã«åããè¿ããã€ã³ããå·®ã蟌ã¿ããããæãã éæ±ºå®æ§ã蚱容ããã æ±ºå®æ§ãæšãŠã話ã§ã¯ãªããã©ãã§åããç«ãŠãã©ãã§éæ±ºå®æ§ãåãå
¥ãããã®èšèšã®è©±ãšããŠåãåããŸããã ãã®æç§ãæãåºããã®ã¯ãèªããŒã ã§RuboCopã®ã«ãŒã«æ¹å»ãè°è«ããæã®è©±ã§ãã äžå
çã«é©çšãããæ©ãŸãããã®ãåºãŠãããšãããã®æ©ã¿ã«ã¯æ¢åã³ãŒãã®æé»çãªèŠçŽãåãšã³ãžãã¢ã®ææ³ãçµéšãcopãšããŠå®çŸ©ãããŠãããã¹ããã©ã¯ãã£ã¹ããšæ§ã
ãªèŠçŽ ã絡ãã§ããŸãã ãããã¯æ©æ¢°çã«äžæã«ã¯å®ããããªããã®ã§ãã ãã®çµ±æ²»éçšã«LLMãèªç¶ãªåœ¢ã§ä»å
¥ãã察話ãçµãŠLinterã«èœãšã蟌ãã§ããã®ã¯ãããããªåœ¹å²ã ãšæããŸããã (ãããRuboCopã®æ©èœãšããŠæäŸãããŠãŠãŒã¶ãŒãå¬ãããã¯ããŠãã) ã¡ãªã¿ã«MCPã®èŠæ ŒãšããŠElicitationãçºè¡šãããåœæãåŒç€Ÿã§ã管çè
åãã®Local MCP Serverã«ãããçµã¿èŸŒãäºäŸããããã çæAIæä»£ã®ãµãŒãã¹éå¶ç®¡ç - MCP Server for Administratorã®å®è·µ - ãïŒ2025幎9æ16æ¥å
¬éïŒãšããŠãŸãšããããŠããŸãã tech.findy.co.jp äžæ¹éè¡ã«ãªããã¡ãªMCPã®ãããšãã« confirm / approveã®ã¹ããããæããšããèãæ¹ã¯ãkoicãããåœæ¥RuboCopã®æèã§ç€ºããElicitationã®äœçœ®ã¥ããšãã®ãŸãŸéãªããã®ã§ããã èŽãçµããŠè
¹èœã¡ããããš å°ãªããšãã»ãã·ã§ã³ã®å
容ã¯ãRuboCop x MCPã®ãã¹ããã©ã¯ãã£ã¹ããã·ããšæ±ºãŸã£ãŠãããããã§ã¯ãªããšããããšã§ãã ããããåœäºè
ãšããŠèžã¿æãã人ããæã¡åŸãªãèæããèŠåŽããšå
¬éããŠããã£ã30åã ã£ãããšããã®ãè¿ããšæããŸãã æåã«ãããšã·ã³ãã«ã§ãããçŸå Žã§èŽè¬ããçããã«ã¯koicããã®è©Šè¡é¯èª€ãšèŠåŽãçã
ããäŒãã£ãŠããã®ã§ã¯ãªãããšæããŸãã çŸå°åå ããééå³ããããããšããã«ãæ¹ããŠæããŸããã MCPåãæã£ãã»ã©åºãããªãã£ãããšãã¢ã€ãã¢ãéããŠãäžæã®çãã«åæããªãããšãHuman in the Loopãã©ãèšèšããããå®è£
ããå
ã«ããããšã ã©ãããããã¥ã¡ã³ããäºäŸç޹ä»ãçºããŠããŠãæŽããªããåœäºè
ãšããŠèžã¿æããªããšåãããªãçš®é¡ã®æè§Šãã§ãã ååãšåŸåãéããŠäžæ¬ã®ç·ã§ç¹ãã£ãŠããã®ã¯ãRubyããŒã«ãã§ã€ã³ãAIæä»£ã«ã©ãäœçœ®ã¥ãçŽãããšããåãã ã£ãããã«æããŸãã Streamable HTTPãšããå
·äœçãªæè¡åºç€ã®è©±ãšãRuboCop x MCPãšããå¿çšã®è©Šè¡é¯èª€ããããŠãäœã¬ã€ã€ã®äžçã¯äœãå€ãã£ãŠããªãããšããç«ã¡äœçœ®ã 3ã€ãéãªã£ãŠãRubyã®ããŒã«çŸ€ãšAIã®é¢ä¿ãReframingããããšãã茪éãæµ®ãã³äžããæ§æã«ãªã£ãŠããããã«ç§ã¯æããŸããã å
é ã«ç«ã£ãŠããã ãã®é åãèžã¿æããŠããkoicãããžã¯ãæè¬ãšå°æ¬ã®æ°æã¡ã§ãã£ã±ãã§ãã Ruby SDKãžã®è²¢ç®ã¯RuboCopåäœã®è©±ã«çãŸãããRubyããŒã«çŸ€å
šäœãç«ã€è¶³å ŽãæŽããä»äºãªã®ã ããããšèªåã«ã¯åãåããŸããã æ¬ã»ãã·ã§ã³ã¯AIæä»£ã«ãRubyãæåç·ã§äœ¿ãããèšèªã§ããç¶ããããã®éèŠãªæ©ã¿ã®1ã·ãŒã³ãèŠããŠãããã®ã ãšæ¹ããŠæããŸããã ãããã« AIæä»£ã ãããšãã£ãŠéã®åŒŸäžžã¯ãªããRubyããŒã«ãã§ã€ã³ããHTTPãRackãQueueãšãã£ãåå°ã®äžã§å°éã«ç©ãŸããŠãããŸãã ååã®ç· ãã®ãäœã¬ã€ã€ã®äžçã¯äœãå€ãã£ãŠããªããŠãæã
ã¯ãã®äžã§éçºãããŠããã«éããªãããšããèšèã¯ãAIã«æ¯ãåãããã«äœ¿ãåŽã«åãã®ã«å¿
èŠãªã®ã¯è¿éã§ã¯ãªãåºç€ã ããšããããšãæ¹ããŠæãåºãããŠãããŸããã ãã¡ã€ã³ãã£ã§ã¯ãäžç·ã«RubyãRailsã®éçºãããŠããã仲éãåéããŠããŸãã èå³ã®ããæ¹ã¯ããã²ãã¡ããããã§ãã¯ããŠã¿ãŠãã ããïŒ herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ã¢ãã€ã«ãšã³ãžãã¢ãããŠããå è€ã§ãã å
æ¥ãã React Native Lunch Talk ïœããŸéžã°ããçç±ãšã¢ããªã®çŸåšå°ïœ ãã«ãŠããæ°èŠãµãŒãã¹éçºã«ãããReact Nativeã®ãªã¢ã«ãæè¡éžå®ã®è£åŽãšå®è·µçOSS掻çšãããšããããŒãã§ç»å£ããŸããã æ¬èšäºã¯ããã®çºè¡šå
å®¹ãæ¹ããŠããã¯ããã°ãšããŠæžãèµ·ããããã®ã§ãã çºè¡šã§ã¯æéã®éœåã§é§ãè¶³ã«ãªã£ãéšåãã質çå¿çã§çããããªãã£ãè«ç¹ããã£ããããæ¬èšäºã§ã¯ãã®ããããå«ããŠèžã¿èŸŒãã§æžããŠããŸãã èæ¯ïŒFindy Events βçã®éçº ååã®èšäº ã§ãå°ãè§ŠããŸããããæšå¹ŽãFindyåã®ã¢ãã€ã«ã¢ããªãFindy EventsããαçãšããŠAndroidã¢ããªã®ã¿ãªãªãŒã¹ããŸããã çŸåšã¯Î±çããåŸãåŠã³ãããšã«UIã»UXããã«ãªãã¥ãŒã¢ã«ããæè¡ã«ã³ãã¡ã¬ã³ã¹åãã®iOS/Androidã¢ããªãšããŠÎ²çã®ãªãªãŒã¹ãç®æããŠéçºãé²ããŠããŸãã Findy Eventsãé·æçã«ç®æããŠããã®ã¯ããã«ã³ãã¡ã¬ã³ã¹ã§ã®åŠã³ãšã€ãªãããããã®å Žéãã§çµããããç¶ç¶çãªæé·ã®è³ç£ã«å€ãããããšã§ãã βçã§ã¯ããã®ç¬¬äžæ©ãšããŠãã«ã³ãã¡ã¬ã³ã¹åœæ¥ã®äœéšãã¹ã ãŒãºã«ããæ¬¡ã®ãããªæ©èœãæäŸäºå®ã§ãã QRã³ãŒããæç€ºããŠã®ãã§ãã¯ã€ã³ äºçŽæžã¿ã»ãã·ã§ã³ãã¿ã€ã ããŒãã«ãªã©ãã«ã³ãã¡ã¬ã³ã¹æ
å ±ã®é²èЧ ã«ã³ãã¡ã¬ã³ã¹åæ¥ãã»ãã·ã§ã³éå§åã«å±ããªãã€ã³ããŒPushéç¥ æ¬èšäºã§ã¯ããããªæ°èŠã¢ãã€ã«ã¢ããªã®ç«ã¡äžãã«ããã£ãŠããªãReact Nativeãéžã¶ã«è³ã£ãã®ãããããŠOSSéžå®ãå®è£
ã§çŽé¢ãããªã¢ã«ãªææã«ã€ããŠç޹ä»ããŸãã ååã®èšäº ã§ã¯æè¡éžå®ã®çµè«ã ãã玹ä»ããŸããããæ¬èšäºã§ã¯ãã®å€æã«è³ããŸã§ã®æ¯èŒéçšãOSSéžå®ã®è£åŽãŸã§ãèžã¿èŸŒãã§æžããŠããŸãã èæ¯ïŒFindy Events βçã®éçº React Nativeã®æè¡éžå®ã®èæ¯ OSSã¢ãžã¥ãŒã«ã®éžå®ãšæŽ»çšäºäŸ ç¬èªéžå®ã®äºäŸ1ïŒSign in with Apple ç¬èªéžå®ã®äºäŸ2ïŒUIã©ã€ãã©ãª React Nativeã«å¯Ÿãããªã¢ã«ãªææ ç«ã¡äžããã¯ãAIæä»£ã§ãæ³å以äžã«èŠåŽãã OSS掻çšã§æããããš AIæä»£ã«ãä»ããReact Nativeãããæå³ ãŸãšã React Nativeã®æè¡éžå®ã®èæ¯ ãŸãè§ŠããŠããããã®ã¯ãããªãæ°ããéžæè¢ã®äžããReact Nativeãéžãã ã®ãããšãã話ã§ãã Findyã«ãšã£ãŠåã®ã¢ãã€ã«ã¢ããªéçºãããããæè¡éžå®ãäžããèšèšã§ããããšã³ãžãã¢å¥å©ã«å°œããç°å¢ã§ãã ãã ãèªç±åºŠãé«ããšããããšã¯ãèšãæããã°å€æã®éã¿ã倧ãããšããããšããã¢ãã€ã«ã¢ããªãéçºããããšäžèšã§èšã£ãŠãããã®éçã¯ã²ãšã€ã§ã¯ãããŸããã åºçºç¹ãšããŠçœ®ããã®ããæ¬¡ã®3ã€ã®ã¢ãããŒãã®æ¯èŒã§ãã æé©ãªéçºææ³ã¯ã眮ãããç°å¢ãšèãæ¹ã§å€ããããããç§ã®åºæ¬ã¹ã¿ã³ã¹ã§ãã ãããŠä»åã®åæã¯ããæå°ãªãœãŒã¹ã§æéãªãªãŒã¹ãããã®äžç¹ã«ç
§ãããŠããŸãCross Platformãéžã³ãŸããã æ¬¡ã«ãCross Platformã®äžãããåœå
å€ã§å®çžŸãè±å¯ãªFlutterãšReact Nativeã®2ã€ã«çµã£ãŠæ¯èŒããŸããã æ¬¡ã®è¡šã¯ãiOSãšã³ãžãã¢åºèº«ã§ããç§ã®äž»èгãèžãŸããŠã2025幎8æé ã«æŽçãããã®ã§ãã äžèŠã衚ã ããèŠãã°Flutterãåªäœã«æ ããŸãã æ£çŽãªãšãããç§èªèº«ãæåã¯Flutterã«éŠŽæã¿ãæããŠããŸããã ããã§ãæçµçã«éžãã ã®ã¯ãReact Nativeã§ãã æ±ºãæã¯ããçµç¹ã®ã¢ã»ããããšãã¢ãã€ã«ãšã³ãžãã¢ãšããŠã®èªèº«ã®ãã¬ããžãã®æãç®ããã®2軞ãããåãããããšããããæå°ãªãœãŒã¹ã§æéãªãªãŒã¹ããšããç®æšã«æçã§è¿ã¥ãéã ãšç¢ºä¿¡ããŸããã ä»®ã«Flutterãéžã¹ã°ãç§ã ãã§ãªãå°æ¥åç»ããã¡ã³ããŒå
šå¡ã«äžå®ã®ç«ã¡äžãã³ã¹ããã®ãããããŸããç¹ã«ã¢ãã€ã«ãšã³ãžãã¢åºèº«ã§ãªãã¡ã³ããŒã»ã©ãè² æ
ã¯å€§ããã 察ããŠReact NativeãªããReactãšTypeScriptã®çŽ é€ãæã€ã¡ã³ããŒãå€ãä»ã®çµç¹ã«ãã®ãŸãŸéŠŽæã¿ãŸãã èªåããç«ã¡äžãã£ãŠããŸãã°ããã®åŸã®éçºé床ã¯äžé·æçã«æãåºããããããæçµçãªæ±ºãæã§ãã å
·äœçã«ããçµç¹ã®ã¢ã»ããããšãã¢ãã€ã«ãšã³ãžãã¢ãšããŠã®èªèº«ã®ãã¬ããžãã«ã€ããŠã§ããããçµç¹ã®ã¢ã»ããããšããŠã¯ã 瀟å
ã®åªç§ãªWebããã³ããšã³ããšã³ãžãã¢ããReactãTypeScriptã®ç¥èæäŸãã¬ãã¥ãŒååãåŸããã Reactè£œã®æ¢åãããã¯ãã®èšèšææ³ããœãŒã¹ã³ãŒããåèã«ã§ãã ãšããæåŸ
æããããŸããã ãŸãããã¢ãã€ã«ãšã³ãžãã¢ãšããŠã®èªèº«ã®ãã¬ããžããšããŠã iOS/Androidã®ãã©ãããã©ãŒã ç¹æ§ãžã®çè§£ ããã·ã¥éç¥ãªã©ã®ã¢ãã€ã«åºæã®èª²é¡ãžã®å¯Ÿå¿å ãæŽ»ããããšãã§ãããšèããŠããŸããã ã瀟å
ã®Webè³ç£ãã©ããŸã§æŽ»ããããšãã§ããã®ãïŒããšããéšåãæ°ã«ãªãæ¹ãããã£ããããããããŸãããçµæãšããŠã¯ãæ¬¡ã®æè¡ã¹ã¿ãã¯ã®ãšãããçµç¹ã®ã¢ã»ããããã«æŽ»çšããããšãã§ããŸããã å®ã¯ãã¢ãŒããã¯ãã£ã«é¢ããŠããæ¢åã®Webãããã¯ããã»ãŒæµçšãã圢ã§éçºããŠããŸãã ã€ãŸããèšèšææ³ãå®è£
ãã¿ãŒã³ãŸã§èžã¿èŸŒãã§åèã«ã§ããã»ã©ãReact Nativeã¯ReactãšèŠªåæ§ãé«ããšããããšã§ãã OSSã¢ãžã¥ãŒã«ã®éžå®ãšæŽ»çšäºäŸ ç¶ããŠãOSSã¢ãžã¥ãŒã«ã®éžå®ã«ã€ããŠã§ãã iOSãšã³ãžãã¢åºèº«ã®ç§ãReact Nativeã«è§ŠããŠæåã«æããã®ã¯ãããšã«ããOSSãè±å¯ããšããããšã ãã ãè£ãè¿ãã°ãå€éããŠãã©ããéžã¹ã°è¯ããè¿·ãããšããå¥ã®èª²é¡ãç«ã¡äžãã£ãŠããŸãã ããã§æ¡ã£ãæ¹éã¯ã Expoå
¬åŒããã¥ã¡ã³ã ããçŸ
éç€ããšããŠæŽ»çšããããšã Expoå
¬åŒããã¥ã¡ã³ãã¯éåžžã«å
å®ããŠããŠãExpoå
¬åŒã¢ãžã¥ãŒã«ã¯ãã¡ãããæšå¥šããã3rd Party OSSãæèšãããŠããŸãã第äžåè£ãããã«çœ®ãã ãã§ãéžå®ã³ã¹ãã¯å€§ããå§çž®ã§ãããšããããã§ãã ãã¡ãããããã§100%ãã«ããŒã§ããããã§ã¯ãããŸããããã®å Žåã¯ããããã¯ãã®ã³ã³ããã¹ãã«åãããŠç¬èªã«éžã³ãŸãã ããããã¯ããã®ç¬èªéžå®ãã2ã€ã®OSSã玹ä»ããŸãã ç¬èªéžå®ã®äºäŸ1ïŒSign in with Apple ã¢ãã€ã«ã¢ããªã®èªèšŒã§ã¯ãGitHubã»Googleã»Appleã®3ã€ã®OAuthèªèšŒãæ°èŠã«å°å
¥ããæ¹éãæ¡ããŸãããäžã§ãSign in with Appleã¯ãiOSã®å¯©æ»èŠä»¶ãšããŠå¿
é ã®æ©èœã§ãã ããã§éžå®è»žã«æ®ããã®ã¯æ¬¡ã®2ç¹ã§ãã 審æ»ã§èªèšŒãã¿ã³ã®ãã¶ã€ã³ã峿 Œã«ç¢ºèªããããããiOS SDKæšæºã® ASAuthorizationAppleIDButton ãå
éšã§å©çšããŠããããš iOSã ãã§ãªãAndroidã§ãSign in with Appleæ©èœãæäŸã§ããããš Expoå
¬åŒã«ã¯ expo-apple-authentication ããããã®ã®ãAndroidã察象å€ãä»åã¯èŠéããŸããã æçµçã«éžãã ã®ã¯ãäž¡OSã«å¯Ÿå¿ãã react-native-apple-authentication ã§ãã ç¬èªéžå®ã®äºäŸ2ïŒUIã©ã€ãã©ãª åé ã§è¿°ã¹ãéããèªç€Ÿåã®ã¢ãã€ã«ã¢ããªãšããããšãããã瀟å
ã«ã¢ãã€ã«çšã®ãã¶ã€ã³è³ç£ã¯ãããŸããããæå°ãªãœãŒã¹ã§æéãªãªãŒã¹ããå®çŸããã«ã¯ãUIã©ã€ãã©ãªã®æŽ»çšãæ¬ ãããªãèŠçŽ ã«ãªããŸãã éžå®è»žã«æ®ããã®ã¯æ¬¡ã®2ç¹ã§ãã è±å¯ãªUIã³ã³ããŒãã³ããæäŸãããŠããããš iOSãšã³ãžãã¢åºèº«ã®èªåã«ãšã£ãŠãåŠç¿ã³ã¹ããé«ãããªãããš å®ã¯Î±çã§ã¯ Tamagui ãæ¡çšããŠããŸããããã ãβçã§UIã»UXããã«ãªãã¥ãŒã¢ã«ããããšã決ãŸããããèŠä»¶ã«åèŽããã©ã€ãã©ãªãæ¹ããŠæ¢ãããšã«ã ãã©ãçããã®ããéžå®è»ž2ç¹ããã£ããæºãã HeroUI Native ã§ãã ããã§äžã€é ãæ©ãŸããã®ããæ¡çšã決ããåœæïŒ2026幎1ã2æé ïŒã®HeroUI NativeããŸã βçã ã£ãããšãå©çšã«ãã£ãŠèª²é¡ãé¡åšåãããªã¹ã¯ãæ±ããŠã®å€æã«ãªããŸãïŒâ»çŸåšã¯stableçãæäŸãããŠããŸãïŒã ããã§æ¡ã£ã工倫ãããHeroUI Nativeã®Wrapper Componentãå®è£
ããç»é¢åŽããã¯çŽæ¥HeroUI Nativeã«è§Šããªãæ§æãã«ããããšã 圱é¿ç¯å²ãWrapperå±€ã«éã蟌ããŠããã°ãå°æ¥ã®å·®ãæ¿ãã仿§å€æŽãžã®èæ§ã確ä¿ã§ãããβçOSSãæ¡çšããéã®ãªã¹ã¯ãããžãšããŠãæå¹ãªåã®äžã€ã ãšæããŠããŸãã React Nativeã«å¯Ÿãããªã¢ã«ãªææ ç«ã¡äžããã¯ãAIæä»£ã§ãæ³å以äžã«èŠåŽãã React Nativeãéžãã çµæãšããŠççŽã«æããã®ã¯ããAIæä»£ãšèšãã©ç«ã¡äžããã«ã¯ãããªãã«èŠåŽããããšããããšã å®ã¯10幎ã»ã©åã«å°ãã ãReactã«è§Šããããšããã£ãã®ã§ãããReact HooksãLifecycleã«çžåœããèãæ¹ã¯ã»ãŒååŠè
ã®ç¶æ
ãæŠå¿µã®ååŠç¿ãå¿
èŠã§ããã ãŸããTypeScriptããSwiftãšäŒŒãŠéãªããã®ãã§ããããšãçæããŸãã åã«ããå®å
šæ§ãšããææ³ã¯è¿ããã®ã®ã as ã«ãããã£ã¹ãã enum ããã¹ããã©ã¯ãã£ã¹ãšããŠã¯éæšå¥šãšãããŠããç¹ãªã©ãSwiftæèŠã§æžããšè¶³ããããããå Žé¢ãå°ãªããããŸããã äžæ¹ã§ãReact Nativeèªäœã«å¯ŸããããŒãã«ã¯ããã»ã©æããŸãããçç±ã¯æ¬¡ã®2ã€ã§ãã 宣èšçUIã«ããUIæ§ç¯ã¯ãSwiftUIã§çµéšããŠãã ããã·ã¥éç¥ãªã©ãã¢ãã€ã«åºææ©èœã®ä»çµã¿ãã®ãã®ãçè§£ããŠãã LTäŒã§ã¯ãã©ããã£ãŠReact Nativeãå匷ãããïŒããšãã質åãããã ããŸãããåã£ãã¢ãããŒãã¯ãéå»ã«Swiftã§éçºããŠããå人ã¢ããªãReact Nativeã§æžãçŽããŠã¿ããšãããã®ã 顿ãäžããèããã«æžãäžã«ãSwiftçãšããçãåããã®å¯Ÿè±¡ãããç¶æ
ã§é²ãããããããSwiftUIãšã®å
±éç¹ãå·®åãäœæããªããåŠã¹ãŸãã ããããŠå®æã§ããã®ã¯ãReact Nativeãéžãã§ããã¢ãã€ã«ãšã³ãžãã¢ãšããŠã®çµéšã匷ã¿ã¯ååã«æŽ»ããããšããããšã§ãã OSS掻çšã§æããããš OSS掻çšã®é¢ã§ãã幟ã€ãå°è±¡çãªæ°ä»ãããããŸãã 1ã€ã¯ãOSSã®æŽæ°é床ã®éãã§ãã React / React Nativeçéã¯æŽæ°ãµã€ã¯ã«ãæ©ããiOS Nativeãšã®æåã®éããèã§æããŸãã å ããŠãèåŒ±æ§æ€ç¥ãªã©ã®ãšã³ã·ã¹ãã ãæŽã£ãŠãããéçºè
äœéšãšããŠè¶³ããã«ãªã£ãŠããªãç¹ãå¿åŒ·ããšããã§ãã ãã1ã€ã¯ãExpoã®å©äŸ¿æ§ãžã®é©ãã§ãã Expoã¯React Nativeçéã§ã¯ããã¡ã¯ãã¹ã¿ã³ããŒããšèšããç«å Žã確ç«ããŠãããä¿¡é Œæ§ãé«ããèšŒææžããªãªãŒã¹åšããšãã£ããã¢ãã€ã«ã¢ããªéçºãªãã§ã¯ãã®ç¥èãæåãã«ããŒããŠãããŸãã ããã¯ãWebããã³ããšã³ããšã³ãžãã¢ãã¢ãã€ã«ã¢ããªéçºã«åå
¥ããããŒãã«ãçžåœäžããŠãããšèšã£ãŠè¯ãã§ãããã å®éãWebããã³ããšã³ããšã³ãžãã¢ã®æ¹ãããReact Nativeã£ãŠå®éã©ããªã®ïŒããšèãããéã¯ãExpoã®ãããã§ãã¢ãã€ã«ã¢ããªéçºã¯æ³å以äžã«å§ããããããšçããããšãã§ããŠããŸãã AIæä»£ã«ãä»ããReact Nativeãããæå³ æåŸã«ç»å£ã®äžã§ã¯æéã®éœåã§èžã¿èŸŒããªãã£ãè«ç¹ã«ã€ããŠæžããŠãããŸãã ããã¯ããAIæä»£ã«ãä»ããReact Nativeãããããšã«æå³ã¯ããã®ãïŒããšããåãã§ãã å人çã«ã¯ãå°ãªããšã次ã®3ç¹ã§æå³ããããšèããŠããŸãã 1ã€ç®ã¯ãiOSãšAndroidãåæã«ç«ã¡äžããäžã§ãOSéã®å·®åã«åãåãçµéšãç©ããããšã§ãã Cross Platformãšèšãã©ãããã·ã¥éç¥ãèªèšŒãOSã®äœæ³ãšãã£ãé åã§ã¯å·®åãå¿
ãé¡ãåºããŸãã AIã«ä»»ããã°æžããæä»£ã ãããããå·®åã®åæãèªåã®äžã«æã£ãŠãããã©ãããå¹ããŠãããšèããŠããŸãã 2ã€ç®ã¯ãã¢ãŒããã¯ãã£éžå®ãOSSéžå®ãšãã£ãããããã¯ãã®åå°ãäœã倿ãçµéšã§ããããšã§ãã ãŒãããã¢ãã€ã«ã¢ããªãç«ã¡äžããæ©äŒã¯ããå€ããªãããäœãéžãã§ãäœãéžã°ãªãã£ããããèªåã®èšèã§èªããããã«ãªãçµéšã¯ãAIæä»£ã§ãè²è€ªãã«ããè³ç£ã ãšæããŠããŸãã 3ã€ç®ã¯ãWebããã³ããšã³ããžã®è¶³æããã«ãªãããšã§ãã React Nativeã§ReactãTypeScriptãæžããŠããæéã¯ããã®ãŸãŸWebããã³ããšã³ãã®åŠç¿ã³ã¹ããåæãããŠãããšèšãããããããŸããã ãã®ãããã¢ãã€ã«ãšã³ãžãã¢ãšããŠWebããã³ããšã³ããžé åãåºããã人ã«ãšã£ãŠãReact Nativeã¯èªç¶ãªå
¥ãå£ã«ãªããšæããŸãã ïŒãã¡ãããWebããã³ããšã³ããšã³ãžãã¢ãšããŠãã¢ãã€ã«ã¢ããªãžé åãåºããã人ã«ãšã£ãŠãåæ§ã§ããïŒ ãŸãšã Findyåã®ã¢ãã€ã«ã¢ããªéçºãéããŠãReact NativeãOSSã®éžå®ãšå®è£
ã§å€ãã®ç¥èŠãåŸãããšãã§ããŸããã åãã¯æ
£ããªãReact Nativeã«åèŠå
«èŠããããšããããŸããããäžåºŠæ
£ããŠããŸãã°ãã¢ãã€ã«ãšã³ãžãã¢ãšããŠã®åŒ·ã¿ãååã«æŽ»ããããšãã§ãããšå®æããŸããã AIæä»£ã«ãããŠã¯ã人ãã¬ãŒãã¬ãŒã«ãšããŠãœãããŠã§ã¢ã®è²¬ä»»ãèè² ãå Žé¢ããŸããŸãå¢ããŠãããŸãã ãã®èгç¹ã§èŠãŠããReact Nativeã¯ãAIæä»£ã«ã人ã責任ãåããæè¡ããšããŠååã«éžå®ã«èããããšèããŠããŸãã ã¢ãã€ã«ã¢ããªã®æè¡éžå®ã«è¿·ã£ãŠããæ¹ããiOS/Androidã®çµéšã掻ãããŠReact Nativeã«èžã¿åºãããšããŠããæ¹ã¯ããã²äžåºŠè§Šã£ãŠã¿ãŠãã ããã æ¬èšäºããã®äžæ©ãèžã¿åºããã£ããã«ãªãã°å¹žãã§ãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ã ãã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ããã¯ãªãŒããããŒãžã£ãŒãããããŠããã£ãŠããæžç°ã§ãã ãAI掻çšãæšé²ãããããæãããã«é²ãŸãªããââãã®æ©ã¿ãæ±ããŠãããšã³ãžãã¢ã®æ¹ã¯ãå°ãªããªãã®ã§ã¯ãªãã§ããããã ãã¡ã€ã³ãã£ãäŸå€ã§ã¯ãããŸããã§ããã2025幎ã®äžåæãŸã§ã¯ãæ®æ®µã®æ¥åãããã€ã€çæéã§AIã®ãã£ããã¢ããã瀟å
å±éãé²ããŠããŸããã ä»åã¯ãããããæœ®ç®ãå€ãããã£ãããšãªã£ã決æãšããã®åŸ1人ãããã®ãã«ãªã¯ãšã¹ãäœææ°ãå幎æ¯ã§çŽ1.5åã«ãªããŸã§ã®éçšã玹ä»ããŸãã åãããã«AI掻çšã®æšé²ã«æå¿ãã®ãªããæããŠããæ¹ã®åèã«ãªãã°å¹žãã§ãã çæéã§è¿œããããéç 1ã€ã®å°ããªæ±ºæ æåã«ãã£ãããšïŒFindy Team+ã§çŸç¶ãç¥ã Claude Code Pluginsã§å±éãä»çµã¿åãã ç¶ç¶çãªæµžéïŒæ¯æ¥ã®éç¥ãšæäžã®å
±æ çµæïŒPRäœææ°ãå幎æ¯ã§çŽ1.5åã« æ¯ãè¿ã£ãŠæ°ã¥ããããš ãŸãšã çæéã§è¿œããããéç 2025幎ã®äžåæãŸã§ããã¡ã€ã³ãã£ã®éçºçµç¹ã§ã¯èå³ã𿿬²ã®ãããšã³ãžãã¢ããæ®æ®µã®ãããã¯ãéçºãšäžŠè¡ããŠãææ°ã®ååããã£ããã¢ãããã䜿ããããªããŒã«ã瀟å
ã§å
±æããŠããŸããããããã"çæé"ã§é²ããã¹ã¿ã€ã«ã§ãã æåã®ãã¡ã¯ãããã§ãåã£ãŠããŸãããããããæ¬¡ç¬¬ã«ãã®ããæ¹ã§ã¯è¿œãã€ããªããªã£ãŠãããŸããã çç±ã¯åçŽã§ã AIã®ã¢ããããŒããå€ããã ããã§ãã ã»ãŒæ¯æ¥ã®ããã«ã¢ããããŒããå
¬éãããæ°ãããšãŒãžã§ã³ããæ©èœãç»å Žãããäžåæã®åã°ãããããããã£ããã¢ããã«å
ãŠãæéãã©ãããŠãè¶³ããªããšããæèŠã匷ããªã£ãŠãããŸããã åªåã§å·»ãè¿ããã¬ãã«ã®é
ãã§ã¯ãªããç©éçã«äž¡ç«ãäžå¯èœãªç¶æ
ã«è¿ã¥ããŠããŸããã 1ã€ã®å°ããªæ±ºæ ãã®ç¶æ³ãåããããã«åã£ã1ã€ã®æ±ºæãã ãAIæšé²ã ããå°ä»»ã§æ
ãããžã·ã§ã³ãäœãã ãšãããã®ã§ããã ãã®äººãæ®æ®µã®ãããã¯ãéçºæ¥åããå€ããAIæšé²ãã®ãã®ãæ¥åã«ãããå
Œåã§æéãå¢ããã®ã§ã¯ãªããæ¥åããå€ããŠå
šæ¯ããããšããçºæ³ãžã®åãæ¿ããããã®ããžã·ã§ã³ã®æ¬è³ªã§ãã ãã®å€æã®èæ¯ã«ã¯ã ãå
šå¡ãæ¥åã®10%ãAIæšé²ã«å
ãŠããããã1人ã100%ãå
ãŠãã»ããçµç¹ãšããŠã®åé²éã¯å€§ããã ãšãã確信ããããŸããã å
Œåã¹ã¿ã€ã«ã§åèªãå°ããã€åã圢ã§ã¯ãæ¥ã
ã®AIã¢ããããŒãã®é床ã«ã¯è¿œãã€ããªããä»®ã«è¿œãã€ãããšããŠãããããã䜿ã£ãŠã¢ãŠãã«ã ãåºãããŸã§ãé ãããŸãããäžæ¹ã1人ãå°ä»»ã§å
šåã§ã³ãããã§ããã°ãæ
å ±ã®éçŽã»æ€èšŒã»ç€Ÿå
å±éãæéã®ã¹ããŒãã§åãããšå€æããŸããã AIæšé²ããžã·ã§ã³ã®ãšã³ãžãã¢ã®ä»äºã¯ãAI掻çšãšçµç¹ãžã®å±éãã®ãã®ãæ¥ã
ã®ãããã¯ãéçºã¿ã¹ã¯ã¯ååæãããAIé¢é£ã®åå調æ»ã»æ€èšŒã»ç€Ÿå
å±éã»ä»çµã¿åã«éäžããŠããã圢ã«ããŸããã ãããã¯ãéçºã®æãæžããããšã«å¯ŸããŠã¯ãåœç¶ãªãã瀟å
ã§ãèè€ããããŸãããããã§ãèžã¿åããã®ã¯ãçæéã§ç¶ããŠããå幎éãéããŠãå
Œåã§ã¯çµ¶å¯Ÿã«è¿œãã€ããªããšãã確信ããã£ãããã§ãã æåã«ãã£ãããšïŒFindy Team+ã§çŸç¶ãç¥ã å°ä»»ããžã·ã§ã³ã眮ããŠããæåã«åãçµãã ã®ã¯ã掟æãªæœçãã¹ãã«äœæãªã©ã§ã¯ãªãçŸç¶ææ¡ã§ããã çµç¹å
šäœã®AI掻çšãæšé²ãããšãã£ãŠããæèŠã ãã§åããšèªèã®ã®ã£ãããçãŸããŸããããã§ãFindy Team+ã䜿ã£ãŠããŒã åäœã»ã¡ã³ããŒåäœã§AI掻çšã®åºŠåããå¯èŠåãããšããããå§ããŸããã ããã§ããã£ãã®ã¯ãæ³å®ããŠããããAIã®æ©æµãåããããŠããªãããšããäºå®ã§ããã ããå°ãæãäžãããšãããŒã ãäºæ¥éšããšã«AIã®æŽ»çšåºŠåãã«æç¢ºãªå·®ããããåã圹å²ã®ãšã³ãžãã¢ã§ã䜿ã£ãŠããã¹ãã«ã»ãšãŒãžã§ã³ãã«ã°ãã€ããããããšãèŠããŠããŸããããã䜿ããŠãã人ã®å·¥å€«ããä»ã®ã¡ã³ããŒã«èªç¶ã«ã¯äŒãã£ãŠããªãç¶æ
ã§ãã çµç¹ãšããŠå
šå¡ã§åºäžããããŠããã®ã§ã¯ãªããäžéšã®ç±éã®é«ãã¡ã³ããŒãå
è¡ããŠããç¶æ
ã ã£ãããšããã®ãåœæã®å§¿ã§ããã Claude Code Pluginsã§å±éãä»çµã¿åãã çŸç¶ææ¡ã§ããã£ãã¹ãã«ã»ãšãŒãžã§ã³ãã®ã°ãã€ããåããããã«éžãã æã¡æããClaude Codeã®Pluginsæ©èœã䜿ã£ã瀟å
å±éã§ãã Pluginsæ©èœã«ã€ããŠã¯ä»¥åã®èšäºã§ã玹ä»ããŠããŸãã tech.findy.co.jp Claude Codeã®Pluginsã¯ãã¹ãã«ã»ãšãŒãžã§ã³ãã»ã«ã¹ã¿ã ã³ãã³ãã»åçš®èšå®ãªã©ã1ã€ã®ããã±ãŒãžãšããŠé
åžã§ããä»çµã¿ã§ããAIæšé²ã®ãšã³ãžãã¢ãäœæããéçºçšã¹ãã«ãªã©ããã©ã°ã€ã³ãšããŠã€ã³ã¹ããŒã«å¯èœã«ããŠããã°ãåã¡ã³ããŒãèªåã®ç°å¢ã§ã³ãã³ã1ã€ã§äœ¿ããç¶æ
ã«ãªããŸãã ãã®ä»çµã¿ã«ä¹ããããšã§ã䟿å©ãªã³ãã³ããéçºæšæºåã®ã¹ãã«ãªã©ããã®ãŸãŸéçºçµç¹å
šäœã«é
åžã§ããããã«ãªããŸãããæ°ããå
¥ã£ãã¡ã³ããŒã忥ãããã¡ã€ã³ãã£ã®AI掻çšã®æ©æµãåããããããã«ãªã£ãŠããŸãã å®éã«ããã¡ã€ã³ãã£ã®éçºçµç¹ã§éçšããŠããã¹ãã«ã»ãšãŒãžã§ã³ãã®äžéšã¯ã次ã®èšäºã§ã玹ä»ããŠããŸãã tech.findy.co.jp tech.findy.co.jp tech.findy.co.jp ããããå人ã®å·¥å€«ãšããŠå§ãŸã£ããã®ãããã©ã°ã€ã³åããŠå
šå¡ã«é
åžã§ãã圢ã«ãããã®ã§ãã ç¶ç¶çãªæµžéïŒæ¯æ¥ã®éç¥ãšæäžã®å
±æ ãã©ã°ã€ã³ãé
åžãããšãããŸã§äœã£ãŠããæŽæ°ãç¥ã£ãŠããããªããã°æ¬¡ç¬¬ã«å¿ããããŠããŸããŸããããã§ãã¡ã€ã³ãã£ã§ã¯ãé
åžã®ä»çµã¿ã«å ããŠãæŽæ°ãèªç¶ãšç®ã«å
¥ãç¶æ
ãä¿ã€å·¥å€«ã䞊è¡ããŠèµ°ãããŠããŸãã 1ã€ç®ã¯ããã©ã°ã€ã³ã®æŽæ°å
容ãSlackã®å°çšãã£ã³ãã«ã«æ¯æ¥éç¥ããä»çµã¿ã§ããæ°ãã远å ãããã¹ãã«ããã¢ããããŒããããã³ãã³ããç¿æ¥ã«ã¯ç®ã«å
¥ãç¶æ
ã«ããŠããããšã§ããã€ã®éã«ãå€ãã£ãŠããã§ã¯ãªãã仿¥ãããªæ©èœã远å ããããšããé®®åºŠã§æ
å ±ãæµéããŸãã 2ã€ç®ã¯ãæäžã®ãšã³ãžãã¢å®äŸã®ãªãã«ããã©ã°ã€ã³ãAI掻çšã®äœ¿ãæ¹ãå
±æããæéãèšããããšã§ããããã¥ã¡ã³ãã ãã§ã¯æŽã¿ãããªããã¥ã¢ã³ã¹ãã¡ãã£ãšããã³ããå£é ã§æµãå ŽãšããŠãæã£ã以äžã«æ©èœããŠããŸãã ãã©ã°ã€ã³ãšããåå°ã«å ããŠãéç¥ãšå®äŸãšããç¶ç¶çãªé²åºããã®çµã¿åããããAI掻çšãäžéšã®ã¡ã³ããŒã ãã§éãããããçµç¹å
šäœã«æµžéãããåã«ãªã£ãŠããŸãã çµæïŒPRäœææ°ãå幎æ¯ã§çŽ1.5åã« ããããåãçµã¿ãé²ããçµæã 1人ãããã®ãã«ãªã¯ãšã¹ãäœææ°ã¯å幎æ¯ã§çŽ1.5å ã«ãªããŸããã AI掻çšãé²ãã 宿ãšãããããŸããªèšèã§ã¯ãªããéçºã®ã¢ãŠãããããã®ãã®ãå®éçã«äŒžã³ãããšããã®ã倧ããªãã€ã³ãã§ãã ãã¡ããããã«ãªã¯ãšã¹ãäœææ°ã¯éçºã®é床ãã¹ã¿ã€ã«ã®ææšã®1ã€ã«éããŸãããããã§ããçµç¹ãšããŠã®å€åãæ°åãšããŠèŠããç¶æ
ã«ãªã£ãããšèªäœããAI掻çšã®ã©ãã«æè³ãã¹ãããè°è«ãã倧ããªåå°ã«ãªããŸããã æ¯ãè¿ã£ãŠæ°ã¥ããããš å幎ã»ã©åãçµãã§æ°ã¥ããã®ã¯ãå°ä»»ã眮ããããä»»ããããã§ã¯æãç«ããªããšããããšã§ãã å°ä»»1人ã§ãã¹ãŠãèè² ãæ§é ã«ãããšããã®äººèªèº«ãããã«ããã¯ãšãªã£ãŠããŸããŸããå°ä»»ã®åœ¹å²ã¯ãèªåããã¹ãŠãå®è¡ããããšã§ã¯ãªããçµç¹ã®AI掻çšãåã«é²ããããã®ä»çµã¿ãã€ããããšã çŸå Žã®ãšã³ãžãã¢ã»ãããŒãžã£ãŒãèªèµ°ããããã®åå°ãæŽããã¿ããªã§è¯ãããŠãããšããã¹ã¿ã³ã¹ãéèŠã ãšæããŸããã ãŸãšã ãã¡ã€ã³ãã£ã®AIæŽ»çšæšé²ã¯ãç¹å¥ãªããŒã«ã倧ããããªå¶åºŠæ¹é©ã§ã¯ãªãããAIæšé²ã ããå°ä»»ã§æ
ãããžã·ã§ã³ãäœãããšããã·ã³ãã«ã§å°ããªæææ±ºå®ããå éããŸããã ããããå°ä»»ãåãçµãã ã®ã¯ãFindy Team+ã䜿ã£ãçŸç¶ææ¡ãClaude Code Pluginsã䜿ã£ãã¹ãã«ã»ãšãŒãžã§ã³ãã®ç€Ÿå
å±éããããŠSlackéç¥ãšæäžå®äŸã«ããç¶ç¶çãªæµžéã ããããæŽŸæãã¯ãããŸãããããããã®ç©ã¿éãã«ãã£ãŠã1人ãããã®ãã«ãªã¯ãšã¹ãäœææ°ãå幎æ¯ã§çŽ1.5åã«ãªããŸã§ã®å€åãçã¿åºãããšãã§ããŸããã AI掻çšã¯äžæ¥ã«ããŠæãããå°ããªæææ±ºå®ãå°éãªåãçµã¿ã®ç©ã¿éãããçµç¹å
šäœã®å€§ããªå€åã«ã€ãªããããšã宿ããŠããŸãã å
šå¡ã10%ãã€AIæšé²ã«å
ãŠããããã1人ã100%ãå
ãŠãããã®çºæ³ã®è»¢æãããã¡ã€ã³ãã£ã®AI掻çšãåããåååã«ãªã£ãŠããŸãã AI掻çšãæãããã«é²ãŸãªããšæããŠããçµç¹ã®è²¬ä»»è
ã®æ¹ãããã°ãå¶åºŠãç ä¿®ãèããåã«ãå°ä»»ã眮ãïŒæ¥åããå€ãïŒãšããéžæè¢ãæ€èšããŠã¿ãŠãã ããã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ããã¯ãªãŒããããŒãžã£ãŒãããããŠããã£ãŠãæžç°ã§ãã ãã¡ã€ã³ãã£ã§ã¯Claude Codeã®ã¹ãã«ãã«ã¹ã¿ã ã³ãã³ããªã©ãPluginsçµç±ã§ç€Ÿå
å±éããŠããŸãã tech.findy.co.jp ã³ãŒãã¬ãã¥ãŒãã¿ã¹ã¯åè§£ãšãã£ãéçºæ¥åã®å¹çåãé²ãäžæ¹ã§ãç»å£æºåã¯ãŸã æäœæ¥ã®å²åã倧ããé åã§ãã話ãå
容ãåºããŠãæ§æãèããŠãã¹ã©ã€ãã«èœãšã蟌ãã§ããã¶ã€ã³ãæŽããŠâŠâŠãçºè¡šã®æ¬è³ªã¯ãäœãäŒãããããªã®ã«ãæºåå·¥çšã«æéã奪ãããã¡ã§ãã æ¬èšäºã§ã¯ããã®èª²é¡ã«å¯ŸåŠããããã«ç€Ÿå
Pluginsã«äœã£ãç»å£ã¹ã©ã€ãçæã¹ãã«ã玹ä»ããŸãã壿ã¡ã«ããã³ã¢ã¡ãã»ãŒãžã®èšèªåããMarkdownã¹ã©ã€ãçæãGoogle Slidesãžã®ãšã¯ã¹ããŒããŸã§ãäžæ°é貫ã§è¡ãããã®ã§ã壿ã¡ãã宿ãŸã§30åã§çµããããã«ãªããŸããã ç»å£æºåã«ãããæéã®å
èš³ NotebookLMã詊ããŠæããéç Claude Codeã¹ãã«ãšããéžæè¢ ã¯ãŒã¯ãããŒã®å
šäœå 壿ã¡ãã§ãŒãºïŒã³ã¢ã¡ãã»ãŒãžã®èšèªå ãã³ãã¬ãŒãèšèšïŒçºè¡šæéããéç®ããã¹ã©ã€ãææ° Google Slides API ãã³ãã¬ãŒãã³ããŒæ¹åŒ Markdownããã¹ã©ã€ããžã®å€æã«ãŒã« ãã¶ã€ã³ã¬ã€ãã©ã€ã³ã®çµã¿èŸŒã¿ 70ç¹ã®å®æåºŠã§åºãå²ãåã ãŸãšã ç»å£æºåã«ãããæéã®å
èš³ ç»å£æºåã®ã©ãã«æéãããã£ãŠããããæ¯ãè¿ããšãã¹ã©ã€ãã®ãã¶ã€ã³ãé
眮ãããããã®æåã®å·¥çšã倧ããããšã«æ°ã¥ããŸãã ååã¯ãäœã話ãããã®æŽçã§ãã話ãããããšã¯ãŒãããããããã©ãã³ã¢ã¡ãã»ãŒãžãäžæã«ãŸãšããã®ãé£ãããæ§æã決ããŠãããã®æµãã§èŽè¡ã«äŒãããïŒããšäžå®ã«ãªã£ãŠäœåºŠãçµã¿æ¿ããããããäžçªæéãé£ããŸãã åŸåã¯ã¹ã©ã€ãã®äœæãšãªããŒãµã«ã§ããããããæ§æãåºãŸã£ãŠããä»åºŠã¯ã¹ã©ã€ãããŒã«ãéããŠãã©ãŒãããããã¶ã€ã³ãšæ Œéãããååããå¹çåã§ããã°ãçºè¡šå
容ãã®ãã®ã®è³ªãäžããæéã«äœ¿ããã¯ãã ãšèããŸããã NotebookLMã詊ããŠæããéç æåã«è©Šããã®ã¯Googleã®NotebookLMã§ããããœãŒã¹è³æãèªã¿èŸŒãŸããŠã¹ã©ã€ããçæã§ããæ©èœããããæåŸ
ããŠäœ¿ã£ãŠã¿ãŸããã ãã ãå®éã«äœ¿ã£ãŠã¿ããšããã€ãå£ããããŸãããåºåãPDFãç»å圢åŒã®ãããçæåŸã®ç·šéãé£ããç¹ã§ããã¹ã©ã€ãã®é çªãå
¥ãæ¿ããããããã¹ããä¿®æ£ããããšãã£ãåºæ¬çãªæäœãã§ãããçµå±ãŒãããäœãçŽã矜ç®ã«ãªããŸããã ããäžã€ã¯ã瀟å
ã®ã¹ã©ã€ãã¬ã€ãã©ã€ã³ã«æ²¿ã£ãåºåãéåžžã«é£ããã£ãããšã§ãããã©ã³ããã«ã©ãŒã¹ããŒã ãããŽã®é
眮ãªã©ã¯çµç¹ããšã«ã«ãŒã«ããããŸããæ±çšçãªAIããŒã«ã§ã¯ãããŸã§å¶åŸ¡ã§ãããã¬ã€ãã©ã€ã³ã«æºæ ãããããã®æäœæ¥ãçºçããŠããŸããã Claude Codeã¹ãã«ãšããéžæè¢ ãããã®èª²é¡ãèžãŸããŠãClaude Codeã®ã«ã¹ã¿ã ã¹ãã«ãšããŠç»å£ã¹ã©ã€ãçæã¯ãŒã¯ãããŒãèªäœããŸãããClaude Codeã¹ãã«ãéžãã çç±ã¯ã察話çãªã¯ãŒã¯ãããŒãèªç¶ã«çµããããšãMarkdownã§äžéåºåã§ããããšããããŠAPIãå©ããŠå€éšãµãŒãã¹ã«é£æºã§ããããšã®3ç¹ã§ãã éçºããã®ã¯2ã€ã®ã¹ãã«ã§ãã1ã€ç®ãMarkdownã¹ã©ã€ãã®çæã2ã€ç®ãGoogle Slidesãžã®å€æãæ
ããŸãã ã¯ãŒã¯ãããŒã®å
šäœå ã¹ãã«ãå®è¡ãããšãæ¬¡ã®æµãã§åŠçãé²ã¿ãŸãã åèURLãã³ãŒãã¹ããããã®åéïŒä»»æïŒ 壿ã¡ã§ã³ã¢ã¡ãã»ãŒãžãèšèªå ã¿ã€ãã«ã»æŠèŠã»çºè¡šæéã®å
¥å ãã³ãã¬ãŒãã«åºã¥ãæ§æèšèš Markdownã¹ã©ã€ãã®çæ Google Slidesãžã®ãšã¯ã¹ããŒãïŒä»»æïŒ åãã§ãŒãºã詳ããèŠãŠãããŸãã 壿ã¡ãã§ãŒãºïŒã³ã¢ã¡ãã»ãŒãžã®èšèªå ãã®ã¹ãã«ã§æãåãå
¥ããã®ã壿ã¡ãã§ãŒãºã§ããç»å£æºåã§äžçªæéããããã®ã¯ãäœãäŒãããããåºããå·¥çšã ããã§ãã ã¹ãã«ãèµ·åãããšããŸã察象ãªãŒãã£ãšã³ã¹ïŒããã¯ãªãŒããã·ãã¢ãšã³ãžãã¢ãEMãªã©ïŒãéžæããŸããæ¬¡ã«ãçºè¡šå
容ã¯ãã§ã«æ±ºãŸã£ãŠããŸããïŒããšèãããããŸã æŒ ç¶ãšããŠããããéžã¶ãšå£æã¡ã¢ãŒãã«å
¥ããŸãã ? ã¹ã©ã€ãã«åã蟌ã¿ããURLãã³ãŒãã¹ããããã¯ãããŸããïŒïŒä»»æïŒ > ãªã ? 察象ãªãŒãã£ãšã³ã¹ãæããŠãã ããïŒè€æ°éžæå¯ïŒ ãšã³ãžãã¢ç³»: â ããã¯ãªãŒã â ã·ãã¢ãšã³ãžã㢠ãããžã¡ã³ãç³»: â EM ? çºè¡šå
容ã¯ãã§ã«æ±ºãŸã£ãŠããŸããïŒ > ãŸã æŒ ç¶ãšããŠããïŒäžç·ã«èãããïŒ ã©ããªçºè¡šããããã§ããïŒããŒãã話ãããããšãäŒãããããšã èªç±ã«æããŠãã ããããŸã æŒ ç¶ãšããŠããŠã倧äžå€«ã§ãã 壿ã¡ã¯æ¬¡ã®é åºã§é²ã¿ãŸãã ã³ã¢ã¡ãã»ãŒãžã®ç¢ºå® â ããã®çºè¡šã§äžçªäŒãããããšãã1æã«çµã éç®ã«ããæ§æèšèš â ã³ã¢ã¡ãã»ãŒãžãçµè«ãšããŠãèŽè¡ãçŽåŸããããã«å¿
èŠãªæ
å ±ãéé ã«ç©ã¿äžãã ã¿ã€ãã«ã»æŠèŠã®æ±ºå® â æ§æãåºãŸã£ãåŸã«ãã³ã¢ã¡ãã»ãŒãžãäŒããã¿ã€ãã«ãèãã ãã€ã³ãã¯ãéç®ããšããã¢ãããŒãã§ããçµè«ããé¡ã£ãŠæ§æãçµãããšã§ãã話ãããããšãå
šéšè©°ã蟌ãã ãã©çµå±äœãèšãããã®ãããããªãããšãããããã倱æãé²ããŸãã å®éã®ããåãã¯ãããªæãã§ãã > çæAIæä»£ã®ãšã³ãžãã¢è²æã«ã€ããŠè©±ããããã§ããã©ã ãŸã åãå£ãå®ãŸã£ãŠãªã㊠ãšã³ãžãã¢è²æÃçæAIã§ãããããã¯ãªãŒããEMåããªã®ã§ã çŸå Žã®ãªã¢ã«ãªèª²é¡æãæ±ããããŸãã AIå°å
¥åŸã«è²æé¢ã§äžçªå€åãæããã®ã¯ã©ãã§ããïŒ åŠç¿é床ãã³ãŒãã®è³ªããããšãããŒã ã®çç£æ§ã§ããããïŒ > AIå°å
¥åŸã«ã·ãã¢ã®çç£æ§ã¯äžãã£ããã§ããã è¥æã®ã¢ãŠããããã®è³ªããããèœã¡ãŠããŠã AIã®åºåããã®ãŸãŸäœ¿ã£ãŠããŸã£ãŠãçè§£ã远ãã€ããŠãªãæãã§ã ãªãAIã®åºåããã®ãŸãŸäœ¿ã£ãŠããŸããçè§£ã远ãã€ããŠããªããšæããŠããŸããïŒ > AIãåºåããã³ãŒããçè§£ããã«ã¬ãã¥ãŒäŸé Œããã±ãŒã¹ãå¢ããŠããŠã çµæçã«ãªãŒãã¿ã€ã ãæªåããŠããããšã¯ããã£ãã AIæä»£ã®ä»ã ããããåç¹ååž°ãå¿
èŠã ãªãã»ã©ãã€ãŸããçæAIæä»£ã ãããããšã³ãžãã¢ã®åºç€åã®äŸ¡å€ã äžãã£ãŠãããAIã"䜿ã"åŽã«ç«ã€ã«ã¯åç¹ååž°ãå¿
èŠãã ãšããããšãäžçªäŒãããããšããçè§£ã§åã£ãŠããŸããïŒ > ã¯ã Claudeãã³ã¢ã¡ãã»ãŒãžã1æã«èšèªåããŠãããã®ã§ã察話ã§å£æã¡ãé²ããããŸããã³ã¢ã¡ãã»ãŒãžã確å®ãããšãéç®ã§æ§æãçµãã ããã§ãŸãšããæç€ºããŠãããŸãã 壿ã¡ã®çµæããŸãšããŸããïŒ ã¿ã€ãã«æ¡: çæAIæä»£ã®ãšã³ãžãã¢è²æ â å€ããæä»£ãšå€ãããªãã³ã æŠèŠ: çæAIã®å°å
¥ã§ã·ãã¢ã®çç£æ§ã¯äžãã£ãããè¥æã®ã¢ãŠãããã㮠質ã¯äœäžããŠãããAIãåºåããã³ãŒããçè§£ããã«ã¬ãã¥ãŒäŸé Œãã ã±ãŒã¹ãå¢ããçµæçã«ãªãŒãã¿ã€ã ãæªåãåºç€ç¥èãªãAI掻çšã¯ ãAIã«äœ¿ãããŠãããç¶æ
ã§ãããä»ããåç¹ååž°ãå¿
èŠã ãšæ°ã¥ãã å®äœéšãå
±æããã ã³ã¢ã¡ãã»ãŒãž: çæAIæä»£ã ãããããšã³ãžãã¢ã®åºç€åã®äŸ¡å€ã äžãã£ãŠãããAIã"䜿ã"åŽã«ç«ã€ã«ã¯åç¹ååž°ãå¿
èŠã ? ãã®ãŸãšãã§ã¹ã©ã€ãçæã«é²ã¿ãŸããïŒ > é²ã ãã³ãã¬ãŒãèšèšïŒçºè¡šæéããéç®ããã¹ã©ã€ãææ° ã¹ãã«ã«ã¯3çš®é¡ã®ãã³ãã¬ãŒããçšæããŸããã standard â 20ã60åã®ã«ã³ãã¡ã¬ã³ã¹ããŒã¯åããèæ¯âæ¬é¡âãã¢âãŸãšãã®çéæ§æ lt â 5ã10åã®Lightning Talkåãããçµè«ãã¡ãŒã¹ããã§1ç¹çªç Ž tutorial â 30ã40åã®ãã³ãºãªã³åããæé ããšã«æ€èšŒã¹ããããæã çºè¡šæéãéžã¶ãšããã³ãã¬ãŒããèªåéžæãããŸãã5åã10åãªãLTãã³ãã¬ãŒãã15ã20åãªãstandardã30å以äžã§ãã³ãºãªã³åœ¢åŒãªãtutorialã§ãã ã¹ã©ã€ãææ°ã¯ã1å1æããåºæºã«ç®åºããŠããŸãã20åã®çºè¡šãªã15ã20æãã»ã¯ã·ã§ã³ããšã®é
åã¯ãèæ¯10ã15%ãã¡ã€ã³ã³ã³ãã³ã50ã60%ããã¢15ã20%ããŸãšãã»Q&Aã§æ®ããšããå²åã§èªåé
åãããŸãã ? çºè¡šæéãéžæããŠãã ãã > 20å ãã³ãã¬ãŒã: standardïŒã«ã³ãã¡ã¬ã³ã¹ããŒã¯åãïŒãèªåéžæããŸãã ç®æšã¹ã©ã€ãææ°: 15ã20æ æ§æãèšèšããŠããŸã... ? ã¹ã©ã€ãã«åã蟌ã¿ããURLãã³ãŒãã¹ããããã¯ãããŸããïŒïŒä»»æïŒ > https://tech.findy.co.jp/entry/2026/02/20/070000 URLã®å
容ãååŸããŠããŸã... â ååŸå®äº: https://tech.findy.co.jp/entry/2026/02/20/070000 â èŠç¹ãæœåºããèæ¯ã»ã¡ã€ã³ã³ã³ãã³ãã®ã»ã¯ã·ã§ã³ã«åæ ããŸã â åèè³æã¹ã©ã€ãã«ãªã³ã¯ã远å ããŸã Google Slides API Markdownã§çæããã¹ã©ã€ããGoogle Slidesã«å€æããã¹ãã«ãéçºããŸãããGoogle Slides APIãå®è¡ããŠãããOAuth2èªèšŒã§ãŠãŒã¶ãŒã®Googleã¢ã«ãŠã³ãã«çŽã¥ããŠããŸãã developers.google.com ? Google Slidesã«ãšã¯ã¹ããŒãããŸããïŒ > ãšã¯ã¹ããŒããã Google Slidesã«ãšã¯ã¹ããŒãããŠããŸã... â ãšã¯ã¹ããŒããå®äºããŸãã URL: https://docs.google.com/presentation/d/1abc.../edit ãã³ãã¬ãŒãã³ããŒæ¹åŒ ä»åã¯äŒç€Ÿã®ã¹ã©ã€ããã¹ã¿ãŒïŒãã³ãã¬ãŒãïŒãGoogle Drive APIçµç±ã§ã³ããŒããããã«ã¹ã©ã€ãã远å ããŠããæ¹åŒãæ¡çšããŸããããã³ãã¬ãŒãã«ã¯è¡šçŽã»äžæã»è©³çްããŒãžã®ã¬ã€ã¢ãŠããå®çŸ©ãããŠãããMarkdownã®èŠåºãã¬ãã«ã«å¿ããŠé©åãªã¬ã€ã¢ãŠããéžæããŸãã Markdownããã¹ã©ã€ããžã®å€æã«ãŒã« Markdownã®ããŒã¹çµæã¯ãèŠåºãã¬ãã«ãšããã£ã®æç¡ã§ã¹ã©ã€ãã®çš®é¡ãèªååé¡ããŠããŸãã Markdownã®ãã¿ãŒã³ ã¹ã©ã€ãã®çš®é¡ ãã¶ã€ã³ # ã¿ã€ãã« è¡šçŽ èæ¯ç»åãã ## èŠåºã + æ¬æãã 詳现ããŒãž èæ¯ç»åãã ## èŠåºã ã®ã¿ïŒæ¬æãªãïŒ ã»ã¯ã·ã§ã³åºåã ã°ã¬ãŒèæ¯ + çœæå ## ã®äžã« ### ã®å°èŠåºããå«ãŸããå Žåã¯ãèªåçã«ã»ã¯ã·ã§ã³åºåã1æ + å°èŠåºãããšã®è©³çްããŒãžã«å±éããŸããããšãã°ãAIæä»£ã®å°æ¥ãšå€åãã®äžã«ãå€ãã£ãããšããå€ãããªãã£ãããšãã®2ã€ã® ### ãããã°ãèš3æã®ã¹ã©ã€ãã«åå²ãããŸãã ãã¶ã€ã³ã¬ã€ãã©ã€ã³ã®çµã¿èŸŒã¿ äŒç€Ÿæå®ã®ã¹ã©ã€ãã¬ã€ãã©ã€ã³ãã¹ãã«ã®å®çŸ©ãã¡ã€ã«ã«çŽæ¥èšè¿°ããŠããŸãããã©ã³ããã«ã©ãŒãã¬ããããµã€ãºãšãã£ãã«ãŒã«ãã¹ãã«ã®äžã§æã¡ããšã¯ã¹ããŒãæã«åèŠçŽ ã«é©çšããŸãã 70ç¹ã®å®æåºŠã§åºãå²ãåã éçšäžãéèŠã«ããŠããã®ã¯ã70ç¹ã®å®æåºŠã§äžçºåºåããæ®ãã¯äººéãä»äžããããšããå²ãåãã§ãã AIã100ç¹ã®ã¹ã©ã€ããäœãã®ã¯çŸç¶é£ããã§ãããç®æãå¿
èŠããªããšèããŠããŸããã¹ã©ã€ãã®å®æåºŠã70ç¹ãã100ç¹ã«ããã®ã¯äººéã®ææ§ãå¿
èŠãªéšåã§ããéã«ã0ç¹ãã70ç¹ã®å·¥çšïŒæ§ææ±ºããããã¹ãé
眮ããã©ãŒãããçµ±äžïŒã¯AIã®åŸæåéã§ãã ãã®åæ¥ã«ããæéã§ã壿ã¡15å + ã¹ã©ã€ãçæ5å + æå調æŽ10å = 30åãã§ç»å£æºåãå®äºããããã«ãªããŸããã ãŸãšã ä»å玹ä»ããã¹ãã«ã§äœæãããã¹ã©ã€ãããã¡ãã§ãã ç»å£æºåã®å·¥çšãClaude Codeã¹ãã«ã§äžæ°é貫ã«ããããšã§ã壿ã¡ãã宿ãŸã§30åçšåºŠã§çµãããŸããã ãã®ã¹ãã«ã®äŸ¡å€ã¯ãã¹ã©ã€ããèªåçæããããšãèªäœã§ã¯ãªãããã³ã¢ã¡ãã»ãŒãžã®èšèªåãå¯Ÿè©±ã§æ¯æŽããããšãã«ããç¹ã§ããç»å£æºåã§æ¬åœã«æéããããã®ã¯æ§æããã¶ã€ã³ã§ã¯ãªãããèªåãäœãäŒããããããæŽçããå·¥çšã ã£ãã®ã ãšãã¹ãã«ãéçºããéçšã§æ¹ããŠå®æããŸããã ç»å£ã®æ©äŒããããšã³ãžãã¢ã®æ¹ã¯ããã²ææŠããŠã¿ãŠãã ããã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ããã¯ãªãŒããããŒãžã£ãŒãããŠããæžç°ã§ãã 2026幎4æ15æ¥ã«ãFindy AI Meetup in Fukuoka #5ãçŠå²¡ã§éå¬ããŸããã ä»åã®ããŒãã¯ãAIÃè²æ AIæä»£ã®ãšã³ãžãã¢è²æãã§ãã ãã®èšäºã§ã¯ãåœæ¥ã®ç»å£å
å®¹ãæ¯ãè¿ããªãããçæAIæä»£ã«ããããšã³ãžãã¢è²æã§ç§ãã¡ãçŽé¢ãã課é¡ãšãããããèŠããŠãããå€ãããªã倧åãªããšãã玹ä»ããŸãã https://findy-inc.connpass.com/event/383906/ findy-inc.connpass.com åœæ¥åå ãã ãã£ãã¿ãªããŸãããããšãããããŸããïŒ Findy AI Meetup in Fukuokaã«ã€ã㊠ç»å£å
容 æ°ã¡ã³ããŒã®ããã«ãã·ãã¢ãšã³ãžãã¢ãç°å¢ãäœãæä»£ ãšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒãPull requestãäœãããã«ãªã£ã Pull requestã®å質ã課é¡ã« AIæä»£ã®ã·ãã¢ãšã³ãžãã¢ãã§ããããš çæAIæä»£ã®ãšã³ãžãã¢è²æ â å€ããæä»£ãšå€ãããªãã³ã çæAIã§ã³ãŒãã®äœãæ¹ãå€ãã£ã çŸå Žã§èµ·ããé説 AIã«ã䜿ããããã®ã§ã¯ãªãã䜿ãã åç¹ååž° â åºç€åã®äŸ¡å€ãäžãã£ãŠãã ææ¥ãã詊ããã¢ã¯ã·ã§ã³ AIã®åºåãå¿
ãæ€èšŒããç¿æ
£ãã€ãã åºç€ç¥èãäœç³»çã«ã€ã³ããããã ãAIã«èãåã«å
¬åŒããã¥ã¡ã³ããèªããæéãæèçã«äœã ããŒã ã®éçºã«ãŒã«ããšãŒãžã§ã³ãã¹ãã«ãã«ã¹ã¿ã ã€ã³ã¹ãã©ã¯ã·ã§ã³ã«èœãšã蟌ã ãŸãšã Findy AI Meetup in Fukuokaã«ã€ã㊠Findy AI Meetupã¯ããã¡ã€ã³ãã£ã®ãšã³ãžãã¢ãäž»å¬ããæè¡ç³»ãªãã©ã€ã³ã€ãã³ãã§ãã çæAIãAIãšãŒãžã§ã³ãã®æŽ»çšãéããéçºçç£æ§ã®åäžãããŒãã«ã瀟å
ã§ã®å®è·µäºäŸã®ç޹ä»ããšã³ãžãã¢å士ã®äº€æµãç®çãšããŠããŸãã çŠå²¡ã§ã®éå¬ã¯ä»åã§5åç®ãšãªããŸãããåãéããããšã«åå è
å士ã®é¡ãªãã¿ãå¢ããçŠå²¡ã®ãšã³ãžãã¢ã³ãã¥ããã£ãšããŠæ ¹ä»ããŠããããšã宿ããŠããŸãã ç»å£å
容 æ°ã¡ã³ããŒã®ããã«ãã·ãã¢ãšã³ãžãã¢ãç°å¢ãäœãæä»£ 1ã€ç®ã®ç»å£ã¯ãããã³ããšã³ããšã³ãžãã¢/ããã¯ãªãŒãã®æ°çŠãæ
åœããŸããã ãšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒãPull requestãäœãããã«ãªã£ã çæAIã®æ®åã«ããããšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒã§ãã³ãŒããæžããããã«ãªããŸããã ãã¡ã€ã³ãã£ã§ã¯ããã¶ã€ããŒãClaude Codeã䜿ã£ãŠUIããã¥ã¡ã³ããäœæããããPdMãCursorã§ã¢ãã¯ãäœæãããšãã£ãäºäŸã確èªããŠããŸãã çŽè¿ã§ã¯ããšã³ãžãã¢ãBizã¡ã³ããŒåãã«Notion MCPãçšããæ±äººç¥šæ¹åããŒã«ãéçºããŸããã tech.findy.co.jp å®ã¯ãã®è©±ã«ã¯ãŸã ç¶ãããããŸãããã°ãããããšãä»åºŠã¯Bizã¡ã³ããŒãèªåã§ããã³ãããä¿®æ£ãããšã³ãžãã¢ã«Pull requestãéãããã«ãªã£ãã®ã§ãã ã³ããããPull requestã®äœãæ¹ã誰ãã«æãã£ãããã§ã¯ãããŸãããAIãã£ããã«èããªããæäœããPull requestãäœãäžããŠããŸãããAIãã£ãããéçºã®å
¥å£ãšãªãæä»£ããã®æ³¢ã¯æ¢ã«ãšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒã«ãå±ããŠããŸãã Pull requestã®å質ã課é¡ã« äžæ¹ã§ãã³ãããã¡ãã»ãŒãžã®ãã©ãŒããããåœåèŠåãªã©ãéçºã«ãŒã«ãç¥ããªããŸãŸäœãããPull requestã«ã¯å質é¢ã§ã®èª²é¡ããããŸãããã¬ãã¥ã¢ãŒã®è² æ
ãå¢ããææã®ãã³ã«ææ»ããçºçãããããªäºæ
ã¯é¿ãããã§ãã ãã®è§£æ±ºçãšããŠã¯ããšãŒãžã§ã³ãã¹ãã«ã®æŽåãæå¹ãšèããããŸãã AIãã£ããããèªç¶èšèªã§ãšãŒãžã§ã³ãã¹ãã«ãåŒã³åºãã ãã§ã誰ã§ãéçºã«ãŒã«ã«æºæ ããPull requestãäœæã§ããŸãã AIæä»£ã®ã·ãã¢ãšã³ãžãã¢ãã§ããããš ã·ãã¢ãšã³ãžãã¢ã¯ãããŸã§ãç¥èãèšèªåããŠäŒããããšãã³ãŒãã¬ãã¥ãŒã«ããå質æ
ä¿ããã¢ããã§ã®æå°ãšãã£ã圢ã§ãããŒã ã®åè³ªãšæé·ãæ¯ããŠããŸããã ãããã®åœ¹å²ã¯åŒãç¶ãéèŠã§ãããAIæä»£ã¯ããã«å ããŠã«ã¹ã¿ã ã€ã³ã¹ãã©ã¯ã·ã§ã³ããšãŒãžã§ã³ãã¹ãã«ã®æŽåãªã©ãã·ãã¢ãšã³ãžãã¢ã®ä»äºã«ãªããšæãããŸãã 誰ã§ãåå ã§ããä»çµã¿ãäœãããšã¯ãæããçžæãéžã°ãªãè²æã€ã³ãã©ã®æ§ç¯ã«ã€ãªãããŸããå
¥ç€Ÿ1é±ç®ã®æ°ã¡ã³ããŒã忥ããã³ã³ããªãã¥ãŒã·ã§ã³ãäœéšãããäœãäœãããããã«éäžã§ããç°å¢ãæŽããããšââãããAIæä»£ã®ã·ãã¢ãšã³ãžãã¢ã®æ°ãã圹å²ãšãªããããããŸããã çæAIæä»£ã®ãšã³ãžãã¢è²æ â å€ããæä»£ãšå€ãããªãã³ã 次ã«ããã¯ãªãŒããããŒãžã£ãŒã®æžç°ãæ
åœããŸããã çæAIã§ã³ãŒãã®äœãæ¹ãå€ãã£ã çæAIã®ç»å Žã«ãã£ãŠãéçºã®é²ãæ¹ã¯å€§ããå€ãããŸãããã調ã¹ãâ詊ããã ã£ãããã»ã¹ããAIã«èãâã³ãããã«å€ãããè©°ãŸãæéã¯æ¿æžããŸããã åºæ¬çãªç¥èããªããŠãåãã³ãŒããæè»œã«åºããããã«ãªã£ãäžæ¹ã§ãå
¬åŒããã¥ã¡ã³ãããAIãžã®åãåãããå
ã«ãªããã¡ã§ãããªãåãã®ãããç¥ããã«å®è£
ããæ©äŒãå¢ããŠããŸããã çŸå Žã§èµ·ããé説 AIå°å
¥åŸãã·ãã¢ãšã³ãžãã¢ã®ã¢ãŠããããéã¯å¢ããŠããŸããããããè¥æãšã³ãžãã¢ã«ã€ããŠã¯éã®çŸè±¡ãèµ·ããŠããŸããã Pull requestã®è³ªãèœã¡ãAIãåºåããã³ãŒããçè§£ããã«ã¬ãã¥ãŒäŸé Œãåºãã±ãŒã¹ãå¢ããã®ã§ãããã®çµæã¬ãã¥ãŒã³ã¡ã³ããå¢ããã¬ãã¥ãŒè² æ
ãäžæãããªãŒãã¿ã€ã ã¯æªåããŠããŸããã ããŒã¿ã«ã§èŠããšãããŒã å
šäœã®çç£æ§ã¯ãã»ã©å€ãã£ãŠããªãã£ãã®ã§ãããAIã§å¹çåã§ããããšãã宿ãšã®ã®ã£ãããããã«ã¯ãããŸããã AIã«ã䜿ããããã®ã§ã¯ãªãã䜿ãã ãã®ç¶æ³ãæŽçãããšãè¥æãšã³ãžãã¢ã®äžéšã¯AIã«ã䜿ãããŠãããç¶æ
ã§ããã AIãåºåããã³ãŒããæ£ãããã©ããã倿ã§ãããééãã«æ°ã¥ããªããŸãŸã¬ãã¥ãŒãäŸé Œããããã«ã·ããŒã·ã§ã³ãèŠæããã誀ã£ãå®è£
ãããŠããŸããAIã«æ£ããæç€ºãåºããªããããäœã£ãŠãã ããããšããèšãããæå³ãšç°ãªãã³ãŒããåºãŠããã ã䜿ããç¶æ
ã¯ãã®éã§ããèªåã®æå³ã«æ²¿ã£ãŠAIãåããããæ£èª€ã倿ã§ããããééãããã®å Žã§åŒŸãããæ£ããæç€ºãåºããããæå³éãã®åºåãåŸãããã ãã®éããåããã®ã¯ããšã³ãžãã¢ãšããŠã®åºç€åã§ãã åºç€ç¥èããªããã°ãæ£èª€å€å®ãæ£ããæç€ºãã§ããŸãããåããã®ãäœãã¬ãã«ã¯ãAIã«äœ¿ãããŠãããç¶æ
ã§ãããæ£ããæ¹æ³ãšæé ã§äœãã¬ãã«ããAIã䜿ããç¶æ
ã§ãã åç¹ååž° â åºç€åã®äŸ¡å€ãäžãã£ãŠãã çæAIæä»£ã ãããããåºç€åã®äŸ¡å€ã¯ãããäžãã£ãŠããŸããåºç€ç¥èã座åŠãè³æ ŒååŸãšãã£ããäžèŠãããšå°å³ãªåãçµã¿ãéèŠæ§ãå¢ããŠããã®ã§ãã ãã¡ã€ã³ãã£ã§ã¯ãåºæ¬æ
å ±æè¡è
詊éšçžåœä»¥äžã®è³æ ŒãååŸããããšãæšå¥šããŠããŸããåºãæµ
ãåºç€ç¥èãäœç³»çã«ç¿åŸã§ãããšããç¹ã§ãã³ã¹ããã¿ã€ããé«ãåŠç¿æ¹æ³ã§ããåæ Œããå Žåã¯åéšæãäŒç€Ÿãè² æ
ããå¶åºŠãçšæããŠããŸãã åºç€åãã€ããšAIã®åºåã«å¯Ÿããæ£èª€å€å®ã®è³ªãšã¹ããŒããäžãããã¬ãã¥ãŒåã®ã»ã«ããã§ãã¯ã§åé¡ã朰ããããã«ãªããŸãããã«ã·ããŒã·ã§ã³ãèŠæããããã«ãªãããäœãããããããšæ°ã¥ããæèŠã身ã«ä»ããŸãã ããã«ãAIã«æ£ããæ¹æ³ãšæé ã§æç€ºãåºããããã«ãªããããã¬ãã¥ãŒã§ã®è°è«ãèšèšãããã©ãŒãã³ã¹ãUI/UXãšãã£ãæ¬è³ªçãªå
容ã«ãªããŸãã ä»åã®ç»å£ãšè³æãçããã®åèã«ãªããšå¹žãã§ãã â ææ¥ãã詊ããã¢ã¯ã·ã§ã³ â ææ¥ãã詊ããã¢ã¯ã·ã§ã³ ç»å£å
容ãèžãŸããŠãææ¥ããå®è·µã§ããããšãæŽçããŸããã AIã®åºåãå¿
ãæ€èšŒããç¿æ
£ãã€ãã AIãçæããã³ãŒãããã®ãŸãŸã³ããããã®ã§ã¯ãªããããã®ã³ãŒãã¯äœãããŠããããããªããã®å®è£
ãªã®ãããèªåã®èšèã§èª¬æã§ããã確èªããŠããã¬ãã¥ãŒã«åºããŸãããã説æã§ããªãã³ãŒãã¯ã¬ãã¥ãŒã«åºãã¹ãã§ã¯ãããŸããã åºç€ç¥èãäœç³»çã«ã€ã³ããããã åºæ¬æ
å ±æè¡è
詊éšã®ææã¯ããããã¯ãŒã¯ãããŒã¿ããŒã¹ãã»ãã¥ãªãã£ãã¢ã«ãŽãªãºã ãªã©ãéçºã®åå°ãšãªãç¥èãåºãã«ããŒããŠããŸããè³æ ŒååŸãã®ãã®ãç®çã§ã¯ãªããAIã®åºåãæ£ããè©äŸ¡ããããã®ãç©å·®ãããæã«å
¥ããããšãç®çã§ãã ãAIã«èãåã«å
¬åŒããã¥ã¡ã³ããèªããæéãæèçã«äœã ãã¹ãŠãAIçµç±ã«ããã®ã§ã¯ãªãããŸãå
¬åŒããã¥ã¡ã³ãã§åºæ¬ãçè§£ããããã§AIãæŽ»çšããããšããé åºãæèããã ãã§ãã³ãŒãã®ç解床ã¯å€§ããå€ãããŸãã ããŒã ã®éçºã«ãŒã«ããšãŒãžã§ã³ãã¹ãã«ãã«ã¹ã¿ã ã€ã³ã¹ãã©ã¯ã·ã§ã³ã«èœãšã蟌ã ã·ãã¢ãšã³ãžãã¢ãæã€æé»ç¥ãä»çµã¿ãšããŠæŽåããããšã§ãæ°ã¡ã³ããŒããšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒã§ãéçºã«ãŒã«ã«æºæ ããPull requestãäœããããã«ãªããŸãããæããããããä»çµã¿ã§æ¯ããããžã®è»¢æã§ãã ãŸãšã ä»åã®Findy AI Meetup in Fukuoka #5ã§ã¯ãAIæä»£ã®ãšã³ãžãã¢è²æãšããããŒãã§2ã€ã®ç»å£ãè¡ããŸããã ç»å£ãéããŠäŒãããã£ãã®ã¯ãAIæä»£ã§ç°å¢ã¯å€§ããå€ãã£ãããå€ãããªãããšããããšããããšã§ãã æãåãããæ±ããããç©ã¿éããåºç€ãšçµéšã¯çµ¶å¯Ÿã«è£åããŸãããåæã«ãã·ãã¢ãšã³ãžãã¢ããšãŒãžã§ã³ãã¹ãã«ãã«ã¹ã¿ã ã€ã³ã¹ãã©ã¯ã·ã§ã³ãšãã£ãä»çµã¿ãæŽåãã誰ã§ãéçºã«åå ã§ããç°å¢ãäœãããšãéèŠã§ãã AIæä»£ã ããããã®åç¹ååž°ãšããŠããšã³ãžãã¢ãšããŠã®åºç€åãéããŠãããŸãããã Findy AI Meetup in Fukuokaã¯ä»åŸãç¶ç¶ããŠéå¬ããŠãããŸããçŠå²¡ã®ãšã³ãžãã¢ã®çãããšãªãã©ã€ã³ã§ã€ãªããããã®å Žããããããã倧åã«ããŠãããããšæã£ãŠããŸãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ïŒãã¡ã€ã³ãã£ã§ãããã¯ãéçºéšã®VPoEãããŠãã æµç° ã§ãã AIé§åéçºã浞éãããªãã§ããšã³ãžãã¢1人ãããã®éçºèœåã¯å€§ããåäžããŠããŸããããããåŸæ¥ã®ããŒã åäœã®ã¢ãµã€ã³æ¹åŒã®ãŸãŸã§ã¯ããã®ããã³ã·ã£ã«ãååã«åŒãåºããŠããªããšæããŠããŸããã ãã®èšäºã§ã¯ãç§ãã¡ãéçºããã»ã¹ããããŒã åäœããããå人åäœãã®ã¢ãµã€ã³ãžç§»è¡ããèæ¯ãšããã®çµæåŸãããå€åã«ã€ããŠç޹ä»ããŸããAIé§åéçºãåãå
¥ãããã®ã®ãããŒã ã®éçºããã»ã¹ãã©ãå€ããã¹ããæ©ãã§ããæ¹ã«åããå
容ã§ãã ãããŸã§ã®éçºããã»ã¹ AIé§åéçºã§èŠããŠããèª²é¡ å人ã¢ãµã€ã³æ¹åŒãžã®ç§»è¡ å人ã®ãªãŒããŒã·ãããé«ãã æè¡æ¹åãé²ã¿ããããªã£ã ãŸãšã ãããŸã§ã®éçºããã»ã¹ ãã¡ã€ã³ãã£ã®ãããã¯ãéçºéšã«ã¯è€æ°ã®éçºããŒã ãããããããã5åååŸã®ãšã³ãžãã¢ã«PdMãšãã¶ã€ããŒãå ããæ§æã§ãååããªãããããã¯ãéçºãé²ããŠããŸãã ãããŸã§ã®éçºããã»ã¹ã§ã¯ãæœçéçºãããŒã ã«ã¢ãµã€ã³ããã¡ã³ããŒãããããåªå
床ã®é«ãã¿ã¹ã¯ããã¬ãã·ãã«ã«åã£ãŠããã¹ã¿ã€ã«ã§éçšããŠããŸããã1ã€ã®æœçéçºãããŒã ã«ã¢ãµã€ã³ãããšãçµæçã«4åçšåºŠã®ãšã³ãžãã¢ãéäžããŠåãçµã¿ãäžæ°ã«éçºãå®äºããããšããé²ãæ¹ã§ããããã°ãããŒå¹çãéèŠããéçºã¹ã¿ã€ã«ã§ãæãåªå
床ã®é«ãæœçãæéã§å®äºãããããšã«æ³šåããŠããŸããã ãã®æ¹åŒã¯ããŒã ã®é£æºãçãŸãããããããŸãæ©èœããŠããŸãããè€æ°äººãåãæœçã«åãçµãããšã§ãèšèšã®è°è«ããã®å Žã§çãŸããããå®è£
äžã«è©°ãŸã£ããšããããã«çžè«ã§ããããšãããŒã ã§åãããããã®åŒ·ã¿ããããŸããã AIé§åéçºã§èŠããŠããèª²é¡ AIé§åéçºã®å°å
¥ã«ããããšã³ãžãã¢1人ãåæã«æ±ããéçºéã¯å¢ããŸãããã¿ã¹ã¯åè§£ããããªã£ãŠäŸåé¢ä¿ããæç¢ºã«ã§ããã°ãããªãã®æ°ã®ã¿ã¹ã¯ãAIãšãŒãžã§ã³ãã«æž¡ããŠäžŠåã§é²ããããšãå¯èœã§ããå ããŠããããŸã§ã¯ãã£ããã¢ããã«æéãããã£ãŠãããããªãèªèº«ã®ç¿ç床ãäœãæè¡ã¹ã¿ãã¯ã®éšåã§ãã£ãŠããAIãããŒãããŒã«ããŠèªåã§éçºãé²ããããããã«ãªããŸããã ãããããããŒå¹çãéèŠããåŸæ¥ã®ã¹ã¿ã€ã«ã§ã¯ããã®AIã®ããã³ã·ã£ã«ãååã«åŒãåºããŸããã§ãããè€æ°ã®ãšã³ãžãã¢ã§1ã€ã®æœçãåæ
ããŠããç¶æ
ã§ã¯ãäžäººã²ãšããæã€ã¿ã¹ã¯ã®ç²åºŠã¯ãã§ã«çްãããªã£ãŠããŸããããããããã«ã¿ã¹ã¯ãåè§£ããŠè€æ°ã®AIãšãŒãžã§ã³ãã«äžŠåã§ä»»ããã®ã¯é£ãããAIã®åœ¹å²ã¯ãããŸã§å¯æçžŠå£«ãšããŠã®è£å©ã«ãšã©ãŸã£ãŠããŸããã å ããŠãã¿ã¹ã¯ã®ã¢ãµã€ã³ãæç¢ºã«æ±ºãããæã空ãã人ããåªå
床ã®é«ãã¿ã¹ã¯ãåã£ãŠããã¹ã¿ã€ã«ã§ã¯ãèªåããã®å
ã©ã®ã¿ã¹ã¯ãæ
åœããããèŠéããŸãããå
ã®èšç»ãç«ããªã以äžãAIãšãŒãžã§ã³ãã«å
åãããŠã¿ã¹ã¯ãæž¡ããŠäžŠåã§é²ããŠãããããšãã§ãããçµå±ã¯ç®ã®åã®1ã€ã®ã¿ã¹ã¯ãAIãšäžç·ã«ããªãã ãã«ãªã£ãŠããŸããŸãã å人ã¢ãµã€ã³æ¹åŒãžã®ç§»è¡ ããã§ãæœçéçºãåã
ã®ãšã³ãžãã¢ã«ãŸãããšã¢ãµã€ã³ããæ¹åŒãžãšåãæ¿ããŸããã 1äººãæœçå
šäœãæ
åœããããšã§ãã¿ã¹ã¯ã®åè§£ãšèšç»ãèªåã®è£éã§è¡ããããã«ãªããŸããã©ã®éšåãAIãšãŒãžã§ã³ãã«äžŠåã§ä»»ããã©ã®éšåãèªåã§æãåããããäºåã«æŽçã§ããã®ã§ãAIãå¯æçžŠå£«ã§ã¯ãªããè€æ°ã®äœæ¥ãåæã«é²ããããŒãããŒãšããŠæŽ»çšã§ããããã«ãªããŸããã å
·äœçã«ã¯ãClaude Codeã®ãããªèªåŸåãšãŒãžã§ã³ããçšããŠè€æ°ã®ã¯ãŒã«ãŒãç«ã¡äžããŸãããããŠãããã³ã³ããŒãã³ãã®å®è£
ããã¹ãã³ãŒãçæããããã«äžŠåã§é²ããããªãããèªèº«ã¯å
šäœã®èšèšããªãŒã±ã¹ãã¬ãŒã·ã§ã³ã«éäžããããšãã£ãåãæ¹ã§ãã ãã®ã1人ã®ãšã³ãžãã¢ãè€æ°ã®AIãšãŒãžã§ã³ããææ®ãããå
·äœçãªã¯ãŒã¯ãããŒã«ã€ããŠã¯ã以äžã®èšäºã§è©³ãã解説ããŠããŸãã®ã§ãããããŠã芧ãã ããã tech.findy.co.jp ãããŒå¹çãéèŠããŠããé ãšæ¯ã¹ããšãæãåªå
床ã®é«ãæœçãå®äºãããŸã§ã®é床ã¯äœäžããŸãã4åã§éäžããŠåãçµãã§ãããã®ã1åã§æ
åœããã®ã§ããããããã¯åœç¶ã®ãã¬ãŒããªãã§ãããããããšã³ãžãã¢éã®ã³ãã¥ãã±ãŒã·ã§ã³ã³ã¹ããæžãããšããAIã«ããã¢ãŠããããéãšé床ã®åäžã«ããã倧ããäœäžãããããšãªãéçºãé²ããããŠããŸããããã«ã2çªç®ã3çªç®ã«åªå
床ã®é«ãæœçãå¥ã®ãšã³ãžãã¢ã䞊è¡ããŠéçºãé²ãããããåã
ã®æœçã«ãããæéãå»¶ã³ãŠããçµæãšããŠããå€ãã®æœçãçŽ æ©ããªãªãŒã¹ã§ããããã«ãªããŸããã å®éã«ããã®å€åã¯å®éçãªææšã«ãæç¢ºã«è¡šããŠããŸãã以äžã®ã°ã©ãã¯ç޹ä»ãã倿Žãè¡ãªã£ãéçºããŒã ã®PRïŒãã«ãªã¯ãšã¹ãïŒäœææ°ã®æšç§»ã§ãããå人ã¢ãµã€ã³ãžã®ç§»è¡ãæ¬æ Œçã«é²ãã2026幎2æäžæ¬ä»¥éãPRæ°ãæç¢ºã«äžæ®µå¢ããŠããããšãããããŸããå人ã®ããã³ã·ã£ã«ãåŒãåºãã¢ãããŒãããéçºããŒã å
šäœã®ã¢ãŠããããæå€§åã«ç¹ãã£ã圢ã§ãã äžæ¹ã§ãããŒã å
šäœã®ãŸãšãŸããšããæå³ã§ã¯å€åããããŸããããããŸã§ã®ããã«å
šå¡ã§1ã€ã®éçºã«éäžããå Žé¢ã¯æžããã©ã¡ãããšãããšåã
ã®éãŸãã«è¿ã圢ã«ãªã£ãŠããŸãã ãã ããããŒã ãšããŠã®é£æºãå®å
šã«ææŸããããã§ã¯ãããŸãããããšãã°èšèšã®æ¹éã«é¢ãã倿ã¯ãåäººã§æ±ããããŒã ã§è°è«ããŠããé²ããããã«ããŠããŸãããå®è£
ã«ã€ããŠããå±äººåããé²ãããã«ãã«ãªã¯ãšã¹ããããŸãã«åå²ããŠã¬ãã¥ãŒãåãããã»ã¹ãç¶æããŠããŸããããã«ãåèªãäœã«åãçµãã§ãããã宿çã«å
±æããå Žãèšããããšã§ããäºãã®ç¶æ³ãèŠããªããªãããšãé¿ããŠããŸããã€ãŸããããŒã ãšããŠã®ååããªããªã£ãã®ã§ã¯ãªãããã®é¢ããæ¹ãå€ãã£ããšããã®ãæ£ç¢ºãªè¡šçŸã§ãã å人ã®ãªãŒããŒã·ãããé«ãã AIæä»£ã ãããããå人ãç®ç«ãããããšãéèŠã ãšèããŠããŸãã ããŒã ã®äžå¡ãšããŠéçºã«åå ããã ãã§ã¯ãåã
ã®ãšã³ãžãã¢ã®è²¢ç®ãèŠãã«ãããªããŸããæ¥µç«¯ã«èšãã°ãAIã«ä»£æ¿ãããããããžã·ã§ã³ã«ãªã£ãŠããŸãå¯èœæ§ããããŸããå人ããªãŒããŒã·ãããæã¡ããããã¯èªåããã£ãããšèªä¿¡ãæã£ãŠèšããç¶æ
ãã€ããããšãããšã³ãžãã¢ãšããŠã®äŸ¡å€ãé«ããããšã«ã€ãªãããšæã£ãŠããŸãã å人ã¢ãµã€ã³ã«ç§»è¡ããããšã§ãåãšã³ãžãã¢ãæ
åœããæœçã«å¯ŸããŠåœäºè
æèãæã£ãŠåãçµãããã«ãªããŸãããèšèšã®æææ±ºå®ãããªãªãŒã¹ãŸã§ãäžè²«ããŠæ
ãããšã§ãæœçå
šäœãèªåããšãšããŠæããå§¿å¢ãèªç¶ãšçãŸããŠããŸãããŸããããŒã ã§éçºããŠããé ã¯ã©ãããŠãçªå£ãããŒã ãªãŒããŒã«éäžããã¡ã§ããããæœçããšã«å人ãã¢ãµã€ã³ããŠãããããã¡ã³ããŒãããããPdMãäºæ¥ã¡ã³ããŒãšçŽæ¥ãããšãããããªãããã«ãªããŸããããã®çµæãæœçã®èæ¯ããªãªãŒã¹åŸã®å¹æã«å¯Ÿããæèãäžãããªã©ãè¯ã广ãåºãŠããŸãã ããã¯ãããžã¡ã³ãã®èгç¹ããã奜ãŸããå€åã§ããã誰ãã©ã®æœçãæšé²ããŠããããæç¢ºã«ãªãã®ã§ãææã®å¯èŠåã«ãã€ãªãããŸããããŒã ã®äžã§åãããã®ã§ã¯ãªããäžäººã²ãšãã®ä»äºãèŠããç¶æ
ãã€ããããšãããšã³ãžãã¢ã®ã¢ãããŒã·ã§ã³ã«ããã圱é¿ãäžããŠãããšæããŠããŸãã æè¡æ¹åãé²ã¿ããããªã£ã å人ã¢ãµã€ã³ã«åãæ¿ããããšã§çãŸãããã1ã€ã®å€åãšããŠãæè¡çãªæ¹åãé²ã¿ããããªã£ãããšããããŸãã ããŒã å
šäœã§æœçéçºã«éäžããŠããé ã¯ãæè¡æ¹åããªãã¡ã¯ã¿ãªã³ã°ã¯ã©ãããŠãåŸåãã«ãªããã¡ã§ãããå人ã«ã¢ãµã€ã³ããã圢ã«ãªã£ãããšã§ãèªåã®è£éã§æ¹åã¿ã¹ã¯ãå·®ã蟌ã¿ããããªããŸãããå®éã«ã以åã¯ãªããªãæãã€ããããªãã£ãã©ã€ãã©ãªã®ã¢ããããŒãããã¹ãã®æŽåãšãã£ãå°éãªæ¹åããåãšã³ãžãã¢ã®å€æã§çå®ã«é²ãããã«ãªã£ãŠããŸãã ããŒã ãšããŠããªãœãŒã¹é
åãæç¢ºã«ããŸãããæœçéçºãæ¹åããã®ä»ã®å²åã7:2:1ãšå®ããããšã§ãã2å²ã®ãªãœãŒã¹ã¯æè¡æ¹åã«äœ¿ããããšããå
±éèªèãçãŸããæ¹åæŽ»åã«åãçµã¿ãããç°å¢ãæŽã£ãŠããŸãã ãŸãšã ãããŒå¹çãéèŠããããŒã éçºãããAIã®ããã³ã·ã£ã«ãåŒãåºãå人ã¢ãµã€ã³ãžãšéçºããã»ã¹ãç§»è¡ããŸãããåã
ã®æœçãå®äºãããŸã§ã®é床ã¯äžãããã®ã®ãAIãšãŒãžã§ã³ããæŽ»çšãã䞊åéçºã«ãã£ãŠããŒã å
šäœã®ã¢ãŠããããã¯ãããå¢å ããå®éã«PRæ°ã«ããã®å€åã衚ããŠããŸããå ããŠãå人ã®ãªãŒããŒã·ãããé«ãŸããæè¡æ¹åã«ãæãåãããã«ãªããŸããã ããŒã ã®ãŸãšãŸããèãããªã¹ã¯ã¯ãããŸãããèšèšå€æã®è°è«ãã¬ãã¥ãŒãšãã£ã飿ºãã€ã³ããæèçã«æ®ãããšã§ãã©ã³ã¹ãåã£ãŠããŸããAIé§åéçºãæšé²ãããªãã§éçºããã»ã¹ã®èŠçŽããæ€èšããŠããæ¹ã®åèã«ãªãã°å¹žãã§ãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ã ãã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§Findy AI+ã®éçºãããŠããdanã§ãã Findy AI+ ã¯ãAIããŒã«ãå°å
¥ããããã©ãå®éã«ã©ãããã广ãããã®ããšããåãã«å¯ŸããŠå®éçã«çããããã®åæã¯ãŒã¯ãããŒãæ°ãã«ãªãªãŒã¹ããŸããã ä»åã¯ããããã®ã¯ãŒã¯ãããŒã䜿ã£ãŠå®éã«ã©ã®ãããªç€ºåãåŸãããã®ãã«ã€ããŠå®è·µåœ¢åŒã§ç޹ä»ããŸããAIããŒã«ãå°å
¥ãããã®ã®å¹æãèŠãã¥ãããšæããŠããEMãPdMãããŒã ã®æŽ»çšç¶æ³ãææ¡ããããšã³ãžãã¢ã®æ¹ã«åããŠãMCPãµãŒããŒãšGitHub Actionsããããã§ã®å®è¡æé ãšãåæçµæããããŒã ã®æ¹åãã€ã³ããèŠã€ãããŸã§ã®æµãã玹ä»ããŸãã Findy AI+ãšã¯ éçºããŒã ã§åæããŠã¿ã AIç°å¢æŽåã³ãããå±¥æŽåæïŒMCPãµãŒããŒçµç±ïŒ AIãšäººã®PRäœæéæ¯çåæïŒGitHub Actionsçµç±ïŒ Findy AI+ã®åæã¯ãŒã¯ãããŒã«ã€ã㊠åæã¯ãŒã¯ãããŒã§ã§ããããš GitHub Actionsã§åæãèªåå ãããã« Findy AI+ãšã¯ Findy AI+ ã¯ãGitHub飿ºãããã³ããæç€ºãéããŠçæAIã¢ã¯ãã£ããã£ãå¯èŠåããçæAIã®å©æŽ»çšåäžãæ¯æŽãããµãŒãã¹ã§ãã 人ãšçæAIã®ååãåŸæŒãããéçºçµç¹ã®å€é©ããµããŒãããŸãã Claude CodeãGitHub CopilotãCodexãDevinãªã©æ§ã
ãªAIããŒã«ã®å©æŽ»çšã暪æçã«åæããŠããŸãã ä»åãªãªãŒã¹ãããåæã¯ãŒã¯ãããŒã¯MCPãµãŒããŒã»GitHub Actionsã®äž¡æ¹ã«å¯Ÿå¿ããŠããã宿çã«éçºçµç¹ã®ç¶æ
ã«ã€ããŠæ¹åãµã€ã¯ã«ãåããä»çµã¿ããµããŒãããŠããŸãã éçºããŒã ã§åæããŠã¿ã ãã¡ã€ã³ãã£ã®ããéçºããŒã ã§åæããŠã¿ãŸããã åæã¯ãŒã¯ãããŒã¯7çš®é¡ãããŸãããä»åã¯ãã®ãã¡2ã€ãMCPãµãŒããŒçµç±ãGitHub Actionsçµç±ã®äž¡æ¹ã§å®è¡ããŠããŸãã AIç°å¢æŽåã³ãããå±¥æŽåæïŒMCPãµãŒããŒçµç±ïŒ AIèšå®ãã¡ã€ã«ãžã®è²¢ç®è
ãåæããããšãã§ããŸããã³ããã¿ãŒçµ±èšãPRäœæè
çµ±èšããã¡ã€ã«å¥ã®åæçµæã衚瀺ããããããæèè
ã®ææ¡ããã¬ããžå
±æã®ãã£ããã«ããããšãã§ããŸãã MCPãµãŒããŒçµç±ã®åæã¯ãVS Codeã䜿çšããŠããã°Chatããã¹ã©ãã·ã¥ã³ãã³ããå®è¡ããã ãã§å§ããããŸãã ã³ãã³ããå®è¡ãããšã察話圢åŒã§ãªããžããªåã»éå§æ¥ã»çµäºæ¥ã®3ã€ã®ãã©ã¡ãŒã¿ãé çªã«å
¥åããŠãããŸãã æ¬¡ã®ãããªããã³ããã§åæãäŸé Œã§ããŸãã 以äžã®æ¡ä»¶ã§AIèšå®ãã¡ã€ã«ãžã®è²¢ç®ãåæããŠãã ããïŒ ãåæå¯Ÿè±¡ã - ãªããžããª: Repository-A - æé: 2025-10-01ãã2026-02-28 ãåæèгç¹ã - AIããŒã«ã®èšå®ã«æãè²¢ç®ããŠããã¡ã³ããŒã®ç¹å® - èšå®ãã¡ã€ã«ããšã®ã¡ã³ããã³ã¹ç¶æ³ - è²¢ç®ãã¿ãŒã³ãåŸåã®æŽå¯ ãã©ã¡ãŒã¿ã®å
¥åãå®äºãããšãMCPãµãŒããŒãžã®ããŒã«å®è¡èš±å¯ãæ±ããããŸããå
容ã確èªããŠèš±å¯ãããšãåæãéå§ãããŸãã MCPãµãŒããŒã®ããŒã«å®è¡çµæã§ãã Ran AI Configuration File Contributions Input { "repository": "Repository-A", "date_from": "2025-10-01", "date_to": "2026-02-28" } Output # AIç°å¢æŽåã³ãããå±¥æŽåæã¬ããŒã **ãªããžããª**: Org/Repository-A **åææé**: 2025-10-01 ã 2026-02-28 **åæå®è¡æ¥**: 2026幎03æ26æ¥ ## ð¯ è«ç¹å¥ãµã㪠### è«ç¹1: 誰ãAI掻çšç°å¢æŽåã«è²¢ç®ããŠãããïŒäžäœã¯èª°ãïŒ **åç**: user1ãå§åçãªè²¢ç®è
ã§å
šäœã®73.5%ãå ãããæ¬¡ãã§user2ã20.6%ãuser3ãšuser4ãå°æ°è²¢ç®ã **ã€ã³ãµã€ã**: user1ãäžå¿ç圹å²ãæ
ããç¹ã«2025幎12æã«éäžçãªãªãã¡ã¯ã¿ãªã³ã°ãšæ¡å
ã宿œãuser2ã¯åææ§ç¯ãšCIæŽåã«è²¢ç®ã ### è«ç¹2: æåŸã«ææ°åãããã®ã¯ãã€ãïŒæŽæ°ãå€ãããªããïŒ **åç**: æçµæŽæ°ã¯2026-01-21ã§çŽ2ã¶æåãæå¹³å7.0ã³ãããã§ç¶ç¶çã«æŽæ°ãããŠããããçŽè¿2ã¶æã¯åæ»æ°å³ã **ã€ã³ãµã€ã**: 2025幎12æã«å€§èŠæš¡ãªæŽåãå®äºåŸãæŽæ°ãæžå°ã宿çãªã¡ã³ããã³ã¹ãµã€ã¯ã«ã®ç¢ºç«ãæãŸããã ## 1. è²¢ç®ãã¿ãŒã³åæ **ã€ã³ãµã€ã**: user1ã¯.claude/context/é
äžã®æ§é åã«æ³šåïŒ11ã³ãããïŒããã¢ãŒããã¯ãã£èšèšãäž»å°ãuser2ã¯CI/CDãšãšãŒãžã§ã³ãåæèšå®ã«ç¹åã圹å²åæ
ãæç¢ºã --- ð è²¢ç®è
å¥ã³ãããå²å user1 ââââââââââââââââââââ 73.5% (25ä»¶) user2 ââââââââââââââââââââ 20.6% (7ä»¶) user3 ââââââââââââââââââââ 5.9% (2ä»¶) user4 ââââââââââââââââââââ 2.9% (1ä»¶) åæãå®äºãããšã次ã®ãããªã¬ããŒããåºåãããŸãããããã³ã³ããªãã¥ãŒã¿ãŒã®äžèЧãèšå®ãã¡ã€ã«å¥ã®ã¡ã³ããã³ã¹ç¶æ³ãæå¥ã³ãããæšç§»ãªã©ãå¯èŠåãããŠããã誰ããã€ã©ã®ãã¡ã€ã«ãæŽåããã®ããäžç®ã§åãããŸãã äžéšåºåå
容ã§ãããåºåããŒã¿ãããšã«ãã¡ã³ããã³ã¹ç¶æ³ãšè²¢ç®ãã¿ãŒã³ã®ãµããªãŒãæŽçãããŸãã ## AIèšå®ãã¡ã€ã«è²¢ç®åæã¬ããŒã **ãªããžããª**: Org/Repository-A | **æé**: 2025-10-01 ã 2026-02-28 ### 1. èšå®ãã¡ã€ã«ããšã®ã¡ã³ããã³ã¹ç¶æ³ | ãã¡ã€ã«/ãã£ã¬ã¯ã㪠| æçµæŽæ° | äž»èŠã¡ã³ãã㌠| ç¶æ
| |----------------------|---------|---------------|------| | CLAUDE.md | 2025-12-10 | user1 | çŽ3.5ã¶ææªæŽæ° | | settings.json | 2026-01-14 | user1 | çŽ2ã¶ææªæŽæ° | | .claude/context/ | 2025-12-09 | user1 | çŽ3.5ã¶ææªæŽæ° | | .claude/agents/ | 2025-12-16 | user1, user2, user3 | çŽ3ã¶ææªæŽæ° | ### 2. è²¢ç®ãã¿ãŒã³ãšåŸå **æç³»åã®åŸå**: - **2025幎10æ**: user2ã«ããåææ§ç¯ãã§ãŒãºïŒClaude CodeãšãŒãžã§ã³ãèšå®ãPRäœæãšãŒãžã§ã³ãïŒ - **2025幎11æ**: user1ãCI/CD軜éåããåå
¥ - **2025幎12æ**: **æã掻çºãªæïŒ23ã³ãããïŒ** â user1ã«ãã`.claude/context/`ãžã®å€§èŠæš¡åå²ãCopilotèšå®çµ±åã@èšæ³å°å
¥ãuser2ã«ããã»ãã¥ãªãã£é¢é£æŽåãåæé²è¡ - **2026幎1æ**: 2ä»¶ã®ã¿ãæŽåå®äºåŸã®å®å®æã«å
¥ã£ãå¯èœæ§ - **2026幎2æ**: ã³ããããªã **圹å²åæ
**: - **user1**: ã¢ãŒããã¯ãã£èšèšã»æ§é åã®ãªãŒãïŒcontextåå²ãèšå®çµ±åïŒ - **user2**: åæèšèšãšCI/CDã»ãã¥ãªãã£åŒ·å - **user3 / user4**: ã»ããã¢ããã¬ã€ããããã¥ã¡ã³ãè£å®ã®ã¹ãããè²¢ç® **æšå¥šã¢ã¯ã·ã§ã³**: - äž»èŠèšå®ãã¡ã€ã«ïŒCLAUDE.mdãcopilot-instructions.mdïŒã3ã¶æä»¥äžæªæŽæ°ã®ããããããžã§ã¯ãã®çŸç¶ãšä¹é¢ããªãã宿çãªã¬ãã¥ãŒãµã€ã¯ã«ã®ç¢ºç«ãæãŸãã - è²¢ç®è
ãuser1ã«éäžããŠããããããã¹ä¿æ°ïŒBus FactorïŒã®èгç¹ãããã¬ããžå
±æã®ä¿é²ãæ€èšãã¹ã AIãšäººã®PRäœæéæ¯çåæïŒGitHub Actionsçµç±ïŒ AIã«ä»»ããããå¯èœæ§ãããæ¥åé åãç¹å®ããæé©ãªåæ
ãææ¡ããããšãã§ããŸããã¡ã³ããŒå¥AI掻çšçãPRäœæéã®ååšåºŠã確èªã§ããã®ã§ãæ°æ©èœéçºãšéçšéçºã®åæ
ãèãçŽããã£ããäœãã«ã€ãªãããŸãã GitHub Actionsã§ã®åæã¯ããªããžããªã®Actionsã¿ãããæåå®è¡ã§ããŸãã察象ãªããžããªåãšåææéãå
¥åããŠãRun workflowããæŒãã ãã§ãã åæãå®äºãããšãçµæã®ãµããªãŒãSlackã«èªåéç¥ãããŸããããŒã ã¡ã³ããŒå
šå¡ãããã«çµæã確èªã§ãã宿å®è¡ãšçµã¿åãããããšã§ææ¬¡ã®æ¯ãè¿ãã«ã掻çšã§ããŸãã çµæã¯GitHub IssueãšããŠãèªåäœæãããŠããã®ã§ãSlackéç¥å
ã®ãªã³ã¯ããé·ç§»ã§ããŸããæ§é åãããã¬ããŒããäœæãããããŒã å
ã§ã®å
±æãè°è«ããã芪IssueãšããŠã掻çšã§ããŸãã 詳ããã»ããã¢ããæ¹æ³ã¯ GitHub Actionsã§ã®åæã»ããã¢ããã¬ã€ã ãã芧ãã ããã Findy AI+ã®åæã¯ãŒã¯ãããŒã«ã€ã㊠ãããŸã§ç޹ä»ããŠããåæã¯ãFindy AI+ãæ°ãã«æäŸãéå§ããåæã¯ãŒã¯ãããŒã䜿ã£ãŠå®è¡ãããã®ã§ããããããã¯ãã¯ãŒã¯ãããŒã®å
šäœåãšæŽ»çšæ¹æ³ã玹ä»ããŸãã åæã¯ãŒã¯ãããŒã§ã§ããããš ä»åã®ãªãªãŒã¹ã§ã¯ã次ã®7çš®é¡ã®åæã¯ãŒã¯ãããŒãæäŸããŠããŸãã ã¯ãŒã¯ãã㌠ã§ããããš Agent Environment Analysis AIåãæç€ºãã¡ã€ã«ã»ãã©ã«ããã¹ã³ã¢åããèªèµ°ç°å¢ã®æŽå床åãã蚺æ PR Reviews Analysis ã³ãŒã倿Žè
ã»éçºç°å¢ã®äŒžã³ãããç¹å®ããæ¹åæœçãææ¡ PR Productivity Analysis AI掻çšã«ããã¢ãŠããããéã®å€åãæ©èœéçºãžã®åœ±é¿ãåæ AI-Human Collaboration Analysis AIã«ä»»ããããæ¥åé åãç¹å®ããæé©ãªåæ
ãææ¡ Multi AI Cost Comparison è€æ°AIããŒã«ã®ROIã人件費察æ¯ã§ç®åº PR Type Summary PRã®äœæ¥çš®å¥ããšã«ãµããªãŒãçæ Findy AI+ PR Review PRãªãŒãã³æã«AIã¬ãã¥ãŒãèªåå®è¡ããçµæãã³ã¡ã³ãæçš¿ ãããã¯MCPãµãŒããŒã»GitHub Actionsã®äž¡æ¹ãããå©çšããã ããŸãã GitHub Actionsã§åæãèªåå GitHub Actionsã䜿ãã°ãäžèšã®åæããªããžããªãã宿å®è¡ã§ããŸããããã©ã«ãã§ã¯æ¯æ1æ¥ã«ã¹ã±ãžã¥ãŒã«å®è¡ãããèšå®ã«ãªã£ãŠãããé »åºŠã¯ã«ã¹ã¿ãã€ãºå¯èœã§ããGitHub Web UIãCLIããã®æåå®è¡ã«ã察å¿ããŠããŸãã åæçµæã¯Slackãã£ã³ãã«ã«èªåéç¥ããããããããŒã å
šäœã§å®æçã«ç¢ºèªãæ¹åãµã€ã¯ã«ãåãéçšãå®çŸã§ããŸããããŒã åäœã§ã®åæã«ã察å¿ããŠããã®ã§ãçµç¹å
šäœã ãã§ãªãããŒã ããšã®åŸåææ¡ãå¯èœã§ãã æ°ã«ãªããã€ã³ãããã£ãšç¢ºèªããããšãã¯MCPãµãŒããŒããã£ããæ·±å ãããããšãã¯GitHub Actionsãšãã䜿ãåããããããã§ãã ãããã« ä»åã¯ãFindy AI+ã®åæã¯ãŒã¯ãããŒã䜿ã£ãŠãããéçºããŒã ã®AI掻çšç¶æ³ãçŽ1幎ã«ããã£ãŠè¿œããããŠã¿ãŸããã AIç°å¢æŽåã³ãããå±¥æŽåæã§ã¯ã誰ãAIèšå®ãæŽåããŠããã®ããã©ã®ãã¡ã€ã«ãã©ã®ææã«éäžçã«æŽæ°ãããã®ããèŠããŠããŸãããAIãšäººã®PRäœæéæ¯çåæã§ã¯ãAI掻çšçã®æšç§»ãã¡ã³ããŒéã®æŽ»çšåºŠã®å·®ãå¯èŠåãããŸãããããããæ°åãããããšã§ãããªããšãªãAIã䜿ã£ãŠããããšããæèŠã§ã¯ãªããå
·äœçã«ã©ãã«èª²é¡ããããäœãæ¹åãã¹ãããè°è«ã§ããããã«ãªããŸãã AIããŒã«ãå°å
¥ãããã®ã®å¹æãèŠãã¥ãããšæããŠããæ¹ã¯ããŸãèªåãã¡ã®ããŒã ã®çŸç¶ãå¯èŠåãããšããããå§ããŠã¿ãŠãã ãããããŒã¿ãããã°ã次ã®äžæãèŠããŠããŸãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ãã£ãªã¢ãããã¯ãéçºéšã®æ£® ïŒ jiskanulo ã§ãã ç§ããšã§ããä»å¹Žã§45æ³ãWEBãµãŒãã¹ã®éçºæŽã¯20幎以äžã«ãªããŸããäžéçã«ã¯ããã©ã³ãšã³ãžãã¢ãšãã·ãã¢ãšã³ãžãã¢ãšããšç§°ãããé¡ã ãšèªèªããŠããŸãã ãããªç§ã§ãã2026幎1æã«åºæ¬æ
å ±æè¡è
詊éšãåéšããŠåæ ŒããŸããã ãã®èšäºã¯ãããã©ã³ãšã³ãžãã¢ãåºæ¬æ
å ±æè¡è
詊éšãã¹ãã«æ£åžãããŒã«ãšããŠæŽ»çšããäœéšãšãåéšããªããŠã䜿ããã»ã«ããã§ãã¯ã®æ¹æ³ã玹ä»ããŸãã www.ipa.go.jp åéšã®åæ© çµæ åŸæãšèŠæãå¯èŠåããã åŸæã ã£ãé å èŠæã ã£ãé å åŸæãšèŠæã®ã³ã³ãã©ã¹ããæå³ããã㮠詊éšç¯å²ã§ã¹ãã«ãæ£åžãããæ¹æ³ åéšã®Tips CBTåéšã®é°å²æ° éäžåã®ç¶æã«èª²é¡ ãŸãšã åéšã®åæ© åéšãããã£ããã¯æšä»ã®AIãšãŒãžã§ã³ããåæãšããéçºææ³ã®å€åã§ãã ãã¡ã€ã³ãã£ã§ã¯AIãšãŒãžã§ã³ãã®å°å
¥ã»æ€èšŒãç©æ¥µçã«è¡ã£ãŠããŸãã ç§ãDevin, GitHub Copilot Chat, Cline, Claude Codeãªã©ããŸããŸãªããŒã«ããµãŒãã¹ãæ¥ã
ã®éçºæ¥åã«å°å
¥ãã¹ãæ€èšŒããŠããŸããã 2025幎6æé ããClaude Codeãæ¬æ Œçã«äœ¿çšãã¯ããã2026幎3æçŸåšã§ã¯ç§èªèº«ãæã§ã³ãŒããæžãããšã¯å
šããªããªããŸããã æšä»ã®AIãšãŒãžã§ã³ããäž»ãšãªãéçºãé²ããäœå¶ã§ã¯ãAIãšãŒãžã§ã³ããžé©åãªæç€ºãåºãåãAIãšãŒãžã§ã³ãããã®ææ¡ãå€æãæ¿èªã»ä¿®æ£ããããã®åãæ±ããããŸãã ãã®åãã€ããããã®åºç€ç¥èãšããŠãåºæ¬æ
å ±æè¡è
詊éšã®å
容ã¯ã¡ããã©ãããšæããŠããŸãã ãŸãã2025幎æ«ã«éçºéšã§ãåºæ¬æ
å ±æè¡è
詊éšã®åæ Œãç®æããŸãããããšããæ¹éãåºãããšãããã瀟å
ã®ã¡ã³ããŒãç¶ã
ãšåéšã»åæ ŒããŠããæµãã«ä¹ããŸããã åéšçç±ãããäžã€æãããšãå®ã¯åºæ¬æ
å ±æè¡è
詊éšã20幎ã»ã©åã«åéšããŠäžåæ Œã«ãªã£ãŠããåææŠãããªããŸãŸã§ããã ããã«åŸå¹Žã«å¿çšæ
å ±æè¡è
詊éšãåéšãåæ ŒããŠããã®ã§ãããå¿çšæ
å ±ã¯æã£ãŠããã®ã«åºæ¬æ
å ±ã¯æã£ãŠããªããšãããã°ãã°æãè§£æ¶ãããã£ãã®ã§ãã è¿ããã¡ã«ããŒã¿ããŒã¹ã¹ãã·ã£ãªã¹ã詊éšãåããããšèããŠãããšããã2026幎床ããCBTïŒã³ã³ãã¥ãŒã¿ããŒã¹ã®è©ŠéšïŒæ¹åŒã«ç§»è¡ãããšããæ
å ±ããããCBTã®é°å²æ°ãå
ã«äœéšããŠãããããšããæãããããŸããã ãã ããŒã¿ããŒã¹ã¹ãã·ã£ãªã¹ã詊éšã®å®æœãã®ãã®ã2026幎äžã¯äžæçãªç¶æ³ã§ããååãæ³šèŠãã€ã€ãç³ã蟌ã¿ãåéãããããããšã³ããªãŒãããã§ããã www.ipa.go.jp çµæ ç§ç®Aã¯705ç¹ãç§ç®Bã¯680ç¹ãšãªããšãåæ Œã§ããŸãããããå°ãäœè£ãæã£ãŠåæ Œãããã£ãã®ã§ãããããã¯ä»åŸã®äŒžã³ãããšããŸãã åŸæãšèŠæãå¯èŠåããã åéšããŠæãåç©«ã ã£ãã®ã¯ãèªåã®ã¹ãã«ã®èŒªéãã¯ã£ããèŠããããšã§ãã åŸæã ã£ãé å èšç®åé¡ãã³ãŒããªãŒãã£ã³ã°ãããŒã¿ããŒã¹æ£èŠåã皌åçèšç®ãªã©ã®åé¡ã¯ã¹ã ãŒãºã«è§£ããŸããã æ¥åžžæ¥åã§ã³ãŒããæžããã¬ãã¥ãŒããèšèšã»éçšãèããããšãæ¯æ¥ãã£ãŠããã®ã§ãå®åçµéšããã®ãŸãŸåŸç¹ã«çµã³ã€ããŸããã éå»åã®æš¡æ¬è©Šéšã§ããããã®åéã¯æ£ççãé«ããç¹å¥ãªå¯ŸçãããªããŠãå®å®ããŠè§£ããç¶æ
ã§ããã èŠæã ã£ãé å äžæ¹ãäŒèšç®¡çãè²¡åææšã«é¢ããåé¡ã«ã¯èŠæŠããŸãããæçåå²ç¹ãROIãæžäŸ¡ååŽãšãã£ãããŒãã¯éå»åãè§£ããŠããŠãæ£ççãç®ã«èŠããŠäœãåéã§ããã æ¯ãè¿ã£ãŠã¿ããšãæ¥ã
ã®éçºæ¥åã§è²¡åææšãæèããå Žé¢ã¯ã»ãšãã©ãããŸããã§ããã æ¥åã§è§Šããªãé åã¯çµéšå¹Žæ°ã«é¢ä¿ãªã穎ã®ãŸãŸæ®ã£ãŠããããã®æ°ã¥ãããåéšããŠåŸãæå€§ã®åç©«ã§ããã åŸæãšèŠæã®ã³ã³ãã©ã¹ããæå³ãããã® ãã®çµéšããèŠããããšã¯ããšã³ãžãã¢ã®ã¹ãã«ã¯å®åã§ã«ããŒããŠããç¯å²ã«ã¯èªç¶ãšåŒ·ããªããããéã«è§ŠããŠããªãç¯å²ã¯äœå¹Žçµã£ãŠãç²ç¹ã®ãŸãŸã ãšããããšã§ãã åºæ¬æ
å ±æè¡è
詊éšã®åºé¡ç¯å²ã¯ITãšã³ãžãã¢ã®åºç€ç¥èãåºãã«ããŒããŠããŸãã ã ãããããåéšãããšèªåã®ã¹ãã«ãããã®äžã§ãã©ããåãŸã£ãŠããŠãã©ãã空çœãããæµ®ã圫ãã«ãªããŸãã 詊éšã®ããã®å匷ãããã«ãµãŒãã¹éçºã«æŽ»ãããããšãããšããã§ããªãã®ã§ãããèªåã®åºç€ç¥èã®å
šäœåãææ¡ããã«ã¯ã¡ããã©ããç²åºŠã ãšæããŸããã 詊éšç¯å²ã§ã¹ãã«ãæ£åžãããæ¹æ³ åéšããã«ããããåºæ¬æ
å ±æè¡è
詊éšãããã³ã ã«å€§å€ãäžè©±ã«ãªããŸããã www.fe-siken.com ç§ã®å Žåã¯1æ¥30åã20æ¥éã»ã©ã§åèš600åãåçããŸãããç¡æãµãŒãã¹ã®ç¯å²ã§ãååã«éå»åã詊ãããšãã§ããŸãããææã®ã¡ã³ããŒç»é²ããããšåŠç¿ã®èšé²ç®¡çããããããªããŸãã ã¹ãã«æ£åžããããããã«ããŸãç§ç®Aã®éå»åãè§£ããŠã¿ãŠãã ããã åéããšã®æ£ççãèšé²ãããã®ã§ãèªåãã©ã®åéã«åŒ·ããã©ã®åéã«ç©Žãããããæ°å€ã§å¯èŠåãããŸãã åèãšããŠãåºæ¬æ
å ±æè¡è
詊éšã®ç§ç®Aåºé¡ç¯å²ãããšã«ããã»ã«ããã§ãã¯è¡šãèŒããŠãããŸããèªåããåŸæããèŠæããè§Šããããšããªããã®ã©ãã«åœãããæ¯ãè¿ã£ãŠã¿ãŠãã ããã åé èªå·±è©äŸ¡ïŒçè
ã®äŸïŒ åºç€çè«ïŒé¢æ£æ°åŠãæ
å ±çè«çïŒ åŸæ ã¢ã«ãŽãªãºã ãšããã°ã©ãã³ã° åŸæ ã³ã³ãã¥ãŒã¿æ§æèŠçŽ åŸæ ã·ã¹ãã æ§æèŠçŽ åŸæ ãœãããŠã§ã¢ åŸæ ããŒããŠã§ã¢ èŠæ ããŒã¿ããŒã¹ åŸæ ãããã¯ãŒã¯ èŠæ ã»ãã¥ãªãã£ åŸæ ãããžã¡ã³ãïŒãããžã§ã¯ãã»ãµãŒãã¹ïŒ èŠæ ã¹ãã©ããžïŒçµå¶æŠç¥ã»æ³åïŒ èŠæ 衚ã®ãšãããå®åã§æ¥åžžçã«äœ¿ãåéã¯åŸæãããã§ãªãåéã¯èŠæãšããåŸåãã¯ã£ããåºãŸããã æ£ççãå®å®ããŠé«ãåéã¯å®åã§ã«ããŒã§ããŠããåºç€ç¥èãäœãåéããŸã£ããåãããªãåéã¯ãæ¥åã§è§ŠããŠããªãç²ç¹ã§ãããç¥ã£ãŠããã€ããã ã£ããæ£ç¢ºã«ã¯çè§£ã§ããŠããªãã£ãããšããææ§ãªé åãèŠã€ãããããããŸããã åéšã®Tips CBTåéšã®é°å²æ° åœæ¥ååŸã«åéšäŒå Žã«çããšã詊éšéå§æå»åã§ãåéšãå§ããŠãããšæ¡å
ãããŸããã ããœã³ã³ã«åããåã«æã¡ç©æ€æ»ãçµããŠçåžã ããŒããŒãã¯ãã°ã€ã³æã«ãã䜿ããã詊éšäžã¯ããŠã¹æäœã®ã¿ãçŽãšãã³ã¯è²žããŠããããçç®ãã³ãŒãã®ãã¬ãŒã¹ãããªããåçããŸããã åçå®äºãã¿ã³ãæŒããšããã«åŸç¹ã衚瀺ãããååŠããã®å Žã§ç¢ºèªã§ããŸãããçµæåŸ
ã¡ã®ã¢ã€ã¢ã€ããªãã£ãã®ã¯å¬ãããã€ã³ãã§ããã éäžåã®ç¶æã«èª²é¡ ç§ç®Bã®æç¹ã§éäžåãåããŠããŸã£ãã®ãä»åã®åçç¹ã§ãã 20幎åã¯åååé¡ã®ããšã«2æéã»ã©ã®æŒäŒã¿ãããããªãã¬ãã·ã¥ããŠããååŸåé¡ã«èšããŸãããçŸåšã®åœ¢åŒã§ã¯ç§ç®Aã®ããš10åã®äŒæ©ã§ç§ç®Bãå§ãŸããããäœåçã«ã粟ç¥çã«ãæ¶èããç¶æ
ã§åŸåæŠã«å
¥ãããšã«ãªããŸãã åéšããåã«ã¯ååã«äœèª¿ãæŽããŠèšãããšãããããããŸãã ãŸãšã åºæ¬æ
å ±æè¡è
詊éšã¯ãè³æ ŒååŸãšããç®çã ãã§ãªããèªåã®ã¹ãã«ã®åŸæãšèŠæãå¯èŠåããããŒã«ãšããŠæŽ»çšã§ããŸããã ã¹ãã«ãå¯èŠåã§ããããšããããä»å¹Žäžã«ããŒã¿ããŒã¹ã¹ãã·ã£ãªã¹ã詊éšã®åæ Œãç®æããŠæºåãé²ããŠããããšæããŸãã ã¿ãªããã詊éšãåããŠã¿ãŠãã ãããåéšããªããŠããéå»åã詊ãã ãã§ã¹ãã«ã®æ£åžãã«ãªããŸããã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ã Findy AI+ éçºããŒã ã®danã§ãã ãã®èšäºã¯ã ãšã³ãžãã¢éã®äººçãå€ããäžå ããšããŠããã¡ã€ã³ãã£ã®ãšã³ãžãã¢ã人çãå€ããæ¬ã玹ä»ããŠããã·ãªãŒãºã§ãã äžåã®æè¡æžããã£ããã§ãæ°ããåéã«è¶³ãèžã¿å
¥ããããæ¥ã
ã®ã³ãŒãã®æžãæ¹ãå€ãã£ããããçµéšã¯ãããŸãããïŒä»åã¯ç§ã»danãšãåç°ããã®2åããèªåã«ãšã£ãŠè»¢æ©ãšãªã£ãæ¬ããå±ãããŸãã ããã§ã¯ããã£ãã玹ä»ããŠãããŸãããïŒ SREã®ç¥èå°å³ââåºç€ç¥èããçŸå Žã§ã®å®è·µãŸã§ ãã®æ¬ãèªãã ãã£ãã æ¬ã®å
容 ãã®æ¬ãã圱é¿ãåããç¹/åŠãã ç¹ ç¹ã«å°è±¡ã«æ®ã£ãéšå ãã®ãããªæ¹ã«ãããã 仿°ã«ãªã£ãŠãæ¬ ãªãŒããã«ã³ãŒã âããè¯ãã³ãŒããæžãããã®ã·ã³ãã«ã§å®è·µçãªãã¯ãã㯠ãã®æ¬ãèªãã ãã£ãã æ¬ã®å
容 ãã®æ¬ãã圱é¿ãåããç¹/åŠãã ç¹ ç¹ã«å°è±¡ã«æ®ã£ãéšå ãã®ãããªæ¹ã«ãããã ãããã« â dan / ãšã³ãžãã¢ â æ®æ®µã¯ Findy AI+ ã§ããã¯ãšã³ãã»ããã³ããšã³ãã®éçºãããŠããdanã§ããè¥å¹²Terraformããã¥ãŒãããŸããã SREã®ç¥èå°å³ââåºç€ç¥èããçŸå Žã§ã®å®è·µãŸã§ SREã®ç¥èå°å³ââåºç€ç¥èããçŸå Žã§ã®å®è·µãŸã§ äœè
: åé åä¹
, è¿è€ å¥åž , å°æ è¯å€ªé , æž¡éš éŸäž , éœè€ ææ , ææ€ ç¿å€ª , 暪山 éç· æè¡è©è«ç€Ÿ Amazon ç§ã玹ä»ãããSREã®ç¥èå°å³ãã¯ãSite Reliability Engineeringã®å
šäœåãäžåã§èŠæž¡ããããã«æžãããæžç±ã§ãã ãã®æ¬ãèªãã ãã£ãã SREé åã«ã¯ãã£ãšèå³ããããŸããããµãŒãã¹ãå®å®ããŠå±ããããšã®éèŠæ§ã¯æ¥ã
ã®éçºã§å®æããŠãããã®ã®ãèªåã®äžã§SREã¯ããµãŒãã¹ãæ¯ããŠãããããã人ãã¡ããããã®è§£å床ã§ããã ãããªãšã Findy AI+ ã®æ¥åã§ãã¡ã€ã³åãæ¿ãã®å¯Ÿå¿ãæ
åœããããšã«ãªããŸãããã€ã³ãã©å¯ãã®ç¥èãæ±ããããå Žé¢ãå¢ããããã¯ããæ©äŒã ãšæããSREã«ã€ããŠäœç³»çã«åŠãã§ã¿ãããšæ±ºããŸããã ãšã¯ããäœããæãã€ããã°ãããããããã瀟å
ã®SREããŒã ã«ãã©ãããè§ŠããŠããã®ãããããšçžè«ãã«è¡ã£ããšããããã®æ¬ã玹ä»ããŠããããŸããã æ¬ã®å
容 æ¬æžã¯SLOã»ãšã©ãŒããžã§ããã®èšèšãããã¢ãã¿ãªã³ã°ãšãªãã¶ãŒãããªãã£ããã¹ãã¢ãŒãã ããªã³ã³ãŒã«äœå¶ããã€ã«åæžãæ¬çªãªãªãŒã¹ã¬ãã¥ãŒ(PRR)ãŸã§ãSREã®äž»èŠãªæŠå¿µã9ç« ã«ããã£ãŠç¶²çŸ
ããŠããŸããçµç¹æ§é ã®éžæãšå®éã®å°å
¥äºäŸã«ãè§ŠããããŠããŸãã ã¿ã€ãã«ã®ãç¥èå°å³ããçãå°ãŠããŠãåç« ãç¬ç«ãããããã¯ã§ãããªãããç« ããŸããã§èªããšSREãšããé åã®èŒªéãã¯ã£ããæµ®ãã³äžãã£ãŠããæ§æã§ãã æè¡çãªãã©ã¯ãã£ã¹ã ãã§ãªããSREããŒã ãã©ãçµç¹ã«æ ¹ã¥ããããããšãã話ãŸã§æžãããŠããã®ãããã®æ¬ã®ç¹åŸŽã ãšæããŸããã ãã®æ¬ãã圱é¿ãåããç¹/åŠãã ç¹ äžçªå€§ããã£ãã®ã¯ããä¿¡é Œæ§ã¯100%ãç®æããã®ã§ã¯ãªãããšããèãæ¹ã«è§Šããããšã§ããSLOãšãšã©ãŒããžã§ããã®ä»çµã¿ãç¥ããä¿¡é Œæ§ãšéçºã¹ããŒãã®ãã©ã³ã¹ãå®éçã«è°è«ã§ãããšããçºæ³ã«è¡æãåããŸããã æ®æ®µã®ã¢ããªã±ãŒã·ã§ã³éçºã§ã¯ãèœã¡ãªãããšããåœç¶ã®åæã«ãªããã¡ã§ãããSREã®èŠç¹ã§ã¯ãšã©ãŒããžã§ãããæ®ã£ãŠããéããªã¹ã¯ãåã£ãŠãªãªãŒã¹ã§ãããã䜿ãåã£ããä¿¡é Œæ§ã®æ¹åã«éäžããããã®ãã¬ãŒããªãã®èšèšææ³ã¯ãéçºè
ãšããŠã®ãã®ã®èŠæ¹ãå€ããŠãããŸããã çŸåšãSREããŒã ãšéé±ã§å®ç¹èŠ³æž¬äŒãè¡ã£ãŠããã®ã§ãããæ¬æžã§SLOã®æŠå¿µãçè§£ããŠããèšããããšã§ãèŠ³æž¬çµæã®åãåãæ¹ãå€ãããŸããã æ°å€ã®å€åãã仮説ãç«ãŠãæèããã»ã¹ããããããNext Actionã«ã€ãªããåãæ¹ãªã©ãSREããŒã ã®å®è·µãèã§åŠã¹ãŠããŸããæ¬æžããªããã°ã芳枬äŒã«åå ããŠã衚é¢çãªæ°åãçºããã ãã§çµãã£ãŠãããããããŸããã ç¹ã«å°è±¡ã«æ®ã£ãéšå ãã¹ãã¢ãŒãã ã®ç« ã§è§ŠããããŠãããé害ãèµ·ããåã®å°ããªç°å€ããåŠã³ãåŸããšããèãæ¹ãå°è±¡ã«æ®ã£ãŠããŸãã Findy AI+ ã§ã¯ã¢ã©ãŒãäœå¶ã®åºç€ã匷åããäœå°ããããŸãããSREããŒã ãšäžç·ã«ããŸããããæŽãããšããããå§ããã¢ãã¿ãªã³ã°ã®ããã·ã¥ããŒããäœããããããå®ç¹èŠ³æž¬ã§æ¯ãè¿ããäŒãéããããšã«çå®ã«åé²ã§ããŠãããšå®æããŠããŸããæ¬æžã§èªãã ã軜éã«åããåŠç¿ãµã€ã¯ã«ããããŸãã«ä»ã€ãã£ãŠããæäžã§ãã ããã²ãšã€ã第9ç« ã®ãSREã®å®è·µãã§æžãããŠãããéçºããŒã ã®èª²é¡ã«å¯ãæ·»ããšããã¢ãããŒãã«ã匷ãå
±æããŸããããã¡ã€ã³å€æŽã®å¯Ÿå¿ã§SREããŒã ãšäžç·ã«åãããšãããã ãµããŒããããŠããã®ã§ã¯ãªããåãç®ç·ã§äžç·ã«é²ããŠãããšããæèŠããããŸããã SREãã©ã¯ãã£ã¹ãäžæ¹çã«æšé²ããã®ã§ã¯ãªããããŒã ãçŽé¢ããŠããå
·äœçãªèª²é¡ã«ãŸãå¯ãæ·»ã ããã¯SREã«éã£ã話ã§ã¯ãªããèªåãäœããææ¡ãããšãã«ãåãããšãèšãããšæããŸããæ°ããããŒã«ãããã»ã¹ãæã¡èŸŒã¿ãããšãããŸãçžæãä»äœã«å°ã£ãŠãããããå
¥ãããšã§ææ¡ã¯æŒãä»ãã§ã¯ãªã解決çã«ãªãã®ã§ã¯ãšæããŸããã ãã®ãããªæ¹ã«ãããã èªåã®ããã«ã¢ããªã±ãŒã·ã§ã³éçºãã¡ã€ã³ã ãã©ãã€ã³ãã©ãéçšã«ãé¢å¿ãåºãŠãããšã³ãžãã¢ã«ã¯ãŽã£ããã®äžåã§ããSREã®å
šäœåãçæéã§ã€ãããã®ã§ãããããSREé åã«èžã¿åºãæåã®äžåãšããŠæ©èœããŸãã ãŸãããã§ã«SREçãªæ¥åã«æºãã£ãŠããæ¹ã«ãšã£ãŠããèªåã®å®è·µãäœç³»ã®äžã«äœçœ®ã¥ãçŽãæ©äŒã«ãªããšæããŸãã ç§ã®çµéšã§ã¯ãšã©ãŒã®çºçã§SLOã®æ°å€ãäžãã£ãŠãããšããè°è«ããã£ããšãã«ããªããšã©ãŒãSLOã«åœ±é¿ããã®ãããµãŒããŒãè¿ããšã©ãŒã®ä»çµã¿ãå€ãããããããèããåå°ã«ãªã£ãã®ã¯ãæ¬æžã§åŸãç¥èã§ããã 仿°ã«ãªã£ãŠãæ¬ LLMã®åçãRAGã»ãšãŒãžã§ã³ãéçºããèªã¿è§£ããã³ã³ããã¹ããšã³ãžãã¢ãªã³ã° LLMã®åçãRAGã»ãšãŒãžã§ã³ãéçºããèªã¿è§£ããã³ã³ããã¹ããšã³ãžãã¢ãªã³ã° ãšã³ãžãã¢éžæž äœè
: è²ç åŒé· æè¡è©è«ç€Ÿ Amazon Findy AI+ ã§ã¯LLMãåæãããã®ããµãŒãã¹ã«åãå
¥ããŠããŸããçŸåšãæ©èœãå¢ããŠããäžã§åæã®ç²ŸåºŠãããã¯ã«ãªã£ãŠãããããã³ããã®èª¿æŽã«èª²é¡ãæããŠããŸãã ãã®æ¬ã§ã¯LLMãã©ã®ããã«è§£éããŠåæãããŠããã®ãããªã«ããããŠã¯ãããªãã®ããªã©ãæžãããŠããããµãŒãã¹ã®ããã®ãã£ããã¢ãã以å€ã§ã¯ãçŸåšã®AIé§åéçºã«ã掻ãããæ¬ãªã®ã§ã¯ãªãããšæã£ãŠããŸãã ç¶ããŠã¯ããã£ãªã¢ãããã¯ãéçºéš 転è·éçºããŒã ã®åç°ããã§ããåç°ãããéžãã ã®ã¯ãå€ãã®ãšã³ãžãã¢ã«ãšã£ãŠãã€ãã«ãšãããããã®äžåããè¯ãã³ãŒããšã¯äœãããèãããã£ããããããæ¬ã«ã€ããŠèªã£ãŠããããŸããã â åç° / ãšã³ãžã㢠â ãã£ãªã¢ãããã¯ãéçºéš 転è·éçºããŒã ã®åç°ã§ãã ãªãŒããã«ã³ãŒã âããè¯ãã³ãŒããæžãããã®ã·ã³ãã«ã§å®è·µçãªãã¯ãã㯠ãªãŒããã«ã³ãŒã âããè¯ãã³ãŒããæžãããã®ã·ã³ãã«ã§å®è·µçãªãã¯ãã㯠(Theory in practice) äœè
: ãã¹ãã£ã³ã»ããºãŠã§ã« , ãã¬ã-ã»ãã©ã·ã§ , è§åŸå
ž ãªã©ã€ãªãŒãžã£ãã³ Amazon ç§ã玹ä»ããããªãŒããã«ã³ãŒããã¯ãã³ãŒãã®èªã¿ãããã«çŠç¹ãåœãŠãå®è·µçãªæžç±ã§ãã ãã®æ¬ãèªãã ãã£ãã æ°äººãšã³ãžãã¢ãšããŠåãå§ãããšãããæ£ããã³ãŒãã®æžãæ¹ããããããªããŠæ©ãã§ããŸãããåãã³ãŒãã¯æžããããã©ããããè¯ãã³ãŒããªã®ãèªä¿¡ãæãŠãªããã¬ãã¥ãŒã§ææãããŠãããªãããæžãã¹ããªã®ãè
ã«èœã¡ãªãããšããããŸããã ãããªãšãã«åºäŒã£ãã®ããã®æ¬ã§ãããšã³ãžãã¢ã®éã§å®çªæžãšããŠååãèãããšãå€ãããŸãã¯ããããå§ããŠã¿ãããšæã«åããŸããã æ¬ã®å
容 æ¬æžã¯ãã³ãŒãã¯ä»ã®äººãæçæéã§çè§£ã§ããããã«æžããªããã°ãããªãããšããååã®ããšã倿°åã®ä»ãæ¹ãã³ã¡ã³ãã®æžãæ¹ãæ¡ä»¶åå²ã®æŽçãåŒã®åå²ãšãã£ãããŒãã13ç« ã«ããã£ãŠè§£èª¬ããŠããŸãã Before/Afterã®ã³ãŒãäŸãè±å¯ã«èŒã£ãŠããŠããèªã¿ãããã³ãŒããšã¯äœãããå®è·µçã«èª¬æããŠãããŸãã ã³ãŒãã¬ãã¥ãŒã®ãšãããªããšãªãããã£ã¡ã®ã»ãããããšæãããšã¯æããã®ã«ãèšèã«ã§ããªããããããçµéšãæã£ãŠããæ¹ã¯å€ãã®ã§ã¯ãªãã§ããããããã®æ¬ãèªããšãããªãèªã¿ããããšæããã®ãããè«ççã«èª¬æã§ããããã«ãªããŸãã ãã®æ¬ãã圱é¿ãåããç¹/åŠãã ç¹ äžçªå€§ããã£ãã®ã¯ãã³ãŒããæžãäžã§ã®èªä¿¡ãçãŸããããšã§ãã æ¬æžãèªãåã¯ãã¬ãã¥ãŒã§ãããçŽããã»ããããããšèšãããŠãããããäžè¬çãªã«ãŒã«ãªã®ãããã®äººã®å¥œã¿ãªã®ãåºå¥ãã€ããŸããã§ãããæ¬æžã¯ãçè§£ãããŸã§ã«ãããæéããçããããšããæç¢ºãªå€æè»žã瀺ããŠãããŸãã ãã®è»žãæã«å
¥ããããšã§ãããªãããæžããã®ãããèªåã®èšèã§èª¬æã§ããããã«ãªããŸããã äŸãã°ã1è¡ã«è©°ã蟌ãã è€éãªåŒããã2è¡ã«åããã»ããçè§£ããããã±ãŒã¹ããããçãã³ãŒãããè¯ãã³ãŒãã ãšæã蟌ãã§ããåœæã®èªåã«ãšã£ãŠãã³ãŒãã®è¯ãæªãã¯è¡æ°ã§ã¯ãªãèªã¿æã®çè§£ã³ã¹ãã§æ±ºãŸããšããèãæ¹ã¯æ°é®®ã§ããã ç¹ã«å°è±¡ã«æ®ã£ãéšå 2ã€ãããŸãã ã²ãšã€ã¯ã³ã¡ã³ãã«ã€ããŠã®ç« ã§ããæ°äººã®é ã¯ã³ã¡ã³ããã©ãã«æžãã°ããã®ããããããçµå±ã»ãšãã©æžããŠããŸããã§ãããæ¬æžã§ã¯ãã³ãŒãããããã«ãããããšãã³ã¡ã³ãã«æžããªãããšãã€ã€ãèšèšæå³ãã³ãŒãã®æ¬ é¥ãªã©ãç£ç£ã®ã³ã¡ã³ã¿ãªãŒããšããŠã®ã³ã¡ã³ãã¯ç©æ¥µçã«æžãã¹ãã ãšè¿°ã¹ãŠããŸãã ã³ã¡ã³ããæžããæžããªããã§ã¯ãªãããèªã¿æã«ãšã£ãŠæ°ããæ
å ±ãæäŸããããã§å€æããããã®åºæºãç¥ã£ãããšã§ãã³ã¡ã³ããæžãå Žé¢ãšæžããªãå Žé¢ã®åºå¥ãã€ãããã«ãªããŸããã ããã²ãšã€ã¯ã説æå€æ°ãšèŠçŽå€æ°ã®èãæ¹ã§ããæ¬æžã§ã¯ãè€éãªåŒãç¹°ãè¿ãç»å Žããæ¡ä»¶ã倿°ã«åãåºãããšã§ãã³ãŒãã®æå³ãæç¢ºã«ããææ³ã玹ä»ãããŠããŸãã äŸãã° request.user.id == document.owner_id ãšããåŒã¯ãèŠçŽ ãå€ããŠèªã¿è§£ãã®ã«å°ãæéãããããŸããã§ãããã user_owns_document ãšãã倿°ã«çœ®ãæãããšãã³ãŒããäŒãããããšã¯ããŠãŒã¶ãŒããã®ææžã®ææè
ãã©ãããã ãšããã«ããããåŒããäœãããŠããããã§ã¯ãªããäœãæå³ããŠãããããäŒããããã«ãªãããã§ãã ãã®èãæ¹ãç¥ã£ãŠãããæ¡ä»¶åå²ãifæã®äžã«é·ãåŒããã®ãŸãŸæžãããšã«éåæãèŠããããã«ãªããŸããã倿°åãã€ãããšããå°ããªå·¥å€«ããã³ãŒãå
šäœã®èªã¿ãããã«å€§ãã圱é¿ããããšãæããŠãããäŸã§ããã ãã®ãããªæ¹ã«ãããã ã³ãŒããæžãå§ãããã®ã®ãäœãè¯ãã³ãŒããªã®ãããããªããšããæ¹ã«ã¯ãŽã£ããã®äžåã§ããèšèšãã¿ãŒã³ãã¢ãŒããã¯ãã£ã®ãããªå€§ããªè©±ã§ã¯ãªããæ¥ã
ã®ã³ãŒãã£ã³ã°ã§ããã«å®è·µã§ããå
容ãè©°ãŸã£ãŠããŸãã ãŸããçµéšãç©ãã ãšã³ãžãã¢ã«ãšã£ãŠããæ®æ®µç¡æèã«ãã£ãŠããããšãèšèªåãçŽããã£ããã«ãªããšæããŸããã¬ãã¥ãŒã§ããªããšãªããã£ã¡ã®ã»ããããããšããèšããªãã£ãæèŠã«ãèšèãäžããŠãããæ¬ã§ãã ãããã« SREã®å
šäœåãã€ããããã®å
¥éæžãšãæ¥ã
ã®ã³ãŒãã£ã³ã°ãæ¯ããå®çªæžãä»åã®2åã¯æ¹åæ§ããç°ãªããŸãããç§ã¯SLOãšãšã©ãŒããžã§ãããšããå®éçãªèŠç¹ããåç°ããã¯ãèªã¿æã®çè§£ã³ã¹ãããšããã³ãŒãã®è¯ãæªããæž¬ãåºæºããããããæ¬ããåŸãŠããŸããã å€æè»žããããšãè¿·ã£ããšãã«ç«ã¡è¿ãå Žæãã§ãããæè¡æžãšã®åºäŒãããããããã£ããã«ãªãããšããå°ãã§ããäŒãã§ããŠããã°å¬ããã§ãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«åãã¡ã³ããŒãåéããŠããŸããå°ãã§ãèå³ãæã£ãŠããã ããæ¹ã¯ããã²ãã¡ããã芧ãã ããïŒ
ããã«ã¡ã¯ããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ããã¯ãªãŒããããŒãžã£ãŒãããããŠããã£ãŠãæžç°ã§ãã ãã¡ã€ã³ãã£ã§ã¯Claude Codeã®Skillãã«ã¹ã¿ã ã³ãã³ããªã©ãPluginsçµç±ã§ç€Ÿå
å±éããŠããŸãã tech.findy.co.jp AIã«å®è£
ãä»»ããå Žé¢ãå¢ããã»ã©ãéçºè
ã¯è€æ°ã®ã¿ã¹ã¯ã䞊åã§é²ããããªããŸãã ã¬ãã¥ãŒåŸ
ã¡ã®éã«å¥ã®Issueã«çæããããhotfixãå³åº§ã«å¯Ÿå¿ããããè¯ãäŸã§ãã ãã¡ã€ã³ãã£ã§ãGit worktreeãæŽ»çšãã䞊åéçºãå®è·µããŠããŸãã tech.findy.co.jp Git worktreeã¯éåžžã«äŸ¿å©ãªæ©èœã§ãããå®éã«ããŒã ã§äœ¿ãããšãããšãã³ãã³ããå€ãããã¯ãªãŒã³ã¢ãããå¿ããããç°å¢ãã¡ã€ã«ã®ã³ããŒãé¢åããšãã£ãéçšäžã®ããŒãã«ãç«ã¡ã¯ã ãããŸãã æ¬èšäºã§ã¯ãGit worktreeã®æäœãClaude Codeã®ã¹ãã«ã«éã蟌ããŠãããŒã å
šå¡ãç°¡åã«äžŠåéçºã§ããããã«ããåãçµã¿ã玹ä»ããŸããã¹ãã«ã®èšèšå€æããä»ã®ã¹ãã«ãšã®é£æºã«ã€ããŠãè§Šããã®ã§ãClaude Codeã§ã®å¹çåã«èå³ãããæ¹ã®åèã«ãªãã°å¹žãã§ãã Git worktreeãšã¯ æåã§worktreeã䜿ã£ãå Žå ã¹ãã«ã«éã蟌ãã ã¹ãã«èšèšã®å·¥å€« ä»ã®ã¹ãã«ãšã®é£æº ãè€éãã¯ã¹ãã«ã«éã蟌ããããšããèãæ¹ ãŸãšã Git worktreeãšã¯ Git worktreeã¯ã1ã€ã®ãªããžããªã«å¯ŸããŠè€æ°ã®äœæ¥ãã£ã¬ã¯ããªãäœæããGitã®æ©èœã§ãã éåžžããããã©ã³ãã§äœæ¥äžã«å¥ã®ãã©ã³ããžåãæ¿ããã«ã¯ git stash ã git switch ãå¿
èŠã§ãããworktreeã䜿ãã°ãã£ã¬ã¯ããªããšãã©ã³ããåé¢ã§ããŸãã # ã¡ã€ã³ã®äœæ¥ãã£ã¬ã¯ããªïŒfeature/auth ãã©ã³ãïŒ ~/project/MyApp/ # worktreeã§äœã£ãå¥ã®äœæ¥ãã£ã¬ã¯ããªïŒfix/login-bug ãã©ã³ãïŒ ~/project/MyApp/.claude/worktrees/fix-login-bug/ ããããã®ãã£ã¬ã¯ããªãç¬ç«ãããã©ã³ããæã€ã®ã§ãçæ¹ã§ã³ãŒããæžããªãããããçæ¹ã§ã¬ãã¥ãŒä¿®æ£ãé²ãããšãã£ãäœ¿ãæ¹ãã§ããŸãã æåã§worktreeã䜿ã£ãå Žå Git worktreeã®æŠå¿µã¯ã·ã³ãã«ã§ãããå®éã®éçšã§ã¯æé ãå€ããªããŸããæ°ããworktreeãäœã£ãŠäœæ¥ãå§ãããŸã§ã«å¿
èŠãªã³ãã³ãã䞊ã¹ãŠã¿ãŸãã # 1. worktreeãäœæããŠãã©ã³ããåã git worktree add .claude/worktrees/fix-login-bug -b fix/login-bug # 2. äœæãããã£ã¬ã¯ããªã«ç§»å cd .claude/worktrees/fix-login-bug # 3. ç°å¢ãã¡ã€ã«ãã³ããŒïŒ.envãSSLèšŒææžãªã©ïŒ cp ../../.env . cp ../../.env.local . cp ../../localhost.pem . cp ../../localhost-key.pem . cp ../../.claude/settings.local.json .claude/ # 4. äŸåããã±ãŒãžã®ã€ã³ã¹ããŒã« npm install # or bundle install, etc. 4ã¹ããããã³ãã³ãã«ããŠ8è¡ä»¥äžããããããã¯ãworktreeãäœããã ãã®è©±ã§ãã äœæ¥ãçµãã£ãããšã®ã¯ãªãŒã³ã¢ãããå¿ããŠã¯ãããŸããã # 5. å
ã®ãã£ã¬ã¯ããªã«æ»ã cd ~/project/MyApp # 6. worktreeãåé€ git worktree remove .claude/worktrees/fix-login-bug # 7. äžèŠãªãã©ã³ããåé€ïŒãªãã·ã§ã³ïŒ git branch -d fix/login-bug ããã ãã®æé ãæ¯åæ£ç¢ºã«ããªãã®ã¯ãæ
£ããéçºè
ã§ãé¢åã§ãã ããŒã ã«å°å
¥ããããšãããšãæé æžãèªãæ°ã«ãªããªãããã¯ãªãŒã³ã¢ãããå¿ããŠworktreeãæ®ãç¶ããããšããåé¡ãèµ·ããŸããå®éã瀟å
ã§worktreeãå§ããŠãã䟿å©ããã ãã©ãæé ãå€ããŠè€éã«èŠããŠããŸãéãè
°ãäžãããªãããšããåå¿ã倧åã§ããã ã¹ãã«ã«éã蟌ãã Claude Codeã«ã¯ãã¹ãã«ããšããä»çµã¿ããããŸããMarkdownãã¡ã€ã«ã«ã¯ãŒã¯ãããŒãèšè¿°ããŠãããšãã¹ã©ãã·ã¥ã³ãã³ããšããŠåŒã³åºããŸãã ã¹ãã«ã®äœãæ¹ãåºæ¬çãªèãæ¹ã«ã€ããŠã¯ã次ã®èšäºã§è©³ãã玹ä»ããŠããŸãã tech.findy.co.jp å®ã¯Claude Codeèªäœã«ã --worktree ãã©ã°ããããworktreeã®äœæãšã»ãã·ã§ã³åãæ¿ãã¯ã§ããŸãããã ããããã ãã§ã¯è¶³ããŸããã§ããã --worktree ãæ
ãã®ã¯worktreeã®äœæã®ã¿ã§ã .env ã®ã³ããŒãäŸåããã±ãŒãžã®ã€ã³ã¹ããŒã«ãšãã£ãç°å¢ã»ããã¢ããã¯å«ãŸããŸããããããžã§ã¯ãããšã«ã»ããã¢ããèŠä»¶ãç°ãªãç¹ããä»ã®ãšãŒãžã§ã³ããã¹ãã«ããã¯ãŒã¯ãããŒçã«åŒã³åºãããç¹ãèãããšãã¹ãã«ãšããŠèšèšããå¿
èŠããããŸããã ããã§ä»åã¯ãGit worktreeã®è€éãªæäœãã¹ãã«ã«éã蟌ããããšã«ããŸããã äœ¿ãæ¹ã¯ã·ã³ãã«ã§ããClaude Codeã§æ¬¡ã®ããã«å
¥åããã ãã§ãworktreeã®äœæããç°å¢ã»ããã¢ãããŸã§ãå®äºããŸãã > /git-worktree feature/add-auth å
ã»ã©ã®8è¡ä»¥äžã®ã³ãã³ããããã®1è¡ã«éçŽãããŸããè£åŽã§ã¯æ¬¡ã®åŠçãèªåã§å®è¡ãããŠããŸãã ã¡ã€ã³ãªããžããªã®ãã¹ãèšé² EnterWorktree ã§ .claude/worktrees/feature-add-auth/ ã«worktreeãäœæ ã»ãã·ã§ã³ã®äœæ¥ãã£ã¬ã¯ããªãèªåã§åãæ¿ã .env ãSSLèšŒææžãªã©ãå¿
èŠãªèšå®ãã¡ã€ã«ãã³ã㌠ããã§éèŠãªã®ããClaude CodeãæäŸãã EnterWorktree ãš ExitWorktree ãšãã2ã€ã®ããŒã«ã§ãã EnterWorktree ã¯worktreeã®äœæãšã»ãã·ã§ã³ã®ãã£ã¬ã¯ããªåãæ¿ããäžåºŠã«è¡ããŸããéåžžã® git worktree ã³ãã³ãã§ã¯äœæåŸã« cd ã§ç§»åããå¿
èŠããããŸããã EnterWorktree ãªãClaude Codeã®ã»ãã·ã§ã³èªäœãæ°ããworktreeã«åãæ¿ããããããã®åŸã®ãã¹ãŠã®æäœãèªåçã«worktreeå
ã§å®è¡ãããŸãã äœæ¥ãçµãã£ãã ExitWorktree ãåŒã¶ã ãã§ããå
ã®ãã£ã¬ã¯ããªã«æ»ãã€ã€ãã»ãã·ã§ã³çµäºæã«worktreeãæ®ããåé€ããããéžã¹ãŸãããã¯ãªãŒã³ã¢ãããå¿ããŠworktreeãæºãŸãç¶ãããåé¡ã¯ããã®ã©ã€ããµã€ã¯ã«ç®¡çã§è§£æ¶ãããŸããã ã¹ãã«èšèšã®å·¥å€« ãã®ã¹ãã«ã¯ãworktreeã®äœæãæ
åœããã¹ãã«ãšãç°å¢ã»ããã¢ãããæ
åœããã¹ãã«ã®2ã€ã«åé¢ããŠããŸãã äœæã¹ãã«ã¯worktreeã®äœæãšã³ã³ããã¹ãåãæ¿ããæ
åœããŸããã»ããã¢ããã¹ãã«ã¯äœæãããworktreeã«ç°å¢ãã¡ã€ã«ãã³ããŒããåŠçãæ
åœããŸãã ãªãåããã®ããçç±ã¯ããããžã§ã¯ãããšã«ã»ããã¢ããèŠä»¶ãç°ãªãããã§ãã ãããããžã§ã¯ãã§ã¯ .env ãš .env.local ã ãã³ããŒããã°ååãããããŸãããå¥ã®ãããžã§ã¯ãã§ã¯SSLèšŒææžãå¿
èŠã§ãããã«å¥ã®ãããžã§ã¯ãã§ã¯ããŒã¿ããŒã¹ã®ãã€ã°ã¬ãŒã·ã§ã³ãŸã§èµ°ãããããããããŸããã ã»ããã¢ããã¹ãã«ã¯ãããžã§ã¯ãããŒã«ã«ã§ãªãŒããŒã©ã€ãã§ããèšèšã«ããŸããã ãããžã§ã¯ãã®ã«ãŒãã«ã»ããã¢ããçšã®ã·ã§ã«ã¹ã¯ãªããã眮ãã°ããã©ã°ã€ã³ã®ããã©ã«ãã¹ã¯ãªããã®ä»£ããã«ãã¡ããå®è¡ãããŸãã # ãããžã§ã¯ãã«åºæã®ã»ããã¢ããã¹ã¯ãªãããããã°ãã¡ãã䜿ã .claude/skills/setup-worktree/setup-worktree.sh â ãããžã§ã¯ãåºæïŒåªå
ïŒ # ãªããã°ãã©ã°ã€ã³ã®ããã©ã«ãã䜿ã ~/.claude/plugins/.../setup-worktree.sh â ããã©ã«ã worktreeã®äœæããžãã¯èªäœã¯ãããžã§ã¯ãã«ãã£ãŠå€ãããªãã®ã§ãäœæã¹ãã«åŽã¯å
±éã®ãŸãŸç¶æããŠããŸããå€ããéšåãšå€ãããªãéšåãåé¢ããããšã§ãåãããžã§ã¯ãã¯èªåã«å¿
èŠãªã»ããã¢ããã ããã«ã¹ã¿ãã€ãºã§ããããã«ãªããŸããã ä»ã®ã¹ãã«ãšã®é£æº ãã®ã¹ãã«ãæ¬é ãçºæ®ããã®ã¯ãä»ã®ã¹ãã«ãšçµã¿åããããšãã§ãã 瀟å
ã§ã¯GitHubããIssueãèªã¿åããå®è£
ããŠPull requestãäœæãããšãŒãžã§ã³ãã䜿ã£ãŠããŸãããã®ãšãŒãžã§ã³ãã¯å
éšã§ä»å玹ä»ããgit-worktreeã¹ãã«ãåŒã³åºããŠãIssueåäœã§worktreeãäœæããŸãã GitHub IssueãååŸ git-worktreeã¹ãã«ã§worktreeãäœæ â ããã§æŽ»çš Issueã®å
容ã«åºã¥ããŠå®è£
Pull requestãäœæ worktreeãã¯ãªãŒã³ã¢ãã è€æ°ã®Issueã䞊åã§åŠçããå ŽåãIssue1ã€ã«ã€ãworktreeã1ã€äœãããŸãããããããç¬ç«ãããã£ã¬ã¯ããªã§åãã®ã§ãã³ã³ããªã¯ããæ°ã«ãã䞊åå®è¡ã§ããŸãã git-worktreeã¹ãã«ãåäœã§äœã£ãŠãããããšã§ããšãŒãžã§ã³ãã¯ãworktreeã®äœãæ¹ããç¥ããªããŠã䞊åéçºãå®çŸã§ããŠããŸããããworktreeã®äœææé ãå€ãã£ãŠããgit-worktreeã¹ãã«ã ããä¿®æ£ããã°æžã¿ããšãŒãžã§ã³ãåŽã«æãå
¥ããå¿
èŠããããŸããã ã¹ãã«ã®ç²åºŠãæèããŠãããšããããããšãŒãžã§ã³ãã£ãã¯ãªã¯ãŒã¯ãããŒãçµã¿ããããªããŸãã1ã€ã®ã¹ãã«ã«æ©èœãè©°ã蟌ã¿ããããåå©çšå¯èœãªåäœã«åããŠããããšã§ãä»ã®ãšãŒãžã§ã³ããã¹ãã«ãªã©ããèªåšã«çµã¿åãããããããã«ãªããŸãã ãè€éãã¯ã¹ãã«ã«éã蟌ããããšããèãæ¹ ä»åã®åãçµã¿ã§å®æããã®ã¯ãããŒã«ã®è€éãã¯å¿
ãããæé€ããªããŠãããšããããšã§ããGit worktreeã®æäœãè€éãªã®ã¯ãããã ãæè»æ§ãããããã§ããåé¡ã¯ããã®è€éããæ¯åãŠãŒã¶ãŒã«é²åºããããšã«ãããŸãã Claude Codeã®ã¹ãã«ã¯ããã®èª²é¡ã«å¯Ÿããæå¹ãªã¢ãããŒãã§ããè€éãªæäœæé ãMarkdownãã¡ã€ã«ã«èšè¿°ããŠã¹ãã«ãšããŠç»é²ããã°ããŠãŒã¶ãŒã¯ã¹ã©ãã·ã¥ã³ãã³ã1ã€ã§åŒã³åºããŸãã ã¹ãã«ã«éã蟌ãã察象ã¯ãGit worktreeã«éããŸããããããžã§ã¯ãåºæã®ãããã€æé ãè€éãªãã¹ãå®è¡ã³ãã³ããç°å¢æ§ç¯ã®æé æžãªã©ããæé ãå€ããŠé¢åã ãã©ãããããšã¯æ¯ååãããšããæäœãåè£ã«ãªããŸãã ãã€ã³ãã¯ãã¹ãã«ãèšèšãããšãã«ãå€ããéšåããšãå€ãããªãéšåããèŠæ¥µããããšã§ããä»åã§ããã°ãworktreeã®äœæããžãã¯ã¯å€ãããªãéšåãã»ããã¢ããåŠçã¯å€ããéšåã§ãããå€ããéšåã ãããªãŒããŒã©ã€ãå¯èœã«ããŠãããšãæ±çšæ§ãšæè»æ§ãäž¡ç«ã§ããŸãã ãŸãšã ããŒã å
ã§ãworktreeã¯é£ããããšæ¬é ãããŠãã䞊åéçºããGit worktreeã®è€éãªæäœãClaude Codeã¹ãã«ã«éã蟌ããããšã§ã誰ã§ãæ°è»œã«äœ¿ãããã®ã«ãªããŸããã èšèšé¢ã§ã¯ãworktreeäœæãšç°å¢ã»ããã¢ãããåé¢ãããããžã§ã¯ãããšã«ã»ããã¢ãããã«ã¹ã¿ãã€ãºã§ããããã«ããŸããããã®åé¢ã«ãã£ãŠãä»ã®ãšãŒãžã§ã³ããã¹ãã«ãããåå©çšãããããªã£ãŠããŸãã ãæé ãå€ããŠé¢åãªæäœããèŠã€ããããã¹ãã«ã«éã蟌ããããªããæ€èšããŠã¿ãŠãã ãããClaude Codeã®ã¹ãã«ã¯ãããŒã ã®éçºäœéšãåºäžããã匷åãªææ®µã§ãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ãšã³ãžãã¢ãããŠãã山岞ã§ãã Findy AI Careerã¯AI人æã«ç¹åããæ±äººãã©ãããã©ãŒã ã§ããæ²èŒããæ±äººç¥šã¯ãäŒæ¥ã®æ±äººæ
å ±ãããŒã¹ã«AI掻çšç¶æ³ãæ¹éãçã蟌ãã§äœæããŠããŸãããã®æ¥åã¯Findyã®bizã¡ã³ããŒãæ
åœããŠããã1ä»¶ããã20åã1æéã»ã©ããã£ãŠããŸããã ai-career.findy-code.io ä»åããã®æ±äººç¥šäœæã®ã¯ãŒã¯ãããŒãClaude Codeã®ã«ã¹ã¿ã ã¹ã©ãã·ã¥ã³ãã³ããšããŠå®è£
ããäœæ¥æéãæå€§1æéããçŽ5åã«ççž®ããŸããã ãã®èšäºã§ã¯ãClaude CodeãšMCPïŒModel Context ProtocolïŒãçµã¿åãããæ¥åèªååã®å
·äœçãªé²ãæ¹ãšããšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒã䜿ããããŒã«ã«ä»äžãããŸã§ã®éçšã玹ä»ããŸãã瀟å
ã®å®åæ¥åãClaude Codeã§èªååãããæ¹ã®åèã«ãªãã°å¹žãã§ãã æ±äººç¥šäœæã®æ¥åãã㌠äœã課é¡ã ã£ãã®ã 解決ç: Claude Codeã®ã«ã¹ã¿ã ã¹ã©ãã·ã¥ã³ãã³ã Notion MCPã§äŒæ¥æ
å ±ãèªåååŸ ããã³ããèšèšã®å·¥å€« 詊è¡é¯èª€ããéšå ãšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒãžã®å±é ææ ãŸãšã æ±äººç¥šäœæã®æ¥åãã㌠ãŸããæ±äººç¥šãã©ã®ããã«äœãããŠãããã説æããŸãã bizã¡ã³ããŒãäŒæ¥ãšã®åè«ã§ãã¢ãªã³ã°ããå
容ãããšã«ãFindyåŽã§Findy AI Careeråãã®æ±äººç¥šãäœæã»æ²èŒããŠããŸããå
·äœçãªãããŒã¯æ¬¡ã®ãšããã§ãã æ±äººç¥šã®URLã»è©³çްæ
å ±ãååŸ åè«ã«ãŠAIèšè¿°éšåãã¯ãããšãã詳现æ
å ±ããã¢ãªã³ã° Notionã®äŒæ¥æ
å ±ã»åè«ãã°ãFindy AI Careeräžã«æ²èŒããŠããæ¢åæ±äººãWebäžã®AIé¢é£èšäºãçµ±åããŠClaudeïŒWebçïŒã§ãã©ããäœæ Google Docã«ãã©ãããã³ããããäŒæ¥ãšGoogle Docäžã§å
å®¹ãæšæ² ãã©ããFIXåŸãããŒã¯ããŠã³ã«å€æããŠç®¡çç»é¢ããå
¥çš¿ ãã®ãã¡ã¹ããã3ãæãå·¥æ°ã®ãããããã«ããã¯ã§ããã äœã課é¡ã ã£ãã®ã ã¹ããã3ã®åé¡ã¯å€§ãã2ã€ãããŸããã 1ã€ç®ã¯ã åç
§ãã¹ãæ
å ±ãœãŒã¹ãæ£ãã°ã£ãŠãã ããšã§ããæ±äººç¥šãäœæããã«ã¯ãNotionã«èšé²ãããåè«ã®ãã¢ãªã³ã°æ
å ±ãæ¢åã®Findy AI Careeræ±äººãäŒæ¥ã®ããã¯ããã°ãç»å£èšäºãªã©ãè€æ°ã®ãœãŒã¹ãæäœæ¥ã§éããŠçµ±åããå¿
èŠããããŸãããäžã«ã¯èªèšŒãå¿
èŠãªãœãŒã¹ããããæ
å ±ãèªããŠããªãã±ãŒã¹ãçºçããŠããŸããã 2ã€ç®ã¯ã äœæ¥ãå±äººåããŠãã ããšã§ããåã¡ã³ããŒãããããã®ããã³ããã§Claudeã«æããŠãããããåºåå質ã«å人差ããããŸãããçµéšè±å¯ãªã¡ã³ããŒãªãçŽ20åã§æžãäœæ¥ããäžæ
£ããªã¡ã³ããŒã ãš1æéè¿ããããããšããããå質ã®ãã©ã€ãã課é¡ã§ããã 解決ç: Claude Codeã®ã«ã¹ã¿ã ã¹ã©ãã·ã¥ã³ãã³ã ãããã®èª²é¡ã解決ããããã«ãClaude Codeã®ã«ã¹ã¿ã ã¹ã©ãã·ã¥ã³ãã³ããéçºããŸãããäŒæ¥åãšæ±äººç¥šURLãæž¡ãã ãã§ãå¿
èŠãªæ
å ±ãèªååéããæ±äººç¥šãã©ãããäžçºã§çæããã¯ãŒã¯ãããŒã§ãã å
šäœã®åŠçãããŒã¯æ¬¡ã®ããã«ãªã£ãŠããŸãã å®éã«ã³ãã³ããå®è¡ãããšã次ã®ãããªå¯Ÿè©±åœ¢åŒã§æ±äººç¥šãçæãããŸãã > /create-job-posting ⺠æ±äººç¥šäœæãéå§ããŸãã äŒæ¥åãšæ¢åæ±äººç¥šã®URLãæããŠãã ããã > ABCæ ªåŒäŒç€Ÿ ⺠æ¢åæ±äººç¥šã®URLãŸãã¯è¿œå æ
å ±ã¯ãããŸããïŒ > https://ai-career.findy-code.io/companies/xxx/jobs/yyy ⺠Notionãã ABCæ ªåŒäŒç€Ÿ ã®æ
å ±ãæ€çŽ¢ããŸãã ⺠以äžã®NotionããŒãžãèŠã€ãããŸãããã©ã®ããŒãžã䜿çšããŸããïŒ 1. ABCæ ªåŒäŒç€ŸïŒåè« - 2025/10/09 - AIç¹åã®æ±äººãæ²èŒããæ¹é... 2. ABCæ ªåŒäŒç€ŸïŒåè« - 2025/08/22 - AI人æã®æ¡çšããŒãºã«ã€ããŠ... 3. ãã¹ãŠäœ¿çšãã 4. 䜿çšããªãïŒã¹ãããïŒ > 1 ⺠æ
å ±ãååŸããŸãããæ±äººç¥šãã©ãããäœæããŸãã ⺠Write(drafts/abc_ai-engineer_20251224.md) â¿ Wrote 368 lines ⺠æ±äººç¥šãã©ãããäœæããŸããã 確èªãå¿
èŠãªé
ç® - çæAI掻çšã©ãã«: 4ã€ã®éžæè¢ãã確èªãå¿
èŠ - AI掻çšã«å¯Ÿããè©äŸ¡å¶åºŠ: æ¢åæ±äººã«èšèŒãªã - ãšã³ãžãã¢ã»å
šç€Ÿã®AIå©çšå²å: å
·äœçãªæ°å€ãäžæ Notion MCPã§äŒæ¥æ
å ±ãèªåååŸ MCPïŒModel Context ProtocolïŒ ã¯ãAIã¢ã·ã¹ã¿ã³ããå€éšã®ããŒã¿ãœãŒã¹ãããŒã«ãšé£æºããããã®æšæºãããã³ã«ã§ããä»åã¯Notion MCPã䜿ããäŒæ¥åãå
¥åããã ãã§åè«æã®ãã¢ãªã³ã°æ
å ±ãæ€çŽ¢ã»ååŸã§ããããã«ããŸããã Notionã«ã¯å€§éã®ããŒãžãååšãããããã«ããŽãªãšããŒãžã¿ã€ããæå®ããŠæ€çŽ¢ç¯å²ãçµã蟌ãã§ããŸããæ€çŽ¢çµæãè€æ°ããå Žåã¯ãAIã«èªåã§éžã°ããããŠãŒã¶ãŒã«éžæããŠããã圢ã«ããããšã§ã誀ã£ãäŒæ¥æ
å ±ãåç
§ãããªã¹ã¯ãæé€ããŸããã ããã³ããèšèšã®å·¥å€« ã«ã¹ã¿ã ã¹ã©ãã·ã¥ã³ãã³ãã®ããã³ããã«ã¯ãå質ãæ
ä¿ããããã«ããã€ãã®å·¥å€«ãå
¥ããŠããŸãã ãŸããé°å²æ°ã§æžããªãããšããååã§ããæ
å ±ãœãŒã¹ã«èšèŒããªãé
ç®ã¯æšæž¬ã§åãããã確èªãå¿
èŠãªé
ç®ããšããŠãªã¹ãã¢ããããããã«ããŸãããããã«ããããã©ããã®ã©ããç¢ºå®æ
å ±ã§ã©ããæªç¢ºèªãªã®ããäžç®ã§ããããŸãã æ¢åã®Findy AI Careeræ±äººããã®æ
å ±ååŸã«ã工倫ããããŸããURLãæž¡ãããå Žåã¯APIãåŒã³åºããŠæ±äººããŒã¿ãJSON圢åŒã§ååŸããäŒç€ŸæŠèŠãæè¡ã¹ã¿ãã¯ãçŠå©åçãšãã£ãå
±éé
ç®ã¯æ£ç¢ºã«ã³ããŒãããããã«ã©ã ãæå®ããŠããŸããããã«ãããæäœæ¥ã§ã³ãããããå·¥çšãäžèŠã«ãªããŸããã ãŸããæ±äººç¥šã®è¡šçŸãããŒã³ãªã©ãã¡ã³ããŒããšã«å€æãåãããŠããéšåãããã³ããã«ã«ãŒã«ãšããŠæèšããŠããŸããããããæé»ç¥ãã³ãŒãã«èœãšã蟌ãã ããšã§ã誰ãå®è¡ããŠãåãå質ã®åºåãåŸãããããã«ãªããŸããã 詊è¡é¯èª€ããéšå åæã®ããã³ããã§ã¯ãAIãæ
å ±ãè£å®ããããåé¡ããããŸããããœãŒã¹ã«èšèŒããªããAI掻çšã«å¯Ÿããè©äŸ¡å¶åºŠããããšã³ãžãã¢ã®AIå©çšå²åããšãã£ãé
ç®ãããã£ãšããããåããŠããŸãããšããããŸããããœãŒã¹ã®æ¡çšåºæºã人ã«ãã£ãŠç°ãªãå Žåããç¢ºèªæŒããèµ·ããŠããŸããªã¹ã¯ããã£ãããããæ
å ±ããªãå Žåã¯ãèŠç¢ºèªããšæèšãããã«ãŒã«ã远å ããŸããã Notion MCPã®æ€çŽ¢ç²ŸåºŠã«ã課é¡ããããŸãããåæã®ããã³ããã§ã¯æ€çŽ¢ç¯å²ã®çµã蟌ã¿ãçããé¢ä¿ãªãããŒãžã䌌ããããªããŒãžããŸãšããŠèªã¿èŸŒãã§ããŸããªã¹ã¯ããããæ€çŽ¢çµæã®ç¢ºå®æ§ãæ
ä¿ã§ããŠããŸããã§ãããNotion MCPã®æ€çŽ¢ç²ŸåºŠã¯ãæ¥ç¶å
ã®ããŒã¿ãã©ãã ãæŽçãããŠãããã«å·Šå³ãããŸããä»å粟床é«ãæ€çŽ¢ã§ããã®ã¯ãbizã¡ã³ããŒãNotionã®ããŒã¿ããŒã¹ãã«ããŽãªãããŒãžã¿ã€ãã§æŽåããŠãããŠããããã§ãããã®éçšã®ãããã§ãã«ããŽãªãçµã蟌ãã äžã§äŒæ¥åã§ãã£ã«ã¿ãªã³ã°ããæ¹æ³ãåããŸããã ãšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒãžã®å±é bizã¡ã³ããŒãClaude Codeã䜿ãã®ã¯åããŠã ã£ããããHomebrewã®ã€ã³ã¹ããŒã«ããå§ãŸãã»ããã¢ããã¬ã€ããREADMEã«çšæããŸãããã¿ãŒããã«ã®éãæ¹ãgitã®åæèšå®ãAPIã®èªèšŒèšå®ãPersonal Access Tokenã®äœææé ãŸã§ãã¹ã¯ãªãŒã³ã·ã§ããä»ãã§è§£èª¬ããŠããŸãã å®éã«bizã¡ã³ããŒã«æäœããŠããããæ«é²ç®äŒãéå¬ããŸããããã®å Žã§ãNotionã®æ€çŽ¢ã§ãããããªãäŒæ¥ãããããæ¢åæ±äººããæµçšãããé
ç®ãã³ããŒãããŠããªãããšãã£ããã£ãŒãããã¯ãããã ããNotion MCPã®æ€çŽ¢ç¯å²ãFindy APIããã®ããŒã¿ååŸãæ¹åããŠãããŸããã ææ å°å
¥åŸã®å€åããŸãšããŸãã ææš Before After äœæ¥æéïŒ1ä»¶ãããïŒ 20åã1æé çŽ5å å質ã®ãã©ã€ã çµéšå€ã«äŸå 誰ã§ãåæ°Žæº ããã³ãã å人ããšã«ãã©ãã© ã³ãã³ããšããŠçµ±äž æ
å ±ãœãŒã¹ã®åé æäœæ¥ã§è€æ°ãµã€ãå·¡å èªåååŸ çµéšè±å¯ãªã¡ã³ããŒã§ã20åãã5åãžãšççž®ãããŠããã䞊åã§è€æ°ã®æ±äººç¥šãäœæã§ããããã«ããªããŸããã å®éã«å©çšããbizã¡ã³ããŒããã¯ãåºåããã®ãŸãŸäœ¿ããã¬ãã«ã§ãæçŽããã»ãšãã©èŠããªããªã£ãããšå¥œè©ãåŸãŠããŸãã ããã«å¬ããå€åãšããŠããšã³ãžãã¢ãªã³ã°ã®ããã¯ã°ã©ãŠã³ããå
šãæããªãbizã¡ã³ããŒãããã®ããŒã«ã®ä»çµã¿ãå¿çšããŠèªãæ°ããæ©èœã远å ããããã«ãªããŸãããæ¬æ©èœããã£ããã§ãçŸå Žã®èª²é¡ã«åãããŠæ©èœãäœã£ãŠãããšããæ¥åã®å¹çåãèœåçã«èµ·ããããã«ãªã£ãã®ã§ãã bizã¡ã³ããŒããã¯ãåã«æ±äººç¥šäœæã®æ¥åå¹çã ãã§ãªããæ¥åå
šäœã®å¹çåãèªãå³ãåºç€ãã§ãããä»çµã¿ãèãæ¹ãæããŠããã£ãããšã§ãå¹çåããŒã«ããšã³ãžãã¢é Œãã«ããã®ã§ã¯ãªãèªåã§ãã§ããç¯å²ããããšæ°ä»ããããããšãã声ãããã ããŠããŸãã ãŸãšã ä»åã®åãçµã¿ãéããŠæããã®ã¯ãæé»ç¥ãããã³ããã«èœãšã蟌ãããšã®äŸ¡å€ã§ããå人ã®ã¹ãã«ãçµéšã«äŸåããŠããæ¥åããã«ã¹ã¿ã ã¹ã©ãã·ã¥ã³ãã³ããšããŠã³ãŒãåããããšã§ãããŒã å
šäœã§åãå質ãæ
ä¿ã§ããããã«ãªããŸããã ãã®ãããžã§ã¯ãã¯ãbizã¡ã³ããŒãšã®äŒè©±ãã課é¡ãæŸãäžããããšããã£ããã§ãããæ®æ®µããbizã¡ã³ããŒãšã³ãã¥ãã±ãŒã·ã§ã³ãåããå°ãããšãæ°è»œã«çžè«ããŠããããé¢ä¿ãäœã£ãŠããããšããããããæ¹åã®ç¬¬äžæ©ã«ãªãã®ã ãšå®æããŸããã Claude Code à MCPã®çµã¿åããã¯ã瀟å
ã®æ¥åæ¹åããŒã«ãšããŠæè»œãã€åŒ·åãªéžæè¢ã§ãã䌌ããããªèª²é¡ãæ±ããŠããæ¹ã®åèã«ãªãã°å¹žãã§ãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ãããŒã¿ãšã³ãžãã¢ã®ç°é ( @tagasyksk )ã§ãã ãã¡ã€ã³ãã£ã®ããŒã¿åºç€ã¯ãCTO宀ããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã ãäºæ¥éšæšªæã§éçºã»éçšãæ
ã£ãŠããŸããäºæ¥ã®æ¡å€§ã«äŒŽã£ãŠãããã¯ãæ°ãæ¥å¢ããåœåæ¡çšããŠããããŒã¿ã¡ãã·ã¥ã®ã¢ãŒããã¯ãã£ã§ã¯ç®¡çã³ã¹ãã®å¢å€§ããµã€ãåãšãã£ã課é¡ãé¡åšåããŠããŸããã æ¬èšäºã§ã¯ãGoogle Cloudãããžã§ã¯ãã®çµ±åãå
±éåãšåæš©ã®ãã©ã³ã¹åèšèšãªã©ãããŒã¿åºç€ããã©ãããã©ãŒã ãžãšé²åãããŠããéäžã®åãçµã¿ã«ã€ããŠã玹ä»ããŸãããŸã éåã°ã§ã¯ãããŸãããåæ§ã®èª²é¡ã«åãåã£ãŠããæ¹ã®åèã«ãªãã°å¹žãã§ãã ãããŸã§ã®ããŒã¿åºç€ã®ããã¿ ããŒã¿ã¡ãã·ã¥ã®æ¡çš 責任åçç¹ã®èšèš äºæ¥æ¡å€§ã§çŽé¢ããèª²é¡ ãããã¯ãã®æ¥å¢ Google Cloudãããžã§ã¯ãã®å¢æ® æè¡éžå®ã®ãµã€ãå ãããžã§ã¯ãéããŒã¿é£æºã®è€éå ã©ã解決ããã ããŒã¿ã¡ãã·ã¥ã®åè§£éãšãããžã§ã¯ãçµ±å ãã§ãã¬ãŒãããã»ã¬ããã³ã¹ã®ç¢ºç« dbtã©ã³ã¿ã€ã ã®å
±éå Lookerã«ããäºæ¥éšæšªæã®ææšç®¡ç ä»åŸã®å±æ çµããã« ãããŸã§ã®ããŒã¿åºç€ã®ããã¿ ããŒã¿ã¡ãã·ã¥ã®æ¡çš ãã¡ã€ã³ãã£ã®ããŒã¿åºç€ã¯ã忣åã®ããŒã¿ãŠã§ã¢ããŠã¹ã¢ãŒããã¯ãã£ã§ããããŒã¿ã¡ãã·ã¥ãæ¡çšããŠããŸããã ããŒã¿ã¡ãã·ã¥ã¯ãåäºæ¥éšãããŒã¿ã®æææš©ãæã¡èªåŸçã«ããŒã¿ã管çããã¢ãŒããã¯ãã£ã§ãããã¡ã€ã³ãã£ã§ã¯æ¬¡ã®ãããªæ¹éã§éçšããŠããŸããã äºæ¥éšããšã«Google Cloudãããžã§ã¯ãåã³BigQueryãåé¢ åäºæ¥éšãããããã®ããŒã¿ã管çããã¢ã¯ã»ã¹æš©ãäºæ¥éšåäœã§å¶åŸ¡ äºæ¥éšéã®ããŒã¿å
±æã«ã¯BigQuery Sharingãå©çš 責任åçç¹ã®èšèš ããŒã¿ããŒã ã§ã¯ãã¬ã€ã€ãŒããšã«è²¬ä»»åçç¹ãå®ããåããŒã ãèªåŸçã«ããŒã¿ã掻çšã§ããäœå¶ãæŽããŠããŸãããããŒã¿ããŒã ã¯ãœãŒã¹ããŒã¿ã®åã蟌ã¿ãå
±éã®ããŒã¿ã¢ãã«ãæŽåããåäºæ¥éšã¯ãã®äžã«ç¬èªã®åæçšã¢ãã«ãæ§ç¯ãã圢ã§ãã ããŒã¿ã¡ãã·ã¥ã®éçšã«ã€ããŠã¯ãéå»ã«å¥ã®ç»å£ã§ãçºè¡šããŠããŸãã äºæ¥æ¡å€§ã§çŽé¢ããèª²é¡ ãããã¯ãã®æ¥å¢ ãã¡ã€ã³ãã£ã§ã¯2026幎ã«ãçæAIæä»£ã®äºæ¥æŠç¥2026ããšããŠãFindy InsightsãFindy AI+ãªã©4ã€ã®æ°èŠAIäºæ¥ãåæã«çºè¡šããŸããã prtimes.jp ããã«ãããåœåã®èšèšã§åæãšããŠããããããã¯ãæ°ãããçšåºŠéãããŠãããç¶æ
ã厩ããããã€ãã®èª²é¡ã衚é¢åããŸããã Google Cloudãããžã§ã¯ãã®å¢æ® åœåã®èšèšææ³ã«åãããããã¯ãããšã«Google Cloudãããžã§ã¯ããåé¢ããŠããããããããã¯ããå¢ãããã³ã«ãããžã§ã¯ããå¢ãç¶ããæ§é ã«ãªã£ãŠããŸãããIAMãäºç®ããªãœãŒã¹ã®ç®¡çããããžã§ã¯ãã®æ°ã«æ¯äŸããŠç
©éã«ãªããæ°ãããããã¯ãã远å ããããã³ã«åããããªã€ã³ãã©æ§ç¯äœæ¥ãçºçããŠããŸããã æè¡éžå®ã®ãµã€ãå ããŒã¿ã¡ãã·ã¥ã§ã¯ããŒã¿ã«é¢ããæè¡éžå®ãåäºæ¥éšã«å§ããŠãããããããŒã«ãå®è¡ç°å¢ãäºæ¥éšããšã«ãã©ãã©ã«ãªã£ãŠããŸãããããŒã¿å€æã«ã¯dbtãšDataformãæ··åšããBIãã¹ãã¬ããã·ãŒããšLooker Studioã䜵åãdbtã®å®è¡ç°å¢ãDockerã»GitHub Actionsã»ããŒã«ã«å®è¡ãšçµ±äžãããŠããªãç¶æ
ã§ãããäžå€®ã§çµ±å¶ãã¥ãããäŒç€ŸãšããŠå
±éã®ããŠããŠãèç©ãã«ããããšã課é¡ã«ãªã£ãŠããŸããã ãããžã§ã¯ãéããŒã¿é£æºã®è€éå äºæ¥éšæšªæã§ã®ããŒã¿æŽ»çšããŒãºãå¢ããŠããŸãããåãããã¯ãã®CRMã«èç©ããã顧客æ
å ±ãBigQueryã«éçŽãããå
±éäŒæ¥ãã¹ã¿ãã®æ§ç¯ããMCPãšAIãšãŒãžã§ã³ããçµã¿åãããSlackããã®æšªææ€çŽ¢ãªã©ããããã¯ããè·šãã ããŒã¿é£æºã®åãçµã¿ãåºãã£ãŠããŸãã tech.findy.co.jp ãããããããžã§ã¯ããåé¢ãããæ§æã®ãŸãŸã§ã¯ããããã¯ããå¢ãããã³ã«é£æºå
ãåã
ã§å¢å ãã管çã远ãã€ããªããªãããšãèŠããŠããŸããã ã©ã解決ããã ããŒã¿ã¡ãã·ã¥ã®åè§£éãšãããžã§ã¯ãçµ±å æ¹é転æã®æ žãšãªã£ãã®ã¯ããããŒã¿ã¡ãã·ã¥ã«ããããã¡ã€ã³åé¢ã®åäœããããžã§ã¯ãããããŒã¿ã»ããã«å€ããããšãã倿ã§ãã Google Cloudãããžã§ã¯ããäžã€ã«çµ±åããBigQueryã®ããŒã¿ã»ããåäœã§ãã¡ã€ã³ãåé¢ããæ§æã«ç§»è¡ããŸãããããã«ããããããžã§ã¯ã管çã®ãªãŒããŒãããã倧å¹
ã«åæžãã€ã€ããã¡ã€ã³ããšã®ããŒã¿ã®ç¬ç«æ§ã¯ç¶æããŠããŸãã ãã§ãã¬ãŒãããã»ã¬ããã³ã¹ã®ç¢ºç« ãã§ãã¬ãŒãããã»ã¬ããã³ã¹ãšã¯ãå
šç€Ÿå
±éã§çµ±å¶ãã¹ãã«ãŒã«ãšåäºæ¥éšã«å§ããã«ãŒã«ãæç¢ºã«åããäžå€®éæš©ãšåæš©ãäž¡ç«ãããã¬ããã³ã¹ã¢ãã«ã§ãããããžã§ã¯ãçµ±åã«äŒŽãããã®ã¢ãã«ã«æ²¿ã£ãŠã¬ããã³ã¹ã®å¢çãæŽçããŸããã IAM管çãCloud DLPãBigQuery Policy Tagãªã©ã®ã»ãã¥ãªãã£ã»ã³ã³ãã©ã€ã¢ã³ã¹é åã¯å
ã
å
±éåããŠãããã®ã§ããäºæ¥æ¡å€§ãæ©ã«ãCIæ€æ»é
ç®ãFormatterã»Linterãdbtã®å®è¡ç°å¢(ã©ã³ã¿ã€ã )ãæ°ãã«æšæºåããŸãããäžæ¹ã§ãäºæ¥ãã¡ã€ã³ãããžãã¹ã€ãã³ããããŒã¿ã¢ããªã³ã°ãšãã£ãããžãã¹ã«è¿ãé åã¯åŒãç¶ãåäºæ¥éšã«å§è²ããŠããŸãã å
±éåãã¹ããã®ãšåæš©ãã¹ããã®ã®ç·åŒããæç¢ºã«ãªã£ãããšã§ãããŒã¿ããŒã ãšäºæ¥éšããŒã ã®åæ¹ãè¿·ããªãåããããã«ãªããŸããã dbtã©ã³ã¿ã€ã ã®å
±éå ãã©ãã©ã ã£ãdbtã®å®è¡ç°å¢ãDockerã«çµ±äžããŸãããå
±éã®Dockerã€ã¡ãŒãžãArtifact Registryã§ç®¡çããåãªããžããªã¯GitHub Reusable WorkflowãéããŠå
±éã®ã¯ãŒã¯ãããŒãåŒã³åºã圢ã«ããŠããŸãã jobs : dbt-build : uses : org/shared-workflows/.github/workflows/dbt.yml@main with : image_tag : "0.0.0" mount_path : "." dbt_args : "build --target prod" ãŸããããŒã«ã«éçºæã®å
±éã³ãã³ãã«ã¯Taskfileã®includesæ©èœã掻çšããŠããŸããåãªããžããªã¯å
±éTaskfileãåç
§ããã ãã§ãlintãtestãbuildãªã©ã®æäœãçµ±äžãããã€ã³ã¿ãŒãã§ãŒã¹ã§å®è¡ã§ããŸãã includes : common : taskfile : ./path/to/shared/Taskfile.yml tasks : lint : cmds : - task : common:lint test : cmds : - task : common:test æ°ãããããã¯ãã远å ãããå Žåããå
±éã®ã¯ãŒã¯ãããŒãšTaskfileãåç
§ããã ãã§dbtç°å¢ãæŽããããç«ã¡äžãã®ãªãŒãã¿ã€ã ã倧ããäžãããŸãããããŒãžã§ã³ã¢ãããdependabotãžã®å¯Ÿå¿ããäºæ¥éšã®æ°ã ãå¿
èŠã ã£ããã®ãå
±éã€ã¡ãŒãž1ã€ã®æŽæ°ã§æžãããã«ãªã£ãŠããŸãã Lookerã«ããäºæ¥éšæšªæã®ææšç®¡ç ããŒã¿åºç€ã®ãªã¢ãŒããã¯ãã£ãšããããŠãBIããŒã«ã®èŠçŽããè¡ããŸããããããŸã§äºæ¥éšããšã«ã¹ãã¬ããã·ãŒããLooker Studioã§ç®¡çããŠããææšããLookerã«éçŽããŠããŸãã Lookerã®ã»ãã³ãã£ãã¯ã¬ã€ã€ãŒã掻çšããããšã§ãå
šç€Ÿã§å
±éã®ããžãã¹ããžãã¯ãå®çŸ©ããææšã®äžè²«æ§ãæ
ä¿ã§ããããã«ãªããŸãããäžæ¹ã§ãææšã®å®çŸ©ãã®ãã®ã¯åäºæ¥éšã«å§è²ããŠããŸããå®éã«ãå
šäœã®ããã·ã¥ããŒãã®68%ãããŒã¿ãšã³ãžãã¢ä»¥å€ã®ã¡ã³ããŒã«ãã£ãŠäœæãããŠãããäžå€®ã«å¯ãã€ã€ãçŸå Žã®ããŒã¿æŽ»çšã¯ãããæŽ»çºã«ãªã£ãŠããŸããLookerå°å
¥ã®è©³çްã«ã€ããŠã¯æ¬¡ã®èšäºã§ç޹ä»ããŠããŸãã tech.findy.co.jp ä»åŸã®å±æ ãã©ãããã©ãŒã åã®åãçµã¿ã¯ãŸã éåã°ã§ããä»åŸã¯æ¬¡ã®2ã€ã®æ¹åã§é²åãç¶ããŠãããŸãã 1ã€ç®ã¯ãã»ã«ããµãŒãã¹ãã€AI ReadyãªããŒã¿åºç€ã§ããäºæ¥éšã®ã¡ã³ããŒãAIãèªãããŒã¿ãæ¢çŽ¢ã»åæã§ããä»çµã¿ãããã«æ¡å
ããããŒã¿ããŒã ãžã®äŸåãæžãããŠãããããšèããŠããŸãã 2ã€ç®ã¯ãã¡ã¿ããŒã¿ã®æŽåã§ããä»åŸäºæ¥ããããã¯ããå¢ããŠãäœã³ã¹ãã§ããŒã¿ãæ¢ãå©çšã§ããããã«ããäºæ¥ãçµç¹éã®ã·ããžãŒãããŒã¿ã§çã¿åºããŠããããšãããŒã ã®ããã·ã§ã³ãšããŠæ±ããããŠããŸãã çµããã« æ¬èšäºã§ã¯ãããŒã¿ã¡ãã·ã¥ãããã©ãããã©ãŒã ãžãšããŒã¿åºç€ãé²åãããåãçµã¿ã«ã€ããŠç޹ä»ããŸããã äºæ¥ã®æé·ãã§ãŒãºã«ãã£ãŠãæé©ãªã¢ãŒããã¯ãã£ã¯å€ãããŸãããã¡ã€ã³ãã£ã§ã¯ãããŒã¿ã¡ãã·ã¥ã®èãæ¹èªäœãæšãŠãããã§ã¯ãªããããããžã§ã¯ãåé¢ããããããŒã¿ã»ããåé¢ããžãšãã¡ã€ã³å¢çã®ç²åºŠãèŠçŽãããšã§ãã¹ã±ãŒã©ããªãã£ãšèªåŸæ§ã®ãã©ã³ã¹ãåãçŽããŸããã ããŒã¿åºç€ã¯äžåºŠäœã£ãŠçµããã§ã¯ãªããäºæ¥ã®æé·ã«åãããŠé²åãç¶ãããã®ã§ããä»å玹ä»ãããªã¢ãŒããã¯ãã£ããŸã éåã°ã§ãã»ã«ããµãŒãã¹åãã¡ã¿ããŒã¿æŽåãªã©åãçµãã¹ãããŒãã¯å±±ç©ã¿ã§ãããã®èšäºããåæ§ã®èª²é¡ã«åãåã£ãŠããæ¹ã®åèã«ãªãã°å¬ããã§ãã ãã¡ã€ã³ãã£ã§ã¯ãã®ããŒã¿åºç€ãäžç·ã«è²ãŠãŠããã¡ã³ããŒãåéããŠããŸããå°ãã§ãèå³ãæ¹§ããæ¹ã¯ã«ãžã¥ã¢ã«é¢è«ãåŸ
ã¡ããŠãããŸãïŒ herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ããã¯ãªãŒããããŒãžã£ãŒãããããŠããã£ãŠãæžç°ã§ãã çŸåšã®ãœãããŠã§ã¢éçºã®äžçã¯ãçæAIã®ç»å Žã«ãã倧ããªè»¢æç¹ãè¿ããŠããŸãã GitHub CopilotãClaude Codeãªã©çæAIãæŽ»çšããéçºæ¯æŽããŒã«ã次ã
ãšç»å Žããéçºè
ã®æ¥åžžçãªã¯ãŒã¯ãããŒã«çµã¿èŸŒãŸãã€ã€ãããŸãã ãã¡ã€ã³ãã£ã§ã¯Claude Codeã®Skillãã«ã¹ã¿ã ã³ãã³ããªã©ãPluginsçµç±ã§ç€Ÿå
å±éããŠããŸããPluginsã«é¢ããŠã¯ååã®èšäºãåç
§ããŠãã ããã tech.findy.co.jp AIã«èšèšãã¿ã¹ã¯åè§£ãã³ãŒãçæãä»»ããåãPull requestã®ã³ãŒãå質ãã³ãŒãã¬ãã¥ãŒãããã¯ã«ãªãããšããããŸãããåãã§ãã¯ãæããŠãããåœåãããŒã ã®èŠçŽãšéãããšãã£ãææã§ææ»ããçºçãããšãAIã§å éããéçºã®ãã³ãã厩ããŠããŸãããã§ãã æ¬èšäºã§ã¯ããã®èª²é¡ã«å¯ŸåŠããããã«ç€Ÿå
Pluginsã«äœã£ãã»ã«ãã¬ãã¥ãŒã¹ãã«ã玹ä»ããŸããéå»ã®ã¬ãã¥ãŒã³ã¡ã³ãããèªåçæãããã§ãã¯ãªã¹ããè€æ°ã®AIãšãŒãžã§ã³ãã«ãã䞊åã¬ãã¥ãŒãä¿®æ£ã®æ®µéçãªé©çšãçµã¿åãããŠãPull requestãåºãåã®ã»ã«ãã¬ãã¥ãŒãèªååããŠããŸãã Pull requestã®è³ªãšãã³ãŒãã¬ãã¥ãŒããããèª²é¡ ã»ã«ãã¬ãã¥ãŒã¹ãã«ã®æŠèŠ ãšãŒãžã§ã³ã䞊åã¬ãã¥ãŒã®èšèš èŠçŽã»ã¹ã¿ãã¯ããŒã¹ã®ãã§ã㯠ãã§ãã¯ãªã¹ãç
§å ã³ãŒãå質ãã§ã㯠Codex AI ã³ãŒãç°¡æœå èŠä»¶ç¢ºèª ã¬ãã¥ãŒçµæã®çµ±åãšåºå ä¿®æ£ã®æ®µéçãªé©çš ãŸãšã Pull requestã®è³ªãšãã³ãŒãã¬ãã¥ãŒããããèª²é¡ AIãèšèšãã³ãŒãçæãè¡ãããã«ãªãã1æ¥ã«äœæã§ããPull requestã®æ°ã¯å¢ããŸããããããäžæ¹ã§ãPull requestã®è³ªãã³ãŒãã¬ãã¥ãŒã§åé¡ãåºãŠããŸããã AIãåºåããã³ãŒããããŒã ã®ã³ãŒãã£ã³ã°èŠçŽã«æ²¿ã£ãŠããªãã£ãããåãã§ãã¯ãæããŠãããããã¹ãã³ãŒããäžååã ã£ãããããšãã³ãŒãã¬ãã¥ãŒã§ææãããŠææ»ããçºçããŸããAIã§å éããéçºã®ãã³ãã厩ããŠããŸãã®ã§ãã ãããŠãããå
šãŠã人éã®ã³ãŒãã¬ãã¥ãŒã§äºåã«é²ãã®ã¯ãçŸå®çã«é£ãããªã£ãŠããŠããŸãã AIãçæããã³ãŒãã®éãšPull requestã®æ°ãå¢ããŠããããããå
šãŠã人éããã§ãã¯ããããšãããšã人éãããã«ããã¯ãšãªãã®ã§ãã ããã§ãã¡ã€ã³ãã£ã§ã¯ã 人éããã§ãã¯ããªããšãããªãé åãšãAIã«ãã§ãã¯ãä»»ããé åãåãåãã ããã§ã AIã«ãã§ãã¯ãä»»ããé åãèªååãã ããšã«ããŸããããããä»å玹ä»ããã»ã«ãã¬ãã¥ãŒã®ã¹ãã«ã§ãã ã»ã«ãã¬ãã¥ãŒã¹ãã«ã®æŠèŠ ã»ã«ãã¬ãã¥ãŒã¹ãã«ã¯ç€Ÿå
å±éããŠããClaude Codeã®ã¹ãã«ã®äžã€ã§ãPull requestãåºãåã«ã³ãŒã倿Žãã»ã«ãã¬ãã¥ãŒããããã®ãã®ã§ãããã»ã«ãã¬ãã¥ãŒããŠããšè©±ããããã ãã§èµ·åããŸãã # ã«ã¬ã³ããã©ã³ãå
šäœãã¬ãã¥ãŒ ã»ã«ãã¬ãã¥ãŒã㊠# ç¹å®ãã¡ã€ã«ã«çµã src/services/UserService.ts ãã»ã«ãã¬ãã¥ãŒã㊠# ã³ãããç¯å²ãæå® HEAD~3..HEAD ã®å€æŽãã¬ãã¥ãŒã㊠起åãããšããªããžããªå
šäœã®é廿æãã¿ãŒã³ã»ãã°æ€åºã»ã»ãã¥ãªãã£ã»ã³ãŒãå質ã»å®è£
æŒããšãã£ã ç°ãªãèŠç¹ãæã€è€æ°ã®ãšãŒãžã§ã³ããåæã«åãåºããŸãã ãããããç¬ç«ããŠdiffãè§£æãã å
šãšãŒãžã§ã³ãã®å®äºåŸã«çµæããµããªãšããŠçµ±åããŸãã ææäºé
ã¯åºå
žãšãŒãžã§ã³ãä»ãã§äžèЧåãããããã¹ãŠåæ ããåå¥ã«éžæããŠåæ ããåæ ããªããã®3æã§ã³ãŒãã«é©çšã§ããŸãã ãšãŒãžã§ã³ã䞊åã¬ãã¥ãŒã®èšèš çŸåšã¯æå€§6ã€ã®ãšãŒãžã§ã³ãã䞊åèµ·åããŸããåãšãŒãžã§ã³ãã¯ã¬ãã¥ãŒå¯Ÿè±¡ã®diffïŒ git diff DEFAULT_BRANCH...HEAD ã®çµæïŒãåãåããããããç°ãªã芳ç¹ã§ç¬ç«ããŠåäœããŸãã å
šãšãŒãžã§ã³ãã®å®äºãåŸ
ã£ãŠããçµæãçµ±åãããããçŽåå®è¡ãšæ¯ã¹ãŠåŸ
ã¡æéã倧ããåæžã§ããŸãã èŠçŽã»ã¹ã¿ãã¯ããŒã¹ã®ãã§ã㯠ãããžã§ã¯ãã®åœåèŠåãžã®æºæ ããã¹ãã³ãŒãã®é©åãïŒãã¹ãæŒãã»ã«ãã¬ããžã»ãã¹ãèŠçŽãžã®æºæ ïŒãããã¥ã¡ã³ããšã®æŽåæ§ã«æ³šåããŠç¢ºèªãè¡ããŸãã CLAUDE.mdãrulesãªã©ããããžã§ã¯ãã®èŠçŽãã¹ã¿ãã¯ã«é¢ããããã¥ã¡ã³ããåŠç¿ãããšãŒãžã§ã³ãããdiffã®å
容ãšç
§ããåãããŠèŠçŽéåãã¹ã¿ãã¯ã®äžé©åãªäœ¿çšãææããŸãã ãã§ãã¯ãªã¹ãç
§å äºåã«çšæããŠããã»ã«ãã¬ãã¥ãŒã®ãã§ãã¯ãªã¹ãã®åé
ç®ãšdiffãç
§åããŸãããã§ãã¯ãªã¹ãã®é
ç®ã¯è©²åœãªããžããªã®éå»ã®Pull requestã§ææãããå
容ããçæãããŠãããããããããã¡ãªãã¹ãã«ãã³ãã€ã³ãã§åå¿ããŸãã ãã§ãã¯ãªã¹ãã®èªåçæã®ä»çµã¿ã«ã€ããŠã¯ã次ã®èšäºã§è©³ãã玹ä»ããŠããŸãã tech.findy.co.jp ãã®ãã§ãã¯ãªã¹ãã¯å®æçã«èªåã§æŽæ°ãããããã«ä»çµã¿åããŠãããåžžã«ææ°ã®ææãã¿ãŒã³ãã«ããŒã§ããããã«ãªã£ãŠããŸãã ã³ãŒãå質ãã§ã㯠Claude Codeå
¬åŒãã©ã°ã€ã³ã® feature-dev:code-reviewer ãšãŒãžã§ã³ããåããŸãã github.com ãã°ã»ã»ãã¥ãªãã£ã»ã³ãŒãå質ã®3芳ç¹ã§æ€æ»ãã ä¿¡é ŒåºŠ80以äžã®ææã®ã¿ãå ±å ããèšèšã«ãªã£ãŠããŸãããããã¯åé¡ãããããªããçšåºŠã®äœç¢ºä¿¡åºŠã®ææã¯åºåãããªããããã¬ãã¥ãŒçµæããã€ãºã§åãŸããŸããã å
·äœçã«ã¯æ¬¡ã®ãããªåé¡ãæ€åºããŸãã ããžãã¯ãšã©ãŒïŒæ¡ä»¶åå²ã®èª€ããç¶æ
管çã®äžæŽåïŒ ã»ãã¥ãªãã£åé¡ïŒSQLã€ã³ãžã§ã¯ã·ã§ã³ãèªèšŒãã§ãã¯ã®æ¬ èœãæ©å¯æ
å ±ã®ããŒãã³ãŒãïŒ ã³ãŒãå質ïŒãããã³ãŒããéå°ãªè€é床ããã¹ãã®ç¶²çŸ
æ§ïŒ Codex AI OpenAI Codex CLIã® codex review ã³ãã³ãã«diffãæž¡ããŠã¬ãã¥ãŒãå®è¡ããŸãã developers.openai.com ããã³ããã¯æ¬¡ã®åªå
é äœã§æ§æãããŠãããã¹ã¿ã€ã«ããã©ãŒãããã®ææã¯æç€ºçã«é€å€ããŠããŸãã ãæåªå
ããã°æ€åº - ããžãã¯ãšã©ãŒããšããžã±ãŒã¹ã®èŠèœãšããäŸå€åŠçã®æŒã - null/undefinedåŠçã®æ¬ èœãå¢çå€ãã§ãã¯ã®äžè¶³ ã第2åªå
ãã»ãã¥ãªãã£åé¡ - SQLã€ã³ãžã§ã¯ã·ã§ã³ãXSSãCSRF - èªèšŒã»èªå¯ã®æ¬ é¥ãæ©å¯æ
å ±ã®é²åº ã第3åªå
ãããã©ãŒãã³ã¹åé¡ - éå¹çãªã¢ã«ãŽãªãºã ãã¡ã¢ãªãªãŒã¯ãäžèŠãªã«ãŒã ãé€å€ãã³ãŒãã¹ã¿ã€ã«ããã©ãŒãããã®ææ Codex CLIãæªã€ã³ã¹ããŒã«ã®å Žåã¯èµ·åæã«ç¢ºèªãæ±ããæ¿è«Ÿãããã° npm install -g @openai/codex ãèªåå®è¡ããŸããèªèšŒïŒChatGPTã¢ã«ãŠã³ããžã®ãã°ã€ã³ïŒãåæ§ã«æ¡å
ããŸãã ãã¡ã€ã³ãã£ã§ã¯åºæ¬çã«Claude Codeã§ã³ãŒãçæãè¡ã£ãŠãããCodexã¯ã¬ãã¥ãŒã®èгç¹ãå¢ããããã®è£å®çãªåœ¹å²ã§äœ¿ã£ãŠããŸããã³ãŒãçæããã¢ãã«ãšã¯å¥ã®ã¢ãã«ã®èгç¹ã§ã®ã¬ãã¥ãŒãæãã®ããªã¹ã¹ã¡ããŸãã ã³ãŒãç°¡æœå Claude Codeã®ãã«ãã€ã³ã¹ãã« /simplify ãåŒã³åºããŸãã /simplify ã¯ã³ãŒã倿Žã察象ã«ãã³ãŒãåå©çšããã³ãŒãå質ããå¹çæ§ãã®3芳ç¹ã§ã¬ãã¥ãŒãšãŒãžã§ã³ãã䞊åå®è¡ããçµæãçµ±åããŠå ±åããŸããæ¢åãŠãŒãã£ãªãã£ãšã®éè€æ€åºãåé·ãªç¶æ
管çãäžèŠãªåŠçã»äžŠååæŒãã»ã¡ã¢ãªãªãŒã¯ãªã©ãæ€åºå¯Ÿè±¡ã§ãã code.claude.com èŠä»¶ç¢ºèª çŸåšã®Pull requestã®ã¿ã€ãã«ãšBodyãçŽã¥ãIssueã®å
容ããèŠä»¶ãæœåºããå®è£
ã³ãŒããšãã¹ãã³ãŒãã®äž¡æ¹ã«åæ ãããŠãããã2軞ã§åæããŸãã èŠä»¶ã¯ãæ©èœèŠä»¶ããéæ©èœèŠä»¶ãããšããžã±ãŒã¹ãã®3çš®é¡ã«åé¡ããããã§ãå®è£
ã®ã£ããïŒèŠä»¶ãããã®ã«å®è£
ããªãïŒãšãã¹ãã®ã£ããïŒå®è£
ã¯ããã®ã«ãã¹ãããªãïŒãåºå¥ããŠå ±åããŸãã ## ã®ã£ããåæã¬ããŒã ### â
å®è£
ã»ãã¹ãäž¡æ¹ãã - ãŠãŒã¶ãŒèªèšŒ: å®è£
: UserService.ts:42 / ãã¹ã: user_service_spec.rb:15 ### â ïž å®è£
æžã¿ã»ãã¹ããªã â ãã¹ããå¿
èŠã§ã - ãã¹ã¯ãŒããªã»ãã: å®è£
㯠PasswordService.ts ã«ãããããã¹ãããªã çç±: ç°åžžç³»ïŒããŒã¯ã³æéåãïŒã®æåãæªæ€èšŒ ### ðš å®è£
ãªãã»ãã¹ããªã â å®è£
æŒãã®å¯èœæ§ããããŸã - ã¡ãŒã«éç¥: Issueã«ãç»é²å®äºã¡ãŒã«ãéä¿¡ããããšããããå®è£
ãèŠåœãããªã ã¬ãã¥ãŒçµæã®çµ±åãšåºå å
šãšãŒãžã§ã³ãã®å®äºãåŸ
ã¡ãçµæãçµ±åããŠè¡šç€ºããŸãã åã¬ãã¥ãŒçšãšãŒãžã§ã³ãããã®å ±åã®ãµããªãåºåããŠãã³ãŒãã®å質ãå
šäœçã«ææ¡ã§ããããã«ããŸãã ## ã»ã«ãã¬ãã¥ãŒçµæ ### ð ãã§ãã¯ãªã¹ãç
§å #### â
åé¡ãªã - nullãã§ãã¯: OK #### â ïž æ¹åææ¡ - 颿°åã®åœåèŠå: getUserById â fetchUserById ã«çµ±äžãããšãã #### â èŠä¿®æ£ - ãšã©ãŒãã³ããªã³ã°: å€éšAPIåŒã³åºãã«try-catchããªã --- ### ð ã³ãŒãå質ãã§ã㯠#### â èŠä¿®æ£ - L42: èªèšŒããŒã¯ã³ã®nullãã§ãã¯ãæ¬ èœ ä¿®æ£æ¡: `if (!token) throw new UnauthorizedError()` --- ### ð€ Codex AI #### â ïž æ¹åææ¡ - L78: N+1ã¯ãšãªã®å¯èœæ§ãã«ãŒãå
ã§DBã¢ã¯ã»ã¹ãçºçããŠãã --- ### ð ã¬ãã¥ãŒãµããªãŒ - ãã§ãã¯ãªã¹ãç
§å: â
3å / â ïž 1å / â 1å - ã³ãŒãå質ãã§ãã¯: â
0å / â ïž 0å / â 1å - Codex AI: â
0å / â ïž 1å / â 0å - èŠä»¶ç¢ºèª: â
2å / â ïž 1åïŒãã¹ãã®ã£ããïŒ - åèšææäºé
: 4å ä¿®æ£ã®æ®µéçãªé©çš ã¬ãã¥ãŒçµæãæã£ããã AskUserQuestion ã§3æãæç€ºããŸãã ? ä¿®æ£ãåæ ããŸããïŒ > åå¥ã«éžæããŠåæ ãã (Recommended) ãã¹ãŠåæ ãã åæ ããªã Other⊠ãåå¥ã«éžæããŠåæ ããã ã§ã¯ãææäºé
ãäžä»¶ãã€ç¢ºèªããªããæ¡åŠã倿ã§ããŸããããã®ä¿®æ£ãé©çšããŸããïŒïŒåºå
ž: ã³ãŒãå質ãã§ãã¯ïŒãã®ããã«åºå
žã衚瀺ãããŸãã ## æªå¯Ÿå¿ãªã¹ãïŒã€ã³ã©ã€ã³ã³ã¡ã³ãçšïŒ ### 1 - path: src/services/UserService.ts - line: 42 - source: code-reviewer - body: **[åºå
ž: ã³ãŒãå質ãã§ãã¯]** èªèšŒããŒã¯ã³ã®nullãã§ãã¯ãæ¬ èœããŠããŸã **ä¿®æ£æ¡**: ` if (!token) throw new UnauthorizedError() ` < sub > *AIã»ã«ãã¬ãã¥ãŒ* </ sub > ããã¹ãŠåæ ããã ãéžã¶ãšãã¬ãã¥ãŒçšãšãŒãžã§ã³ãããããããã®ä¿®æ£ææ¡ãEditããŒã«ã§é 次é©çšããŸãã ãåæ ããªãã ãéžã¶ãšãã¬ãã¥ãŒçµæã®ç¢ºèªã ãã§çµäºããŸããå
å®¹ãææ¡ããŠããèªåã§ä¿®æ£ãããå Žåã«äœ¿ããŸãã ãŸãšã AIãéçºã¯ãŒã¯ãããŒã«å
¥ãã°å
¥ãã»ã©ãçæãããã³ãŒããPull requestã®æ°ã¯å¢ããŠãããŸãããããã å
šãŠã«äººéã察å¿ããã®ã¯çŸå®çã«é£ãããªã£ãŠããŠããŸãã 人éã察å¿ããå¿
èŠã®ããé åãšãAIã«ä»»ããé åãåãåããããã§ã AIã«ä»»ããé åãèªååããããšãéèŠ ã«ãªããŸãã å
šãŠã®å€æŽå
容ãåãã¬ãã«ã§ã¬ãã¥ãŒããªã ããã«ããããšãAIã¬ãã¥ãŒã®èšèšã®ã³ãã§ãã 軜埮ãªãªãã¡ã¯ã¿ãªã³ã°ãšãããŒã¿ããŒã¹ããã®é
ç®åé€ã¯ãåãã¬ãã«ã§ã¬ãã¥ãŒããå¿
èŠã¯ãããŸãããåè
ã¯ã³ãŒãå質ã®èгç¹ã§ç°¡åã«AIã«ä»»ããŠããŸããåŸè
ã¯äººéããã£ããã¬ãã¥ãŒããããšãã£ãå
·åã«ã 倿Žå
å®¹ã®æ§è³ªã«å¿ããŠé©åãªã¬ãã¥ãŒã®ã¬ãã«ãèšèšããã®ããã€ã³ãã§ãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ãFindy Tech Blogç·šéé·ã®é«æ©ïŒ @Taka_bow ïŒã§ãã åç·šã§ã¯ãGene Kimæ°ã®26幎ã«ãããDevOpsç ç©¶ã®æ
è·¯ãDORAç ç©¶ã«ãããã€ããã©ãŒããŒã®å®æ
ãDevOps Enterprise Summitã®å€åœ©ãªäºäŸããããŠã¹ãã£ãŒãã³ã»ã¹ãã¢ãŒå士ãšã®å
±èãWiring the Winning Organizationãããå°ããã"åã€çµç¹ã®éæ³"ã®ãã¬ãŒã ã¯ãŒã¯ãšã«ãŠãã®ã¡ã¿ãã¡ãŒã玹ä»ããŸããã åŸç·šã§ã¯ããã®éæ³ãè§£ãæŸã€3ã€ã®ãã¯ãã㯠ââ å·§é
ïŒååãïŒåïŒSlowificationïŒ ã åçŽåïŒSimplificationïŒ ã å¢å¹
ïŒAmplificationïŒ ââ ãå
·äœçãªäºäŸãšãšãã«ç޹ä»ããŸãããããŠæåŸã«ãGene Kimæ°èªèº«ãäœéšããçæAIãšãã€ãã³ãŒãã£ã³ã°ã®äžçããå±ãããŸãã åç·šã¯ãã¡ã tech.findy.co.jp è¬æŒåç» æ¥æ¬èªèš³å
šæïŒç¶ãïŒ ãœã·ãªãã¯ãã«ã«ã®é人 å·§é
ïŒååãïŒåïŒSlowificationïŒ Netflix ãš Chaos Monkey ââ æ¬çªç°å¢ã§ã®å·§é
å åçŽåïŒSimplificationïŒ Amazon ââ ã¢ããªã¹ãããµãŒãã¹åå²ãž å¢å¹
ïŒAmplificationïŒ ãŠã§ã¹ãã©ã å士ã®çµç¹æåã¢ãã« æ
å ±çè«ã§æåã蚺æãã ããšã¿å·¥å Žã§ã®ã·ã°ãã«å¢å¹
çæAIããåŸãæèš ãã€ãã³ãŒãã£ã³ã°ã®äŸ¡å€ãšæ³šæç¹ ãŸãšã ä»å¹Žãéå¬ããŸãïŒïŒååå€ãããŸãïŒ We're Hiring è¬æŒåç» conference.findy-code.io â» èŠèŽã«ã¯Findy Conferenceãžã®ãã°ã€ã³ã䞊ã³ã«èŠèŽç»é²ãå¿
èŠã§ãããç»é²é ããã°ãä»ã®è¬æŒã¢ãŒã«ã€ããèŠèŽã§ããŸãã æ¥æ¬èªèš³å
šæïŒç¶ãïŒ ãœã·ãªãã¯ãã«ã«ã®é人 ãã®ãã°ãããã·ã¹ãã ã¯ã©ãããæ¥ãã®ã§ãããïŒ æšå¹Žããã©ãŒã¹ã°ã¬ã³å士ãèšåããŠãããã³ã»ãŠã§ã¹ãã©ã å士ã§ãã 圌ã®è©³ãã話ã¯ããšã«ããŸããã圌ã«ã¯"ãœã·ãªãã¯ãã«ã«ã®é人"ãšããèšèãæãããŸããã 5ã€ã®ç¹åŸŽãæã€äººãã¡ã§ãã é«ãšãã«ã®ãŒã§é«åºæºã ã·ã¹ãã æèãªã®ã§å€§èŠæš¡äœæ¥ã§æŽ»èºããŸãããå°èŠæš¡äœæ¥ã§ã掻èºãã質ã®é«ã質åãã§ããŸãã ããã¢ãæ©ãã®ã奜ãã§ãèªåã®ä»äºãçµãããšç©æ¥µçã«çŸå ŽãèŠãŠåããŸãã ãã®ãŸãŸããœã·ãªãã¯ãã«ã«ã®é人ãã©ããªè¡åããããã話ãããŸããã å·§é
ïŒååãïŒåïŒSlowificationïŒ 1ã€ç® ââ ãœã·ãªãã¯ãã«ã«ã®é人ã¯"å·§é
ïŒååãïŒå"ããŸããæãå±éºåºŠã®é«ãäœæ¥ã¯æ¬çªç°å¢ã§ã¯è¡ãããåæ®µéã§åé¡ã解決ããŸãã ãWiring the Winning Organizationãã§ã¯24ã®äºäŸã玹ä»ããŠããããã¡20ïŒ
ã¯ãã¯ãããžãŒé¢é£ã§ãã ãããé©ãã¹ãããšã«ãæãã±ãŒã¹ã¹ã¿ãã£ãå€ãã®ã¯å»çæ¥çã§ããã ææ¥éšéã¯éåžžã«å±éºãªå ŽæãšããŠç¥ãããŠããŸãã äºæ
ã«éã£ãŠéã³èŸŒãŸããæãçç¶ãå¢ããŠåž°ãããšã«ãªã確çã¯ãã¹ã«ã€ãã€ãã³ã°ãããŒã¹ãžã£ã³ãã§ã±ã¬ãã確çãããé«ãã®ã§ãã ããŒã¹ãžã£ã³ãã¯ãã«ãåŽããã ãªã©ããé£ã³éããã¹ããŒãã§ããç
é¢ã¯ããŒã¹ãžã£ã³ããããå±éºã§ãã Ms.ã¢ãªã¹ 察 Ms.ã¢ãªãœã³ãšããã±ãŒã¹ã¹ã¿ãã£ããããŸãã ééã£ãæ£è
ãåŠçœ®ãåããŠããŸã£ãäºäŸã§ã14ãã®åŒ·åãªã·ã°ãã«ãåºãŠããã«ãé¢ãããæè¡ã¯è¡ãããŸããã æ£è
èªèº«ã"éã"ãšèšŽããŠããããã§ãã æããã«å¶åŸ¡äžèœãªç¶æ
ã«é¥ã£ãŠããå
åãèŠããããããªæã«ã¯ãã·ã¹ãã ã忢ãããã®ãæ£è§£ã ãšç€ºãäºäŸã§ãã Netflix ãš Chaos Monkey ââ æ¬çªç°å¢ã§ã®å·§é
å ç§ãã¡ã®æ¥çã«ãããå·§é
ïŒååãïŒåã®æãè¯ãäºäŸã¯ã2011幎4æã«èµ·ãã£ãAmazon EC2ã®å€§èŠæš¡é害ã§ãããã å
·äœçã«ã¯AWSã§æãèŠæš¡ã倧ããUS-Eastã®å¯çšæ§ãŸãŒã³ãããŠã³ããŸããã顧客æ°ãæå€§ã ã£ãã®ã§å€§æé¡§å®¢ããã¹ãŠããŠã³ããã®ã§ãããéåžžã«è峿·±ãããšã«Netflixã¯äŸå€ã§ããã Netflixã¯Amazonã®ã¯ã©ãŠããµãŒãã¹ã®å©çšãå
¬èšããŠããå€§èŠæš¡ãŠãŒã¶ãŒã§ãããã©ããã£ãŠå±æ©ãä¹ãè¶ããã®ã§ãããïŒ ãã®çãã¯åŸæ¥æããã«ãªããŸããã 圌ãã¯3ã€ã®é©ãã¹ãå
容ãæãããŸããã "åäžé害ç¹ã¯æé€ããã°ãªãããAmazonã¯ãã®æããååšã "ã "é害ãä¹ãè¶ããããã«ã¯ãåžžã«é害ãèµ·ããªããã°ãªããªã"ã ããèšã£ãŠ"Chaos Monkey"ã®ååšãæããã«ããŸããã ãåãã®æ¹ãå€ãã§ããããããã®Chaos Monkeyã¯ã©ã³ãã ã«é害ãèµ·ãããŸããã¯ã©ãŠãäžã®ä»®æ³ãã·ã³ã«å¯ŸããŠãæ¥äžã«ã§ãã Netflixã®éçºè
ã§ã·ã¹ãã ãæ§ç¯ãå®è¡ãã人éãªãããã€ã§ãã·ã¹ãã ãããŠã³ãåŸããšç¥ã£ãŠããã®ã§ãé害æã«å埩åã®ããã·ã¹ãã ãäœããŸãã ã ããAmazonã®é害ã圌ãã«ãšã£ãŠã¯æ¥åžžã«ãããªãã£ãã®ã§ãã ããã«é©ãã¹ãããšã«ãNetflixã¯ããã€ãã®é害ãä¹ãè¶ããŠããŸããã 2014幎ã«ã¯Amazonã®å€§èŠæš¡ãªããŒãããããŸãããããããåœãŠãããã«å
šäœã®5ïŒ
ã®ãµãŒããŒãåèµ·åããå¿
èŠããã£ãã®ã§ãã ãã²ã¹ã©ã€ããã芧ãã ãããNetflixã®Christos Kalantzisæ°ãèšã£ãŠããããšã§ãã"ç·æ¥ãªããŒãã®ãã¥ãŒã¹ãèããæã圱é¿ãåããããŒãæ°ã®ãªã¹ãã確èªããŠãã£ãšããŸãããç¹ã«ããŒã¿ããŒã¹åšãã§ã"ããã 圌ã¯ãããèšããŸããã"ã§ãChaos Monkeyã®ãããã§ãããã£ãŠããïŒã§ã"ã çµæã¯ã©ãã ã£ãããBruce Wongæ°ãèšã£ãããã«ã2700以äžããæ¬çªããŒã¿ããŒã¹ã®ããŒãäžã218ã®ããŒãããªããŒãããããã®ãã¡22ã¯æ£åžžã«ãªããŒããããŸããã§ããã ã§ãNetflixã®é¡§å®¢ã«ããŠã³ã¿ã€ã ã¯çºçããŸããã§ããã ãããããå·§é
åã®è³ç©ã§ããæ¬åœã«èé害æ§ãšå¯çšæ§ãéèŠãããªããç§ãã¡ã¯æããã«æ¬çªç°å¢ã§èªåãã¡ã詊ãã¹ããªã®ã§ãã æè¡çãªè² åµãè§£æ¶ããããšãã"äœããå€"ãšèª°ããèšã£ãæã«ã¯è³ãåŸããããšãå«ãŸããŸãã å·§é
ïŒååãïŒåã®äºäŸç޹ä»ã§ããã åçŽåïŒSimplificationïŒ 2ã€ç®ã«ç§»ããŸããæ¬¡ã¯"åçŽå"ã§ãã åçŽåãšã¯ã€ãŸããåé¡ãåå²ããããšã§ãã倧ããªåé¡ãå°ããããå®å
šã«è§£æ±ºããããåé¡ã«ããã®ã§ããæ¹æ³ã¯ããã€ããããŸããäžæ°ã«è¡ãããšããæ®µéçã«è¡ãããšãã§ããŸããç§ã®ãæ°ã«å
¥ãã®1ã€ã¯ã¢ãžã¥ãŒã«æ¹åŒã§ãã DevOpsç ç©¶ãšãã芳ç¹ããæãææãæåŸ
ã§ããã®ã¯ãã¢ãŒããã¯ãã£ã§ãããäœã«ãã£ãŠæž¬å®ã§ããã§ãããïŒ ã©ã®çšåºŠãŸã§ã誰ã®èš±å¯ããªãã«ã·ã¹ãã ã倧å¹
ã«å€æŽã§ããã®ããããŒã å€ã®äººéãšçްãã調æŽãè¡ãããšãªããã©ã®çšåºŠãŸã§ä»äºãé²ããããããã©ã®çšåºŠãŸã§ãä»ã®ãµãŒãã¹ãšã¯é¢ä¿ãªããããã€ãšãªãªãŒã¹ãã§ããããäžè¶³ããã¡ãªçµ±åãã¹ãç°å¢ã䜿ãããšãªããå¿
èŠãªãã¹ããä»»æã®ã¿ã€ãã³ã°ã§ã©ããŸã§å®è¡ã§ãããã ç§ãã¡ã¯ç€Ÿå
ã®å€ãã®äººéãšã«ãããªã³ã°ãããŠããŸããããããã®æ¡ä»¶ãæºãããã°ãå¶æ¥æéå
ã®ãããã€ãå¯èœã§ãããŠã³ã¿ã€ã ãæå°éã«æããããŸãã Amazon ââ ã¢ããªã¹ãããµãŒãã¹åå²ãž å®éã«ç§ãæ°ã«å
¥ã£ãŠããäºäŸã®1ã€ãã2000幎代åé ã®Amazonã®è©±ã§ãã ç±³åœã§ã¯å€ãã®äººãæã®AmazonãèŠããŠããŸãã90幎代åŸåã¯Amazonã§æ¬ã泚æããŸãããæ¬ãšé³æ¥œã売ã£ãŠããã·ã³ãã«ãªãµã€ãã§ããã ããã2002幎ã«ãªãé ã«ã¯ã補åã«ããŽãªã35çš®é¡ãå¢ããŠããŸãããããã«ããããŒã éã®ã³ãã¥ãã±ãŒã·ã§ã³ãšèª¿æŽã®éãå¢ããŸããã Amazonã®CTOã§ããã¯ãŒããŒã»ãŽã©ã²ã«ã¹å士ã2004幎ã«ããçºèšãããŠããŸãã ããžã¿ã«ããŒã ãçŽé¢ããŠããäžå¯è§£ãªä»æ§ã«é¢ããŠã§ãã ãã®ä»æ§ãšã¯ã鳿¥œããããªãé»åæžç±ãªã©ããžã¿ã«è£œåã賌å
¥ããéã«ãé
éå
äœæã®å
¥åãå¿
èŠãšãããã®ã§ããã é
éããç©ãªã©äœããªãã«ãé¢ãããå¿
é ã ã£ãã®ã§ãã ããžã¿ã«ããŒã ã¯è£œåã«ããŽãªãŒããšã«ãã£ã80ãã®å泚æ
åœããŒã ã®å
ã蚪ããŠå€æŽã®ãé¡ããããŸãããã§ã圌ãã®çãã¯ãã€ã"äºç®ããªã"ã§ããã ãããªããã§ããžã¿ã«ããŒã ã¯ããã¹ãããšãéæã§ãã¬ãŸãŸãè¡ãè©°ã£ãŠããŸã£ãã®ã§ãã çç±ã¯ãåœæã®Amazonã®ãœãããŠã§ã¢ã¢ãŒããã¯ãã£ãã¢ããªã¹ã§ã3500人ã®ãšã³ãžãã¢ãå
šå¡ã1ã€ã®ã«ãŠããäžç·ã«éãã§ãããããªç¶æ
ã ã£ãããã§ãã è£è¶³ ã¢ããªã¹ïŒmonolithïŒãšã¯ããã¹ãŠã®æ©èœã1ã€ã®å€§ããªã³ãŒãããŒã¹ã«çµ±åããããœãããŠã§ã¢ã¢ãŒããã¯ãã£ã®ããšã§ãã ãããã€ä»¶æ°ãããèŠãŠãšããŸãã1999幎ã«ã¯å¹Žéã§å€æ°ã®ãããã€ãè¡ãããŠããã®ãã2001幎ã«ã¯ã»ãŒåæ¢ç¶æ
ãšãªã£ãŠããŸããã 幎éã«ãããæ°åä»¶ã§ãå€ãã®ãããã€ãæªå®ã«çµãããŸããã ã¹ãã£ãŒãã»ã€ãšã®æ°ãæžããæåãªã¡ã¢ããããŸãã Amazonã®å
CEOã§åµèšè
ãžã§ãã»ããŸã¹æ°ã®æåãªãéãã«èšåããå
容ã§ã"ããŒã éã®ã³ãã¥ãã±ãŒã·ã§ã³ã¯APIã®ã¿ã§è¡ããäŸå€ã¯èš±ãããªã"ã"åŸããªãè
ã¯è§£éãã"ãšãŸã§æžããããã®ã§ããã æåŸã®"è¯ãäžæ¥ã"ã¯ã€ãšã®æ°ã®è¿œå ãããžã§ãŒã¯ã ããã§ãã "ããŸã¹ã¯ã¹ã¿ããã®äžæ¥ãã©ãã§ãæ°ã«ããªã"ãšãã ãã以å€ã¯å®éã®å
容ã§ã å
éžè»ã¬ã³ãžã£ãŒã§åœæCIOã ã£ããªãã¯ã»ãã«ãŒã«æ°ã匷è¡ããŸããã è£è¶³ ãªãã¯ã»ãã«ãŒã«æ°ã¯ãããªæãã®æ¹ã§ããïŒåç»ïŒ www.youtube.com 10åãã«èŠæš¡ã®ãããžã§ã¯ãã§ããã广ã絶倧ã§ããã1ã€ã®ãµãŒãã¹ã10ã«åå²ãã10ãã100ãããã«ã¯1000ã«ãŸã§åå²ããŸããã ãããšå¹Žéæ°åä»¶ã ã£ããããã€æ°ã¯ã2011幎ã«ã¯1æ¥ããã1äž5000ä»¶ã2015幎ã«ã¯1æ¥ããã13äž6000ä»¶ã«ãŸã§å¢ããŸããã ããŠããªãã§ãããïŒ åœŒãã¯ã«ãŠãã现ããåå²ããããšã§ãè¡åã«ç¬ç«æ§ãäžããŸããããããã§ããŒã å€ãšã®ã³ãã¥ãã±ãŒã·ã§ã³ã調æŽãè¡ããã«ãéçºããã¹ãããããã€ãã§ããããã«ãªã£ãã®ã§ãã ã±ã³ãã»ããã¯æ°ã¯ãããççµåãçè§£ããã®ã«30幎ããã£ããšè©±ããŠããŸãã Gene Kimæ°ã®è¬æŒãèããªããç±å¿ã«ã¡ã¢ããšãKent Beckæ° ç§ããŸã£ããåãã§ããççµåããªãããã»ã©éèŠãªã®ãçè§£ããã®ã«30幎ããããŸããã è£è¶³ ççµåïŒdecouplingïŒãšã¯ãã³ã³ããŒãã³ãéã®äŸå床ãäœããããããããç¬ç«ããŠå€æŽã»ãããã€ã§ããããã«ãããœãããŠã§ã¢ã¢ãŒããã¯ãã£ã®èšèšååã§ããåç·šã§ç޹ä»ããå¯çµåïŒcouplingïŒã®å¯ŸçŸ©èªã«ããããŸãã å¢å¹
ïŒAmplificationïŒ ããã§ã¯æåŸã®ãã¯ããã¯ãç°¡åã«ç޹ä»ããããšæããŸãã æåã«è©±ããå·§é
ïŒååãïŒåã¯æ¬çªåã®æ®µéã§åé¡ã解決ãããšãã話ã§ãããåçŽåã¯åé¡ãåå²ããŠå°ãããã話ã§ããã3ã€ç®ã¯åŒ±ãã·ã°ãã«ãå¢å¹
ãã話ã§ãã倧ããªåé¡ã«ãªã£ãŠããŸãåã«ã倧ããªåé¡ãšåæ§ã«å¯ŸåŠããããã§ãã ãŠã§ã¹ãã©ã å士ã®çµç¹æåã¢ãã« å
çšã®ãã³ã»ãŠã§ã¹ãã©ã å士ã 圌ãç ç©¶ããŠããã®ã¯ãå»çãèªç©ºå®å®ãååçåéã®å®å
šæ§ã«é¢ããŠã§ãã ãã®äžã§ããããšã«æ°ã¥ããŸãããå®å
šæ§ã¯çµç¹æåãšçžé¢æ§ãé«ããšããããšã§ãã å®å
šæ§ãæäœã¬ãã«ã®çµç¹ã«èŠãããã®ã¯ããããã®ç¹åŸŽã§ããæ
å ±ãé ãºãããæªããã¥ãŒã¹ã®ã¡ãã»ã³ãžã£ãŒãæ»æããŸãã ããŒã éã®æ©æž¡ãã¯è¡ããã倱æãé ãºããæ°ããã¢ã€ãã¢ã¯æœ°ããŸããè¯ããããŸããããã çãäžã¯åœŒã"å®åç"ãšåŒã¶ã°ã«ãŒãã§ã人ãå®ãããã«ããã»ã¹ãäœããŸãããããšè¯ãããã§ãã ã§ãæé«ã®çµç¹ã§ã¯ããããã®ç¹åŸŽãèŠãã ããŸããæ
å ±ãç©æ¥µçã«æ±ããã¡ãã»ã³ãžã£ãŒã¯æªããã¥ãŒã¹ãäŒããããã«èšç·ŽããããªãŒããŒã¯ãããèãããã«èšç·ŽãããŸãã 倧éèäžæ°ãèšãããã«ã"åé¡ããªãããšãæå€§ã®åé¡"ãªã®ã§ãã è£è¶³ 倧éèäžæ°ã¯ããšã¿èªåè»ã®å
å¯ç€Ÿé·ã§ãããšã¿çç£æ¹åŒã®çã¿ã®èŠªãšããã人ç©ã§ããè±èªã§ã¯ "Having no problems is the biggest problem of all." ãšããŠåºãç¥ãããŠããŸãã ããšã¿çç£æ¹åŒ äœè
: 倧é èäž ãã€ã€ã¢ã³ã瀟 Amazon Toyota Production System : Beyond Large-Scale Production Amazon 責任ãå
±æãããŠããã®ã§ããŒã éã®æ©æž¡ããæšå¥šãããŸããã¢ããã¿ã€ã ãšå¯çšæ§ã¯Opsã ãã®ä»äºã§ã¯ãããŸãããæ
å ±ã»ãã¥ãªãã£ãããã§ããããã«ãããã¯çã®ä»äºãªã®ã§ãããããŠé害ãèµ·ããŠããŸã£ããããšããšã調ã¹ãŸãã æ
å ±çè«ã§æåã蚺æãã ãã³ã»ãŠã§ã¹ãã©ã å士ã¯èšããŸãã ââ "æåã¯æã«åé¡ãšãªãåŸã"ããªããªã圌ã®èšèã§èšããšãæåã¯è»œããŠç©ºæ°ã®ãããªãã®ã§ãã€ãŸãç®ã«ã¯èŠãã«ãããå®äœããªããã®ã ããã§ãã ã¹ãã¢ãŒå士ãšç§ãææŠããããšã®1ã€ã¯ããŠã§ã¹ãã©ã å士ãæç¢ºåããããšããå
容ãšåãã§ããããç§ãã¡ã¯æ
å ±çè«ã䜿ããŸããããŠã§ã¹ãã©ã å士ãèšã£ãŠããããšããã¹ãŠè¡šçŸã§ãããšæããŸãã æ
å ±ã¯ãŸãçæãããªããã°ãªããããããéä¿¡ããã確å®ã«åä¿¡ããã察å¿ããªãããŠããåé¡ã解決ããã確èªããŸããå©ããæ±ããŠãã人ã«ãåé¡ã¯è§£æ±ºããããšå°ããã®ã§ãã ãã㊠ââ ç§ãããã奜ããªçç±ã¯ãšã³ãžãã¢ãšããŠèšºæã§ããããã§ãã ã€ãŸããæåã®åé¡ãªã®ãïŒ æ
å ±çæã«åé¡ããã£ãã®ãïŒ ããããç¥ã£ãŠãã®ãïŒ ãããšãé信段éã®åé¡ïŒ æªããã¥ãŒã¹ã®ã¡ãã»ã³ãžã£ãŒã¯æ»æãããã®ã§éããããªãã§ããããã ãããšãåä¿¡åŽã®åé¡ïŒ ãªãŒããŒã«å±ããŠããªãïŒ ãããã¯å¯Ÿå¿ãèŠéãããïŒ ã€ãŸãåªå
é äœã®åé¡ïŒ ãããšãæåŸã®ç¢ºèªæŒãïŒ åé¡ã解決ããã確ãããŠããªãïŒ ããšã¿å·¥å Žã§ã®ã·ã°ãã«å¢å¹
ã¹ãã£ãŒãã³ã»ã¹ãã¢ãŒåå£«ã®æ¬ã¯ãã¹ãŠèªã¿ãŸãããããšã¿çç£æ¹åŒã®ç ç©¶è«æãå«ããŠãããã ãWiring the Winning Organizationãã®"å¢å¹
"ã®ç« ã§ã圌ã¯éåžžã«ãã°ãããäºäŸã®1ã€ãæããŠããŸããã é²è¡äžã®ããšã¿çç£æ¹åŒã«åºã¥ããäºäŸã§ãã 圌ãããšã¿èªåè»ã®è£œé å·¥å ŽãçŽæ¥èšªåããæã®è©±ã§ããã ãããµã¹å·ãµã³ã¢ã³ãããªã«ããããã©ãã¯ãSUVã補é ããŠããå·¥å Žã§ããããšã¿ã®ç€Ÿå¡ãšãã£ã¢1ãµãã©ã€ã€ãŒã®äººéãåãããŠæ°å人ã®åŸæ¥å¡ãããããã§ãã ã·ã°ãã«å¢å¹
ã®ã¹ããŒãã®éãã瀺ãäºäŸã§ãã å·¥å Žã«ã¯3000ã4000ãã®ã¢ã³ãã³ã®ã³ãŒããããããããåŒããšãªãŒããŒã®å©ããå¿
èŠãªåé¡çºçãæå³ããŸãã ãããæã泚ç®ãã¹ãããšã®1ã€ã¯ãç±³åœããšã¿ã®SVPã§ããKevin Voelkelæ°ãæ¯æ¥æ°æéã¯çŸå Žã«ãããšããããšã§ãã è£è¶³ Kevin Voelkelæ°ã¯ãããšã¿ã»ã¢ãŒã¿ãŒã»ããã¥ãã¡ã¯ãã£ãªã³ã°ã»ãããµã¹ã® SVPïŒã·ãã¢ã»ãã€ã¹ãã¬ãžãã³ãïŒ ã§ãã ãªãŒããŒãçŸå Žãå®éã«èŠãããšã®å€§åãã瀺ããšããœãŒãã§ãã åŸæ¥å¡ã®ä»äºã¶ãã確ãããããšã§ãéšäžã®ç®æšéæã®ããã«èªåã«äœãã§ããããèŠããŠããŸãã ç§ããã®è©±ãããçç±ã¯çããããªãŒããŒã ããã§ãã çŸå Žã§åŸæ¥å¡ã®æ¥åã劚ããŠããéå®³ã«æ°ã¥ããŠãããããã«ãã©ãããã°çŸå Žã®å®æ
ãææ¡ã§ãããèããŠã¿ãŠãã ããã çæAIããåŸãæèš 話ãç· ããããåã«ãæšå¹ŽçæAIã䜿ã£ãŠã¿ãŠç§ãåŠãã ããšãã話ãããããšæããŸãã æ£çŽããããŸã§ã®ãã£ãªã¢ãéããŠãããªã«æ¥œããã£ãããšã¯ãããŸããã æšæ¥ãã±ã³ãã»ããã¯ãæé«ã«æ¥œãããšèšã£ãŠããŸãããããšã«ããç®æ°ãããŠæ°é®®ã§ãã³ãŒãã£ã³ã°ã®åã³ãç§ã®æ¥åžžã«ãããããŠãããŸããã å
çšãã¹ãã£ãŒãã»ã€ãšã®æ°ãæžãããã¡ãã®ã¡ã¢ãã玹ä»ããŸããã ç§ã¯åœŒã®ä»äºã¶ãã®å€§ãã¡ã³ã§ãé·å¹ŽåœŒã®è©±ãåŒçšãç¶ããŠããŸããAmazonãšGoogleã§20幎éãããŠãã圌ãšãæšå¹Žãã£ãšäŒããŸããã "é§ãåºããšã³ãžãã¢ã®æ»"ãšé¡ããè¬æŒãã«ã³ãã¡ã¬ã³ã¹ã§è¡ããAIç»å Žã®åœ±é¿ã«ã€ããŠè©±ããŠããŸããã é§ãåºããšã³ãžãã¢ã¯æ¶ããéåœãïŒ çãã¯ããŒã§ãããããŸã§ä»¥äžã«éçºè
ã¯å¢ããã§ãããã å®éã«éçºäœæ¥ã«AIã䜿ã£ãŠã¿ãŠãæ°ããªæ¥œããåéºãå§ãŸããŸãããã¹ãã£ãŒããšã¯äžç·ã«æ¬ãæžãå§ããŸãããããã€ãã³ãŒãã£ã³ã°ããã¯ããšããä»ç§ã«åºçäºå®ã®æ¬ã§ãã è£è¶³ åé¡ "Vibe Coding: Building Production-Grade Software With GenAI, Chat, Agents, and Beyond" 2025/10/21 ã«çºå£²ãããŸããã Vibe Coding: Building Production-Grade Software With GenAI, Chat, Agents, and Beyond äœè
: Kim, Gene , Yegge, Steve It Revolution Press Amazon ç§ã¯ããããšã«é©åããŸããããªããšã¹ãã£ãŒãã¯ã調åãè¯ãæ¥ã«ã¯ã1æ¥ããã7000ã1äž2000è¡ã«ããã¶ã³ãŒãã35幎éåãçµãã§ããã²ãŒã ã®ããã«æžãç¶ããŠããã®ã§ãã 圌ã¯äœæ¥ãé²ããããã«äœçŸãã«ãClaudeã«è²»ãããŠããŸããã ããã§çåãæ¹§ããšæããŸãã ã¹ãã£ãŒãã®ãããªäººã ãããããã£ãŠ ââ å€ãã¿ã€ãã³ã°ããã°è¯ãããã§ã¯ãªãã®ã§ãæ°åã§æ¯ã¹ããã¯ãªãã®ã§ãã ââ ã¹ãã£ãŒãã»ã€ãšã®ã®ããã«100äžè¡ä»¥äžã®ã³ãŒããæžããŠããå®çžŸããªããšãã¡ã§ããããïŒ ãããšãç§ã®ãããªå¹³å¡ãªéçºè
ã§ãAIã®æ©æµãåããããã§ããããïŒ é©ããããšã«çãã¯ã€ãšã¹ã§ããã æ¬ãæžããŠããé ããã®æåŸã®80æéã§ ââ æ°ã¥ãã°ç§ã¯4000è¡ã®ã³ãŒããæžããŠããŸãããåçš¿ã®ç· åçŽåã§ææ¶ã®ç·šéäœæ¥ãè¡ã£ãŠããããªãã«ã§ãã ã¹ã©ã€ãã®äžã®éšåã¯ããã®4æ¥éã®éã«æ¬ã®äœæ¥ã«è²»ãããæéã瀺ããŠããŸãã ãã®äžã¯ã³ãŒãã£ã³ã°ãããæéã§ãã æ¬ã®å·çã«AIã圹ç«ãŠãããã«ãã€ãã³ãŒãã£ã³ã°ã§ããŒã«ãäœã£ãŠããŸããã åœæã®ç§ã¯ãå®ã¯æãšæéŠãçããŠããŸã£ãŠããã4ã€ã®Googleããã¥ã¡ã³ãéã§ã³ããããã ãã®äœæ¥ããèŠçã§ããã ããã§æã£ãã®ã§ããæ¬ã®åçš¿ãSQLããŒã¿ããŒã¹ã®ããã«ããŠãã¯ãšãªãéãããšã§ç®æ¬¡ãæç« ã®äžéšãåãåºããããç« ãç¯ããšã«åãåºãããããŠãAIã§æžãæããããããã«ããããšã ã¹ãã£ãŒãã»ã€ãšã®ã®ã¬ãã«ã§ãªããŠããå¹³åçãªéçºè
ã§ããå¹³å以äžã®éçºè
ã§ãããã€ãã³ãŒãã£ã³ã°ã®æ©æµã¯åããããšãã§ããŸãã ãã€ãã³ãŒãã£ã³ã°ã®äŸ¡å€ãšæ³šæç¹ ãããŠæ¬ã®äžã§ã¯ ââ ãã€ãã³ãŒãã£ã³ã°ã®äŸ¡å€ãæããè±èªã®é æåãã"FAAFO"ãšåŒãã§ããŸãã ããéãæ¬²ãããã®ãäœãããšãã§ããããé«ãç®æšã«ææŠããããšãã§ããèªåäžäººã§æ§ç¯ã§ããããã«ãªããŸããä»äººã«é Œãå¿
èŠããä»è
ãšèª¿æŽããå¿
èŠããããŸãããæ®éãªããªããªãé£ããããšã§ããããã ãã©äœãããäœæ¥ãã¯ããã«æ¥œãããªããŸããã±ã³ãã»ããã¯ã¯æ°å幎ã¶ãã«åå3æã«ã³ãŒãã£ã³ã°ãããããã§ããã äœããäœãäœæ¥ãšããã®ã¯éåžžã«æ¥œãããã®ã§ããããããããæè»œã§æ¥œãããã®ã«ãªãäžãç§ãã¡ã®éžæè¢ã倧å¹
ã«åºãããŸãã ãããããããšã«ãã€ãæè¿ããAIã©ãã®éçºçç£æ§ãã£ã¬ã¯ã¿ãŒãšã話ãããæ©äŒãåŸãŸããã 圌ã¯èªåãã¡ãæ±ããåé¡ã«ã€ããŠæããŠãããŸããã "瀟å
ã®éçºè
ã®å€ãã¯æ¥ã
ã®æ¥åã«AIã䜿ã£ãŠããªã"ã"ãªããçãææžãã奜ã"ãªã®ã ãšãã ã€ãŸãã AIã®éçºãè¡ãäŒæ¥ã®äžã§ããããªãŒããŒãéšäžã«äŸ¿å©ãªããŒã«ã®äœ¿çšãä¿ããŠããç¶æ
ãªã®ã§ãã ç§ãã¡ã®å€ããããããçŽé¢ãã課é¡ã ãšæããŸãã AIãšããéæ³ã®æè¡ã掻çšããŠä»äºãããŸãããªãããšãå§ããŠããããšã«ãªãã§ãããã ãã ããã€ãã³ãŒãã£ã³ã°ã¯æ°ããªãªã¹ã¯ã«æºã¡ãŠããŸãã æ¬ã§ããèªåãã¡ãå®éã«çµéšãã倱æã«ã€ããŠæžããŸããã åäœãã¹ããç¡å¹ã«ããŠãã³ãŒããæ¶ããŸããã çè§£ã§ããªãè¬ã®ã³ãŒãããŒã¹ãäœæããŠããŸãã倿Žã§ããªããªããŸããã è¯ãã³ãŒãããŒã¹ãå°ãªãã«ããããšããããå€ãã®æ³šæãšèŠæãå¿
èŠã§ãã ãããè¯ããã¥ãŒã¹ãããã AIã«ãã£ãŠç§ãã¡ã®åŒ·ã¿ãšåŒ±ã¿ã¯å¢å¹
ãããã§ãããã ã ããåç¬äœæ¥ãå¯èœã«ããã¢ãžã¥ã©ãŒåã¢ãŒããã¯ãã£ã®ååšããããŸã§ä»¥äžã«å¿
èŠã«ãªãã¯ãã§ãã ãã£ãŒãããã¯ã«ãŒãã¯ããéããæ±ããããåŠã¶æåãå¿
èŠã§ãã ãã®æ¬ã®åæã®èçš¿ãèªãã 人ã®å€ãã¯ãããªåå¿ã§ããã "2人ã¯ãã®ãããè³¢ãã¯ãã "ã "ããããæ¬ãæžããŠåªããéçºè
ã®åãæ¹ãç ç©¶ããŠããã®ã«ããªããããªã«ãæããªå€±æãïŒ"ã ã§ãäŸãã°ã§ããããããŸã§ãã£ãšéЬã§ç§»åãã人çã ã£ããšããŸãã 銬ã«ããä¹ã£ãããšããªããæé«æéã¯çŽ5ãã€ã«ïŒçŽ8ããïŒçšåºŠã ãã®æèŠã§ã¯æéçŽ50ãã€ã«ïŒçŽ80ããïŒã«èããããŸãããèšç·Žãéããèªåãã¢ããããŒãããªããã°è»ã¯å€§ç Žããã§ãããã ããã§æ¬ã§ã¯ãã€ãã³ãŒãã£ã³ã°ã®æµãã衚ãã«ãŒãããå
éšãäžéãå€éšã®éçºã«åœ¹ç«ã€å®è·µé
ç®ã玹ä»ããŠããŸãã AI掻çšã®ã¡ãªãããéçºè
ã®çããã«äŒããã°å¹žãã§ããAIã䜿ãã°ããæ¥œãããããå€§èŠæš¡ãªéçºãè¡ããŸãããéçºã¹ããŒããäžãããæå±ããçµç¹ã«ãã¡ãªããããããŸãã æ¬ã®çºå£²ã¯ä»å¹Žã®ç§ã®äºå®ã§ããïŒâ»çºå£²ãããŸããïŒ ãŸãšã ããã§ã¯è©±ããŸãšããŸãã æåããçµç¹ã¯"éæ³"ã®åã§äžŠå€ããããã©ãŒãã³ã¹ãå®çŸããŸããå人ã®åã§ã¯ã©ããªäººã§ãããã³ãŸããã çµç¹å
ã®åé¡è§£æ±ºèœåãæ³ååãå®å
šã«è§£æŸãããç¶æ
ãªã®ã§ãã éã«éæ³ããªãçµç¹ã§ã¯ãåµé åãåé¡è§£æ±ºèœåãçºæ®ã§ããªããŸãŸå
šå¡ãçµããéåœã§ãããã ãã®éæ³ãè§£ãæŸã€ã«ã¯3ã€ã®æ¹æ³ããããŸãã "å·§é
åãåçŽåãå¢å¹
"ã®3ã€ã§ããã ãœã·ãªãã¯ãã«ã«ã®é人ã«ãªãã°ãããå®çŸã§ããŸãã é«ãšãã«ã®ãŒã§é«åºæºãå€§èŠæš¡ã§ãå°èŠæš¡ã§ã掻èºããçŸå Žæ©ãã倧奜ããªäººã§ãã è£è¶³ ãWiring the Winning OrganizationãéŠèš³ã§ã¯ãSlowificationããå·§é
åããSimplificationããåçŽåããAmplificationããå¢å¹
åãïŒæ¬èšäºã§ã¯ãå¢å¹
ããšè¡šèšïŒãšèš³ããŠããŸãã 9æã«ã¯ãŸãå¥ã®ã«ã³ãã¡ã¬ã³ã¹ãéå¬ããŸãããã¯ãããžãŒãªãŒããŒãéçºããŒã ãäŒæ¥ã®ããã«ã©ãAIãæŽ»çšããŠããããªã©ã®è©±ãèããŸãã ãã²ãã¡ãã«ããè¶ããã ãããåè¬æŒãžã®ãªã³ã¯ãæ¬ã®æç²ãªã©ãæ¬æ¥ç޹ä»ããå
容ã®è©³çްã«èå³ãããæ¹ã¯ãã¹ã©ã€ãéä¿¡çšã®ã¢ãã¬ã¹ã«ã¡ãŒã«ãéã£ãŠãã ããã ä»¶åã«"Vibe"ãŸãã¯"DevOps"ãšããã°ãæ°å以å
ã«èªåè¿ä¿¡ãå±ããŸãã æ¬æ¥ã¯ããããšãããããŸããã ïŒäŒå ŽææïŒ åç·šã»åŸç·šãéããŠãGene Kimæ°ã®26幎ã«ãããDevOpsç ç©¶ã®é倧æããå±ãããŸãããDORAç ç©¶ã®ããŒã¿ã«è£æã¡ããããã€ããã©ãŒããŒã®å®æ
ãè£œé æ¥ãããœãããŠã§ã¢ãŸã§å
±éãããåã€çµç¹ã®ååãããããŠçæAIãããããæ°ããªå¯èœæ§ ââ çããã®çµç¹ã§ãããã®"éæ³"ãå®è·µããŠã¿ãŠã¯ãããã§ããããã Ask the Speaker ãçãäžãããŸãã ãã¡ã€ã³ãã£ããŒã¹ã«ãæ¥ãŠãã ãããŸãã åç·šã¯ãã¡ã tech.findy.co.jp ä»å¹Žãéå¬ããŸãïŒïŒååå€ãããŸãïŒ ãç¶ç¶çããªããªãŒã®ãœãããŠã§ã¢å·¥åŠãèè
Dave Farleyæ°ãšåç°å人æ°ã®ç»å£ã決å®ïŒ ã¹ãã³ãµãŒåéäžã§ããïŒæ®ãå
ãïŒïŒ prtimes.jp We're Hiring ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ãã èå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ãFindy Tech Blogç·šéé·ã®é«æ©ïŒ @Taka_bow ïŒã§ãã æ¬èšäºã¯ã2025幎7æã«ãã¡ã€ã³ãã£ãéå¬ããã éçºçç£æ§Conference ãã®ããŒããŒãã¹ããŒã«ãŒãšããŠãæããã Gene Kimæ° ã®åºèª¿è¬æŒããæ¥æ¬èªã®å
šææžãèµ·ãããšããŠãå±ããããã®ã§ãã Gene Kimæ°ã¯ããã¹ãã»ã©ãŒãThe DevOps é転ã ïŒïŒThe Phoenix ProjectïŒããThe DevOps ãã³ãããã¯ïŒThe DevOps HandbookïŒãã®èè
ã§ããã1999幎ãã26幎ã«ãããé«ãææãäžãããã¯ãããžãŒçµç¹ã®ç ç©¶ãç¶ããŠãã人ç©ã§ãã æ¬è¬æŒã§ã¯ãDORAç ç©¶ã®ææãåã€çµç¹ã«å
±éããæ®éçãªååããããŠçæAIãããããå€é©ã«ã€ããŠèªãããŸããã åç·šã§ã¯ãDORAç ç©¶ã«ãããã€ããã©ãŒããŒã®å®æ
ãDevOps Enterprise Summitã§åºäŒã£ã倿§ãªäºäŸããããŠã¹ãã£ãŒãã³ã»ã¹ãã¢ãŒå士ãšã®å
±èãWiring the Winning Organizationãããå°ããã"åã€çµç¹ã®éæ³"ã®ãã¬ãŒã ã¯ãŒã¯ã玹ä»ããŸãã åŸç·šã§ã¯ããã®éæ³ãè§£ãæŸã€3ã€ã®ãã¯ããã¯ïŒå·§é
åã»åçŽåã»å¢å¹
ïŒãšãçæAIã»ãã€ãã³ãŒãã£ã³ã°ã®å®è·µã«ã€ããŠç޹ä»ããŸãã åŸç·šã¯ãã¡ã tech.findy.co.jp è¬æŒåç» æ¥æ¬èªèš³å
šæ ãªãŒããã³ã° â 26幎éã®ç ç©¶ãšDevOpsãžã®é DevOpsã®ããžãã¹äŸ¡å€ã¯æã
ã®æ³å®ããããã«é«ã DevOps Enterprise Summit â ããããæ¥çã§ã®å®è·µäºäŸ éå»4幎éã§åŸãæèš éæ³ã®åŽé¢â ââ å¿
èŠãªãã®ãæã«å
¥ã éæ³ã®åŽé¢â¡ ââ 匱ãã·ã°ãã«ãæ€ç¥ããã éæ³ã®åŽé¢â¢ ââ èšç»ãšå®è·µã«ååãªæéããã 3ã€ã®ã¬ã€ã€ãŒ ââ äœæ¥ã®æ§é ãçè§£ãã ã«ãŠãã®ã¡ã¿ãã¡ãŒ ââ DevOpsã®æ¬è³ª ä»å¹Žãéå¬ããŸãïŒïŒååå€ãããŸãïŒ We're Hiring è¬æŒåç» conference.findy-code.io â» èŠèŽã«ã¯Findy Conferenceãžã®ãã°ã€ã³ã䞊ã³ã«èŠèŽç»é²ãå¿
èŠã§ãããç»é²é ããã°ãä»ã®è¬æŒã¢ãŒã«ã€ããèŠèŽã§ããŸãã æ¥æ¬èªèš³å
šæ ãªãŒããã³ã° â 26幎éã®ç ç©¶ãšDevOpsãžã®é Gene Kimæ°ïŒ ããããšãããããŸãã ïŒäŒå ŽææïŒ ç§ã¯é«æ¥çžŸã®ãã¯ãããžãŒçµç¹ã«ã€ããŠ1999幎ããç ç©¶ããŠããŸãã嵿¥è
å
ŒCTOãšããŠTripwireãšããæ
å ±ã»ãã¥ãªãã£ã®äŒç€Ÿã«å€ããŠããé ããã§ãã ç§ãç 究察象ãšããŠãã髿¥çžŸã®çµç¹ã¯ãéçºãããžã§ã¯ãã®çŽæå
ã§ã®ããã©ãŒãã³ã¹ãç³ãåãªããéçšã®ä¿¡é Œæ§ã»å®å®æ§ãã»ãã¥ãªãã£ã»æ³ä»€éµå®äœå¶ãäžå
šã§ãããç¥ãããã®ã¯ã圌ããã©ããã£ãŠèŠäºãªå€é©ãæãéããããã©ãããã°ä»ã®çµç¹ã远éã§ããããšããããšã§ãã ãæ³åã®éãããã®26幎ã®éã«å€ãã®é©ãããããŸãããæå€§ã®é©ãã¯ãç§ãDevOpsã ãŒãã¡ã³ãã®ã©çãäžã«åŒã蟌ãŸããããšã§ãããã¯æ¥µããŠç·æ¥ãã€éèŠãªåãã ãšèããŠããŸãã DevOpsã¯å€ãã®ç£æ¥ã«å€é©ããããããŸãããããã以åã§æåŸã«ç®ã«ãã倧å€é©ã¯ãæãã1980幎代ã«ããšã¿ãã¢ã¡ãªã«åžå Žã«é²åºããæã ãšæããŸãã 圌ãã¯èŠäºã«ãã»ãŒãã¹ãŠã®ç±³èªåè»ã¡ãŒã«ãŒãå®å
šã«æã¡è² ãããããã§ãããæ ¹åºã«ã¯ãªãŒã³ã®ååããããŸãããDevOpsã®åå°ã«ããªã£ãŠããååã§ãã ãã¯ãããžãŒã®ããªã¥ãŒã¹ããªãŒã ã«é©çšãããšåµçºçãªãã¿ãŒã³ãåºçŸãã1æ¥ã«æ°åä»¶ãæ°çŸä»¶ãããã«ã¯æ°åäžä»¶ã®ãããã€ãå¯èœã«ãªããäžçæ°Žæºã®ä¿¡é Œæ§ã»ã»ãã¥ãªãã£ã»å®å®æ§ãç¶æãããŸãŸã§ãã 10ã15幎åã«ã¯èããããªãã£ãããšã§ããå°ãªããšãåœæã®ç§ã¯ãç¡çã ãšæã£ãŠããŸãããããããä»ã§ã¯å€ãã®çµç¹ãå®çŸããŠããŸãã 仿¥ã¯ãç§ããã®26幎ã§åŠãã 倧äºãªããšãããã€ã玹ä»ããããšæããŸãã ç§ã®èæžãã芧ã«ãªã£ãæ¹ããããšæããŸãããThe DevOps é転ã ïŒãããThe DevOps ãã³ãããã¯ããªã©ã§ããã 翻蚳æ¬ãç£ä¿®ããŠãããæŠå地ããã«æšå€äŒãããã§ãã 11幎è¶ãã®é¡ãããã£ãšããªããŸããã è£è¶³ The DevOpsãé転ã ïŒç©¶æ¥µã®ç¶ç¶çããªããªãŒ äœè
: ãžãŒã³ ãã , ã±ãã³ ã㢠, ãžã§ãŒãž ã¹ãããã©ãŒã æ¥çµBP Amazon The DevOps ãã³ããã㯠çè«ã»ååã»å®è·µã®ãã¹ãŠ äœè
: ãžãŒã³ã»ãã , ãžã§ãºã»ãã³ãã« , ãããªãã¯ã»ã㢠, ãžã§ã³ã»ãŠã£ãªã¹ æ¥çµBP Amazon ãThe DevOps é転ã ïŒãïŒåé¡ïŒThe Phoenix ProjectïŒããã³ãThe DevOps ãã³ãããã¯ãïŒåé¡ïŒThe DevOps HandbookïŒã¯ãããããæŠå地æ°ïŒãããœããã¯ã³ãã¯ãCTOïŒåçå³ïŒãç£ä¿®ãé·å°Ÿé«åŒæ°ã翻蚳ãæ
åœããŠããŸãã 11幎è¶ãã®åé¡åãã ããŠãæšå¹Žãã¡ãã®ã€ãã³ãã§ãã³ãŒã«ã»ãã©ãŒã¹ã°ã¬ã³å士ãç»å£ããŸããã 圌女ãšã¯6幎以äžãç ç©¶ãå
±ã«ããŠãã仲ã§ããå
容ã¯ããã€ããã©ãŒãã³ã¹ãšã¯ã©ããªç¶æ
ã ââ ãããDevOpsç ç©¶ã®çŸç¶ã§ãã 仿¥ã¯çããã«4ã€ã®ããšãã話ãããŸãã 1ã€ã¯ãã³ãŒã«ã»ãã©ãŒã¹ã°ã¬ã³å士ãšè¡ã£ãç ç©¶ã«ã€ããŠã§ããã€ããã©ãŒãã³ã¹ã®å®æ
ãšãããäºæž¬ããè¡åãšã¯äœããšãã話ã§ãã æ¬¡ã«ãã¹ãã£ãŒãã³ã»ã¹ãã¢ãŒå士ãšãã®4幎ã§åŠãã ããšã玹ä»ããŸããããšã¿çç£æ¹åŒãé·å¹Žã«ãããç ç©¶ããŠãã人ç©ã§ãã å
±èãWiring the Winning Organizationãã®å
容ãããŒã¹ã«ãDevOpsã«ã€ããŠè©±ããŸããæ¢ã«ãåãã®å
容ãããã§ãããããã ãäœãé©ãããšãããšãããšã¿ã®çŸå Žç®¡çè
ãªãããã«çè§£ã»å
±æã§ããå
容ã§ãã ãããããæšæ¥ãã°ãããè¬æŒãããã±ã³ãã»ããã¯æ°ã®ããã«ãç§ãçæAIã䜿ã£ããã€ãã³ãŒãã£ã³ã°ã«åãçµãã§ãããéåžžã«æ¥œããéãããŠããŸããæšå¹ŽåŠãã ããšãå
±æããããšæããŸãã DevOpsã®ããžãã¹äŸ¡å€ã¯æã
ã®æ³å®ããããã«é«ã å
ã»ã©ããã³ãŒã«ã»ãã©ãŒã¹ã°ã¬ã³å士ãšãžã§ãºã»ãã³ãã«ãšé²ããç ç©¶ã«ã€ããŠã話ãããŸããããžã§ãºã¯ãç¶ç¶çããªããªãŒãã®èè
ã§ãç§éã¯ãThe DevOps ãã³ãããã¯ããå
±èããŸããã ç§ãã¡ã¯2013幎ãã2019幎ãŸã§ã6幎éã®éã«3äž6000人ã察象ã«èª¿æ»ãè¡ãã髿¥çžŸãªçµç¹ã¯ã©ã®ãããªç¶æ
ã§ååšããã®ãããã€ããã©ãŒãã³ã¹ã®å®æ
ã調ã¹ãŸãããçµæã¯6åãšãåæ§ ââ ãã€ããã©ãŒãã³ã¹ãªçµç¹ã¯ååšããããã§ãªãä»è
ãã¯ããã«ãã®ããšããããšã§ããã ãã®å€æåºæºãšã¯ïŒ ç§ãã¡ãçºèŠããã®ã¯ããã€ããã©ãŒããŒã¯1æ¥ã«è€æ°åãããã€ããŠãããšããããšã§ããä»è
ãšæ¯ã¹ãŠãé »åºŠã2æ¡å€ãã®ã§ãããã£ãšéèŠãªã®ã¯ããããã€ã«ãããæéã®çãã§ããããŒãžã§ã³ç®¡çã·ã¹ãã ã§ã³ãŒããã³ãããããŠãããçµ±åããŠãã¹ãããŠãããã€ãããŸã§ã®æé ââ ã€ãŸã顧客ã«å±ããŸã§ã§ãã 1æé以å
ã§ããããšãåãããŸããããªãŒãã¿ã€ã ã®éãã2æ¡ãªã®ã§ãã ãããäœæ¥ãéãã ãã§ãªããçµæã䌎ã£ãŠããŸãã圌ãããããã€ãè¡ãæã«å€±æãã確çã¯ã©ã®çšåºŠãªã®ã§ãããããæ¥åã«æ¯éãåºãé倧床1ïŒSEV1ïŒã®ã€ã³ã·ãã³ãã®çºççã¯ïŒ ãã®å¯èœæ§ã¯7åã®1ãªã®ã§ãã ãããŠããäœããèµ·ããæã¯ ââ 倱æã¯å¿
ãèµ·ãããã®ã ãšèšããŸãããã ââ 1æé以å
ã«è§£æ±ºã§ããã®ã§ããããã¯ä»è
ãšæ¯ã¹ãŠ3æ¡ãçãéå®³åŸ©æ§æéã«ãªããŸãã ã¹ãã£ãŒãã³ã»ã¹ãã¢ãŒå士ãããšã¿æ¹åŒãç ç©¶ããŠããæãããšã¿ã¯çç£æ§ã4åã ãšåãããŸãããåºé¢ç©ãšãµã€ã¯ã«æéã¯ååã«ãé¢ããããçç£ç©ã¯2åãªã®ã§ããããã§ã¯ããã4åã©ãããã100åã1000åãªã®ã§ããã±ã³ãã»ããã¯æ°ãèšã£ãŠããŸãããããœãããŠã§ã¢ã®ãã°ããããšããã§ãã å質ã«ã€ããŠãå€è§çã«èŠãŠããŸããããã€ããã©ãŒããŒã¯æ
å ±ã»ãã¥ãªãã£ã®ç®æšãæ¥ã
ã®æ¥åã«åãå
¥ããŠãããããã»ãã¥ãªãã£åé¡ã®ä¿®æ£ã«è²»ããæéã¯ååã§ããã 2014幎ã«ç§ãã¡ã¯å¥ã®ããšã«ç®ãåãå§ããŸããããããã®ãã€ããã©ãŒããŒã¯æè¡çã«åªããŠããã ãã§ãªããããããææšã§æ°å€ãé«ãã£ãã®ã§ãã åçæ§ãåžå Žã·ã§ã¢ãçç£æ§ã®ç®æšãäžåãå¯èœæ§ã¯2åã§ãããçµç¹ãæ¿åºæ©é¢ãè»ãªã©ãšãã£ãéå¶å©å£äœã§ãã£ãŠãåãããšãèšããŠãçµç¹ãšããã·ã§ã³ã®ç®æšãéæããå¯èœæ§ã2åã§ããã顧客æºè¶³åºŠãéãšè³ªã®ç®æšã«ãããŠãåæ§ã§ãã ãããã¯ããããšã瀺åããŠããŸãã䟡å€ã®æäŸãããã·ã§ã³ã®éæã«ãããã¯ãããžãŒã®ããªã¥ãŒã¹ããªãŒã ãšåãäœæ¥ãå¿
èŠãªããDevOpsã®ååããã¿ãŒã³ã¯ãã®ç®æšéæã«åœ¹ç«ã¡ãŸãã ãã1ã€ã®è峿·±ãææšã¯ããã®ãããªæ¥çžŸã®é«ãçµç¹ã§ã¯ãåŸæ¥å¡ãå€åå
ãããè·å ŽãšããŠååãå人ã«èŠãã確çã2åã§ããã "åŸæ¥å¡ãããããã¢ãŒã¿ãŒã¹ã³ã¢ïŒeNPSïŒ"ãšãã ââ åçæ§ãåçæé·çãšæ·±ãçžé¢é¢ä¿ã«ããææšã§ãã ã§ãããããããã€ãã§ããªãçµç¹ããã¥ããçµç¹ã ãšãå人ã«èªåã®è·å ŽãèŠããããšã¯æããªããšããããšã§ãããã DevOps Enterprise Summit â ããããæ¥çã§ã®å®è·µäºäŸ æ°åãè¶
ããŠãããã瀺åããã®ã¯ã ç§ãã¡ã¯ããã«å®å
šãã€è¿
éã«ãé«ãä¿¡é Œæ§ãæã£ãŠç¢ºå®ã«ããµãŒãã¹ã®æäŸå¯Ÿè±¡ã®ç®æšã倢ã顿ãéæããããå€§äº ãªã®ã§ãã ãã®11幎é ââ "DevOps Enterprise Summit"ãšããã«ã³ãã¡ã¬ã³ã¹ãéå¶ããŠããŸãããã«ã³ãã¡ã¬ã³ã¹ã®ç®çã¯ãå€§èŠæš¡ã§è€éãªçµç¹ããFacebookãAmazonãGoogleãMicrosoftãšåãããã«åå©ãã€ããããã®ãã¿ãŒã³ã瀺ãããšã§ããã è£è¶³ DevOps Enterprise Summitã¯çŸåšãEnterprise Technology Leadership Summitã«åç§°å€æŽãããŠããŸãã æ°å€ãã®ãã¯ãããžãŒãªãŒããŒãã¡ã«ãã©ããã£ãŠDevOpsã䜿ã£ãŠåžå Žã§åã£ãŠããããå
±æããŠããããŸãããç§ã®ãæ°ã«å
¥ããäžéšç޹ä»ããŸãã ãã¡ãã®ç·æ§ã¯Mike Carræ°ã§ããŽã¡ã³ã¬ãŒã瀟ã®CTOã§ãã ãŽã¡ã³ã¬ãŒãã¯æè³ä¿¡èšãæ®åãããäŒç€Ÿã§ã9å
5000åãã«ã®è³ç£ãéçšããŠããŸãã1äžäººä»¥äžããæè¡è
ã®éçºçç£æ§ãåäžãããããšã«ãã£ãŠãå
çšç§ãã話ãããææšããã¹ãŠéæããŠããŸãã ããã«ãã£ãŠæè³å®¶ã«äŸ¡å€ã ââ æè³å®¶ãšããã®ã¯ã€ãŸãã圌ãã®æè³ä¿¡èšãè²·ã人ãã¡ã§ãã ââ 圌ãã«äŸ¡å€ãéå
ããŠããŸãã ãæ¬¡ã¯äžçææ°ã®è£œè¬äŒæ¥ãã¡ã€ã¶ãŒã®Jamie Hookæ°ã§ãã 圌ãã®éçºçç£æ§ã®åäžã¯ãããååé¢ä¿ããã£ããã§ããããšã³ãžãã¢ãªã³ã°ã®VPã§ããMike Lambæ°ãšãCISOã ã£ãBrian Cinceraæ°ã«ãããã®ã§ãã ç®çã¯çç£æ§ã ãã§ãªããå®å
šæ§ãé«ããããšã§ããã玹ä»ããŠãããéçºè
ã®æ¯æŽæ¹æ³ãé©ãã§ãç ç©¶éçºã販売ãããŒã±ãã£ã³ã°ãæµéãªã©æå±ããçµç¹ã«é¢ããããéèŠãªç€ŸäŒçç®æšãéæããæ¯æŽãè¡ã£ãŠããŸããã è£è¶³ Brian Cinceraæ°ã¯2024幎ã«ãã¡ã€ã¶ãŒãé¢ããŠããŸãã çããã¯ããæã£ãŠããã§ãããã ââ "ãããã話ã "ã ã§ã¯ãæµ·è»å€§äœã®äŸã¯ã©ãã§ãããïŒ çŸåšã¯åå°ã§ãããåœæã¯å€§äœã§ããã圌ã¯ã€ãŒãžã¹ããµã€ã«é²è¡ã·ã¹ãã ã®è²¬ä»»è
ã ã£ãã®ã§ãããæµ·äžã«ããè¹ã®ãœãããŠã§ã¢ãã¢ããã°ã¬ãŒãããå¿
èŠããããŸããããªã®ã«8幎ãåŸ
ã€ãããªãå°ã£ãŠããŸããã ãœãããŠã§ã¢ãã¢ããã°ã¬ãŒãããã«ã¯ãéŒéã®ç©Žãéå£ãåãéããã³ã³ãã¥ãŒã¿ãŒãéã³åºãå¿
èŠããã£ãããã§ãã ã§ããä»ã§ã¯DevOpsãã¿ãŒã³ã«ãããæµ·äžã«ããè¹ã2é»åæã«ã¢ããã°ã¬ãŒãã§ããŸãã çŽ
æµ·ã«ããè¹ãå«ããŠã§ãã1970幎代ã«é ãããè¹ã§ãããå®è·µã§ããã®ã§ããããã»ãŒã©ãã§ãã§ããã¯ãã§ãã ãã¡ãã¯ç±³åœããšã¿ã®Kishore Jonnalageddaæ°ã§ãã圌ã¯å·¥å Žã®çŸå Žã«DevOpsã®ãã€ãã©ã€ã³ãæ§ç¯ããå·¥å Žã®æ¥åã ãã§ãªããã»ãŒã«ã¹ãããŒã±ãã£ã³ã°ããã¹ãã»ãŒã«ã¹ãµãŒãã¹ãªã©ã®æ¥åã®äœçŸãã®ã¢ããªã±ãŒã·ã§ã³ãå¹çåããŸãããDevOpsã®æå¹æ§ã瀺ããŠããŸãã 圌ããããããšã¿ãŠã§ã€ã®ãããã§æ¹åã®æåãç¯ããããã£ãããã§ãããã¡ããããšã¿ã§ã¯"ã«ã€ãŒã³"ã®æŠå¿µãæ ¹ã¥ããŠãããITã®äººãã¡ãæ¥ã
ã®æ¥åãæ¹åããããç°å¢ã§ã¯ãããŸãã ç§ãäžçªæ°ã«å
¥ã£ãäºäŸã¯ããã¡ããããããŸãããã·ãŒã¡ã³ã¹ã®Thomas Jachmannæ°ã®ã±ãŒã¹ã§ãã 圌ã¯CTã¹ãã£ããŒã®ãœãããŠã§ã¢ã®è²¬ä»»è
ã§ããCTã¹ãã£ããŒã¯ç
é¢ã®ç»å蚺æéšéã«6000å°ãçŽå
¥ãããŠããŸãã 圌ã解決ãããã£ãåé¡ã¯ãçŸå Žã§ãœãããŠã§ã¢ãã¢ããã°ã¬ãŒãããèªèšŒãåŸãã«ã¯6ãµæãšããé·ãæéãèŠããããšã§ããã ããã§åœŒã¯ãã¹ãèªååãžã®æè³ãå§ããŸãããèªåãã¹ãã§ããã°ã奜ããªã¿ã€ãã³ã°ã§èªèšŒã®æ®µéãžãšé²ããããŸãã èªèšŒã«ã¯ãŸã æ°ãµæããããŸãããèªèšŒãäžãããã©ããã¯æè¡ã®åé¡ã§ã¯ãããŸããããã ãé »ç¹ãªã¢ããã°ã¬ãŒãã®åå°ã¯ã§ããŸãã ãããéèŠã ãšæãçç±ã¯ãCTã¹ãã£ããŒã§æ®ãéã®åºåé»åãšããã®ã¯ãœãããŠã§ã¢ã§å¶åŸ¡ãããŠããããã§ãã å®å
šæ§ã«é¢ãããéèŠã§ãã "ãã¡ã§ã¯DevOpsã¯ç¡ç"ãšèšãå人ãååããããã"ã©ãã§ãDevOpsã¯å¯èœ"ãšæãçŽããŠã»ããã®ã§ãã å°é£ã§ãæåããäºäŸã¯ãããããããŸããããã éå»4幎éã§åŸãæèš ã¹ãã£ãŒãã³ã»ã¹ãã¢ãŒå士ãšä»äºã§ãäžç·ããããšã¯å
çšã話ãããŸããã圌ãšã®åºäŒãã¯çŽ10幎åã«ããã®ãŒããŸããMITã¹ããŒã³çµå¶å€§åŠé¢ã®ã¯ãŒã¯ã·ã§ããã«åå ããæã§ããã æåãªæ¹ã§ããããã®çç±ã®1ã€ã¯1990幎代ã®åœŒã®ç ç©¶ã§ã圌ã¯ããšã¿çç£æ¹åŒãæ·±ãæãäžãã第äºäžä»£ã®ç ç©¶è
ã°ã«ãŒãã®äžå¡ã§ããã 圌ãã®ãããªäººãã¡ã®ãããã§ãã¢ã³ãã³ãã«ã€ãŒã³ãçŸå ŽãŠã©ãŒã¯ãªã©ã¯æµ·å€ã§ãéçšããèšèãšãªããããšã¿ã®ææ³ãåŠã¶éã«åœ¹ç«ã£ãŠããŸãã è£è¶³ ãã¢ã³ãã³ãã¯ããšã¿çç£æ¹åŒã«ãããç°åžžã®èŠããåã®ããã®ä»çµã¿ã§ãã ããšã¿èªåè»å
¬åŒãµã€ã ã«è©³çްããããŸãã 1999幎ã«åœŒã¯ãæãåºãããŠã³ããŒããããããŒããŒãã»ããžãã¹ã»ã¬ãã¥ãŒã®èšäºãå·çããŸããã ã¿ã€ãã«ã¯ãããšã¿çç£æ¹åŒã®"éºäŒå"ãæ¢ããã§ãã è£è¶³ åé¡ "Decoding the DNA of the Toyota Production System" ã®éŠèš³ã¯ https://dhbr.diamond.jp/articles/-/3743 ã«æ²èŒãããŠããŸãã ç§ã¯ãã¡ãã2001幎ã«èªã¿ããã®ãã°ãããã«é©åããŸããã 圌ã¯ããè¿°ã¹ãŠããŸãã ââ "3000ã5000人ã®äººéãããšã¿ã®å·¥å Žã§åããŠãããšãããããã®å
šå¡ãç§åŠè
éå£ã®äžå¡ã§ãçµ¶ããæ€èšŒãšæ¹åã«åªããŠãã"ã ããèŠããŠããèšèã§ãã10幎åŸã«åœŒãšä»äºãã§ããæ¥ãæ¥ããšã¯ãåœæã¯æããããŸããã§ããã 圌ãšã©ããªããšã«åãçµãã ããšèšããšããWiring the Winning Organizationããšããæ¬ãæžããŸããã è£è¶³ Wiring the Winning Organizationãæåããçµç¹ãå°ã3ã€ã®ã¡ã«ããºã äœè
: ãžãŒã³ã»ãã , ã¹ãã£ãŒãã³ã»Jã»ã¹ãã¢ãŒ æ¥æ¬èœçåäŒãããžã¡ã³ãã»ã³ã¿ãŒ Amazon éŠèš³ãWiring the Winning Organizationãæåããçµç¹ãå°ã3ã€ã®ã¡ã«ããºã ãïŒæ¥æ¬èœçåäŒãããžã¡ã³ãã»ã³ã¿ãŒïŒ ç§ãã¡ã®ç®ç㯠ââ ãŸãã¯é©ããŸãããããªãã¹ãã£ãŒãã³ã»ã¹ãã¢ãŒå士ãšç§ãªã®ããšã 圌ã¯ããŒããŠã§ã¢ãšè£œé æ¥ãç§ã¯ãœãããŠã§ã¢ã®åºèº«ã äžèŠã話ãåããªãããã§ããã§ãããç§ãã¡ãèªãã§ããæ¬ãè«æãèŠããšãããªãéãªã£ãŠãããç§ãã¡ã¯çåãæã¡ãŸããã æ¬¡ã®ãã®ã®å
±éç¹ã¯ïŒ ââ ã¢ãžã£ã€ã«ãDevOpsãããšã¿çç£æ¹åŒããªãŒã³çç£æ¹åŒãå®å
šæåã ãããŠç§ãã¡ãå°ãåºããçµè«ã¯ããããããã倧ããªå
šäœã®äžå®å
šãªè¡šçŸã§ããã3ã€ã®ã¡ã«ããºã ãããããçµã³ã€ããŠããã®ã§ãã ãã®ç¹ãæç¢ºã«ããããã«ãåã€çµç¹ãæã€"éæ³"ã®3ã€ã®åŽé¢ãã·ã§ã¢ããããšæããŸãã éæ³ã®åŽé¢â ââ å¿
èŠãªãã®ãæã«å
¥ã ãŸã1ã€ç®ã®åŽé¢ãšããã®ã¯ã誰ããåžžã«éèŠãªåé¡ã«åãçµãã§ããŸãã å¹³è¡ããŠè¡ã£ãŠããã®ãçæ³ã§ããå¿
èŠãªæã«ãå¿
èŠãªãã®ãæã«å
¥ããããããå¯èœãªã®ã§ããé©åãªåœ¢åŒãšã¿ã€ãã³ã°ã§ãé©åãªé¢ä¿è
ããæã«å
¥ãã®ã§ããäŸãã°ã©ããªãã®ããšèšããšãæ
å ±ãæ¿èªãèŠä»¶ãæ±ºå®æš©ããã¹ãçµæãçç£ãã°ãªã©ãããã§ãã ãã®éèŠæ§ãçè§£ããã«ã¯ãéæ³ããªãç¶æ
ãæ³åããŸããã€ãŸãã誰ããè¡ãè©°ã£ãŠããç¶æ
ã§ããå¿
èŠãªãã®ãé©åãªåœ¢åŒãšã¿ã€ãã³ã°ã§æã«å
¥ããªãã®ãåå ã§ãçã«å°ããŠæ¢ãåããããããŸãããã ããå°ããªåãçµã¿ã§ãè±éçãªåªåãèŠããã®ã§ãã ãããã©ãã ãéèŠãªããšããæå±ããããã«ïŒãã¡ãªäŸãšããŠïŒããThe Checkbox Projectããšããè«èãå人ãã¡ãšæžããŸãããèæžãThe DevOps é転ã ïŒãã«è¿ããã®ã§ãã è£è¶³ ãThe Checkbox Projectãã¯ã2023幎ã«IT Revolutionãäž»å¬ããDevOps Enterprise ForumïŒ3æ¥éã®ãªããªãŒã圢åŒïŒã§ã®è°è«ãããšã«çãŸããã¬ã€ãã³ã¹ããŒããŒã§ãã æ¬çš¿ã®ããŒã¹ãšãªã£ãã®ã¯ãå®éã®åºæ¥äºã§ããããå€§äŒæ¥ã§ããµãŒãã¹ã«ã·ã³ãã«ãªãªããã€ã³çšãã§ãã¯ããã¯ã¹ã远å ããããšããäžèŠåçŽãªã¿ã¹ã¯ããæ§æ³ãã宿ãŸã§12ã¶æããããã³ã¹ãã2,800äžãã«è¶
ã«èšãäžãããŸããããã®å®äŸãã±ãŒã¹ã¹ã¿ãã£ãšããŠãçµç¹ã®ãé
ç·ã®ä»æ¹ããããã«ããã©ãŒãã³ã¹ãå·Šå³ãããã解説ããŠããŸãã èè
ã¯Appleã»John Deereã»Scaled Agileãªã©å€æ§ãªçµç¹ã®ãªãŒããŒ6åïŒKamran KazempourãChris HillãSteve PereiraãDean LeffingwellãAmy WillardãGene KimïŒã«ããå
±åå·çã§ã2023幎9æ26æ¥ã«Fall 2023 DevOps Enterprise Journalã®äžéšãšããŠå
¬éãããŸããã The Checkbox Project å
¥æå
https://itrevolution.com/product/the-checkbox-project/ ãã®è©±ã®ãããžã§ã¯ãã®ç®æšã¯ã1ã€ã®ãã§ãã¯ããã¯ã¹ã衚瀺ããããšã§ãã äœçŸäžãã®é¡§å®¢ã«è¡šç€ºãããããã«ãã§ãã¯ãå
¥ãããšãé¡§å®¢ã¯æé¡5ãã«ã®ãµãŒãã¹å¥çŽãçµã¶ããšã«ãªããŸãã åé¡ã¯ããã4ã€ã®é¡§å®¢ãã£ã³ãã«ã«ãŸãããã20ã®ããŒã ã«ããäœæ¥ãå¿
èŠãªç¹ã§ããCEOã¬ãã«ã®ãµããŒããå¿
èŠãšãã飿¥è¡ãããäœæŠäŒè°ã«ã¯12ãµæã§2800äžãã«ããããšèŠç©ããããŠããŸãããããªãåé¡ã¯ããããžã§ã¯ããæåãããšæã£ãŠãã人ã20ïŒ
ããããªããšããç¹ã§ãã ãªããªãéå»2åã¯å€±æããããã§ãã ãã§ãã¯ããã¯ã¹ã®è¡šç€ºã¯æè¡çã«é£ããããšã§ã¯ãããŸãããå®éã«å€§å€ãªã®ã¯ã調æŽãã³ãã¥ãã±ãŒã·ã§ã³ãåªå
é äœã¥ããã¹ã±ãžã¥ãŒãªã³ã°ãæ¿æ²»å·¥äœã説åŸããšã¹ã«ã¬ãŒã·ã§ã³ãªã©ã§ãã誰ãå¿
èŠãªãã®ãåŸãããªããšãããªããŸãããããéæ³ã®1ã€ç®ã®åŽé¢ã§ãã éæ³ã®åŽé¢â¡ ââ 匱ãã·ã°ãã«ãæ€ç¥ããã æ¬¡ã«2ã€ç®ã玹ä»ããŸãã è³ãæã§æŽ»çºãªãã£ãŒãããã¯ã«ãŒããæ©èœããäºçްãªå€±æã·ã°ãã«ã§ãæ€ç¥ãããå¢å¹
ãããŸããããããã°è¿
éãªå¯Ÿå¿ã§ãã¹ãé²ãã ããä¿®æ£ãããã§ããŸãããã®ãã£ãŒãããã¯ãéããŠäººã
ã¯åŠã³ãäžéãç¶ããããŸãããã ãããã¯ãã£ãŒãããã¯ãé©åãªäººã«ãé©åãã€å®è¡å¯èœãªåœ¢åŒã§å±ããå Žåã«éããŸãã åã³éèŠæ§ã®ç¢ºèªã®ãããéæ³ããªãäºæ
ãæ³åããŸãããã£ãŒãããã¯ã«ãŒãã匱ãããé
ãããååšããããªãç¶æ
ã§ãããããã¯ééã£ã人ã«å±ãç¶æ
ã§ãã ããã ãšå€±æãæ€åºãããªãã®ã§ãæéã®çµéãšãšãã«æ¡å€§ããŠããŸããŸããå°ããªåé¡ãéªã ããŸã®ããã«èšããã®ã§ãã ã·ã°ãã«ã¯çæããããã®ã®ãã·ã¹ãã ã§æå¶ãããŠããŸãããæ¶ãããã±ãŒã¹ãããåŸãŸãã æªããã¥ãŒã¹ãäŒãããšå«ãªç®ã«éããããªçµç¹ã ãšããããæããŠããããããšãèµ·ãããŸããè¯ããããŸããããããããéæ³ã®2ã€ç®ã®åŽé¢ã§ãã éæ³ã®åŽé¢â¢ ââ èšç»ãšå®è·µã«ååãªæéããã ãããŠæåŸã®3ã€ç®ã§ãã èšç»ãå®è·µãå®éšãæ¹åã®ããã®ååãªæéã確ä¿ãããç¶æ
ã§ãã æãå±éºãã€éèŠãªäºæ
ã¯ã皌åããŠããã§ã¯ãªãããªã¹ã¯ãäœãèšç»ãšå®è·µã®æ®µéã§èµ·ããã®ãçæ³çã§ããããããã°ããçŽãã容æãªã ãã§ãªããå®å
šã«å€±æããåŠã³ãæ¹åããããšãã§ããŸãã ãããã£ãŠæèšãåŸãŠããããšã§ãããè¯ãä»äºã«ã€ãªãããŸãã ããã§åã³ãã®éèŠæ§ãçè§£ãã¹ããæãéèŠãªäœæ¥ããã¹ãŠæ¬çªçšŒååŸã«è¡ããããªãäºæ
ãæ³åããŸãã å
ã«æ»ãããšããããçŽãããšãã§ãããå°ããªãã¹ã倧ããªå€±æãåŒãèµ·ãããŸããåŠã¹ããããªç¶æ³ã§ããããŸããã ã¹ããŒãã¢ããã®ããã«äžåºŠããŒã¹ããŠã³ããæéããããã³ã®ãªã®åãç ããããã«æãæ¢ããæéããããŸããã æããã«ããã¯è¯ããªãç¶æ
ã§ã11幎åã«çºå£²ãããThe DevOps é転ã ïŒãã§ãèªãããŠãã話ã§ãã è£è¶³ ããã³ã®ãªã®åãç ãïŒSharpen the SawïŒãã¯ã¹ãã£ãŒãã³ã»Rã»ã³ãŽã£ãŒã®ã7ã€ã®ç¿æ
£ãã«ããã第7ã®ç¿æ
£ãçç£æ§ãé«ããããã«ããããŠæãæ¢ããŠèªåèªèº«ã磚ãæéãåãããšã®éèŠæ§ã説ããŠããŸãã 3ã€ã®ã¬ã€ã€ãŒ ââ äœæ¥ã®æ§é ãçè§£ãã ããŠããã®3ã€ã®åŽé¢ã«ååãã€ããŠèª¬æããŸãããå
ã«ãã1ã€ãäŒãããŠãããŸãã ããã¯æåã«ã¹ãã¢ãŒå士ãé¡ååããå
容ã§ãç§ã¯éèŠã ãšæã£ãŠããŸããã§ãããã§ããåŸã
ã«éèŠæ§ãåãã£ãŠããŠãäžçã®èŠãæ¹ãŸã§å€ãããŸããã ç§ãã¡ãæå±ããã®ã¯ãäœæ¥ã«ã¯3ã€ã®ã¬ã€ã€ãŒããããšããããšã§ãã ã¬ã€ã€ãŒ1 ã¯ç®ã®åã®äœæ¥å¯Ÿè±¡ã§ããããšãã°æ£è
ã ã£ãããåãçµãã§ããã³ãŒãã ã£ãããæ¬çªç°å¢ã§åããã€ããªã ã£ããããŸãã ã¬ã€ã€ãŒ2 ã¯ç§ãã¡ã䜿ãããŒã«ãæè¡ã§ããããšãã°MRIè£
眮ãCTã¹ãã£ããŒãXç·è£
眮ãIDEãªã©ã§ããKubernetesãã©ãããã©ãŒã ãã§ããã ãããè£œé æ¥ããœãããŠã§ã¢ã§éµãæ¡ãã®ã¯ ã¬ã€ã€ãŒ3 ã§ã瀟å¡ãããŒã ãç·šæãã圹å²ããã管çã·ã¹ãã ã§ããããã§èª°ãšèª°ã話ãããæ±ºãŸããŸãããã®é »åºŠãå
容ã圢åŒã«ã€ããŠãããã§æ±ºãŸãã®ã§ãã è£œé æ¥ã®çµç¹ã«ãããéåžžã«æåãªäºäŸãã¹ãã¢ãŒå士ããæãããŸãããã¬ã€ã€ãŒ1ãšã¬ã€ã€ãŒ2ã¯äœãå€ããªãã£ãäºäŸã§ãã åã«ãªãã©ã«ãã¢ã®ããªãŒã¢ã³ãã«éåžžã«æåãªè£œé å·¥å ŽããããŸãã ãŒãã©ã«ã¢ãŒã¿ãŒãºã®å·¥å Žã ã£ãé ã¯ãåç±³ã©ãããäžçãããã¯ã©ã¹ã®æ¥çžŸã®æªãèªåè»å·¥å Žã§ããã GMãšããšã¿ã®ååŒäŒç€Ÿã®æ ç¹ãšãªãã2幎ãçµããªããã¡ã«æ¥æ¬ã®å·¥å Žã¬ãã«ã®æ¥çžŸããããåºããŸããã人ãåºé¢ç©ãèšåããäœäžã€å€ããŠããŸããã ã¬ã€ã€ãŒ1ãšã¬ã€ã€ãŒ2ã¯å€åãªãã§ãå¯äžå€ãã£ãã®ãã¬ã€ã€ãŒ3ã§ããã ç§ãã¡ã®æ¥çã§ã¯ããœãããŠã§ã¢ã¢ãŒããã¯ãã£ã«åœãããŸãããªãŒããŒãå®ããéšåã§ãã äžåºŠã«ããããã®ä»äºãããã®ããå°ããåããŠä»äºãããã®ãïŒ ãã£ãŒãããã¯ã®ã¹ããŒãã¯ïŒ ã¬ã€ã€ãŒ3ã¯éåžžã«éèŠã ãšãäŒãããŠãããŸãã è£è¶³ ãã®å·¥å Žã¯NUMMIïŒNew United Motor Manufacturing, Inc.ïŒãšããŠç¥ããã1984幎ã«GMãšããšã¿ã®ååŒäºæ¥ãšããŠèšç«ãããŸãããåãåŽåè
ãåãèšåã§ãããªãããããšã¿çç£æ¹åŒã®å°å
¥ã«ããåçã«æ¥çžŸãæ¹åããäºäŸãšããŠãçµå¶åŠã®æç§æžã«ãç»å ŽããæåãªäºäŸã§ãã ã«ãŠãã®ã¡ã¿ãã¡ãŒ ââ DevOpsã®æ¬è³ª è£œé æ¥ã§ããœãããŠã§ã¢ã§ããè¯ãã·ã¹ãã ãäœãã«ã¯3ã€ã®æ¹æ³ããããŸãã éæ³ã®3ã€ã®åŽé¢ãç®æãã®ã¯ã匱ãã·ã°ãã«ãå¢å¹
ã§ãããã©ãããã¹ããŒãã¢ããã®ããã«ã·ã¹ãã ãã¹ããŒããŠã³ã§ãããããããŠã·ã¹ãã ãåå²ããããšã§ç°¡çŽ åã§ãããã§ãã å°é£ããèãããŸããããã¹ãã£ãŒãã³ã»ã¹ãã¢ãŒå士ãšã®ç ç©¶ã§ãæãé®®æã«æãã話ãããã§ã玹ä»ããŸãã 2人ã§ã«ãŠããåãã話ã§ããã¹ãã£ãŒããšãžãŒã³ã§ãã ã¹ãã£ãŒããšãžãŒã³ãè¡ã£ãŠããã®ã¯ããã ã®èäœåŽåã§ãé ã¯äœ¿ããªããšæããããããŸããã ãããã2人ã§è§£æ±ºããªããã°ãªããªãåé¡ãå®ã¯ããã€ãé ããŠããŸãã äŸãã°ãã«ãŠãã®éå¿ã¯ã©ãããçãåºå
¥ãå£ãéãã«ã¯ã©ãåãã¹ãããçãããã£ãéæ®µãéãã«ã¯èª°ãå
ã«è¡ãã¹ãããäœã¯åãåãã¹ããããªã©ã§ãã ãã ãã³ã³ãµã«ã¿ã³ãããã©ãŒã«ã¹ã°ã«ãŒããããã§ã¯å¿
èŠãããŸããã 詊è¡é¯èª€ãšçŽ æ©ããã£ãŒãããã¯ããããŠäœããã³ãã¥ãã±ãŒã·ã§ã³ãšèª¿æŽã«ããã2人ã¯ç¢ºå®ã«ç®æšãéæããã§ãããã ããããªãŒããŒã®åã§ã圌ãã®ä»äºã¯ãã£ãšé£ãããã®ã«ã§ããŸãã 1ã€ã¯é»æ°ãæ¶ãããšã§ãã äœæ¥ã«ãããæéãå¢ããå±éºåºŠãå¢ããã«ãŠããéšå±ãèªåã®äœãå·ã€ããå¯èœæ§ããããŸãã ä»ã«ãæ§ã
ãªæ¹æ³ã§å€åãå ããããšãã§ããŸãã 倧ããªãµã€ã¬ã³ã倧é³éã®é³æ¥œãšãã£ãéé³ãæµããŠã¿ããã ã¹ãã£ãŒããšãžãŒã³ãçŽæ¥äŒè©±ã§ããªããã仲ä»äººãéã蟌ãã ããã§ããŸãã ãããšçªç¶ãã¹ãã£ãŒããšãžãŒã³ãã«ãŠãã®ç§»åã«å€±æããå§¿ãæ³åã§ããŸãã ãªããªããåé¡ã解決ããã®ã«å¿
èŠãªã¯ãã®æ
å ±ãæã®å±ãç¯å²ã«ãªãããã§ãã èŠããã«ããããããDevOpsã®æ¬è³ªã§ãã 2000幎代ã«ãããã€ãéåžžã«è€éã«ãªããéçºãšéçšãJiraãã±ãããèŠä»¶å®çŸ©æžããããžã§ã¯ããããŒãžã£ãŒãä»ããŠããã³ãã¥ãã±ãŒã·ã§ã³ã§ããªããªããšãçªç¶ãç®æšéæã«å¿
èŠãªåž¯åå¹
ãäžè¶³ããŠããŸãã®ã§ãã éçºãšéçšã«éãããæè¡ãšããžãã¹ã®éãç ç©¶éçºãšããŒã±ãšå¶æ¥ãªã©ãããããããŒã éã§ã§ãã ã¹ãã£ãŒããšãžãŒã³ã®ã«ãŠãç§»åã¯ãå
±åäœæ¥ã«ãããåé¡è§£æ±ºã®ã¡ã¿ãã¡ãŒã§ã圌ãã®ããŒã ãšããŠã®ææã«çŠç¹ãåœãŠãŠããŸãã ãªãŒããŒæ¬¡ç¬¬ã§ã圌ãã®ä»äºã¯ç°¡åã«ãå°é£ã«ããªããŸãã ãã®ã«ãŠãã¯2ã€ã®ã³ã³ã»ããã衚ããŠãããšæã£ãŠããŸãã 1ã€ç®ã¯ ã³ããŒã¬ã³ã¹ïŒCoherenceïŒ ã§ãã ã¹ãã£ãŒãã³ãšãžãŒã³ã¯ã©ããŸã§äžäœãšããŠæ©èœã§ããã§ããããïŒ çŽæ¥è©±ãããšãã§ããªãç¶æ³ã§ã¯ããã¯ãããŒã ã§ã¯ãªãããã ã®ã«ãŠããåã
ã«æ¯ãã2人ã§ãã 2ã€ç®ã¯ å¯çµåïŒcouplingïŒ ã§ãã 2人ã§ã«ãŠããåããäœæ¥ã¯ã2人ã2ã€ã®æ€
åãå¥ã
ã«åããã®ãšã¯éããŸãã æ€
åã2ã€ãªããã³ãã¥ãã±ãŒã·ã§ã³ã調æŽã¯äžèŠã§ããçãåºå
¥ãå£ãåæã«éãæã¯å¥ã§ããã ç§ãã¡ãåãçµãããšã®å€ãã¯ãä»ã®ããŒã ãšé£æºããŠè¡ããŸããäŸãã°ãå€§èŠæš¡ãªã«ã³ãã¡ã¬ã³ã¹ã®å Žã§äœãã®ãã©ã³ãã³ã°ã«åå ãããšããŸãã äœå人ãã®äººãéãŸã£ãŠã³ã³ããã¹ããå
±æããæ¹åæ§ãæ±ºããã®ã¯ããŠããªããšã§ãããæ¥åžžæ¥åã§ã¯è¡ããããããŸããã äœå人ãã®äººéãé£çµ¡ãåãç¶ããŠèª¿æŽãããªããŠç¡çã§ãã 代ããã«å¿
èŠãªã®ããã«ãŠãã®åå²ã§ãã åžžã«é£çµ¡ãšèª¿æŽã«è¿œãããããšãªããç¬ç«ããŠä»äºãã§ããããã«ããããã§ãã åŸç·šã«ç¶ããŸã åŸç·šã§ã¯ããã®ãã°ãããã·ã¹ãã ãæ§ç¯ãã3ã€ã®ãã¯ãã㯠ââ å·§é
ïŒååãïŒåïŒSlowificationïŒ ã åçŽåïŒSimplificationïŒ ã å¢å¹
ïŒAmplificationïŒ ââ ã«ã€ããŠãå
·äœçãªäºäŸãšãšãã«ç޹ä»ããŸããããã«ãGene Kimæ°èªèº«ãäœéšããçæAIãšãã€ãã³ãŒãã£ã³ã°ã®äžçã«ã€ããŠãã話ãããŸãã åŸç·šã¯ãã¡ã tech.findy.co.jp ä»å¹Žãéå¬ããŸãïŒïŒååå€ãããŸãïŒ ãç¶ç¶çããªããªãŒã®ãœãããŠã§ã¢å·¥åŠãèè
Dave Farleyæ°ãšåç° å人æ°ã®ç»å£ã決å®ïŒ ã¹ãã³ãµãŒåéäžã§ããïŒæ®ãå
ãïŒïŒ prtimes.jp We're Hiring ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ãã èå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers