从Vibe Coding到SDD:规范驱动开发如何拯救AI编程失控
ä»Vibe Codingå°SDDï¼è§è驱å¨å¼åå¦ä½æ¯æAIç¼ç¨å¤±æ§
dzhd 2026-08-20 21 é 读5åéä»Vibe Codingå°SDDï¼è§è驱å¨å¼åå¦ä½æ¯æAIç¼ç¨å¤±æ§
å«å让AIâçâä½ çéæ±äºï¼å åå¥½ææ¡£åå代ç ã
ä½ ææ²¡æè¿è¿æ ·çç»åï¼æå¼ä¸ä¸ªAIç¼ç¨å·¥å ·ï¼è¾å ¥ä¸å¥â帮æåä¸ä¸ªç¨æ·è®¤è¯ç³»ç»âï¼ççAIåååçæå åè¡ä»£ç ï¼è·èµ·æ¥å¥½å没é®é¢ï¼å¿éç¾æ»æ»âââæçæåäº10åï¼â å¯å°äºç¬¬äºå¨ï¼éæ±ä¸åï¼æ¹ä¸ä¸ªå°æ¹å´©ä¸ä¸ªå°æ¹ï¼AIå¼å§âå¹»è§âå¼è¡¥å ¨ï¼ä½ é·å ¥æ ç©·æ å°½çè¿å·¥åèªææçã
è¿å°±æ¯**Vibe Codingï¼æ°å´ç¼ç¨ï¼**çå ¸åé·é±ãå®è®©äººä¸å¤´ï¼ä½åæ£æ ç©·ãä»å¤©ï¼ææ³åä½ èèä¸ç§æ°çAIåä½èå¼ââSDDï¼Spec-Driven Developmentï¼è§è驱å¨å¼åï¼ï¼ä»¥åå¦ä½ç¨å®æ¥çæ£ææ§AIï¼è䏿¯è¢«AI带çèµ°ã
ä¸ãVibe Codingï¼æçç¥è¯èåçâææ¯åºâé·é±
Vibe Codingæ¯å½ä¸å¾ç«çä¸ç§ç¼ç¨æ¹å¼ââä½ ç»åºæ¨¡ç³çæå¾ï¼AI Agentï¼å¦Claude CodeãCodexãCursorçï¼ç´æ¥çæå¤§é代ç ãçèµ·æ¥å¾ç½ï¼ä½é®é¢ä¹æ¥è¸µèè³ï¼
- ä¸ä¸æç¼ºå¤±ï¼AIä¸ç¥éä½ ç项ç®èæ¯ãææ¯æ ãå·²æä»£ç 飿 ¼ï¼åªè½âçâã
- ä¼è¯åå²ä¸¢å¤±ï¼èçèççªå£å ³äºï¼ä¹åçå³çåçç±å ¨æ²¡äºã
- AIå¹»è§ï¼AIä¼âèªä¿¡âå°çæä¸åå¨çAPIãé误çé»è¾ï¼çè³ç¼é æ¡æ¶ç¨æ³ã
- è¿å·¥ææ¬ï¼ç¬¬ä¸å¨ç¡®å®å¿«ï¼ç¬¬äºå¨å¼å§ä¿®ä¿®è¡¥è¡¥ï¼ç¬¬ä¸ä¸ªæé·å ¥èªææçâââè¿ä»£ç å°åºè½ä¸è½ç»´æ¤ï¼â
æ¬è´¨é®é¢æ¯ä»ä¹ï¼ æä»¬è·³è¿äºâæ³æ¸ æ¥âè¿ä¸æ¥ï¼ç´æ¥è¿å ¥äºâååºæ¥âè¿ä¸æ¥ãèAIå强ï¼ä¹è¯»ä¸æä½ èåéæ²¡è¯´å®çéæ±ã
äºãSDDï¼ææäºç©é½è¯¥ç»å两次åé
Stephen Coveyå¨ã髿è½äººå£«ç7ä¸ªä¹ æ¯ãéæå°ä¸ä¸ªç»å ¸è§ç¹ï¼ä»»ä½äºæ é½è¦ç»è¿ä¸¤æ¬¡åé ââç¬¬ä¸æ¬¡æ¯å¿æºä¸çåé ï¼èå¾ï¼ï¼ç¬¬äºæ¬¡æ¯ç©çä¸çåé ï¼å®æ½ï¼ã
SDDæ£æ¯æè¿ä¸ªç念æ¬å°äºAIç¼ç¨ä¸ã
- ç¬¬ä¸æ¬¡åé ï¼å¿æºï¼ï¼åææ¡£ââéæ±æ¯ä»ä¹ï¼æä¹å®ç°ï¼åå æ¥èµ°ï¼
- ç¬¬äºæ¬¡åé ï¼ç©çï¼ï¼AIæ ¹æ®ææ¡£çæä»£ç ã
ä¸ç»èå¾ä¸çæ¿ï¼ä¸åææ¡£ä¸ç¼ç ã
ä¸ãSDDçæ ¸å¿ææ¡£ä½ç³»ï¼æéå è½½ï¼ä¸ç¡¬å ï¼
SDD䏿¯è®©ä½ åå ç¾é¡µçâåºè¯ææ¡£âï¼èæ¯ç²¾ç¼ã坿§è¡ãå¯éªè¯çæå¾è¡¨è¾¾ãææå®ææä¸ä»½æ ¸å¿ææ¡£ï¼
| ææ¡£ | ä½ç¨ | ç±»æ¯ |
|---|---|---|
| proposal.md | éæ±è°ç ä¸åæï¼æç¡®âåä»ä¹â | 产åç»ççPRDéå½¢ |
| design.md | ææ¯æ¶æä¸éåï¼æç¡®âæä¹åâ | æ¶æå¸çè®¾è®¡æ¹æ¡ |
| task.md | ä»»å¡æè§£ä¸æ§è¡é¡ºåºï¼æç¡®âå åä»ä¹ï¼ååä»ä¹â | 项ç®ç»çççç¹å¾ |
è¿ä¸ä»½ææ¡£å å¨ä¸èµ·ï¼å°±æ¯AIçâ宿´ä¸ä¸æâãAIä¸åé çï¼èæ¯ç §çè§èæ§è¡ã代ç çæåªæ¯æåçâä½åæ´»âã
åã宿æ¡ä¾ï¼ä¸ä¸ªæµè§å¨æä»¶é¡¹ç®çSDDå®è·µ
æä»¬æ¥ç»åä¸ä¸ªçå®é¡¹ç®ââmd-wx-chrome-extensionsï¼ä¸ä¸ªä¸é®æåè±æç½é¡µæ ¸å¿å 容ãè°ç¨AIç¿»è¯å¹¶ä»¥Markdownæ ¼å¼è¾åºçæµè§å¨æä»¶ã
4.1 proposal.mdï¼éæ±å è¡
æä»¬ä¸æ¥çå代ç ï¼å é®èªå·±å 个é®é¢ï¼
- ç¨æ·æ¯è°ï¼ 大ç½çº¢ãå ¬ä¼å·ä½è ãMD-WXç¨æ·ã
- æ ¸å¿åºæ¯ï¼ æµè§è±æç½é¡µæ¶ï¼ä¸é®æåæ ¸å¿å 容ï¼ç¿»è¯ï¼å¤å¶ã
- æ ¸å¿é¾ç¹ï¼ å¦ä½âæåæç« æ ¸å¿å 容âï¼ä¸æ¯ç®åçå ¨ææåï¼è¦è¯å«æ£æãå»åªã
- AI模åæä¹é ï¼ å¯é ç½®ï¼æ¯æDeepSeekãQwençï¼å ¼å®¹OpenAIæ ¼å¼ã
- è¾åºæ ¼å¼ï¼ æ åMarkdownï¼ä¸é®å¤å¶ã
- äº¤äºæ¹å¼ï¼ æµè§å¨æä»¶æé®ï¼æµå¼è¾åºç¿»è¯ç»æã
4.2 design.mdï¼ææ¯éå䏿¶æ
- å
容æåï¼ç¨
ReadabilityæAIè¾ å©è¯å«ï¼éè¿LLMåæDOMç»æï¼ââè¿ä¸æ¥æé¾ï¼å»ºè®®åClaude Codeå¤èå æ¬¡ï¼éªè¯å¯è¡æ§ã - AIè°ç¨ï¼ç»ä¸ç¨OpenAIå ¼å®¹æ¥å£ï¼ä¾¿äºåæ¢æ¨¡åã
- Markdown渲æï¼ä½¿ç¨
markedåºï¼éç¨æ¹æ¡ï¼ã - UIï¼ç®æ´æé®+æµå¼è¾åºå¸å±ã
4.3 task.mdï¼ä»»å¡æè§£
- å建项ç®åGitä»åºï¼çæ¬æ§å¶æ¯åºçº¿ï¼ã
- å®ç°å 容æå模åï¼å åºMVPï¼åªæ¯æä¸»æµæ°é»ç±»ç½ç«ï¼ã
- å®ç°AIè°ç¨æ¨¡åï¼é ç½®åAPI Key忍¡ååï¼ã
- å®ç°Markdown渲æä¸å¤å¶åè½ã
- å®åUI䏿µå¼è¾åºã
- æµè¯ãæå ãåå¸ã
äºãçæ¬æ§å¶ï¼AIçæä»£ç çâåæè¯â
AIå强ä¹å ä¸äºç¯éï¼å¹»è§ï¼ãæä»¥çæ¬æ§å¶ä¸æ¯å¯éé¡¹ï¼æ¯ä¿å½é¡¹ãé对ä¸åé¶æ®µçâ翻车âï¼ææ»ç»äºå¿«éåé䏿¿æ§ï¼
| åºæ¯ | å½ä»¤ |
|---|---|
| å·¥ä½åºä¿®æ¹äºï¼ä½è¿æ²¡add | git restore . |
| å·²ç»addäºï¼ä½è¿æ²¡commit | git restore --stage . + git restore . |
| å·²ç»commitäº | git reset --hard HEAD^ |
æ ¸å¿ååï¼AIçæçæ¯ä¸ä»½å¯éªæ¶ä»£ç ï¼é½è¦å³æ¶æäº¤ãVibe Codingä¸å¯è¿½æº¯ï¼SDDè¦æ±å¯è¿½æº¯ãå¯åéã
å ã管çAIä¼è¯ï¼å«è®©ä¸ä¸æâ失å¿â
æ¯æ¬¡å¼å¯æ°å¯¹è¯ï¼AIé½ä¼ä¸¢å¤±ä¹åçå³çèæ¯ãæä»¥ï¼
- æ¯ä¸æ¬¡å ³é®å³çï¼é½è¦åè¿ææ¡£ï¼proposal/design/taskï¼ã
- æ¯ä¸ªæ°ä¼è¯ï¼å æææ°çææ¡£è´´è¿å»ï¼å让AI干活ã
- 嫿æAIè®°ä½ä½ ä¸å¨è¯´çæå¥è¯ââå®ä¸ä¼ï¼ä½ å¾å¸®å®âåæ¡£âã
ä¸ãæ»ç»ï¼SDD䏿¯å½¢å¼ä¸»ä¹ï¼æ¯AIç¼ç¨çâ导èªä»ªâ
Vibe Codingåå¼ç²çââä½ æ°¸è¿ä¸ç¥éAIä¸ä¸æ®µä»£ç ä¼ååºä»ä¹ãèSDDå导èªââå è§å路线ï¼åå¯å¨å¼æï¼å³ä½¿åèªä¹è½å¿«éçº æ£ã
å¨AIçæä»£ç ææ¬è¶è¿äºé¶çæ¶ä»£ï¼çæ£ç¨ç¼ºçæ¯æ¸ æ°ã坿§è¡ãå¯éªè¯çæå¾ãèSDDï¼å°±æ¯å¸®æä»¬ææå¾âéâå¨ææ¡£éï¼è®©AIæä¸ºå¿ 宿§è¡è ï¼è䏿¯çè°è ã
䏿¬¡åæå¼AIç¼ç¨å·¥å
·æ¶ï¼ä¸å¦¨å
é®èªå·±ä¸å¥ï¼
âæçèå¾ç»å¥½äºåï¼â
妿è¿ç¯æç« å¯¹ä½ æå¸®å©ï¼æ¬¢è¿ç¹èµãè¯è®ºãæ¶èï¼ä¹æ¬¢è¿å¨æéåæäº¤æµæ´å¤AIç¼ç¨å®è·µã
Aitishiku.com