ããã«ã¡ã¯ãFindy Freelanceã§ããã³ããšã³ããšã³ãžãã¢ãããŠããäž»èšïŒãããïŒã§ãã ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#3 Advent Calendar 2025 ã®25æ¥ç®ã®èšäºã§ãã adventar.org DependabotãäœæããPRã®å¯Ÿå¿ãçããã¯ã©ã®ããã«éçšããŠããŸããïŒäŸåããã±ãŒãžã®æŽæ°ã¯å°å³ãªããç¶ç¶çã«çºçããäœæ¥ã§ãç¹ã«å°äººæ°ããŒã ã§ã¯å¯Ÿå¿å·¥æ°ã®æ¯çãç¡èŠã§ããŸããã ãã®èšäºã§ã¯ãç§ãã¡ã®ããŒã ãDependabot PR察å¿ãæåéçšããDevinããããŠClaude Code Actionãžã𿮵éçã«æ¹åããŠããéçšã玹ä»ããŸããããããã®ã¢ãããŒãã§åŸãããç¥èŠãšãæçµçã«Claude Code Actionã«èœã¡çããçç±ããäŒãããŸãã Dependabot PRã®å¯Ÿå¿ãããŒãå¹çåãããæ¹ãAIããŒã«ã掻çšããã³ãŒãã¬ãã¥ãŒã®èªååã«èå³ãããæ¹ã®åèã«ãªãã°å¹žãã§ãã2025幎ã®å€é·ãæžããŠããã®ã§Dependabot PRã®AIã¬ãã¥ãŒããããã宿œãããå Žåã¯Claude Code Actionã®ã»ã¯ã·ã§ã³ãäžå¿ã«èŠãŠããã ããã°ãšæããŸãã æåæä»£ ãããŒ èª²é¡ Devinãžç§»è¡ Playbookãšã¯ SlackããPlaybookãåŒã³åºããŠå®è¡ æ¿èªæ éæ¿èªæ è¯ãã£ãç¹ éçšããŠããäžã§èŠããŠããããš Claude Code Actionãžç§»è¡ botäœæPRã§ã¯åäœããªãããClaude Code Base Actionãå©çš allowed_botsã§Claude Code Actionãžç§»è¡ åCIå®äºåŸã«ã¬ãã¥ãŒã宿œ çŸåšã®ãã㌠æ¿èªæ éæ¿èªæ 广 泚æç¹ ANTHROPIC_API_KEYã¯Dependabotçšã®Secretã«èšå® WebFetchã®äžå®å®ã ãŸãšã æåæä»£ ãã㌠Dependabot PRãžã®å¯Ÿå¿ã¯ã次ã®ãããªæµãã§è¡ã£ãŠããŸããã DependabotãäœæããPRã確èªãã CIã®å®è¡çµæãåŸ
ã¡ãæåã»å€±æã確èªãã æŽæ°ãããããã±ãŒãžã®ãªãªãŒã¹ããŒãã確èªããBreaking Changesããªãã調ã¹ã CIã倱æããŠããå Žåã¯åå ã調æ»ããå¿
èŠã«å¿ããŠã³ãŒããä¿®æ£ãã åé¡ããªããã°ã¬ãã¥ãŒãè¡ã ããŒãžãã äžèŠã·ã³ãã«ãªãããŒã§ãããå®éã«éçšããŠã¿ããšæ§ã
ãªèª²é¡ããããŸãã èª²é¡ ãŸããã³ã³ããã¹ãã¹ã€ããã®ã³ã¹ãã倧ãããšããåé¡ããããŸãããDependabot PRãé çªã«ããŒãžããŠãããšãä»ã®PRãšã³ã³ããªã¯ããçºçããŠrebaseãå¿
èŠã«ãªããŸããCIã®å®è¡ãåŸ
ã£ãŠããéã«å¥ã®äœæ¥ãå§ããCIãå®äºãããæ»ã£ãŠããŠæ¬¡ã®PRãåŠçããããšããæµãã§äœæ¥ã现åãã«ãªããã¡ã§ããã ãªãªãŒã¹ããŒãã®ç¢ºèªãæéã®ãããäœæ¥ã§ãããBreaking Changesã¯åºæ¬çã«CIã倱æããã®ã§æ°ä»ããŸãããçšã«runtimeã§åé¡ãçºèŠããããšããããŸãããã®ããã念ã®ãããªãªãŒã¹ããŒãã確èªããŠããããŒãžããããã«ããŠããŸããã ãŸãã人ã«ãã£ãŠããŒãžã®å€æåºæºã«ãºã¬ããããšããåé¡ããããŸãããããã¡ã³ããŒã¯CIãéã£ãŠããã°ããã«ããŒãžããå¥ã®ã¡ã³ããŒã¯ãªãªãŒã¹ããŒãã现ãã確èªããŠããããŒãžãããšãã£ãå
·åã§ãããªãªãŒã¹ããŒãã確èªãããšããã«ãŒã«ã¯äœãã°é²ããŸãããã©ãããã詳现ã«ç¢ºèªããããªã©åäººã®æèŠã«äŸåããŠããŸããŸãã å°äººæ°ããŒã ã§ã¯ãããããå®åäœæ¥ã®å·¥æ°æ¯çãçžå¯Ÿçã«é«ããªããŸããé±ã«æ°æéãDependabot PR察å¿ã«è²»ãããŠãããšãæ¬æ¥æ³šåãã¹ãéçºäœæ¥ã«å²ããæéãæžã£ãŠããŸããŸãã Devinãžç§»è¡ ãããã課é¡ã解決ãããããå°å
¥æžã¿ã ã£ãDevinã®PlaybookãDependabot PRã®ã¬ãã¥ãŒã«æŽ»çšããŠã¿ãããšã«ããŸããã Playbookãšã¯ Devinã«ã¯Playbookãšããæ©èœããããŸããããã¯ç¹°ãè¿ãè¡ãã¿ã¹ã¯ã®æé ãå®çŸ©ããŠãããåå©çšã§ããä»çµã¿ã§ãããDependabot PRãã¬ãã¥ãŒããããšããPlaybookãäœæããŠããã°ãæ¯ååãæé ã§ã¬ãã¥ãŒãå®è¡ã§ããŸãã æ¬¡ã®ãããªåœ¢ã§Playbookã«èšèŒããŠç¹°ãè¿ãå©çšããŠãããŸããã SlackããPlaybookãåŒã³åºããŠå®è¡ Devinã¯Slackãšé£æºã§ãããããSlackããçŽæ¥PlaybookãåŒã³åºãããšãã§ããŸãã ã@Devin playbook:!hogeããšã¡ã³ã·ã§ã³ããã ãã§ãå®çŸ©ããPlaybookãå®è¡ãããä»çµã¿ã§ãã ã¬ãã¥ãŒã宿œããããšåPRã«ã³ã¡ã³ããæ®ããŠãããŸãã æ¿èªæ éæ¿èªæ è¯ãã£ãç¹ Devinãå°å
¥ããŠè¯ãã£ãç¹ã¯ã1ã€ã®ã¢ã¯ã·ã§ã³ã§åPRã®ã¬ãã¥ãŒäŸé Œãå®çµããããšã§ãããSlackã§ã¡ã³ã·ã§ã³ããã ãã§ã¬ãã¥ãŒãå§ãŸããããDevinã®äœæ¥ãå®äºããåŸã¯ãåPRã«ã€ããã¬ãã¥ãŒã確èªããããŒãžããã ãã§æžãããã«ãªããŸããã éçšããŠããäžã§èŠããŠããããš è€æ°ã®Dependabot PRãåæã«äœæãããå Žåãäžéšã®PRãæŒããŠããŸãã±ãŒã¹ããããŸããããŸãããã§ã«ã¬ãã¥ãŒæžã¿ã®PRãå床ã¬ãã¥ãŒããŠããŸãããšããããŸããã ãããã¯Devinèªäœã®åé¡ã§ã¯ãªãã1åã®äŸé Œã§è€æ°PRããŸãšããŠåŠçãããŠããéçšæ¹æ³ã«èµ·å ãã課é¡ã§ãããDevinã«ã¯APIãæäŸãããŠãããããGitHub ActionsããPRããšã«Devin APIãåŒã³åºãä»çµã¿ãäœãã°è§£æ±ºã§ãã課é¡ãšèããŸããã Claude Code Actionãžç§»è¡ GitHub ActionsããDevin APIãåŒã³åºãä»çµã¿ã®æ§ç¯ãæ€èšããŠãããšãããClaude Code ActionããªãªãŒã¹ãããŸããã Claude Code Actionã¯ãååã®éãGitHub Actionsäžã§Claude Codeãå®è¡ã§ããActionã§ããPRã®äœæãã³ã¡ã³ããããªã¬ãŒã«ããŠãèªåã§ã³ãŒãã¬ãã¥ãŒãã¿ã¹ã¯ã®å®è¡ãã§ããŸãã PRããšã«ã¯ãŒã¯ãããŒãå®è¡ããããããããã®PRã«å¯ŸããŠã¬ãã¥ãŒãè¡ãããšããã¹ã³ãŒããæç¢ºã«ãªããŸããå
¬åŒã®GitHub ActionãšããŠæäŸãããŠããããšãšãAIã¢ãã«ãéžæã§ããããšã決ãæãšãªããClaude Code Actionãžç§»è¡ããããšãšããŸããã botäœæPRã§ã¯åäœããªãããClaude Code Base Actionãå©çš å°å
¥åœåãClaude Code Actionã«ã¯Dependabotã®ãããªbotãäœæããPRã§ã¯å®è¡ã§ããªããšããå¶çŽããããŸããã ãã®å¶çŽãåé¿ãããããClaude Code Base Actionãå©çšããããšã«ããŸãããBase Actionã¯botäœæã®PRã§ãåäœãããããšãã§ããæ©èœçã«ãClaude Code Actionãšåçã®ããšãã§ããŸãã allowed_botsã§Claude Code Actionãžç§»è¡ ãã®åŸãClaude Code Actionã« allowed_bots ãªãã·ã§ã³ã远å ãããŸãããããã«ãããDependabotãäœæããPRã§ãClaude Code Actionãå®è¡ã§ããããã«ãªããŸããã Claude Code Base Actionããã®ç§»è¡ãè¡ã£ãçç±ã¯ãæ©èœçãªå·®ã¯ã»ãšãã©ãªããã®ã®ãä»ã®CIã¯ãŒã¯ãããŒãšã®äžè²«æ§ãä¿ã€ããã§ãããããŒã å
ã§è€æ°ã®Actionã䜿ãåããããããçµ±äžããæ¹ãã¡ã³ããã³ã¹æ§ãé«ããªããŸãã åCIå®äºåŸã«ã¬ãã¥ãŒã宿œ Claude Code Base Actionã®ã¯ãŒã¯ãããŒã¯lintãtestãtypecheckãªã©ã®CIãžã§ããå®äºããåŸã«Claude Code Base Actionãå®è¡ããããã«ããŸãããããããããšã§ãCIã®çµæãèžãŸããã¬ãã¥ãŒãã§ããŸãã CIã®æµãã¯æ¬¡ã®ãããªã€ã¡ãŒãžã§ãã jobs: test: ...(çç¥)... lint: ...(çç¥)... typecheck: ...(çç¥)... claude-review-for-dependabot-pr: name: Claude Review for Dependabot PR # `always()`ãæå®ãCIã倱æããŠãå®è¡ if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' && always() }} # åCIã®çµæã欲ããã®ã§çµäºããŠããå®è¡ needs: [test, lint, typecheck] ...(çç¥)... steps: - name: Checkout repository uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 - name: Claude Review for Dependabot PR uses: anthropics/claude-code-action@f0c8eb29807907de7f5412d04afceb5e24817127 # v1.0.23 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} github_token: ${{ github.token }} show_full_output: false #ãããã°ããããšãã¯show_full_outputãtrueã«ããŠç¢ºèª allowed_bots: dependabot claude_args: | --allowedTools "View,GlobTool,GrepTool,BatchTool,Bash(gh auth status),Bash(gh pr view:*),Bash(gh run list:*),Bash(gh pr comment:*),Bash(gh pr review:*),Bash(gh pr diff:*),Bash(gh pr checks:*),Bash(gh run view:*),Bash(gh release view:*),Bash(git log:*),Bash(git status:*),Bash(git diff:*)" --model claude-opus-4-5-20251101 prompt: | ïŒããã³ããäŸã¯äžèšã«èšèŒïŒ ããã³ããäŸ ## åœä»€ CIå®è¡äžã®Dependabotã®ãã«ãªã¯ãšã¹ã #${{ github.event.pull_request.number }} ãè©äŸ¡ãããŒãžããŠåé¡ãªãã倿ããŠãã ãã ## æé 1. ãã«ãªã¯ãšã¹ãã確èªïŒgh pr view ${{ github.event.pull_request.number }}ïŒ 2. package.jsonãšpackage-lock.jsonã®å·®åãç¢ºèª 3. ããŒãžã§ã³å·®åããå
¬åŒãªãªãŒã¹ããŒããšGitHubã®ãªãªãŒã¹ã確èªãã©ã€ãã©ãªã®å€æŽå
å®¹ãææ¡ïŒgh release viewïŒ 4. test, lint, typecheckã®å®è¡çµæã確èªïŒgh pr checks ${{ github.event.pull_request.number }}ïŒ 5. test, lint, typecheckã倱æããŠããå Žåããã°ã確èªïŒgh run viewïŒ 6. æ¢åã³ãŒããä»ã©ã€ãã©ãªã®ããŒãžã§ã³ãšã®æŽåæ§ãç¢ºèª 7. 倿Žå
容ãè©äŸ¡ããã©ãŒãããã«æ²¿ã£ãŠãã«ãªã¯ãšã¹ãã«ã¬ãã¥ãŒã³ã¡ã³ãïŒæ¥æ¬èªïŒã1ä»¶æçš¿ ## ãã©ãŒããã ``` # {ã©ã€ãã©ãªå} x.x.x -> x.x.x ## è©äŸ¡çµæ â
æ¿èª / â ïž ç¢ºèªãå¿
èŠ / â èŠå¯Ÿå¿ / etc... ## ã©ã€ãã©ãªã®å€æŽå
容 - 倿Žå
容1 - 倿Žå
容2 ## ãªã¹ã¯ã泚æäºé
- ãªã¹ã¯1 - ãªã¹ã¯2 ## å¿
èŠãªå¯Ÿå¿ - 察å¿1 - 察å¿2 ``` ## 泚æäºé
- æ¿èªããå ŽåïŒ`gh pr review {ãã«ãªã¯ãšã¹ãçªå·} --approve --body "{BODY}"` - æ¿èªããªãå ŽåïŒ`gh pr comment {ãã«ãªã¯ãšã¹ãçªå·} --body "{BODY}"` - å®è¡æã«è¶³ããªãæš©éããã£ãå Žåã¯ã³ã¡ã³ã ## 远å 確èªé
ç® - Breaking Changesã®æç¡ - ã»ãã¥ãªãã£è匱æ§ã®ä¿®æ£ç¶æ³ - ä»ã®äŸåé¢ä¿ãžã®åœ±é¿ ä»ã®CIãžã§ãã®å®äºãåŸ
ã£ãŠããActionãå®è¡ããããšã§ãCIã倱æããŠããå Žåã¯ããªã倱æããããã®åæããããããšãã§ããŸãã倱æãã°ããåå ãç¹å®ããæ¬¡ã«åãã¹ãã¢ã¯ã·ã§ã³ãPRã³ã¡ã³ããšããŠæ®ãããšãã§ããŸãã 察å¿ãã¹ãããšããããã°å¯Ÿå¿æã®å·¥æ°æããããããåãæãããã¿ã¹ã¯ãšããŠç©ãã§ãããã®å€æãããããã§ãã çŸåšã®ãã㌠DependabotãPRãäœæãã lintãtestãtypecheckã®CIãžã§ããå®è¡ããã CIãžã§ãå®äºåŸãClaude Code Actionãå®è¡ããã Claude Code ActionãæŽæ°å
容ã®èŠçŽããªãªãŒã¹ããŒãã®éèŠãã€ã³ããCI倱ææã®åå åæãšä¿®æ£ææ¡ãPRã³ã¡ã³ããšããŠæ®ã 人éãã³ã¡ã³ãã確èªããæçµå€æãè¡ã åé¡ãªããã°ããŒãžãã 人éãè¡ãäœæ¥ã¯ãClaude Code Actionã®ã³ã¡ã³ãã確èªããŠæçµå€æãããããšã«éäžã§ããããã«ãªããŸããã æ¿èªæ éæ¿èªæ 广 ãã®æ¹åã«ãããDependabot PR察å¿ã«ãããå·¥æ°ãé±ãããçŽ30åã1æéåæžãããŸããã åæžãããäž»ãªå
èš³ãšããŠã¯ããªãªãŒã¹å
容ã®ç¢ºèªãšå¯Ÿå¿èŠåŠã®èª¿æ»ã«ãããæéã§ãã å¿
èŠãªå¯Ÿå¿ãåºåãããã®ã§ãã察å¿ãããã¿ã¹ã¯ãšããŠç©ããã®å€æããããããªã£ãã®ã¯è¯ãã£ããšæããŸãã ãŸããã¬ãã¥ãŒã®èгç¹ãããã³ããã§çµ±äžãããŠãããããå±äººæ§ãäœäžããŸããã誰ã察å¿ããŠãåãåºæºã§ã¬ãã¥ãŒãè¡ãããŸãã ã³ã³ããã¹ãã¹ã€ããã®ã³ã¹ããäœäžããŸãããã³ã³ããªã¯ãããPRã¯èªåã§rebaseãšåã¬ãã¥ãŒãããããããèªåã®åããããã¿ã€ãã³ã°ã§ããŒãžããã ãã§æžãããã«ãªããŸããã æ³šæç¹ ANTHROPIC_API_KEYã¯Dependabotçšã®Secretã«èšå® ANTHROPIC_API_KEY ã¯GitHub Actionsã®Secretsã ãã§ãªããDependabotåŽã®Secretsã«ãèšå®ããå¿
èŠããããŸããDependabotãäœæããPRã§ã¯ãéåžžã®Repository Secretsã«ã¢ã¯ã»ã¹ã§ããªãããã§ãã èšå®å Žæã¯ https://github.com/{Org}/{Repo}/settings/secrets/dependabot ã§ãããããå¿ãããšãDependabot PRã§Claude Code ActionãåäœããŸããã WebFetchã®äžå®å®ã åœåããªãªãŒã¹ããŒãã®ååŸã«WebFetchæ©èœã䜿ã£ãŠããŸããããããªãŒãºããããšããããŸãããïŒ2025幎11æããïŒ å¯ŸçãšããŠãå€éšæ
å ±ã®ååŸã¯ gh ã³ãã³ããäœ¿ãæ¹éã«å€æŽããŸãããGitHub CLIã䜿ã£ãŠãªãªãŒã¹æ
å ±ãååŸããæ¹ãå®å®æ§ãšåçŸæ§ãé«ãããã©ãã«ãæžããŸããã Claude CodeåŽã§WebFetchãããªãŒãºããissueãããã€ããããŸãã show_full_output ãæå¹åããŠããã°ã衚瀺ãããªãããçŽæ¥çãªåå ã¯æŽããŠããŸããããçŸç¶ã§ã¯ gh ã³ãã³ãã§å¿
èŠãªæ
å ±ã¯ååŸã§ããŠããã®ã§ allowedTools ãã WebFetch ã¯äžæçã«é€å€ããŠããŸãã github.com ãŸãšã Dependabot PR察å¿ãæåéçšããDevinããããŠClaude Code Actionãžãšæ¹åããŠããéçšã玹ä»ããŸããã 宿çã«çºçããäœæ¥ã¯èªååãããšå¹æã倧ããã§ããç¹ã«Dependabot PRã®ãããªãPRããšã«èªåã§ããªã¬ãŒããããã¿ã€ãã®ã¿ã¹ã¯ã«ã¯ãGitHub Actionsãšé£æºããClaude Code Actionãé©ããŠããŸããã ä»åŸã®èª²é¡ãšããŠã¯ãClaude Code ActionãApproveããPRãèªåããŒãžããä»çµã¿ã®å°å
¥ãæ€èšããŠããŸããçŸåšnxãå©çšããã¢ãã¬ãã§éçšããŠããããŠããããã¹ããVRTã¯åã¢ããªã§æŽåã§ããŠããŸãããã ãã管çç»é¢ãªã©äžéšã®ã¢ããªã§ã¯E2Eãã¹ããæªæŽåã®ããããŸã èªåããŒãžã«ã¯èžã¿åããŠããŸãããE2Eãã¹ããæ¡å
ããèªåããŒãžããŠãå®å
šãšãã確信ãæãŠãäœå¶ãæŽããŠãããããšèããŠããŸãã äžèšã®ããã«ãAIã®ã¬ãŒãã¬ãŒã«æŽåãéèŠãªã®ã§ãã¹ãçããã£ãããã£ãŠããããšã¯ä»åŸããã«éèŠã«ãªã£ãŠãããšåèªèããŸããã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ãã èå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#1 Advent Calendar 2025 ãã®24æ¥ç®ã®èšäºã§ãã æ²¢å±±ã®ã¢ããã³ãã«ã¬ã³ããŒèšäºãå·çãããŠããŸãã®ã§ã幎æ«ã®ãäŸã«æ¯éèªãã§ã¿ãŠãã ããã adventar.org ã¯ããã« ãœãããŠã§ã¢ãšã³ãžãã¢ã® åå±(@shunsock) ã§ããç§ã®æå±ããããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã ã§ã¯ããã¡ã€ã³ãã£å
šäœã®ããŒã¿æŽ»çšãæšé²ããããã®ããŒã¿åºç€ãæ§ç¯ããŠããŸãã ä»åãæã
ã¯ããŒã¿åºç€ã®RDSãšBigQueryã®ããŒãã«åæã·ã¹ãã (EL Pipeline) ã®ãªãã¬ãŒã¹ãè¡ãã DuckDBãæ¬çªå°å
¥ ããŸãããæ¬çš¿ã§ã¯ã掻çšã«è³ã£ãçµç·¯ãšå®éã«çµã¿ããã«ããã課é¡ãããã³ææã玹ä»ããŸãã ã¯ããã« ãã¡ã€ã³ãã£ã«ãããããŒãã«åæã·ã¹ãã ã®ç«ã¡äœçœ® ãªãã¬ã€ã¹ã®èæ¯ è£è¶³ æè¡éžå® Datastream DuckDB Datastream, DuckDBäž¡æ¡çšã®çç± ã·ã¹ãã èšèš æŠèŠ CLIãæãçç± GitHub Actionsããã®èµ·åã«ããçç± è€æ°ã®RDSã転éãã éçºéçšãšææ éçºã»éçšããŠã¿ãææ³ å¯èªæ§ãšæ¡åŒµæ§ãé«ã ãšã¯ãããŸã ãŸã æ°èã®ãœãããŠã§ã¢ ãŸãšã ãã¡ã€ã³ãã£ã«ãããããŒãã«åæã·ã¹ãã ã®ç«ã¡äœçœ® ãã¡ã€ã³ãã£ã§ã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³ãAWSäžã®ECSãšRDSãããŒã¿åºç€ãGoogle Cloudã®BigQueryã§äœæããŠããŸãã ãã®ãããªæ§æãåã£ãŠãããããAWSã®RDSãšGoogle Cloudã®BigQueryãåæããŠããŒãã«ãææ°ã«ããå¿
èŠããããŸãã æ¬¡ã®å³ã¯ãFindy Toolsäºæ¥éšã«ããããçŸåšã®ããŒã¿ãããŒã®æŠå¿µå³ã§ããAWSäžã«ååšããRDSã®ããŒã¿ãBigQueryã«è»¢éããŠããããšãåãããŸãã ãªãã¬ã€ã¹ã®èæ¯ åŒç€Ÿã§ã¯åŸæ¥ãOSSã®EL(Extract Load) ããŒã«Â Embulk  ãECSã«èŒããŠé·æééçšããŠããŸãããåŒç€Ÿã§å©çšããŠããRDBMSãããŒã¿ãŠã§ã¢ããŠã¹ã«å¯Ÿå¿ããŠããä»ã瀟å
ã«ç¥èŠãæã£ãæ¹ãåšç±ããŠããããã§ãã ããããè¿å¹Žã§ã¯ã Embulkã®ãšã³ã·ã¹ãã ã®ã¬ã¬ã·ãŒåã é·æçãªã¡ã³ãããäžè¶³ ãèª²é¡ ãšãªã£ãŠããŸããç¹ã«ã å°æ¥ã®ã¡ã³ããã³ã¹ãäžéæãªç¹ã¯ãã»ãã¥ãªãã£ã€ã³ã·ãã³ãã«ç¹ãããããªã ãã屿§ããŠããŸããã ãŸãã Embulkã®èµ·åã®é
ããèª²é¡ ã«ããŠããŸãããæã
ã¯BigQueryãã©ã°ã€ã³ãªã©ãå©çšããŠãããããJVMäžã§ããã«JRuby VMãç«ã¡ãããŸãããã®ãããªæ§æã¯ ããŒãã«åæã®é
ãã«ç¹ãããECSã®èª²éé¡ãå¢ããèŠå ãšãªã£ãŠããŸããã ãã®ããã«ãã·ã¹ãã ãå
ç¢ã«ããããšãšåŠçã¹ããŒãåäžã«ããæéã®ã³ã¹ãããŠã³ãä»åã®ãããžã§ã¯ãã®ç®çã§ããã è£è¶³ Embulkã®ã¡ã³ãããŒã®æ¹ã ããªãŒãã³ãœãŒã¹ã»ãããžã§ã¯ãã®ããã¿æ¹ã ãšããããã°èšäºã§è匱æ§ã«ã€ããŠæ¬¡ã®ããã«è¿°ã¹ãŠããŸãã ããããããã€ãã®æ»æã¯æ¢ã«æåããŠããŠãç§ãã¡ã®ãœãããŠã§ã¢ã»ãµãã©ã€ãã§ãŒã³ã«ã¯ãæªæã®ããã³ãŒãããšã£ãã«å
¥ã蟌ãã§ããããšèªèããŠããã¹ãã§ãããã æè¡éžå® Datastream, Spark, ãã®ä» ELTããŒã«ãªã©ãè€æ°ã®ç§»è¡å
åè£ããããŸããããã®äžã§ãããŒã¿èŠæš¡ã«å¿ããŠæ¬¡ã®2ã€ããéžå®ããããšã«ããŸããã Datastream: ãã¢ãªã¢ã«ã¿ã€ã ã§ã®æŽæ°ã欲ããå Žåãå€§èŠæš¡ããŒã¿ã®å Žå DuckDB: å°èŠæš¡ããŒã¿ã®å Žå Datastream Datastream 㯠Google CloudãæäŸãããµãŒããŒã¬ã¹ã®CDC (Change Data Capture), ReplicationããŒã«ã§ãã CDCã¯ããããœãŒã¹ã®ã·ã¹ãã ãç£èŠãããã®ã·ã¹ãã ã«å¯Ÿããæäœããã¢ãªã¢ã«ã¿ã€ã ã§ãã¿ãŒã²ãããšãªãã·ã¹ãã ã«åæ ããä»çµã¿ã®ããšã§ããããã«ããAWSã®RDSã«å¯Ÿãã倿Žãå³åº§ã«BigQueryã«åæ å¯èœã§ãã DuckDB DuckDB ã¯é«éãªã¢ããªãã£ã«ã«ããŒã¿ããŒã¹ã§ããs3ãªã©ã®ã¹ãã¬ãŒãžãµãŒãã¹ã«åºåããããã°åæããã¡ã€ã«ãã©ãŒãããã®å€æãwasmã«ããããã³ããšã³ãã§ã®æŽ»çšãªã©åºãçšéã§æŽ»çšãããŠããŸãã æ¥ç¶å
ãåºåãã©ãŒããããéåžžã«è±å¯ãªä»ãC++補ã®ãã«ãã¹ã¬ããã©ã³ã¿ã€ã ã«ãããé«éã«åäœããç¹ãé
åã§ãã æ¬¡ã®åçã¯DuckDBã®PoCæã«è¡ãªã£ããã³ãããŒã¯ã§ããå°ããªããŒãã«ã§è»¢éã詊ãããšããã 1.5åçšåºŠã®é«éã§ãã ã ãœãããŠã§ã¢åç§° å¹³å æšæºåå·® æé æé
Embulk 253ç§ 8ç§ 242ç§ 261ç§ DuckBD 176ç§ 30ç§ 137ç§ 209ç§ è£è¶³: å®éã«ããã©ãŒãã³ã¹ãã¹ããè¡ã£ããšãã®æ§å Datastream, DuckDBäž¡æ¡çšã®çç± ä»åã®ãªãã¬ã€ã¹ã§ã¯ãã³ã¹ãæé©åã軞㫠Datastream ãš DuckDB ã®2çš®é¡ã®ã¢ãããŒãã䜿ãåããæ§æãæ¡çšããŸããã Datastreamã¯ãã«ãããŒãžãã§ãµãŒããŒã¬ã¹ãªCDCãµãŒãã¹ãšåŒ·åã§ããäžæ¹ã§ããã¢ãªã¢ã«ã¿ã€ã æ§ãäžèŠãªå°èŠæš¡ããŒã¿ã«å¯ŸããŠã¯æ©èœéå€ãšãªããè²»çšé¢ã§ãå²é«ã«ãªããŸããããã§ããªã¢ã«ã¿ã€ã æ§ãæ±ããªãé åã§ã¯ããã軜éã§ã·ã³ãã«ã«æ±ããDuckDBã䜿ã£ãŠåæãè¡ãæ¹éãåããŸããã æ¬èšäºã®ä»¥éã§ã¯ãäžèšã®ãã¡ãDuckDBã«ãã£ãŠã©ã®ããã«ããŒãã«åæã·ã¹ãã ãæ§ç¯ããããéçºéçšã§èŠããç¥èŠã説æããŸãã ã·ã¹ãã èšèš æŠèŠ æ¬¡ã®ç»åã¯æã
ã®DuckDBã«ããããŒãã«åæã·ã¹ãã ã®æŠå¿µå³ã§ãã æ¬¡ã®ããã«åçš®ãœãããŠã§ã¢ãèµ·åããŸãã GitHub Actionsã® on_schedule ã§ã¯ãŒã¯ãããŒãèµ·å ã¯ãŒã¯ãããŒãECS Fartate Taskãèµ·å Fargate Taskãã³ã³ããã©ã³ã¿ã€ã ãèµ·å ã³ã³ããã©ã³ã¿ã€ã ã®äžã§CLIã¢ããªã±ãŒã·ã§ã³ãèµ·å CLIã¢ããªã±ãŒã·ã§ã³ãåŒæ°ãšèšå®ãã¡ã€ã«ããSQLãçæ CLIã¢ããªã±ãŒã·ã§ã³ãDuckDBã§SQLãå®è¡ CLIãæãçç± DuckDBãçŽæ¥èµ·åããªãçç±ã¯ã1åã®å®è¡ã§1ããŒãã«ãã€éä¿¡ã§ããããã«ãããããšãSQLãçŽæ¥æžããã«èšå®ãã¡ã€ã«ãã€ã³ã¿ãŒãã§ãŒã¹ã«ããããã§ãã å®éã®ãŠãŒã¶ãŒã®å
¥åã€ã³ã¿ãŒãã§ãŒã¹ã¯æ¬¡ã®ãããªYAMLã§ãã dataset_id : lake... table_name : table_name select_statement : "hoge, fuga, ..." GitHub Actionsããã®èµ·åã«ããçç± å
ã
ã®ã¯ãŒã¯ãããŒã¯EventBridge Schedulerã ã£ãã®ã§ãããã·ã¹ãã é害æã«EventBridgeã®cronã倿Žãããªã©éçšè² è·ãéãç¶æ
ã§ããã DispatcherãGitHub Actionsã«ããããšã§ãã¿ã³æäœã ãã§æ€èšŒå¯èœã«ããŸããã ãŸãã1ããŒãã«ãã€ã®éä¿¡ã«ããã®ã§ãã¹ããŒãžã³ã°ç°å¢ã§ã®åäœæ€èšŒãç°¡åãã€è»œéã§ãããŠãŒã¶ãŒã¯æ¬¡ã®ãããªWorkflow Dispatchãèµ·åããã ãã§åäœæ€èšŒãå®äºããŸãã è€æ°ã®RDSã転éãã çŸåšã®Findy Toolsäºæ¥éšã®ã¯ãŒã¯ãããŒãèŠããšåããéããè€æ°ã®RDSã転éããå¿
èŠããããŸãããããã§éçºçšã¹ã¯ãªãããæ±çšåããŠåçãªãã«ããawsã³ãã³ãã®çºç«ãããŠããŸãã éçºéçšãšææ éçºã¯ãç§1人ã§1ãæåŒ±ã§ããŸãããæåã®1ãããžã§ã¯ãããæéãããã£ããã®ã®ãã¢ãã¬ãæ§æã«ãããããã§ åŸæ¥1ãæããã£ãæ°èŠããŒã¿ãœãŒã¹ã®è¿œå ã1é±éçšåºŠã«ãªããŸããã åŠçé床ã«ã€ããŠã¯ãçŽå皌åãã䞊å皌åãžå€æŽãšãªã£ãããåçŽãªæ¯èŒã¯é£ããã®ã§ããã 1ããŒãã«ãããçŽ30ç§ããçŽ10ç§ã«ççž® ã§ããŸããã ãã§ã«ä»ã®ã¡ã³ããŒããããã«ãªã¯ãšã¹ããå±ããŠããã瀟å
ã§ãæå¿ãã®ããåå¿ãåŸãŠããŸãã éçºã»éçšããŠã¿ãææ³ å¯èªæ§ãšæ¡åŒµæ§ãé«ã ä»åäœæããCLIã§ã¯æ¬¡ã®ãããªSQLãçæããŠããŸããé«ãæ¡åŒµæ§ãå¯èªæ§ãè¯ããšæ¹ããŠæããŸããã INSTALL mysql; LOAD mysql; ATTACH '' AS mysqldb ( TYPE mysql); -- ç°å¢å€æ°ããåã£ãŠãã CREATE TABLE users AS SELECT * FROM mysqldb.table_name; INSTALL bigquery FROM community; LOAD bigquery; ATTACH '' as bq ( TYPE bigquery); DROP TABLE IF EXISTS bq.lake__system_name.table_name; CREATE TABLE bq.lake__system_name.table_name AS SELECT * FROM table_name; DROP TABLE table_name; æ¡åŒµã«ã€ããŠããæ¬¡ã®Core Extensionsã®ä»ã«Community ExtensionsããããŸããDB以å€ã«ãSpreadSheetãªã©å¹
åºãããŒã«ã察å¿ããŠããã®ã§ãèå³ãæã£ãæ¹ã¯ç¢ºèªããŠã¿ããšè¯ããšæããŸãã duckdb.org ãšã¯ãããŸã ãŸã æ°èã®ãœãããŠã§ã¢ DuckDBã¯æ°èã®ãœãããŠã§ã¢ãšããããšããããæ®éã«ãã°ããã£ããããŸããäŸãã°æ¬¡ã®Issueã¯ãç§ãDuckDBã®MySQLã®ãã©ã°ã€ã³ã®ATTACHå¥ã«ååšãããã°ãå ±åãããã®ã§ãã(æ¢ã«è§£æ±ºæžã¿ã§ã) github.com ãŸããæ¡åŒµã«ãã£ãŠã¯ããµããŒãããŠããOSãéãããŠããããšããããŸããç§ãäœæããææã§ã¯ãBigQueryæ¡åŒµã§arm64 linuxããµããŒããããŠããããFargateãamd64ã§ç«ãŠãŠããŸããããªãããã¡ããçŸåšã¯å¯Ÿå¿ããŠããããã§ãã github.com ãŸãšã ä»åã®åãçµã¿ã§ãæã
ã® ããŒãã«åæã·ã¹ãã ã¯ããé«éãå
ç¢ã«ãªããŸããã ããã«ããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæŽç·Žããã ããŒã ã¡ã³ããŒã®å©çšãããããœãããŠã§ã¢ãšãªããŸããã ããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã ã§ã¯äžç·ã«äºæ¥éšæšªæããŒã¿åºç€ãäœã仲éãåéããŠããŸããæ°ã«ãªãæ¹ã¯æ¯é次ã®ãã©ãŒã ããã«ãžã¥ã¢ã«é¢è«ã«å¿åããŠã¿ãŠãã ãã!! herp.careers
ããã«ã¡ã¯ã ãã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§Findy AI+ã®éçºãããŠããdanã§ãã ä»åã¯ãããã³ããã«ã©ã®ãããªããŒã¿ãæç€ºå
容ãäžãããšLLMã誀ã£ãåºåãããããã®ãã«ã€ããŠã話ãããŸãã ããã³ããã«ã¯äœãæžãã¹ãã§ãäœãæžããªãã¹ããªã®ãããŸããLLMã«æž¡ãããŒã¿ã¯ã©ã®ãããªåœ¢ã§ããã¹ããªã®ããç§èªèº«ãçµéšããå®éã®äŸããããŠè§£æ¶ãŸã§ã®ã¢ãããŒãæ¹æ³ãã玹ä»ããŸãã åæã®ç²ŸåºŠããããã«ã¯ããã§ç޹ä»ããå
容ã§ã¯äžååã§ãããå
¥éç·šãšããŠåèã«ãªãã°å¹žãã§ãã ãã®èšäºã¯ãã¡ã€ã³ãã£ãšã³ãžã㢠#3 Advent Calendar 2025 23æ¥ç®ã®èšäºã§ãã仿ãããããããã®ã¢ããã³ãã«ã¬ã³ããŒèšäºãå·çãããäºå®ã§ãã®ã§ããã²èªãã§ã¿ãŠãã ããã adventar.org Findy AI+ãšã¯ 誀解ããŠããããã³ããèª¿æŽ è¯ããªãææ³1: ã·ã¹ãã ããã³ããã«UTCããæ¥æ¬æéã«å€æããæç€ºãäžãã è¯ããªãææ³2: åæã«äœ¿çšããããŒã¿ãå å·¥ããæç€ºãã·ã¹ãã ããã³ããã«äžãã ããã¹ãææ³ ã·ã¹ãã ããã³ããã¯ã©ã®ãããªæ¯ãèãã§åæãããŠã»ããã®ããæžã åæã«äœ¿çšããããŒã¿ãå å·¥ããŠããLLMã«æž¡ã ãããã« Findy AI+ãšã¯ Findy AI+ ã¯ãGitHub飿ºãããã³ããæç€ºãéããŠçæAIã¢ã¯ãã£ããã£ãå¯èŠåããçæAIã®å©æŽ»çšåäžãæ¯æŽãããµãŒãã¹ã§ãã 人ãšçæAIã®ååãåŸæŒãããéçºçµç¹ã®å€é©ããµããŒãããŸãã Claude CodeãGitHub CopilotãCodexãDevinãªã©æ§ã
ãªAIããŒã«ã®å©æŽ»çšã暪æçã«åæããŠãããåæåºç€ã«ã¯LangChainãæ¡çšããŠããŸãããŸããæ¥å ±ãããŒã åæãªã©ã®æ©èœã§ãLLMãæŽ»çšããŠããŸãã ããããç¹æ§ãããFindy AI+ ã§ã¯ãäœãã©ãåæãããããå®çŸ©ããããã®ããã³ãããããµãŒãã¹ã®äŸ¡å€ãå·Šå³ããéèŠãªèŠçŽ ãšãªããŸãã 誀解ããŠããããã³ããèª¿æŽ è¯ããªãææ³1: ã·ã¹ãã ããã³ããã«UTCããæ¥æ¬æéã«å€æããæç€ºãäžãã åæã®ã·ã¹ãã ããã³ããã¯æ¬¡ã®éãã§ãã # System Prompt ## Overview You are expert of developer experience and developer productivity. Your Timezone is Asia/Tokyo (UTC+9). Your Language is Japanese. The Timezone for the creation datetime of the Pull request is UTC. äžèšã¯ãããã·ã³ãã«ãªã·ã¹ãã ããã³ããã§ãã ãã®ã³ãŒãã§ã¯æ¬¡ã®ããšãæžããŠããŸãã LLMãã©ã®ãããªåœ¹å²ãæ
ãã®ã ã¿ã€ã ãŸãŒã³ã¯ã©ãã䜿çšããã®ã ã©ã®èšèªã§åºåããã®ã ãã«ãªã¯ãšã¹ãã®äœææ¥æãUTCã§ããããš ãã®ã·ã¹ãã ããã³ããã䜿çšããŠãããã¯ãããåæããŒã«ãå®è¡ãããšæ¬¡ã®ãããªåºåçµæã«ãªããŸããã ã·ã¹ãã ããã³ããã«ã¯äœ¿çšããŠã»ããã¿ã€ã ãŸãŒã³ãUTC+9(æ¥æ¬æé)ã§ããããšãšãLLMåæã«äœ¿çšããããŒã¿ã¯UTCã§ããããšãæèšããŠããŸãã ãã®çµæãLLMã¯åæäžã«äžããããUTCã®ããŒã¿ãJSTã«å€æããæšè«åŠçãè¡ãå¿
èŠããããæå³ããªãæ¥ä»ã®ãºã¬ãçºçããŸããã è¯ããªãææ³2: åæã«äœ¿çšããããŒã¿ãå å·¥ããæç€ºãã·ã¹ãã ããã³ããã«äžãã ãŠãŒã¶ãŒããã®èªç±å
¥åã«ãã远å åæãè¡ããšå®éãšã¯ç°ãªãæ¥æãåæçµæãšããŠè¿ã£ãŠããŸããã ãã®ããæ¬¡ã®ããã«ã·ã¹ãã ããã³ããã調æŽããŸããã # System Prompt ## Overview You are expert of developer experience and developer productivity. ## Current Date Today's date is {current _ date} (YYYY-MM-DD format in UTC timezone). When you see dates in the data provided, interpret them according to this current date. For example, if today is 2025-10-08 and the data shows "2025-10-06 to 2025-10-12", this is the current week, not a future or past week. Your Timezone is Asia/Tokyo (UTC+9). Your Language is Japanese. The Timezone for the creation datetime of the Pull request is UTC. ãã®ã³ãŒãã§ã¯æ¬¡ã®ããšãæžããŠããŸãã LLMãã©ã®ãããªåœ¹å²ãæ
ãã®ã çŸåšæ¥æã®æèš çŸåšæ¥æã¯æèšããããã®ã䜿çšãéå»ãåç
§ããªãããš ã¿ã€ã ãŸãŒã³ã¯ã©ãã䜿çšããã®ã ã©ã®èšèªã§åºåããã®ã ãã«ãªã¯ãšã¹ãã®äœææ¥æãUTCã§ããããš ãã®ã·ã¹ãã ããã³ããã䜿çšããŠPRã®åæãè¡ã£ãåŸããæ¥ææ¥ã«çšŒåãããããŠãªãããïŒããšè¿œå ã§è³ªåããŸãããLLMã¯Gitã®æŽ»åãã°ããææ¥ãå€å®ããŠåçããŸãããæ¬¡ã®ãããªåºåçµæã«ãªããŸããã å®éã®ææ¥ãšLLMãåºåããææ¥ãæ¯èŒãããšã2025幎11æ17æ¥ã¯æææ¥ã§ããæ¥ææ¥ã§åºåãããŠããŸã£ãŠããããšãåãããŸãã ã·ã¹ãã ããã³ããã«çŸåšæ¥æã®æèšãšéå»ãåç
§ããªãæšãæèšããŠããŸãã ãŸãæéæå®ã®ç¯å²ã«ã€ããŠãå
·äœçã«æç€ºããŠããŸãã ãã®çµæLLMã¯çŸå®ãšéå»ã«ã€ããŠèšåãããŠããéšåã§æ··ä¹±ãã誀ã£ãæšè«ã«ããåºåãã¹ãèµ·ããŠããŸããŸããã ããã¹ãææ³ ã·ã¹ãã ããã³ããã¯ã©ã®ãããªæ¯ãèãã§åæãããŠã»ããã®ããæžã ã·ã¹ãã ããã³ããã«ããŒã¿ã®å å·¥ãæé倿ãªã©åŠçã®å
·äœçãªå
å®¹ãæžããŠããŸããšäžèšã§ç޹ä»ãããããªèª€ã£ãæšè«ãèªçºããŠããŸãå¯èœæ§ãé«ãã§ãã ãã®ããã圹å²ã»èšèªã»ãã©ãŒããããªã©ã·ã³ãã«ãªå
å®¹ã§æäœéã®ã¿æžãã®ãè¯ãã§ãã æçµçã«ã¯æ¬¡ã®ãããªã·ã³ãã«ãªã·ã¹ãã ããã³ããã«ãªããŸããã # System Prompt ## Overview You are expert of developer experience and developer productivity. ## Current DateTime Current datetime is {current _ datetime _ jst} ## Important Rules - When data includes weekday information (e.g., "æææ¥", "ç«ææ¥"), use it as-is. Do NOT recalculate weekdays yourself. Your Language is Japanese. ãã®ã³ãŒãã§ã¯æ¬¡ã®ããšãæžããŠããŸãã LLMãã©ã®ãããªåœ¹å²ãæ
ãã®ã çŸå𿥿ã¯å€ææžã¿ã®JSTã§æž¡ã æž¡ãããããŒã¿ããã®ãŸãŸäœ¿ãããæç€ºãã ã©ã®èšèªã§åºåããã®ã åæã«äœ¿çšããããŒã¿ãå å·¥ããŠããLLMã«æž¡ã åæã«äœ¿çšããããŒã¿ã¯ãã·ã¹ãã ããã³ãããžæž¡ãåã«å å·¥æžã¿ã®ãã®ãçšæããæ¹ãè¯ãã§ãã ã·ã¹ãã ããã³ããã«UTCããUTC+9(æ¥æ¬æé)ã®å€æãããããã«æžãã¹ãã§ã¯ãããŸããã LLMã«æž¡ãããŒã¿ã¯å€ææžã¿ã®ããŒã¿ã«ããŠãããŸãããã äŸãã°ãPRã®ããŒã¿ãLLMã«æž¡ãå ŽåãèŠãŠã¿ãŸãããã GitHubã®PRæ
å ±ãAPIããååŸããå Žåãæ¥æã«é¢ããã¬ã¹ãã³ã¹ã¯UTCã§è¿ã£ãŠããŸãã æ¬¡ã®æé ã§ãLLMã«æž¡ãããŒã¿ã倿ãåæãè¡ããŸãã ã»GitHubã®APIããååŸããPRäœææ¥æãUTCããUTC+9(æ¥æ¬æé)ã«å€æãã def format_datetime_jst (pr_utc_datetime: str ) -> str : # UTCã®æ¥ææååãJSTã«å€æ utc_dt = datetime.fromisoformat(pr_utc_datetime.replace( "Z" , "+00:00" )) jst_dt = utc_dt.astimezone(JST) # ææ¥ãä»äžããŠãã©ãŒããã weekday_jp = WEEKDAYS_JP[jst_dt.weekday()] return jst_dt.strftime(f "%Y/%m/%d ({weekday_jp}) %H:%M:%S UTC+9" ) # å®è¡äŸ format_datetime_jst( "2025-11-17T08:53:32Z" ) # => "2025/11/17 (æææ¥) 17:53:32 UTC+9" ã»å€æããããŒã¿ãåæã³ã³ãã³ãã«æ ŒçŽãã analysis_content = f """ # Pull Request Analysis - PR1 Created: {format_datetime_jst(pr1.get("created_at", ""))} - PR2 Created: {format_datetime_jst(pr2.get("created_at", ""))} - PR3 Created: {format_datetime_jst(pr3.get("created_at", ""))} """ ã»åæã³ã³ãã³ãã䜿çšããŠLLMã«åæãäŸé Œãã llm.invoke([ # ãã·ã¹ãã ããã³ããã¯ã©ã®ãããªæ¯ãèãã§åæãããŠã»ããã®ããæžããã§ç޹ä»ããã·ã¹ãã ããã³ãã { "role" : "system" , "content" : system_prompt}, { "role" : "user" , "content" : analysis_content} ]) ãã®ããã«å€ææžã¿ã®ããŒã¿ãLLMã«æž¡ãããšã§ãLLMãæ¥æã®èšç®ãææ¥ã®å€å®ãè¡ãå¿
èŠããªããªãã誀ã£ãåºåãé²ãããšãã§ããŸãã ãããã« ä»åã¯ãLLMã«ããŒã¿å å·¥ãæé倿ãä»»ãããšèª€ã£ãæšè«ãèªçºããããããšãã玹ä»ããŸãããã·ã¹ãã ããã³ããã«ã¯åœ¹å²ãåºå圢åŒãªã©ã·ã³ãã«ãªæç€ºã®ã¿ãæžããããŒã¿ã¯ãããããå å·¥ããŠããæž¡ãããšã§ãåæç²ŸåºŠãåäžãããããšãã§ããŸãã ããã³ããã®æžãæ¹ã²ãšã€ã§LLMã®åºåã¯å€§ããå€ãããŸãããã®èšäºããçããã®LLM掻çšã®åèã«ãªãã°å¹žãã§ãã çŸåšããã¡ã€ã³ãã£ã§ã¯äžç·ã«åãã¡ã³ããŒãåéäžã§ãã èå³ãããæ¹ã¯ãã¡ããããå¿åãã ããã herp.careers
ããã«ã¡ã¯ã 2025 幎 9 æã«ãã¡ã€ã³ãã£ã«å
¥ç€Ÿãã Platform éçºããŒã ã§ SRE ãæ
åœããŠããå¯ç°( @Cooking_ENG )ã§ãã ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#2 Advent Calendar 2025 ã® 23 æ¥ç®ã®èšäºã«ãªããŸãã adventar.org ä»åã¯ããã¡ã€ã³ãã£ã®ãµãŒãã¹ã®ïŒã€ã§ããã Findy Conference ãã® ã€ã³ãã©ç°å¢ã®éçšãã€ã« ãæ¹åãã話ã玹ä»ããŸãã Findy Conference ãšã¯ Findy Conference ãšã¯ãããã¯ã«ã³ãã¡ã¬ã³ã¹ã«ç¹åãããã©ãããã©ãŒã ãµãŒãã¹ã§ãã åœå
å€ã®ã«ã³ãã¡ã¬ã³ã¹ã«é¢ããæ
å ±ã»äœéšãäžå
åããäž»å¬è
ã»åå è
ã»ã¹ãã³ãµãŒãã€ãªãããšã§ãããã¯ã«ã³ãã¡ã¬ã³ã¹ã®äœéšãæå€§åããããšãç®æããŸãã åå è
ã¯é¢å¿ã®ããã€ãã³ãæ
å ±ã CFPïŒçºè¡šåéïŒãã€ãã³ãã®ã¿ã€ã ããŒãã«ãèŠéããã«ææ¡ã§ããäž»å¬è
ã¯é客ãåä»ç®¡çãããŒã¿æŽ»çšãšãã£ãéå¶ã«ãããã³ã¹ãã»å·¥æ°ãæå°åã§ããããã«ãªããŸãã conference.findy-code.io Findy Conference ã®ãã©ãã£ãã¯ã®ç¹åŸŽ Findy Conference ã®ãã©ãã£ãã¯ã«ã¯ãäžè¬ç㪠Web ãµãŒãã¹ãšã¯ç°ãªããã«ã³ãã¡ã¬ã³ã¹ç¹æã® ç¬éçãªã¹ãã€ã¯ ãå€ãçºçãããšããç¹åŸŽããããŸãã ç¹ã«ã¹ãã€ã¯ãèµ·ãããããã¿ã€ãã³ã°ã¯æ¬¡ã® 2 ç¹ã§ããã åä»ãå§ãŸã£ãã¿ã€ãã³ã° ã»ãã·ã§ã³ã®å§ãŸããšçµããã®ã¿ã€ãã³ã° ãã®ãã¡ãç¹ã«è² è·ãé«ãã£ãã®ã ã»ãã·ã§ã³ã®å§ãŸããšçµããã®ã¿ã€ãã³ã° ã§ãã åå ã¯æ¬¡ã®ãããªã ãªã³ã©ã€ã³é
ä¿¡ã«ãããã«ã³ãã¡ã¬ã³ã¹åå è
ã®æ¹ã
ã®åã ã«ãã£ãŠèµ·ãããã®ã§ããã ã»ãã·ã§ã³äžã¯åå è
ã®æ¹ã
ã¯é
ä¿¡ã»ãã·ã§ã³ãèŠèŽããŠãããããFindy Conference ã®ããŒã¿ã«ãµã€ããªã©ã«ã¢ã¯ã»ã¹ããããšã¯å°ãªãã ã»ãã·ã§ã³ãçµäºããã¿ã€ãã³ã°ã§ã次ã®ã»ãã·ã§ã³ã®é
ä¿¡å Žæããã£ã³ãã«åãæ¿ããè¡ããããã»ãã·ã§ã³ãèŠèŽããŠããæ¹ã
ãäžæã« Findy Conference ã®ããŒã¿ã«ãµã€ãã«ã¢ã¯ã»ã¹ã ãã®çµæãäžæ°ã«ã¢ã¯ã»ã¹ãéäžããã¹ãã€ã¯ãçºçïŒ ãã®äžé£ã®æµãã«ãããã€ã³ãã©ã«ç¬éçãªé«è² è·ãããã£ãŠããŸããã ãªãŒãã¹ã±ãŒã«ãçºåããªã Findy Conference ã®ç°å¢ã¯ Amazon ECS ãš AWS Fargate (以é ECS/Fargate) ã䜿ã£ãŠæ§ç¯ããŠããŸãã ECS/Fargate ã§ããã°ããªãŒãã¹ã±ãŒã«ãçºåããã®ã§ã¯ãªããïŒãšããçåãæã€æ¹ãããã£ããããšæããŸããå®éã«ãFindy Conference ã®ç°å¢ã§ããCPU 䜿çšçãèšå®ããŠããéŸå€ãè¶
ããããªãŒãã¹ã±ãŒã«ãçºåããããã«èšå®ããŠããŸããã ããããå®éã®éçšã§ã¯ CPU 䜿çšçãèšå®ããŠããéŸå€ãè¶
ããŠããªãŒãã¹ã±ãŒã«ãçºåãããé«è² è·æã«ãŠãŒã¶ãŒäœéšãç¶æã§ããªããªã¹ã¯ãçããŠããŸããã ãªãŒãã¹ã±ãŒã«ãçºåããªãã£ãåå ã¯ãã¢ã¯ã»ã¹éäžãç¬éçãããããšããç¹ã«ãããŸããã çæéã®é«ãã©ãã£ãã¯ã»ã¹ãã€ã¯ã«ããããªãŒãã¹ã±ãŒã«ãçºåã«å¿
èŠãªæéãæºããããæ°ããã³ã³ãããç«ã¡äžããåã« CPU 䜿çšçãäžãã£ãŠããŸã Fargate ã®èµ·åãå°ãé
ããšããç¹æ§ãåœ±é¿ çµæãšããŠãã«ã³ãã¡ã¬ã³ã¹äžã«äžèšã®ãããªç¬éçãªé«è² è·ãããã£ãŠãã ã³ã³ããæ°ã¯ã¹ã±ãŒã«ããçµãã£ãŠããŸã ãšããç¶æ³ã§ããã ïŒåèãŸã§ã«ããã¡ãã¯éå»ã®ãªãã¶ãŒãããªãã£ã«ã³ãã¡ã¬ã³ã¹ã§ã® CPU ã°ã©ãã§ããåæå»ã«ãªãŒãã¹ã±ãŒã«ãçºåããŠããªãããšãããããŸããïŒ ãããŸã§ã®ã«ã³ãã¡ã¬ã³ã¹éå¬æã® SRE ã®å¯Ÿå¿ äžèšã®åé¡ãåé¿ããããã以åã¯ãã«ã³ãã¡ã¬ã³ã¹éå¬åã«ãPlatform éçºããŒã SRE ã¡ã³ããŒ(以éãSRE ããŒã )ã AWS ã® Production ç°å¢ã«å
¥ããæåã§ã³ã³ããæ°ãå¢ãããã«ã³ãã¡ã¬ã³ã¹çµäºåŸã«ã³ã³ããæ°ãå
ã«æ»ãããšãã察å¿ãããŠããŸããã ã¹ãã€ã¯æã®å¯ŸçãšããŠã¯ãåœæã¯ã³ã³ããå°æ°ãå¢ãã以å€ã«çŸå®çãªéžæè¢ããªãã人æã«ããã¹ã±ãŒã«å¯Ÿå¿ã«é ŒããããåŸãªãç¶æ³ã§ããã ãã®æåãªãã¬ãŒã·ã§ã³ã¯ã次ã®ãããªãã€ã«ãçã¿åºããŠããŸããã ã«ã³ãã¡ã¬ã³ã¹éå¶ã®æ¹ãšã®é£æºãå¿
é ïŒ ã«ã³ãã¡ã¬ã³ã¹ãéå¬ãããæ¥çšå
±æã®æ®µéã§ã³ãã¥ãã±ãŒã·ã§ã³ãã¹ãçºçããå Žåãæ¥ãã§å¯Ÿå¿ããå¿
èŠãããã ãã¢ãªãäœæ¥ã®ãã 2 人åã®å·¥æ°ãçºçããïŒ Production ç°å¢ã§äœæ¥ãããã»ã³ã·ãã£ããªäœæ¥ã®ããããã¢ãªããå¿
é ãšãªãã2 人åã®æéãåãããã è€æ°ç°å¢ã®èª¿æŽïŒ ããã³ããšã³ããšããã¯ãšã³ããªã©ãè€æ°ã®ç°å¢ã§èª¿æŽãå¿
èŠãªãããäœæ¥éãäœæ¥æéãå€ããªãã ãªãã¬ãŒã·ã§ã³ã»ãªã¹ã¯ïŒ ãããã Production ç°å¢ãæäœæ¥ã§è§Šãã®ã§ãäœæ¥ãã¹ãçºçãããªã¹ã¯ãããã å®éãæè¿éå¬ãããã¢ãŒããã¯ãã£ã«ã³ãã¡ã¬ã³ã¹ã§ã¯ãé¢é£ããè€æ°ç°å¢ã®ã³ã³ãã調æŽã« 2 æéè¿ãèŠããŠããŸããŸããã ã«ã³ãã¡ã¬ã³ã¹ãéå¬ããããã³ã«ããã®æåäœæ¥ã®è² è·ã倧ãããšèãããã€ã«ãææ¬çã«æ¹åããå¿
èŠããããšå€æããŸããã GitHub Actions ã® workflow ãš AWS CLI ã§èªåå ãã®ãã€ã«ãæ²æ»
ãã¹ã SRE 以å€ã§ãçŽ æ©ãã³ã³ãã調æŽãã§ããããã«ããããã«ãä»å㯠AWS CLI ãš GitHub Actions ã® workflow_dispatch ãçµã¿åãããŠãProduction ã®ãããžã¡ã³ãã³ã³ãœãŒã«ã«å
¥ããªããŠã GitHub äžããã³ã³ããæ°ã調æŽã§ããããã«ããŸããã ããã«ãããå¿
èŠãªæš©éãæã£ããŠãŒã¶ãŒããå®å
šãã€ç°¡åã«ã³ã³ãã調æŽãè¡ããããã«ãªããŸããã ã³ãŒãã®å
šäœå 以äžããã³ã³ããæ°ãã¹ã±ãŒã«ãããããã® GitHub Actions ã®ã¯ãŒã¯ãããŒå
šäœåã§ãã scale-containers.yml name : Scale Containers run-name : Conference Scale Containers to ${{ github.event.inputs.container_count }} in ${{ github.event.inputs.environment }} on : workflow_dispatch : inputs : environment : type : environment required : true default : staging container_count : description : "containers_count" type : choice required : true options : - xx - yy - zz permissions : id-token : write contents : read jobs : scale-containers : runs-on : ubuntu-slim environment : ${{ github.event.inputs.environment }} steps : - uses : actions/checkout@v5 with : fetch-depth : 0 token : ${{ secrets.GITHUB_TOKEN }} - name : Configure AWS credentials uses : aws-actions/configure-aws-credentials@v5 with : role-to-assume : ${{ secrets.AWS_ROLE_ARN }} aws-region : ap-northeast-1 - name : Scale Backend ECS containers run : | CLUSTER_NAME="backend-${{ github.event.inputs.environment }} " SERVICE_NAME=" backend-${{ github.event.inputs.environment }} " echo "ð Scaling Backend containers to ${{ github.event.inputs.container_count }}" # 1. ECSãµãŒãã¹ã®Desired CountãæŽæ° aws ecs update-service \ --cluster "$CLUSTER_NAME" \ --service "$SERVICE_NAME" \ --desired-count ${{ github.event.inputs.container_count }} # 2. ãªãŒãã¹ã±ãŒã«ã®æå°ãã£ãã·ãã£ãã¯ãŒã¯ãããŒã§ã®èšå®å€ã«åããã aws application-autoscaling register-scalable-target \ --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id "service/$CLUSTER_NAME/$SERVICE_NAME" \ --min-capacity ${{ github.event.inputs.container_count }} \ --max-capacity [ xx ] echo "â
Backend containers scaled successfully" - name : Scale Frontend ECS containers run : | CLUSTER_NAME="frontend-${{ github.event.inputs.environment }} " SERVICE_NAME=" frontend-${{ github.event.inputs.environment }} " echo "ð Scaling Frontend containers to ${{ github.event.inputs.container_count }}" aws ecs update-service \ --cluster "$CLUSTER_NAME" \ --service "$SERVICE_NAME" \ --desired-count ${{ github.event.inputs.container_count }} aws application-autoscaling register-scalable-target \ --service-namespace ecs \ --scalable-dimension ecs:service:DesiredCount \ --resource-id "service/$CLUSTER_NAME/$SERVICE_NAME" \ --min-capacity ${{ github.event.inputs.container_count }} \ --max-capacity [ xx ] echo "â
Frontend containers scaled successfully" â»å®éã®ã¯ãŒã¯ãããŒã®ç»é¢ã§ãã ã¯ãŒã¯ãããŒã®å®è£
ãã€ã³ã workflow_dispatch ã«ããæåå®è¡ inputs ã§ environmentïŒç°å¢åïŒãš container_countïŒã³ã³ããæ°ïŒãå
¥åå€ãšããŠåãä»ããŸãã container_count 㯠choice ã«ããããšã§ãèšå®å¯èœãªå€ã«å¶éãèšãã誀å
¥åãé²ãã§ããŸãã ã³ã³ããæ°ãšåæã«æå°ã³ã³ããæ°ã®èšå®å€ãåããã aws application-autoscaling register-scalable-target ãå®è¡ãããªãŒãã¹ã±ãŒã«ã® --min-capacity ãã¯ãŒã¯ãããŒã§ã®èšå®å€ã«åãããããã«ããŠããŸãããã®èšå®ã¯ã³ã³ããæ°ãå¢ãããŠãããªãŒãã¹ã±ãŒã«ãæå°ãã£ãã·ãã£ãŸã§ã³ã³ããæ°ãæžãããŠããŸãå¯èœæ§ãé²ãããã§ãã æ¬ã¯ãŒã¯ãããŒã®å°å
¥ã«ãããFindy Conference ã®ã³ã³ãã調æŽã¯ã誰ã§ã GitHub Actions ã®ç»é¢ããæ°ã¯ãªãã¯ã§å®è¡ã§ããããã«ãªããSRE ããŒã ã®è² è·ã軜æžãããŸããããŸããæ¢ã«ã«ã³ãã¡ã¬ã³ã¹éå¬ã«é¢ããè€æ°ã®ç°å¢å
šãŠã«æšªå±éãå®äºããŠããŸãã ãã®æ¹åã«ãã£ãŠãSRE ããŒã ãçŽ 2 æéãããŠè¡ã£ãŠãããã¢ãªãäœæ¥ã¯è§£æ¶ãããŸããã å ããŠãæåãªãã¬ãŒã·ã§ã³ã®ãªã¹ã¯ãæé€ããã å¿
èŠãªæš©éãæã£ãéçºè
ãã«ã³ãã¡ã¬ã³ã¹æ
åœè
ãå®å
šã«ã³ã³ãã調æŽãè¡ããéçšäœå¶ ãæŽããããšãã§ããŸããã ãããã« ä»å㯠Findy Conference ã®ã¹ãã€ã¯ã®èµ·ããããããã©ãã£ãã¯èª²é¡ã«å¯ŸããŠãGitHub Actions ãš AWS CLI ãçšããŠéçšãªãã¬ãŒã·ã§ã³ãèªååã»ãã€ã«åæžããäºäŸãã玹ä»ããŸããã ãã€ã«åæžã¯ SRE ã®æ°žé ã®ããŒãã§ããããšã³ãžãã¢ãæ°æã¡ããéçºã«åãçµããç°å¢ã¥ããããå®å¿ããŠéçšã§ããäœå¶ã«ç¹ããããããããããç©æ¥µçã«é²ããŠãããããšæããŸãã æåŸãŸã§ãèªã¿ããã ãããããšãããããŸããïŒ ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£ã®Team+éçºéšã§ãšã³ãžãã¢ãããŠããå€ç°ïŒryu-furutaïŒã§ãã ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#2 Advent Calendar 2025 ã®22æ¥ç®ã®èšäºã§ãã ã¯ããã« 2025å¹Žäžæãç§ã¯ãDevãšOpsãèåããããšããããã·ã§ã³ãæ²ããåãåãããã¢ã©ãŒããšãã£ãéçšæ¥åã®æ¹åã«AIãããã€ã掻çšããŠãããŸããã ãã®èšäºã§ã¯ãClaude Code GitHub ActionsãNotion MCPã䜿ã£ãéçšæ¥åæ¹åã®å
·äœçãªå®è£
æ¹æ³ã玹ä»ããŸãã ãŸããå¹çåãå®çŸããå
ã«èŠããŠãããæ¬¡ã«ããã¹ãããšãã«ã€ããŠãå
±æããŸãã AIãæŽ»çšããéçšæ¹åãæ€èšããŠããæ¹ããæ¹åæœçãæã£ãŠãææãåºãªããšæ©ãã§ããæ¹ã«èªãã§ããã ãããšå¹žãã§ãã ã¯ããã« åãåãããã¢ã©ãŒãã«çããŠããèª²é¡ Claude Code GitHub Actionsã§ã¢ã©ãŒãã®åæèª¿æ»ã³ã¹ããåæž Notionã®ããŒã¿ããŒã¹ã§åãåããã®ãã±ãã管çãšããŒã¿èç© Notion MCPã䜿ã£ãŠéå»äºäŸã®æ€çŽ¢ãšèªåèª¿æ» åãçµã¿ã®ææ ä»åŸã®åãçµã¿ïŒæ ¹æ¬åå ã®ç¹å®ãšæ¹åã®ä»çµã¿ã¥ãã ãŸãšã åãåãããã¢ã©ãŒãã«çããŠããèª²é¡ ç§ãæºãã Findy Team+ ã¯ãšã³ãžãã¢å¢å ã«ããéçºããŒã ã®çްååã»å€æ°ã®æ©èœãªãªãŒã¹ã»é£æºãããµãŒãã¹ã®å¢å ãšãã£ãå€åã®äžã«ãããŸããããã«ãããåãåãããã¢ã©ãŒããªã©ã®æ©èœéçºä»¥å€ã®éçšæ¥åã§ãè€æ°ã®èª²é¡ãçããŠããŸããã åãåãã/ã¢ã©ãŒãã®æ°ãå¢å ããŠæ©èœéçºã®ããã«ããã¯ã«ãªã£ãŠãã åãåãã/ã¢ã©ãŒãã«é¢é£ããæ©èœã»å®è£
ã®ã³ã³ããã¹ããç¥ããªããã調æ»ã³ã¹ããé«ã åãåããã®ãããšã㯠Slack ã®ã¹ã¬ããã§è¡ã£ãŠããããã¹ããŒã¿ã¹ãåããã«ãã åãåããã®ããŒã¿ãèç©ãããªããã察çãå°æ¥ã®æ¹åã«æŽ»ãããªã ãããã£ã課é¡ãè§£æ¶ãã¹ãAIãããŒã«ã掻çšããæ¹åããã®2025å¹Žäžæã§åãçµã¿ãŸããã Claude Code GitHub Actionsã§ã¢ã©ãŒãã®åæèª¿æ»ã³ã¹ããåæž ã¢ã©ãŒãéç¥ã¯ãã®ããã«Sentryãçµç±ããŠSlackãžéç¥ãããŸãã ããã ããèŠãŠãã©ããã£ããšã©ãŒã§ã©ãã§çºçããã®ãåãããŸããã ãã®ããåŸæ¥ã¯Sentryã®ã€ã·ã¥ãŒè©³çްã«é·ç§»ããã¹ã¿ãã¯ãã¬ãŒã¹ã確èªãããããããããšãã£ã¿ã§é¢é£ã³ãŒãã調æ»ãããããŸã ç¶æ³ææ¡ãããããã®åæèª¿æ»ã³ã¹ããé«ã ãšããåé¡ããããŸããã ãã®åé¡ã®æ¹åã«çšããã®ã Claude Code GitHub Actions ã§ãã Claude Code GitHub Actionsã¯ãGitHub Actionsã®ã¯ãŒã¯ãããŒããClaude CodeãåŒã³åºããæ©èœã§ãã SentryããGitHubã®ã€ã·ã¥ãŒãäœæãããèªåã§æ¬¡ã®ãããªããã³ããã®ã³ã¡ã³ããClaudeã«ã¡ã³ã·ã§ã³ããŸãã ãã®issueã®descriptionã«åœãªããžããªã§çºçãããšã©ãŒãèšè¿°ãããŠããŸãã ãã®issueã®descriptionã«ã¯Sentryã®issueã®IDãèšèŒãããŠããŸãã mcp__sentry__get_sentry_issueã§èšèŒãããIDã®issueã®è©³çްæ
å ±ãååŸããŠãã ããã mcp__sentry__get_sentry_issueã§ååŸããçµæããšã©ãŒçºçç®æã»åšèŸºãã¡ã€ã«ãé²èЧãããšã©ãŒã®çºçåå ã®èª¿æ»çµæãissueã®ã³ã¡ã³ãã«èšèŒããŠãã ããã å¯èœã§ããã°ä¿®æ£å¯Ÿå¿ã®ãã«ãªã¯ãšã¹ããäœæããŠãã ããã ãã«ãªã¯ãšã¹ããäœæããéã¯æ¬¡ã®3ã¹ãããã§å®è¡ããŠãã ããïŒ - ãšã©ãŒã«å¯Ÿããåæã®å¯Ÿå¿æ¡ïŒãã©ããïŒãäœæããŠãã ããã - ãã®ãã©ããã«å¯ŸããŠãã©ããè¯ããŠã©ããæ¹åã§ããããã¬ãã¥ãŒããŠãã ããã - ã¬ãã¥ãŒçµæããµãŸããŠãããè¯ãæçµçãªå¯Ÿå¿æ¡ãæç€ºããŠãã ããã ããã«ãã£ãŠClaude Code GitHub Actionsãèµ·åããèªåã§ãšã©ãŒçºçç®æã®åšèŸºèª¿æ»ãç¶æ³æŽçãããŸãåã¿åãã°Claudeãäœã£ããã«ãªã¯ãšã¹ããããŒãžããã ãã§å¯Ÿå¿ãå®äºããæããããŸãã âŒå®éã«Claudeãäœæããã³ã¡ã³ãäŸ ãã®åãçµã¿ã«ãã£ãŠ ã¢ã©ãŒãçºçæã®åæèª¿æ»ã³ã¹ããåæž ããããšãã§ããŸãããã±ãŒã¹ã«ãã£ãŠã¯æ°æéããã£ãŠãã調æ»ãæ°åã§ç¶æ³ææ¡ã§ããããã«ãªãã調æ»éå§ãŸã§ã®å¿ççããŒãã«ãäžãã£ãŠããŸãã Notionã®ããŒã¿ããŒã¹ã§åãåããã®ãã±ãã管çãšããŒã¿èç© åè¿°ããããã«Findy Team+ã§ã¯æ°å¹Žéã«æž¡ã£ãŠSlackã¯ãŒã¯ãããŒã§ã®åãåãã起祚ãè¡ã£ãŠããŸããã åãåããã®ã³ãã¥ãã±ãŒã·ã§ã³ã«é¢ããŠã¯Slackã§éäžè¶³ç¡ãã®ã§ãããè€æ°åãåããã䞊è¡ãããšãããšãã远ãã®ã倧å€ã ã£ãããçŸåšã®ã¿ã¹ã¯ã®ç¶æ³ãåãããªããªãåé¡ã床ã
çºçããŠããŸããã ãŸãåãåããã¯ãããã¯ãã®æ¹åã«ç¹ãã貎éãªæ
å ±ãªã®ã«ãã®ããŒã¿ãèç©ããããã£ãŒãããã¯ã«ãŒããåãããšãåºæ¥ãªãããšããã®ã倧ããªèª²é¡ã§ããã ãããäžæ°ã«è§£æ¶ããã®ã Notion ã®ããŒã¿ããŒã¹ã§ãã Slackã®ã¯ãŒã¯ãããŒã§ã®åãåãã起祚ãå
šãŠ Notion Form ã«ç§»è¡ãããã©ãŒã éä¿¡ãšåæã«åãåããã®æ
å ±ãããŒã¿ããŒã¹ã«èç©ãããããã«ãªããŸããã ãŸãããŒã¿ããŒã¹ã§ããã±ãã管çãè¡ãããã«ããŸããã å¯Ÿå¿æéã®ã«ã©ã ããããããTo DoããIn ProgressããDoneããšãã£ãå€ãæã£ãã¹ããŒã¿ã¹ã®ã«ã©ã ãçšæãã Zapier ã䜿ã£ãŠãªãã€ã³ãã®æ©æ§ãèšããŸããã äŸãã°å¯Ÿå¿æéãè¶
éããŠãã¹ããŒã¿ã¹ããDoneãã«ãªã£ãŠããªãå ŽåãSlackã§æ
åœè
ãžãªãã€ã³ãéç¥ãé£ã°ããšãã£ãèªååãè¡ããŸããã âŒå¯Ÿå¿æéè¶
éã®ãªãã€ã³ãã¡ãã»ãŒãž Notionã®ããŒã¿ããŒã¹ãçšããããšã§ã¹ããŒã¿ã¹ç®¡çãæ
å ±ã®èç©ãå¯èœã«ãªããåãåãããæ±ããŠããè€æ°ã®èª²é¡ãäžæ°ã«è§£æ¶ããããšãã§ããŸããã ãŸããããŒã¿ãèç©ãããããšã§æ¬¡ã«ç޹ä»ããåãçµã¿ã«ãç¹ãããŸããã Notion MCPã䜿ã£ãŠéå»äºäŸã®æ€çŽ¢ãšèªåèª¿æ» åãåãã起祚æã«ã¯èµ·ç¥šããã¡ã³ããŒã«åãåããã«é¢é£ãããç»é¢æ©èœãã飿ºãµãŒãã¹ããã¡ããªã¯ã¹ããšãã£ãæ
å ±ãããŒã¿ããŒã¹ã«å
¥åããŠãããããã«ããŠããŸãã ããã«åãåããã®å¯Ÿå¿ãå®äºãããLLMã«åãåããã®ãããšããèŠçŽããŠãããããã®å
容ãããŒã¿ããŒã¹ã«ä¿åããŠããŸãã ããã«ããåèªåçã«åãåããã«ã€ããŠã®æ
å ±ãæ¡å
ããŠããããšãã§ããŠããŸãã ãããŠã¢ããªã±ãŒã·ã§ã³ã®ãªããžããªã«æ¬¡ã®å
容ã®Claude Codeã®ã¹ã©ãã·ã¥ã³ãã³ããäœæããŸããã --- description : Notionäžã®åãåããDBããé¡äŒŒã®åãåãããæ€çŽ¢ããåå ã調æ»ãã --- - $ARGUMENTS㯠`collection://***` ã®åãåããããŒã¿ããŒã¹ã®äžã®åãåãã(ããŒãž)ã§ãã - notion-fetchã䜿ã£ãŠ $ARGUMENTS ã®åãåããå
容ã確èªããŠãã ããã - $ARGUMENTS ã®åãåãããšé¡äŒŒã®éå»ã®åãåããã `collection://***` ã®ããŒã¿ããŒã¹ããæ€çŽ¢ããŠãã ããã - æ€çŽ¢ã®éã¯`summary`,`detail`,`tag`ã®åããããã£ããé¡äŒŒã®åãåãããæ€çŽ¢ããŠãã ããã - ãã®æ€çŽ¢çµæãã $ARGUMENTS ã®åãåãããåœãªããžããªã®ã³ãŒããã調æ»ããŠãã ããã - æçµçã«æ¬¡ã®çµæãåºåããŠãã ããã 1. é¡äŒŒã®åãåãããèŠã€ãã£ããã©ãã 2. é¡äŒŒã®åãåãããèŠã€ãã£ãå Žåããã®åãåããIDãšæŠèŠ(summary) 3. $ARGUMENTS ã®åãåããã®åå 調æ»çµæ ãã®ã¹ã©ãã·ã¥ã³ãã³ãã¯å
éšã§ Notion MCP ã®toolãå©çšããŠããŸãã ããã«ããéå»ã®åãåããæ
å ±ãšããã³ã³ããã¹ããæã¡ãªããClaude Codeããã詳现ã«ã³ãŒãæ
å ±ã調æ»ããããšãå¯èœã«ããŠããŸãã åºåãµã³ãã«ãæ¬èšäºã«æ²èŒããããšããã§ãããããŸãã«ãè©³çŽ°ã«æ
å ±ãåºåããããŠããŸãããæ®å¿µãªããããã§ã®æ²èŒã¯æ§ããããŠããã ããŸãã ãã ç§èªèº«äœåºŠããã®ã¹ã©ãã·ã¥ã³ãã³ããåãåããã«å®è¡ããŠã¿ãŠéå»ã«é¡äŒŒåãåããããããšåãåããã®èŠå çãããªã詳现ã«èª¿æ»ããŠãããããšã確èªããŠããŸãã ãŸãéå»ã«é¡äŒŒåãåãããç¡ããšããŠããåãåããã«é¢é£ããåšèŸºåŠçã®æŠæ³ã説æããŠãããã®ã§å
šãã³ã³ããã¹ããææ¡ããŠããªãæ©èœã®åãåããã®èª¿æ»ã³ã¹ãã軜æžã§ããŠãããšæããŠããŸãã åãçµã¿ã®ææ ä»å玹ä»ããåãçµã¿ã«ãããæ¬¡ã®ãããªææãåŸãããšãã§ããŸããã åãåãããã¢ã©ãŒãã®ç¶æ³ãå¯èŠåãããåæå¯èœãªåºç€ãæŽã£ã AIã«ããåæèª¿æ»ã§èª¿æ»ã®å¹çåãå®çŸããç¶æ³ææ¡ãŸã§ã®æéã倧å¹
ã«ççž®ã§ãã ãã±ãã管çã«ããã¹ããŒã¿ã¹ãæç¢ºã«ãªããå¯Ÿå¿æŒããé²ããããã«ãªã£ã äžæ¹ã§ãå¯èŠåãå¹çåãè¡ãã ãã§ã¯åãåãããã¢ã©ãŒãã®ä»¶æ°èªäœã¯æžå°ããŸããã§ããã æ©èœéçºãé²ã¿ãå©çšè
æ°ãå¢å ããŠããäžã§ã®èªç¶ãªåŸåã§ããããŸãã å¯èŠåãå¹çåã¯éšåçã«å¯Ÿå¿ã³ã¹ããäžãããã®ã§ãããããã ãã§ã¯ä»¶æ°ãæžããæ ¹æ¬çãªè§£æ±ºã«ã¯ãªããŸããã ä»åŸã®åãçµã¿ïŒæ ¹æ¬åå ã®ç¹å®ãšæ¹åã®ä»çµã¿ã¥ãã èç©ãããåãåããããŒã¿ãã¢ã©ãŒãåŸåãåæããé »åºããåé¡ã®æ ¹æ¬åå ãç¹å®ããŠãããŸãã æ«å®å¯ŸåŠã§ã¯ãªãæä¹
察å¿ãè¡ãããšã§ãåãåãããã¢ã©ãŒãã®ä»¶æ°èªäœãæžããããšãç®æããŸãã ããšãã°ãåãåããããŒã¿ããç»é¢æ©èœããã飿ºãµãŒãã¹ãããšã«éèšããç¹å®ã®é åã«åãåãããéäžããŠããªãããå¯èŠåããŸãã éäžããŠããé åãããã°UIã®æ¹åãããã¥ã¡ã³ãã®æ¡å
ãå Žåã«ãã£ãŠã¯æ©èœèªäœã®èŠçŽããæ€èšããŸãã ãŸãããããŸã§ã¯æ¹å掻åã«å¯Ÿããæç¢ºãªè¡åæéããªããæ«å®å¯ŸåŠã«çãŸããã¡ã§ããã ä»åŸã¯ã€ã³ã»ã³ãã£ãã®èšèšããã£ããè¡ããæ¹åæŽ»åãç¶ç¶ããŠå®æœãããä»çµã¿ãäœããŸãã å
·äœçã«ã¯ãæ¥æããç§ãæ©èœéçºããŒã ã«åæµããæ¹å察å¿ãããã·ã§ã³ã®äžéšãšããŠé²ããŠãããŸãã éçšæ¥åã®åœäºè
ãšããŠæ¹åã«åãçµãããšã§ããã£ãŒãããã¯ã«ãŒãã確å®ã«åããŠãããŸãã ãŸãšã 2025å¹Žäžæéå§åœåãèªåã¯æšä»ã®AIã®æœ®æµããã£ãŠãAIãããã°éçšæ¥åã®å
šãŠãæ¹åã§ããïŒããšææ°èŸŒãã§ããŸããã å®éã«åãçµãã çµæãAIãããŒã«ã掻çšããŠããããã®åãåãããã¢ã©ãŒã察å¿ã®ãå¯èŠåããšãå¹çåããå®çŸããŸããã ããããããã¯å¯Ÿå¿ãå¹çåãããã®ã§ãããä»¶æ°ãæžããæ ¹æ¬è§£æ±ºã§ã¯ãããŸãããä»åŸã¯èç©ããããŒã¿ã掻çšããŠæä¹
察å¿ã«ç¹ããåãåãããã¢ã©ãŒãã®æ ¹æ¬åå ãåãé€ããŠãããŸãã åŒãç¶ãAIãæŽ»çšãã€ã€ãæ¹å掻åãç¶ç¶ããä»çµã¿ãäœããªããæ¬è³ªçãªæ¹åã«ææŠããŠãããŸãïŒ ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#3 Advent Calendar 2025 ã®22æ¥ç®ã®èšäºã§ãã adventar.org ã¯ããã« ããã«ã¡ã¯ããã¡ã€ã³ãã£ã®PlatforméçºããŒã ã§SREãæ
åœããŠããåïŒ ãããã
ã ïŒã§ãã 2025幎12æã«ãã¢ã¡ãªã«ã»ã©ã¹ãã¬ã¹ã§éå¬ãããAWS re:Inventã«åå ããŠããŸããã re:Inventã¯æ¯å¹Žã©ã¹ãã¬ã¹ã§éå¬ãããAWSã®äžçæå€§ã®ã«ã³ãã¡ã¬ã³ã¹ã§ãäžçäžãããšã³ãžãã¢ãéãŸããŸãã ãã®æéäžãã©ã¹ãã¬ã¹ã®è¡å
šäœãre:Inventã®äŒå Žãšãªããææ°ã®AWSã¢ããããŒãæ
å ±ã®ãªãªãŒã¹ãæè¡ã»ãã·ã§ã³ã®ä»ãEXPOãre:PlayããŒãã£ãŒã5K Raceãªã©æ§ã
ãªã¢ã¯ãã£ããã£ãçšæãããŠããŸãã æ¬èšäºã§ã¯ãæè¡ã»ãã·ã§ã³ã®å
容ããããäŒå Žã®é°å²æ°ããµãã€ãã³ããçŸå°ã§ã®éããæ¹ãäžå¿ã«ãäŒãããŸãã æè¡ã»ãã·ã§ã³ã®å
容ãäžå¿ãšããå
容ã¯å
æ¥æçš¿ãã AWS re:Invent 2025 åå ã¬ããŒã - åå ããŠæãããAIOpsã®æ¬æ Œçãªå°æ¥ ã«èšèŒããŠããã®ã§ããã²ãã¡ããåãããŠåŸ¡èЧãã ããã ã¯ããã« re:Inventã®èп𡿠- ã©ã¹ãã¬ã¹ã®è¡ãäŒå Žã« äŒå Žã¯6ã€ã®æœèšã«åæ£ ã·ã£ãã«ãã¹ãšã¢ãã¬ãŒã«ã§äŒå Žéãç§»å 倿°ããã»ãã·ã§ã³ã«ããŽãª äŒå Žã®æ§å ããªãŒããªã³ã¯ãšè»œé£ MealäŒå Žã§ã®ãã¥ããã§ å³éãªã»ãã¥ãªãã£ãã§ã㯠EXPOäŒå Ž SWAG SPORTS FORUM ã»ãã·ã§ã³ä»¥å€ã®ãµãã€ãã³ã 5K Fun Run re:Play ãããã« re:Inventã®èп𡿠- ã©ã¹ãã¬ã¹ã®è¡ãäŒå Žã« äŒå Žã¯6ã€ã®æœèšã«åæ£ re:Inventã®äŒå Žã¯æ¬¡ã®6ã€ã«åæ£ããŠããããããããå·šå€§ãªæœèšã§ãã Encore Wynn The Venetian (ã¡ã€ã³äŒå Ž) Caesars Forum MGM Grand Mandalay Bay äžã®å°å³ãèŠãŠã瞮尺ããããã«ããã§ãããå®éã«çŸå°ã§æ©ããŠã¿ããšæ³å以äžã®è·é¢ããããŸãã ã¡ã€ã³äŒå Žã§ããThe VenetianããMGM Grandä»è¿ãŸã§å®éã«æ©ããŠã¿ããšçŽ1æéã»ã©ããããŸããã ããã«ãåäŒå Žå
ãåºå€§ã§ãã€ãã³ãå
šäœãéããŠããªãã®è·é¢ãæ©ãããšã«ãªããŸãã ã·ã£ãã«ãã¹ãšã¢ãã¬ãŒã«ã§äŒå Žéãç§»å äŒå Žéã®ç§»åææ®µã¯ãã·ã£ãã«ãã¹ãã¢ãã¬ãŒã«ãåºæ¬ã§ãã ã·ã£ãã«ãã¹ãã²ã£ãããªãã«éè¡ãããŠãããç§ã¯æéäžãã£ãšã·ã£ãã«ãã¹ãå©çšããŠããŸããã è¡äžãããã«å
ã®è³ããšããã§re:Inventã®ãããžãä»ããåå è
ãšããéããŸãã ãŸãã«ãã©ã¹ãã¬ã¹ã®è¡å
šäœãre:Inventããšããé°å²æ°ã§ããã 倿°ããã»ãã·ã§ã³ã«ããŽãª ãã®è€æ°ãã巚倧ãªäŒå Žã®äžã§ãæ§ã
ãªã»ãã·ã§ã³ãåæäžŠè¡ã§è¡ãããŸããã»ãã·ã§ã³ã®çš®é¡ã¯æ¬¡ã®éãã§ãã Keynote : åºèª¿è¬æŒ Breakout Session : æè¡ã»äºäŸã»ãã·ã§ã³ Workshop : ãã³ãºãªã³åœ¢åŒ Chalk Talk : å°èŠæš¡ãªãã£ã¹ã«ãã·ã§ã³åœ¢åŒ Game Day : ããŒã 察æã®æè¡ãã£ã¬ã³ãž ã»ãã·ã§ã³æ°ãèšå€§ãªãããèŠããã»ãã·ã§ã³ãæ¢ãã ãã§ãäžèŠåŽã§ãã ãŸããç§»åæé蟌ã¿ã§ã»ãã·ã§ã³ã¹ã±ãžã¥ãŒã«ãèããå¿
èŠããããŸãã re:Invent 2025 MCP Server ãšããã€ãã³ãæ
å ±ã調æ»ã§ããMCPããããç§ã¯ãããå©çšããŠã¹ã±ãžã¥ãŒã«ãçµãã§ããŸããã builder.aws.com Keynoteã§çºè¡šãããæ°ãµãŒãã¹ã®ã¢ããããŒãã«é¢ããã»ãã·ã§ã³ã¯[NEW LAUNCH]ãšããåœ¢ã§æ°ããç»å ŽããŠããŸãã ãã®ãããæ°ã«ãªãã¢ããããŒããããã°ãäºåã«çµãã§ããã¹ã±ãžã¥ãŒã«ãã倿Žããããæè»ã«ã¹ã±ãžã¥ãŒã«ãå€ããŠããå¿
èŠããããŸãã ç§ã®åå ããã¹ã±ãžã¥ãŒã«ã¯æ¬¡ã®éãã§ãããã®ä»ã®æéã¯ãäŒå Žç§»åãEXPOãžã®åå ãªã©ããŠããŸããã ä»åã¯ãKeynoteã§çºè¡šãããDevOpsãšãŒãžã§ã³ãé¢é£ã®ã¯ãŒã¯ã·ã§ãããéããäºçŽã§ããããšããããObservabilityãAIOpsç³»ã®ã»ãã·ã§ã³ãå€ãã®æ§æã«ãªããŸããã Scaling observability with generative AI (ARC311) Behind the scenes: How AWS drives operational excellence & reliability (COP415) Amazon ECS observability patterns and design decisions (CNS351-R) Opening Keynote with Matt Garman (KEY001) A deep dive on IAM policy evaluation (SEC402-R1) Best practices for cost optimization with AWS Backup (STG328-R) The Future of Agentic AI is Here (KEY002) Unveiling Amazon ECS workloads with AWS observability and agentic AI (CNS413) [NEW LAUNCH] Resolve and prevent future operational issues with AWS DevOps Agent (DVT337-R1) Infrastructure Innovations (KEY004) A Special Closing Keynote with Dr. Werner Vogels (KEY005) æè¡ã»ãã·ã§ã³ã®ææ³ãäžå¿ãšããå
容ã¯å
æ¥æçš¿ãã AWS re:Invent 2025 åå ã¬ããŒã - åå ããŠæãããAIOpsã®æ¬æ Œçãªå°æ¥ ã«èšèŒããŠããã®ã§ããã¡ãããããããã°åŸ¡èЧãã ããã äŒå Žã®æ§å ããããã¯ãã»ãã·ã§ã³ä»¥å€ã®äŒå Žã®æ§åããµãã€ãã³ãã«ã€ããŠã®äœéšè«ãæžããŠãããããšæããŸãã ããªãŒããªã³ã¯ãšè»œé£ åäŒå Žã®å»äžã«ã¯ãã³ãŒããŒãããªã³ã¯ããµã³ãã€ãããããŒãããããããªã©ã®è»œé£ããããŠãããèªç±ã«é£²é£ã§ããŸãã ç¹ã«å¶éããªããããç§ã¯ããã§ç°¡åã«æé£ãæžãŸããããã»ãã·ã§ã³åŸã«ã³ãŒããŒãå
¥ããŠããã«ã«æã¡åž°ã£ããããŠããŸããã MealäŒå Žã§ã®ãã¥ããã§ MealäŒå Žã§ã¯ãã¥ããã§åœ¢åŒã®é£äºãæäŸãããŠããŸãã ã€ãã³ãæéäžã¯è»œé£ãšMealäŒå Žã®é£äºãçšæãããŠãããããã€ãã³ãæéäžã¯äŒå Žã ãã§åºè²»ãªãã§é£äºãè³ãããšã¯å¯èœã§ãã äŒå Žãæ¥ã«ã¡ã«ãã£ãŠåºãæçãç°ãªã£ããããŠãŸãããæ³šæç¹ãšããŠã¯Lunchã®æéã11:00 AM ~ 1:00 PMãªã©é£äºã§ããæéãéãããŠããããšã§ããã»ãã·ã§ã³ã®æéãšæ§åãèŠãŠLunchã®æéã確ä¿ããå¿
èŠããããŸãã å³éãªã»ãã¥ãªãã£ãã§ã㯠åäŒå Žã®å
¥å£ã«ã¯ãã»ãã¥ãªãã£ã²ãŒããèšçœ®ãããŠãããæã¡ç©æ€æ»ãåããå¿
èŠããããŸãã éº»è¬æ€ç¥ç¬ãå€ãèŠåããããæ¥æ¬ã®ã«ã³ãã¡ã¬ã³ã¹ã§ã¯äœéšã§ããªãæµ·å€ã€ãã³ããªãã§ã¯ã®å³éããæããŸããã ã·ã£ãã«ãã¹ã§äŒå Žéãç§»åããéããå¥äŒå Žã®å
¥å£ã§ã»ãã¥ãªãã£ãã§ãã¯ãåããå¿
èŠããããŸãã EXPOäŒå Ž äŒæ¥ããŒã¹åºå±äŒå Žã®EXPOãå§å·»ã®åºãã§ããã 倿°ã®äŒæ¥ãåºå±ããŠãããDatadogã®æ»ãå°ãKiroã®ãåã屿·ãªã©ããŠããŒã¯ãªå±ç€ºããããŸããã ãŸããã¢ã¡ãªã«ããããšæããã®ã¯ããããŒã·ã§ã³(å¯ä»)ã³ãŒããŒãèšçœ®ãããŠããããŒã¹ã§ãæ¥æ¬ã«ãªãæåãæããŸããã SWAG EXPOäŒå ŽãåããŒã¹ã§SWAG(ããã«ãã£ã°ããº)ãé
ãããŠãããTã·ã£ããã¹ããã«ãŒãããã«ãªã©æ§ã
ãªã°ããºãéããããšãã§ããŸãã SWAGããµãã©ã€ãºçã«é
åžããããããããšããããXã§ãããã§XXãé
ãããïŒããªã©ã®æ
å ±ãã¿ãŠåããŠç¥ããã®ããããŸããã SPORTS FORUM SPORTS FORUMã¯ãã¹ããŒããšãã¯ãããžãŒãçµã¿åããããšã³ã¿ã¡ãšãªã¢ã§ãã F1ã®ã¿ã€ã€äº€æã²ãŒã ããã¹ã±ã®ã²ãŒã ãVRãªã©ãå€åœ©ãªã¢ã¯ãã£ããã£ãçšæãããŠããŸããã æ£çããŠããã ãã§ã楜ãããŸãã ã»ãã·ã§ã³ä»¥å€ã®ãµãã€ãã³ã ããããã¯ãre:Inventã®ãµãã€ãã³ããã玹ä»ããŸãã 5K Fun Run ã€ãã³ãæéäžã«éå¬ããã5Kmã®ãã©ãœã³ã€ãã³ãã§ãã åå ããŠå®èµ°ããã°ã¡ãã«ãããããŸãã 6:00 AMããéå§ããææ©ãã€ãã³ãã§ãããã©ã¹ãã¬ã¹ã®éè·¯ãèµ°ãã貎éãªæ©äŒãªã®ã§ãäœåã«äœè£ãããã°ãã²åå ããŠã¿ãŠãã ããã re:Play re:InventåŸåãã¯ããŒãžã³ã°Keynoteã®åŸã«éå¬ãããå
¬åŒããŒãã£ãŒãre:Playã§ãã DJã«ããã©ã€ãããã©ãŒãã³ã¹ãè¡ãããäŒå Žã®é°å²æ°ã¯ãã¯ãã«ã³ãã¡ã¬ã³ã¹ãšããããéå€ãã§ã¹ãã®ãã®ã 40ãã£ãŒãèµ°ãã巚倧ãªããããã¢ãŒã ã§å»è»ãæã¡äžããŠèœãšããšããããŠããŒã¯ãªã¢ã¯ãã£ããã£ãçšæãããŠãããç· ãã®ãšã³ãžã§ã€ã§ããæéã§ããã ãããã« æè¡ã»ãã·ã§ã³ã§ææ°ã®AWSãµãŒãã¹ãåŠã¹ãã®ã¯ãã¡ããã§ãããäŒå Žã®èŠæš¡æããµãã€ãã³ãã®å
å®åºŠããããŠæµ·å€ã®ãšã³ãžãã¢ãšã®äº€æµãããã®ã€ãã³ãã®å€§ããªé
åã ãšæããŸããã ã¯ãŒã¯ã·ã§ããã§è±èªã䜿ã£ãŠäŒè©±ããããæµ·å€ã®ãšã³ãžãã¢ãããã¡ã€ã³ãã£ã«ã€ããŠãã£ãŒãããã¯ãããã£ãããšãã³ãã¥ãã±ãŒã·ã§ã³ãåãããšããçµéšã¯è²Žéãªãã®ã§ããã ãã£ãšæè¡çãªãã£ã¹ã«ãã·ã§ã³ãã§ããããã«ãªããããšããæ³ãã匷ããªããç¶ç¶ããŠè±èªãåŠç¿ããŠãããããšæã£ãŠããŸãã æ¥å¹Žä»¥ére:Inventãžã®åå ãæ€èšããŠããæ¹ã®åèã«ãªãã°å¹žãã§ãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ãã èå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#1 Advent Calendar 2025 ã®21æ¥ç®ã®èšäºã§ãã adventar.org ã¯ããã« ããã«ã¡ã¯ããã¡ã€ã³ãã£ã®PlatforméçºããŒã ã§SREãæ
åœããŠããåïŒ ãããã
ã ïŒã§ãã 2025幎12æãã©ã¹ãã¬ã¹ã§éå¬ãããAWS re:Inventã«åå ããŠããŸãããre:Inventã¯AWSãæ¯å¹Žéå¬ããäžçæå€§çŽã®ã¯ã©ãŠãã«ã³ãã¡ã¬ã³ã¹ã§ãã ä»å¹Žã¯ç¹ã«AI Agentãäžå¿ãšãã倧ããªå€åãæããã€ãã³ããšãªããŸããã æ¬èšäºã§ã¯ãç§ã®äœéšããã»ãã·ã§ã³ãéããŠèŠããŠããã€ã³ãã©ã»éçšã®å€åã«ã€ããŠãAIOpsé åã«çŠç¹ãåœãŠãŠæ¯ãè¿ããæžããŠããããšæããŸãã äŒå Žã®æ§åãã»ãã·ã§ã³ä»¥å€ã®ã€ãã³ãã«ã€ããŠã¯ãŸãå¥èšäºã§æžããŠãããŸãã ã¯ããã« re:Invent 2025 ä»å¹Žã®äž»èŠããŒãã®1ã€ã§ããFrontier Agents AWS DevOps Agentãšã¯ ã¯ãŒã¯ã·ã§ããã§ã®äœéš ãã®ä»ã®éçšã»ã€ã³ãã©é åã§åèã«ãªãã»ãã·ã§ã³ Observability à AI éçšã®æåãšãã©ã¯ãã£ã¹ ã€ã³ãã©åºç€ã®é²å IAMããªã·ãŒã®æ·±æã ãšã³ãžãã¢ã«æ±ããããå§¿å¢ ãããã« re:Invent 2025 re:Inventã¯ãã©ã¹ãã¬ã¹ã®è¡å
šäœãäŒå Žãšãªã巚倧ãªã€ãã³ãã§ãã reinvent.awsevents.com 6ã€ã®äŒå Žã§æ°å€ãã®ã»ãã·ã§ã³ãåæäžŠè¡ã§éå¬ãããäžçäžã®ãšã³ãžãã¢ãéãŸããŸãã äŒå Žéã®ç§»åã ãã§ãå Žæã«ããã°åŸæ©ã ãšçŽ1æéãããããšããããã·ã£ãã«ãã¹ãã¢ãã¬ãŒã«ã§ç§»åããªãã1é±éãéããããšã«ãªããŸãã ã»ãã·ã§ã³ä»¥å€ã«ãEXPOãre:PlayãšåŒã°ããããŒãã£ã€ãã³ãã5k Raceãªã©æ§ã
ãªã¢ã¯ãã£ããã£ãçšæãããŠããããŸãã«AWSã®ç¥å
žãšããé°å²æ°ã§ããã ä»å¹Žã®äž»èŠããŒãã®1ã€ã§ããFrontier Agents 2025幎ã®re:Inventã§å°è±¡çã ã£ãã®ã¯ãFrontier AgentsãšåŒã°ããAIãšãŒãžã§ã³ãã«ãŸã€ããçºè¡šã§ãã Keynoteã§ã¯ãKiro Autonomous AgentãAWS DevOps AgentãAWS Security Agentããªã©ãããã³ãã£ã¢ãšãŒãžã§ã³ããšåŒã°ããã€ã³ãã©ã»éçšé åã«çŽæ¥é¢ããAIãšãŒãžã§ã³ããæ¬¡ã
ãšçºè¡šãããŸããã ãããã¯åãªããè£å©ããŒã«ãã§ã¯ãªãããããŒã ã¡ã€ããšããŠææãåºãããšãæåŸ
ãããååšããšããŠäœçœ®ã¥ããããŠããŸãã ãã®äžã®1ã€ã§ããç§ãäœéšããŠããAWS DevOps Agentã«ã€ããŠè»œãè§ŠããŠãããããšæããŸãã AWS DevOps Agentãšã¯ AWS DevOps Agentã¯ãéçšããŒã ã®ãããŒã ã¡ã€ãããšããŠæ¬¡ã®ãããªåœ¹å²ãæ
ããŸãã Team Player : ã¢ã©ãŒãããã±ããã«å¯Ÿå¿ããSlackãªã©ã®ã³ã©ãã¬ãŒã·ã§ã³ãã£ãã«ã§ç¥èŠãå
±æ Telemetry Expert : ã¡ããªã¯ã¹ã»ãã°ã»ãã¬ãŒã¹ã暪æçã«åæãDatadogãNew Relicãšã飿ºå¯èœ Pipeline Pro : GitHubãGitLabãšé£æºããŠé害ã«ã€ãªãã倿Žãç¹å®ãããã€ãã©ã€ã³æ¹åãææ¡ Application Context : ã¢ããªæ§æãRunbookãçè§£ããäžã§å€æ aws.amazon.com ã¯ãŒã¯ã·ã§ããã§ã®äœéš å®éã«DevOps Agentã䜿ã£ãã¯ãŒã¯ã·ã§ããã§ãã [NEW LAUNCH] Resolve and prevent future operational issues with AWS DevOps Agent ã«åå ããæ¬¡ã®ãããªæäœãäœéšããŸããã é害çºçäžã®AWSãªãœãŒã¹ãè§£æããŠæ ¹æ¬åå ãç¹å® Dynatraceãšé£æºãããŠãªãã¶ãŒãããªãã£ããŒã¿ãçµ±å ã€ã³ã·ãã³ã察å¿ã¬ããŒããšæ¹åèšç»ã®èªåçæ ãšãŒãžã§ã³ãããã€ã³ã·ãã³ãã®æ ¹æ¬åå ãæããŠããããã ãã§ãªãããæ¹åèšç»ããŸã§èª¬æããŠãããç¹ã¯ããŸãã«ããŒã ã¡ã€ãã®ãããªåãã§ããã ãŸã ãã¬ãã¥ãŒçã§ã¯ãããŸãããåŒç€Ÿã§ãªãã¶ãŒãããªãã£ããŒã«ãšããŠäœ¿çšããŠããDatadogãšã®é£æºãã§ããã®ã§ãã²åãå
¥ããŠãããããšæããŸããã ãã®ä»ã®éçšã»ã€ã³ãã©é åã§åèã«ãªãã»ãã·ã§ã³ DevOps Agent以å€ã«ããAIOpsã«é¢é£ããéçšã»ã€ã³ãã©é åã§åèã«ãªãã»ãã·ã§ã³ãããã€ããããŸããã Observability à AI Scaling observability with generative AI (ARC311) ã§ã¯ãKiro CLI Agentãçšããèªç¶èšèªæäœã«ãããªãã¶ãŒãããªãã£ã®èªååã玹ä»ãããŸããã é害ãçºçããŠããç°å¢ã«å¯ŸããŠãKiroãã«ã¹ã¿ã ãšãŒãžã§ã³ãã§è§£æããå
容ãããšã«Lambdaã®ã³ãŒããæžãæãããããªãœãŒã¹èšå®ã倿Žããããããã¢ãå°è±¡çã§ããã Unveiling Amazon ECS workloads with AWS observability and agentic AI (CNS413) ã§ã¯ãECSã¯ãŒã¯ããŒãã«å¯ŸããŠçæAIãæŽ»çšãããªãã¶ãŒãããªãã£ããŒã¿ãèªååæããã¢ãããŒãã玹ä»ãããŸããã æ¯é±30åã¿ã¹ã¯ãå®è¡ãããæ°èŠã³ã³ãã顧客ã®65%ãECSãå©çšããŠãããšããäºå®ã玹ä»ããŠãããAWSã®ãªãã¶ãŒãããªãã£ããŒã«å
šäœãæŽçããäžã§ãECSäžã§AIOpsãšãŒãžã§ã³ããæ§ç¯ããéã®ãã¹ããã©ã¯ãã£ã¹ã玹ä»ãããŸããã éçšã®æåãšãã©ã¯ãã£ã¹ Behind the scenes: How AWS drives operational excellence & reliability (COP415) ã§ã¯ãAWSãã°ããŒãã«èŠæš¡ã§éçšãã©ã®ããã«è¡ã£ãŠããã®ãã解説ãããŸããã ç¹ã«å°è±¡çã ã£ãã®ã¯ã次ã®ãµã€ã¯ã«ãç¶ç¶çã«åããŠããç¹ã§ãã Readiness : é害ãèµ·ããåã®ç¶æ
ã¥ããïŒã¢ã©ãŒã ãããã·ã¥ããŒããRunbookããªã³ã³ãŒã«äœå¶ã®æŽåïŒ Observability : ãã°ã»ã¡ããªã¯ã¹ã»ãã¬ãŒã¹ã§ã®èšæž¬ãSLOããªãã³ãªã¢ãã¿ãªã³ã° Incident Response : SOPïŒæšæºäœæ¥æé æžïŒã«åŸã£ã察å¿ãAIOpsã«ããéå®³åæ Reviews : 宿çãªããã·ã¥ããŒãã¬ãã¥ãŒãšæ¹å掻å ãããã¯SREã®ãã©ã¯ãã£ã¹ãšå€§ããã¯å€ãããªããªãšæãã€ã€ãæ¹ããŠéçšãããŒãæŽçã»å®çŸ©ããŠããéèŠæ§ãèªèããŸããã ã€ã³ãã©åºç€ã®é²å Infrastructure Innovations (KEY004) ã§ã¯ãGraviton5ãLambda Managed InstancesãAmazon Connectã®AI察å¿ãªã©ãAWSã®ã€ã³ãã©æè¡ã®é²åãèªãããŸããã ã»ãã¥ãªãã£ãå¯çšæ§ãåŒŸåæ§ãã³ã¹ããä¿ææ§ãšãã£ã軞ã§ãã©ã®ãããªææ³ã§èšèšã»é²åããŠããã®ãã瀺ãããŠãããåºç€ã¬ã€ã€ã®çè§£ãæ·±ããããšãã§ããŸããã IAMããªã·ãŒã®æ·±æã A deep dive on IAM policy evaluation (SEC402-R1) ã§ã¯ãIAMããªã·ãŒã®è©äŸ¡ããžãã¯ã詳现ã«è§£èª¬ãããŸããã æš©éè©äŸ¡ã¯åäžã®ããªã·ãŒã ãã§æ±ºãŸãã®ã§ã¯ãªããOrganization â Account â Role â Boundary â Session ãšããè€æ°ã¬ã€ã€ããã¹ãŠééããŠæ±ºãŸããŸãã ãŸãããã¹ãŠã®Principalã察象ã«ããDenyã«æ¡ä»¶ãä»ããããšã§ãç¹å®ã®ããŒã«ã ããäŸå€ãšããŠèš±å¯ããIAMããªã·ãŒã®æžãæ¹ãªã©ã玹ä»ãããŠãããã»ãã¥ãªãã£èšèšã®åèã«ãªããŸããã AIãã€ã³ãã©é åã«çµã¿èŸŒãŸããŠããäžãã¬ãŒãã¬ãŒã«ãšããŠã®ããªã·ãŒã®æŽåãå¿
èŠã ãšæããŸããã ãšã³ãžãã¢ã«æ±ããããå§¿å¢ ãŸããã¯ããŒãžã³ã°Keynoteã§ãAWS CTOã®Werner Vogelsæ°ãèªã£ãèšèãå°è±¡ã«æ®ã£ãŠããŸãã ãAIã¯èªåã®ä»äºã奪ãã®ãïŒããšããåãã«å¯ŸããŠãCTOã¯ãå€åãâŠâŠããšçãã€ã€ããæ¬è³ªçãªåãã¯ããã§ã¯ãªãããAIãããªããæä»£é
ãã«ããã®ãïŒãã§ãããšåŒ·èª¿ããŠããŸããã ãããŠããã®çãã¯ããããªããé²åãç¶ããéããæããŠããŒã ããšã ç§ãã¡ã¯ä»ãAIã«ãã£ãп代ã倧ããåããŠããéæºå°ã«ç«ã£ãŠããŸãããã®äžã§éèŠãªã®ã¯ã次ã®å§¿å¢ã§ãã Be Curious: 奜å¥å¿ãæã¡ç¶ããããš Think in Systems: è€éãªã·ã¹ãã å
šäœãæããå Communicate: è¯ãã¢ã€ãã¢ãæç¢ºã«äŒããå Owner: ææç©ã«å¯ŸããŠèªã責任ãæã€ããš Polymath: 倿ã§ãããåŠã³ç¶ããããš AIã¯ãããŸã§ããŒã«ã§ãããä»äºã®äž»äœã¯åžžã«ãããªãèªèº«ãã§ããã The work is yours, not the tool's YOUR CURIOSITY + YOUR SKILLS = WORLD-CHANGING ãã®ã¡ãã»ãŒãžã¯ãre:Inventã®ç· ããšããŠãšãŠãå°è±¡ã«æ®ããŸããã ãããã« 4æ¥éã®ã€ãã³ããéããŠãæè¡çãªç¥èŠãåºãããåºæ¿çã§æ¿ãæéãéããããšãã§ããŸããã 2026幎ã¯ãAIOpsãæ¬æ Œçã«å®åã«çµã¿èŸŒãŸããŠãã幎ã«ãªããšæãããã¡ã€ã³ãã£ã®PlatforméçºããŒã ã§ãããAIOpsãçµã¿èŸŒãã§ããäœå¶ã¥ãããè¡ã£ãŠãããã°ãšæããŸãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«åãã¡ã³ããŒãåéäžã§ãïŒ ããã£ããèŠããŠã¿ãŠãã ããã herp.careers
ããã«ã¡ã¯ã ãã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ããã¯ãªãŒããããŒãžã£ãŒãããããŠããã£ãŠããæžç°ã§ãã çŸåšã®ãœãããŠã§ã¢éçºã®äžçã¯ãçæAIã®ç»å Žã«ãã倧ããªè»¢æç¹ãè¿ããŠããŸãã GitHub CopilotãClaude Codeãªã©ãçæAIãæŽ»çšããéçºæ¯æŽããŒã«ã次ã
ãšç»å Žããæ¥åžžçãªã¯ãŒã¯ãããŒã«çµã¿èŸŒãŸãã€ã€ãããŸãã ãããªäžã§å
æ¥ãåŒç€Ÿäž»å¬ã§AI Engineering Summit Tokyo 2025ãéå¬ããããFindy AI+ã®éçºãéçšã«ãããMCP掻çšäºäŸããšé¡ããŸããŠç»å£ããŠããŸããã ai-engineering-summit-tokyo.findy-tools.io ããã§ä»åã¯ãç»å£è³æãå
ã«ãFindy AI+ã®éçºã§ã©ã®ããã«MCPãæŽ»çšãããããã®éžæã®èæ¯ãšå¹æãæ¯ãè¿ã£ãŠãããŸããç¹ã«ãMVPã§ã®ãªã¢ãŒãMCPãµãŒããŒæŽ»çšãšãAdminæ©èœã§ã®MCPãµãŒããŒå®è£
ãšãã2ã€ã®äºäŸãããMCPã®å®è·µçãªæŽ»çšãã¿ãŒã³ããäŒãããŸãã ããã§ã¯èŠãŠãããŸãããïŒ MCPãšã¯ Findy AI+ ã¢ã«ãã¡ç: ãªã¢ãŒãMCPãµãŒããŒã§ã®æäŸ ããŒã¿ç: ãã£ããUIãšMCP掻çšã®Adminæ©èœ ãŸãšã MCPãšã¯ MCPïŒModel Context ProtocolïŒã¯ãã¢ããªã±ãŒã·ã§ã³ãå€§èŠæš¡èšèªã¢ãã«ïŒLLMïŒã«æ
å ±ãããŒã«ãžã®ã¢ã¯ã»ã¹æ¹æ³ãæäŸãããæ°ãããªãŒãã³ãããã³ã«ã§ãã USB-Cãæ§ã
ãªããã€ã¹ãæšæºçãªæ¹æ³ã§æ¥ç¶ããããã«ãMCPã¯AIã¢ãã«ã倿§ãªããŒã¿ãœãŒã¹ãããŒã«ãžã€ãªãããã®ãæšæºåãããæ¹æ³ãæäŸããŸãã 詳ããã¯æ¬¡ã®å
¬åŒããã¥ã¡ã³ããã芧ãã ããã modelcontextprotocol.io ãŸãå
æ¥ã MCPãLinux Foundationåäžã«æ°èšãããAgentic AI Foundation (AAIF)ã«å¯èŽããã ãšãããã¥ãŒã¹ãçºè¡šãããŸããã www.anthropic.com ããã«ããã ãã³ããŒã«äŸåããªãäžç«çãªæè¡ãšããŠç®¡çããã ããšã«ãªããŸãããŸãã é·æçãªå®å®æ§ãšäºææ§ãä¿èšŒ ãããããå®å
šã«æ¡çšã§ããæè¡ãšãªãã§ãããããŸãã« æ¥çã«ãšã£ãŠäžå¯æ¬ ãªå
±æã€ã³ãã©ãšããŠã®å°äœã確ç«ããããšããŠãã ãšèšããã§ãããã Findy AI+ Findy AI+ã¯GitHub飿ºã»ããã³ããæç€ºã§çæAIã¢ã¯ãã£ããã£ãå¯èŠåããçæAIã®å©æŽ»çšåäžãæ¯æŽãããµãŒãã¹ã§ãã çæAIãAIãšãŒãžã§ã³ããæŽ»çšããããã§ã®çµç¹ãå人ã®èª²é¡ã解決ããããã«éçºãããŸããã jp.ai-plus.findy.io ã¢ã«ãã¡ç: ãªã¢ãŒãMCPãµãŒããŒã§ã®æäŸ ãŸããã®ãããã¯ãã®ããŒãºãäžå®ä»¥äžãããã©ããæ€èšŒããããã«MVPã§ã¢ã«ãã¡çã®éçºãè¡ããŸããã ãã®æãã¢ã«ãã¡çã§ã¯ãªã¢ãŒãMCPãµãŒããŒã§ã®ãµãŒãã¹æäŸãå®çŸããŠããŸãã ãªã¢ãŒãMCPãµãŒããŒã§æäŸããããšã§ãç»é¢ãå®è£
ããå·¥æ°ãã«ããããããšãåºæ¥ãäžãåæãè§£æãã¯ã©ã€ã¢ã³ãåŽã®LLMã«ä»»ããããšãåºæ¥ãããããšã³ãžãã¢2人ã§1ã¶æçšåºŠã§ã®éçºãå®çŸããããšã«æåããŸããã ãªã¢ãŒãMCPãµãŒããŒã®åœ¹å²ã¯ãå¿
èŠãªæ
å ±ãå€éšAPIããååŸããŠãLLMãåæãããã圢ã«å å·¥ããŠè¿ãããš ã§ãã åæãã®ãã®ã¯ã¯ã©ã€ã¢ã³ãããæ¥ç¶ããŠããLLMã«ä»»ããŸãã ãã®ãããå®è¡ããããã³ããã«ãã£ãŠåºåçµæã«ãã©ã€ããåºãããšãé²ãããã«ãMCPãµãŒããŒããããã³ãããåçã«çæããŠè¿ãæ©èœãŸã§ãå®è£
ããŸããã ãªã¢ãŒãMCPãµãŒããŒã®è©³çްã¯å¥èšäºãåç
§ãããšãããçè§£ãæ·±ãŸãããšæããŸãã tech.findy.co.jp ããŒã¿ç: ãã£ããUIãšMCP掻çšã®Adminæ©èœ ã¢ã«ãã¡çã®æäŸã«ããäžå®ä»¥äžã®ããŒãºã確èªåºæ¥ããããæ¬¡ã«ããŒã¿çãšããŠç»é¢UIããã®ãã£ãã圢åŒã®ã€ã³ã¿ãŒãã§ãŒã¹ãæäŸããããšã«ãªããŸããã æŽã«ãµãŒãã¹å
šäœã管çããããã®Adminæ©èœãå¿
èŠãšãªããŸãããããã§ Adminæ©èœãç»é¢UIã§ã¯ãªããããŒã«ã«MCPãµãŒããŒãšããŠå®è£
ãã ããšã«ããŸãããAdminæ©èœã¯ç®¡çè
ã®ã¿ã䜿çšããå©çšé »åºŠãé«ããªããããç»é¢UIãäœããããMCPã§æè»ã«æäœã§ããæ¹ãå¹ççãšå€æããŸããã MCPãµãŒããŒã®toolããããã¯ãšã³ãã®ãµãŒããŒã®Adminæ©èœçšã®REST APIãå®è¡ããŠããŒã¿ãååŸããŠè¿ãã ãã®ã·ã³ãã«ãªæ§æã§ãããŸããAdminæ©èœçšã®APIãšãŠãŒã¶ãŒåŽã®æ©èœçšã®APIã®endpointãšèªèšŒãåããããšã§ãã»ãã¥ãªãã£é¢ãèæ
®ããŠããŸãã çµæçã«ãç»é¢ããŒã¹ã§éçºããå Žåã®èŠç©ãããçŽ1ã¶æçšåºŠã®å·¥æ°ã§ãã£ãã®ã«å¯ŸããMCPãµãŒããŒãšããŠå®è£
ããããšã§çŽ1é±éçšåºŠã®å·¥æ°ã§å®è£
ãå®äºããŸããã Adminæ©èœãæäŸããMCPãµãŒããŒã«ã€ããŠã¯å¥èšäºãåç
§ãããšãããçè§£ãæ·±ãŸãããšæããŸãã tech.findy.co.jp ãŸãšã MCPã®ç»å Žã«ãããéçºå¹çãäžããã ãã§ã¯ãªãããŒã¿ãžã®ã¢ã¯ã»ã¹ææ®µã®éžæè¢ãåºãããŸããã ä»åã®Findy AI+ã®äºäŸã§ã¯ãMVPéçºã§ãªã¢ãŒãMCPãµãŒããŒã掻çšããããšã§éçºæéã倧å¹
ã«ççž®ããAdminæ©èœã§ã¯MCPãµãŒããŒãšããŠå®è£
ããããšã§ç»é¢UIã®éçºå·¥æ°ãåæžã§ããŸãããããã«ãããäŸ¡å€æäŸã®æ¹æ³ãå€ãã£ãŠããŠããŸãã ãŸããLLMãçæAIããŒã«ãå€ãã£ãŠããMCPã¯LLMãçæAIããŒã«ãéžã°ãã«æ¥ç¶ãåºæ¥ãŸããããã«ããé·ã䜿ããç¥èãæè¡ãšãªã£ãŠããŸãã ãã¡ã€ã³ãã£ã¯æ©æã«MCPã®æ€èšŒãéå§ããŠãç©ã¿éããç¶ç¶ããŠãå®çšåã«ãã©ãçãããšãã§ããŸããã çŸåšããã¡ã€ã³ãã£ã§ã¯äžç·ã«åãã¡ã³ããŒãåéäžã§ãã èå³ãããæ¹ã¯ãã¡ããã â herp.careers
ããã«ã¡ã¯ã Findy Freelanceã®éçºããŒã ã§EMãããŠããäžåªã§ãã ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠Advent Calendar 2025 ã®18æ¥ç®ã®èšäºã«ãªããŸãã adventar.org æ¥ã
é²åããAIãé¢é£ããŒã«ããã£ããã¢ããããå®åã«æŽ»çšããããšã«èŠåŽããŠãããšã³ãžãã¢ã®æ¹ãå€ãã®ã§ã¯ãªãã§ããããã ç§ãã¡ã¯ãããŒã ã§AIããŒã«ã®ãã£ããã¢ãããè¡ãåãçµã¿ãšããŠã10åå匷äŒãã宿œããŠããŸãã æ¬èšäºã§ã¯ããã®åãçµã¿å
容ã«ã€ããŠç޹ä»ããŸãã 10åå匷äŒãšã¯ çºè¡šå
容ã®äŸ 1. Sentry MCPãšLog Analyzer with MCPã䜿ã£ãäžå
·åèª¿æ» 2. Gemini Canvasã䜿ã£ãUIã¢ãã¯ã®äœæãšç€Ÿå
å
±æ 3. Git Worktree Runnerã®çŽ¹ä» æç¶ããããã®å·¥å€« çºè¡šã®ã¹ãããã蚱容ãã çºè¡šè³æã¯ä»»æ å³å¯ã§ã¯ãªãããŒãèšå® ããŒã å
ã§éå¬ãã é嬿éãçããã 广ãšåé¿ ããŒã ã¡ã³ããŒã®å£° ããŒã AI掻çšç ã¡ãªãã ã¢ãŠããããã«ããç¥èã®å®ç AIã®ãã£ããã¢ãããããŒã ã§åãçµãã èããå
容ãããã«è©Šãã ãã¡ãªãã äœè«ãšããã¡ã®AIããããããŸããŠãã®çŽ¹ä» ãããã« 10åå匷äŒãšã¯ çºè¡šè
ã5åéã§åŠãã ããšãçºè¡šããæ®ã5åã§è³ªçå¿çãè¡ã圢åŒã®å匷äŒã§ãã ãã®å匷äŒã®ç®çã¯æ¬¡ã®3ã€ã§ãã ã¡ã³ããŒãåŠãã ããšãããŒã ã¡ã³ããŒã«å
±æããæ©äŒãäœã çºè¡šãããã®äººã®ä»äºãèå³ã課é¡ãªã©ãç¥ããçžäºçè§£ãæ·±ãã ã¢ãŠããããã®ããŒãã«ãäžããã¢ãŠããããã®ç¿æ
£ãã€ãã Findy FreelanceéçºããŒã ã§ã¯ãé±ã«2åã10åå匷äŒã宿œããŠããŸãã 1åã«ã€ã1åãçºè¡šããããŒããŒã·ã§ã³ã§å
šå¡ãçºè¡šãã圢ããšã£ãŠããŸãã 2024幎ã®2æé ã«éå§ããç¶ç¶ããŠããŸãã 2025幎1æä»¥éã¯ãåºæ¬ããŒãããçæAI掻çšãã«èšå®ããå€åã®æ¿ããAIããŒã«ã®ãã£ããã¢ããã«çŠç¹ãåœãŠãŠããŸãã éå»ã®çºè¡šå
容ã®äžéšã§ãã çºè¡šå
容ã®äŸ éå»ã®çºè¡šå
容ã®äŸãããã€ãç°¡åã«ç޹ä»ããŸãã 1. Sentry MCPãšLog Analyzer with MCPã䜿ã£ãäžå
·åèª¿æ» AWSãæäŸãã Log Analyzer with MCP ã䜿ã£ãäžå
·å調æ»ã®æ¹æ³ã玹ä»ããŸããã ãã®MCPã¯CloudWatch Logsã®æ€çŽ¢ãšåæãè¡ãããšãã§ãã Sentry MCP ãšçµã¿åãããããšã§ããšã©ãŒã®æŠèŠãšè©³çްãªãã°ã暪æçã«èª¿æ»ã§ããŸãã Sentryã§ãšã©ãŒã®æŠèŠãææ¡ããCloudWatch Logsã§è©³çްãªãã°ã確èªããããšã§ãClaude Codeäžã§äžè²«ãã調æ»ãå¯èœã«ãªãããšã©ãŒã®æ ¹æ¬åå ãå¹ççã«ç¹å®ã§ããäºäŸã玹ä»ãããŸããã 2. Gemini Canvasã䜿ã£ãUIã¢ãã¯ã®äœæãšç€Ÿå
å
±æ 仿§æ€èšæã«UIã€ã¡ãŒãžãå
±æããæ¹æ³ãšããŠãGemini Canvasã®æŽ»çšäºäŸã玹ä»ãããŸããã Geminiã®ãã£ããæ¬ã§Canvasæ©èœãæå¹åããæ¢åç»é¢ã®ãã£ããã£ãšç°¡åãªããã³ãããæž¡ãã ãã§ãåãã®ããUIã¢ãã¯ãäœæã§ããŸãã çæãããHTMLãGoogle Apps Scriptã«ãããã€ããå
¬éç¯å²ãçµç¹å
ã«éå®ããããšã§ã瀟å
ã®Googleã¢ã«ãŠã³ããæã€ã¡ã³ããŒã ããã¢ã¯ã»ã¹ã§ããURLãšããŠå
±æã§ããŸãã éçãªãã£ããã£ã§ã¯äŒããã«ããã€ã³ã¿ã©ã¯ã·ã§ã³ããå®éã«åãããã¢ãã¯ã䜿ãããšã§ã仿§ã®èªèåãããå¹ççã«é²ããããäºäŸã玹ä»ãããŸããã V0ã®ãããªå°çšããŒã«ãšæ¯ã¹ãŠããã¡ã€ã³ãã£ã®ç€Ÿå
ã§å°å
¥ãããŠããæšæºããŒã«ã§å©çšã§ããç¹ãå©ç¹ã§ãã 3. Git Worktree Runnerã®çŽ¹ä» CodeRabbitãå
¬éããŠãã Git Worktree Runner (GTR) ã䜿ã£ãéçºå¹çåã®äºäŸã玹ä»ãããŸããã ãã®ããŒã«ã¯ãGit worktreeã®äœæãšç®¡çãç°¡åã«ããAIããŒã«ãšã®é£æºãã¹ã ãŒãºã«ããŸãã ã³ãã³ãäžã€ã§worktreeãšãã©ã³ããåæã«äœæã§ãããšãã£ã¿ãŒ(VS CodeãCursorãªã©)ãAI CLIããŒã«(Claude Codeãªã©)ã®èµ·åãèªååã§ããŸãã ããã¯æ©èœã«ãããworktreeäœææã«npm ciãªã©ã®åæåã³ãã³ããèªåå®è¡ã§ããããããã©ã³ããåãæ¿ããŠããã«éçºãå§ããããç°å¢ãæŽããŸãã git worktreeã®å°å
¥ããŒãã«ãäžããè€æ°ã®ã¿ã¹ã¯ã䞊è¡ããŠé²ããããããããŒã«ãšããŠæŽ»çšäºäŸãå
±æãããŸããã æç¶ããããã®å·¥å€« 10åå匷äŒãã¡ã€ã³ãšãªãéçºæ¥åã®åŠšãã«ãªãããç¶ç¶çã«å®æœããããã«ã次ã®ãããªå·¥å€«ãããŠããŸãã çºè¡šã®ã¹ãããã蚱容ãã æ¥åãå¿ããææãæºåãéã«åããªãå Žåã¯ãåœæ¥éå¬åãŸã§ã«åšç¥ããã°ã¹ãããã§ããããã«ããŠããŸãã åºæ¬çã«ã¯éçºæ¥åãåªå
ããçºè¡šè
ãèªèº«ã®è² è·ç¶æ³ãèæ
®ããŠèª¿æŽã§ããéçšã«ããããšã§ãç¡çãªãç¶ããããä»çµã¿ã«ããŠããŸãã çºè¡šè³æã¯ä»»æ çºè¡šè³æã®äœæã¯å¿
é ã§ã¯ãããŸããã Notionã«ç°¡åã«ãŸãšããã ãã§ãè¯ãã§ãããå®éã®æäœãç»é¢å
±æããªãã説æãã圢ã§ãã誰ãã®æžããããã°èšäºã玹ä»ãã圢ã§ãOKã«ããŠããŸãã è³æäœæã®ããŒãã«ãäžããããšã§ãçºè¡šããããç°å¢ãäœã£ãŠããŸãã å³å¯ã§ã¯ãªãããŒãèšå® åºæ¬ããŒãã¯èšãã€ã€ãããŒã以å€ã®å
容ã§ãçºè¡šå¯èœã«ããŠããŸãã æ¥åã§ã®åãçµã¿ããã¡ã€ã³ç¥èã®å
±æãæè¿èªãã æè¡æžã®ç޹ä»ãªã©ãç¹ã«ããŒã ã«å
±æãããããšãªã©ãããã°ãããŒãå€ã§ãçºè¡šå¯èœã§ãã ããŒã å
ã§éå¬ãã ãã¡ã€ã³ãã£ã®ãšã³ãžãã¢çµç¹å
šäœã§ã¯ãªããFindy Freelance éçºããŒã å
ã§éå¬ããŠããŸãã ããŒã å
ã§ããã°ãFindy Freelanceåºæã®ãããã¯ããäºæ¥ããã¡ã€ã³ç¥èã«é¢ããå
容ãå
±æãããããå®åã«çŽçµããå
å®¹ãæ±ããããã§ãã å
šäœéå¬ã«æ¯ã¹ããšã察象è
ãéå®ãããŠãããäžå®ã®åæç¥èãæã£ãŠãããããçºè¡šè
ãããŒãèšå®ãå
容ãèãããããšèããŠããŸãã é嬿éãçããã ãªãŒãã³ãã¯ããŒãºãå«ããŠ15åçšåºŠã§äŒãçµããããã«ããŠããŸãã ããŒã ã¡ã³ããŒå
šå¡åå ã§ãã£ãŠãã15åçšåºŠã§ããã°æ¥åã®æéã倧ããå²ãããšãªãåå ãããããšèããŠããŸãã 广ãšåé¿ ããŒã ã¡ã³ããŒã®å£° ããŒã ã¡ã³ããŒã«ã¢ã³ã±ãŒãã宿œãããšãããæ¬¡ã®ãããªå£°ããããŸããã AIãã£ããã¢ããã®å©ãã«ãªã£ãŠããããçºè¡šå
容ãå®åã«åœ¹ã«ç«ã£ãŠããããšãããããŸããã è¯ãã£ãç¹: è²ã
MCPãç¥ãããšãã§ããããšãClaude Codeã®äœ¿ãæ¹ãç¥ãããšãã§ããããšã AIã®ãã£ããã¢ããã¯å€§å€ãªã®ã§ç¥ããªãã£ã倿Žãç¥èŠãç¥ãã CloudWatch Logsã®æ€çŽ¢mcpã¯ããªãã®é »åºŠã§å©çšããŠããŸã èªèº«ã仿§æ€èšããæ©äŒãå€ããèªèåããã®ããã®UIã¢ãã¯ãå¿
èŠã ãšæããŠããäžã§Gemini Canvasãçšããç»é¢ã¢ãã¯ã®çºè¡šããããããã«ä»æ§ã®ããåããã§æŽ»çšããããšãã§ããã ãŸãã5段éè©äŸ¡ã§ãçæAIã®ãã£ããã¢ããã«åœ¹ç«ã¡ãŸãããïŒããšãã質åã«å¯ŸããŠã¯ãå¹³å4.4ç¹ãšããé«è©äŸ¡ãåŸãããŸããã ããŒã AI掻çšç å匷äŒã ãã®å¹æãšã¯èšãåããŸããããFindy FreelanceéçºããŒã ã§ã¯AIããŒã«ã®æŽ»çšçã¯é«ãå€ãç¶æããŠããŸãã Findy Team+ ã®AI掻çšã¬ããŒããã¿ããšã2025/09/16 - 2025/12/15ã®æéã®AIå©çšè
çã¯100%ãAIå©çšãã«ãªã¯ã®å²åã70%ãè¶
ããŠããŸãã åæã§ã¿ããšãæãé«ãæã§10æã®AIå©çšãã«ãªã¯å²åã¯çŽ90%ã«éããŠããŸãã ã¢ã³ã±ãŒãã®åå¿ãªã©ãåãããŠèãããšã10åå匷äŒãAI掻çšã®ä¿é²ã«äžå®å¯äžããŠãããšæããŠããŸãã ã¡ãªãã ã¢ãŠããããã«ããç¥èã®å®ç 人ã«èª¬æããããšã§ãèªåã®çè§£ãæ·±ãŸããç¥èãå®çãããããªããŸãã èªåã§ã¯ããã£ãŠããã€ããããçºè¡šããããšãããšãçè§£ãäžååãªéšåã«æ°ã¥ãããšããããŸãã ããã調ã¹ããã説æã®ä»æ¹ãèãããããããšã§ãããæ·±ãçè§£ã«ã€ãªãããŸãã ãã®å匷äŒã«ãããŠãäžçªæ©æµãåããã®ã¯çºè¡šè
èªèº«ã ãšæããŠããŸãã AIã®ãã£ããã¢ãããããŒã ã§åãçµãã AIãé¢é£ããŒã«ã¯æ¥ã
é²åããŠãããå人ã§ãã£ããã¢ããããã®ã¯å€§å€ã§ãã äžæ¹ã§ãæ°ãããã®ãã§ãŠãããšãã«ãå°ãè§Šã£ãŠã¿ãã詊ããŠã¿ããšããããšãéèŠã ãšèããŠããŸãã è§Šã£ãŠã¿ãªããšå®éã«ãã®ããŒã«ãã©ã®ããã«åœ¹ç«ã€ããçè§£ããã®ã¯é£ããããã§ãã å匷äŒãéããŠãä»ã®ã¡ã³ããŒã詊ããããŒã«ã掻çšäºäŸãç¥ãããšã§ãå人ã®ãã£ããã¢ããã®è² è·ã軜æžããããšãã§ãããšæããŠããŸãã é±2åãšããé »åºŠããå€åã®æ¿ããAIããŒã«ã®ãã£ããã¢ããã«ã¯é©ããŠãããšèããŠããŸãã èããå
容ãããã«è©Šãã åè¿°ã®éããããŒã å
ã§å®æœããŠãããããçºè¡šå
容ãå®åã«çŽçµããããã§ãã ãŸããå°å
¥ãããŠããããŒã«ã察象ãšããã·ã¹ãã ãç°å¢ãå
±éããŠããããšãå€ããããçºè¡šãèããåŸã«ããã«è©ŠããŠã¿ãããšãã§ããŸãã äŸãã°ãæ®æ®µéçºããŠãããªããžããªã«Claude Codeã®ã«ã¹ã¿ã ã³ãã³ããå°å
¥ãããšããçºè¡šããã£ãå Žåãä»ã®ã¡ã³ããŒã«ãšã£ãŠãæ®æ®µããã£ãŠãããªããžããªã«ãªããããããã«è©ŠããŠã¿ãããšãã§ããŸãã ç°å¢æ§ç¯ã®æéãå°ãªããããŒãžæžã¿ã§ããã°ãå匷äŒãèããªãããã®å Žã§è©Šãããšãã容æã§ãã ãã¡ãªãã äœç³»çã«åŠã³ããå Žåããåºç€ãåºãããå Žåã«ã¯åããŠããªããšèããŠããŸãã ããŒãã¯çºè¡šè
ãèªç±ã«éžã¹ããããã©ããªå
容ãçºè¡šããããã¯äºåã«ã¯ããããŸããã ç¹å®ã®ãããã¯ã¹ã«åãå¯èœæ§ãããããŸãããŸããæ·±ãå
å®¹ãæ±ãã«ã¯5åã§ã¯æéããããŸããã Findy FreelanceéçºããŒã ã§ã¯ãçŸç¶ã§ã¯ããã«ä»¥äžã®ãšã³ãžãã¢ãäžå¿ã®æ§æã«ãªã£ãŠãããããèªäž»æ§ã«äžå®ã®æåŸ
ãã§ããããšãããããã®åœ¢åŒãæ©èœããŠãããšèããŠããŸãã äœè«ãšããã¡ã®AIããããããŸããŠãã®çŽ¹ä» äœè«ã«ãªããŸããã10åå匷äŒã§ã¯ã詊ããŠã¿ããã©ããŸããããªãã£ãäºäŸãå
±æãããããšããããŸãã ãŸããAIã®é²åãæ©ãããŠãçºè¡šããå
容ãå€ããªã£ãŠããŸã£ãããããŒãžã§ã³ã¢ããã«ãã䜿ããªããªã£ããããããšããããŸããã ãã®èšäºãèªãã§ãããŠããæ¹ã®äžã«ããAIãããŸãåããŠãããªãã£ãçµéšãããæ¹ããããšæããŸãã çŸåšãFindyã§ã¯ããã¡ã®AIããããããŸããŠããšããAIã䜿ã£ããšãã®ã¡ãã£ãšç¬ããããããäœéšãã·ã§ã¢ããæééå®äŒç»ã宿œäžã§ãã ã¡ãªã¿ã«ã§ãããç§ã¯ãã®æçš¿ã奜ãã§ãã å®éã«äœéšãããæ¹ã¯ãã²ã·ã§ã¢ããã ãããšå¬ããã§ã! ä»ã®æ¹ã®æçš¿ãã¿ãã ãã§ãé¢çœããšæããŸãã®ã§ããã²ã®ãããŠã¿ãŠãã ãã! ãããã« Findy FreelanceéçºããŒã ã§ã¯ã10åå匷äŒãéããŠãå€åã®æ¿ããAIããŒã«ã®ãã£ããã¢ãããããŒã ã§åãçµãã§ããŸãã 2025幎ã¯çæAI掻çšã«çŠç¹ãåœãŠãŠåãçµãã§ãããããŒã ã¡ã³ããŒããã奜è©ãåŸãŠããŸãã ããã¯ä»ã®ããŒã æ§æãæåã«åã£ãŠããããããæ©èœããŠããé¢ããããšèããŠããŸãã ç¶ç¶ããããšãç®çã§ã¯ãªããããŒã ã®æ§æã人æ°ã課é¡ã«å¿ããŠãå匷äŒã®åœ¢åŒã宿œãããã©ããæ¯ãè¿ãããšãéèŠã§ãã ãã ãã©ã®ãããªåœ¢åŒã§ãããå€åã®æ¿ããAIã®é²åãããŒã ã§ååãã€ã€ã楜ãã¿ãªãããã£ããã¢ããããããšã¯ç¶ç¶ããŠãããããšèããŠããŸãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ãã èå³ãæã£ãŠããã ããæ¹ã¯ãã¡ãã®ããŒãžãããå¿åãé¡ãããŸãã herp.careers
ã¯ããã« ã¿ãªããããã«ã¡ã¯ãPlatform éçºããŒã SREã§ãµããããŒãžã£ãŒã®å®éïŒ @adachin0817 ïŒã§ãããã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠Advent Calendar 2025 ã®18æ¥ç®ã®èšäºã§ããä»åã¯ECS Express Modeãã¹ããŒãã£ãŒã«è©ŠããŠã¿ãã®ã§ã䜿ã£ãŠã¿ãŠåãã£ãã¡ãªããã»ãã¡ãªãããäžå¿ã«ãŸãšããŠãããããšæããŸãã adventar.org ã¯ããã« ECS Express Modeãšã¯ Terraform terraform.tf iam.tf ecs.tf variables.tf Deploy åé€ã®æåãšæžå¿µç¹ã«ã€ã㊠ãŸãšã ECS Express Modeãšã¯ https://aws.amazon.com/jp/blogs/news/build-production-ready-applications-without-infrastructure-complexity-using-amazon-ecs-express-mode/ åŸæ¥ã®ECSãçšããã€ã³ãã©æ§ç¯ã§ã¯ãECSã¯ã©ã¹ã¿ãŒãã¿ã¹ã¯å®çŸ©ããµãŒãã¹ã ãã§ãªããããŒããã©ã³ãµãŒãã¿ãŒã²ããã°ã«ãŒããã»ãã¥ãªãã£ã°ã«ãŒãããªãŒãã¹ã±ãŒãªã³ã°ãªã©ã倿°ã®ãªãœãŒã¹ãåå¥ã«å®çŸ©ã»ç®¡çããæéããããŸããã å
¬åŒããã¥ã¡ã³ãã«ãããšECS Express Modeã¯APIãéããŠãã€ã³ãã©ã®ã»ããã¢ãããå
šãŠãèªååã§ããããã«ãªããŸãããããã«ãããã¢ããªã±ãŒã·ã§ã³éçºã«éäžã§ããç°å¢ãå®çŸããAmazon ECSãå«ãåãªãœãŒã¹ãèšå®ã§ãããããå¿
é é
ç®ã¯ã³ã³ããã€ã¡ãŒãžã®ã¿ã§ãã·ã³ãã«ããšã¹ããŒããé£èºçã«åäžãããŠããŸãã https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecs_express_gateway_service Terraformã§ã¯aws_ecs_express_gateway_serviceãªãœãŒã¹ãæäŸãããŠããããããã¡ãã䜿ã£ãŠäžé£ã®æµããå®è£
ããŠãããŸãã Terraform terraform.tf ECS Express Modeã¯ãTerraform AWS Providerã®ããŒãžã§ã³ 6.23 ããå©çšã§ããããã«ãªããŸãã terraform { required_version = ">= 1.14.2" required_providers { aws = { source = "hashicorp/aws" version = ">= 6.26.0" } } cloud { organization = "hoge" workspaces { name = "hoge-ecs" } } } iam.tf ECS Express Modeã§ã¯ãäž»ã«2ã€ã®IAM ããŒã«ãå¿
èŠã«ãªããŸããTask Execution Roleã¯ãã³ã³ããã€ã¡ãŒãžã®pullãCloudWatch Logsãžã®æžã蟌ã¿ã«äœ¿çšãããInfrastructure Roleã¯ãECS Express Modeãåçš®ãªãœãŒã¹ãäœæã»ç®¡çããããã«äœ¿çšãããŸãã resource "aws_iam_role" "ecs_task_execution_role" { name = "test-service-task-execution-role" assume_role_policy = jsonencode ( { Version = "2012-10-17" Statement = [{ Effect = "Allow" Principal = { Service = "ecs-tasks.amazonaws.com" } Action = "sts:AssumeRole" }] } ) } resource "aws_iam_role_policy_attachment" "ecs_task_execution_role_policy" { role = aws_iam_role.ecs_task_execution_role.name policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy" } resource "aws_iam_role" "ecs_infrastructure_role" { name = "test-service-infrastructure-role" assume_role_policy = jsonencode ( { Version = "2012-10-17" Statement = [{ Sid = "AllowAccessInfrastructureForECSExpressServices" Effect = "Allow" Principal = { Service = "ecs.amazonaws.com" } Action = "sts:AssumeRole" }] } ) } resource "aws_iam_role_policy_attachment" "ecs_infrastructure_role_policy" { role = aws_iam_role.ecs_infrastructure_role.name policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonECSInfrastructureRoleforExpressGatewayServices" } ecs.tf ECS Express Modeã§ã¯ãäžå¿ãšãªããªãœãŒã¹ã§ããaws_ecs_express_gateway_serviceãéããŠåçš®èšå®ãå¶åŸ¡ããŸããECSã¯ã©ã¹ã¿ãŒèªäœã¯å¥éå®çŸ©ããå¿
èŠããããŸããããµãŒãã¹åŽã§ã¯ã³ã³ããã€ã¡ãŒãžæå®ïŒä»åã¯NginxïŒããã°èšå®ãäºåã«äœæããIAM ããŒã«ããããã¯ãŒã¯ãCPUã»ã¡ã¢ãªãã¹ã±ãŒãªã³ã°èšå®ãªã©ããŸãšããŠæå®ããŸãã ããŒããã©ã³ãµãŒã«ã€ããŠã¯ ALBãšã¿ãŒã²ããã°ã«ãŒããèªåçã«äœæã»ç®¡çãããACMèšŒææžãèªåçºè¡ããã仿§ãšãªã£ãŠããŸããããŸããã»ãã¥ãªãã£ã°ã«ãŒããExpress ModeåŽã§èªåçæã»ç®¡çããããããTerraformåŽã§ã¯å·®åæ€ç¥ãé²ãããã«ãignore_changesãæå®ããå¿
èŠããããŸããã â»ãããã¯ãŒã¯ã¯ããã©ã«ãVPCãåç
§ããŠããŸãã resource "aws_ecs_cluster" "main" { name = var.cluster_name } resource "aws_ecs_express_gateway_service" "main" { cluster = var.cluster_name service_name = var.service_name primary_container { image = var.container_image container_port = var.container_port command = var.command aws_logs_configuration { log_group = aws_cloudwatch_log_group.ecs_service.name log_stream_prefix = var.service_name } } execution_role_arn = aws_iam_role.ecs_task_execution_role.arn infrastructure_role_arn = aws_iam_role.ecs_infrastructure_role.arn network_configuration { subnets = toset ( [ "subnet-xxxxxx" , "subnet-xxxxxx" ] ) security_groups = toset ( [ aws_security_group.tests_service.id ] ) } cpu = tostring (var.cpu) memory = tostring (var.memory) scaling_target { min_task_count = var.min_capacity max_task_count = var.max_capacity auto_scaling_metric = "AVERAGE_CPU" auto_scaling_target_value = 60 } health_check_path = var.health_check_path lifecycle { ignore_changes = [ network_configuration [ 0 ] .security_groups ] } } variables.tf variable "cluster_name" { type = string description = "The name of the ECS cluster" default = "hoge-cluster" } variable "service_name" { type = string description = "The name of the service" default = "hoge-service" } variable "log_group" { type = string description = "The name of the CloudWatch log group" default = "/ecs/hoge-service" } variable "container_image" { type = string description = "The container image to use for the service" default = "nginx:latest" } variable "container_port" { type = number description = "The port that the container listens on" default = 80 } variable "command" { type = list ( string ) description = "The command to run in the container" default = [ "nginx" , "-g" , "daemon off;" ] } variable "cpu" { type = number description = "The number of CPU units to allocate" default = 256 } variable "memory" { type = number description = "The amount of memory (in MiB) to allocate" default = 512 } variable "min_capacity" { type = number description = "Minimum number of tasks" default = 1 } variable "max_capacity" { type = number description = "Maximum number of tasks" default = 10 } variable "health_check_path" { type = string description = "The path for health checks" default = "/" } Deploy ãããã€ã¯ECSãã«ãã€ã³ãããã€ã§ããã«ããªã¢ãããã€ãšãªã£ãŠãããã¢ããªã±ãŒã·ã§ã³URLã«HTTPSã§ã¢ã¯ã»ã¹ã§ããããã«ãªããŸããã â¯â¯ curl -I https://xxx.ecs.ap-northeast-1.on.aws HTTP/2 200 server: nginx date: Tue, 16 Dec 2025 02:30:25 GMT content-type: text/html; charset=utf-8 content-length: 14 x-powered-by: Express åé€ã®æåãšæžå¿µç¹ã«ã€ã㊠https://docs.aws.amazon.com/AmazonECS/latest/developerguide/express-service-delete-task.html The Amazon ECS cluster (if no other services are running) The Amazon ECS service, task definition, and any running tasks Service security group CloudWatch log group Metric alarm ACM Certificate The Application Load Balancer (if no other services are configured), target group, security group, listener, and listener rule Amazon EC2 Auto Scaling policy, scalable target åé€ã®æåã«ã€ããŠã¯ãTerraformã§destroyãå®è¡ããã°Express Mode管çäžã®ãªãœãŒã¹ããã¹ãŠåé€ãããæ³å®ã§ãããããããå®éã«ã¯ALBãã¿ãŒã²ããã°ã«ãŒããACMãæ®åãããã®åŸã«æååé€ãšåapply ãè¡ã£ãçµæãåäžãµãŒãã¹åã®ECSãµãŒãã¹ãDraining ç¶æ
ã®ãŸãŸãšãªããåäœæã§ããªãåé¡ã«çŽé¢ããŸããã â· â Error: creating ECS (Elastic Container) Express Gateway Service â â with aws_ecs_express_gateway_service.main, â on ecs.tf line 5 , in resource "aws_ecs_express_gateway_service" "main" : â 5 : resource "aws_ecs_express_gateway_service" "main" { â â ID: "hoge-service" â Cause: operation error ECS: CreateExpressGatewayService, , â InvalidParameterException: Unable to Start a service that is still Draining. " ã¯ã©ã¹ã¿ãŒåã倿ŽããŠå床applyãçŽãããšãããapplyã¯å®äºãããã®ã®ãããŒããã©ã³ãµãŒãäœæãããªãç¶æ
ãšãªããŸããããã®çµæãååšããªãã»ãã¥ãªãã£ã°ã«ãŒããåç
§ãããŸãŸãµãŒãã¹ãèµ·åã§ãããçµæãšããŠãµãŒãã¹ããããã€ãããªããŸãŸã¿ã€ã ã¢ãŠãããªãäºè±¡ãçºçããŸããããã®æåãããTerraformã§ã®åé€ã»åäœæã¯ãçŸæç¹ã§èª²é¡ãæ®ã£ãŠãããšæããŠããŸãã ãŸãšã ECS Express Modeã¯ãApp Runnerãšæ¯ã¹ãŠããã€ã³ãã©æ§ç¯ã®è€éãã倧ããæžãããã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ã§ãçŽ æ©ãç°å¢ãç«ã¡äžããéçºã«éäžã§ããäœéšãæäŸããŠãããä»çµã¿ã ãšæããŸãããäžæ¹ã§ãTerraformãåæãšããéçšã§ã¯ãŸã 課é¡ãæ®ãå°è±¡ããããŸãããPlatform SRE ããŒã ããããŸã§æŽåããŠããæ±çšã¢ãžã¥ãŒã«ã®äžéšããå°æ¥çã«çœ®ãæããããå¯èœæ§ãæããŠããŸãã ä»åŸã¯AWSãµããŒããšã飿ºããªããæåã®æŽçãé²ããã©ã®ãŠãŒã¹ã±ãŒã¹ã§å®å
šã«äœ¿ããã®ããèŠæ¥µãã€ã€ãå®éçšã«èããã圢ãžèœãšã蟌ãã§ããäºå®ã§ãã æåŸãŸã§ãèªãã§ããã ãããããšãããããŸããïŒ herp.careers
ããã«ã¡ã¯ã ãã¡ã€ã³ãã£æ ªåŒäŒç€Ÿã§ããã¯ãªãŒããããŒãžã£ãŒãããããŠããã£ãŠãæžç°ã§ãã ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#1 Advent Calendar 2025 ã®17æ¥ç®ã®èšäºã§ãã adventar.org çŸåšã®ãœãããŠã§ã¢éçºã®äžçã¯ãçæAIã®ç»å Žã«ãã倧ããªè»¢æç¹ãè¿ããŠããŸãã GitHub CopilotãClaude Codeãªã©çæAIãæŽ»çšããéçºæ¯æŽããŒã«ã次ã
ãšç»å Žããéçºè
ã®æ¥åžžçãªã¯ãŒã¯ãããŒã«çµã¿èŸŒãŸãã€ã€ãããŸãã ãããªäžã§å
æ¥ãClaude Codeã®æ°æ©èœã§ããPluginsãå
¬éãããŸããã ããã§ä»åã¯ãPluginsã®ç޹ä»ãšè§£èª¬ãäœãæ¹ãšå©ç𿹿³ã玹ä»ããããšæããŸãã ããã§ã¯èŠãŠãããŸãããïŒ Pluginsãšã¯ äœãæ¹ å©ç𿹿³ ãŸãšã Pluginsãšã¯ Pluginsã¯Custom slash commands, Subagents, Hooks, Agent SkillsãMCPãµãŒããŒã䜿çšããŠClaude Codeãæ¡åŒµã§ãã䟿å©ãªæ©èœãšãªã£ãŠããŸãã ãŸããmarketplacesããPluginsãã€ã³ã¹ããŒã«ããŠãäºåã«æ§ç¯ãããCustom slash commands, Subagents, Hooks, Agent SkillsãMCPãµãŒããŒãå©çšã§ããããã«ããªããŸãã code.claude.com äžèšã§èšããšãClaude Codeã®åçš®èšå®ãæ©èœãPluginsãšããŠäºåã«çšæããŠãããããããç°¡åã«æšªå±éã§ããããã«ããä»çµã¿ã§ãã éçºçµç¹ãããŒã éã§ãéçºææ³ãã¯ãŒã¯ãããŒãæšæºåããã®ã«éåžžã«åœ¹ç«ã¡ãŸãã äœãæ¹ å¿
èŠãªãã¡ã€ã«ãšãå±éãããåçš®Claude Codeã®èšå®ãã¡ã€ã«ãªã©ãçšæããã ãã§Pluginsãäœæã§ããŸãã ãŸãPluginsã管çããããã®æ°ãããªããžããªãGitHubäžã«äœæããŸããäœæãããªããžããªãLocalç°å¢ã«cloneããŸããããä»å㯠TestOrg/DevPlugins ãšãããªããžããªãäœæãããšããŸãã æ¬¡ã«ãªããžããªã®rootã« .claude-plugin ãšãããã£ã¬ã¯ããªãäœæãããã®äžã« marketplace.json ãšãããã¡ã€ã«ãæ°èŠã§äœæããŸãã { "name": "DevPlugins", "owner": { "name": "TestOrg Inc." }, "plugins": [ { "name": "development-plugin", "source": "./development-plugin", "description": "Development plugin for TestOrg Inc." } ] } 次ã«ãªããžããªã®rootã« development-plugin/.claude-plugin ãšãããã£ã¬ã¯ããªãäœæãããã®äžã« plugin.json ãšãããã¡ã€ã«ãæ°èŠã§äœæããŸãã { "name": "development-plugins", "description": "Development plugins for TestOrg", "version": "0.0.1", "author": { "name": "TestOrg Inc." } } ããã§ DevPlugins ãšããmarketplaceã« development-plugin ãšããPluginsãäœæãããŸããã ãããŸã§çšæã§ããã°ãããšã¯å±éãããåçš®Claude Codeã®èšå®ãã¡ã€ã«ã development-plugin ãã£ã¬ã¯ããªä»¥äžã«é
眮ããŠããã ãã§ããä»åã¯Custom slash commandsã远å ããŸãã --- description: Greet the user with a personalized message --- # Hello Command Greet the user warmly and ask how you can help them today. Make the greeting personal and encouraging. å
šäœã®æå°æ§æã¯æ¬¡ã®ããã«ãªããŸãã DevPlugins/ âââ .claude-plugin/ â âââ marketplace.json âââ development-plugin/ âââ .claude-plugin/ â âââ plugin.json âââ commands/ âââ hello.md äœæãããã¡ã€ã«ãGitHubã®ããã©ã«ããã©ã³ãã« push ããã° Plugins ã®äœæãšå±éã¯å®äºã§ããmarketplace ãš Plugins ã®èšå®ãã¡ã€ã«ãäœæããå±éãããåçš®Claude Codeã®èšå®ãã¡ã€ã«ãé
眮ããã ãã§ã·ã³ãã«ã«æ§ç¯ã§ããããšãåãããšæããŸãã å©ç𿹿³ äœæããPluginsãå©çšããæ¹æ³ã説æããŸãã ãŸãPluginsã®ç»é²å
ã远å ããŸããClaudeã®ã³ã³ãœãŒã«ã«å
¥ã£ãŠã次ã®ã³ãã³ããå®è¡ããŸãã > /plugin marketplace add TestOrg/DevPlugins ãã®ã³ãã³ãã«ãããGitHubäžã®ãªããžããªãmarketplaceãšããŠç»é²ããŸãã æ¬¡ã«ãäœæããPluginsãå®éã«ã€ã³ã¹ããŒã«ããŸããç¶ããŠæ¬¡ã®ã³ãã³ããå®è¡ããŸãã > /plugin install development-plugin@DevPlugins å®è¡ãããšæ¬¡ã®ãããªåºåã衚瀺ãããã®ã§ Install now ãéžæããŸãã ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ® â Plugin Details â â â â development-plugin â â â â Development plugin for TestOrg Inc. â â â â Will install: â â ⢠Components will be discovered at installation â â â â > Install now â â Back to plugin list â â°ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ⯠ã€ã³ã¹ããŒã«ãæåãããš â Installed development-plugin. Restart Claude Code to load new plugins. ãšè¡šç€ºãããã®ã§ãClaude Codeãåèµ·åããŸãã åèµ·åãããšãã€ã³ã¹ããŒã«ããPluginsãå©çšå¯èœã«ãªããŸããå®éã«å©çšããã«ã¯ã次ã®ããã«ã³ãã³ããå®è¡ããŸãã > /development-plugin:hello å®è¡ãããšæ¬¡ã®ãããªåºåã衚瀺ãããŸãããPluginsãæ£ããã€ã³ã¹ããŒã«åºæ¥ãããšã確èªã§ããŸãã ⺠Hello! ð Welcome to DevPlugins I'm Claude Code, and I'm here to help you with anything related to this project. Whether you need to: - ð Set up the development environment - ð§ Build new features or fix bugs - 𧪠Write or run tests - ð Work with the database or migrations - ð€ Integrate with Claude AI or GitHub APIs - ð Review code or create pull requests I'm ready to assist! I have full context of the project structure, authentication patterns, service architecture, and best practices for this codebase. What would you like to work on today? ãŸãšã Pluginsãå©çšããããšã§ãéçºçµç¹ãããŒã éã§éçºææ³ãã¯ãŒã¯ãããŒãç°¡åã«æšæºåã§ããããã«ãªããŸãã åŒç€Ÿã§ã¯Claude Codeã®å
±éã®èšå®ãèªåã§èšå®ããCustom slash commandsããPull requestãäœæããAgent Skillsãªã©ãäœæããŠéçºçµç¹å
šäœã«å±éããéçºå¹çã®åäžã«åœ¹ç«ãŠãŠããŸããå®éã«äœæãã Plugins ã®å
·äœäŸç޹ä»ã¯ãå¥ã®æ©äŒã§æ¹ããŠãŸãšããããšæããŸãã çŸåšããã¡ã€ã³ãã£ã§ã¯äžç·ã«åãã¡ã³ããŒãåéäžã§ãã èå³ãããæ¹ã¯ãã¡ããã â herp.careers
ããã«ã¡ã¯ãCTO宀ããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã ã§ãããŒãžã£ãŒãããŠãã éïŒhiracky16ïŒ ã§ãã ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#1 Advent Calendar 2025 ã®14æ¥ç®ã®èšäºã§ãã adventar.org å
æ¥ãããŒã ã§åæ¥ã»ã©æéããšã£ãŠã¯ãŒã¯ã·ã§ããïŒãªããµã€ãããŒãã£ã³ã°ïŒã宿œããŸãããä»åã¯ããã®ããã»ã¹ã®äžã§ãçæAIïŒGeminiïŒããã¡ã·ãªããŒã¿ãŒå
Œã壿ã¡åœ¹ãšããŠåå ãããããšãã詊ã¿ãè¡ã£ã話ãšãããã§æ±ºãŸã£ãç§ãã¡ã®æ°ããããã·ã§ã³ã»ããžã§ã³ã«ã€ããŠæžããããšæããŸãã ããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã ã«ã€ããŠçŽ¹ä» æã
ã®ããŒã ãããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã ã«ã€ããŠå°ã玹ä»ãããšçŸåšã¯è·èœã§èšããšããŒã¿ãšã³ãžãã¢ã®ã¿ãæå±ããããŒã ã§ãçŸããŒã äœå¶ã«ãªã£ãŠçŽ1幎åãçµéããŸãããæšªæçµç¹ã§ãããããç¹å®ã®äºæ¥ã®ä»äºã«åãçµãã®ã§ã¯ãªãå
šäºæ¥ã®ããŒã¿æŽ»çšã«é¢ããäŸé Œã«å¯Ÿå¿ããªããããŒã¿åºç€ãäœã£ãŠããŸããããšããšã¯ããŒã¿ãµã€ãšã³ãã£ã¹ããšäžç·ã®ããŒã ã§ããããçµç¹å€æŽãçµãŠãããŒã¿ãµã€ãšã³ãã£ã¹ããããŒã¿ã¢ããªã¹ãã¯äºæ¥éšã®æ¹ã«æå±ãšãªãä»ã®åœ¢ãšãªããŸããããã¡ã€ã³ãã£ã®ãšã³ãžãã¢ããŒã ã®æ§æã¯æ¬¡ã®ãããªåœ¢ã§ãã ã¯ãŒã¯ã·ã§ããéå¬ã®çµç·¯ æ¥ã
ã®æ¥åãšããŠã¯ãåéšçœ²ã®ããŒã¿ã¢ããªã¹ãããµã€ãšã³ãã£ã¹ãã®æ¯æŽãããããããŒã¿æŽ»çšã®æ©ã¿ã解決ããããå
šç€Ÿæšªæã®æ€çŽ¢ãšãŒãžã§ã³ãåºç€ãäœã£ããæ§ã
ã§ãããããã1幎åèµ°ã£ãŠããäžã§ããããŒãžã£ãŒã§ããç§èªèº«ã®äžã«ãããçš®ã®ãã¢ã€ã¢ã€ããæºãŸã£ãŠããŸããã åªå
é äœã®æ©ãŸãã ãã¡ã€ã³ãã£ã§ã¯4äºæ¥ãå±éããŠããäžã§ãäºæ¥ããšã«ããŒã¿é¢é£ã®ä»äºã®çžè«ãåããŸããæšªæçµç¹ãšããŠè€æ°ã®äºæ¥ã«é¢ããäžæ¹ã§ãéããã人æ°ã®äžã§åãçµãããŒãã«åªå
é äœãã€ããªããé²ããŠããŸããããã«æ°èŠäºæ¥ããããã¯ããæ§ããŠãããä»åŸã¯é¢ããäºæ¥ããããã¯ããä»äºã®å¹
ãåºããäžã§ãããäžå¯§ãªå€æãæ±ããããå Žé¢ãå¢ããŠãããšèããŠããŸãã ãå
·äœçãªãããŒã¿ã»AIæŠç¥ã®èšèªå åªå
é äœã«è¿·ããªããã§ãçŸå Žã¯åã£ãŠããç¶æ³ã§ã¯ããäžã§ãäžé·æçãªæéãããæç¢ºã«ãªãããšã§ãããŒã ãåãç®çããããŸã§ä»¥äžã«å
±æãããããªããšèããŠããŸãããŸãæ®æ®µã¯åäžã®äºæ¥ãããŒã ã«æé©ãªåãçµã¿ããããšããããšãå€ãã§ãããããã¡ã€ã³ãã£ãšããŠãã©ãããã¹ããïŒãšããå
šç€ŸèŠç¹ããããããŠæèããããšã®éèŠæ§ãæããŠããŸãã ããŒã¿ãšã³ãžãã¢ã®åœ¹å²å€å çæAIã®å°é ã«ããããããŸã§ã®ãåºç€ãäœã£ãŠçµããããšããã¹ã¿ã€ã«ã«å ããŠãããããžãã¹äŸ¡å€ã«èžã¿èŸŒãã é¢ããæ¹ãæ±ããããããã«ãªã£ãŠããŸããããã¡ã€ã³ãã£äž»å¬ã®ã«ã³ãã¡ã¬ã³ã¹ ãData Engineering Summit 2025ã ã§ãä»ç€Ÿã®äºäŸãèŠèãããäžã§ãããŒã¿ãšã³ãžãã¢ãããŒã¿åºç€ã®åœ¹å²ãå€ããã€ã€ããããšãæ¹ããŠå®æããŸãããèªåãã¢ãã¬ãŒã¿ãŒãåããããµã€ãåè§£æ¶ã®ãã®å
ãžãããžãã¹/ããŒã¿ãããããã®èŠç¹ã§èªãRevOpsããšããã»ãã·ã§ã³ã§ããRevOpsãšããé åã«ãããããŒã¿ãšã³ãžãã¢ã®æ°ãã圹å²ããã£ãªã¢ã«ã€ããŠè©±ãããšãã§ããŸããã ãããªå±æ©æãæããããŒã å
šå¡ã§äžåºŠç«ã¡æ¢ãŸããèªåãã¡ã®ããã·ã§ã³ãããžã§ã³ãèŠçŽãã¿ã€ãã³ã°ã ãšæããŸããããã ãç§ã²ãšããæ©ãã§æ±ºãããããããŠã³ã®æéã§ã¯ååã§ã¯ãããŸãããã¡ã³ããŒå
šå¡ãè
¹èœã¡ããææ¬²çã«åãããã®æéãäœãããšââãããä»åã®ã¯ãŒã¯ã·ã§ããã®ç®çã§ããã æºå ã¯ãŒã¯ã·ã§ãããäŒç»ããã«ããããä»åã¯GeminiãæŽ»çšããŸããã ç§èªèº«éå»ã¯ãŒã¯ã·ã§ããã«åå ããããšã¯ãããŸããããäž»å¬ããã®ã¯åããŠã§ããæºåãé²è¡ã®é¢ã§ããŸãã§ãããäžå®ããããŸããããŸãåœæãèª²é¡æã¯èšèªåã§ããŠããªãææ§ãªç¶æ
ã§ããã ããã§ãä»åã¯æ¬¡ã®ãããªãããŒã§æºåãé²ããŸããã é³å£°å
¥åã§ã²ãããåãïŒçŸç¶ã®èª²é¡ãããŒã ã®æŽå²ãç§ã®æ©ã¿ãªã©ããè絡ãªãé³å£°å
¥åã§ããã¹ãå Geminiã«æã蟌ãïŒãã®é·æããã¹ããGeminiã«æž¡ããããããã®ã³ã³ããã¹ããèžãŸããŠã忥ã®ã¯ãŒã¯ã·ã§ããã®ã¢ãžã§ã³ããšãåããŒãã®çããèšèšããŠããšäŸé Œ 壿ã¡ããŠãã©ãã·ã¥ã¢ããïŒGeminiããè¿ã£ãŠããæ¡ã«å¯Ÿãããããã¯ãã£ãšçºæ£ããããããããã¯åæããããããšå¯Ÿè©±ããã¹ã©ã€ãã®éªšåãäœæ çµæã課é¡ã®èšèªåã«ãæåããŸããããã¯ãŒã¯ã·ã§ããã®æºåãæ¯èŒçæéããããã«çµãããããšæããŸãã 宿œ åœæ¥ã¯ãäŒè°å®€ãåæ¥è²žãåã£ãŠä»ç®ã䜿ããªããã¯ãŒã¯ãè¡ããŸããã 1. æ
å ±ã®ã€ã³ããã 圹è·ã瀟æŽã«åããæèãå
±æããäžã§ã¯ãŒã¯ã«å
¥ããããã«æ
å ±ã®ã€ã³ãããããŒããèšããŸããããŸãã¯éå¬ã«è³ã£ãçµç·¯ãäžå¯§ã«ã¡ã³ããŒã«èª¬æããç§ãæ±ããæ©ã¿ãã¡ã³ããŒãæããŠããã®ãã®ç¢ºèªãã¡ã³ããŒéã§éåæãèª²é¡æãæãããšããããå§ããŸããããŸãå
¥ç€Ÿææããã©ãã©ã§ãçŽè¿ã ãš3ã¶æåã«å
¥ç€Ÿããã¡ã³ããŒãããã®ã§ããŒã ã®æãç«ã¡ããçŸç¶ã«è³ããŸã§ã®æŽå²ãæ¯ãè¿ããŸãããæ¬¡ã«äŒç€Ÿãéšçœ²ã®æéãããã·ã§ã³ãã¹ã©ã€ãã«èšè¿°ããããšã§äŒç€Ÿããæ±ããããŠããããšãæèããŠè©±ãåãã§ããããã«ããŸããã ãçæAIã®é²åã«ããããŒã¿ãšã³ãžãã¢ãããŒã¿åºç€ã«æ±ãããã圹å²ããDeep Researchã§ãŸãšããŠããããããããæãèªã¿ããæéãèšããŸããã瀟å
ã®ä»äºã ãããŠãããšå瀟æé©ãªã¹ãã«ã«ãªããã¡ãªã®ã§ãäžã®äžäžè¬çãªããŒã¿ãšã³ãžãã¢ãªã³ã°ã®ã¹ãã«ãšæ¯èŒããªããè°è«ããŸããã以äžDeep Researchã®çµæãç°¡åã«ãŸãšããŠããã£ããã®ã§ãã 2. ååšæçŸ©ã®ã¯ãŒã¯ïŒãããèªåãã¡ã1幎ããªãã£ããïŒã ãŸãåãçµãã ã®ãããããç§ãã¡ã®ããŒã ãååšããªããŠãéå»1幎éäžåšã ã£ããäŒç€Ÿã¯ã©ããªããïŒããšããæèå®éšã§ãã ãããŒã¿é£æºãæ¢ãŸã£ãŠãæ°åããºã¬ãããã誰ãããŒã¿åºç€ã®ã¡ã³ããã³ã¹ãããªããªã£ãŠãã³ã¹ããçå¢ãã»ãã¥ãªãã£ãžã®å¯Ÿå¿ãé
ããããšãã£ããªã¢ã«ãªçã¿ããããããŒã«ãçµ±äžã§ããã«æ
å ±ãããŠããŠãåæãããããšãã£ãæ©äŒæå€±ãŸã§æ§ã
ãªããšãèããããŸããããã®ã¯ãŒã¯ãéããŠæã
ã®ããŒã ãäŒç€Ÿãä»ã®ããŒã ããæ±ããããŠããããšãã€ãŸãããã·ã§ã³ãèããäžã§ã®éèŠãªèŠçŽ ãæŽãåºãããšãã§ããŸããã 3. Will/Can/Mustã§ããžã§ã³ãæã 次ã«ã3幎åŸã®æªæ¥åããWill/Can/Mustãã®ãã¬ãŒã ã¯ãŒã¯ã§èšèªåããŸãããã¡ã³ããŒåã
人ã®ãã£ãªã¢äžã®WillãšäŒç€Ÿã®ããžã§ã³ã§ãããææŠãããšã³ãžãã¢ã®ãã©ãããã©ãŒã ãã€ãããããšãéãªãéšåãèŠåºããŠããŒã ã®ããžã§ã³ã«ããããšæããã®ã¯ãŒã¯ã宿œããŸããã 以äžç§ãæžããããšãäŸã§ãã - CanïŒã§ããããšïŒ - ããŒã¿ãšã³ãžãã¢ãªã³ã°ãš Google Cloud ãã§ããããã« - æ¡çšæŽ»å - MustïŒãã¹ãããšïŒ - Aäºæ¥éšã®ããŒã¿åºç€éçºãéçš - ãããŒãžã£ãŒãšããŠã®èª¿æŽæ¥å - WillïŒããããããšïŒ - å
šç€Ÿã®ããŒã¿æŽ»çšã䌎走ã売äžã«è²¢ç®ã§ããããŒã¿ãšã³ãžãã¢ã«ãªã ä»ã®ã¡ã³ããŒã«ãåãããã«æžããŠãããããŸãã¯ã¡ã³ããŒéã§äžç·ã«ã§ããããªããšã¯ãªããæ¢ããŸããããããããšã䟡å€ã®ããããŒã¿ããã売äžã«è²¢ç®ã§ããããšãããšãã»ã³ã¹ãåŸãããŸããã 4. ããã·ã§ã³ã»ããžã§ã³ãèãã æçµçã«æ±ºãŸã£ãããã·ã§ã³ãšããªã¥ãŒããã¡ãã§ãã Mission: ãããŒã¿ãšãšã³ãžãã¢ãªã³ã°ã®åã§ããã¡ã€ã³ãã£ã®ç¥æµãçµéããæææ±ºå®ãå éãããã Vision: ãäºæ¥æé·ã«äžŠèµ°ã§ããããŒã¿xAIåºç€ãäœãã 1~3ã®ã¹ãããã§åŸãããæèŠãå
ã«ããŒã ã§ããã·ã§ã³ã»ããžã§ã³ãèããŸãããå
容ãGoogleã¹ã©ã€ãã«æžã蟌ã¿ãªããé²ããŠããããGeminiã«ãã®ãŸãŸæ·»ä»ããããã·ã§ã³ã»ããžã§ã³ã®æ¡ã3ã€ãã€èããŠããããŸãããããããã4ã€ã®åºæºãèããŠããããæ
ç±ãæãŠããïŒããäŒç€Ÿã®ããã·ã§ã³ãšé¢é£æ§ã¯ãããïŒããä»ã®ããŒã ãšæ¯ã¹ãŠãªãªãžããªãã£ããããïŒããã·ã³ãã«ã§èŠãããããïŒããã¡ã³ããŒã®äž»èгã§ç¹æ°åããªããæçµçã«1ã€ã«æ±ºããŸããã æåŸã«èšèéžã³ãæã
ã®ããŒã ããã¡ã€ã³ãã£ã£ãœã倿ŽããŸãããäŸãã°ãäŒç€Ÿã®ããªã¥ãŒã«é¢é£ããã¯ãŒããå éïŒã¹ããŒãïŒããã䞊走ïŒããŒã ã¯ãŒã¯ïŒãã䜿ããŸããããéçµããããã®ããçµéããããã®ãã§æ©ãã éã«ãçµéãã«ã¯ãåãåãããããšããæå³åãããããããæ¡çšããŸããã æ¯ãè¿ããšããããã®è©± ã¯ãŒã¯ã·ã§ãããéããŠãèªèãæã£ãããšã¯ãã¡ããã§ãããGeminiãè°è«ã«æ··ããããšã§ããã客芳çã«ããã·ã§ã³ãããªã¥ãŒãäœãäžã§æ©èœããããšã®æ°ã¥ãããããŸãããããçšåºŠã³ã³ããã¹ããäžããŠãããšããã¯ãããŸãããGeminiã¯ããæ·±ãäºæ
ãç¥ã£ãŠããããŒã ã¡ã³ããŒãããããæå³ã§éã£ãèŠç¹ã®æèŠãåºããŠãããããšãå€ãã£ãã§ãããŸãDeep Researchã®çµæã䜿ã£ãŠçŸä»£ã®ããŒã¿ãšã³ãžãã¢åãã€ã³ãããã§ããã®ã¯å®¢èгçãªèŠç¹ã§æ
å ±ããŸãšããŠããããããã§ãã ãã¡ãããGeminiã¯åªç§ãªå£æã¡çžæã§ããããAIã«é Œãåãã ãã§ã¯ãã¡ã³ããŒå
šå¡ãè
¹èœã¡ããææ¬²çã«åãããã®æéãäœãããšããéšåã¯éæã§ããªãã£ãããã«æããŸããæåŸã«èªåãã¡ã®æã§çްãã埮調æŽãããæ³ãã蟌ããŠããããã»ã¹ããããä»åã®ã¯ãŒã¯ã·ã§ããã§å¿
èŠã ã£ãäœæ¥ã ãšããããŸãããçµæãšããŠãäŒç€Ÿããæ±ããããŠããããšïŒMissionïŒãšãããŒã ãæãéãããããšïŒVisionïŒãç¹ããããèªåãã¡ã®èšèã§æ±ºããããšãã匷ãçŽåŸæã®ããæéãçãŸããŸããã ç§ãã¡ããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã ã¯ãã®æ°ããããã·ã§ã³ã»ããžã§ã³ã®ããšãçæAIæä»£ã®æ°ããããŒã¿åºç€ã¥ããã«ææŠããŠãããŸãããã¡ã€ã³ãã£ãããŒã¿ãœãªã¥ãŒã·ã§ã³ããŒã ã®ããã·ã§ã³ã«å
±æããäžç·ã«ããžã§ã³ãå¶ãããæ¹ããæã
ããŒã ã®åãçµã¿ã«èå³ãæã£ãŠãã ãã£ãæ¹ã¯ãã²äžåºŠã«ãžã¥ã¢ã«é¢è«ã§ã話ãããŸãããïŒ herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£ã§ãœãããŠã§ã¢ãšã³ãžãã¢ãããŠããnipe0324ã§ãã ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#1 Advent Calendar 2025 ã®13æ¥ç®ã®èšäºã§ãã adventar.org ã³ãŒãã£ã³ã°ãšãŒãžã§ã³ãã䜿ãäžã§ã å®è£
ã¯æ©ããªãäžæ¹CIãé
ããšæãããšã¯ãªãã§ããããïŒ ããããç§ããClaude Codeã䜿ã£ãŠäžŠåã«ãã«ãªã¯ãšã¹ããäœãäžã§ãCIé
ããªãŒããšæãããšããããããŸããã CIã®å®è¡æéãçãããããšããæ°æã¡ã¯ããã€ã€ãã¡ã€ã³ã®éçºãããã®ã§ãªããªãæ¹åã«æãã ããŸããã§ããã ãããã2025幎ã¯AIãšãŒãžã§ã³ãå
幎ã ãã£ãããªãããClaude Codeã«ä»»ããããã ãä»»ããŠã¿ããïŒããšæããCIã®ãã¹ãå®è¡æéã®åæžãä»»ããŠã¿ãŸããã Claude Codeã«ãæ¹éæ€èšãã察å¿ã»å¹ææž¬å®ããä»»ããç§ã¯æææ±ºå®ãšã¬ãã¥ãŒã«æ³šåããããšã§ã ã¡ã€ã³ã®ã¿ã¹ã¯ããããªããããCIã®ãã¹ãå®è¡æéãçŽ2åççž® ã§ããŸããã ãã®èšäºã§ã¯ãå
·äœçãªå
容ã亀ããªãããClaude Codeã«CIé床æ¹åã®æ¹éæ€èšãšå¯Ÿå¿ã»å¹ææž¬å®ãä»»ããäºäŸãã玹ä»ããŸãã CIã®ãã¹ãå®è¡æéã7åãã5åã«ççž® Claude Codeã«ããCIé«éåã®æ¹åçµæã¯æ¬¡ã®ãšããã§ãã CIã§ã®ãã¹ãå®è¡æéã7åãã5åã«ãªãã çŽ2åççž® ã§ããŸããã 察å¿å 察å¿åŸ æ¹å 7å01ç§ 5å05ç§ -116ç§ (-28%) ããã2åã®ççž®ãšæããããããŸãããã1æ¥50-60åãããå®è¡ãããŠããã®ã§1æ¥2æéãæã®å¶æ¥æ¥ã20æ¥ãšãããšæ40æéã«ãªãã®ã§ã æ5å¶æ¥æ¥åã®åŸ
ã¡æéãåæž ã§ããŸããã ä»åClaude Codeã«å®æœããŠããã£ãæ¹åã¯æ¬¡ã®4ã€ã§ãã 䞊åãã·ã³ãžã®ãã¹ãå²åœããã¡ã€ã«ãµã€ãºããŒã¹ããå®è¡æéããŒã¹ã«å€æŽïŒ60ç§ççž®ïŒ ãã¹ããã¡ã€ã«ããšã®å®è¡æéã®åãã倧ããã£ãã®ã§å¹³æºå äžèŠãªãžã§ããåé€ïŒ27ç§ççž®ïŒ åœ±é¿ã®ãªããžã§ããã¯ãªãã£ã«ã«ãã¹ã«ååšããŠããã®ã§åé€ aptã§ã€ã³ã¹ããŒã«ããŠããã©ã€ãã©ãªã®ãã£ãã·ã¥ïŒ25ç§ççž®ïŒ æ¯åã€ã³ã¹ããŒã«ããŠ30ç§ãããããã£ãŠããã®ããã£ãã·ã¥ããããšã§2-3ç§ã«ççž® ãã¹ãçšã®DBãã³ãã®ãã£ãã·ã¥ïŒ55ç§ççž®ïŒ äžŠåå®è¡ã®ããDBã¹ããŒãäœæãšã·ãŒãããŒã¿ç»é²ã«1å匱ããã£ãŠãããããã£ãã·ã¥åã§20ç§ååŸã«åæž Claude Codeã«CIã®é«éåãä»»ããŠãã CIã®ãã¹ãå®è¡æéã®ççž®ã®ãããClaude Codeã«ã調æ»äŸé Œãããæ¹åæ¡ã®å®æœãšå¹ææž¬å®ãããçµæã®ãšããŸãšãããããããä»»ããŠãããŸããã ãã¡ã€ã³ãã£ã§ã¯ãCI/CDã«GitHub Actionsã䜿ã£ãŠããŸãã GitHub Actionsã§ã¯ãCIã®ã¯ãŒã¯ãããŒã®è©³çްãªå®è¡æéããã°ãããããŸããghã³ãã³ãã§ãããã®æ
å ±ãååŸã§ãããããAIãšãŒãžã§ã³ããèªåŸçã«æ¹åã»å¹ææž¬å®ãã§ããç°å¢ãæŽã£ãŠããŸããã çµæãšããŠãCIé«éåã¯AIãšãŒãžã§ã³ãã«ãšãŠãä»»ããããã¿ã¹ã¯ã ãšæããŸããã 調æ»äŸé Œ 調æ»äŸé Œã§ã¯æ¬¡ã®ãããªããã³ããã§èª¿æ»äŸé ŒãããŸããã # ããã³ããã€ã¡ãŒãž CIã7åãšé
ãã®ã§ã5å以å
ã«ããããæ¹åæ¡ãæ€èšããŠãã ããã CIã®å®è¡çµæ: https://github.com/Findy/Xxxxx/actions/runs/1234567890 CIã®å®è¡çµæã確èªããçŸç¶åæãšæ¹åææ¡ãããŠãããŸããã Claude Codeã®èª¿æ»çµæã€ã¡ãŒãžïŒäžéšçç¥ïŒ ãããŸã§ãCIé«éåãäœåºŠãããŠããŠæ¹åäœå°ãå°ãªããªã£ãŠããäžã§ããæ¹å广ããããããªæ¹åæ¡ã6ã€ã»ã©ææ¡ããŠãããŸããã ã¯ãªãã£ã«ã«ãã¹ãå©çšããåæãåæžå¹æãšå¯Ÿå¿å·¥æ°ã«ããåªå
床ä»ããªã©åºæ¬ãæŒãããåæãšææ¡ãããã®ã§ããããªïŒãšæããŸããã å®éClaude Codeã«æ¹åæ¡ã察å¿ããŠãããäžã§äžéšæ³å®ãšéãããšããããŸããããé©å®çµæã確èªããŠæ¹åã埮修æ£ããããšã§çµæãšããŠå®è¡æéççž®ã«ã€ãªãããŸããã æ¹åãšå¹ææž¬å® ã¢ã€ãã¢ãšããŠææããã«èŠããŸãããå®éã«è©ŠããŠå¹æã枬å®ãããŸã§ããããŸããã ãã®ãããClaude Codeã«æ¹åãšå¹ææž¬å®ã宿œããŠããããŸããã # ããã³ããã€ã¡ãŒãž https://github.com/Findy/Xxxxxx/issues/12345 ã® ãparallel_testså®è¡æéããŒã¹åé
ãã®å¯Ÿå¿ã宿œããŠãã ããã PRäœæåŸã«CIã®å®è¡æéã確èªããPRããã£ã«èŠèŸŒã¿ãšå®çžŸã衚圢åŒã§èšèŒããã Claude CodeãäœæããPRã€ã¡ãŒãž Claude Codeãghã³ãã³ãã䜿ãããšã§ãGitHub Actionsã®åãžã§ããã¹ãããã®å®è¡æéãç¶æ³ãç¥ãããšãã§ãããããèªåŸçã«æ¹åãä»»ããããšãã§ããŸããã ãŸããå¿
èŠã«å¿ããŠããã³ããã«ãCIã倱æãããæåãããŸã§å¯Ÿå¿ããããæ¹åçµæãèŠèŸŒã¿ã«å±ããªãå Žåãåå åæããŠè¿œå æ¹åãããããªã©ã®æç€ºã远å ããŠèªåŸæ§ãé«ããŸããã çµæã®åããŸãšã CIã®ãã¹ãå®è¡æéãççž®ã§ãããããçµæã®åããŸãšããClaude Codeã«äŸé ŒããŸããã # ããã³ããã€ã¡ãŒãž https://github.com/Findy/Xxxxx/issues/12345 ã®å¯Ÿå¿ã äžéãçµãã£ãã®ã§çµæããšããŸãšããã - 察å¿ååŸã§ã®CIã®ãã¹ãã®å®è¡æéã®æ¯èŒ - 衚圢åŒã§ããµã³ãã«æ°ãäžå€®å€ãå¹³åå€ãã ã - 察å¿å㯠2025-12-05 㚠察å¿åŸã¯ 2025-12-10 ã®ããŒã¿ãéèš - 1å以å
ã®ã¿ã¹ã¯ã¯ãã¹ããã¹ããããããŠããã®ã§é€å€ãã - ãã£ãããšã®æŠèŠ - ç®æ¡æžãã§ã·ã³ãã«ã«èšèŒ - çµæãã·ã³ãã«ã«ãŸãšããã€ã·ã¥ãŒã«ã³ã¡ã³ãããã Claude Codeã®ã€ã·ã¥ãŒå¯Ÿå¿çµæã®ãŸãšãã€ã¡ãŒãž æ°åããã£ãŠããã®ãè¥å¹²æ°ã«ãªããŸãããã確èªããŠã¿ããšçްéšã¯å°ãæªãããã®ã®ãå®éã«CIã®å®è¡å±¥æŽãç®æ€ã§çºããŠã¿ããšæŠããã£ãŠããã§ããã ãŸãšã ä»åã¯ãClaude Codeã«CIã®ãã¹ãå®è¡æéã®æ¹åãäžžã£ãšä»»ããããšãã§ããŸããã ãã®çµæãšããŠã èªåã¯ã¡ã€ã³ã®ã¿ã¹ã¯ãããªãããããã¹ãå®è¡æéã7åãã5åã«ççž® ã§ããŸããã å人çã«Claude Codeã«ããŸãä»»ããããšãã§ãããã€ã³ããšããŠã¯ã ãClaude Codeèªèº«ãPDCAã宿œããããšã ãš ã圱é¿ç¯å²ãå¶çŽãå°ãªãé åã ã£ãããšã ã ãšèããŠããŸãã ãŽãŒã«ãæç¢ºã§ããšãŒãžã§ã³ãèªèº«ãPDCAã宿œ CIã®å®è¡æéã7åãã5åã«åæžãšãŽãŒã«æç¢ºã§æž¬å®å¯èœ ãšãŒãžã§ã³ããçŽæ¥CIã®å®è¡æéããã°ã確èªã§ãããããæ¹ååŸã®å¹ææž¬å®ãåå åæãèªåŸçã«ã§ãã 圱é¿ç¯å²ãå¶çŽãå°ãªãé å æ¹åã«å€±æããŠããCIã®ãã¹ãã倱æããã ãã§åœ±é¿ç¯å²ãéå®ç å¶çŽãã¯ãŒã¯ãããŒã®å®è¡æéãä¿å®æ§ãã³ã¹ããã»ãã¥ãªãã£ãããã§å°ãªã 以äžãåèã«ãªã£ããå¬ããã§ãã CIã®å®è¡æéãæ°ã«ãªãæ¹ã¯ããã²AIãšãŒãžã§ã³ãã«ä»»ããŠã¿ãŠã¯ãããã§ããããã æåŸã«ãçŸåšFindyã§ã¯ããã¡ã®AIããããããŸããŠããšããAIãšã®è©Šè¡é¯èª€ã®çµæãã·ã§ã¢ããæééå®äŒç»ããã£ãŠããŸãã ãAIãšãŒãžã§ã³ã掻çšããŠãããïŒããšããæ¹ã¯ããã²ã®ãããŠã¿ãŠãã ããã findy-code.io
ã¯ããã« ããã«ã¡ã¯ïŒãã¡ã€ã³ãã£ã®Team+éçºéšã§ãšã³ãžãã¢ãããŠããæŸè°·ïŒ TENTEN11055 ïŒã§ãã ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠Advent Calendar 2025 ã®11æ¥ç®ã®èšäºã§ãã ä»å¹Ž11æãAWS ãäž»å¬ãã AI-DLC Unicorn Gym ã«åå ããŸããã AWSäž»å¬ Unicorn Gym æçµæ¥ã®ææãã¬ãŒã³ã®æ§å ãã®ããã°ã©ã ã®éçºããã»ã¹ã¯AIãšå
±ã«æ©ã仿§é§åéçºã éšåçãªAI掻çšããäžæ©é²ãã éçºäœéšãåŸãããšãã§ããåæã«ãä»åŸã¯ããèªè§£åãæ±ããããããšæããŸããã ãã®èšäºã§ã¯èªæžç¿æ
£ããªãã¹ãã«ã«ãªãã®ããèªåã®äœéšãããšã«æžããŠããŸãã ã¯ããã« AI-DLCïŒAIé§åéçºã©ã€ããµã€ã¯ã«ïŒãšã¯ AI-DLCã«ãããã¬ãã¥ãŒè² è· èªæžãå§ããŠã¿ã çè§£åããã人ã®ç¹åŸŽ ãèªãããšãçè§£ãã¯å¥ 人éãç£èŠããæä»£ãèªæžãã©ã掻ããã ãŸãšã AI-DLCïŒAIé§åéçºã©ã€ããµã€ã¯ã«ïŒãšã¯ ãããŸã§éçºã®äžéšã«AIãçšããã±ãŒã¹ãå€ãããã®ç䟡ãçºæ®ããããªããªã©ã®èª²é¡ããããŸããã AI-DLCã§ã¯èŠä»¶ããŠãŒã¶ãŒã¹ããŒãªãŒãèšèšãéçºã®å
šãŠãAIããŒã¹ã§è¡ããŸãã ãã㊠人éã®åœ¹å²ã¯ç£èŠãã€ãŸãã¬ãã¥ãŒã§ã ã äœæ¥ã®äžåãAIã«ä»»ãã人éã¯ãããç£èŠããŠå質ãæ
ä¿ããªããçŽ æ©ãææç©ãæäŸã§ãããšãããã®ã§ãã AI é§åéçºã©ã€ããµã€ã¯ã«:ãœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã°ã®åæ§ç¯ AI-DLCã«ãããã¬ãã¥ãŒè² è· AI-DLCã§ã¯å®è£
åã«å€ãã®ããã¥ã¡ã³ããäœæããŸãã ãã®ããæãæéã䜿ã£ãã®ã¯ãæç« ãèªã¿ãAIã®æå³ãæ£ããçè§£ããããšã ã§ããã AIã®æç« ã¯è«ççã§ããã人éãèªã¿ããããã©ããã§ã¯æé©åãããŠããŸããã ãšãã«ã¯ççŸãèŠæãããšãã«ã¯ææ§ãªèšè¿°ãè§£éããŠè£ãå¿
èŠããããŸãã AI-DLCã§ã¯ãã®ããã¥ã¡ã³ãã¬ãã¥ãŒã®è³ªããã®ãŸãŸå質ã«åœ±é¿ããŸãã ããããçµéšããããèªãåããéããå¿
èŠæ§ã匷ãæããŸããã èªæžãå§ããŠã¿ã ãšããã®ããèªèº«ãæ®æ®µã®ä»äºã§èªè§£åã«èª²é¡ãæããŠããã察çãšããŠå幎åããèªæžç¿æ
£ãç¶ããŠããèæ¯ããã£ãããã§ãã æç« ã®çè§£ã«æéãããã äžè¡æ»ã£ãŠèªã¿çŽãåæ°ãå€ã 説æãèãè¿ãããšãå¢ãã ãããããã®ãå°ãã§ãè§£æ¶ããããŠããèªãåããéããç®çã§å§ããŸããã çè§£åããã人ã®ç¹åŸŽ èªæžãç¶ããäžã§ããçè§£åã®é«ã人ãšã¯äœãéãã®ãïŒããæèããŠèгå¯ããããã«ãªããŸããã çè§£åã®é«ã人ã¯ã次ã®ç¹ãéç«ã£ãŠããŸãã 説æã®æå³ãçŽ æ©ãçè§£ã§ãã æ
å ±ã®æ¬è³ªãæãããã ãã®ããçºèšã倿ãç確ã«ãªã ãããŠãããã人ãã¡ã¯äŸå€ãªãèªæžéãå€ãå°è±¡ã§ãã ãèªãããšãçè§£ãã¯å¥ ããããŠèгå¯ãšå®äœéšãéãããã¡ã«ãèªãè¡çºãšçè§£ããè¡çºã¯å¥ã®èœåã ãšæ¹ããŠå®æããŸãã ãããã¯ããããšèšãããŠããŸãããã§ããããããåæã«è¡ããã¬ãŒãã³ã°ãã§ããã®ãèªæžã®ããããšããã 以åã«æ¯ã¹ãŠæ¬ãèªãã®ãæ©ããªããããã¯å
ã«èªãã æç« ãçè§£ããªããæ¬¡ã®æç« ãèªã¿é²ããŠããããã ãšæ°ã¥ããŸããã ãŸããæç« å
šäœãèªã¿ãªãããéèŠãªéšåã ãèªç¶ãšæŸããæèŠããå°ããã€èº«ã«ã€ããŠããŸããã 人éãç£èŠããæä»£ãèªæžãã©ã掻ããã ããã§è©±ã AI-DLC ã«æ»ããšããã®ææ³ã¯åè¿°ã®éãå€ãã®ããã¥ã¡ã³ããäœæããŸãã ã€ãŸããèªãåããæ¬è³ªãã€ããåãããã®ãŸãŸææç©ã®è³ªã«è·³ãè¿ã£ãŠããŸãã ä»åã®ã¯ãŒã¯ã·ã§ããã§å®æœããããã¥ã¡ã³ãæ°ã¯æ¬¡ã®éãã InceptionïŒèŠä»¶ãã¹ããŒãªãŒæŽçã ãŠãããå€æïŒ 12ããã¥ã¡ã³ã ConstructionïŒãã¡ã€ã³ã¢ãã«èšèšããã§ãŒãºã®å®çŸ©ãªã©ããããŠéçºïŒ 3ãŠããããèš18ããã¥ã¡ã³ã åèš30ã®ããã¥ã¡ã³ããã¬ãã¥ãŒåŸãã³ãŒãçæã«å
¥ãã®ã§ãïŒãããŠã³ãŒãã¬ãã¥ãŒãž...ïŒã ãããªäžžäžæ¥ããã¥ã¡ã³ããçºããéã«éèŠã ã£ãã®ã¯æ¬¡ã®ç¹ã§ãã æç« ãçæéã§çè§£ã§ããå AIãçæããææç©ã®æå³ãæ¬è³ªãæ±²ã¿åãå è«çã远ãéäžå ãããã¯å
šãŠèªæžã§éããããšãã§ããŸãã ç§ãæ¬åœã«ãŸã ãŸã ã§ãããã¯ãŒã¯äžãèªæžããŠãŠããã£ããããšæããŸããã ãŸãšã AIã«äœããçæããŠãããã®ã¯ãã¯ãåœããåã®æä»£ã«ãªããŸããã 人éã®äŸ¡å€ã¯ãäœæ¥ãããã確èªãšæææ±ºå®ãã«æ¯éãç§»ãã€ã€ããããã«æããŸãã AI ã¯äœç³»çã«è©³çްãªäœæ¥èšç»ãäœæããç©æ¥µçã«æå³ã®ããåãããšã¬ã€ãã³ã¹ãæ±ããéèŠãªæ±ºå®ã¯äººéã«å§ããŸãããããéèŠãªã®ã¯äººéã ããæ
å ±ã«åºã¥ããéžæãè¡ãããã«å¿
èŠãªããžãã¹èŠä»¶ã®æèççè§£ãšç¥èãæã€ããã§ãã ïŒAI é§åéçºã©ã€ããµã€ã¯ã«:ãœãããŠã§ã¢ãšã³ãžãã¢ãªã³ã°ã®åæ§ç¯ ããïŒ èªæžã¯ãããªæä»£ã«ãããŠãéçºã®æå©ããšãªããåºç€äœåã«ãªããŸãã ã§ãã©ããªæ¬ãããããããšãããšäœã§ããããšæããŸãã æè¡æžãããžãã¹æžãå°èª¬ã§ãååãã¬ãŒãã³ã°ã«ãªããŸãã ç§ã¯æè¿ ã¶ã»ãã€ã€ã«ãã¡ããªãŒ ãšãã競銬ãèå°ã®å°èª¬ãèªãã§ããŸããã ããããã§ãããã©ããããããã AIæä»£ã¯åºç€ç¥èãèªè§£åãªã©ãã¢ããã°(ïŒ)ãªã¹ãã«ãæ±ããããŠãããããããŸãããã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«åãã¡ã³ããŒãåéäžã§ãïŒ ããã£ããèŠããŠã¿ãŠãã ããã herp.careers
ã¯ããã« ããã«ã¡ã¯ãGenAI EnablementããŒã ã§ãã ãã®èšäºã¯ãã¡ã€ã³ãã£ãšã³ãžã㢠#3 Advent Calendar 2025ã®9æ¥ç®ã®èšäºã§ãã ä»å¹Ž1æã«ãGenAI EnablementããŒã ããç«ã¡äžããŠããçŸåšãŸã§ã®çŽ1幎éã«ãããæŽ»åãç·æ¬ããŸãã ããŒã çµæãã仿¥ã«è³ããŸã§ãã©ã®ãããªèª²é¡ã«çŽé¢ããããããã©ã解決ããŠææã«ç¹ããŠããã®ãããã®éçšã§åŸããããçæ³ãšçŸå®ãã®ã®ã£ããããå
·äœçãªææã»åçç¹ã«ã€ããŠè©³è¿°ããŸãã ä»åŸãèªç€Ÿã§ã®GenAIæŽ»çšæšé²ãæ
ãæ¹ã
ã«ãšã£ãŠãå®è·µçãªãã³ããšãªãã°å¹žãã§ãã 仿ãããæ²¢å±±ã®ã¢ããã³ãã«ã¬ã³ããŒèšäºãå·çãããäºå®ã§ãã®ã§ã幎æ«ã®ãäŸã«æ¯éèªãã§ã¿ãŠãã ããã adventar.org GenAI EnablementããŒã ã£ãŠïŒ ãŸãç°¡åã«ãããŒã ã®ã玹ä»ããã ãã¡ã€ã³ãã£ã«ã¯ãããã¯ããããžã¡ã³ã宀çŽäžã«GenAI EnablementããŒã ãšããããã®åã®éã å
šç€Ÿã®ããŒã¿çæAIãå«ãåºçŸ©ã®AI掻çšãæšé²ãå®è£
ãããããŒã¿ãµã€ãšã³ãã£ã¹ã ã®å°ééšéãååšããŸãã ä»ã§ããã¡ã³ããŒ5åäœå¶ïŒå
Œåãå«ãïŒã«ãªããŸããããç«ã¡äžãåœåïŒ2025幎1æïŒã¯ãããŒãžã£ãŒãšãå
¥ç€Ÿããã°ããã®ã¡ã³ããŒ1åãèš2åããã®ã¹ã¿ãŒãã§ããã ããŒã èªçã®èæ¯ äŒç€ŸãšããŠã2024幎ãéããŠèªç€Ÿã®äºæ¥ããããã¯ãã«çæAIãçµã¿èŸŒãããšã¯ããã¯ãããã£ãããããªãã§ã¯ãªããäŒæ¥ã®çå確çãé«ããããã®ãå¿
ç¶ãã§ãããšãã確信ã«å€ãã£ãããã§ãã ãããã¯ããããžã¡ã³ã宀ãšããéšçœ²ã«ãã®ããŒã ã眮ãããã®ããåãªãæ¥åå¹çåã ãã§ãªãã ãããã¯ãã®ç«¶äºå匷å ã«çŽçµãããããã ãããªããã·ã§ã³ãèè² ããããŒã ãçºè¶³ããŸããã ã瀟å
掻çšããããã¯ãäœ¿ãæ¹Botãçãã ãæèã®180床転æã ãŸãçæããã®ã¯ã瀟å
ã®AIåå·®å€ã®æçµ¶ãåããããšã§ãããCTOãäžéšã®ãšã³ãžãã¢ãçé ã«ãçæAIãæŽ»çšããåãã¯ç€Ÿå
ã§ãåºå§ããŠãããã®ã®ããŸã ãŸã åœæå
šç€Ÿçã«ãçæAIïŒäŸ¿å©ã ã£ãŠèãã䜿ããããã©æ¥åãå¿ããã®ãšãã©ã䜿ã£ãŠããã®ãããããªãâŠãã®ãããªç©ºæ°æãæŒã£ãŠããŸããã ãã®ãŸãŸã§ã¯ã€ããŒãã«ã¡ã³ãã¯ã§ããªããšèããã¯ããã«çæAIã¢ããªããŒã«ã Dify ããå°å
¥ããŸãããDifyã¯ãSlackãšé£æºããŠäŸ¿å©ãªãã£ããããããç°¡åã«çã¿åºãããšãã§ããããããããæŽ»çšããæåã®ãŠãŒã¹ã±ãŒã¹ãšããŠã Findy Team+ã®äœ¿ãæ¹Bot ããäœæããŠå
šç€Ÿå±éããŠã¿ãŸããã Findy Team+äœ¿ãæ¹Botã®é°å²æ° ã䟿å©ããïŒãããå§ãŸã£ãå€å ãšã¯ããæ£çŽãæåã¯ããŸã䜿ã£ãŠããããã°åŸ¡ã®åãããããã«æã£ãŠãŸããã ããããèãéããŠã¿ãã°æ³å®ä»¥äžã®åé¿ãããã䟿å©ããïŒãããããªçšéã§ã䌌ããããªBotãäœæãããïŒããšã瀟å
ã¯äžçš®ã®ç±çã«å
ãŸããŸããã 瀟å
ã®å£°â 瀟å
ã®å£°â¡ 瀟å
ã®å£°â¢ ãã®ãFindy Team+ã®äœ¿ãæ¹Botãã¯ãFindy Team+ã®æ©èœã«é¢ãã説æã瀟å
ã§èç©ãããããã¥ã¡ã³ãçã
ããã¬ããžãšããBotã§ããããããŸã§äºæ¥éå¶ã«ãã£ãŠå¹ã£ãŠãããã®ãçµæãšããŠçæAIã匷åããæŠåšãšãªã£ãŠãããŠããŸãã ãããããã®Botæœçã®æ¬åœã®ææã¯äœ¿ãããããšãã®ãã®ã§ã¯ãããŸããã Botã䜿ã£ãŠãããã¡ã«ã瀟å¡ã¿ããªãããäºã«æ°ä»ããããšããããããæå€§ã®ææã§ãã AIã«é©åãªã³ã³ããã¹ãïŒããŒã¿ïŒãæž¡ãããã®ããŒã¿ã掻çšãã圹å²ãäžããã°ã匷åãªããŒãããŒã«å€è²ãã ãšããããšã§ããä»ãŸã§ã¯ã ãããŒã¿å
¥åïŒæ¬¡ã®äºå®ãŸã§ã«æžãŸããªãã¡ããããªãæºåãåªå
ã ããâŠã ãšãªããã¡ã ã£ãæ¥åã®åŸåŠçãã ãããã«å
¥åããŠããã°ãAIãè³¢ããªã£ãŠåŸã§èªåãæ¥œã§ããïŒãã¡ããšå
¥åãããïŒã ãšããæèã«å€ãã£ãäºããåœåæ³å®ããŠããªãã£ãäžçªã®ã€ã³ãã¯ãã§ããã ããªãã¡ã ããŒã¿ããã¡ããšå
¥åã»æŽåããããšã®éèŠæ§ ãžã®æèãã180床å€ãã£ããã§ãã é·å¹Žäºæ¥ãç©ã¿éããŠããããŒã¿è³ç£ã®äŸ¡å€ãåå®çŸ©ãããå
šç€Ÿã®ç®ç·ãæã£ãç¬éã§ããã 瀟å
ã®å£°â£ ãäºæ¥è²¢ç®ãFindy Insightsã®ç«ã¡äžããšÎ±çãªãªãŒã¹ GenAI EnablementããŒã ã®æ¥åã¯ã瀟å
ã®äŸ¿å©ããŒã«äœãã ãã§ã¯ãããŸããã ä»å¹Ž9æã«æäŸéå§ããã Findy Insights ãšãã çæAIãäžå¿ã«æ®ããæ°èŠãããã¯ãã®ç«ã¡äžããšÎ±çãªãªãŒã¹ ã«ãPoCããå®è£
ãŸã§é¢ãããŸããã ãããã¯ãã®ç°¡åãªæŠèŠãã玹ä»ãããšããFindy Insightsãã¯ã æ¥ã
éãŸãèšå€§ãªã顧客ã®å£°ãããåžå ŽããŒã¿ããçæAIãåæãããæ¬¡ã«ã©ããªæ©èœãäœãã¹ããïŒãããã¯ããã£ã¹ã«ããªãŒïŒããæ¯æŽãããµãŒãã¹ ã§ãã ä»ãŸã§PMãæ³¥èãèªã¿èŸŒãã§ããè°äºé²ãªã©ã®ããã¹ãããŒã¿ããAIãåæããŠãããããããŒãºãå¢ããŠããããšææ¡ããŠãããŸããåãšçµéšã ãã«é Œããªãã ããŒã¿ããªãã³ãªæææ±ºå®ãå éãããããŒã« ãšãªããŸãã ãããã¯ããªãŒããŒïŒPOïŒã®èµ·æ¡ããPoCã®çæã2æã«éå§ããçŽ3ã¶æã®æ€èšŒæéãçµãŠãã5æã®ãããã¯ãéçºéå§ã9æã®Î±çå
¬éãšé¡§å®¢æäŸéå§ãšããã¹ããŒãæããµããã¿ã€ã ã¹ã±ãžã¥ãŒã«ã§é§ãæããããšãã§ããŸããã æ¬æ¥ã§ããã°1幎ã¯ãããèŠæš¡ã®æ°èŠãããã¯ãéçºã§ããããå幎足ããã§é¡§å®¢ãžã®æäŸéå§ãŸã§æŒãçããããšãã§ããŸããããã®èæ¯ã«ã¯ã æäŸäºå®ã®æ©èœã®PoCããPOãšé£æºããªããåžžã«æåç·ã§åãçµã¿ç¶ããããš PoCã«ãã確å®ãã仿§ãã¢ããªã±ãŒã·ã§ã³ãšã³ãžãã¢ãšé£æºããå®è£
ã«ãå ããã€ã€ã¬ãã¥ãŒã«ãå
¥ã蟌ã¿ãå¯ãªé£æºãåãç¶ããããš ãªã©ãšæ¯ãè¿ã£ãŠããŸãã ãã¡ãããGenAI EnablementããŒã ã ãã§ã¯ãªãããã®ãããã¯ãã®éçºã«é¢ãã£ãå
šå¡ã®å°œåã«å¯ããšããã¯èšããŸã§ããããŸããã æäŸéå§åŸãŸããªãã§ã¯ãããŸãããæ¢ã« æ°å瀟以äžãšã®åè«ããã©ã€ã¢ã«éå§ ãªã©ã§åŒãåããé ããŠããç¶æ³ã§ãããŸãã ãŸããä»åŸãæ§ã
ãªæ©èœã®éçºãšã¢ããããŒããäºå®ããŠããŸãã®ã§ãã©ããã®æ©äŒã§ã玹ä»ã§ããã°ãšæããŸãã åãçµã¿ã®ææãšç€Ÿå
è©äŸ¡ ãã£ã2åäœå¶ãªããã瀟å
掻çšåãã®Botéçºãšãäºæ¥è²¢ç®ã«ã€ãªããæ°èŠãããã¯ãç«ã¡äžãã®äž¡èŒªã§åãçµã¿ãé²ããŸããããã®çµæãåæã«äžåºŠã®å
šç€Ÿè¡šåœ°ã§åè³ãšããããŒãã®è©äŸ¡ãåŸãããšãã§ããŸããã 衚地ãããã£ãŒãšè¡šåœ°ç¶ ãç¥èŠå
±æãããŒã¿ãµã€ãšã³ãã£ã¹ããããªããŠãå®è£
ã§ããäœå¶ãž ææãåºãã°åºãã»ã©ãã¶ã€ãã£ãå£ãããªãœãŒã¹äžè¶³ãã§ããã MLïŒæ©æ¢°åŠç¿ïŒãLLMã®å®è£
ã¯ãäžå®éšåãããŒã¿ãµã€ãšã³ãã£ã¹ãã«äŸåããŠããèæ¯ããããŸããã 瀟å
掻çšãäºæ¥è²¢ç®ã®åãçµã¿ãéããŠåæã«åãçµãã ã®ãã ãšã³ãžãã¢ãªã³ã°ã®åé·å ã§ãã ML/LLMãäŒŽãæ©èœéçºã®æŠå¿µãããŒïŒBeforeïŒ ãããŸã§ããŒã¿ãµã€ãšã³ãã£ã¹ãã ãã§å®çµãããŠããå®è£
ããŠããŠãããããžã§ã¯ããéããŠç€Ÿå
ã®ãšã³ãžãã¢ãä»çµç¹ã«ç©æ¥µçã«å±éããŸããã ãã®çµæãä»ã§ã¯å®è£
é¢ã«ãããŠããŒã¿ãµã€ãšã³ãã£ã¹ãã®æã空ããŠãªããŠãã瀟å
ãšã³ãžãã¢ã«é Œãã°OKãšããç¶æ
ã«ãªãã€ã€ãããŸãã ML/LLMãäŒŽãæ©èœéçºã®æŠå¿µãããŒïŒAfterïŒ å®è£
å·¥æ°ãçç±ã§ãæãããããåŸãªãã£ãäŸé Œããã¬ãã¥ãŒ/ã¬ãã¥ã¯ãŒã®é¢ä¿ã«ãªããªãããšã³ãžãã¢ããŒã ãšé£æºããªããé²ããããšãã§ããããã«ãªã£ãããšã¯ãéåžžã«å€§ããªäžæ©ã ã£ããšæ¯ãè¿ã£ãŠããŸãã ãããããªãã£ãããš ãããŸã§è¯ãåãçµã¿ãæžããŠããŸãããããã®è£åŽã«ã¯ãæãããã«åã«é²ããããªãã£ãããšãå°ãªããããŸããã§ããã ãæãã®é£ç¶ åãåãããçžè«ã¯æ¥å¢ããŸãããããªãœãŒã¹ã«ã¯éãããããæ°èŠéçºãæ¥åæ¹åã®å€ããå
éãããããåŸãªãç¶æ³ãç¶ããŸããã çæAIãã¬ã³ããªãŒãªããŒã¿æŽå æ°ããåãçµã¿ãé²ããããšããã»ã©ããã®å®çŸã«å¿
èŠãªããŒã¿ãäžè¶³ããŠããããæŽåãååã§ãªãå Žé¢ã«çŽé¢ããŸããã ãæ¥åæ¹åã®ããã« Team+ ã®äœ¿ãæ¹Botã®ãããªä»çµã¿ã欲ããããšãã声ãå€ãããã ããŸããããåæãšãªãããŒã¿ãäžè¶³ããŠããããããããååšããªãã±ãŒã¹ããããŸããã ããŒã¿æŽ»çšãæ°èŠéçºãOpsæ¹åã®æšé²ã«åããŠããããã®èª²é¡ãæ¥å¹Žã«ãããŠè§£æ±ºããå¿
èŠããããŸããæ¥æã¯ãèšç»çã«åãçµã¿ãé²ããŠãããŸãã ãŸãšã ãã®1幎ã®åãçµã¿ãçµãŠãããŒã¿æŽ»çšãžã®æèãã¢ã¡ã³ã¿ã ãç£ãã«ã¯ãè«ãã蚌æ ããŸãã¯äœã£ãŠç€ºãããšã广çãªæ¹æ³ã®1ã€ã§ããäºãåŠã³ãŸããã æ°èŠãããã¯ããã¹ããŒãæãæã£ãŠç«ã¡äžããã«ã¯ãããŒã¿ãµã€ãšã³ãã£ã¹ããåžžã«PoCå
é ã«ç«ã£ãŠçµ¶ãéãªãè¡ãç¶ããããšãã§ããäœå¶ãæŽããäºã倧åã§ããäºãåŠã³ãŸããã æåŸã« GenAI EnablementããŒã ã§ã¯ããŒã¿ã»AI掻çšãçšããŠäžç·ã«äºæ¥è²¢ç®ã«åãçµãã§ãã仲éãåéããŠããŸããèå³ã®ããæ¹ã¯ãã²ã«ãžã¥ã¢ã«é¢è«çã
ã§ã話ãããŸãããïŒ herp.careers
ããã«ã¡ã¯ããã¡ã€ã³ãã£ã®ã¿ã£ã㌠@mikiko_bridge ã§ãã 12æ6æ¥ïŒåïŒã«æ± è¢ã§éå¬ããã Developers Boost 2025 ã®ãHello, new world! ïœæè¡ãšãã£ãªã¢ã次ã®ã¹ããŒãžãžïœããšããããŒãã®LTæ ã§ç»å£ããŸããã ç¿æ³³ç€Ÿããã®ã€ãã³ãã§ç»å£ããã®ã¯2åç®ã§ããæšå¹Žã Women Developers Summit 2024 ã§LTããããŠããã ããåã³ç»å£ã®æ©äŒãããã ããŠæ¬åœã«å¬ããã§ãïŒ æ¬èšäºã§ã¯ãç§ã®LTã®å
容ãšãç»å£æºåãéããŠåŸãæ°ã¥ãã«ã€ããŠãäŒãããŸãã ãã¡ã€ã³ãã£ãšçæAI ãžã¥ãã¢ãšã³ãžãã¢ã¯ã©ãçãããïŒ äŒžã³æ©ãããã 5ã¶æéãäœããã£ãã ãã¹ãã®è¿œå ã³ãŒãããã¥ã¡ã³ãã®è¿œå çµæ çŸåšãšãããã ç»å£è³æ ãããã« ãã¡ã€ã³ãã£ãšçæAI ãã¡ã€ã³ãã£ã§ã¯ãçæAIã®æŽ»çšãæšé²ããŠããŸãã AIæšé²ããŒã ãèšç«ããããšã³ãžãã¢ãéçºã«éäžã§ããç°å¢ãæŽã£ãŠããŸããAIæšé²ããŒã ãAIã®ãã£ããã¢ãããæŽ»çšããµããŒãããŠããããããææ°æè¡ãåãå
¥ããããç°å¢ã§ãã AI掻çšäºäŸã«ã€ããŠã¯ã次ã®ããã°ãã芧ãã ããã https://tech.findy.co.jp/archive/category/GenAI%E3%83%BBLLM https://tech.findy.co.jp/archive/category/Claude https://tech.findy.co.jp/archive/category/Devin https://tech.findy.co.jp/archive/category/MCP https://tech.findy.co.jp/archive/category/GitHub%20Copilot ãžã¥ãã¢ãšã³ãžãã¢ã¯ã©ãçãããïŒ çæAIãåœããåã«ãªã£ãä»ããžã¥ãã¢ãšã³ãžãã¢ãšããŠã©ãæé·ããŠããã¹ãã§ããããããããŸã§ã¯ãgood first issue ããã¹ãã³ãŒãã®è¿œå ãšãã£ãå°ããªã¿ã¹ã¯ããå§ããŠãåŸã
ã«ã¹ãã«ã身ã«ã€ããŠããã®ãäžè¬çã§ããã ããããçæAIã®ç»å Žã«ãããã³ãŒãã®èªåçæããããã°ã®æ¯æŽãç°¡åã«ã§ããããã«ãªãããžã¥ãã¢ãšã³ãžãã¢ãçŽé¢ãã課é¡ãå€ãã£ãŠããŠããŸãã äŒžã³æ©ãããã ãã¡ã€ã³ãã£ã«è»¢è·ããŠãããããŒã ç®æšã§ãã1æ¥4ä»¶ã®ãã«ãªã¯ãšã¹ãäœæãã»ãŒéæã§ããªãæ¥ã
ãç¶ããŠããŸããã ã³ãŒããæžããŠãæãããã«ããããã¬ãã¥ãŒã§ææãããç®æãå€ããããªããšãªãããŸããããªããªããšããæèŠãç¶ããŸããã åæå
¥ç€Ÿã®ãšã³ãžãã¢ãã¡ã次ã
ãšæ°ããæ©èœãå®è£
ããŠããäžã§ãèªåã ããåãæ®ãããŠãããããªçŠããšäžå®ãæããŠããŸããã ãããªç¶æ³ãèŠãããŠãããã¯ãªãŒãã®æ¹ãã¡ã³ã¿ãŒãšãªããæ¯æ¥1on1ãããããšã«ãªããŸãããããã¯ãªãŒãã«å£°ããããããããšã¯ãªãã£ãã®ã§ã1on1ã®äºå®ãå
¥ã£ãæã¯ãã¡ããã¡ãããã£ãŠããŸããã1on1ã®åœæ¥ãæããããšæã£ãŠããã®ã§ãããããã§ã¯ãªããä»åŸã©ããã£ãŠæé·ããŠããã¹ãããçå£ã«è©±ãåããŸããã ãããŠã5ã¶æéã®ä¿®è¡ãå§ãŸããŸãããç§ã¯ãããããŠçæAIãšãã䟿å©ãªããŒã«ã«é ŒãããšãªãããŸãã¯ãšã³ãžãã¢ãšããŠã®åºç€ããã£ãããšåºããããšããæ¹éãéžã³ãŸããã 5ã¶æéãäœããã£ãã 2024幎12æãã2025幎4æãŸã§ã®çŽ5ã¶æéãç§ã¯ãã¹ãã®ãªãã¡ã¯ã¿ãªã³ã°ãšã³ãŒãããã¥ã¡ã³ãã®è¿œå ãšããå°éãªäœæ¥ã«éäžçã«åãçµã¿ãŸãããããã¯ãªãŒãã®æ¹ãã¡ã³ã¿ãŒãšãªããæ¯æ¥1on1ãè¡ãã鲿ã課é¡ã«ã€ããŠçžè«ããŸããã ãã¹ãã®è¿œå ãã¡ã€ã³ãã£ã¯ãã¹ãã«ãã¬ããžã90%è¶
ããç¶æããŠããŸãããããã«å
ç¢ãªãã¹ãã«ããããã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ããŸããã å
·äœçã«ã¯ããœãŒãæ©èœã«é¢ãããã¹ãã匷åããŸããã å¢çå€ãéŸå€ãæèãããã¹ãããŒã¿ãçšæãã ãœãŒãé ãæ£ããæ©èœããŠããããšãæ€èšŒãããããIDé ãšã¯ç°ãªãé åºã§ããŒã¿ãé
眮ããæå³ãã䞊ã³é ã«ãªã£ãŠããããšã確èªãã æ¡ä»¶ã«è©²åœããªãããŒã¿ïŒå¯Ÿè±¡å€ãšãªãã±ãŒã¹ïŒãå«ããããšã§ããã£ã«ã¿ãªã³ã°ããžãã¯ãæ£ããåäœããŠããããšãä¿èšŒãã äŸãã°ã次ã®ãããªãã¹ãã³ãŒããæžããŸããã # ãœãŒãæ©èœã®ãã¹ãã®äŸ describe ' ãœãŒãæ©èœã®ãã¹ã ' do let!( :user1 ) { create( :user , name : ' Charlie ' , created_at : 1 .day.ago, is_active : true ) } let!( :user2 ) { create( :user , name : ' Alice ' , created_at : 3 .days.ago, is_active : true ) } let!( :user3 ) { create( :user , name : ' Bob ' , created_at : 2 .days.ago, is_active : true ) } let!( :inactive_user ) { create( :user , name : ' Dave ' , created_at : 4 .days.ago, is_active : false ) } it ' ååé ã§ãœãŒããããããš ' do result = User .active.order_by_name expect(result.map(& :name )).to eq([ ' Alice ' , ' Bob ' , ' Charlie ' ]) end it ' äœææ¥é ã§ãœãŒããããããš ' do result = User .active.order_by_created_at expect(result.map(& :name )).to eq([ ' Charlie ' , ' Bob ' , ' Alice ' ]) end it ' éã¢ã¯ãã£ããªãŠãŒã¶ãŒãé€å€ãããããš ' do result = User .active expect(result).not_to include (inactive_user) expect(result.count).to eq( 3 ) end end åãã¯ãã¹ãããŒã¿ã®äœæãã¹ããã£ãããæ³å®ä»¥äžã«æéãããã£ããããŠããŸãããã¬ãã¥ãŒã³ã¡ã³ãããããæ°ãå€ãããªããªãæãããã«ä¿®æ£ãé²ãŸãªãããšããããŸããã ããããåŸã
ã«ãã£ãŒãããã¯ã掻ãããŠæ¹åãéããŠãããã¡ã«ãæçµçã«ã¯ãã¹ãã±ãŒã¹ã®æŒããèªåã§èŠã€ããããããã«ãªããŸããã ã³ãŒãããã¥ã¡ã³ãã®è¿œå ãã¹ãã®è¿œå ãé²ãäžã§ãã³ãŒãããã¥ã¡ã³ãã®æŽåã課é¡ãšããŠæµ®äžããŸãããç¹ã«ãå
éšå®è£
ã®å
±éåŠçã«é¢ããããã¥ã¡ã³ããäžè¶³ããŠããããããã¡ãã®æŽåã«æ³šåããŸããã ã³ãŒãããã¥ã¡ã³ãã®è¿œå ãå§ããåœåã¯ãäŸå€åŠçã®ä»æ§ãå®éã®äœ¿ç𿹿³ã®çè§£ã«èŠåŽããäœæã«æéããããããšãå€ããããŸããã å
·äœçã«ã¯ã次ã®ãããªYARD圢åŒã®ããã¥ã¡ã³ãã远å ããŸããã ãŸããã³ã¡ã³ãããã¥ã¡ã³ãããªãç¶æ
ã®ã³ãŒããèŠãŠã¿ãŸãããã class UpdateUserInteractor include Interactor delegate :user_id , :name , :is_active , :roles , :options , to : :context , private : true def call update_user context.user = user rescue ActiveRecord :: RecordInvalid => e Logger .error_exception(e, message : ' Failed to update user ' ) context.fail!( message : ' Failed to update user ' ) end private def update_user # å®è£
end end ãã®ã³ãŒããèŠãã ãã§ã¯ã roles ã«ã¯äœãå
¥ãã®ãã options ã«ã¯ã©ããªãã©ã¡ãŒã¿ãæž¡ãã°ããã®ããããããããªãã§ãããïŒ ããã§ãYARD圢åŒã®ã³ã¡ã³ãããã¥ã¡ã³ãã远å ããŠã¿ãŸããã # Interactorã®ã³ã¡ã³ãããã¥ã¡ã³ãã®äŸ # # @attr user_id Integer ãŠãŒã¶ãŒID # @attr name String åå # @attr is_active Boolean ã¢ã¯ãã£ããã©ãã # @attr roles Array<Role> æš©éäžèЧ # @attr options Hash { # ids: Array<Integer> IDã®ãªã¹ãã # mode: String[Optional]("include") éžæã¢ãŒã # is_verified: Boolean (false) trueã®å Žåãæ€èšŒæžã¿ãšããŠæ±ã # }[Optional] ãªãã·ã§ã³èšå® # # @example # UpdateUserInteractor.call( # user_id: 1, # name: 'John Doe', # is_active: true, # roles: [Role.first], # options: { ids: [1, 2, 3], mode: 'include', is_verified: true } # ) # class UpdateUserInteractor include Interactor delegate :user_id , :name , :is_active , :roles , :options , to : :context , private : true # Interactorå®è¡ # # @return Interactor::Context { # user: User æŽæ°åŸã®ãŠãŒã¶ãŒããŒã¿ # message: String ãšã©ãŒã¡ãã»ãŒãž # } ã³ã³ããã¹ã def call update_user context.user = user rescue ActiveRecord :: RecordInvalid => e Logger .error_exception(e, message : ' Failed to update user ' ) context.fail!( message : ' Failed to update user ' ) end private def update_user # å®è£
end end ãããã§ããããïŒã³ã¡ã³ãããããšãåãã©ã¡ãŒã¿ã®åãæå³ã䜿çšäŸãæç¢ºã«ãªã£ãŠãæ Œæ®µã«ãããããããªããŸããããïŒ ããããã³ã¡ã³ãããã¥ã¡ã³ãã远å ããããšã§ãèªåèªèº«ãã³ãŒããèªã¿è¿ããšãã«ãçè§£ãããããªããŸããã åŸããåå ããæ°ã¡ã³ããŒã«ãšã£ãŠãå©ãã«ãªãããçæAIã«ã³ãŒããè§£æããŠããããšãã«ãæ£ç¢ºãªæ
å ±ãæž¡ããã®ã§ãAI掻çšã®å Žé¢ã§ã圹ç«ã£ãŠããŸãïŒ å¯Ÿå¿ãé²ãã«ã€ããŠäœæ¥ã®è³ªãäžãããèªåãå°ããã€ä»ããŠãããããæçµçã«ã¯ãã¹ãã±ãŒã¹ã®æŒããèªåã§èŠã€ããããããã«ãªããŸããã ãã¡ã€ã³ãã£ã§ã¯æ¥å ±ã»é±å ±ã®æåããããããã¯ãªãŒãããã¯ãåšãã§ã¯ãªãéå»ã®èªåãšæ¯èŒããŸãããããšèšãããŠããŸãããéå»ã®æ¥å ±ãé±å ±ãèªã¿è¿ããŠã¿ããšã2025幎4æã®é±å ±ã«ãä¿®æ£ãå¿
èŠãªç®æãèŠæ¥µããåãã€ããŠããããšããèšè¿°ããããŸããã èªåã®æé·ã客芳çã«å®æã§ããç¬éã§ããã çµæ åãçµã¿ãå§ããåœåã¯ããã«ãªã¯ãšã¹ãã®äœæãé±ã«7.2ä»¶çšåºŠãšããããŒã¹ã§ãã¬ãã¥ãŒã®æ°ãå€ãç¶æ
ã§ããã 2024/07/01ã2024/11/30ãŸã§ã®1é±éãããã«PRäœææ° ããããäœæ¥ãç¶ããŠãããã¡ã«ãåŸã
ã«ã³ãŒãã®æžãæ¹ããã¹ãã®æ§é ã«æ
£ããŠããŠãæçµçã«ã¯1æ¥ããã18ä»¶ã®ãã«ãªã¯ãšã¹ããäœæã§ããããã«ãªããŸããã 2024/12/01ã2025/04/30ãŸã§ã®1é±éãããã«PRäœææ° çŸåšãšãããã 5ã¶æéã®ä¿®è¡ãéããŠãçæAIãç®æ°ããæè¡ã®åã«ããŸãåºç€ãåºããããšã倧åã ãšå®æããŸãããããããã¯ãåºç€åupãããŒã¹ã«çæAIãé©åã«æŽ»çšããªãããããå質ãé«ããŠãããããšèããŠããŸãã çŸåšã¯ãçæAIããã³ãã€ã³ãã§å©çšããŠããŸãã以åãšéã£ãŠãåºåçµæãéµåã¿ã«ã¯ããŠããŸãããã³ãŒããªãŒãã£ã³ã°ã®è£å©ããåœåã®ææ¡ãªã©ãå
·äœçãªã¿ã¹ã¯ã«å¯ŸããŠæŽ»çšããŠããŸãã ç»å£è³æ Speaker Deckã§è³æãå
¬éããŸããã ãçæAIã"ãããã"ãããç§ãèªåã§æžãåãã€ããå幎éãã speakerdeck.com ãããã« ä»åã®LTã§ã¯ãçæAIãåœããåã«ãªã£ãæä»£ã«ãããŠããžã¥ãã¢ãšã³ãžãã¢ãšããŠã©ãæé·ããŠããã¹ããã«ã€ããŠãç§èªèº«ã®çµéšãããšã«ã話ãããŸããã çæAIã¯éåžžã«åŒ·åã§äŸ¿å©ãªããŒã«ã§ããããããæ¬åœã®æå³ã§äœ¿ãããªãé©åã«æŽ»çšããŠããããã«ã¯ãåºç€çãªæè¡åãããã°ã©ãã³ã°ã®æ ¹æ¬çãªçè§£ãäžå¯æ¬ ã ãšæããŠããŸãã ç§ã¯ãŸã ãŸã æé·éäžã§ããããã®5ã¶æéã®ä¿®è¡ãéããŠãçŠããå°éã«åºç€ãåºããããšã®å€§åãã宿ããŸãããåãããã«ãã£ãªã¢ãã¹ã¿ãŒãããçããã«ãšã£ãŠãç§ã®å®è·µãšåŠã³ãæè¡ãšãã£ãªã¢ã次ã®ã¹ããŒãžãžé²ãããã³ãã«ãªãã°å¹žãã§ãã æåŸã«ããã®ãããªè²Žéãªæ©äŒããã ãã£ãç¿æ³³ç€Ÿã®çããŸããããŠåœæ¥ãåå ããã ããçããŸã«å¿ããæè¬ç³ãäžããŸããããããšãããããŸããïŒ ãã¡ã€ã³ãã£ã§ã¯å
±ã«åã仲éãåéäžã§ãïŒ èå³ãããæ¹ã¯ãã¡ãããâ herp.careers
ããã«ã¡ã¯ïŒãã¡ã€ã³ãã£ã®Team+éçºéšã®ç²æïŒ @karukan013L23 ïŒã§ãããã®èšäºã¯ ðãã¡ã€ã³ãã£ãšã³ãžã㢠#1 Advent Calendar 2025 7æ¥ç®ã®æçš¿ã§ãã adventar.org å»å¹ŽãŸã§1床ãç»å£ããããšããªãã£ãã®ã§ãããä»å¹Žã¯æ¬¡ã®3ã€ã®ã€ãã³ãã«ç»å£ããŸããã 2025/6/25: Mita.ts #6 2025/8/20: ãããããããããã³ããšã³ãããŒãã¢ãã ãè€éGUIã»ã¢ãŒããã¯ãã£èšèšãèªãã ã 2025/11/23: TSKaigi Hokuriku 2025 ä»åã¯ãç»å£çµéšã®ãªãã£ãç§ãç»å£ã«ææŠãããã£ããããåã€ãã³ãã®ç»å£å
容ããããŠç»å£ãéããŠåŸãããåŠã³ã«ã€ããŠç޹ä»ããŸãã ç»å£ã®ãã£ãã Mita.ts ç»å£å
容 ç»å£ããŠã¿ãŠ ãããããããããã³ããšã³ãããŒãã¢ãã ãè€éGUIã»ã¢ãŒããã¯ãã£èšèšãèªãã ã ç»å£å
容 ç»å£ããŠã¿ãŠ TSKaigi Hokuriku 2025 ç»å£å
容 ç»å£ããŠã¿ãŠ ç»å£æºåã§ãã£ãŠããã£ãããš 1. ç»å£å
容ã®å£æã¡ 2. 話ãããããšããšã«ããæžãåºã 3. ç»å£æã«è©±ãå
容ãå
šãŠã¹ããŒã«ãŒããŒãã«æžãåºããçºè¡šç·Žç¿ãç¹°ãè¿ããŠãã©ãã·ã¥ã¢ãã 4. ç»å£è³æã®ã¬ãã¥ãŒäŸé Œ ãŸãšã ç»å£ã®ãã£ãã ãã£ããã¯ãTSKaigi 2025ã®æèŠªäŒã§ãããæ¥å¹Žã®TSKaigiã¯ããããŒã¶ã«åºããŠç»å£ããŠã¿ããããšæèŠªäŒã®åå è
ã®æ¹ãšäžç·ã«è©±ããŠããŸãããç§ã¯ãŸã ç»å£ããããšããªãã£ãã®ã§ãã®ããšã話ããšããããã1åç»å£ããŠã¿ãããããšçŽè¿ç»å£ã§ããããªLTã€ãã³ããæ¢ããŠãã ãããç§ã¯ãã®LTã€ãã³ãã«ç»å£æ ã§ç³ã蟌ã¿ãŸããããããæåã®ç»å£ãžã®äžæ©ã§ããã Mita.ts ã€ãã³ããªã³ã¯: https://mitats.connpass.com/event/353424/ ç»å£ã¿ã€ãã«: ãtsgoãè§Šã£ãŠã¿ãŠåŸãåŠã³ã ç»å£è³æ speakerdeck.com ç»å£å
容 Announcing TypeScript Native Previews ã§TypeScriptã®Goèšèªå®è£
ã«ããã³ã³ãã€ã©ã®ãã¬ãã¥ãŒçã®å
¬éãçºè¡šãããŸãããããã«ãããtsgoã³ãã³ãã䜿çšããããšã§Goèšèªå®è£
çã§ã®typecheckãå®è¡å¯èœã«ãªããŸããã ããã§ãtypecheckå®è¡æã«ã³ãŒãéã®ç°ãªããããžã§ã¯ãã§ã©ã®ãããªããã©ãŒãã³ã¹å·®ãåºãã®ããæ€èšŒããŸããã å®éã«èšæž¬ããŠã¿ããšãã³ãŒãéãå€ããããžã§ã¯ãã§ã¯ 8.47åãå°ãªããããžã§ã¯ãã§ã 3.14å ã®é«éåã確èªã§ããŸããã ç¹ã«ã³ãŒãéãå€ããããžã§ã¯ãã»ã©ãGoèšèªã«ãã䞊ååŠçã®æ©æµãåãããããé«ãããã©ãŒãã³ã¹æ¹å广ãèŠãããŸããã 調æ»éçšã§çŸåšã®TypeScriptããå€ããéšåãä»åŸã®åããåŠã¶ããšãã§ããã調ã¹ãã ãã§ãªãå®éã«æãåããããšã®å€§åããã宿ããŸããã ç»å£ããŠã¿ãŠ åããŠã®ç»å£ãšããããšããããå€ãã®åçç¹ããããŸããã ç¹ã«æé管çã課é¡ã§ãå¿ã®äžã§èªãã®ãšå®éã«å£°ã«åºããŠçºè¡šããã®ãšã§ã¯ãæèŠæéã«å€§ããªå·®ãããããšãçæããŸããã倧ãŸããªã¡ã¢ã ãã§è©±ãããšããŠããŸã£ããããæ³å®ä»¥äžã«æéãããã£ãŠããŸããŸããã ãŸããå
容ã«ã€ããŠãããšããããè§Šã£ãŠã¿ãããšããåãåºããèãæã«ãšã£ãŠã®åŠã³ãã¡ãã»ãŒãžæ§ã匱ãã£ãç¹ãåçã§ãã ç»å£èªäœã¯åçç¹ãå€ãã£ãã§ãããç»å£æºåã¯TypeScriptã«ã€ããŠçè§£ãæ·±ããè¯ãæ©äŒã«ãªããŸããã LTäŒã¯ã¯ã€ã¯ã€ããé°å²æ°ã§ãå€ãã®äººãšã®äº€æµã楜ããããšãã§ããŸãããåããŠç»å£ããå ŽãšããŠããšãŠãè¯ãã£ããšæããŸãã ãããããããããã³ããšã³ãããŒãã¢ãã ãè€éGUIã»ã¢ãŒããã¯ãã£èšèšãèªãã ã åŒç€ŸãäŒå Žã¹ãã³ãµãŒãåããã€ãã³ãã§ããç»å£ããŠã¿ãªããïŒããšç€Ÿå
ã§å£°ããããŠããã ããŸããã 1床ç»å£ããããšã§ç»å£ã«å¯Ÿããå¿ççããŒãã«ãäžãã£ãŠããããšãããããã£ããã®æ©äŒãªã®ã§ææŠããããšã«ããŸããã ã€ãã³ããªã³ã¯: https://formx.connpass.com/event/364158/ ç»å£ã¿ã€ãã«: ãAIç²ãã«å¹ããããã³ããšã³ãã®ã¯ãŒã¯ãããŒæŽåã ç»å£è³æ speakerdeck.com ç»å£å
容 çæAIã«ããã³ãŒãã£ã³ã°ãæ®åããäžæ¹ã§ãAIãçæããã³ãŒãã®ã¬ãã¥ãŒãæçŽãã«ãããAIç²ãããšããæ°ããªèª²é¡ãçãŸããŠããŸããããã§ãAIãšå®å
šã«åæ¥ãã€ã€éçºé床ãç¶æããããã®ãå®ãããšãé«éåãã®ã¯ãŒã¯ãããŒæŽåã«ã€ããŠç޹ä»ããŸããã å
·äœçã«ã¯ããå®ãããšããŠTypeScriptãESLintã«ããéçè§£æãNxã«ããã¢ãžã¥ãŒã«å¢çã®åŒ·å¶ãVitestãçšããèªåãã¹ãããã£ãŒãã£ãŒãã©ã°ã®å°å
¥ãªã©ãè¡ã£ãŠããŸãã ãŸãããå®ãã®é«éåãã®ã¢ãããŒããšããŠãNxã®å€æŽæ€ç¥ãšãã£ãã·ã¥æ©èœã掻çšãã圱é¿ç¯å²ã®ãããããžã§ã¯ãã®ã¿ãCI察象ã«çµã蟌ãã§ããŸããããã«ãGitHub Actionsã®Runnerã¹ããã¯ãè² è·ã«åãããŠæé©åããããšã§ãCIã®å®è¡æéãççž®ããŠããŸãã ãããã®ä»çµã¿ã¯å
ã
éçºå¹çãšå質ã®ããã«æ§ç¯ãããã®ã§ãããçµæãšããŠAIæä»£ã«ãããŠã匷åºãªåå°ãšããŠæ©èœããŠããŸãã ç»å£ããŠã¿ãŠ ä»åã¯åŒç€Ÿã®ããã³ããšã³ãããã¯ãªãŒãã«å£æã¡ããé¡ãããæ¹åæ§ããã£ãããšåºããŠããæºåã«å
¥ããŸããããããã³ããšã³ãã®ã¯ãŒã¯ãããŒæŽåããšããç¯å²ãåºãããŒãã§ãããããAIã«å¥œãåæãããªãããã®å®ããšé«éåããšããè»žãæ±ºãŸã£ãŠããã®ã§ã話ãå
容ã®åæšéžæãããããã£ãã§ãã åœæ¥ã¯ç·åŒµããŸããããã¹ããŒã«ãŒããŒãããã£ããæºåããŠç·Žç¿ããŠãããããã§ãèœã¡çããŠè©±ãããšãã§ããŸããã TSKaigi Hokuriku 2025 åŒç€ŸãGoldã¹ãã³ãµãŒãšããŠåè³ããŠããã€ãã³ãã§ãã äžè¬å
¬åã®ããããŒã¶ã«ã¯æ®å¿µãªããäžæ¡æã ã£ãã®ã§ãããã¹ãã³ãµãŒLTæ ãšããŠç»å£ã®æ©äŒãããã ããŸããã ã€ãã³ããªã³ã¯: https://hokuriku.tskaigi.org/ ç»å£ã¿ã€ãã«: ãNxã¯ãããïŒmonorepoãããžã§ã¯ãã«ããã差忀ç¥ã掻çšããåãã§ãã¯æé©åã ç»å£è³æ speakerdeck.com ç»å£å
容 ãããžã§ã¯ãã®ã³ãŒãéå¢å ã«äŒŽããCIå®è¡ã®å®è¡æéãå¢å ãã課é¡ã«å¯ŸããŠãNxã®å·®åæ€ç¥ãšãã£ãã·ã¥ã掻çšããCIé«éåã®ææ³ã玹ä»ããŸããã Nxã¯ãã¢ãã¬ããã¢ããªã±ãŒã·ã§ã³ã®ãã«ãããã¹ãå®è¡ãã³ãŒãçæãªã©ã®æ©èœãåããçµ±åçãªããŒã«ã§ãããã¡ã€ã³ãã£ã®å€ãã®ããã³ããšã³ãã§ãæ¡çšãããŠããŸããäž»ãªç¹åŸŽãšããŠãã¿ã¹ã¯å®è¡ã®äžŠååã倿޿€ç¥ããã£ãã·ã¥æŽ»çšã«ããCIå®è¡ã®å¹çåããããŸãã Nxã¯å€æŽããã£ããããžã§ã¯ããšãããã«äŸåé¢ä¿ã®ãããããžã§ã¯ãã®ã¿ã察象ã«ã³ãã³ããå®è¡ããŸããããã«ãããtypecheckãªã©ã®ã¿ã¹ã¯ã®äžèŠãªå®è¡ãã¹ãããã§ããäŸåé¢ä¿ãå°ãã倿Žã»ã©CIãæ©ãçµããããã«ãªããŸãã Nxã®æ©æµãæå€§éåããããã«ã¯ãããžã§ã¯ãã®äŸåé¢ä¿ãé©åã«æŽçããããšãéèŠã§ããã³ãŒãéã®å¢å ã«ããCIå®è¡æéã®å¢å ãéçºäœéšã®äœäžã«èª²é¡ãæãããããã²Nxã®ããšãæãåºããŠãã ããïŒ ç»å£ããŠã¿ãŠ å
ã
ããããŒã¶ã«ãåºããŠããå
容ã ã£ããããã¿ãŒã²ããïŒã¢ãã¬ãæ§æãCIæéã«èª²é¡ãæããŠããå±€ïŒãšäŒãããã¡ãã»ãŒãžãæç¢ºã«ã§ããŠãããç»å£æºåãé²ããããã£ãã§ãã 4åéã®LTæ ã ã£ããããçãæéã®äžã§ãäœãäŒããã°Nxã®è¯ããé¿ããããæèããŠæ§æãèããŸãããçµæãå¶éæéã®ãªã®ãªã§ã¯ãããŸããããäŒããããã€ã³ãã¯ãã£ããå±ãããããšæããŠããŸãã ã¡ãªã¿ã«ãTSKaigi Hokuriku 2025ã«ã€ããŠã¯ã忥åå ããã¡ã³ããŒãèšäºãæçš¿ããŠããŸãã®ã§ãã€ãã³ãã®é°å²æ°ãæ°ã«ãªãæ¹ã¯ãã²äœµããŠã芧ãã ããïŒ tech.findy.co.jp note.com ç»å£æºåã§ãã£ãŠããã£ãããš ããã3åã®ç»å£ãéããŠãç¹ã«ãã£ãŠããã£ããªãšæã£ãåãçµã¿ã玹ä»ããŸãã 1. ç»å£å
容ã®å£æã¡ ç»å£å
å®¹ã®æ¹åæ§ãè»žãæ±ºããããã«ããã¯ãªãŒããä»ã®ç»å£äºå®ã®æ¹ãšå£æã¡ãããããšã§ãã èªåã ãã§ç»å£å
容ãèãããšãäœãè¶³ããªããšæãããç¯å²ãåºãããŠè»žãå®ããããªããªã©è¿·ãããšããããŸãã å¿
ãããã²ãšãã§èãããå¿
èŠã¯ãããŸãããè¿·ãããã£ãã壿ã¡ããé¡ãããŠã¿ãããšãããããããŸãã 2. 話ãããããšããšã«ããæžãåºã ã話ãããããšãããšã«ããæžãåºããŸããã äžåºŠæžãåºãããšã§ãèªåèªèº«ã®çè§£ã®ææ§ãªéšåãæµ®ã圫ãã«ãªãã調æ»ãããŠçè§£ãæ·±ãããã£ããã«ãªããŸããã 調æ»ã®éçšããã®ãŸãŸåŠã³ã®æ©äŒã«ãªããããããããã§ãã 3. ç»å£æã«è©±ãå
容ãå
šãŠã¹ããŒã«ãŒããŒãã«æžãåºããçºè¡šç·Žç¿ãç¹°ãè¿ããŠãã©ãã·ã¥ã¢ãã ãããããå°æ¬ããäœãããšã§ãã 話ãå
容ãå
šãŠæåã«èµ·ããããšã§ã説æã®èšãåããæ§æã«éåæããªããã確èªã§ããŸãã ãŸããå®éã«å£°ã«åºããŠèªãã§ã¿ããšããã®è¡šçŸã¯äŒããã«ããããããã¯é åºãå
¥ãæ¿ããã»ããããããšãã£ãæ°ã¥ããåŸãããŸãã çºè¡šç·Žç¿ãç¹°ãè¿ããŠã¹ããŒã«ãŒããŒããçŽããæéé
åã調æŽããããšãã²ãããç¹°ãè¿ãããšã§ãæ¬çªã§èœã¡çããŠè©±ãããšãã§ããããã«ãªããŸãã 4. ç»å£è³æã®ã¬ãã¥ãŒäŸé Œ è³æãã§ããããããã¯ãªãŒãã瀟å
ã®ãšã³ãžãã¢ã«ã¬ãã¥ãŒããé¡ãããŸããã äœãæèŠç¹ã ãã§ã¯æ°ã¥ããªãã説æã®èª€ãããããããã«ãã衚çŸããææããŠããã ããå匷ã«ãªããŸããã ãŸããäŒå Žã倧ããã®ã§ãæåãå°ãããšåŸãã®åžããèŠããªãããéçãŸã§æåãµã€ãºã倧ããããæ¹ãè¯ããšãã£ããç»å£çµéšè
ãªãã§ã¯ã®å®è·µçãªã¢ããã€ã¹ãããã ãå匷ã«ãªããŸããã ãŸãšã ç»å£ã«ææŠããããšã§ãæè¡ã®çè§£ãæ·±ããããåŠã³ã®æ©äŒãšãªããŸããã èãæã«ãããããã説æããããã«ã¯ãèªåèªèº«ããã®æè¡ãæ·±ããäœç³»çã«çè§£ããŠããå¿
èŠããããŸããææ§ã ã£ãç¥èãè£å®ããåŠã³çŽãããã»ã¹ãã®ãã®ãããšã³ãžãã¢ãšããŠã®æé·ã«ç¹ãã£ããšæããŠããŸãã ããããããç»å£ãããã°å·çãšãã£ãã¢ãŠããããã®æ©äŒã倧åã«ããèªåèªèº«ã®åŠã³ã®å ŽãšããŠæŽ»ãããŠãããããšæããŸãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«åãã¡ã³ããŒãåéããŠããŸãïŒ èå³ãããæ¹ã¯ãã¡ããã â herp.careers
ãã£ãªã¢ãããã¯ãéçºéšã®æ£® ïŒ jiskanulo ã§ãã ãã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠Advent Calendar 2025 ã®6æ¥ç®ã®èšäºã§ãã adventar.org çŸåšFindyã«ãŠããã¡ã®AIããããããŸããŠããšããäŒç»ããŒãžãæééå®ã§å
¬éããŠãããŸãã https://findy-code.io/ai-yarakashi findy-code.io ããã¡ã®AIããããããŸããŠãã¯AIãšã®ååã§çãŸããâ詊è¡é¯èª€ã®ãšããœãŒãâãæçš¿ããŠãããåå åäŒç»ã§ãã AIã®ããããã»ããéããã·ã§ã¢ããçããã®ååããªåŠã³ã«ã€ãªããŠããå ŽãæäŸããããŸãã ä»åã¯ç§ã®AIããããäºäŸã玹ä»ãã€ã€ãåããããããå床起ãããªãããã«ããããå¿ãããããšãã玹ä»ããŸãã ç§ã®ããããäºäŸã¯ããããClaude Codeã®å©çšã§èµ·ãããã®ã§ãããä»ã®AIãšãŒãžã§ã³ããæŽ»çšãããŠããæ¹ã«ãåèã«ãªãã°å¹žãã§ãã AIããããäºäŸã®çŽ¹ä» ã³ãŒãã¬ãã¥ãŒã«æå³ããŠãªãã³ã¡ã³ããæ®ããã Pull Requestã«é¢ä¿ãªããã¡ã€ã«ãã³ããããããŠãã åããããããç¹°ãè¿ããªãããã« ããã AIããããäºäŸã®çŽ¹ä» ã³ãŒãã¬ãã¥ãŒã«æå³ããŠãªãã³ã¡ã³ããæ®ããã GitHubã®ã³ãŒãã¬ãã¥ãŒå
容ã確èªããŠããšæç€ºãåºããã察å¿ããã€ããã®ãªãå
容ãã³ã¡ã³ããšããŠæ®ãããŠããŸãæ
ãŠãŠèšæ£ãã findy-code.io ãã®ããããã®åå ã¯ãç§ã®æç€ºãææ§ã ã£ãããšã§ãã ãã³ãŒãã¬ãã¥ãŒã確èªããŠããšæžããã€ããã§ãããããã³ãŒãã¬ãã¥ãŒã確èªã㊠察å¿ã㊠ããšæç€ºããŠããŸã£ããããClaude Codeã¯ãã®ã¬ãã¥ãŒã«è¿ä¿¡ã³ã¡ã³ããæçš¿ããŠããŸã£ãããã§ãã ã³ã³ãœãŒã«ãçºããŠãããgh issue commentã³ãã³ããçºè¡ããŠããã®ã«æ°ã¥ããæ
ãŠãŠèšæ£ããŸãããçæéã«æ£å察ã®ã³ã¡ã³ãã飿ãã¬ãã¥ã¢ãŒã«è¿·æããããŠããŸã£ãããããã§ãã Pull Requestã«é¢ä¿ãªããã¡ã€ã«ãã³ããããããŠãã äœæ¥æç€ºãåºããPull RequestãäœæããŠããã£ããPull Requestã確èªãããšäœæ¥æç€ºã«å
¥ã£ãŠããªããã¡ã€ã«ãã³ããããããŠãã findy-code.io ã³ããããããŠãããã¡ã€ã«ã¯å¥ã®ã¿ã¹ã¯ã§CLAUDE.mdã®èšè¿°èª¿æŽãäŸé Œããéã«äœæãããäžæçãªãã¡ã€ã«ã§ããã Claude Codeã git add -A ã§å
šãã¡ã€ã«ãã³ããã察象ã«è¿œå ãããã®ãŸãŸã³ããããäœæããŠããŸã£ãã®ã§ãã åããããããç¹°ãè¿ããªãããã« ããã2ã€ã®ãããããèžãŸããåããã¹ãç¹°ãè¿ããªãããã®å¯ŸçãæŽçããŸãã ææ§ãªæç€ºãæ¥ãæã«ãClaude Codeã«æç€ºã®å
容ã確èªããããCLAUDE.mdã«èšèŒã远å ããŸããã ããã§æããããªãè¡åãåã£ãŠããŸãããšãæžããŸããã æç€ºã«äžæãªç¹ãææ§ãªç¹ãããå Žåãäœæ¥ãé²ããã«è³ªåãè¿ããŠãã ããã æ¬¡ã«ãæç€ºãçµãã£ãåŸã«æå³ããªãæåã瀺ããå Žåãã©ãããŠãããªã£ãã®ã質åãããåçãæ±ããŸãã 以äžã¯ç§ã察話ããå
å®¹ã®æç²ã§ãã ç§: å
ã»ã©äžèŠãªãã¡ã€ã«ã®commitãæ··ãã£ãŠããŸã£ãäºè±¡ã«ã€ããŠãã©ãããŠèµ·ããŠããŸã£ãã®ããã©ãããã°åçºãé²ãããšãã§ãããæ€èšããŠææ¡ã㊠Claude: ⺠CLAUDE.md.backupãã¡ã€ã«ã誀ã£ãŠã³ããããããåå ãšåçºé²æ¢çãåæããŸãã åå åæ äœãèµ·ããã 1. PR #51 (docs-restructure-claude-md) ã§CLAUDE.mdã®ããã¯ã¢ãããäœæ # åœæã®äœæ¥ cp CLAUDE.md CLAUDE.md.backup 2. PR #51ããŒãžåŸãmainããæ°ãã©ã³ããäœæ 3. git add -A ã§å
šå€æŽãã¹ããŒãžã³ã° 4. CLAUDE.md.backupãã¯ãŒãã³ã°ãã£ã¬ã¯ããªã«æ®ã£ãŠãããããæå³ããã³ãããã«å«ãŸãã æ ¹æ¬åå - â
ããã¯ã¢ãããã¡ã€ã«ãäœæ¥åŸã«åé€ããªãã£ã - â
git add -A ãå
šãã¡ã€ã«ãç¡æ¡ä»¶ã«è¿œå ãã - â
ã³ãããåã®ã¹ããŒãžã³ã°å
容確èªãæ ã£ã åçºé²æ¢ç ⊠ãã以éã察話ãç¶ããŠæ¹éãå®ããŸããã 察話ããŠãŸãšããå
容ãCLAUDE.mdã«èšèŒãããæ¬¡å以éåãããšãèµ·ãããªãããã«ããŸããã å
容ãåé·ã ã£ããéã«éå®çã§äžè¶³ããŠããéšåããããŸããéœåºŠèª¿æŽããŠãããŸãã æçµçã«CLAUDE.mdã«è¿œå ããå
å®¹ã¯æ¬¡ã®2ç¹ã§ãã ã³ãããåã«ã¹ããŒãžã³ã°ãããŠãããã¡ã€ã«ã確èªããããš æå³ããŠããªããã¡ã€ã«ãå«ãŸããŠããªãããšã確èªããããš #### ã³ãããåã®ç¢ºèª ```bash # ã¹ããŒãžã³ã°ãšãªã¢ã®ç¢ºèª git status # æå³ããŠããªããã¡ã€ã«ãå«ãŸããŠããªãããšãç¢ºèª git diff --cached --name-only ``` ããã AIãšãŒãžã§ã³ãã¯æåãã100ïŒ
æåŸ
ã«æ²¿ãè¡åãããŠãããããã§ã¯ãããŸããã ããå æžãªæç€ºãåºããšæããããªããµããŸãããããããŠããŸããŸãã æã«ã¯ããããã€ã€ããããããåçºé²æ¢çãèããŠå¯Ÿçããå
±ã«æé·ããŠããããŒãããŒãšããŠè§Šãåã£ãŠãããŸãããã çŸåšããã¡ã€ã³ãã£ã§ã¯äžç·ã«åãã¡ã³ããŒãåéäžã§ãã èå³ãããæ¹ã¯ãã¡ããããããå¿åãã ããã herp.careers
ã¯ããã« ã¿ãªããããã«ã¡ã¯ãPlatform éçºããŒã SREã§ãµããããŒãžã£ãŒã®å®éïŒ @adachin0817 ïŒã§ãããã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠Advent Calendar 2025 ã®5æ¥ç®ã®èšäºã§ããä»åã¯2025幎ã®SREããŒã ã®ææã課é¡ãªã©ãæ¯ãè¿ããããšæããŸãã adventar.org ã¯ããã« Platform SREããŒã ããžã§ã³ã®åå®çŸ© 2025幎ã®Platform SREããŒãããã äž»ã«åãçµãã§ããããš Devinã®æŽ»çš Terraformæ±çšã¢ãžã¥ãŒã«ãštestã®æ¡å
Findy Team+ æ¬çªDBã¯ããŒã³ ã¯ãŒã¯ãããŒå Findy Team+ AWSããŒã±ãããã¬ã€ã¹å¯Ÿå¿ Takumi SAST/DASTã®å°å
¥ 2026幎ã«åãã屿ãšèª²é¡ ãããã« Platform SREããŒã ããžã§ã³ã®åå®çŸ© ãSREã®æåãçµç¹å
šäœã«æ ¹ä»ãããéçºããŒã ãèªåŸçã«SREãå®è·µã§ããããã«æ¯æŽããã ãã®ããžã§ã³ãå
ã«ãPlatforméçºããŒã SRE(以äžãPlatform SRE)ããŒã ã®æ¹åæ§ãåå®çŸ©ããŸããããããŸã§ãããžã§ã³èªäœã¯ååšããŠãããã®ã®ãã¡ã³ããŒã®åœ¹å²ã責任ç¯å²ãªã©ææ§ã§ãããŒã ãšããŠã©ãå®çŸããŠããã®ããååã«æãåããŠããŸããã§ããããã®ããã2025幎ã«åããŠããžã§ã³ããã©ãã·ã¥ã¢ããããå
·äœçãªè¡åæéãžãšèœãšã蟌ã¿ãŸããã ãŸããããã·ã§ã³ã¯åæããšã«èŠçŽãéçšãžãšå€æŽããŸãããåŸæ¥ã¯å¹ŽéãéããŠåºå®ããããã·ã§ã³ã§åããŠããã課é¡ãç¶æ³ãªã©å€§ããå€åããããšãåãããŸããããã®ãããããæè»ãªæææ±ºå®ãšãããŒã ã¡ã³ããŒã®æå¿ãåæ ã§ããä»çµã¿ã«ã¢ããããŒãããŸããã æ¬¡ã¯ã2025幎 Platform SRE ããŒããããã解説ããŸãã 2025幎ã®Platform SREããŒãããã AIæŽ»çš DevinãAIè£å©ã«ããéçšã»æ§ç¯ã®èªåå Observability SLI/SLOã®èŠçŽã Datadog RUMã®æ€èšŒ Cost ããã©ãŒãã³ã¹äºæž¬ã¢ãã«å°å
¥ MCPã«ããã³ã¹ãæé©å Security ã¢ããªã±ãŒã·ã§ã³è匱æ§å¯Ÿå¿ Takumiå°å
¥ Shisho Cloudæ£åžã Infrastructure Team+ æ¬çªDBã¯ããŒã³ ã¯ãŒã¯ãããŒäœæ Tools/Conference æ¬çªDBã®ããã®Stgãã¹ãã³ã°ã¯ãŒã¯ãããŒäœæ è² è·è©Šéšç°å¢ ãã°åºç€ã®èšèš WordPressãShifterã«ç§»è¡ Terraformæ±çšã¢ãžã¥ãŒã«ã®æ¡å
aws-nukeã«ããäžèŠãªãœãŒã¹ã®èªååé€ Findy Team+ ããŒã±ãããã¬ã€ã¹å¯Ÿå¿ CI/CD ãããã€ã®å
±éå GitHub Actionsã®ãã³ãã¬ãŒãå ecspressoã®å°å
¥ Automation 瀟å
ããŒã«å®è£
(Go) æ°èŠAWSã¢ã«ãŠã³ãäœææ¥åã®èªåå Onboarding æ°èŠãžã¥ãã¢ã¡ã³ããŒæè² Culture SREæåéžæ 2025幎ã®Platform SREããŒã ã¯ãéçºããŒã ãèªåŸçã«SREãå®è·µã§ããçµç¹ãç®æãã8ã€ã®é åã«ãã©ãŒã«ã¹ããŠããŒãããããçå®ããŸãããåãªãæ¹åã¿ã¹ã¯ã§ã¯ãªããSREãä»çµã¿ãšæåãšããŠããŒã ã«åã蟌ãããšãéèŠããŠããŸãã æ¬¡ã¯ç¹ã«æ³šåããåãçµã¿ã«ã€ããŠãŸãšããŠãããŸãã äž»ã«åãçµãã§ããããš Devinã®æŽ»çš SREããŒã ã§ã¯ãæ°ãµãŒãã¹ã远å ããããã³ã«ãShisho CloudãšAmazon Security LakeãTerraformã§é£æºããŠããŸãããããããã®èšå®æé ã¯éåžžã«ã·ã³ãã«ã§ãããªããæ¯å人æã§äœæ¥ããããšããã€ã«ãšãªã£ãŠããŸããã ããã§ãDevinãæŽ»çšããèªååã«åãçµã¿ãTerraform飿ºãå«ãäžé£ã®äœæ¥ãã¯ãŒã¯ãããŒåããŸãããããã«ãGitHubã¢ã«ãŠã³ãã®çºè¡ãAWSã¢ã«ãŠã³ãã®äœæãWordPressã®è»œåŸ®ãªä¿®æ£ãªã©ãDevinåããSREã®ãã€ã«ã倧ããåæžã§ããŠããŸããä»åŸã¯ããããã®ä»çµã¿ã暪å±éããããåºãæšæºåããŠããäºå®ã§ãã tech.findy.co.jp Terraformæ±çšã¢ãžã¥ãŒã«ãštestã®æ¡å
tech.findy.co.jp ä»å¹Žããã¯ãæ°ãµãŒãã¹ãããé«éã«æ§ç¯ãããããTerraformã«ããæ±çšã¢ãžã¥ãŒã«ã®æŽåã«æ¬æ Œçã«åãçµã¿ãŸããã ãããŸã§ã¯æ¢åã³ãŒãã®æµçšãããŒã¹ã«æ§ç¯ããŠãããããèšå®ã®æŒããç°å¢å·®ç°ãé©åã«ææ¡ã§ããªãç¶æ
ãç¶ããŠããŸããã ãã®èª²é¡ã«å¯ŸããTerraformã®æ±çšã¢ãžã¥ãŒã«åãš Terraform Test ã®æ¡å
ããããšã§ãApplyåã«å€±æãèšå®ãã¹ãæ€ç¥ã§ããä»çµã¿ãæ§ç¯ããŸãããããã«ãããä¿¡é Œæ§ãæ
ä¿ããªãããã¹ããŒãæã®ããã€ã³ãã©æ§ç¯ãå®çŸã§ããããã«ãªã£ããšæããŠããŸãã Findy Team+ æ¬çªDBã¯ããŒã³ ã¯ãŒã¯ãããŒå ãããŸã§ã¯ãEmbedded SREãæåã§æ¬çªDBã®ã¹ãããã·ã§ãããååŸããéçºããŒã ããããåºã«ããããã¹ããæ€èšŒããŠããŸããããããããã¹ãç°å¢ã®æ§ç¯ã«æéããããã ãã§ãªããå®éã®éçšã«è¿ãåçŸæ§ãæ
ä¿ãã¥ãããšãã課é¡ããããŸããã ããã§ã2025幎ãã㯠æ¬çªDBã¯ããŒã³ãèªåã§çæã§ããã¯ãŒã¯ãããŒãå®è£
ããŸããããã®ä»çµã¿ã«ããããããåŠçãå«ãããã©ãŒãã³ã¹ãã¹ããæ€èšŒäœæ¥ã誰ã§ãåçŸæ§é«ã宿œã§ããç°å¢ãæŽåãããŸãããå®å
šæ§ã®ç¢ºä¿ã«ãé
æ
®ããã¯ããŒã³DBã¯æ¬çªDBãšéé¢ãããç°å¢ã§åäœãã¢ã¯ã»ã¹å¶åŸ¡ã峿 Œã«é©çšãæ¬çªçžåœã®ããŒã¿ã§ãã¹ãå¯èœãšãã圢ã§ããªã¹ã¯ãé²ãã€ã€ãå®éçšã«è¿ããã¹ãç°å¢ãå®çŸããŠããŸãã ã¯ããŒã³DBã®äœæããã³åé€ã¯ããã¹ãŠAWS CLIã«ããã¯ãŒã¯ãããŒãšããŠèªååããŠããŸãããŸãããããã®ããã©ãŒãã³ã¹ãã¹ãã«ã€ããŠã¯ãOperationã³ã³ããäžã§APIãšåçã®ç°å¢ãåçŸããŠãããæ¬çªã«è¿ãæ¡ä»¶ã§ã®æ€èšŒãè¡ããããã«ãªããŸããã Findy Team+ AWSããŒã±ãããã¬ã€ã¹å¯Ÿå¿ aws.amazon.com Findy Team+ã§ã¯ãAWSããŒã±ãããã¬ã€ã¹ãžã®æ²èŒæºåãæ¬æ Œçã«å§ãŸããŸããããããŸã§ã®çŽå¥çŽã¢ãã«ãããAWSçµç±ã§å©çšã§ããã¢ãã«ãšããéžæè¢ãå¢ããŸããç¹ã«ãšã³ã¿ãŒãã©ã€ãºäŒæ¥ã§ã¯ã調éããã»ã¹ã»ã»ãã¥ãªãã£åºæºã»å¥çŽåœ¢æ
ã»ç£æ»ããã»ã¹ãªã©ã®ããŒãã«ãé«ããSaaSå°å
¥ã®ååã§ã€ãŸããã±ãŒã¹ãå°ãªããããŸããããã®äžã§ãAWSããŒã±ãããã¬ã€ã¹çµç±ã®å¥çŽã§ããã°èª¿éãã¹ã ãŒãºã«ãªããããAWSçµç±ã§äœ¿ããããšãå°å
¥æ¡ä»¶ã«ãªãäŒæ¥ã§ãTeam+å°å
¥ã®å£ããããããšãæåŸ
ããŠããŸãã ä»åã®å¯Ÿå¿ã«ãããFindy Team+ã¯ãšã³ã¿ãŒãã©ã€ãºåãã®SaaSãšããŠã®æäŸäŸ¡å€ãããæç¢ºã«ããŠãããã§ãŒãºã«å
¥ã£ããšèããŠããŸãã Takumi SAST/DASTã®å°å
¥ flatt.tech Shisho CloudãéçšããŠããäžã§ãã¢ããªã±ãŒã·ã§ã³å±€ã®è匱æ§ãåãä»çµã¿ã§æ€ç¥ã»å¯èŠåããããšãã課é¡ãçãŸããŸãããããã§ãã³ãŒã蚺æã«ç¹åãã TakumiïŒSAST / DASTïŒãå
šãµãŒãã¹ãžå°å
¥ããã»ãã¥ãªãã£é åã®åºç€æŽåãé²ããŸããã SASTã«ããéçè§£æã§ã¯ã³ãŒãã®è匱æ§ãæ©ææ€ç¥ã§ããããã«ãªããDASTã«ããåçè§£æã§ã¯å®è¡å¯èœãªæ»æãã¿ãŒã³ã®åçŸã»æ€èšŒãã§ããããã«ãªããŸããããã®çµæãã蚺æ â å¯èŠå â ä¿®æ£ â åæ€èšŒã ãšãããµã€ã¯ã«ãéçºã¡ã³ããŒã®äžã§èªç¶ãšåãå§ããSREããŒã ã«ããæ¯æŽåã»ãã¥ãªãã£ã®åœ¢ãå®éã«æ©èœãå§ããŠããŸãã ãŸããDASTã«ãããã©ãã¯ããã¯ã¹èšºæã«ã€ããŠã¯ãæ¥å¹Žã®SRE Kaigi 2026ã§ãGMO Flatt Security CTO ç±³å
ãããšçºè¡šäºå®ã§ããã»ãã·ã§ã³ã§ã¯AIæä»£ã«ãããã»ãã¥ãªãã£æŠç¥ãããã®å®è·µçãªå°å
¥ã¢ãããŒãã«ã€ããŠå
·äœçã«ã話ããŸãã®ã§ããã²ãåå ããã ããããããã®ã»ãã¥ãªãã£ã®åšãæ¹ãäžç·ã«èããæ©äŒã«ã§ããã°å¬ããã§ãã ïŒ #srekaigi åè³ããŸãïŒ ïŒŒ GMO Flatt Securityã¯SRE Kaigi 2026ã«ãã€ã€ã¢ã³ãã¹ãã³ãµãŒãšããŠåè³ããããŸãïŒ ãã¡ã€ã³ãã£SRE å®éæ§ @adachin0817 ãšåŒç€ŸCTO ç±³å
@lmt_swallow ã«ããã¹ãã³ãµãŒã»ãã·ã§ã³ãäºå®ããŠããŸãïŒ ãã²ãè¶ããã ããðð»ââïž https://t.co/HvZtuL7rBL — GMO Flatt Securityæ ªåŒäŒç€Ÿ (@flatt_security) 2025幎11æ12æ¥ 2026幎ã«åãã屿ãšèª²é¡ æ¥å¹Žã¯SREããŒã ãšããŠãä»å¹Žã®åãçµã¿ããä»çµã¿ãäœã段éããããä»çµã¿ãéçšããç¶ç¶çã«æ¹åããŠããæ®µéããžç§»è¡ããŠããäºå®ã§ããåã«SREã®ç¥èãå±éããã ãã§ã¯ãªããéçºããŒã èªèº«ãèªåŸçã«SREã®å€æã»éçšãã§ããç¶æ
ããããåŒ·ãæšé²ããEnablingããŠãããããšèããŠããŸãã ãããã« 2025幎ã¯ãSREããŒã ã«ãšã£ãŠä»çµã¿ã¥ãããšæåã¥ããã®äž¡èŒªã§èµ°ãç¶ãã1幎ã§ãããæ¯ãè¿ã£ãŠã¿ããšãæ¹åããããšãããããªãæ¹åããã®ãïŒã©ãããã¹ããªã®ãïŒãåãç¶ãã1幎ã ã£ãããã«æããŸãã ãŸã ãŸã ããŒããããã¯å¯Ÿå¿ã§ããŠããªããã®ãããããããã®ãšãæ¥å¹Žã¯ä»å¹Žã€ãã£ãä»çµã¿ãæ¬æ Œéçšãã§ãŒãºãžé²ãã€ã€ãéçºããŒã ãèªåŸçã«SREãå®è·µã§ããçµç¹ã¥ããã«ææŠããŠãããŸãã ææ¥ã¯jiskanuloããã«ãªããŸãïŒèŠãŠããã ãããããšãããããŸããã
ããã«ã¡ã¯ããã¡ã€ã³ãã£CTOã®äœè€( @ma3tk )ã§ãããã®èšäºã¯ã ãã¡ã€ã³ãã£ãšã³ãžã㢠#1 Advent Calendar 2025 ãš ãã¡ã€ã³ãã£ãã¶ã€ã³ããŒã Advent Calendar 2025 ã®4æ¥ç®ã®èšäºã§ãã å
æ¥ã Findy AI+ ãšããæ°èŠãããã¯ãã®ãã¶ã€ã³ã·ã¹ãã ã1ããèšèšããŸããã çæéãªãã1人ã§2ã3é±éãããŠããŒã¹ã®èšèšãä»äžããçµæãããããã®ãã¶ã€ã³ã·ã¹ãã ã¯ãã³ãŒãã§ç®¡çããããšããäžå¯æ¬ ã ãšããæãã匷ããªããŸããã ãªããFigmaãšã³ãŒãã®é¢ä¿æ§ã®å€åãAIæä»£ã«ãããéçºãããŒã®å€åãªã©ãé¢é£ããããŒãã¯å€ããããŸãããä»åã¯ããªãã³ãŒãã§ç®¡çããã®ãããšããèæ¯ãäžå¿ã«ãäŒãããŸãã ãŠãŒã¶ãŒãšåãç°å¢ã§ãã®ãèŠã ãã¶ã€ã³ããŒã«ãšå®è£
ç°å¢ã®éã ã³ãŒãã§ç®¡çããæå€§ã®äŸ¡å€ åã®åã§åŒ·å¶ã§ãã ç¡çããå®è£
ãé²ãä»çµã¿ ã³ãŒãã ããããå®çŸã§ãã匷å¶å æåãã培åºã§ãã åŸä»ãã§ã¯æµžéããªã AIæä»£ã®éçºã¹ããŒãã«å¯Ÿå¿ãã ãã¶ã€ã³ãã³ãŒã管çããããšã¯å¿
èŠäžå¯æ¬ Figma Schemaãç€ºãæ¹åæ§ ãŠãŒã¶ãŒãšåãç°å¢ã§ãã®ãèŠã ãã¶ã€ã³ããŒã«ãšå®è£
ç°å¢ã®éã åŸæ¥ã®ã¯ãŒã¯ãããŒã§ã¯ãFigmaãªã©ã®ãã¶ã€ã³ããŒã«ã§ãã¶ã€ã³ãäœããå®è£
ã¯ããã«è¿œåŸãã圢ã§ãããFigmaã¯åªãããã¶ã€ã³ããŒã«ã§ãããããã§èŠãŠããç»é¢ãšããŠãŒã¶ãŒãå®éã«è§Šããããã¯ãã¯ç°ãªãç°å¢ã§ãã ãã¶ã€ããŒãæå³ããè²ãã¹ããŒã·ã³ã°ãå®è£
段éã§åŸ®åŠã«ãºã¬ãããšããããŸãããŸããã¬ã¹ãã³ã·ã察å¿ã§æ³å®å€ã®æåãèµ·ããããšããããŸãããã¶ã€ã³æãšå®è£
æã§ã®ä¹é¢ã¯ããã¶ã€ã³ããŒã«ãšå®è£
ç°å¢ã®éãããçãŸãã課é¡ã§ãã äŸãã°ããã¿ã³ã®è§äžžãå Žæã«ãã£ãŠ4pxã ã£ãã8pxã ã£ãããäœçœã16pxãš20pxã§æ··åšããããšãã£ãåé¡ã§ããFigmaã§ã¯çµ±äžãããŠããããã«èŠããŠããå®è£
ã§ã¯åŸ®åŠã«ç°ãªãå€ã䜿ãããããšãããã§ãããã ããã¯ããã¶ã€ã³ããŒã«ãšå®è£
ç°å¢ãšãã2ã€ã®ç°ãªãå Žæã§ç®¡çããããšããããšã®é£ããã§ãã ãããã¯ãéçºã«é¢ããã¡ã³ããŒãæã泚ç®ãã¹ãã¯ããããã¿ã€ãã³ã°ã®ç»é¢ã§ã¯ãªãããŠãŒã¶ãŒãè§Šãå®éã®ç»é¢ã ãšèããŸãã ã³ãŒãã§ç®¡çããæå€§ã®äŸ¡å€ ããŠãŒã¶ãŒãšåãç°å¢ã§ããã®ãèŠãããšãã§ããã ãããã³ãŒã管çã«ãããæå€§ã®äŸ¡å€ã ãšæããŸãã ã³ãŒãããã¹ã¿ãŒã«ããããšã§ãå®è£
ãããç¶æ
ãåžžã«æ£ããç¶æ
ãšãªããŸãã ã©ãã ããã¶ã€ã³ããŒã«ã§çŸããèŠããŠããŠãããã©ãŠã¶ã§åŽ©ããŠãããæå³ããããŸãããã³ãŒãããã¹ã¿ãŒã«ããããšã§ããã¶ã€ããŒãšãšã³ãžãã¢ãããŠãŒã¶ãŒãèŠãŠãããã®ããçŽæ¥è§Šããªããæ¹åã§ããããã«ãªããŸãã Figmaãã©ã°ã€ã³ã®Token StudioãCode Connectã䜿ãã°ãã³ãŒãã§å®çŸ©ããããŒã¯ã³ãFigmaã«åæ ã§ããŸããã€ãŸããFigmaã§ã®ãã¶ã€ã³äœæ¥ã¯ä»ãŸã§éãè¡ããªãããçå®ã®æ
å ±æº(Single Source of Truth)ã¯ã³ãŒãã«çœ®ãããšãã§ããã®ã§ãã å¹çåã®è©±ã ãã§ã¯ãªãããŠãŒã¶ãŒäœéšã®å質ãã®ãã®ã«é¢ããåé¡ã ãšæããããŸãã åã®åã§åŒ·å¶ã§ãã ç¡çããå®è£
ãé²ãä»çµã¿ Findy AI+ã®èšèšã§æãæèããã®ã¯ãããã¶ã€ã³ã·ã¹ãã ããéžè±ã§ããªãä»çµã¿ããäœãããšã§ãã ããŒããäœã£ãåŸãå®éã«ãã¶ã€ã³ã·ã¹ãã ãé©çšãããããšãããšãç¡çããå®è£
ããã¡ã§ãã css= ã style= ã®ãããªçŽæ¥ã¹ã¿ã€ã«ãåœãŠãæ¹æ³ã䜿ã£ãŠããŸãã±ãŒã¹ã§ãã äžåºŠãã®éãéãèš±ããšããã¶ã€ã³ã·ã¹ãã ã¯åœ¢éªžåããŸãããæ¥ãã§ããããä»åã ãçŽæ¥ã¹ã¿ã€ã«ãåœãŠããããç©ã¿éãªããæ°ã¥ãã°èª°ã䜿ããªããã®ã«ãªã£ãŠããŸããŸãã ã³ãŒãã ããããå®çŸã§ãã匷å¶å Findy AI+ã§ã¯ãChakra UIãããŒã¹ã«ãã¶ã€ã³ãè¡ã£ãŠããŸããChakra UIã®Strict Tokenã¢ãŒããå°å
¥ããESLintã®ã«ãŒã«ãæŽããŸãããããã«ãCLAUDE.mdãšClaude Skillsã§ã«ãŒã«ãææåãä»çµã¿ãæŽããçæAIã«ããã¶ã€ã³ã·ã¹ãã ãå®ãããããã«ããŸããã ãããšããšã³ãžãã¢ã¯å¿
ããã¶ã€ã³ã·ã¹ãã ã§å®çŸ©ãããããŒã¯ã³ãã³ã³ããŒãã³ãã䜿ããããåŸãªãç¶æ³ã«ãªããŸããäŸãã°ãçŽæ¥ã¹ã¿ã€ã«ãåœãŠãããšãããšãLintãšã©ãŒãåºãŠããŸããŸãã ãã®åŒ·å¶åãããããšã§ããã¶ã€ã³ã·ã¹ãã ã圢骞åãããªãéµã«ãªããšèããŠããŸãããããŠããã®ä»çµã¿ã¯ä»åŸãã¶ã€ã³ããŒã«ã§ã§ããããã«ãªããããããŸããããçŸåšã¯ãŸã å®çŸã§ããŸãããã³ãŒãã§ç®¡çãããããããåã®åã§åŒ·å¶ã§ããŸãã ãã¶ã€ã³ããããã®ãäžããã³ã³ããŒãã³ããšããŠå®è£
ããã«ã¯å€å€§ãªèšèšãå¿
èŠã§ããããããFindy AI+ã§ã¯æåãããã¶ã€ã³ã·ã¹ãã ãã³ãŒãã§å®çŸ©ããéžè±ã§ããªãä»çµã¿ãæŽããŠããŸããããã®çµæãéçºè
ãè¿·ããã«å®è£
ã§ããã«ãŒã«ãçµ±äžãã€ã¥ããããç°å¢ãäœããŸããã æåãã培åºã§ãã åŸä»ãã§ã¯æµžéããªã ãã¶ã€ã³ã·ã¹ãã ã®å°å
¥ã§æãé£ããã®ã¯ã浞éãããããšã§ãã ãã§ã«åããŠãããããã¯ãã«åŸãããã¶ã€ã³ã·ã¹ãã ãå°å
¥ããããšãããšãæ¢åã®ã³ãŒããšã®æŽåæ§ãåãäœæ¥ãèšå€§ã«ãªããŸãããããŠããã®ç§»è¡æéäžã¯ããã¶ã€ã³ã·ã¹ãã ã䜿ã£ãŠããéšåããšã䜿ã£ãŠããªãéšåããæ··åšããäžè²«æ§ã倱ãããŸãã æ¢åã®ãããã¯ãã§ãåŸã
ã«ãã¶ã€ã³ã·ã¹ãã ãé©çšããŠãã£ãŠããŸãããæµžéãããŸã§ã«æéãããããŸãããã¶ã€ã³ãšããŠã®äžè²«æ§ããªãç¶æ
ããã®ã¹ã¿ãŒãã ã£ããããšã³ãžãã¢ãã³ã³ããŒãã³ãã眮ãæããäœæ¥ãå¿
èŠã ã£ãããšãåŸä»ãã®å°å
¥ã«ã¯å€ãã®éå£ããããŸãã AIæä»£ã®éçºã¹ããŒãã«å¯Ÿå¿ãã AIæä»£ã®éçºã¹ããŒããèãããšãåŸããçµ±äžããæéçäœè£ã¯ãããŸããã æåã«åãäœãããã¶ã€ã³ã·ã¹ãã ã皌åãããªããäœãããšãAIæä»£ã®äœãæ¹ã ãšèããŠããŸãã Findy AI+ã§ã¯ããããã¯ãéçºã®åææ®µéãããã¶ã€ã³ã·ã¹ãã ãã³ãŒããšããŠå®çŸ©ããããããéžè±ã§ããªãä»çµã¿ãæŽããŸããããã®ãæåãã培åºããå®çŸããã«ã¯ãã³ãŒãã§ç®¡çããããšãäžå¯æ¬ ã§ãã ãã¶ã€ã³ãã³ãŒã管çããããšã¯å¿
èŠäžå¯æ¬ Findy AI+ã§ã®ãã¶ã€ã³ã·ã¹ãã èšèšãéããŠãããªãã³ãŒãã§ç®¡çããããšãäžå¯æ¬ ãªã®ãããæ¹ããŠå®æããŸããã ãããŸã§ãæ¹ããŠãŸãšãããšãã³ãŒãã§ç®¡çãã¹ãçç±ã¯å€§ãã3ã€ã§ãã ãŠãŒã¶ãŒãšåãç°å¢ã§ãã®ãèŠãããšãã§ããããš åã®åã§éžè±ãé²ãä»çµã¿ãäœããããš ãããã¯ãéçºã®åææ®µéãã培åºããŠå¹çãäžããããããš ãã¶ã€ããŒãšãšã³ãžãã¢ã®äž¡è
ãããã¶ã€ã³ã·ã¹ãã ã®éèŠæ§ãçè§£ãããããŠãã³ãŒãã§ç®¡çããããšãã®äŸ¡å€ãçè§£ããŠããã ããã幞ãã§ãã Figma Schemaãç€ºãæ¹åæ§ ã¡ããã©å
æ¥ãFigmaããSchemaããšããã€ãã³ãã§ çºè¡šããå
容 ããã®èãæ¹ãšåèŽããŠããŸããã Figmaã®æ¹éãšããŠããã¶ã€ã³ã·ã¹ãã ããAIãèªã¿åããããã«ãŒã«ããã¯ããšããŠæŽåããæ¹åã«èµãåã£ãŠããŸããCode Connect UIã§Figmaã³ã³ããŒãã³ããšGitHubäžã®ã³ãŒããçŽä»ããæ©èœãçºè¡šãããŸãããFigma MCP Serverã§AIããŒã«ããFigmaããŒã¿ãåç
§ããããããæ©èœãç»å ŽããŠããŸããVariablesã®ãšã¯ã¹ããŒãã§Figma倿°ãã³ãŒããžæã£ãŠããããããªããªã©ããFigmaããŒã¿ãšã³ãŒããã€ãªãAIåæã®æ©èœããç¶ã
ãšåºãŠããŠããŸãã ãã®æµãã¯ãæ¬èšäºã§è¿°ã¹ããã³ãŒãã§ç®¡çããããšããèãæ¹ãåŸæŒãããŠããããã®ã ãšæããŠããŸããFigmaã¯åŒãç¶ã匷åãªãã¶ã€ã³ããŒã«ãšããŠãããã¿ã€ãã³ã°ã«æŽ»çšããªããããŠãŒã¶ãŒãèŠãå®ã³ãŒãã«äž»çŒã眮ãããšã倧äºã ãªãšæ¹ããŠæããŸããã ãªããä»åã¯ãWhyããäžå¿ã«ãäŒãããŸããããFigmaãšCode Connectã®é£æºæ¹æ³ãToken Studioã®æŽ»çšãStorybookã§ã®éçšãªã©ãå
·äœçãªãHowãã«ã€ããŠãä»åŸèšäºã«ããŠãããããšæããŸãã ãã¡ã€ã³ãã£ã§ã¯äžç·ã«äŒç€ŸãçãäžããŠãããã¡ã³ããŒãåéäžã§ããèå³ãããæ¹ã¯ãã¡ããã â careers.findy.co.jp