最近的话还是不可避免地大规模地使用ai工具进行编码工作,总体上来说的话这东西很大程度上加快了新的功能的迭代速度 不过的话市面上的其实都不是非常满意,很大程度上这种工具是需要你深度自定义,拥有自己的工作流的(也有可能是我走 的路线是AI赋能加速工作流的路线)

概述AI编码工具[1]的使用

文化工作者一定要有文化[2]

这方面比较值得注意到是自己也需要对做的东西有基本的认知的(如果没有你也可以让AI帮你有),经典的谬误是小白也能 使用这种工具完成这方面的项目

这方面固然是现在更多工具努力的方向,但是这件事情本身存在一个盲点就是小白不可能会知道AI写出来的是什么东西,AI 提出的方案也大概率不会懂,AI写出什么就是什么了而不会对AI工具产生的一些隐患产生一丝一毫的察觉

换句话说,现在的AI工具并不对它写出来的东西的质量和安全性进行担保,而生产级项目忽略这两个将会是一个巨大的灾难

其实即使AI工具担保了这些,对于小白来说很大概率因为规范和安全意识的缺失也会酿成大错,经典的死法就是密码上传 github,对于这种完全阻止不了,对于教育铺开这些东西想都不用想,一眼假的诈骗网站和流氓软件还有那么多人中招甚至 解压缩都不会的让它们有这种意识还不如直接教毛驴用ai工具

除此之外,AI工具也有以下几点痛点,这些东西其他大佬也都在反复提及:

  • AI没有从工作中学习
  • 过度编码
  • 喜欢把一个文件堆成屎
  • 经常把好的功能改坏
  • 审美太差
  • 不喜欢遵守一些项目里面已有的规范

如果你是比较喜欢抄作业的你可以先参考我的AGENTS.md(也借鉴了很多其他的项目) https://northgreen.github.io/ictye-public-note/一个自用的AGENTS.md

对于更好的编码

对于解决AI不遵守规范的事情,我个人建议是直接对AI立下规矩 这里是直接告诉AI如何提问,遇到违背事实的时候应该怎么 做 最重要的是,当AI发现有不对的地方的时候,应该让它坦诚地说出来而不是隐瞒

其实相反的,对于操作者来说,如果AI有什么偏离你预定的东西或者有你不喜欢的行为也应该及时地归纳并且写入到AGENTS. md (虽说如果不勤快地整理的话就可能让整个文档看起来一团糟)

然后是对于如何约束AI写代码的事情: 虽说如果不约束ai也有可能写好的代码但是ai写好的代码又不太可能

首先代码规范固然重要,这方面写一个skill然后强制AI每次编码的时候读取它就可以(这方面对于人来说,其实叫做最佳实践 同样的,AI也是需要最佳时间才能写好项目的) 个人的方向是

  • 通用的编码规范比如oop规范和函数式规范
  • 另外再加上前端规范等等总的来说就能够有很好的效果了

然后就是一些其他大佬提过的:

  • 红绿测试
  • 编码之前思考
  • 简单至上
  • 精准修改

对于更好的工作流

首先要明确的是人要把控开发方向而不是让工具去把控开发方向,即使让AI自己头脑风暴,也有很打概率并不会把一件事情做的 很好(上面说的审美太差也是这个原因)

首先一定要先让AI制定计划然后经过审阅再去做(这方面借鉴了其他人的插件完成的) 或者说是一定要先对齐需求再执行

然后AI写出来的东西也应该看个大概,至少是要知道做了什么的程度

不过尽管如此,是无法阻止AI犯错的,AI犯错这件事并不是AI能力的事情而是一个工作流程的事情,要做的事情也很简单,就是 让AI也使用VCS,管理自己的版本

除此之外,就是多AGENT分工,让主agent负责调度,而其他agent负责各个任务,值得注意的是,一定要用负责review的agent, 就像是裁判不能是运动员一样,自己制定规则自己实施100%会导致AI自我信心爆棚而不去发现真正的问题

让AI学习

不过光有这些其实并不充足,如果AI不能够从中学习的话该有的问题永远会有

好在这方面已经有openclaw和hermes的实践,这些经验可以直接归纳到ai coding工具里

这里通过一些图记忆插件以及自己制作的一些拓展,也大概实现了这两个:

  • 让AI记住发生过什么
  • 让AI总结经验

大概就是提醒AI在任务完成之后,进行复盘,遇到什么坑有什么新的发现都写到记忆里,有什么更好的工作方式就归纳成skill

不过其实比较想要尽力地去做的点是如何让AI也能归纳用户画像,虽说这个还是没有做到


  1. 这里的AI编码工具无特殊说明指的都是是opencode,但是很多东西可以泛化到其他工具的 ↩︎

  2. 金正恩说的一句话,感觉和这里的主题很契合 ↩︎