现在的模型能力已经足够强到不再需要各种工作流skill了.
不过module-design这类规范性的skill我认为还是很有用的. 这个skill是蒸馏的
<<clean code>>和<<code complete>>, 把业界在模块层次划分的良好实践
总结了出来.
为什么单独强调module-design呢? 因为vibe coding的过程中, 业务流程, 架构
约束等方面实际上只有人才能提供. 模型唯一能做的就是, 把人提供的业务流程等
按照业界行之有效的实践, 划分成合理的模块层次结构. 并且, 合理干净的模块设
计能让模型在解决问题的时候更聚焦于根因, 少走弯路, 节省大量token.
如果你让astra这种指令遵循度非常好的模型在工作的时候严格遵循这个skill,
并且让模型review项目的过程中将违反该skill的情况也算作bug来进行修复, 最后
你会得到一个组织良好的项目:
- 每个模块的大小都得到了控制, 不会有超大文件.
- 每个模块的职责都非常清晰, 功能内聚.
- 每个模块的外部接口都有对应的tests来定义功能, 定义好了以后再写模块.
- 模块的层次结构合理.
- 没有一堆乱七八糟的文档, 不需要了. 代码即文档, 测试定义行为.
我自己的例子:
在review的时候, 让模型反复执行(例如codex的 /goal)如下prompt:
全面彻底地review整个项目有哪些:
1. 不符合规范的地方
2. 过于复杂且应该简化的架构
3. 性能瓶颈尤其是不必要的拷贝
4. 不必要的unsafe以及过于宽泛的unsafe
5. 以及其他各种bug.
要找出所有问题不要遗漏, 并且分析清楚问题的根因, 然后判断根因是否是架构层面引起的.
然后彻底全面地修复掉(包括架构层面), 严禁任何后向兼容和妥协. 每修复一个问题, 都主动报告目前一共发现多少问题, 已修复多少, 剩余多少.
要始终贯彻 module-design skill.
修复范围限定在本项目内. 第三方依赖不做修复, 而是在失败case中注释清楚.