Vibe Codingå ¥éã2026幎çãâ AIã«ãããªãã§æç€ºããæ°ããéçºã¹ã¿ã€ã«ãšã¯
Andrej Karpathyãæå±ããVibe Codingãšã¯äœãïŒåŸæ¥ã®éçºãšã®éããå®è·µæ¹æ³ãåããŠãããããžã§ã¯ããæ³šæç¹ãããããããŒã«ããããããã解説ããŸãã
ãã³ãŒããæžãã®ã§ã¯ãªããAIã«âããªâã§æç€ºããããããVibe Codingã ã â ãã®æ°ããéçºã¹ã¿ã€ã«ãã2025幎ãããšã³ãžãã¢ã®éã§æ¥éã«åºãŸã£ãŠããŸãã
æ¬èšäºã§ã¯ãVibe Codingã®æŠå¿µããå®è·µæ¹æ³ãåããŠãããããžã§ã¯ããšæ³šæç¹ãããããããŒã«ãŸã§ããšã³ãžãã¢ãç¥ã£ãŠããã¹ãæ å ±ãäœç³»çã«è§£èª¬ããŸãã
Vibe Codingãšã¯äœã
Andrej Karpathyã®æå±
Vibe Codingã¯ãå Tesla AI責任è ã§ããå OpenAIç ç©¶è ã®Andrej Karpathyæ°ã2025幎2æã«æå±ããæŠå¿µã§ãã圌ã¯Xã§æ¬¡ã®ããã«è¿°ã¹ãŸããã
âThereâs a new kind of coding I call âvibe codingâ, where you fully give in to the vibes, embrace exponentials, and forget that the code even exists.â ïŒæ°ããã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ããVibe CodingããšåŒãã§ãããå®å šã«ãã€ãã¹ã«èº«ãå§ããææ°é¢æ°çãªæé·ãåãå ¥ããã³ãŒãã®ååšããå¿ããã®ã ãïŒ
ã€ãŸãVibe Codingãšã¯ãAIã«èªç¶èšèªã§æç€ºãåºããçæãããã³ãŒãã现ããã¬ãã¥ãŒãããåããã©ããã§å€æãããšããéçºã¹ã¿ã€ã«ã§ãã
åŸæ¥ã®éçºãšã®éã
| èŠ³ç¹ | åŸæ¥ã®éçº | Vibe Coding |
|---|---|---|
| ã³ãŒãã®æžãæ | 人é | AI |
| æç€ºæ¹æ³ | ã³ãŒããçŽæ¥æžã | èªç¶èšèªã§æç€º |
| ã³ãŒãã¬ãã¥ãŒ | 詳现ã«è¡ã | æäœéãŸãã¯çç¥ |
| å質æ ä¿ | ã³ãŒãã®æ£ç¢ºæ§ | åäœã®æ£ç¢ºæ§ |
| ãããã° | ã³ãŒããèªãã§åå ãç¹å® | ãšã©ãŒã¡ãã»ãŒãžãAIã«æž¡ã |
| å¿ èŠãªã¹ãã« | ããã°ã©ãã³ã°èšèªã®ç¥è | èŠä»¶ãèšèªåããå |
| éçºé床 | 段éç | ççºçã«éã |
Vibe Codingã®æ¬è³ª
Vibe Codingã®æ¬è³ªã¯ãããã°ã©ãã³ã°ã®æœè±¡åºŠãäžæ®µéäžãã£ããããšã§ãã
- æ©æ¢°èª â ã¢ã»ã³ã㪠â Cèšèª â Python â èªç¶èšèª
ãããŸã§ãããã°ã©ãã³ã°ã¯æœè±¡åºŠãäžããæ¹åã«é²åããŠããŸãããVibe Codingã¯ããã®å»¶é·ç·äžã«ããèªç¶ãªé²åãšæããããšãã§ããŸãã
ãã ãéèŠãªã®ã¯ãKarpathyæ°èªèº«ããããã¯é±æ«ã®ãããžã§ã¯ãã«åããŠããããšæç¢ºã«è¿°ã¹ãŠããããšã§ãããããã¯ã·ã§ã³å質ã®ã³ãŒããVibe Codingã ãã§äœãããšã¯æšå¥šãããŠããŸããã
Vibe Codingã®å®è·µæ¹æ³
ã¹ããã1: ããŒã«ãæºåãã
Vibe Codingã«å¿ èŠãªã®ã¯ã髿§èœãªAIã³ãŒãã£ã³ã°ããŒã«ã§ãã以äžã®ãããããçšæããŸãããã
- Cursor: ãšãã£ã¿åãComposerã¢ãŒããæé©ïŒCursorå®å šã¬ã€ãïŒ
- Claude Code: ã¿ãŒããã«åãèªåŸçãªéçºãå¯èœïŒClaude Codeå®å šã¬ã€ãïŒ
- v0: ããã³ããšã³ãç¹åãUIãããã³ããã§çæ
- Bolt: ãã«ã¹ã¿ãã¯ã¢ããªãããã³ããã§çæ
- Lovable: UIãã¶ã€ã³ããã³ãŒãçæãŸã§
ã¹ããã2: èŠä»¶ãèªç¶èšèªã§æžã
ã³ãŒãã§ã¯ãªããäœããããã®ãèªç¶èšèªã§èšè¿°ããŸãã
æªãäŸïŒæœè±¡çãããïŒ:
ToDoã¢ããªãäœã£ãŠ
è¯ãäŸïŒå ·äœçã ã现ããããªãïŒ:
Next.js 15 + Tailwind CSSã§ã以äžã®æ©èœãæã€ToDoã¢ããªãäœã£ãŠã
- ã¿ã¹ã¯ã®è¿œå ã»ç·šéã»åé€ãã§ãã
- ã¿ã¹ã¯ã«æéãèšå®ã§ãã
- å®äº/æªå®äºã®åãæ¿ããã§ãã
- ã«ããŽãªå¥ã«ãã£ã«ã¿ãªã³ã°ã§ãã
- ããŒã¿ã¯ããŒã«ã«ã¹ãã¬ãŒãžã«ä¿åãã
- ã¬ã¹ãã³ã·ããã¶ã€ã³ã§ãããŒã¯ã¢ãŒãã«å¯Ÿå¿ãã
ã¹ããã3: AIã«çæãããŠåãã
æç€ºãåºããããAIãã³ãŒããçæããã®ãåŸ ã¡ãŸããçæãããã³ãŒããéäžã¬ãã¥ãŒããå¿ èŠã¯ãããŸããããŸãåãããŠã¿ãŠãæåŸ éãã®æåãã©ããã確èªããŸãã
ã¹ããã4: ãã£ãŒãããã¯ã«ãŒããåã
æåŸ ãšç°ãªãéšåãããã°ã远å ã®æç€ºãåºããŸãã
ã«ããŽãªã®ãã£ã«ã¿ãªã³ã°ãåããŠããªãã
ã¿ã¹ã¯äžèЧã®äžã«ã«ããŽãªã®ã¿ãã衚瀺ããŠã
ã¿ããã¯ãªãã¯ãããšãã®ã«ããŽãªã®ã¿ã¹ã¯ã ã衚瀺ãããããã«ããŠã
ãã€ã³ã: ãšã©ãŒãåºãå Žåã¯ããšã©ãŒã¡ãã»ãŒãžããã®ãŸãŸAIã«æž¡ãã ãã§ãã
以äžã®ãšã©ãŒãåºãŠãããä¿®æ£ããŠã
TypeError: Cannot read property 'filter' of undefined
at TaskList (src/components/TaskList.tsx:15:23)
ã¹ããã5: ç¹°ãè¿ã
ãæç€º â çæ â ç¢ºèª â ä¿®æ£æç€ºãã®ãµã€ã¯ã«ãç¹°ãè¿ãããšã§ãã¢ããªã±ãŒã·ã§ã³ã宿ãããŠãããŸãã
Vibe Codingã®å®äŸ
å®äŸ1: ããŒããã©ãªãªãµã€ãã®äœæ
Astro + Tailwind CSSã§ããšã³ãžãã¢ã®ããŒããã©ãªãªãµã€ããäœã£ãŠã
- ããŒããŒã»ã¯ã·ã§ã³ïŒååãè©æžããç°¡åãªèªå·±ç޹ä»ïŒ
- ãããžã§ã¯ãäžèЧïŒã«ãŒã圢åŒãç»åä»ãïŒ
- ã¹ãã«äžèЧïŒã¢ã€ã³ã³ä»ãïŒ
- è·æŽïŒã¿ã€ã ã©ã€ã³åœ¢åŒïŒ
- ãåãåãããã©ãŒã ïŒFormspree飿ºïŒ
- ããŒã¯ã¢ãŒã察å¿
- ã¢ãã¡ãŒã·ã§ã³ä»ã
ãã®ããã³ããã ãã§ãæ°åã§å®å šã«åäœããããŒããã©ãªãªãµã€ããçæãããŸããv0ãCursorãClaude Codeãçµã¿åãããå ·äœçãªã¯ãŒã¯ãããŒã¯v0 à Cursor à Claude Codeã®å®è·µã¬ã€ãã§è©³ãã解説ããŠããŸãã
å®äŸ2: 瀟å ããŒã«ã®ãããã¿ã€ã
React + shadcn/uiã§ã瀟å
ã®åšåº«ç®¡çããã·ã¥ããŒããäœã£ãŠã
- ååäžèЧããŒãã«ïŒæ€çŽ¢ã»ãœãŒãã»ããŒãžããŒã·ã§ã³ä»ãïŒ
- ååã®è¿œå ã»ç·šéãã©ãŒã ïŒã¢ãŒãã«è¡šç€ºïŒ
- åšåº«æ°ã®æšç§»ã°ã©ãïŒRecharts䜿çšïŒ
- äœåšåº«ã¢ã©ãŒãã®è¡šç€º
- CSVãšã¯ã¹ããŒãæ©èœ
- ã¢ãã¯ããŒã¿ã§åãããã«ããŠ
å®äŸ3: APIã®ã¢ãã¯ãµãŒããŒ
Express.jsã§ãECãµã€ãã®APIã¢ãã¯ãµãŒããŒãäœã£ãŠã
- GET /products: ååäžèЧïŒããŒãžããŒã·ã§ã³ä»ãïŒ
- GET /products/:id: åå詳现
- POST /cart: ã«ãŒãã«è¿œå
- GET /cart: ã«ãŒãå
容ååŸ
- POST /orders: 泚æäœæ
- ã¢ãã¯ããŒã¿ã¯faker.jsã§çæããŠ
- ã¬ã¹ãã³ã¹ã«500msçšåºŠã®é
å»¶ãå
¥ããŠ
Vibe Codingã«åããŠãããããžã§ã¯ã
åããŠãããã®
| ãããžã§ã¯ã | çç± |
|---|---|
| ãããã¿ã€ãã»MVP | ã¹ããŒããæåªå ãå質ã¯åŸã§æ¹åã§ãã |
| å人ãããžã§ã¯ã | èªåã ãã䜿ãã®ã§ãªã¹ã¯ãäœã |
| ããã«ãœã³ | å¶éæéå ã«åããã®ãäœãå¿ èŠããã |
| åŠç¿ç®çã®ã¢ã㪠| åãããªããæè¡ãåŠã¹ã |
| 瀟å ããŒã« | ãŠãŒã¶ãŒãéå®çã§èŠä»¶å€æŽã容æ |
| ã©ã³ãã£ã³ã°ããŒãž | éçã³ã³ãã³ãäžå¿ã§è€éãªããžãã¯ãå°ãªã |
| ããŒã¿å¯èŠå | ã°ã©ããããã·ã¥ããŒãã®çŽ æ©ãæ§ç¯ |
åããŠããªããã®
| ãããžã§ã¯ã | çç± |
|---|---|
| 決æžã»éèã·ã¹ãã | ã»ãã¥ãªãã£ãšãã°ãèŽåœçãªåœ±é¿ãäžãã |
| å»çã»ãã«ã¹ã±ã¢ | 人åœã«é¢ããããå質ä¿èšŒãå¿ é |
| å€§èŠæš¡ããŒã éçº | ã³ãŒãã®å¯èªæ§ãšä¿å®æ§ãéèŠ |
| ããã©ãŒãã³ã¹ã¯ãªãã£ã«ã« | æé©åã«ã¯ã³ãŒãã¬ãã«ã®çè§£ãå¿ èŠ |
| é·æéçšãããã¯ã | æè¡çè² åµãèç©ãããã |
Vibe Codingã®æ³šæç¹
1. æè¡çè² åµã®ãªã¹ã¯
Vibe Codingã§çæãããã³ãŒãã¯ãåãããšã¯åããå éšã®å質ãä¿èšŒãããŠããŸããã
- äžèŠãªäŸåé¢ä¿ãå«ãŸããŠããå¯èœæ§ããã
- éå¹çãªã¢ã«ãŽãªãºã ã䜿ãããŠããå¯èœæ§ããã
- ã»ãã¥ãªãã£ããŒã«ãååšããå¯èœæ§ããã
- ãã¹ããæžãããŠããªã
察ç: ãããã¿ã€ããããããã¯ã·ã§ã³ã«ç§»è¡ããéã¯ãå¿ ãã³ãŒãã¬ãã¥ãŒãšãªãã¡ã¯ã¿ãªã³ã°ãè¡ããŸãããã
2. ã¹ãã«ã®ç©ºæŽå
AIã«ãã¹ãŠä»»ããããšã§ãèªåã®ããã°ã©ãã³ã°ã¹ãã«ãè²ããªãïŒãŸãã¯è¡°éããïŒãªã¹ã¯ããããŸãã
察ç: Vibe Codingã§äœã£ãã³ãŒããåŸããèªã¿è§£ãç¿æ £ãã€ããŸããããããªãããæžããã®ãããçè§£ããããšãåŠç¿ã«ãªããŸãã
3. ãããã°ã®å°é£ã
èªåãæžããŠããªãã³ãŒãã®ãããã°ã¯å°é£ã§ãããšã©ãŒãè€éã«ãªãã»ã©ãAIãžã®æç€ºã ãã§ã¯è§£æ±ºã§ããªãå Žé¢ãåºãŠããŸãã
察ç: åºç€çãªããã°ã©ãã³ã°ç¥èïŒå€æ°ã颿°ãããŒã¿æ§é ãéåæåŠçãªã©ïŒã¯æäœé身ã«ã€ããŠãããŸãããã
4. ã»ãã¥ãªãã£ã®æžå¿µ
AIãçæããã³ãŒãã«ã¯ã»ãã¥ãªãã£äžã®åé¡ãå«ãŸããããšããããŸãã
- SQLã€ã³ãžã§ã¯ã·ã§ã³å¯Ÿçã®æŒã
- XSS察çã®äžè¶³
- èªèšŒã»èªå¯ã®å®è£ ãã¹
- æ©å¯æ å ±ã®ããŒãã³ãŒãã£ã³ã°
察ç: å ¬éããã¢ããªã±ãŒã·ã§ã³ã«ã¯å¿ ãã»ãã¥ãªãã£ã¬ãã¥ãŒã宿œããŠãã ããã
5. ãã©ãã¯ããã¯ã¹å
ã³ãŒãã®äžèº«ãçè§£ããŠããªããšã仿§å€æŽãæ©èœè¿œå ã®éã«ãAIã«å šéšæžãçŽããŠãããããããªããªããŸãã
察ç: éèŠãªããžãã¹ããžãã¯éšåã¯ãæäœéã®ã³ãŒãã¬ãã¥ãŒãè¡ããŸãããã
ããããããŒã«ã®éžã³æ¹
ããã³ããšã³ãäžå¿ãªã
| ããŒã« | ç¹åŸŽ | ãããã床 |
|---|---|---|
| v0 | UIã³ã³ããŒãã³ããããã³ããã§çæ | â â â â â |
| Cursor | Composerã¢ãŒãã§å¯Ÿè©±çã«æ§ç¯ | â â â â â |
| Bolt | ãã«ã¹ã¿ãã¯ã¢ããªããã©ãŠã¶å ã§çæ | â â â â â |
| Lovable | ãã¶ã€ã³æ§ã®é«ãUIçæ | â â â â â |
ããã¯ãšã³ãã»ãã«ã¹ã¿ãã¯ãªã
| ããŒã« | ç¹åŸŽ | ãããã床 |
|---|---|---|
| Claude Code | èªåŸçã«ãããžã§ã¯ãå šäœãæ§ç¯ | â â â â â |
| Cursor | ãšãã£ã¿å ã§å¯Ÿè©±çã«éçº | â â â â â |
| GitHub Copilot Agent | Issueèµ·ç¹ã§PRãèªåçæ | â â â â â |
| Cline | VS Codeæ¡åŒµã§ãšãŒãžã§ã³ãåéçº | â â â ââ |
åå¿è ã«ããããã®çµã¿åãã
- Boltã§ãããã¿ã€ããäœãïŒãã©ãŠã¶ã ãã§å®çµïŒ
- Cursorã§ã³ãŒãã調æŽã»æ¡åŒµãã
- Claude Codeã§ãããã€ã»éçšã¿ã¹ã¯ãèªååãã
Vibe Codingã®ãã¹ããã©ã¯ãã£ã¹
1. ã¹ã¢ãŒã«ã¹ã¿ãŒã
ãããªã倧ããªã¢ããªãäœãããšãããå°ããªåäœã§æç€ºãåºããŸãããã
# æªãäŸ
ãECãµã€ããå
šéšäœã£ãŠã
# è¯ãäŸ
ããŸãååäžèЧããŒãžã ãäœã£ãŠã
â åäœç¢ºèª
â ãæ¬¡ã«åå詳现ããŒãžã远å ããŠã
â åäœç¢ºèª
â ãã«ãŒãæ©èœã远å ããŠã
2. ããŒãžã§ã³ç®¡çãå¿ ãè¡ã
Vibe Codingã§ãGitã¯å¿ é ã§ããAIãå€§å¹ ã«ã³ãŒããæžãæããçµæãåããªããªã£ãå Žåã«å·»ãæ»ããããã«ããŸãããã
# ããŸãã«ã³ããã
git add -A && git commit -m "feat: ååäžèЧããŒãžè¿œå "
# 倧ããªå€æŽåã«ãã©ã³ããåã
git checkout -b feature/cart
3. èŠä»¶ãæç¢ºã«èšèªåãã
Vibe Codingã®å質ã¯ãæç€ºã®å質ãã«çŽçµããŸãã以äžãæèããŸãããã
- å ·äœçãªæè¡ã¹ã¿ãã¯ãæå®ãã
- UIã®æåã詳现ã«èª¬æãã
- ãšããžã±ãŒã¹ãäºåã«äŒãã
- åèã«ãªããµã€ããã¹ã¯ãªãŒã³ã·ã§ãããå ±æãã
4. ãããã¯ã·ã§ã³ç§»è¡æã®ãã§ãã¯ãªã¹ã
Vibe Codingã§äœã£ããã®ãæ¬çªç°å¢ã«åºãåã«ã以äžã確èªããŸãããã
- ã»ãã¥ãªãã£ã¬ãã¥ãŒïŒèªèšŒãå ¥åããªããŒã·ã§ã³ãXSS/CSRF察çïŒ
- ããã©ãŒãã³ã¹ãã¹ãïŒN+1ã¯ãšãªãäžèŠãªåã¬ã³ããªã³ã°ïŒ
- ãšã©ãŒãã³ããªã³ã°ïŒæ³å®å€ã®å ¥åããããã¯ãŒã¯ãšã©ãŒïŒ
- ã¢ã¯ã»ã·ããªãã£ïŒããŒããŒãæäœãã¹ã¯ãªãŒã³ãªãŒããŒå¯Ÿå¿ïŒ
- ãã¹ãã³ãŒãã®è¿œå ïŒæäœéã®E2Eãã¹ãïŒ
- ç°å¢å€æ°ã®ç®¡çïŒããŒãã³ãŒãã£ã³ã°ãããç§å¯æ å ±ããªããïŒ
ãŸãšã
Vibe Codingã¯ãAIã®é²åããããããæ°ããéçºã¹ã¿ã€ã«ã§ãããã³ãŒããæžãããããèŠä»¶ãäŒããããžã®è»¢æã¯ãããã°ã©ãã³ã°ã®æŽå²ã«ããã倧ããªäžæ©ãšãããŸãã
ãã®èšäºã®ãã€ã³ã:
- Vibe Codingã¯Andrej Karpathyãæå±ãããAIã«èªç¶èšèªã§æç€ºããããªã§éçºãããã¹ã¿ã€ã«
- ãããã¿ã€ãã»å人ãããžã§ã¯ãã»ããã«ãœã³ãªã©ãã¹ããŒãéèŠã®å Žé¢ã«æé©
- 決æžã·ã¹ãã ãå€§èŠæš¡ããŒã éçºãªã©ãå質ãéèŠãªå Žé¢ã«ã¯äžåã
- æè¡çè² åµãã»ãã¥ãªãã£ãªã¹ã¯ã«æ³šæãå¿ èŠ
- ããŒãžã§ã³ç®¡çãšæ®µéçãªéçºãå¿ããã
- ãããã¯ã·ã§ã³ç§»è¡æã«ã¯å¿ ãã¬ãã¥ãŒãšãªãã¡ã¯ã¿ãªã³ã°ãè¡ã
Vibe Codingã¯ãããŸã§ãããŒã«ãã§ãã䜿ãã©ãããèŠæ¥µããŠãéçºã®çç£æ§ãæå€§åããŸããããVibe Codingã§äœã£ããããã¿ã€ããClaude Artifactsã§çŽ æ©ãæ€èšŒãããã宿ãããããã¯ããå人éçºã§åçåããããšã次ã®ã¹ãããã«ã€ãªããŠã¿ãŠãã ããã