跳转到内容

挑战不写一行代码,使用Trae开发一个项目

准备工作

现在,“我”将伪装成一个不懂代码的打工人,来完成我们上一篇文章中的美好愿景。

参考文章:打通前后端接口联调的最后一道桥梁,AI可能也不好使

  • 需求:开发一个工具,将后端接口自动生成前端的普通函数。
  • 目标:前端开发者不需要关心接口相关的代码,只需要调这个函数就行了。

我们使用Trae CN目前最新的2.0.13版本,全程只使用中文交流,不针对代码进行提问,生成的代码都不审查全部点接受;遇到问题只从结果表现来进行提问修改;也不去用程序员的思维刻意引导它应该如何做。

这次挑战的目标是:不写一行代码,通过对话的形式完成这个需求。

如果后期需求偏离得太多,或者我感觉无法再继续下去了,则终止进行。

开发过程

第1轮对话

开始非常顺利,我直接告诉“它”我需要做的事情。

它对文章理解的非常到位,需求整理的也很明确,就是不知道细节把控得怎么样。

它非常地自信,没有问我任何问题,直接就开始写代码了,这倒跟很多程序员很像。

自信来源于实力!

接下来就是创建目录和文件,在这个过程中,所有需要我确认的操作我都是“允许”或“接受”,按照它的流程来执行。这个过程大概持续了10多分钟,整个编码工作完成了。

这还没完,接下来它开始构建项目。

最后,它开始运行脚本命令对项目进行自测。

到此为止,差不多持续了半个小时,我与它才进行了一轮对话。在这个项目初始化阶段,它真的非常自信,就是一个一意孤行的程序员。

现在,来验证一下它的成果吧。

果然,问题还是不少,先说说一眼就能看出的问题:

  1. 不支持配置功能,且没有初始化配置的操作;
  2. 生成的API函数中的数据模型没有使用import导入;

第2轮对话

现在,我们站在使用者的角度对问题进行修复。

它开始自我检查、修改、编译、自测,反复多次之后,数据模型导入的问题已解决,代码没有报错了。

第3轮对话

一样的流程,又等了10多分钟后,我发现它的解决思路跟我上一篇文章中描述的不一样。它还是没有提供配置文件功能,而是通过命令行参数来指定API函数模板。

第4、5轮对话

它没有get到我的点,于是我又换了一种说法,而且描述的也更明确了。

一顿输出之后,结果还是没有get到我的点,继续对话。

我已经很明确的跟它说了,它还是一意孤行,没有向我确认任何问题,直接开干。

好家伙,这2轮输出,花了我近1个小时的时间,也不知道结果对不对。

反正改了很多代码,最后告诉我已经完成了,但我是有些不信的。

第6轮对话

现在我也不知道它改成啥样了,也不想去读它的代码了,就让他自己演示一遍。

它开始自我分析、自我检查,然后开始执行命令。

在演示的过程中,它发现了好像不对,于是又自己开始修改。在这方面看起来倒是挺智能的,就是不断反省与修复的一个过程。

中间的过程省略了。

然后一直巴拉巴拉持续了半个多小时,终于跑完了。好在最后整理出了一篇使用文档,我就按照文档来走一遍看看效果如何。

验证

我开始按照指示文档先初始化配置,然后执行全量生成命令,没想到第二步就报错了,看来它自我演示的流程中并没有修复这个错误。

然后点击右侧的“添加到对话”,让它修复这个问题。

第7轮对话

在修复的过程中,它自己又发现了新的问题。

又是一轮漫长的等待……完了继续验证。

还是存在问题,好吧,到现在为止。我已经开始失去耐心了,继续下去的意义不是很大了。

总结一下

文章中只写了7轮对话,不过后面我还是在私下又进行了几轮对话,过程都是一样,耗时、get不到重点、改完这个又出下个问题,到最后也没能完成我们的需求。

虽然对话不多,但每一次对话都是一个漫长的等待,整个开发过程已经耗费了我近5个小时。

虽然它让我减少了对代码层面的思考,但是整个人也并不轻松。因为你得坐在它前面,虽说不用一直盯着它,但至少注意力也不能放在其他地方太久,而且这种间断性的开发体验对开发真的非常不友好。

因为每一轮对话它花的时间真的太久了,有时候你接杯水过来,或者从其他页面切回来,它还在持续输出。

说到底,如果一个不懂编程的人,想仅仅依靠AI工具来完成一个需求目前还不太现实。相比真实的业务需求,这已经算是非常简单和明确的小需求了。

目前阶段的AI就像车子的辅助驾驶一样,无论怎么吹,它都还只能停留在辅助阶段。把它当做一个提高效率与解决问题的工具,或许能获得更好的体验。