我正在参加Trae「超级体验官」创意实践征文, 本文所使用的 Trae 免费下载链接: www.trae.ai/?utm_source…
前几天才刚刚了解到 trae,并且最近刚好手头有一些东西要开发,所以前面先简单测试了一下。
测试的文章在这里:juejin.cn/post/747119…
后面发现效果还不错!
并且 cursor 最近又严格了一些,给免费用的量太小了,用起来也挺麻烦的。
因此就尝试着使用tare 来开发了一下。
先说结论:
-
builder 的背后是一个 Agent(这一点在他们小册里也有提到),并且推理能力做得非常好,一度有一种 deepseek 的既视感。
它会跟着逻辑一步一步来执行,并且还会检查。但是有点容易陷入牛角尖。
-
Builder 生成的命令点击执行后,可以直接转到终端中运行,对部分耗时比较久的任务它还可以等它执行完成。
-
Builder 它能自行拿到终端的执行结果,如果执行结果与预期不符,它会继续修改命令。这一个我非常喜欢。
-
全程我写代码的时间不超过 5%,大部分时间是在调试和测试。
-
它写的代码质量起码打败 80%的码农。
-
非常粗暴!整个过程我没有人工去断点调试过代码。报错和异常都直接给Agent,它自己来排查。
-
目前的 AI 编辑器 并不能完全解决新手小白的编程问题,因为你甚至不知道要怎么提示它和验证结果。但对于有一定了解的新手就可以做到事半功倍到效果。
ps:用一个新的框架,在不熟练的时候,查找一些用法真的很耗时 😖
先说一下这三天做了什么
平时做后端比较多,尽管之前也做过一点前端的东西,但那已经是很多年之前的事情了,前端已经经过了一番天翻地覆的迭代。
因此我对前端开发现在是完全懵逼的状态。所以对于前端来讲,我也是一个小白了。
这三天的时间花费是这样的:
第一天: 开发和测试后端的 API。基本都完成了
第二天: 上午准备直接用它来开发页面,结果发现 umi 我完全没法掌控,于是先自己大致先熟悉了一下 umi.js 。下午完成了整体页面的开发,和接入了几个 api
第三天: 前后端的联调,和部分 bug 的修改。
至此,就把一个简单的 cms 系统就完成了。 一共有6个页面,13 个接口,包含完整的 crud、一些自定义的逻辑、登录注册的功能。
只花一天的时间完成了后端 13个接口的开发和测试,但在前端上花了 2 天的时间。
这是最终实现的效果:
我是怎么进行开发的?
我的这个需求是用它来开发了一个基础的 cms,主要是 crud 操作。
对我来讲主要是两个问题:1. 这个其实难度不高,但是耗时。 2. 前端我很久没接触过了,希望不要过多的定制,最好有开箱即用的组件。
于是首先我是结合我的需求,问了它技术方案选型。
它给我使用 fastapi + react + ant design pro 的方案。
接下来我问了它项目和目录结构应该怎么做是最佳实践。
它不仅列出了完整的项目目录,并且还生成了生成命令,一键运行便可把目录创建出来。
然后我让他先生成登录接口的认证操作, Agent 首先是查看了现在项目中的代码,然后一步步的完成了模型创建、schema 定义、crud 操作等步骤。
在数据库这里我是先结合我的需求进行了设计,
将数据库的 dll 给它后,辅助我进行数据库的生成。
同时给出了具体要执行的命令和建议。
这里也可以看到它真的是在一步一步的执行,并且中途失败了 2 次,还会及时发现并重试。
有一些报错直接扔给它后,它自行查看了代码文件后,可以自己进行修复。
接下来是前端的开发。
由于我对前端的不了解,所以根据它前面所给的技术,我先花了半天的时间做了一下预先的了解和研究。
同时为了避免它过多的发散,我给它的提示词限定了它尽可能去使用 ant design pro 里提供的插件。
接下来是页面的创建和一些 API的接入。
把我需要的页面样式描述给了它,它就可以自己去理解和生成页面代码。
接入 API这里其他也不复杂。 在apipost 里把 curl给它,然后再把响应也给它。告诉它这是哪个接口,要接入到哪个页面里就好了。
整体的流程大概就是这样子了,还是比较顺畅的。agent 对提示的理解还是比较准确,
我遇到的困难
-
前端的生态有点复杂,还好之前有一些简单的了解。不然真的一脸懵
-
umi.js 的文档不太完善,整个开发要在 umi.js 和 ant design pro 的文档中间来回切换。一些组件的使用在文档里真的没查到用法。
-
在后面遇到了一个要在app.ts 文件里直接编写类似HTML的标记结构一直编译不通过。
让trae生成的代码结果运行起来会报错。让 builder 里让它修改,它只就是在尝试不同的写法,但每一样写法的结果都是报错。
后面找到了 git 和官方文档你上的用法,但还是编译不通过😅。
最后是自己才发现,原来这个文件应该用 tsx 格式的。它支持在 TS 代码里实现类似 HTML 结构的代码。 但我这里的一直是 ts 格式...
agent 尝试了所有的可能,唯独忽略了这个...
这就是我说它容易钻牛角尖的原因。
PS:
就在这篇文章发布的前两天,Trae 的 windows 版本上线了。用 win 开发的同学也可以试试了。
同时很多同学有提到国区不开放的问题。 可能主要是跟它使用的模型是 chatgpt 和 claude 有关系。 但它的其实验证不严格,登录上就好了~~ (只能说到这了)
当然,根据官方的消息,国区应该也很快就要开放了。大家可以期待一下。