用Trae智能开发中后台管理系统

4,551 阅读8分钟

我正在参加Trae「超级体验官」创意实践征文,本文所使用的 Trae 免费下载链接:www.trae.ai/

掘金_Trae_邀请海报.jpeg

🚀 体验 Trae 赢 Macmini

image.png

一、Trae是什么

截屏2025-02-27 17.13.13.png

Trae 是字节跳动于2025年1月20日发布的一款AI驱动的集成开发环境(IDE)。

简单归纳一下三个特点:

  • 集成顶级基座AI模型: Claude 3.5 与 GPT-4o 可以免费使用非常难得,不过我试验过只能回答和编程有关的问题
  • 基于VSCode进行二次开发: 学习成本低 + 插件复用
  • 同类竞品: Cursor 其实功能差不多,但是胜在免费,而且国人开发很落地

具体内容请看官方文档:Trae - 文档 

二、Trae的主要功能

我们可以Trae理解为一个植入了AI能力的VSCode使我们能够与AI进行紧密配合完成编程任务。 结合方式可以归纳为以下三种

截屏2025-02-27 17.19.52.png

1. 智能问答模式

Kapture 2025-02-27 at 20.35.11.gif

这种模式其实就是AI工具中的chat模式,不同之处是在Trae中可以方便的引用各种资源充当上下文。

比如 xxx.js 如何改进?aaa函数如何更改

上下文的分类

能够引用的上下文归纳如下:

image.png

image.png

多模态支持

多模态指的是上下文中不但可以引用代码、自然语言,还可以支持截图、设计稿、参考样式图等多种类型。

比如后面会用到将设计稿还原为UI界面,就需要这个功能。

image.png

4. Builder模式

下面来讲一下 Builder 模式这个模式也是最长使用的一种模式。 Builder 模式下,AI 助手会主动读取当前项目中的文件内容,拆解任务并逐步执行,包括:

  • 提取相关上下文
  • 创建或修改文件
  • 生成并运行终端命令
  • 分析命令运行状态 其实也就相当于将你的自然语言转化为行动,并且将这种行动可视化表示,提交给你进行审批,当你审批通过后直接执行。

截屏2025-02-27 17.21.54.png

举个例子: 你想把 http.ts 文件加一个注释。

  1. 发出命令: # http.ts 加注释
  2. 产生行动: Trae通过AI将代码添加相应的注释并用绿色背景标注。
  3. 提出审批: 在命令行中发出一个审批的按钮,等待你确认后,将代码进行实质性修改。

此外也可以考虑局部接受功能

image.png

image.png

5.代码补全功能

image.png

这个功能和Github Copilot类似。他的应用场景因该是代码的微调 具体分为以下两种:

  • 自动代码补全: 根据上下文补全代码
  • 注释补全: 根据注释完善代码

p9-arcosite.byteimg.com/https://p9-…

这个不是什么新功能

二、Trea全栈开发实战

这次我准备尝试用Trae开发一个NodeJS栈的中后台系统。 选择这个主题原因有两个:

  • 中后台系统应用广泛但没啥技术含量,非常希望能让AI替代自己的工作
  • 中后台系统参考资料较多,不属于冷门应用,应该比较好通过AI生成

image.png

既然是360度体验我们就按照软件的生命周期进行

1. 可行性研究

image.png

在这个阶段,主要任务是确定一个基础技术方案,内容涵盖:

  • 服务端采用何种框架
  • 前端选用什么框架
  • 使用哪类数据库
  • 挑选哪个组件库

当然,确定技术方案不能仅仅依靠向 AI 询问这些问题。我们还需要参考他人的代码,并且自己搭建一个小型的 Demo 代码进行实际体验。在此过程中,我们可以借助 AI 来提升效率。

1.1 代码架构解读

在这个阶段,往往都会从github上找一下别人的项目来参考,那么如何高效的阅读代码就成为一个问题。 这时就可以让 Trae帮忙。

首先可以让Trae给我对整个项目的技术栈做一个分析

开发模式:智能问答模式
提示词例子:#Workspace 生成一份前端部分的技术文档

image.png

1.2 代码用法解读

然后可以针对某一个技术点进行解读,然后标出他的位置

开发模式:Builder模式
提示词例子:请在项目中找到 @bytemd/react 调用的代码

image.png

1.3 编写Demo

接着我的习惯是会把学习到的东西变成一个可以运行的代码段,放在demo文件夹中方便在正式开发时使用。 这个动作也可以让Trae帮忙。

开发模式:Builder模式
提示词例子:请在项目中找到 @bytemd/react 调用的代码,仿照编写一个demo放在demo文件中

image.png

2. 需求分析PRD

image.png

需求分析部分主要是文档工作,实际上Trae不只是可以生成代码,也可以完成文档。 只要让他输出markdown格式就可以了。其实这种admin不是什么新鲜的系统。在AI的知识库里面已经有成千上万个这样的系统。只要要求足够具体在这种项目中百分之八十的内容都是直接可用的。

开发模式:Builder模式
提示词例子:请生成一份关于Admin中后台系统的需求文档放在 /doc 文件夹中

image.png

另一种方法是根据代码反向生成需求文档。

3. 设计

image.png

设计稿 By 自然语言

下面是设计阶段,由于AI大模型并不能直接生成UI。这里面我们采用直接生成HTML代码的方式来完成设计稿的开发。这种设计稿可以截图甚至于可以利用原型工具中的HTML转UI功能转换为原型。

开发模式:Builder模式
提示词例子:请生成一份关于Admin登录页放在 /ui 文件夹中

image.png image.png

还可以进行调整比如将按钮变为圆角

image.png

数据库设计 - By自然语言

在数据库设计阶段,Trae也很方便只需要让他生成就可以了。文档格式为md格式。

开发模式:Builder模式
提示词例子:请生成一份关于Admin的数据库设计放在 /doc 文件夹中

image.png

生成ER图

ER图可以根据上面的数据设计生成,ER图会用mermaid格式表示,所以需要md安装相应的插件才可以预览。

开发模式:Builder模式
提示词例子:根据 #数据库设计文件 生成ER图 /doc 文件夹中

image.png

image.png

4. 开发制造

image.png

4.1 搭建项目

首先创建一个项目

mkdir react-admin
cd react-admin

开发模式:Builder模式
提示词:创建一个monorepo风格的项目,
前端:react + arco-design
服务端:nestjs

image.png

系统会生成一套脚本,提示你去运行相应的脚手架创建项目。 你只需要按照点击【运行】就可以了

image.png

image.png

最后创建完成的效果

4.2 UI还原

image.png

进行 UI 还原工作,可以借助上述四种方式。不过,鉴于 UI 包含的细节极为繁杂,想要一次性生成完美的还原效果是很困难的。

从实践经验来看,较为理想的操作方式是先依据 UI 设计或原型,搭建出一个基本框架,之后再利用自然语言进行细致调整。

综合而言:

  • 依据原型或设计稿:这种方式还原精度较高,优先予以推荐。
  • 依据图片:其还原精度相对较低。
  • 依据自然语言:此方式适合在后期进行微调。

Snip20250228_36.png

image.png

4.3 编写逻辑

编写逻辑可以首先用【Build模式】创建文件然后使用代码补全模式,编写注释添加和迭代功能。

开发模式:补全模式模式
提示词:< XXX功能的描述 >

image.png

5. 测试调试

image.png

在测试调试方面可以:

  • 创建测试用例
  • 通过自然语言描述修改Bug

开发模式:Builder模式
提示词例子 编写 #xxx.js 文件的单元测试

image.png

image.png

6. 部署、投产

image.png

6.1 文档完善

这个和前面提到的需求分析部分文档编写差不多。差别是这里面一般都是根据现有的代码反向生成文档。

开发模式:智能问答模式
提示词例子:#Workspace 生成一份服务端接口文档到 /doc

6.2 CI、CD脚本

生成脚本,我这个项目使用Docker部署,并且利用Github Action做CI。这两个脚本都是基于Trae自动生成。

开发模式:Builder模式
提示词例子:创建Docker-compose文件 包含前端运行在Nginx、服务端、数据库,

开发模式:Builder模式
提示词例子:创建github Action脚本将前端、服务端进行编译后,推送到Dockerhub

截屏2025-02-28 13.41.29.png

三、感受

经过一个项目的体验,我认为在编程领域Trae做到了AI系统的落地。相比以前简单的AIchat方式是一种体验升级。 尤其是我认为Build模式非常的好用。具体总结如下

场景模式体验
可行性研究技术难点对话模式😁 非常有帮助
代码解读对话模式😁 非常有帮助
原型代码Build模式😁 非常有帮助
需求分析编写文档 From代码Build模式😁 非常有帮助
编写文档 From 自然语言Build模式😁 非常有帮助
设计设计稿Build模式😁 非常有帮助
数据库设计Build模式😁 非常有帮助
开发搭建项目Build模式😁 非常有帮助
UI还原Build模式✅ 一般
编写逻辑代码补全✅ 一般
SQL编写Build模式✅ 一般
重构代码Build模式✅ 一般
测试调试测试用例Build模式✅ 一般
修改Bug代码补全✅ 一般
部署投产文档完善Build模式😁 非常有帮助
CICD脚本Build模式😁 非常有帮助

🚀 体验 Trae 赢 Macmini