ChatGPT是一个很有意思的技术,我最近看到一些人推荐说可以把chatGPT和软件开发流程做一些结合的想法,于是我也做了一些尝试。
我昨天把Kafka KIP-848整个设计文档都丢给ChatGPT读了一遍,然后开始问它问题,很多术语和可能的实现方向它都能立刻给出答案,结合自己的判断其实能很快深入实现层面。感觉和ChatGPT非常适合用来做快速的不用写代码只是方向探索性的原型设计和验证。
一次对话
比如我和它讨论文档里面的”Reconciliation Loops”,它能告诉我zookeeper/cassandra/etcd都用到了

当我有进一步实现层面的想法的时候,它也能快速告诉我可能的方案和问题

甚至当我有更复杂的改进想法的时候,它也能够应答告诉我这里可能碰到的一些问题

因为它的无所不知,所以你可以非常快的去提出一些可能的其他的设计和实现方案,比如我考虑是不是可以用关系数据库而不是etcd去实现这里的功能,它也能应答:

它甚至提出了使用SQLite的WAL mode而不是使用它之前说的触发器来解决这个问题,可以说是点子非常多了,这个对于原型设计过程中去找寻可能的思路是非常有帮助的。你甚至可以问它做出这种设计的原因是什么:

必要的时候也可以使用一些事实去验证它是不是在一本正经的胡说八道:

总结
结合ChatGPT的大量信息,我们能快速得到和验证很多开发过程中延伸的想法,只要我们保持自己的判断以及用额外的一些渠道去验证这些想法,其实可以把ChatGPT作为一个很好的快速原型的工具来使用。