AI 原生研发范式:从“代码中心”到“文档驱动”的演进 - SDD实践指南

还可以考虑将 Prompt 工程和领域知识图谱结合起来。通过构建领域知识图谱,可以更好地理解需求和上下文,从而设计出更有效、更精准的 Prompt。同时,Prompt 也可以反过来丰富和完善知识图谱,形成一个良性循环。

举个例子,如果你的团队是做电商推荐的,可以构建一个包含商品、用户、行为等信息的知识图谱。当需要设计一个推荐 Prompt 时,就可以从知识图谱中提取相关信息,并将其融入到 Prompt 中。

SKILL.md 确实是个好主意,但感觉还是有点“手工”。如果能结合一些工具和平台,效果可能会更好。比如,可以考虑使用 Prompt 模板管理工具,将常用的 Prompt 封装成模板,并支持参数化配置。这样,团队成员就可以像调用函数一样复用 Prompt,减少重复劳动。 另外,还可以建立一个 Prompt 知识库,对 Prompt 进行分类和标签化,方便检索和学习。更进一步,可以引入 Prompt 的版本管理机制,对 Prompt 进行迭代和优化,并记录每一次变更的原因和效果。

该目录是否是项目所有成员共建?

多个feature并行开发,先后 push 相关改动,有些是重复甚至是冲突的,是否有owner手动去解决

经历长时间开发后,doc内的内容是否会成为一个大泥球,是否会导致 人看不懂,ai也因为上下文太长,导致专注力分散,不知所云

目录是项目所有成员共建的,但每个文档都有 Owner 负责。Owner 需要对文档的质量和一致性负责,解决重复和冲突的问题。为了避免文档变成大泥球,可以定期进行维护和重构,保持文档的结构清晰和内容简洁。可以参考文中的双态管理策略和生命周期管理协议。

独立职业不好说,但 Prompt 能力绝对会成为程序员的必备技能。现在 AI 发展这么快,以后写代码可能就靠 Prompt 了。你需要学会怎么清晰地描述需求、怎么拆解任务、怎么引导 AI 思考。不会 Prompt,以后可能连 Bug 都不知道怎么修。

从更长远的角度来看,我认为程序员的核心竞争力在于“创造力”和“批判性思维”。AI 可以帮助我们完成重复性的编码工作,但无法替代我们进行创新和思考。程序员需要更多地关注如何利用 AI 来解决新的问题、创造新的价值,而不是简单地重复过去的经验。

要我说,SDD 最大的好处是出了问题能甩锅啊!啊不是,是可以快速定位问题。以前甩锅只能靠模糊印象,现在有了文档,谁的责任一目了然!风险是,如果文档本身写错了,那就变成集体背锅了,刺激!

SDD 的优势在于提升了代码的可维护性和可追溯性,让 AI 生成的代码不再是“黑盒”。挑战在于如何平衡文档的详尽程度和开发效率,避免过度文档化,可以考虑从小范围试点,逐步推广。

从学术角度来看,SDD 的挑战在于如何定义“足够好”的 Spec。Spec 的粒度、完整性和准确性直接影响 AI 生成代码的质量和可维护性。团队可能需要投入时间和精力去探索适合自身业务场景的 Spec 编写规范。而且,不同项目复杂度不同,如何灵活调整 SDD 的应用方式也是一个需要考虑的问题。

我觉得是 Research 环节。就像盖房子前要先打好地基一样,只有充分理解需求和背景,才能避免后续的偏差。如果一开始方向就错了,后面再怎么努力也是南辕北辙。当然,其他环节也很重要,但 Research 是基础,基础不牢,地动山摇嘛。

Markdown 最棒的一点就是纯文本,可读性强,方便版本控制。而且 Markdown 语法简单易学,写起来很顺畅,不会像 Word 那样被各种格式问题干扰。但是,Markdown 的表达能力有限,复杂的设计图、流程图还是需要借助其他工具。

在我看来,SDD 推行初期最大的阻力在于观念转变。很多程序员觉得代码才是交付物,文档是可有可无的。要改变这种观念,需要从管理层开始重视文档,并将其纳入绩效考核。此外,还可以组织一些培训,让大家了解 SDD 的价值和意义。只有让大家发自内心地认可 SDD,才能真正将其落地。

我更倾向于认为是 Review (验收与对齐) 环节。虽然 AI 可以帮助我们生成代码和测试用例,但最终的质量还是要靠人来把关。Review 环节需要仔细审查代码是否符合规范、是否满足需求、是否存在潜在的 Bug 等,这些都需要人来做出判断。如果 Review 不到位,即使前面的环节做得再好,也可能会出现问题。

我觉得可以建一个Prompt技巧库,类似一个内部的“Prompt Engineering Wiki”,大家把自己觉得好用的Prompt都放上去,并且附上使用场景和效果说明,方便其他人学习和参考。

最好的方式是结合实际项目,在项目中不断迭代和优化 Prompt,并把最终的 Prompt 固化到代码或者文档中。这样 Prompt 就可以随着项目的演进不断积累和完善,成为团队的宝贵资产。同时,定期组织 Prompt 分享会也是一个不错的选择,让大家互相学习、共同进步。

建立一个 Prompt 知识库,就像一个“Prompt 百宝箱”,把各种场景下的优秀 Prompt 都收集起来,方便团队成员查阅和复用。可以按照不同的业务领域、技术方向进行分类,方便检索。

我选“Review(验收与对齐)”环节。现在 AI 生成代码太快了,很多人都懒得 Review,直接合并上线。但 AI 毕竟不是人脑,生成的代码可能会有 Bug 或者不符合规范。如果不认真 Review,就会把雷埋到线上,到时候排查起来更麻烦。
而且Review不仅仅是代码,更重要的是spec文档,这个是AI时代做review的核心。

可能大家觉得“Plan(规划与契约)”不重要,觉得浪费时间,但磨刀不误砍柴工,前期把计划做细致了,可以避免后面出现偏差,减少不必要的返工。而且 Plan 也是团队成员之间对齐理解的重要步骤,可以减少沟通成本。

SDD 的精髓在于将模糊的需求显性化、结构化。以前的需求靠口头、靠经验,容易出现理解偏差。现在通过文档把需求、接口、实现、测试都明确下来,相当于给团队成员都装了一个“统一插件”,减少了信息损耗,提高了协作效率。而且AI可以阅读,进一步加速了这个过程。

我觉得是“Innovate(设计与推演)”环节,很多人拿到需求就直接开干,根本不思考有没有更好的方案。但实际上,好的设计可以避免很多返工,减少后续的维护成本。