最近感觉 AI 写代码真是越来越厉害了,但是也越来越有点不放心,没说它写的不好,也不是怕被裁员,而是感觉 AI 它像是个黑盒,你输入一句话,它输出一份可用的代码,写demo、玩具、实现简单想法看起来没什么问题,但是在真实项目里头,不知道它选了啥方案,为啥这么写,有没有埋坑,总感觉心里没底,而且代码review的时间大大增加
所以我想是不是应该写出文档,再让AI去写代码,但是手动写文档也麻烦,所以打算做个工具来帮我做这个,但是在写的时候各种想法涌入,最后花了两三个月的时间捣鼓了一个开源工具 Architext ,包含 项目持久上下文管理 + 文档先行,代码后置规则 + AI命令声明周期等东西
这个也算是我在如何与AI协作去开发真正生产级产品的一次探索,我并不认为这是这个问题上的很好答案,但是我觉得至少这是一个我认为行得通的方向
目前还是非常早期的阶段,希望各位大佬有兴趣的话,可以尝试一下,并提点意见
同时有没有大佬能说说你们平时怎么控制AI生成代码的风险的?
Github-Architext
使用教程
ps: 我也有尝试使用openclaw,想要让openclaw去使用我这个框架,用里头的命令和claude code对话去完成一个项目,但是试了很多次也没成功,经常出现一两次可能用来正确的命令,但是后面就会出现openclaw自己写代码的情况,有大佬有啥好办法吗?
9 个赞
收藏备用,跟传统的speckit,openspec,plan and wright啥区别呢?
1 个赞
说实话其实还是提示词工程,不过得分几个层面,首先比较重要的是实现一个功能前的功能设计,强制ai去实现功能前做设计,拆解任务,生成spec、plan文件,具体可以看代码的architext\templates\zh\docs\templates\spec.template.md和architext\templates\zh\docs\templates\plan.template.json 这两个,人工检查生成的任务细节符合预期,再让ai去code,完成后会在在cli层面做了一个任务完成度检查 npx archi task --check (不过其实也有可能有幻觉,毕竟勾选还是ai来勾选是否完成的),最后是最后执行一个独立上下文的审查skill来审查功能是否完成,以及修复(完成效果还是得看模型能力)
我觉得最主要的区别应该是我这里做了项目的持久化文档,针对有不同特性的项目,设计了对应的json文件,来记录项目代码/功能快照,可以让ai在设计/实现功能的时候不要偏离项目已有的东西,比如utils工具,ai写代码的时候很容易不管项目中有没有这些代码,而重复去实现一些公用工具,比如日期转换、单位处理,通过存下这些快照,可以让ai快速了解到项目中有的东西,不会自己再造轮子