得物以多仓工作区和双份Spec组织全栈研发
概述
得物团队指出全栈 AI 开发最致命的错误是让 AI 从零写代码,产出「外星代码」(风格不一致、复用率低、Code Review 采纳率低,Review 与返工成本反而更高),因此确立 Harness(约束)思维:给 AI 一个已有实现作参照让它照着复刻,而非凭空创造,四条原则为找相似实现、复用优先、模仿着复制、约束生成范围(在提示词中明确指定参考文件与参考接口)。 工作区层面,因前后端代码分布在两个独立仓库、分开打开时 AI 看不到对侧调用方式/返回结构、接口字段对不上,故把 service-frontend 与 service-backend 放同一工作区,.claude 与 .cursor 中已对 SDD 能力初始化(内部全栈研发插件),价值有三:Cursor 的 Codebase Indexing 对工作区全部代码向量化建语义索引(首次索引需几分钟,需等索引完成再生成)、上下文完整使接口字段与命名风格自然对齐、前后端 SDD 文档集中管理便于接口契约对齐。 流程上,全栈 SDD 需生成两份文档(前端一份、后端一份)并保证接口契约对齐、字段映射一致。推荐提示词要求先 cd 到对应前后端应用目录再 /sdd-propose,并给出前端修改入口(@FeatureTable/index.tsx:53-58)与后端参考接口(/api/v1/feature/list)等锚点。 一次完整生成产出前端 proposal.md/spec.md/tasks.md 与后端 proposal.md/spec.md/design.md/tasks.md。指令体系沿用内部 OpenSpec 类命令:openspec-explore/propose/apply-change/verify-change/archive-change,最简用法为「想(propose)、做(apply-change)、收(archive-change)」。 文中还提示 SDD 不等于需求文档:AI 模仿参考代码会自动复刻隐性功能(如关闭弹窗清空表单、永久有效时清除日期、优先级自增),这些未写进 SDD 却已实现,故要求测试在 SDD Review、代码 Review、联调三阶段对照隐性行为介入。