最近有幸被赠了个cursor license,开始整活。我估计以后程序员这个职业该是人手一个这样的助手了,确实能提高不少效率。繁琐的事情让它去实现,人只要把握好方向就好。
可以这么总结,目前的AI可以做到最基础的组件书写不出大问题,比如写个带音频滤镜和律动可视化的音乐播放器、亦或星座星盘图表1000+行代码快速搞定。但是嵌套一层逻辑它就需要很大沟通成本让它去实现了。比如实现一个简单的node-link图编辑器,它写出来分分钟的事情,但是你让它再加一层嵌套比如实现node可以嵌套当容器,它就会出现各种偏差,要么是哪个event忘了处理,要么是诸如各个层级的协同移动会出问题。这全是要靠嘴炮指正它的。程序员后面可能会变成"嘴炮"职业么?-_-///
AI其实还强在在你不熟悉的领域,它可以做很好的领路。我们待会就拿手搓SDN举例,在完全没有网络知识的前提下如何手搓SDN。不过不要尝试问它探索性问题,会很糟糕,比如你问它,从量子角度解释,我从A运动到B,我是一个当初的复制,还是我就是当初的我,它会反复横跳------因为没有成功的路,它会开始布朗运动。
首先,我们先找gemini 3 pro,向它询问如果我们有一群kvm的server,在没有vlan的情况下,如何像k8s里的flannel一样解决VM之间的通讯问题,配置出独立的子网空间。它会给你解释一下terms诸如underlay网络和overlay网络以及VTEP。然后它会告诉你具体的底层实现步骤,诸如需要一个master server当gateway,然后集中一些配置,并且sync配置通过underlay网络发送给所有其他server,然后就是将这些server变成一个大的路由器,开始划分子网空间。每个子网空间都有对应的veth - br - vxlan,并且将iptables配置完善,将流量从各个overlay子网,导流到underlay。再配置dhcp server保证启动的vm可以在广播域自动获得ip。
有了总体方案,那么就开始写代码吧,就先用python prototype好了,这下就是要用claude 4了。claude模型在写代码上确实有一定实力,其他模型还有比较大的差距,在训练数据上下得功夫还是比较多的。
下面就是一些如何让AI在x1 request使用的一些抛砖引玉的小技巧:
- 比如几个月前用cursor的时候,它是真的会给你无限token的使用。做试验的时候,把之前写的一个小玩具拿来让它用http2调通:就是原先是一个websocket的实现,有一个client要连接server,中间会要过一个tunnel client和tunnel server;现在要把它改成http2的模式;在描述具体以后,cursor是会同时运行4个进程,然后发送请求进行debug的,当时一次性用了14.1M的token;所以让它解决问题的时候,描述尽量具体。不过现在cursor也发现了这个漏洞,在token达到10M以后就会强制summarize...
- 第二个技巧就是一定要设置一些command作为关卡,诸如
go build或者npm run test等,并且在最后加一句诸如工作完成了,请运行命令"echo complete";这样它在中间会运行你指定的验证命令,这个时候不要自动允许它们的运行,而是你可以先运行一遍它给出的验证命令,如果对了你让它再运行一遍或者直接改成诸如好了,我替你测试过了,确实成功了!;如果命令失败了,你可以让它再运行或者使用echo告诉它更多信息,甚至你发现它跑偏的时候,echo就是最好的和它交互的过程了。如果你想要能看懂它写的代码,千万不要全完全自动vibe coding...大模型有时候在运行复杂问题的时候会逐渐跑偏,所以需要这样的命令去中断它,和它沟通去校正方向... - 不要指望它在某个产品的文档或者范例代码十分差的时候它能完成好任务。一般在让它做事情的时候最好@一些可以参考的代码,这样它不但代码风格会有借鉴,写对代码的概率也会大大增高。甚至是你没有接触过以前人写的代码,但是要加一个功能的时候,你@一些参考代码,能更有效帮助它,而不是让它自己找代码(不然可能跑偏,需要
echo大法校正)。
claude 4.5 sonnet就够了,描述清楚,写脚本部署一个sdn基本就是一次性成功,当然中间会有echo去让它调整一些诸如文件结构,它喜欢把script嵌入到string里,需要告诉它把string拿出来成为一个file。还有些时候,需要更具体告诉它,比如我们作为router的虚拟机需要更改原始密码的过程。