ð TL;DR
ãã¹ãŠã®ããã³ããã«MAJOR.MINOR.PATCHããŒãžã§ãã³ã°ãšGitã¯ãŒã¯ãããŒãé©çšããŸãã倿Žããšã«PRãäœæããPRããšã«èªåååž°ãã¹ããå®è¡ããããŒãžããšã«ã¿ã°ãä»ããŸããããŒã«ããã¯ã¯ `git revert` ã§ââæ°ç§ã§å®äºããå®å šãªç£æ»å±¥æŽãä¿æãããŸãã
ããã³ããã«ããŒãžã§ã³ç®¡çãå¿ èŠãªçç±ïŒãµã€ã¬ã³ãååž°ãé²ã
ð In One Sentence
ããã³ããã®ããŒãžã§ã³ç®¡çãšã¯ãAIããã³ãããžã®ãã¹ãŠã®å€æŽã远跡ããä»»æã®ä»¥åã®ããŒãžã§ã³ãžã®ããŒã«ããã¯ãå¯èœã«ããå倿Žã®äœæè ãšçç±ãèšé²ããã·ã¹ãã ã§ãã
ããŒãžã§ã³ç®¡çãªãã®ããã³ãã倿Žã¯å質äœäžãæ®ããªãââãšã©ãŒãã°ãå·®åããããŒã«ããã¯ãã¹ãååšããŸããã ã¢ãã«ã¯äŸå€ãã¹ããŒãã代ããã«ããã£ãšãããã誀ã£ãåçãè¿ããŸããå質äœäžã«æ°ä»ããŸã§ã«ïŒãŠãŒã¶ãŒã®ã¯ã¬ãŒã ã»ç²ŸåºŠææšã»äžæµããŒã¹ãšã©ãŒçµç±ã§ïŒãå ã®ããã³ãããæ¶ããŠããããšããããŸãã
ããŒãžã§ã³ç®¡çãé²ã3ã€ã®å€±æãã¿ãŒã³ïŒïŒ1ïŒãµã€ã¬ã³ãååž°ââæèšå€æŽãã¢ãã«ã®åäœã埮åŠã«å€åããã誰ããæ°ä»ãåã«æ°åãªã¯ãšã¹ãã«ããã£ãŠå質ãäœäžãããïŒ2ïŒããŒã«ããã¯äžèœââå±¥æŽãªãã§ã¯ã以åã®ããã³ãããèšæ¶ãå€ããããã€ãã°ãã埩å ãããããªããïŒ3ïŒåæ¥æã®ã³ã³ããªã¯ãââ2åã®ãšã³ãžãã¢ãåãããã³ãããç¬ç«ããŠç·šéããåŸããã®ããŒãžãåã®å€æŽãäžæžãããŠèšé²ãæ®ããªãã
ð ãµã€ã¬ã³ãååž°
ããã³ããã¯ãµã€ã¬ã³ãã«å€±æããŸãââãšã©ãŒã§ã¯ãªãããã£ãšãããã誀ã£ãåçãè¿ããŸãããšã©ãŒãã°ã¯å質äœäžãæ€ç¥ããŸããããŽãŒã«ãã³ãã¹ãã»ããã«å¯Ÿããååž°ãã¹ãã ããæ€åºã§ããŸãã
AIããã³ãããžã®ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ã®é©ç𿹿³
MAJOR.MINOR.PATCHããŒãžã§ãã³ã°ã¯ãããã³ãã倿Žãäžæµã³ãŒãã®åãã¹ããªãã«å®å šã«æ¡çšã§ãããã©ããããã¹ãŠã®åŒã³åºãå ã«äŒããŸãã MAJORã¯åºåãã©ãŒããããå€ãã£ãïŒäžæµããŒãµãŒãå£ããïŒããšãæå³ããŸããMINORã¯å質ãåäžããããã©ãŒãããã¯å®å®ããŠããããšãæå³ããŸããPATCHã¯åäœãžã®åœ±é¿ãªãã«æèšãæç¢ºãã®ã¿å€æŽãããããšãæå³ããŸãã
| 倿Žã¿ã€ã | ãã³ãã®ã¿ã€ãã³ã° | äŸ | åŸæ¹äºææ§ |
|---|---|---|---|
| MAJOR | åºåãã©ãŒããã倿ŽââJSONããmarkdownãæ°èŠå¿ é ãã£ãŒã«ãããã£ãŒã«ãåé€ | v1.2.0 â v2.0.0 | ãªãââãã¹ãŠã®åŒã³åºãå ãæŽæ°ããå¿ èŠããã |
| MINOR | å質æ¹åã»ã¬ã€ãã³ã·æé©åã»æç€ºéµå®ã®åäž | v1.2.0 â v1.3.0 | ããââå®å šã«æ¡çšå¯èœ |
| PATCH | 誀åä¿®æ£ã»æç¢ºåã»ã¢ãã«ã®åäœãå€ããªãè»œåŸ®ãªæèšå€æŽ | v1.2.0 â v1.2.1 | ããââåäœå€æŽãªã |
ð MAJORã®ããªã¬ãŒ
ããã³ããã®åºåãè§£æããäžæµã³ãŒããå£ããå Žåã¯åžžã«MAJORããã³ãããŸããåºåãJSONé åããmarkdownãªã¹ãã«å€ãã£ãå Žåãå 容ãåäžã§ãMAJORãã³ãã§ãã
ð gitã§ã¿ã°ä»ã
ããŒãžåŸã«æ¯åããŒãžã§ã³ãã¿ã°ä»ãããŸãïŒ`git tag v2.1.0 -m "æœåºããã³ããã®æ¥ä»æšè«ãæ¹å"` ãããŒã«ããã¯çšã®æ°žç¶çãªåç §ãäœæãããŸãã
ããã³ãã倿Žã®Gitã¯ãŒã¯ãããŒèšå®æé
æšæºã¯ãŒã¯ãããŒã¯ïŒãã©ã³ãäœæ â ããã³ããç·šé â ååž°ãã¹ã â PRäœæ â ããŒãžïŒã¿ã°ä»ãã ãã¹ãŠã®ã¹ãããããœãããŠã§ã¢ã³ãŒãã®å€æŽãšåãã§ãââããã³ããã¯ã³ãŒãã ããã§ãã
- 1featureãã©ã³ããäœæïŒ`git checkout -b feature/add-json-output`ã`feature/`ïŒæ°æ©èœïŒã»`fix/`ïŒååž°ä¿®æ£ïŒã»`experiment/`ïŒA/Bãã¹ãïŒã®ãã¬ãã£ãã¯ã¹ã䜿çšã
- 2`/prompts/name.txt` ã®ããã³ãããã¡ã€ã«ãç·šéãå é ã®ããŒãžã§ã³ã³ã¡ã³ããæŽæ°ïŒ`# version: 2.0.0 | changed: JSONåºååœ¢åŒ | author: jane`ã
- 3ãŽãŒã«ãã³ãã¹ãã»ããã«å¯ŸããŠèªåååž°ã¹ã€ãŒããå®è¡ïŒæäœ10ä»¶ïŒããã©ãŒãããæ€èšŒã»ãŽãŒã«ãã³åçãšã®åºåæ¯èŒã»ãã«ã·ããŒã·ã§ã³ãã©ã°ã»ã¬ã€ãã³ã·ãã«ããŒããŸããPRäœæåã«ãã¹ãŠã®ãã¹ãããã¹ããå¿ èŠããããŸãã
- 4倿Žå 容ã»çç±ã»ããŒãžã§ã³ãã³ãïŒMAJOR/MINOR/PATCHïŒã»æåŸ ãããåºåãã«ã¿ãèšèŒããPRãäœæãã¬ãã¥ã¢ãŒã確èªããé ç®ïŒæç¢ºãã»ãã«ã·ããŒã·ã§ã³ãªã¹ã¯ã»åºåãã©ãŒãããã»ã»ãã¥ãªãã£ã
- 5æ¿èªåŸãmainã«ããŒãžããŠãªãªãŒã¹ãã¿ã°ä»ãïŒ`git tag v2.0.0 -m "JSONåºååœ¢åŒ â MAJOR"` ãç¶ã㊠`git push origin v2.0.0`ã
# .github/workflows/prompt-regression.yml
name: Prompt Regression Tests
on:
pull_request:
paths:
- 'prompts/**'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run prompt regression tests
run: npm run test:prompts
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}ð ãã£ã¬ã¯ããªæ§æ
ããã³ãã㯠`/prompts/` ã«ããã¹ããã£ã¯ã¹ãã£ã¯ `/prompts/tests/` ã«ä¿ç®¡ããŸããããã³ãããã¡ã€ã«ãã¢ããªã³ãŒããšåé¢ãã€ã€åäžãªããžããªã«çœ®ããç¬ç«ããã¢ãŒãã£ãã¡ã¯ããšããŠã¬ãã¥ãŒå¯èœã«ããŸãã
ããã³ããChangelogãšã³ããªã«å¿ é ã®èšé²é ç®
ããã³ããchangelogãšã³ããªã«ã¯5ã€ã®ãã£ãŒã«ããå¿ èŠã§ãïŒããŒãžã§ã³ã»æ¥ä»ã»äœæè ã»å€æŽã¿ã€ãã»æåŸ ãããåºåãã«ã¿ã åºåãã«ã¿ãæãéèŠãªãã£ãŒã«ãã§ãã倿ŽåŸã®ã¢ãã«ã¬ã¹ãã³ã¹ã®éãã説æããããšã§ãäžæµã®åŒã³åºãå ãäœãæŽæ°ãã¹ããææ¡ã§ããŸãã
| ãã£ãŒã«ã | å¿ é | äŸ |
|---|---|---|
| version | ã¯ã | `v2.1.0` |
| date | ã¯ã | `2026-04-30` |
| author | ã¯ã | `jane.smith@company.com` |
| change type | ã¯ã | `MINOR â æ¥ä»æœåºã®æšè«ãæ¹å` |
| expected output delta | ã¯ã | `æ¥ä»ãã£ãŒã«ããISO 8601ïŒYYYY-MM-DDïŒã§äžè²«ããŠåºåãããããã«ãªããŸãã以åïŒãšããžã±ãŒã¹ã®çŽ30%ã§MM/DD/YYYYãè¿ãããã` |
## [v2.1.0] â 2026-04-30
**Author:** jane.smith@company.com
**Change type:** MINOR â improved date extraction reasoning
**Expected output delta:** Date fields now consistently use ISO 8601 format (YYYY-MM-DD).
Previous behavior: returned MM/DD/YYYY in ~30% of edge cases.
Backwards-compatible â parsers accepting ISO 8601 require no update.
**Test results:** 18/18 golden test cases passed (previously 15/18).ð 倿Žåã«changelogãæžã
ããã³ãã倿Žãæžãåã«changelogãšã³ããªãæžããŸãââæå³ãæç¢ºã«ãã匷å¶åã«ãªããŸããæåŸ ãããåºåãã«ã¿ã説æã§ããªããªãã倿Žã®å 容ããŸã çè§£ããŠããŸããã
ããã³ããã以åã®ããŒãžã§ã³ã«ããŒã«ããã¯ããã¿ã€ãã³ã°ã𿹿³
`git revert` ãæšæºã®ããŒã«ããã¯ãã¹ã§ãââå±¥æŽãæ¶ããã«åé¡ã®ãã倿Žãåãæ¶ãæ°ããã³ããããäœæããŸãã ããŒã«ããã¯ã®ããªã¬ãŒãææ¡ããç·æ¥åºŠã«å¿ããæ¹æ³ãéžæããŠãã ããã
ããŒã«ããã¯ã®ããªã¬ãŒïŒïŒ1ïŒç²ŸåºŠææšããŠãŒã¶ãŒå ±åã§ãããã¯ã·ã§ã³å質ã®äœäžãæ€ç¥ãïŒ2ïŒãããã€æžã¿ããã³ããã«ã»ãã¥ãªãã£äžã®åé¡ãçºèŠããããïŒ3ïŒã¢ãã«ããŒãžã§ã³æŽæ°ã§æ¢åããã³ãããšã®äºææ§ãå£ãããïŒ4ïŒããžãã¹ããžãã¯å€æŽã«ãã以åã®åºåãã©ãŒããããäžæ£ç¢ºã«ãªã£ãã
| ããŒã«ããã¯æ¹æ³ | é床 | ãªã¹ã¯ | 䜿çšã¿ã€ãã³ã° |
|---|---|---|---|
| `git revert <commit>` | ã³ãããäœæã¯æ°ç§ããããã€ã¯æ°å | äœââããã¥ã¡ã³ãåãããrevertã³ããããäœæ | æšæºã®éç·æ¥ããŒã«ããã¯ãå®å šãªç£æ»å±¥æŽãä¿æ |
| ãã£ãŒãã£ãŒãã©ã°åãæ¿ã | æ°ç§ââãããã€äžèŠ | äœââãã©ã°ãäºåãããã€æžã¿ãªããŒãããŠã³ã¿ã€ã | ããã³ããéžæããã§ã«ãã©ã°ç®¡çäžã«ããããã©ã°ã·ã¹ãã ã皌åäžã®å Žå |
| ç°å¢å€æ°ãªãŒããŒã©ã€ã | æ°ç§ââã³ãŒããããã€äžèŠ | äžââéåžžã®ã¬ãã¥ãŒãããŒããã€ãã¹ | ç·æ¥ããããã£ãã¯ã¹ã®ã¿ãçŽåŸã«æ£åŒãª `git revert` PRã§å¯Ÿå¿ãã |
ð ããŒã«ããã¯åã«ãã¹ã
ååž°ãã¹ããªãã§ããŒã«ããã¯ããªãã§ãã ããââ以åã«ä¿®æ£ãããã°ãåå°å ¥ããå¯èœæ§ããããŸããããŒã«ããã¯ããããŒãžã§ã³ãä¿®æ£ããŠãããã°ããåé¿ãããååž°ããæ·±å»ãããããŸããã
ããŒã ã§ã®ããã³ãã倿Žç®¡çãšã³ã³ããªã¯ã鲿¢
æææš©ãããŒãžã³ã³ããªã¯ããé²ããŸãïŒæ©èœãšãªã¢ããšã«1åã®ããã³ãããªãŒããŒãå²ãåœãŠããã®ããã³ãããžã®ãã¹ãŠã®å€æŽã«ãªãŒããŒã®ã¬ãã¥ãŒãå¿ é ãšããŸãã æç¢ºãªæææš©ããªããã°ã2åã®ãšã³ãžãã¢ãåãããã³ããã䞊è¡ããŠç·šéããåŸããã®ããŒãžãåã®å€æŽãäžæžãããŸãã
ããŒã ã«é©ãã2ã€ã®ãªããžããªãã¿ãŒã³ïŒïŒ1ïŒ`/prompts/` ãã£ã¬ã¯ããªãå«ãã¢ããªãââããã³ãããåäžãµãŒãã¹ãšå¯çµåããŠããŠãããã³ãã倿Žãã¢ããªãšäžç·ã«ãããã€ããå¿ èŠãããå Žåã«æé©ãïŒ2ïŒå°çšããã³ãããªããžããªãŸãã¯ããã±ãŒãžââããã³ãããè€æ°ãµãŒãã¹ã§å ±æããå Žåããã¢ããªãªããžããªã¢ã¯ã»ã¹ãªãã«ããã³ãããšã³ãžãã¢ãç¬ç«ããã¬ãã¥ãŒãµã€ã¯ã«ãå¿ èŠãšããå Žåã«æé©ã
ð ãªãŒããŒã·ããã¢ãã«
æ©èœãšãªã¢ããšã«1åã®ããã³ãããªãŒããŒãå²ãåœãŠãŸãïŒäŸïŒæœåºããã³ãããªãŒããŒãåé¡ããã³ãããªãŒããŒïŒããã®ããã³ãããžã®ãã¹ãŠã®å€æŽã¯ãã®ãªãŒããŒã®ã¬ãã¥ãŒãçµãŸãââäŸå€ãªãã
ããã³ãã倿ŽãªãªãŒã¹åã«èªåãã¹ããæ€åºããåé¡
ååž°ãã¹ãã¯ãã©ãŒããã厩ããæ€åºããLLM-as-judgeã¯å質äœäžãæ€åºããŸãã 4çš®é¡ã®ãã¹ãã§ãããã³ãã倿Žããããã¯ã·ã§ã³ã«å°éããåã®äž»èŠãªå€±æã¢ãŒããã«ããŒããŸãã
4çš®é¡ã®ãã¹ãïŒïŒ1ïŒãã©ãŒãããæ€èšŒââåºåãæåŸ ãããã¹ããŒãïŒJSONæ§é ã»å¿ é ãã£ãŒã«ãã»ããŒã¿åïŒã«äžèŽããããšãã¢ãµãŒããããªç§ã§å®è¡ãããç Žå£ç倿Žã®60ã70%ãæ€åºãïŒ2ïŒãŽãŒã«ãã³ã»ããæ¯èŒââ10ã20ä»¶ã®ä»£è¡šçãªå ¥åã«å¯ŸããŠããã¥ã¢ã«æ€èšŒæžã¿ã®æ£è§£ãšåºåãæ¯èŒãLLM-as-judgeãŸãã¯æååé¡äŒŒåºŠææšã§ã¹ã³ã¢ãªã³ã°ãïŒ3ïŒãã«ã·ããŒã·ã§ã³ãã©ã°ââæäŸãããã³ã³ããã¹ãã«åºã¥ããªãåºåå ã®äºå®äž»åŒµãæ€åºãå ¥åã«ãªãäºå®ãæèšããå¿çã«ãã©ã°ãç«ãŠããïŒ4ïŒã¬ã€ãã³ã·ãã§ãã¯ââäžå€®å€ã®ã¬ã¹ãã³ã¹æéã蚱容ç¯å²å ïŒäŸïŒp95 †3ç§ïŒã§ããããšãã¢ãµãŒããéå°ãªã¢ãã«èšç®ãåŒãèµ·ããããã³ãããæ€åºã
ð æå°ãã¹ãã»ãã
ãããã¯ã·ã§ã³çšããã³ããã®æå°ãŽãŒã«ãã³ãã¹ãã»ããã¯10ã20ä»¶ã§ããããããŒãã¹ã»ãšããžã±ãŒã¹ïŒç©ºãŸãã¯éåžžã«é·ãå ¥åïŒã»æµå¯Ÿçå ¥åã»æ¢ç¥ã®å€±æãã¿ãŒã³ãã«ããŒããŠãã ããã
ããã³ããããŒãžã§ã³ç®¡çã§ãããã倱æ
â 忥ããããŒãžã§ãã³ã°äœç³»ãèšå®ããªã
Why it hurts: ããŒã ãæé·ããŠè€æ°ã®ãšã³ãžãã¢ãå ±æã®ããŒãžã§ãã³ã°èŠçŽãªãã«ããã³ãããç·šéãããšããµã€ã¬ã³ããªç Žå£ç倿ŽããªãªãŒã¹ããã
Fix: ãããã¯ã·ã§ã³ã®æåã®ããã³ããããMAJOR.MINOR.PATCHãæ¡çšããââ仿¥1åã®ãšã³ãžãã¢ã ããããã³ãããæžããŠããŠããæ¬¡ã®æ¡çšè ã¯ãã®ã·ã¹ãã ãåŒãç¶ã
â ããã³ãããã¢ããªã±ãŒã·ã§ã³ã³ãŒãå ã«ä¿ç®¡ãã
Why it hurts: ã¢ããªã³ãŒãã«åã蟌ãŸããããã³ããã¯ç¬ç«ããŠã¬ãã¥ãŒã»ãã¹ãã»ããŒãžã§ã³ç®¡çã§ããªãââã¢ããªã®ãããã€ã®ãã³ã«å€æŽããã
Fix: ãã¹ãŠã®ããã³ããã `/prompts/` ã«ããã¹ããã£ã¯ã¹ãã£ã `/prompts/tests/` ã«ç§»åãããã¢ããªã³ãŒãã«è§Šããã«ç¬ç«ããã¢ãŒãã£ãã¡ã¯ããšããŠã¬ãã¥ãŒå¯èœã«ãªã
â PRããšã«changelogãå¿ é ã«ããªã
Why it hurts: æ°é±éåŸã«ååž°ãçºçããŠããäœãã»ãã€ã»ãªãå€ãã£ããã®èšé²ããªããgitãã°ã®æéã®ããã調æ»ã匷ãããã
Fix: CHANGELOG.mdãšã³ããªãCIãã§ãã¯ã§PRã®å¿ é èŠä»¶ã«ããââ倿Žãããããã³ãããã¡ã€ã«ã®changelogãšã³ããªããªããã°PRã倱æãã
â ããããŒãã¹ã®ã¿ããã¹ããã
Why it hurts: 以åã®ããŒãžã§ã³ã§æ©èœããŠãããšããžã±ãŒã¹ãããã³ãã倿ŽåŸã«ãµã€ã¬ã³ãã«å£ãããŠãŒã¶ãŒã®ã¯ã¬ãŒã ãäžæµã®ããŒã¹ãšã©ãŒã§ã®ã¿æ€åºããã
Fix: æäœ10ä»¶ã®ãŽãŒã«ãã³ãã¹ãã±ãŒã¹ãå¿ é ãšããå°ãªããšã2ä»¶ã®ãšããžã±ãŒã¹ãš1ä»¶ã®æµå¯Ÿçå ¥åãå«ããââãã¹ãã¹ã€ãŒããå šãã¹ããªããã°PRã¯ããŒãžã§ããªã
â ååž°ãã¹ããªãã§ããŒã«ããã¯ãã
Why it hurts: ããŒã«ããã¯ããããŒãžã§ã³ããä»ããŒã«ããã¯ãã倿Žã§ä¿®æ£ãããŠãããã°ãåå°å ¥ããæåã®ååž°ã«å ããŠ2çªç®ã®ååž°ãçºçãã
Fix: revert PRãããŒãžããåã«å¿ ãå®å šãªååž°ã¹ã€ãŒããå®è¡ããââããŒã«ããã¯ã³ãããããã©ã¯ãŒã倿Žãšåããã¹ãã²ãŒããå¿ èŠãªãããã¯ã·ã§ã³å€æŽãšããŠæ±ã
ããã³ãã倿Žã®ã³ã³ãã©ã€ã¢ã³ã¹ãšç£æ»èŠä»¶
æ¥æ¬ïŒMETI AIã¬ããã³ã¹ïŒïŒ çµæžç£æ¥çïŒMETIïŒã®ãAIäºæ¥è ã¬ã€ãã©ã€ã³ãïŒ2024幎3æïŒã¯ãé«ãªã¹ã¯AIã·ã¹ãã ã«å¯ŸããŠAIå©çšã®èšé²ã»å€æŽå±¥æŽã®ç®¡çãæšå¥šããŠããŸããããã³ããããŒãžã§ã³ç®¡çã®äœæè èšé²ã»å€æŽã¿ã€ãã»æ¿èªãã°ã¯ãã®ã¬ã€ãã©ã€ã³ã®ãã¬ãŒãµããªãã£èŠä»¶ãæºãããŸããå»çã»éèã»éèŠã€ã³ãã©åéã§ã¯ã12ã¶æä»¥äžã®ããã³ããããŒãžã§ã³å±¥æŽãšæ¹ãã鲿¢ã¹ãã¬ãŒãžãæ±ããããå ŽåããããŸãã
æ±ã¢ãžã¢ã»ã¢ãžã¢å€ªå¹³æŽå°åïŒããŒã¿äž»æš©ïŒïŒ æ¥æ¬ïŒæ¹æ£å人æ å ±ä¿è·æ³ïŒã»éåœïŒPIPAïŒã»ã·ã³ã¬ããŒã«ïŒPDPAïŒã»ãã¬ãŒã·ã¢ïŒPDPAïŒã¯ããŒã¿ã®è¶å¢è»¢éã«é¢ããèŠå¶ã匷åããŠããŸããããã³ãããå人ããŒã¿ãåŠçããå ŽåãããŒãžã§ã³ç®¡çæžã¿ã®ããã³ãããªããžããªããªã³ãã¬ãã¹ãŸãã¯ããŒã«ã«ã¯ã©ãŠããªãŒãžã§ã³ã«ä¿æããããšã§è¶å¢è»¢éãªã¹ã¯ã軜æžã§ããŸãã
ã°ããŒãã«å±éããäŒæ¥åãïŒEU AIæ³ïŒïŒ EU AIæ³ã¯å»çã»éèã»HRã»éèŠã€ã³ãã©ã®é«ãªã¹ã¯ã·ã¹ãã ã«å¯ŸããŠAIåºåã®ãã¬ãŒãµããªãã£ãèŠæ±ããŸããããŒãžã§ã³ç®¡çæžã¿ããã³ããå±¥æŽïŒäœæè ã»æ¥ä»ã»å€æŽã¿ã€ãã»æ¿èªèšé²ïŒã¯è¿œå ããŒã«ãªãã§ãã®ãã¬ãŒãµããªãã£èŠä»¶ãæºãããŸãã
ãããã質å
ããã³ããã®ããŒãžã§ã³ç®¡çãšã¯äœã§ããïŒ
ããã³ããã®ããŒãžã§ã³ç®¡çãšã¯ãAIããã³ãããžã®ãã¹ãŠã®å€æŽã远跡ããä»»æã®ä»¥åã®ããŒãžã§ã³ãžã®ããŒã«ããã¯ãå¯èœã«ããå倿Žã®äœæè ãšçç±ãèšé²ããã·ã¹ãã ã§ããããã³ããã«ã»ãã³ãã£ãã¯ããŒãžã§ãã³ã°ïŒMAJOR.MINOR.PATCHïŒãé©çšããŸãïŒåºåãã©ãŒããã倿Žã¯MAJORãå質æ¹åã¯MINORã誀åä¿®æ£ã¯PATCHãããã³ããã¯Gitã«ããã¹ããã¡ã€ã«ãšããŠä¿åããã倿Žã¯PRã¬ãã¥ãŒãçµãŠããªãªãŒã¹ã«ã¯ã¿ã°ãä»ããããŸãã
ããã³ããå°çšã®Gitãªããžããªã¯å¿ èŠã§ããïŒæ¢åã®ã¢ããªã®ãªããžããªã§ç®¡çã§ããŸããïŒ
5åæªæºã®ããŒã ãŸãã¯20ä»¶æªæºã®ããã³ããã®å ŽåïŒæ¢åã®ã¢ããªãªããžããªã®/prompts/ãã£ã¬ã¯ããªã䜿çšããŠãã ãããããå€§èŠæš¡ãªããŒã ãè€æ°ãµãŒãã¹ã§ããã³ãããå ±æããå ŽåïŒå°çšã®ããã³ãããªããžããªã®æ¹ãæææš©ã»ç¬ç«ããããŒãžã§ãã³ã°ã»ã¢ã¯ã»ã¹å¶åŸ¡ãæç¢ºã«ãªããŸããããã³ãããã¢ããªããžãã¯ãšå¯çµåããŠããå Žåã¯ã¢ããªãªããžããªããè€æ°ãµãŒãã¹ãããŒã ã«ãŸãããå Žåã¯å°çšãªããžããªã䜿çšããŠãã ããã
ããã³ããã®ããŒãžã§ã³ç®¡çãšã¢ãã«ã®ããŒãžã§ã³ç®¡çã®éãã¯äœã§ããïŒ
ããã³ããã®ããŒãžã§ã³ç®¡çã¯ãã¢ãã«ã«éä¿¡ããããã¹ãæç€ºãžã®å€æŽã远跡ããŸããã¢ãã«ã®ããŒãžã§ã³ç®¡çã¯ãã¢ããªã±ãŒã·ã§ã³ãåŒã³åºãAIã®ããŒãžã§ã³ïŒGPT-4oã»Claude 3.7ã»Llama 4ïŒã远跡ããŸããäž¡æ¹ã«å¥åã®ããŒãžã§ã³ç®¡çãå¿ èŠã§ãã察象ã¢ãã«ã倿Žããå Žåãããã³ããããã¹ããåäžã§ãMAJORãã³ããšããŠæ±ã£ãŠãã ãããç°ãªãã¢ãã«ã¯åãããã³ããã«å¯ŸããŠç°ãªãå¿çãè¿ããŸãã
ãããã¯ã·ã§ã³çšããã³ããã®æå°ãã¹ãã¹ã€ãŒããµã€ãºã¯ïŒ
10ã20ä»¶ã®ãŽãŒã«ãã³ãã¹ãã±ãŒã¹ãæå°ã§ããããããŒãã¹ã»ãšããžã±ãŒã¹ïŒç©ºã®å ¥åã»éåžžã«é·ãå ¥åïŒã»æµå¯Ÿçãªå ¥åïŒæç€ºã®äžæžã詊è¡ïŒã»æ¢ç¥ã®å€±æãã¿ãŒã³ãã«ããŒããŠãã ããã10ä»¶æªæºã§ã¯ãšããžã±ãŒã¹ãäžååã50ä»¶è¶ ã¯ã¡ã³ããã³ã¹ã³ã¹ããé«ãè²»çšå¯Ÿå¹æãäœäžããŸãã
åãããã³ãããè€æ°ã®ã¢ãã«ã§äœ¿çšããå Žåã®ããŒãžã§ã³ç®¡çã¯ïŒ
ããã³ããïŒã¢ãã«ã®çµã¿åããããšã«å¥åã®ããŒãžã§ã³å±¥æŽã管çããŠãã ãããããã³ãããã¡ã€ã«ã«ã¡ã¿ããŒã¿ããããŒã䜿çšããŸãïŒ`# version: 2.1.0 | model: gpt-4o`ãæ°ããã¢ãã«ã«ãããã€ããéã¯æ¢åãã¡ã€ã«ãäžæžããããæ°ããããªã¢ã³ããã¡ã€ã«ãäœæããŸããææ Œåã«ãã¹ãŠã®ã¢ãã«ããªã¢ã³ãã«å¯ŸããŠãŽãŒã«ãã³ãã¹ãã¹ã€ãŒããå®è¡ããŠãã ããã
æèšã®å€æŽããšã«ããŒãžã§ã³ãäžããå¿ èŠããããŸããïŒ
ã¯ãââãã¹ãŠã®å€æŽã¯äœããã®ã¬ãã«ã§ããŒãžã§ã³ãäžããŸãã誀åä¿®æ£ïŒPATCHããã©ãŒããã倿Žã®ãªãå質æ¹åïŒMINORãäžæµã®ããŒãµãŒãå£ããã©ãŒãããã»æ§é 倿ŽïŒMAJORãããŒãžã§ã³ãã³ããçç¥ããªãã§ãã ããã埮å°ãªæèšå€æŽã§ãã¢ãã«ã®åäœã«äºæããªã圱é¿ãäžããå¯èœæ§ããããããŒãžã§ã³ç®¡çã®ãªã倿Žã¯ããŒã«ããã¯ã§ããŸããã
ããã³ããã®ããŒãžã§ã³ç®¡çããã€ãã£ãã«ãµããŒãããããŒã«ã¯ïŒ
Braintrustã»PromptLayerã»Vellumã¯ãããŒãžã§ã³æ¯èŒã»è©äŸ¡å®è¡ã»å·®åå±¥æŽè¡šç€ºã®UIããã·ã¥ããŒããæã€ãã€ãã£ãã®ããã³ããããŒãžã§ãã³ã°ãæäŸããŸããLangSmithã¯ãã®ããã«ããã³ããããŒãžã§ã³è¿œè·¡æ©èœãå èµããŠããŸããããã·ã³ãã«ãªèšå®ã«ã¯ã/prompts/ãã£ã¬ã¯ããªã䜿ã£ãgitãæå¹ã§ããããã³ããã¯ããã¹ããã¡ã€ã«ã§ãããgitãå·®åã»å±¥æŽã»ããŒã«ããã¯ããã€ãã£ãã«åŠçããŸãã
gitã䜿çšããŠããªãå Žåã®ããã³ããã®ããŒã«ããã¯æ¹æ³ã¯ïŒ
ããã³ãã管çãã©ãããã©ãŒã ïŒBraintrustã»Vellumã»PromptLayerïŒã䜿çšããŠããå Žåã¯ãçµã¿èŸŒã¿ã®ããŒãžã§ã³å±¥æŽã䜿ã£ãŠä»¥åã®æ¿èªæžã¿ããŒãžã§ã³ã«æ»ããŸããç°å¢å€æ°ã§ããã³ãããä¿åããŠããå Žåã¯ã倿Žåã«ããã¯ã¢ãããä¿æãããããã€ãã€ãã©ã€ã³çµç±ã§åŸ©å ããŸããä»åŸã®ããã«CHANGELOG.mdãã¡ã€ã«ãæäœé远å ããŠãã ããââgitããªããŠãããŒã«ããã¯ã®åç §ã«ãªããŸãã
ããã³ããã®ããŒãžã§ã³ç®¡çã«METI AIã¬ããã³ã¹ã¬ã€ãã©ã€ã³ã¯ã©ãé¢ä¿ããŸããïŒ
çµæžç£æ¥çïŒMETIïŒã®ãAIäºæ¥è ã¬ã€ãã©ã€ã³ãïŒ2024幎ïŒã¯ãAIå©çšäºæ¥è ã«å¯ŸããŠAIå©çšã®èšé²ã»å€æŽå±¥æŽã®ç®¡çãæšå¥šããŠããŸããããã³ããããŒãžã§ã³ç®¡çã®å€æŽå±¥æŽã»äœæè èšé²ã»æ¿èªãã°ã¯ããã®ã¬ã€ãã©ã€ã³ãæ±ãããã¬ãŒãµããªãã£ãæºãããŸããå»çã»éèã»ã€ã³ãã©åéã§ã¯ãããã«å³å¯ãªèšé²ä¿æïŒ12ã¶æä»¥äžïŒãæ±ããããå ŽåããããŸãã
æ¥æ¬ã®ãšã³ã¿ãŒãã©ã€ãºç°å¢ã§ããã³ãã管çãå°å ¥ãããã€ã³ãã¯ïŒ
æ¥æ¬ã®å€§äŒæ¥ã§ã¯ãããã³ãã倿Žã«å¯Ÿããããã¥ã¡ã³ãåã»æ¿èªããã»ã¹ãéèŠèŠãããŸããå ·äœçãªå°å ¥ãã€ã³ãïŒïŒ1ïŒããã³ãããªããžããªãGitHub Enterpriseãªã©ç€Ÿå ã·ã¹ãã ã§ç®¡çãïŒ2ïŒå€æŽã¯ãã¹ãŠPRã¬ãã¥ãŒå¿ é ã§æ¿èªè ãæèšãïŒ3ïŒå€æŽãã°ã«ããžãã¹èŠä»¶ãšã®é¢é£ä»ããèšé²ãïŒ4ïŒååæããšã®ããã³ããç£æ»ã宿œãã»ãã¥ãªãã£èŠä»¶ãå³ããå Žåã¯Braintrustã»Vellumã®ãªã³ãã¬ãã¹ãªãã·ã§ã³ã§GDPRçžåœã®ããŒã¿ç®¡çã確ä¿ããŠãã ããã
é¢é£è³æ
- ããŒã ã®ããã®ããã³ããã¬ãã¥ãŒã¯ãŒã¯ãã㌠â ããã³ãã倿Žããããã€åã«ã¬ãã¥ãŒããããã®7ç¹ãã§ãã¯ãªã¹ããšCI/CDã²ãŒã
- LLMåºåã®ãã«ãå質ãã§ã㯠â ããã³ããPRã²ãŒãã®äžéšãšããŠå®è¡ããèªåå質ãã§ãã¯
- ã¢ãã«æšªæã§ã®ããã³ãããã¹ãæ¹æ³ â ãªãªãŒã¹åã®ããã³ããäžè²«æ§ãæ€èšŒããã¯ãã¹ã¢ãã«ååž°ãã¹ã
- AIãã«ã·ããŒã·ã§ã³ãæ¢ããæ¹æ³ â ããŒãžã§ã³ç®¡çã¯ãŒã¯ãããŒã®èªåãã¹ãã¹ãããåããã«ã·ããŒã·ã§ã³æ€åºæè¡
- RTFããã³ãããã¬ãŒã ã¯ãŒã¯ â åºåãã©ãŒããããæç€ºããããšã§ããŒãžã§ã³ç®¡çãç°¡çŽ åããæ§é åããã³ãã圢åŒïŒRoleã»Taskã»FormatïŒ
åèæç®
- Semantic Versioning仿§ïŒsemver.orgïŒ â MAJOR.MINOR.PATCHã®æšæºä»æ§ãããã³ããããŒãžã§ãã³ã°ã«çŽæ¥é©çšå¯èœ
- Gitããã¥ã¡ã³ãïŒgit revert â ããã³ããããŒãžã§ã³ç®¡çã¯ãŒã¯ãããŒã§äœ¿çšããäž»èŠããŒã«ããã¯ã¡ã«ããºã ã®å ¬åŒãªãã¡ã¬ã³ã¹
- BraintrustïŒããã³ããè©äŸ¡ã»ããŒãžã§ãã³ã°ã¬ã€ã â å°çšããŒã«ã䜿ã£ãããã³ããããŒãžã§ãã³ã°ã»èªåãã¹ãã»CI/CDçµ±åã®æè¡ã¬ã€ã