一次真实的资料库 + 数据表 + 双向同步项目复盘。附完整避坑清单。
用 WorkBuddy 做了个"个人办公工作台"(在线 HTML + 三张数据表 + 双向同步),用户不满意返工两轮。
翻 ~/.workbuddy/workbuddy.db 的 session_usage 表,逐次消耗是:
阶段 | 消耗 |
|---|---|
第一轮(照着同款页克隆) | 186.31 |
第二轮(补功能 + 改深色) | 184.06 |
第三轮(收尾验证) | 12.37 |
合计 | 382.74 |
再拆开看 jsonl 里的 usage:
最扎眼的一个数字:355 次模型调用,274 次单次输入超过 20 万 token。
问题不在某一次输出太多,而在上下文只增不减。看增长曲线:
从 3.8 万一路涨到 62 万,再靠压缩回落——每一次工具调用都要把整个历史重新喂一遍。这就是积分曲线陡峭的原因。
用户没报这个 bug,是我截图验证时眼尖发现的:线上"把 Q3 增长方案的结论页写完"重复出现 3 次,查数据库发现任务表被写到了 112 条(应该是 12 条)。
原页面的同步逻辑是这样的:
四个问题叠在一起:
_s,我一开始用 sample,推送判断和打标逻辑对不上结果就是:4 个标签页 × 12 条示例数据,各自 addRecord 往云端写。
配套三件事:
光看代码不够,得造出触发条件:
结果:4 个并发标签页压测后,云端仍是 12/4/3,零重复。
顺带修掉一个更危险的:原来的
doPull里有一段"云端没有就反向删云端"。多设备下这会导致 A 删了、B 把删除撤销,然后 B 又把别的记录删掉——两边互删。已改成只由用户删除动作触发远端删除。
用正则批量改一个 20 万字符的单文件 HTML,锚点空白差异就悄悄改失败、产出坏文件。改成每步都断言命中数:
锚点不匹配立刻炸,而不是产出一个坏页面让你去 debug。
</b> 当成正则起始,计数就乱了。node --check + 自己写的括号平衡计数器(剥离字符串/模板串/注释/正则)验证为 0esc() 的转义。逐个数据出口扫一遍,未转义出口为 0 才敢声明误报误报也要写清楚理由再 ack,不能糊过去。
这台机器没装 playwright/puppeteer。替代方案:
再配合桌面截图看真实渲染。比纯静态代码检查可靠得多——我就是在截图里发现数据重复的。
截图工具默认抓全屏,把微信聊天窗口也拍进去了。必须用 --region 精确截页面区域。
按性价比排序:
手段 | 效果 | 难度 |
|---|---|---|
对话超 15 轮就开新对话 | 上下文从 60 万降到 15 万,省 4 倍 | ⭐ |
需求一次说清(身份+任务+格式) | 少返工 2~3 轮 = 少烧 100+ 积分 | ⭐ |
纯查询用 Ask 模式 / 轻量模型 | 深度调研 300800,普通问答 1030 | ⭐ |
一次批量写入,别循环单条调 | 减少往返 + 避免限流重试 | ⭐⭐ |
优先消耗临近过期的积分 | 有效期 90/180 天,白花可惜 | ⭐ |
第一条最关键。上下文是复利增长的:第 50 轮的每次输入是第 1 轮的 10 倍。 手上正在做的事写完就
/clear或开新对话,是最省积分的习惯。
这次返工根本原因是我没先读需求就去找"同款"克隆,结果用户要的「周视图·日历排程」源页面里根本没有(只有复盘页的"本周/上周"偏移),配色也完全不对——白底,用户要深色。等于先白干一遍再重做。
先读需求逐条列清单,再决定用不用现成方案。 这一步能省掉的积分,比任何省积分技巧都多。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。