同步笔记

This commit is contained in:
Build Bot
2026-05-25 01:12:11 +08:00
parent f7310caea0
commit d0d19fefbb
25 changed files with 55117 additions and 1319 deletions

View File

@@ -0,0 +1,739 @@
本⽂是å
³äºŽ AI è¾
åŠ©ç¼–ç çš„å
¨â¾¯å®žæˆ˜æŒ‡å—,基于天猫新品团队的实践经验,从问题本质到解决â½
案,从理论框架到实战案例,系统性地介绍如何让 AI 更好地完成⼤部分需求。
本文分上下两篇,上篇åŒ
含:
1. 现状与问题诊断 - 深⼊剖析 AI â½£ç çš„å››â¼¤ç—›ç‚¹ï¼ˆå†™ä¸å¯¹ã€å†™ä¸å¥½ã€å†™ä¸äº†ã€æ”¹ä¸åŠ¨ï¼‰ï¼Œå¹¶ä»Žé¡¹â½¬çŸ¥è¯†ã€â½¤æˆ·è¾“â¼Šã€ä»»åŠ¡å¤æ‚åº¦ã€â¾ƒæ£€æœºåˆ¶ã€æ¨¡åž‹èƒ½â¼’ç­‰äº”ä¸ªç»´åº¦æä¾›é’ˆå¯¹æ€§è§£æ³•ã€‚
2. â½
法论与优化思路 - 提出"最⼤化复⽤、⾃然语⾔第⼀、⼆⼋定律"ä¸‰â¼¤æ ¸â¼¼æ€æƒ³ï¼Œå¹¶æ²¿ç€"前置准备→开发前→开发中→完成后"的å
¨æµç¨‹ï¼Œç»™å‡ºæ¯ä¸ªèŠ‚ç‚¹çš„å¯è½åœ°ä¼˜åŒ–â¼¿æ®µã€‚
3. 分场景实战案例 - æ ¹æ®éªŒæ”¶æ ‡å‡†å’Œä»£ç è´¨é‡è¦æ±‚ï¼Œå°†éœ€æ±‚åˆ†ä¸º"需求驱动型"和"⼯程主导型"两类,通过⼩⼆端列表⻚和C端复杂业务的完整案例,展示不同场景下的最佳实践。
下篇åŒ
含:
4. 团队建设经验 - 分享新品团队在⼩⼆端(后端å
¨æ ˆåŒ–)和C端(视图分离、知识库建设、⼯作流沉淀)两个â½
向的探索,åŒ
括⼯å
·å»ºè®¾ã€â½‚档沉淀、知识库â½
案等å
·ä½“落地å†
容。
5. 实⽤技巧集锦 - 涵盖 UI 重构、复杂 Prompt 构建、数据转换、多â½
案选优、⽂档⽣成等常â»
应⽤场景,以及严厉语⽓、合理质疑等提升准确度的技巧。
AIâ½£ç çŽ°çŠ¶
▐ 当前AIâ½£ç çš„ä¸»è¦é—®é¢˜
写不对:
AI没有完å
¨æŒ‰ç
§â½¤æˆ·æ„å›¾å®ŒæˆåŠŸèƒ½ï¼Œè½»åˆ™å­˜åœ¨ç¼ºé™·ï¼Œé‡åˆ™â½†æ³•è¿â¾
写不好:
AIäº§å‡ºçš„ä»£ç ä¸ç¬¦åˆè¦æ±‚ï¼ŒåŒ
æ‹¬ä½†ä¸é™äºŽä»£ç è´¨é‡/ä»£ç é£Žæ ¼/实现方案
写不了
项目隐含逻辑太多,文件结构复杂,耦合度高,AI完å
¨æ— 法按预期完成任务
(如一些å†
部SDKå·¥å
·åº“,使用说明都在外部文档,AI æ— æ³•ç›´æŽ¥é€šè¿‡ä»£ç ç†è§£å¦‚ä½•ä½¿ç”¨ï¼Œè‡ªç„¶æ— æ³•å†™å‡ºå¯¹åº”çš„ä½¿ç”¨ä»£ç ï¼‰
改不动
在某些迭代场景中,AIä¸€ç›´æ— æ³•è¾“å‡ºæ­£ç¡®ç»“æžœï¼Œåœ¨é”™è¯¯ä¸­ä¸æ–­å¾ªçŽ¯ï¼Œç”šè‡³è¿˜å¯èƒ½æ”¹åå
¶ä»–部分,此时只能人工介å
¥
而介å
¥åŽï¼Œæƒ³è¦å®Œæˆä¿®æ”¹åˆ™éœ€è¦é¢å¯¹AI短时间å†
ç”Ÿæˆçš„å¤§é‡ä»£ç ï¼Œåè€Œå¯¼è‡´æ•ˆçŽ‡ä¸‹é™ï¼Œä½¿ç”¨è€
完å
¨ä¸§å¤±äº†å¯¹é¡¹ç›®çš„æŠŠæŽ§
▐ å¯¼è‡´é—®é¢˜çš„ä¸»è¦å› ç´ ä¸Žè§£æ³•
1. 项⽬/需求 隐含信息过多(AI不知道)
由于⼤家都是淘å†
ç§æœ‰é¡¹â½¬ï¼Œä»£ç ä¸­ä¸ä»
åŒ
含了专属的业务逻辑,还有来⾃四⾯⼋â½
的SDK⼯å
·åº“ä»£ç ï¼Œâ¾¯å¯¹â½†å¤„èŽ·å–çš„é¡¹â½¬çŸ¥è¯†ï¼Œå³ä½¿æ˜¯Cluade40来了也⽆济于事。
解法:
使⽤有明确声明的NPMåŒ
,或è€
给å
¶æŽ¥â¼ŠArtifact7 等è¾
助⽂档⽣成⼯å
·ï¼›
提供可访问的外部知识库,åŒ
括但不限于 MCP⼯å
· / 项⽬知识库 / 需求⽂档。
2. ⽤户输⼊不精准,å¿
要信息不⾜(没给AI说)
ä»£ç å¼€å‘å°±æ˜¯ä»Žæ¨¡ç³Šçš„éœ€æ±‚è½¬å‘â½†æ­§ä¹‰çš„ä»£ç ï¼Œæ¨¡ç³Šéƒ¨åˆ†åœ¨å®žçŽ°ä¸­å¿
然会被补å
ï¼Œå®žçŽ°ä¸åˆé¢„æœŸçš„â¼€â¼¤åŽŸå› å°±æ˜¯æ¨¡ç³Šéƒ¨åˆ†æ²¡æœ‰æ˜Žç¡®è¯´æ˜Žã€‚
解法:
â½¤æˆ·ä¸»åŠ¨å¢žåŠ è¾“â¼Šå†
容 / è¾
助⼯å
·æå‡è¾“⼊质量
对⼀些常â»
的æƒ
况提供 prompt æ¨¡ç‰ˆï¼Œä½¿â½¤æ—¶æ ¹æ®å®žé™
需求作部分修改;
借⽤⼯å
·è¿›â¾â½¤æˆ·è¾“⼊扩写,以及对å¿
è¦çš„æ¨¡ç³Šéƒ¨åˆ†è¿›â¾æ ‡è®°ä¸Žé˜æ˜Žï¼›
引⼊ Spec Coding â½
案,以详细的⽂档作为AI输⼊;
对⾼频场景做出约定,通过约定来覆盖模糊(如维护⼀份持续更新的AGENT.md)。
意图识别,基于项⽬上下⽂⾃动推测模糊部分
接⼊MCP⼯å
·ï¼Œæ‰©â¼¤ AI 感知⼒,使AI能更好地理解⽤户意图;
通过 ä»£ç ç´¢å¼• / 项⽬⽂档 / CodeWiki 等è¾
助⼿段,使 AI å¯ä»¥åŸºäºŽé¡¹â½¬ä»£ç å¿«é€Ÿä»¿å†™ä¸ŽæŽ¨æµ‹ã€‚
这⾥存在⼀个å
³äºŽâ½‚档详细程度的权衡点:到底是使⽤⼤⽽å
¨çš„⽂档,还是⼩⽽精。
经过实践,最适合的â½
案应该是å
ˆç»™å‡ºâ¼€ä¸ªå¯ä»¥åŸºæœ¬æè¿°æ¸
æ¥šéœ€æ±‚çš„â¼©â½‚æ¡£ï¼Œå†æ ¹æ®AI实é™
产出的偏离æƒ
况来进⾏问题补å
ï¼Œå› ä¸ºâ¼¤éƒ¨åˆ†éƒ½æ˜¯â¼ä¸ªé‡å¤å‡ºçŽ°çš„å¸¸â»
问题(前提是保持⼯å
·å’Œæ¨¡åž‹å°½å¯èƒ½ä¸å˜ï¼‰ï¼Œè¿›â¾â¼æ¬¡è¡¥å
以后就可以完成⼀份精准好⽤的输⼊⽂档。
3. 任务复杂度⾼
AI â½£ç çš„æˆåŠŸçŽ‡ä¼šéšç€ä»»åŠ¡å¤æ‚åº¦çš„æå‡â½½åœ¨æŸä¸ªèŠ‚ç‚¹å¼€å§‹éª¤é™ï¼Œæ­¤æ—¶åˆ™éœ€è¦é€šè¿‡åˆé€‚çš„â¼¿æ®µé™ä½Žä»»åŠ¡çš„éš¾åº¦ï¼Œæœ€â¼¤åŒ– AI çš„â½£ç æˆåŠŸçŽ‡ï¼Œâ½½é™ä½Žå¤æ‚åº¦ä¸»è¦æœ‰ä»¥ä¸‹ä¸¤ä¸ªâ»†åº¦ã€‚
降低任务复杂度
è¯†åˆ«é‡å¤çš„â¼¯ä½œæµä¸Žä»£ç ï¼Œè¿›â¾é’ˆå¯¹æ€§ä¼˜åŒ–ä¸Žå°è£
å¤â½¤ï¼Œä»Žâ½½å‡å°‘â½£ç çš„ä»£ç é‡ä¸Žä¸ç¡®å®šæ€§ï¼›
复杂任务拆分,将单个不易测试的⼤型任务,拆成多个可验收的⼩型⿊盒;
固定实现思路/细节,统⼀思维模型,通过约定来减少 思维/选型 负æ‹
。
降低⼯程复杂度(⽂件量、耦合度)
借助优秀的⼯程结构设计,实现 ä»£ç  / 模块 / ⽂件 çš„å¤©ç„¶è§£è€¦ï¼ˆå¾ˆå¤šâ½£ç é—®é¢˜å
¶å®žå½’ç±»åˆ°åº•éƒ½ä¼šâ¾›åˆ°åŸºç¡€çš„ä»£ç â¼¯ç¨‹åŒ–é—®é¢˜ï¼Œå
·æœ‰ä¼˜ç§€â¼¯ç¨‹ç»“构的仓库天然就有较⾼的AI⽣成成功率);
é€šè¿‡ä»£ç ç´¢å¼•/项⽬⽂档/CodeWiki 等è¾
助⼿段,提⾼AIæ£€ç´¢æ•ˆçŽ‡ï¼Œå‡å°‘å› æ£€ç´¢å›°éš¾â½½æ–°å¢žçš„â½†â½¤ä¸Šä¸‹â½‚ã€‚
4. 缺少⾃检环节
çŽ°åœ¨çš„å¸¸è§„â½£ç æµç¨‹ï¼Œåªä¼šè¿›â¾åŸºç¡€çš„ä»£ç è§„èŒƒä¸Žè¯­æ³•æ£€æµ‹ï¼Œå¹¶æ²¡æœ‰å®Œæ•´çš„Review & Test 的流程。此时的AIåªæ˜¯å®Œæˆäº†ä»£ç â½£æˆï¼Œå¹¶ä¸â¼€å®šå®Œæˆäº†ä»»åŠ¡ï¼Œä¹Ÿä¸â¼€å®šæ»¡â¾œå®žé™
çš„ä»£ç è´¨é‡è¦æ±‚ã€‚
ä»£ç è´¨é‡â¾ƒæ£€
åœ¨æœ¬åœ°å¼•â¼Šâ¾ƒæ£€æµç¨‹ï¼ŒåŠæ—¶å®Œæˆä»£ç è´¨é‡ç¡®è®¤ï¼›
使⽤ Code 平台的AI CR助⼿进⾏发布前预检,可以⾃定义 CR 规则。
功能⾃检
前端可以通过接⼊MCP的â½
式让AI可以感知前端⻚⾯,从⽽进⾏部分功能测试;
后端可以通过单测直接查看功能正确性;
对于⽆法测试的⼤型任务,可以拆分到多个易于验收的⿊盒(如前端进⾏视图分离,对逻辑hooks部分进⾏单å
ƒæµ‹è¯•)。
5. 模型 / Agent 的差异与能⼒限制
模型的不同 / ç¼–ç â¼¯å
·çš„ä¸åŒï¼Œéƒ½ä¼šå½±å“â½£æˆç»“æžœï¼Œå³ä½¿æ˜¯åŒâ¼€ä¸ªæ¨¡åž‹ï¼Œä¹Ÿä¼šå› 为模型的随机性⽽产⽣不同的结果。要将 AI â½£ç è¿â½¤åœ¨â¼¯ç¨‹ä¸­ï¼Œä¸ä»
需要⾯对模型的短板,还需要对抗模型的随机性。
上下⽂窗⼝有限
留存过程⽂档,实现上下⽂复⽤,跳过收集环节
ä»£ç ä¸Šä¸‹â½‚ï¼šä»“åº“ä¿¡æ¯ã€æŽ¥â¼ä¿¡æ¯
项⽬上下⽂:PRD、功能⽂档
提供更精准的上下⽂,尽量不让 AI é â½‚ä»¶çŒœæµ‹
通过⼀些⽤户 Rule 监控注意⼒状态(⽐如:让 AI 每次对话结束都要⽤谢谢结尾,如果没有则说明上下⽂窗⼝已经爆了)
随机性 / 模型差异 导致⽣成å†
容的质量不稳定
æä¾›æ›´ä¸¥æ ¼çš„çº¦æŸâ½‚æ¡£ / Spec Codingâ½
案
è¡¥å
⾃检环节
修改型问题错误率⾼
ä¿®æ”¹åž‹é—®é¢˜ç›¸å½“äºŽä¸Šä¸‹â½‚æ›´å¤šï¼Œæ­£ç¡®çŽ‡è¦æ±‚æ›´â¾¼çš„â½£ç ä»»åŠ¡ï¼Œâ½½AI理解⼒弱,所以修改型任务准确率更低,这就是⼤家最常提到的改不动的问题。对于这个问题,主要的解法就是⽤前⽂提到的办法去降低任务复杂度:减少 AIç†è§£ä»£ç çš„éš¾åº¦ 或è€
é™ä½Žâ½£ç ä»»åŠ¡ä½“é‡
天⽣对某些问题能⼒弱,容易卡在死循环⾥
识别常â»
错误场景,By Case 分析积累经验,沉淀对应的解法
æ ¸â¼¼â½
法论与å
¨æµç¨‹ä¼˜åŒ–指南
这部分主要介绍提⾼AIâ½£ç æ•ˆæžœçš„â¼€äº›æ ¸â¼¼æ€è·¯ï¼Œå¹¶åŸºäºŽâ½£ç æµç¨‹ä¸­çš„å„ä¸ªèŠ‚ç‚¹ç»™å‡ºâ¼€äº›å¯ä»¥å®žæ–½çš„ä¼˜åŒ–â¼¿æ®µã€‚
▐ æ ¸â¼¼æ€æƒ³
最⼤化复⽤
â½†è®ºæ˜¯â¼ˆâ¼¯ç¼–ç è¿˜æ˜¯AIç¼–ç ï¼Œæœ€æœ‰æ•ˆçŽ‡çš„ææ•ˆâ½
æ¡ˆå°±æ˜¯æâ¾¼ä»£ç çš„å¤â½¤åº¦ã€‚ 在AIç¼–ç çš„èƒŒæ™¯ä¸‹ï¼Œé€šè¿‡å¤â½¤è¿˜å¯ä»¥æâ¾¼â½£ç ä»»åŠ¡çš„ç¡®å®šæ€§ï¼Œæžâ¼¤é™ä½Žä»»åŠ¡å¤æ‚åº¦ï¼Œæâ¾¼å¯¹ä»£ç çš„æŽŒæŽ§åº¦ï¼Œä¿è¯â½£æˆç»“æžœçš„è´¨é‡ã€‚
模块优å
ˆ
å°†æ¯â¼€éƒ¨åˆ†çš„å¼€å‘éƒ½è§†ä¸ºâ¼€ä¸ªæ˜Žç¡®è¾“â¼Šè¾“å‡ºçš„æ ‡å‡†å¯å¤â½¤æ¨¡å—ï¼ˆå¯ä¿¡ä»»çš„â¿Šç›’ï¼‰ï¼Œä¸”æ‰€æœ‰ç›¸å
³å£°æ˜Žå¯ä»¥é€šè¿‡æ˜Žç¡®çš„路径访问获取,每个功能都是å
·æœ‰æ¸
晰边界的库,AIå¯ä»¥å¾ˆâ¾ƒç„¶åœ°ä»Žä»£ç ä¸­èŽ·å–æ‰€éœ€çŸ¥è¯†ã€‚
(现在的AI⼯å
·å·²ç»å
·å¤‡äº†å¾ˆå¼ºçš„信息获取功能与推理能⼒)
胶⽔编程
优å
ˆä½¿â½¤å·²æœ‰æ¨¡å—ï¼Œä¸è¦â¾ƒâ¼°é€ è½®â¼¦ï¼Œé€šè¿‡æœ€â¼©é‡çš„â€œèƒ¶â½”ä»£ç â€å°†å®ƒä»¬ç»„åˆæˆå®Œæ•´ç³»ç»Ÿï¼Œä½ çš„ä»£ç åªè´Ÿè´£ï¼šç»„åˆã€è°ƒâ½¤ã€å°è£
、适é
ã€‚从⽽在使⽤AIå®Œæˆâ¼¤éƒ¨åˆ†ä»£ç çš„åŒæ—¶ï¼Œä»ç„¶ä¿ç•™é¡¹â½¬æŽŒæŽ§åº¦ã€‚
⼯作流复⽤
å¯¹äºŽâ¼€äº›å¯æ ‡å‡†åŒ–/重复性强/å¤æ‚åº¦â¾¼çš„â¼¯ä½œæµç¨‹ï¼Œå¯ä»¥åŠæ—¶æ²‰æ·€åˆ°æ ‡å‡†çš„AI⼯作流(åŒ
括但不限于 ⽂档、MCP、Skill),进⼀步扩⼤⼯作中的可复⽤范围。
⽂档å
ˆâ¾
⽂档是AI Codingçš„ç¬¬â¼€è¦ç´ ï¼ŒPRDå³å•æµ‹ï¼Œâ½‚æ¡£å³ä»£ç ï¼Œä¼˜å
ˆä¿®æ”¹â½‚æ¡£â½½ä¸æ˜¯ä»£ç ï¼Œè¿™éƒ¨åˆ†â½‚æ¡£å¹¶ä¸è¦æ±‚â¼¤â½½å
¨ï¼Œé‡ç‚¹æ˜¯å¯¹â¼¤è‡´â½
向的描述,与部分易混淆部分的详细说明。
基于 Spec-kit çš„æ¨¡åž‹ï¼Œç†æƒ³çŠ¶æ€ä¸‹æ˜¯æœ‰â¼€ä»½å¯ä»¥å’Œä»£ç 100%äº’ç›¸è½¬æ¢çš„â½‚æ¡£ï¼Œä½†æ˜¯çŽ°åœ¨å®žæµ‹ä¸‹æ¥å¾ˆéš¾è¾¾åˆ°è¿™ç§ç†æƒ³çŠ¶æ€ï¼ˆæ²¡æœ‰å¯ä»¥å®Œç¾Žæè¿°é¡¹â½¬çš„â½‚æ¡£ï¼Œâ½‚æ¡£ä¹Ÿæ²¡æ³•æ°å¥½è½¬æ¢åˆ°ä»£ç ï¼‰ï¼Œæœ€å¥½çš„ç­–ç•¥è¿˜æ˜¯å¤Ÿâ½¤å°±â¾ã€‚
⼆⼋定律
认æ¸
AI的28 定律,20% 时间可以完成80%的任务,但是剩下的 20% 要 80% 的时间;
0% → 80%(蜜⽉期):从零开始⽣成新功能⾮常快,AI 对å
¨æ–°çš„、独⽴的逻辑处理得极å
¶å®Œç¾Žï¼›
80% → 100%(深⽔区):当功能需要收尾,涉及到复杂的上下⽂、边缘 Case 修复、以及与旧逻辑的耦合时,AI 的表现会断崖式下跌,常常需要⼈⼯介⼊;
提⾼AI⽣成效率的重点,˜¯æâ¾¼å‰80%的质量,˜¯æâ¾¼åŽ20%的效率。
▐ å
¨æµç¨‹èŠ‚ç‚¹
⼀次 AI Coding 的执⾏流程⼤概可以概括为:理解⽤户意图 > 查找上下⽂> 设计执⾏â½
案>ä»£ç â½£æˆ > ç®€å•æ ¡éªŒã€‚ç”±äºŽ LLM 的随机性,每⼀个执⾏环节都åŒ
含着⽆限的可能,⽽掌控AIâ½£ç ï¼Œå°±æ˜¯åœ¨æ¯ä¸ªçŽ¯èŠ‚éƒ½è¿›â¾æ˜Žç¡®å£°æ˜Žä¸Žä»‹â¼Šï¼Œä»Žâ½½ä¿éšœAI按ç
§â¾ƒâ¼°çš„预期进⾏产出。
以下是从每个节点进⾏拆分,å
³äºŽAI编程流的每个部分,我们有什么⼿段可以进⾏优化。
这部分主要是基于每个节点进行优化方案讲解,并不代表实é™
éœ€è¦ä¸¥æ ¼æŒ‰ç
§è¿™ä¸ªæ­¥éª¤è¿›è¡Œæµç¨‹æ‹†åˆ†ï¼ŒæŒ‰éœ€é€‰ç”¨å³å¯ï¼Œå
·ä½“实践中的取舍和选型在后面的实战案例中会详细说明。
前置准备
准备项⽬/团队知识库,提供å
Œ
±ç»„ä»¶API,业务知识,åŒ
括但不限于 mcp / 知识库 / ⽂档
ç¡®å®šåŸºç¡€çš„ä»£ç å®žçŽ°è§„èŒƒï¼Œçº¦æŸä»£ç â»›æ ¼ï¼Œé€šå¸¸å‘½å README.md / AGENTS.md æ”¾åœ¨æ ¹â½¬å½•ï¼Œå¦‚æžœAI没有读取则指明(通过rules或è€
â¼¿åŠ¨æ·»åŠ ä¸Šä¸‹â½‚ï¼‰
以尽可能明确、解耦的形式,设计仓库的⽬录结构与实现â½
案
对于⽂件引⽤层级多的æƒ
况,AIå‡ºç çš„æ­£ç¡®çŽ‡æ˜¾è‘—ä¸‹é™ï¼ˆâ¼€éƒ¨åˆ†æ˜¯å› ä¸ºå‰ç«¯å±žäºŽå¼±ç±»åž‹è¯­â¾”ï¼‰
å¯¹äºŽæ›´åŠ å¤æ‚çš„é¡¹â½¬ï¼Œå¯ä»¥å°è¯•ä½¿â½¤â¼€äº›æ›´è¿›â¼€æ­¥çš„è§†å›¾åˆ†ç¦»ä¸ŽçŠ¶æ€ç®¡ç†ç­‰â½
案进⾏提前解耦。
开发前
明确需求å†
å®¹ï¼ˆä»£ç â½†å
³ï¼‰
äº§å“å¼€å‘å°±æ˜¯ä»Žæ¨¡ç³Šçš„â½‚æ¡£è½¬å‘ä»£ç ï¼Œâ½½ä»£ç æ˜¯â½†æ­§ä¹‰çš„ï¼Œæ¨¡ç³Šéƒ¨åˆ†åœ¨å®žçŽ°ä¸­å¿
然会被补å
ï¼Œå®žçŽ°ä¸åˆé¢„æœŸçš„â¼€â¼¤åŽŸå› å°±æ˜¯æ¨¡ç³Šéƒ¨åˆ†æ²¡æœ‰æ˜Žç¡®è¯´æ˜Žã€‚
对于不明确的æƒ
况,可以使⽤⼀些è¾
助⼯å
·æˆ–è€
åŸºç¡€æ¨¡ç‰ˆè¿›â¾æ ‡å‡†åŒ– prd çš„äº§å‡ºï¼Œå¹¶æ ¹æ®éœ€æ±‚è¿›â¾ä¿®æ”¹ï¼›
需求明确部分,不建议涉及å
·ä½“实现,⽬前的AIç¼–ç èƒ½â¼’å·²ç»â¾œå¤Ÿå¼ºâ¼¤ï¼Œé‡ç‚¹è¯´æ˜ŽåŠŸèƒ½éœ€æ±‚å³å¯ï¼Œæ˜Žç¡®çš„åŠŸèƒ½â½‚æ¡£â¾œä»¥è®© AI 设计出合适的â½
案,提前涉及实现不ä»
影响需求说明,也会限制 AI 的发挥;
如果需要进⼀步明确各部分功能点,可以通过 spec ⼯å
·è½¬æ¢æˆè¿‘似单å
ƒæµ‹è¯•的功能⽂档,å¿
要时将å
¶è½¬åŒ–成实é™
单å
ƒæµ‹è¯•。
任务设计与拆分
å¦‚æžœå•æ¬¡å®žçŽ°è¿‡äºŽå¤æ‚ï¼Œä¼šä¸¢å¤±å¯¹ä»£ç çš„æŽŒæŽ§åº¦ï¼›â½½å¦‚æžœå•æ¬¡ä»»åŠ¡ä½“é‡å¤ªâ¼¤ï¼ŒAI 容易在执⾏过程中丢失上下⽂与注意⼒。
ç»„ä»¶æ‹†åˆ†ï¼šå°†â¼€ä¸ªå¤æ‚ã€éªŒæ”¶å¡â¼ä¸¥æ ¼ä½†â½†æ³•ç›´æŽ¥æµ‹è¯•ã€æ¶‰åŠæ¨¡å—å¤šã€è¿­ä»£é¢‘çŽ‡â¾¼çš„â¼¤è§„æ¨¡ä»»åŠ¡ï¼Œæ‹†åˆ†åˆ°å¤šä¸ªç®€å•ã€è¿­ä»£é¢‘çŽ‡ä½Žã€å¯æµ‹è¯•çš„â¿Šç›’ï¼Œå¹¶è¿›â¾ç»„è£
。
流程拆分:将复杂任务进⾏分步拆解,并通过æ¸
单⽂档记录完成æƒ
况。
开发中(新建型需求)
创建并持续迭代过程⽂档,如⻚⾯README,组件说明,从⽽保障每次对话时AI可以快速获取信息,避å
AI读取过多⽂件。
(AI每次新对话都需要花费⼤量token在读取与需求⽆å
³çš„前置上下⽂)
及时管理上下⽂窗⼝,确保AI没有失去专注度(⽐如让AI每次执⾏完重述基础原则)
å°½å¯èƒ½ä½¿â½¤ä¸¥æ ¼è§£è€¦çš„æž¶æž„è®¾è®¡ï¼Œé˜²â½Œç•™ä¸‹æŠ€æœ¯å€º
引⼊⾃检机制,保障功能与质量
让AIâ¾ƒâ¾æ·»åŠ è°ƒè¯•ç‚¹ä½ï¼Œé€šè¿‡è°ƒè¯•ä¿¡æ¯ä¿®æ”¹é—®é¢˜
对⿊盒 组件/功能 创建单å
ƒæµ‹è¯•
通过MCP⼯å
·è¿›â¾â»šâ¾¯æµ‹è¯•
使⽤AIå•ç‹¬è¿›â¾ä»£ç è´¨é‡Review环节
对于部分持续失败的场景
尝试修改⽤户输⼊,提供更精确的上下⽂,或è€
向AI提供â½
向指引
让AIåœ¨ä¿®æ”¹ä»£ç å‰å
ˆè¾“出â½
案并审é˜
收集到案例中进⾏By Case分析
常见陷阱:在一次会话中进行大量任务,这会导致上下文太长太宽泛,模型注意力丢失。
对于独立的任务,应该及时新建对话
å¯¹äºŽå¤§åž‹ä»»åŠ¡ï¼Œåº”è¯¥åŠæ—¶ç”Ÿæˆå„ç±»è¿‡ç¨‹æ–‡æ¡£ï¼Œå½“æ¨¡åž‹æˆåŠŸçŽ‡æ˜¾è‘—é™ä½Žæ—¶åˆ‡æ¢å¯¹è¯å¹¶ä¼ å
¥è¿‡ç¨‹æ–‡æ¡£æ¢å¤ä¸Šä¸‹æ–‡
开发中(迭代型需求)
常â»
问题:
场景
发⽣了什么
后果
改⼀个功能,坏了另⼀个
æ·»åŠ åˆ é™¤åŠŸèƒ½æ—¶ï¼Œä¸â¼©â¼¼å½±å“äº†æ·»åŠ åŠŸèƒ½
花时间排查,可能越改越乱
想回到"昨天那个版本"
æ˜¨å¤©çš„ä»£ç èƒ½â½¤ï¼Œä»Šå¤©æ”¹äº†â¼€å †ï¼Œå
¨åäº†
找不到昨天的版本
试了三种â½
案,想回到第⼀种
第⼀种â½
案å
¶å®žæœ€å¥½ï¼Œä½†å·²ç»è¢«è¦†ç›–了
要么重写,要么将就
AI 改了不该改的地â½
让 AI 改⼀个⽂件,它顺⼿改了å
¶ä»–⽂件
不知道哪些被改了
ç›¸è¾ƒäºŽæ–°å»ºåž‹ä»»åŠ¡ï¼Œè¿­ä»£æ—¶æˆåŠŸçŽ‡æ›´ä½Žçš„åŽŸå› ä¸»è¦æ˜¯ï¼šAIå¤©ç”Ÿé‡æ¨¡ä»¿è€Œå¼±ç†è§£ï¼Œæ–°å»ºåž‹ä»»åŠ¡ä¾§é‡äºŽæ¨¡åž‹å¯¹ä»£ç çš„ä»¿å†™èƒ½åŠ›ï¼Œè€Œè¿­ä»£åž‹ä»»åŠ¡è¦æ±‚AIç†è§£ä»£ç ä¸”ç²¾å‡†ä¿®æ”¹ï¼Œæ‰€ä»¥æˆåŠŸçŽ‡æ›´ä½Žã€‚
注意及时约束,防⽌AIâ½¬æ ‡æ¼‚ç§»
Bad Case ❌
"帮我优化这个函数"(结果 AI 重构了整个类)
Good Case âœ
只优化函数 calculateTotal,不做任何å
¶ä»–的变更,集中于此函数一点
å°½é‡ä¼ â¼Šç²¾å‡†çš„ä¸Šä¸‹â½‚ï¼Œå‡å°‘AI搜索范围
Bad Case ❌
å¸®æˆ‘ä¿®æ”¹çŽ°åœ¨çš„å¼¹çª—æ ·å¼ï¼Œå’Œå
¶ä»–页面的统一
Good Case âœ
帮我修改pages/GoodsManagement/drawer.tsx ä¸‹çš„å¼¹çª—æ ·å¼ï¼Œå‚è€ƒpages/Warehouse/GoodsDetAIl/drawer.tsx
目前主流工å
·éƒ½å¯ä»¥æ·»åŠ 上下文,不用自己写path
对于复杂迭代,最好及时通过gitè¿›â¾ç‰ˆæœ¬ç®¡ç†ï¼Œå› ä¸ºç¬¦åˆéœ€æ±‚çš„ä»£ç å¯èƒ½åœ¨å‰â¼ä¸ªâ¼©æ—¶ï¼Œç”šâ¾„å‰â¼€å¤©çš„æŸä¸ªç‰ˆæœ¬ï¼ˆå¤šâ½
案对⽐⽤分⽀ / 版本管理⽤commit)
è¿›â¼€æ­¥çš„è¿­ä»£æˆåŠŸçŽ‡ï¼Œä¸»è¦ä¾èµ–äºŽä»“åº“æž¶æž„çš„è§£è€¦ç¨‹åº¦ï¼Œæ”¹ä¸åŠ¨æ—¶å°±è¦ä¾é æžè‡´æ€§çš„è§£è€¦
⼈⼯å¿
须介⼊时,可以采⽤⼈⼯提供â½
案,AI执⾏改动的半⾃动â½
æ¡ˆèŠ‚çœæ—¶é—´ï¼ˆå¦‚ï¼šæˆ‘è¦ç§»é™¤è¿™ä¸ªå‡½æ•°ä¸­ç¡¬ç¼–ç çš„ä¸šåŠ¡é€»è¾‘ï¼Œå°†å
¶æ”¹æˆå¤–éƒ¨ä¼ å‚ï¼Œå¹¶åœ¨æ”¹å¥½åŽåŒæ­¥ä¿®æ”¹æ‰€æœ‰è°ƒâ½¤äº†è¿™ä¸ªå‡½æ•°çš„ä»£ç ï¼‰
å®žåœ¨â½†æ³•ç»§ç»­è¿­ä»£æ—¶ï¼Œå€ŸåŠ©å·²æœ‰çš„åŠŸèƒ½â½‚æ¡£è¿›â¾æ•´ä½“ä»£ç é‡æž„ï¼ˆå¦‚æžœæ²¡æœ‰ï¼Œå¯ä»¥å°è¯•è®©AIæ ¹æ®â½¬å‰è¿›â¾æ€»ç»“ï¼Œä½†æ˜¯æ­¤æ—¶æœ€å¥½ä»Žæ¨¡å—å‘ä¸Šé‡æž„ï¼‰
å
¶ä½™éƒ¨åˆ†åŒæ–°å»ºåž‹éœ€æ±‚
完成后
基于需求完成æƒ
况及时进⾏问题点分析与资产沉淀,理想æƒ
况甚⾄可以考虑让 AI åŸºäºŽå·²æœ‰ç»éªŒè¿›â¾â¾ƒæˆ‘è¿­ä»£ï¼Œä»Žâ½½é€æ­¥æ‰©â¼¤èƒ½â¼’è¾¹ç•Œï¼Œè¸©è¿‡çš„å‘å°±ä¸è¦å†è¸©ï¼Œå†™è¿‡çš„ä»£ç å°±ä¸è¦å†™ç¬¬â¼†éã€‚
åŸºäºŽâ½£ç è¿‡ç¨‹ä¸­çš„å¸¸â»
问题,及时迭代基础规范⽂档
(⼩⼆端开发中沉淀的å
³é”®æ³¨æ„ç‚¹ï¼Œå°¤å
¶æ˜¯éœ€è¦æ²»ç†AI喜欢乱⽤hooks的⽑ç—
)
识别å
³é”®æµç¨‹ï¼Œæ²‰æ·€åˆ°Skill(资产化的AISOP,åŒ
含描述、指令、脚本、模版等å†
容)
识别å
³é”®æ¨¡å¼ï¼Œæ²‰æ·€åˆ°æ ‡å‡†åŒ– 组件 / 模版
å‡ºç å‡†ç¡®çŽ‡
⼈⼯介⼊成本
AI⾃由发挥
70%
â¾¼
有语料的三â½
åŒ
80%
低
私有åŒ
+调⽤规范
95%
低
看完以上的å†
容,有人会说:我只想使用基础的Chatè¿›è¡Œä»£ç ç”Ÿæˆï¼Œä¸æƒ³è¯„å®¡AI生成的方案,也不想跳转出去使用额外的工å
·ï¼Œæ€Žä¹ˆè®©æˆ‘çš„Chatç”Ÿç æ•ˆæžœæ›´å¥½ï¼Ÿä»¥ä¸‹æ˜¯å‡ ä¸ªå¿«æ·å¯ç”¨çš„è°ƒä¼˜æ‰‹æ®µï¼š
é
ç½®åŸºç¡€çš„é¡¹ç›®è§„åˆ™ï¼Œå¹¶æ ¹æ®å®žé™
的问题对å
¶è¿›è¡Œä¸€äº›è°ƒä¼˜ï¼›
提前设计较为解耦的项目结构,提高 AI 迭代的成功率;
接å
¥ä¸€äº›è¾
助的MCPå·¥å
·å’Œå·²éªŒè¯è¿‡çš„Skills进行能力è¾
助;
使用一些基础的提示词流程或模版,尽可能描述æ¸
楚需求;
当纯对话方式完å
¨é™·å
¥ç“¶é¢ˆæ—¶ï¼Œå¯ä»¥å‚考以下两种实战案例进行优化。
两类实战案例
AIç¼–ç è¿‡ç¨‹ä¸­ï¼Œæœ‰ä¸ªâ½è¾ƒé‡è¦çš„å
³æ³¨ç‚¹å°±æ˜¯ï¼šåœ¨ä¿è¯è¿­ä»£æˆåŠŸçŽ‡çš„åŒæ—¶ï¼Œè¿˜è¦ç•™å‡ºâ¼€å®šçš„â¼ˆä¸ºå¯ä»‹â¼Šç©ºé—´ï¼Œä»¥åŠä¿æŒå¯¹ä»£ç çš„æŽŒæŽ§åº¦ï¼›å¯¹äºŽéªŒæ”¶è¦æ±‚è¶Šâ¾¼çš„é¡¹â½¬ï¼ŒæŽŒæŽ§çŽ‡å’Œâ¼ˆâ¼¯å¯ä»‹â¼Šç©ºé—´çš„è¦æ±‚å°±è¶Šâ¾¼ï¼Œâ½½æ ¹æ®éªŒæ”¶è¦æ±‚ä»¥åŠå®žé™
æƒ
况,可以将实é™
需求分为以下两类。
需求驱动型
⼯程主导型
特点
强调"要什么功能"
AI ⾃主决策技术实现
⼈⼯介⼊少,å
³æ³¨ç»“æžœ
强调"怎么实现"
⼈⼯深度参与实现â½
案决策
⼈⼯介⼊多,å
³æ³¨ä»£ç è´¨é‡
ä»£ç è§„èŒƒåº¦è¦æ±‚
低
â¾¼
éªŒæ”¶æ ‡å‡†
低
â¾¼
隐含知识量
低
â¾¼
项⽬复杂度
低
â¾¼
AI扮演的⻆⾊
功能开发è€
ç¼–ç è¾
助员
案例
⼩⼆后台⻚⾯ / ç ”å‘â¾ƒâ½¤â¼¯å
·
线上C端⻚⾯ / 商家端⻚⾯
▐ 需求驱动型(DO WHAT)
这⼀场景的主要å
³æ³¨ç‚¹åœ¨äºŽï¼š
想办法完å
¨é˜æ˜Žéœ€æ±‚点,防⽌ AI è‡†é€ æˆ–åç¦»ï¼›
要有⼀定的è¾
åŠ©â¼¿æ®µæ¥ä¿è¯ä»£ç è´¨é‡ï¼Œä»Žâ½½æâ¾¼è¿­ä»£æˆåŠŸçŽ‡ï¼›
ç•™å‡ºâ¼€å®šçš„â¼ˆâ¼¯ä»‹â¼Šç©ºé—´ï¼Œä¸è¦äº§å‡ºâ¼€å †éš¾ä»¥ä»‹â¼Šçš„ä»£ç ï¼›
接下来将以⼀个⼩⼆端的需求,从新建⻚⾯到⼆次迭代功能,逐步对⽐不同â½
æ¡ˆäº§å‡ºçš„â½£ç ç»“æžœã€‚
新建⼀个⼩⼆端列表⻚
需求背景:
⼀个常规的列表⻚,按字段展示货品相å
³ä¿¡æ¯ï¼Œå¹¶ä¸”⽀持按字段过滤。
对于简单的⻚⾯⽣成,提供⾜够信息的⽂档,AIå³å¯å®Œæˆå¯¹åº”çš„éœ€æ±‚ï¼Œâ½½æ ¹æ®å®žé™
éœ€æ±‚çš„éªŒæ”¶å¡â¼ä¸Žâ½¤æˆ·éœ€æ±‚ï¼Œè¿˜å¯ä»¥åˆ†ä¸ºå¦‚ä¸‹ä¸‰ç§å®žçŽ°â»›æ ¼ã€‚
能⽤就⾏型
较有要求型
ä¸¥æ ¼åž‹
(已经有⼀份å
³äºŽå¸¸è§„列表查询⻚的实现模版)
实现路径
直接输⼊接⼝文档,å
¶ä»–完å
¨ç”±AI进行完善。
提供少量实现限定(使⽤tao- design),或è€
由AIâ¾ƒâ¾è¯»å–ä»“åº“ä»£ç è¿›â¾åˆ¤æ–­
æä¾›åŸºç¡€çš„ä»£ç å®žçŽ°è§„èŒƒä¸Žâ½‚ä»¶æ¨¡ç‰ˆ
按要求提供prd,并进⾏⼀定的结构化优化
æä¾›åŸºç¡€çš„ä»£ç å®žçŽ°è§„èŒƒä¸Žâ½‚ä»¶æ¨¡ç‰ˆ
按要求提供prd,并进⾏⼀定的结构化优化
æä¾›æ›´ä¸¥æ ¼çš„å
·ä½“å®žçŽ°ç»‘å®šï¼Œé€šè¿‡ä¸¥æ ¼çš„ä»£ç æ¨¡ç‰ˆé™å®šäº§ç‰©æ ¼å¼
效果
æ ·å¼
组件库å
œåº•åŸºæœ¬é£Žæ ¼
组件库å
œåº•åŸºæœ¬é£Žæ ¼
功能符合用户要求
符合视觉稿 / 平台规范要求
功能符合用户要求
可迭代性
非复杂æƒ
况,AI也可以再进行一定程度的迭代
AI可以进行一定程度的迭代
AI可以进行长期多次的迭代
ä»£ç è´¨é‡
ä»£ç ç»„ç»‡æ ¼å¼éšæœºï¼ˆè¿˜å¯èƒ½äº§å‡ºå•ä¸ªå·¨åž‹æ–‡ä»¶ï¼‰ï¼Œäººå·¥ä»‹å
¥æˆæœ¬é«˜
ä»£ç ç»„ç»‡æ ¼å¼è¾ƒè§„èŒƒï¼Œä»£ç è½»åº¦è§£è€¦ï¼Œäººå·¥ä»‹å
¥æˆæœ¬ä¸­ï¼Œä»ç„¶æœ‰éƒ¨åˆ†é€»è¾‘ä»£ç åŒ
含在主文件
ä»£ç å®Œå
¨æŒ‰ç
§ç»Ÿä¸€æ€è·¯ / 组件 å®Œæˆï¼ŒåŠŸèƒ½å®žçŽ°åˆ†æ•£åœ¨å„ä¸ªå­ç»„ä»¶ï¼Œä»£ç ä¸¥æ ¼è§£è—•ï¼Œäººå·¥ä»‹å
¥æˆæœ¬ä½Ž
å¯¹äºŽè¿™ç§ä¸¥æ ¼çš„è§£è€¦æ¨¡å¼ï¼Œäººå·¥ç¼–å†™æ—¶å¯èƒ½æˆæœ¬è¿‡é«˜ï¼Œä½†æ˜¯äº¤ç»™AI编写则是适得å
¶æ‰€
问题调试
分⽀控制
在微调阶段,及时通过Commitä¿å­˜ç‰ˆæœ¬ï¼Œå› ä¸ºAIâ½£ç æ˜¯è¦†ç›–å¼ï¼Œæ²¡æœ‰åŠæ—¶å­˜æ¡£ä¼šå› ä¸ºæŸäº›é”™è¯¯ä¿®æ”¹å¯¼è‡´ä»£ç æ··ä¹±ï¼Œå‰åŠŸå°½å¼ƒï¼ˆâ½¬å‰çš„â½£ç â¼¯å
·éƒ½æœ‰â¼€å®šçš„回退功能,但是不能过于信任)。
报错调试
常规报错直接将报错部分复制给Agent⾃⾏调试即可,可解决率80%(解决不掉的部分主要来⾃三â½
库å†
部的报错,需要特判)。
部分非阻断型报错,å
³æŽ‰å¼¹çª—即可,部分错误弹窗只是便于本地调试,线上并不会显示。
数据调试
数据问题不会有报错提示,可以让AI⾃⾏⽣成⼀些输出⽇志è¾
助排查。
xxxx显示为空,帮我在å
³é”®èŠ‚ç‚¹æ–°å¢žconsoleâ½‡å¿—ï¼Œä»¥ä¾¿æˆ‘å¤åˆ¶ç»™ä½ æŽ’æŸ¥é—®é¢˜ã€‚
以上页面调试也可以通过MCPå·¥å
·ï¼Œæˆ–è€
直接通过cursor的browser tab进行,篇å¹
问题不做展开。
进⾏⼀次涉及多个部分的中型迭代
需求背景(原始需求):
在货品管理页面中,货品除了基础信息外,还åŒ
含动态属性信息。这些属性由属性定义系统管理,支持多种数据类型(字符串、数字、布尔值、时间戳等),不同货品可能拥有不同的属性。
为了提升货品管理的效率和用户体验,需要提供以下功能:
属性展示:在列表中直观展示货品属性,支持用户自定义显示哪些属性
å±žæ€§ç­›é€‰ï¼šæ”¯æŒæŒ‰å±žæ€§è¿›è¡Œç­›é€‰æŸ¥è¯¢ï¼Œå¿«é€Ÿå®šä½ç›®æ ‡è´§å“
属性编辑:支持查看和编辑单个货品的属性信息。
明确需求
å
ˆåŸºäºŽæŽ¥â¼â½‚档和需求,交给AIåˆ›å»ºäº§å“â½‚æ¡£ï¼Œæ ¸å¯¹å®ŒæˆåŽè¿›â¼Šä¸‹â¼€æ­¥ï¼ˆå¸¸è§„æ”¹åŠ¨å¯ä»¥è®©AI直接⽣成,但如果涉及到复杂的交互,最好å
ˆçœ‹çœ‹AI准备怎么实现),以下是让AI扩写后的产品需求⽂档。
# 货品属性功能需求文档
## 需求背景
在货品管理页面中,货品除了基础信息外,还åŒ
含动态属性信息。这些属性由属性定义系统管理,支持多种数据类型(字符串、数字、布尔值、时间戳等),不同货品可能拥有不同的属性。
为了提升货品管理的效率和用户体验,需要提供以下功能:1. **属性展示**:在列表中直观展示货品属性,支持用户自定义显示哪些属性2. **属性筛选**ï¼šæ”¯æŒæŒ‰å±žæ€§è¿›è¡Œç­›é€‰æŸ¥è¯¢ï¼Œå¿«é€Ÿå®šä½ç›®æ ‡è´§å“3. **属性编辑**:支持查看和编辑单个货品的属性信息
---
## 一、功能需求
### 1.1 属性列展示
**功能:** åœ¨è´§å“åˆ—è¡¨ä¸­æ·»åŠ "属性"列,展示货品属性信息。
**交互:**- 默认显示所有属性,每个属性以"æ ‡ç­¾+值"展示- 操作区提供"é
ç½®å±žæ€§åˆ—"按钮,可é
ç½®æ˜¾ç¤ºå“ªäº›å±žæ€§- æ—¶é—´æˆ³ç±»åž‹æ˜¾ç¤ºä¸ºæ—¥æœŸæ—¶é—´æ ¼å¼ï¼Œæ–‡æœ¬ç±»åž‹æ”¯æŒæ¢è¡Œ- æ— å±žæ€§æ—¶æ˜¾ç¤º"æš‚æ— å±žæ€§"
---
### 1.2 属性筛选
**功能:** 在筛选区支持按属性进行筛选查询。
**交互:**- 筛选区显示"按属性筛选"åŒºåŸŸï¼Œå·²æ·»åŠ çš„ç­›é€‰æ¡ä»¶ä»¥ Tag 展示- 点击"æ·»åŠ å±žæ€§ç­›é€‰"打开弹窗- å¼¹çª—ä¸­é€‰æ‹©å±žæ€§ï¼Œç³»ç»Ÿæ ¹æ®å±žæ€§ç±»åž‹è‡ªåŠ¨åˆ¤æ–­ç­›é€‰æ–¹å¼ï¼š - 字符串/æ–‡æœ¬ï¼šæœ‰æžšä¸¾å€¼â†’æžšä¸¾å¤šé€‰ï¼Œæ— æžšä¸¾å€¼â†’æ–‡æœ¬åŒ¹é
 - 数字:数值范围 - 布尔:布尔值选择 - 时间戳:时间范围 - 时间戳范围:时间点- 输å
¥ç­›é€‰å€¼åŽç¡®å®šï¼Œç­›é€‰æ¡ä»¶ç”Ÿæ•ˆå¹¶è§¦å‘查询
---
### 1.3 属性编辑
**功能:** 在操作列提供"属性"按钮,可查看和编辑货品属性。
**交互:**- 点击"属性"按钮打开右侧抽屉- æŠ½å±‰ä¸­ä»¥è¡¨æ ¼å±•ç¤ºå±žæ€§ä¿¡æ¯ï¼ˆå±žæ€§é”®ã€å±žæ€§é”®åç§°ã€å±žæ€§ç±»åž‹ã€å±žæ€§å€¼ï¼‰- æ ¹æ®å±žæ€§ç±»åž‹æ˜¾ç¤ºå¯¹åº”ç¼–è¾‘æŽ§ä»¶ï¼š - 数字→数字输å
¥æ¡† - 布尔→开å
³ç»„ä»¶ - 时间戳→日期时间选择器 - 时间戳范围→日期时间范围选择器 - 字符串(有枚举值)→下拉多选 - å­—ç¬¦ä¸²ï¼ˆæ— æžšä¸¾å€¼ï¼‰â†’æ–‡æœ¬è¾“å
¥æ¡† - 文本→多行文本输å
¥æ¡†- 修改后点击"保存属性",保存成功后刷新列表并å
³é—­æŠ½å±‰
---
## 二、数据类型说明
| 属性类型 | 筛选方式 | 编辑控件 ||---------|---------|---------|| STRING | 文本匹é
 或 枚举多选 | 文本输å
¥æ¡† 或 下拉多选 || TEXT | 文本匹é
 | 多行文本输å
¥æ¡† || NUMBER | 数值范围 | 数字输å
¥æ¡† || BOOLEAN | 布尔值 | 开å
³ç»„ä»¶ || TIMESTAMP | 时间范围 | 日期时间选择器 || TIMESTAMP_RANGE | 时间点 | 日期时间范围选择器 |
---
迭代效果对比
由于不是所有页面都能找到可以恰好抽象描述出来的页面模版,所以这里采用 能用就行版 和 较有要求版 进行迭代效果对比。
能⽤就⾏初版 +
ä»
输⼊原始需求
较有要求型初版 +
ä»
输⼊原始需求
较有要求型初版 +
有⼈⼯阐明后的详细功能⽂档
最终效果
基本符合要求
功能做出来了,但是不太合预期
基本符合要求
ä»£ç è´¨é‡
⼤量修改主⽂件,多次迭代后成功率å¿
然⼤å¹
下降
迭代后主⽂件⾏数达到600⾏,基本丧失⼈⼯介⼊可能性
ä»
è½»å¾®ä¿®æ”¹ä¸»ä»£ç å­ç»„ä»¶åˆ’åˆ†æ¸
晰,人工介å
¥æˆæœ¬ä½Ž
主文件逻辑æ¸
晰,迭代未修改主文件
只修改了涉及相å
³çš„子组件(子组件å
¶å®žä¹Ÿå¯ä»¥æ›´å†
聚,这部分可以让AI再进行二次优化)
由上可â»
æ¸
晰的 prd 保证功能符合预期:如果没有预å
ˆå¯¹ AI 想要产出的å†
å®¹è¿›â¾å®¡æ ¸ï¼Œå¾ˆå®¹æ˜“å‘â½£åç¦»å¯¼è‡´ç»“æžœä¸åˆé¢„æœŸï¼›
ä¼˜è´¨çš„ä»£ç æâ¾¼è¿­ä»£æ•ˆçŽ‡ï¼šåˆå§‹çš„ä»£ç å¯¹åŽç»­è¿­ä»£çš„æˆåŠŸçŽ‡æœ‰è¾ƒâ¼¤å½±å“ï¼Œå¦‚æžœæºä»£ç å·²ç»åœ¨å †ç Œä»£ç ï¼ŒåŽç»­è¿­ä»£æ—¶AIä¹Ÿä¼šå»¶ç»­è¿™ä¸ªâ»›æ ¼ï¼Œå¯¼è‡´è¿­ä»£æˆåŠŸçŽ‡æ€¥é€Ÿä¸‹é™ï¼Œä¸”ä¸§å¤±â¼ˆâ¼¯ä»‹â¼Šä¿®æ”¹ä»£ç çš„ç©ºé—´ã€‚
▐ ⼯程主导型(HOW TO DO)
这⼀场景的主要å
³æ³¨ç‚¹åœ¨äºŽï¼š
ä»£ç éœ€è¦ä¸¥æ ¼ç¬¦åˆâ¼¯ç¨‹è´¨é‡ï¼›
编写è€
è¦ä¿ç•™å¯¹ä»£ç â¼¤éƒ¨åˆ†çš„æŽŒæŽ§åº¦ï¼Œä¸”äº§å‡ºå†
容⼈⼯可介⼊度⾼;
对于这类复杂度⾼ / 隐含知识多的项⽬,怎么让 AI 可以做 / 知道做。
需求背景与实现拆解
需求å†
容:
需要在⻚⾯Feeds下新增⼆级类⽬é
ç½®ï¼Œä¸”商品卡⽚点击跳转切换到跳转⾃有中间⻚(原来是直接跳转商品详æƒ
⻚),完成视觉更新。
实现拆解
服务端
前端
需要新增⼀个 ald solution,且⽀持⼆级类⽬召回⽀持(beå¬å›žæ—¶å¢žåŠ å‚æ•°ï¼‰
新增⼆级类⽬é
ç½®é¡¹å¹¶æ›´æ”¹æŽ¥â¼å‚æ•°
重写feeds组件(原有旧组件不⽀持多级 tab),修改卡⽚与 tab æ ·å¼
修改卡⽚跳转逻辑
前置知识准备
对于这类业务仓库,隐含知识及å
¶å¤šï¼Œè¿™äº›éšå«çŸ¥è¯†æœ‰äº›æ¥â¾ƒä¸šåŠ¡è¯­ä¹‰ï¼Œæœ‰äº›æ¥â¾ƒå†
部平台的开发模式,也有⼀些来⾃各⾃团队的实现规范。如果没有前置输⼊,AI 完å
¨â½†ä»Žä¸‹â¼¿ï¼Œæ­¤æ—¶éœ€è¦æå‰è¯†åˆ«ä¸šåŠ¡è¯­ä¹‰ä¸‹çš„éšå«çŸ¥è¯†ä¸Žâ¼€äº›å®žçŽ°è§„èŒƒ / â½
案,并将å
¶æ²‰æ·€åˆ°â½‚档,让 AI 有迹可循。
⾸å
ˆï¼Œæ¢³ç†å‡ºå½“前需求需要声明的隐含知识
什么是⾃建的中间⻚?什么是商品详æƒ
⻚?怎么进⾏跳转?
后端仓库å†
怎么新建⼀个solution,有没有什么相å
³çš„ä»£ç è§„èŒƒï¼Ÿ
前端仓库要使⽤什么⼯å
·åº“?⼀些基础功能如何实现?
Feeds组件库如何使⽤?é
ç½®é¡¹æ˜¯ä»€ä¹ˆï¼Ÿæ€Žä¹ˆæ›´æ”¹ï¼Ÿ
以下是梳理出来的前置⽂档,⽂档这部分建议 AI ⽣成é
åˆâ¼ˆâ¼¯ä¿®æ”¹ï¼Œå°½é‡é‡‡â½¤æ¸è¿›å¼æŠ«éœ²çš„原则,⼊⼝⽂档信息å
¨â½½ç²¾ï¼Œå¯¹äºŽéœ€è¦è¯¦ç»†ä»‹ç»çš„部分,可以另外创建⽂档进⾏补å
,最好是有⼀个利于统⼀读取的地â½
进⾏存放(前期冷启动的时候编写前置⽂档会花较多的时间,但是这是值得,且未来å¿
须要完成的事æƒ
,后期复⽤到的时候就会发现有预制⽂档有多爽)。
服务端相å
³â½‚æ¡£
前端相å
³â½‚æ¡£
技术â½
案产出
å‡†å¤‡å¥½ä»¥åŽå°±å¯ä»¥åŸºäºŽçŸ¥è¯†é—®ç­”å’Œä»£ç äº§å‡ºæŠ€æœ¯â½
案,这部分注意还是要提供å
³é”®ä¿¡æ¯ï¼Œå¯¹äºŽ AI 需要从知识库获取知识的æƒ
况,最好是让AI列出å
¶å‚考的å
·ä½“â½‚æ¡£ï¼Œé˜²â½Œå‡ºçŽ°åç¦»ã€‚ç”±äºŽæ˜¯é‡ä»£ç è´¨é‡çš„é¡¹â½¬ï¼Œéœ€è¦â¼ˆâ¼¯å®Œæˆå¯¹æŠ€æœ¯â½
æ¡ˆçš„å®Œæ•´å®¡æŸ¥ä¸Žä¿®æ”¹ï¼Œä¹Ÿæ˜¯å¯¹ä»£ç æŽŒæŽ§åº¦çš„ä¿è¯ï¼ˆæ¯•ç«Ÿçº¿ä¸Š bug 不能让 AI 背é”
)。
以下是采⽤的技术â½
案模版与实é™
产出â½
案,虽然技术⽂档看起来⾏数很多,但是å
¶å®žâ¼¤éƒ¨åˆ†éƒ½æ˜¯ä»£ç èŠ‚é€‰éƒ¨åˆ†ï¼Œé™å®šæ ¼å¼åŽçš„æŠ€æœ¯â½‚æ¡£å
¶å®žä¸ä¼šå ⽤太多的审查时间。
实现前首å
ˆæŒ‰ç
§å¦‚下模版进行技术方案编写,文档生成到仓库docs目录下,我确认后再进行实现
技术方案模版引用文档 - 声明引用的知识库文档,并写å
¥ä»ŽçŸ¥è¯†åº“æ ¹ç›®å½•çš„index.md获取版本号```## 引用文档- **知识库版本**:v1.2.3 (从 index.md 获取)- **相å
³æ–‡æ¡£**: - [æ ¸å¿ƒä¸šåŠ¡æµç¨‹æ–‡æ¡£](链接) - 用于理解业务逻辑 - [技术架构文档](链接) - 用于确定技术选型 - [API 规范文档](链接) - 用于接口设计参考```
相å
³æŽ¥å£ - å¦‚æ— åˆ™çœç•¥åŠŸèƒ½ç‚¹æ‹†è§£ - 讲用户的需求分解成å
·ä½“的功能点å
·ä½“实现方案 - 大致声明实现方案,并在å
³é”®éƒ¨ä½é
ä¸Šæ ¸å¿ƒä»£ç ï¼Œæˆ–è€
mermAId流程图问题预警 - 分析整体流程上可能会出现问题的地方,并提供应对措施相å
³åŸ‹ç‚¹ - å¦‚æ— åˆ™çœç•¥å†
容补å
- å¯ä»¥æ ¹æ®éœ€æ±‚å†
å®¹è‡ªç”±å‘æŒ¥ï¼Œæ ‡é¢˜å†
容自拟,做一些å†
容补å
,但是ä»
限一小部分
可以看到,被前置文档喂饱后,AI很完整地了解了自己该干什么,且完整地掌握了淘å†
C端业务仓库下的开发方式。
å
·ä½“执行阶段 - 解耦实现
å
³äºŽæ‰§è¡Œéƒ¨åˆ†ï¼Œé€»è¾‘å†
容前后端实现起来都大差不差,这部分å†
容方案确定以后AIäº§å‡ºçš„ä»£ç åŸºæœ¬éƒ½èƒ½æ»¡è¶³éœ€æ±‚ï¼Œè¿™å—é‡ç‚¹è®²ä¸‹C端前端最å
³é”®çš„视觉部分。
C端 AI ç¼–ç ä¸å¥½ç”¨çš„ä¸€ä¸ªä¸»è¦åŽŸå› å°±æ˜¯C端逻辑与视觉耦合度太高,而 AI 又天生缺乏对视觉å†
容的感知力,此时如果一次性让AIæŠŠç»„ä»¶çš„é€»è¾‘ä»£ç å’Œè§†è§‰éƒ½å†™å®Œå®¹æ˜“é¡¾æ­¤å¤±å½¼ï¼Œå¯¼è‡´é—®é¢˜ç›´æŽ¥ä¸Šå‡äº†ä¸€ä¸ªå¤æ‚åº¦ã€‚
æ­¤æ—¶æœ€ç†æƒ³çš„è§£æ³•ï¼Œè¿˜æ˜¯å°½å¯èƒ½çš„å°†è§†è§‰ä»£ç ä¸Žé€»è¾‘ä»£ç åˆ†ç¦»ï¼Œå
ˆè®© AI å®Œæˆé€»è¾‘ä»£ç éƒ¨åˆ†ï¼Œå†å•ç‹¬é€šè¿‡å
¶ä»–方案完成视觉组件的编写,再使用 AI 将逻辑与视觉组件进行绑定。基础的视图分离比较简单,就是首å
ˆå‡å®šä¸€ä¸ªæŠ½è±¡ç»„件,åŒ
含了属性与事件,再和一个只负责绑定事件与属性的纯视觉组件结合即可。
Bad Case ❌
视图和逻辑耦合严重,每次对视图的修改都要同时影响到逻辑实现
Good Case âœ
视图和逻辑完å
¨è§£è€¦ï¼Œè§†å›¾ä¿®æ”¹ä¸å†å½±å“é€»è¾‘,业务层和视图层均可以快速迁移复用
(为了展示æ¸
晰所以采用两个文件的形式,实践中可以合并到一个组件,只要保留这个视图分离的设计思维即可)
视图分离还有个好处就是极大地减少了前端的 CR 压力,比如一个视图分离后的购物车组件,CR 时只需要重点查看主逻辑 index.tsx çš„ä»£ç å˜æ›´ï¼Œå®¡æŸ¥åŽ‹åŠ›çž¬é—´å°‘æŽ‰å¤§åŠã€‚
é‡æž„è¿‡ç¨‹ä¸­ï¼Œä¹Ÿç»å¸¸ä¼šé‡åˆ°è§†å›¾å’Œé€»è¾‘ç»‘å®šè¿‡æ·±ï¼Œæ— æ³•å¤ç”¨ 视觉/逻辑 ä»£ç çš„æƒ
况,这时候也可以直接让 AI è¿›è¡Œä»£ç æ‹†è§£ï¼Œäº§å‡ºæ›´åŠ çº¯ç²¹çš„ 逻辑/视觉组件。比如这个需求中的商卡åŒ
å«å¤§é‡é€»è¾‘ï¼Œæˆ‘æƒ³å®žçŽ°æ–°çš„å¡ç‰‡æ ·å¼è¿˜å¾—ä»ŽåŽŸæ¥ 400 è¡Œçš„è§†è§‰ç»„ä»¶é‡ŒæŒ‘å‡ºæ¥æ‰€æœ‰é€»è¾‘ä»£ç ï¼Œç®€ç›´æ²¡æœ‰å¤©ç†ã€‚ä½†æ˜¯è®©AIå°†ç»„ä»¶æ”¹é€ æˆè§†å›¾åˆ†ç¦»çš„ç»“æž„åŽï¼Œå†é€šè¿‡D2Cäº§å‡ºæ–°çš„å¡ç‰‡ç»„ä»¶ï¼Œåœ¨è¿›è¡ŒçŠ¶æ€ä¸Žäº‹ä»¶çš„ç»‘å®šå³å¯ï¼ŒåŽç»­è¿­ä»£ä¹Ÿä¼šæ›´åŠ æ¸
晰。
基于以上思路,还可以进一步设计视图分离的组件库,预设组件的事件,由调用方进行视觉组件的实现,完成事件的绑定,做到最大化的逻辑复用。比如,我们业务有需要在不同场景中复用的feeds模块,为了保证最大化的逻辑复用,我们将 tab 渲染的部分交给调用方,调用方自己进行 tab 部分的视觉实现,只要给对应的å
ƒç´ 做好事件绑定即可。
后期沉淀
完成需求后,可以重新梳理整个流程中的问题与可以复用的å†
容,进一步完成资产沉淀,这部分å†
å®¹å‰æœŸçš„ç”Ÿæˆå’Œè°ƒæ•´éƒ½ä¼šæ¯”è¾ƒè´¹åŠ²ï¼Œä½†æ˜¯åŸºæœ¬å‡ ä¸ªä¸­åž‹éœ€æ±‚è®¤çœŸè·‘ä¸‹æ¥çš„æ²‰æ·€ï¼Œå°±å¯ä»¥è¦†ç›–å¾ˆå¤šæ—¥å¸¸å¼€å‘çš„å†
容了,然后就可以逐步进å
¥åäº«å
¶æˆçš„阶段。当日常开发场景枚举到80%以后,AI ä¼šè¶Šæ¥è¶Šåƒæˆ‘ä»¬å»¶ä¼¸å‡ºçš„åŒæ‰‹ï¼Œä¸æ˜¯èƒ¡ç¼–ä¹±é€ ï¼Œè€Œæ˜¯æŠŠæˆ‘ä»¬è„‘æµ·ä¸­çš„ä»£ç æ¬è¿åˆ°å®ƒä»¬åº”è¯¥å­˜åœ¨çš„åœ°æ–¹ã€‚
组件沉淀
åŸºäºŽå·²æœ‰çš„è§†å›¾åˆ†ç¦»ç»“æž„ï¼Œä¸šåŠ¡é€»è¾‘ç»„ä»¶çš„å¯å¤ç”¨åº¦å·²ç»ä¸å†å—é™äºŽè§†è§‰ç¨¿ï¼Œè€Œå‰¥ç¦»äº†ä¸šåŠ¡é€»è¾‘çš„è§†è§‰ç´ æï¼Œä¹Ÿå¯ä»¥å¿«é€Ÿçš„åº”ç”¨åˆ°å„ä¸ªé¡¹ç›®ã€‚
知识文档迭代
虽然在前置准备期已经提前进行了知识文档的生成,但是 AI 大概率还是会有理解偏离的æƒ
况,这时候就要对已有的文档进行补å
说明。比如:我提供了如何创建迭代的文档后,发现 AI è¿˜æ˜¯ä¼šè‡ªç”±å‘æŒ¥ï¼Œå¯¼è‡´æµç¨‹æ‰§è¡Œé”™è¯¯ã€‚äºŽæ˜¯æˆ‘é’ˆå¯¹å‡ ç±»å¸¸è§é—®é¢˜è¡¥å
äº†ä¸¥æ ¼çº¦æŸï¼Œé€šè¿‡è¿è¡Œæ—¶çš„åŠæ—¶ä¿®æ­£æ¥ä¿è¯æ–‡æ¡£çš„æœ‰æ•ˆæ€§ã€‚
工作流沉淀
完成一次需求以后,最重要的就是review整个实现流程,识别有没有 å¯æ ‡å‡†åŒ–/重复性强/涉及文件多 的可沉淀流程,比如这个需求就有多个可以落成简单 Skill çš„å·¥ä½œé¡¹ï¼Œæ ‡å‡†å·¥ä½œæµçš„æ²‰æ·€å¯ä»¥è®© AI 越来越可控。
后端 ald solution 创建,分步修改相应文件;
在前面的基础上,进行前后端流程串联,如:solution -> 接口文档 -> 前端调用函数生成;
前端天马é
ç½®é¡¹çš„æ–°å¢žä¸Žç›¸åº”çš„è¯»å–ä»£ç ç”Ÿæˆï¼›
é€»è¾‘ä»£ç ç”Ÿæˆ -> 调用D2Cå·¥å
·ç”Ÿæˆè§†è§‰ç»„ä»¶ -> 进行逻辑与视图的绑定。
团队介绍
本文作è€
卓屿,来自淘天集团-å¤©çŒ«æ–°å“è¥é”€æŠ€æœ¯å›¢é˜Ÿã€‚æˆ‘ä»¬è‡´åŠ›é€šè¿‡å¤§æ•°æ®ã€äººå·¥æ™ºèƒ½æ‰“é€ é¢†å
ˆçš„æ•°å­—化新品营销平台,服务于天猫新品å
¨é“¾è·¯å¢žé•¿ï¼Œé¢å‘å“ç‰Œå•†å®¶æž„å»ºä»Žæ–°å“ç ”å‘ã€æ–°å“å­µåŒ–åˆ°æ–°å“ä¸Šæ–°çš„â¼€ä½“åŒ–è§£å†³æ–¹æ¡ˆï¼Œè´Ÿè´£ã€Œå¤©çŒ«å°é»‘ç›’ã€/「天猫Uå
ˆã€/「TMIC」(天猫新品创新中心)/ã€Œæ·˜ç³»æ–°å“è¿è¥å¹³å°ã€ç­‰æ·˜ç³»æ ¸å¿ƒçš„æ–°å“ä¸Žæ–°å®¢ä¸šåŠ¡ï¼Œå¸®åŠ©å•†å®¶è¿žæŽ¥æ·˜ç³»ç«™å†
外流量、营销资源与数据,做规模化新品经营与确定性增长。
¤ 拓展é˜
读 ¤
3DXR技术 | 终端技术 | 音视频技术
服务端技术 | 技术质量 | 数据算法