
本文作者:一只牛博,TRAE 开发者用户

写在前面
我接触 AI 编程工具也有一段时间了,每次有新工具出现都会尝试。最近在技术社区看到 TRAE 在评论区讨论度很高,当晚去官网了解了一番,TRAE 有国内版本,支持多种主流 AI 模型,能辅助快速生成代码、重构项目、解决 bug 等。不过工具好不好用,还是要实际上手才知道,在项目实战后,我总结了 5 个与 AI 协作的技巧。

国内版 vs 国际版:核心差异对比
打开 TRAE 官网后,发现它提供了两个不同版本:国内版和国际版。考虑到对比测试需要,决定两个版本都下载体验。
支持的 AI 模型差异
安装完两个版本后,首先对比了各自支持的 AI 模型。

国内版支持 DoubBao、GLM、DeepSeek、Qwen、Kimi 等系列模型,国际版支持 Claude、GPT、Gemini、DeepSeek 等系列模型,新发布的 GLM-4.6、GPT-5-high 等模型在 TRAE 都能用到,国内版是完全免费的。
实际使用体验对比
-
响应速度: 国内版使用国产模型时响应更快,服务器在国内延迟低。国际版在网络不佳时偶尔会有延迟。
-
中文理解: 两个版本的中文理解能力都不错。国内版接入的模型针对中文优化,在理解复杂中文需求时略有优势。
-
代码风格: 未发现明显差异,生成的代码质量都可用。

实战案例:TODO-list 应用开发
需求的巧合
说来也真是巧了。这几天我正琢磨着写点小项目练练手,刚好想到可以做个 TODO-list 应用。虽然 TODO-list 这个东西已经被做烂了,但我觉得作为一个入门项目还是挺合适的,涉及到增删改查、状态管理、本地存储等等,基本该有的都有了。
我当时还在想,要不要用 React 写,还是试试 Vue3,或者干脆就原生 JavaScript 撸一个?正在纠结的时候,我打开了 TRAE,准备先随便试试它的代码生成能力。
结果你猜怎么着?我一打开 TRAE 的主界面,就看到它的示例案例里赫然摆着一个"TODO 应用"!

这个巧合让我决定直接使用这个示例,测试 AI 生成代码的质量。
基础版本生成
点击 TODO 应用示例后,TRAE AI 就开始工作了,它首先帮我梳理了产品的基本需求,比如:
-
能添加新任务
-
能标记任务完成
-
能删除任务
-
界面尽量简洁美观
确认需求后,TRAE 继续工作,我能看到它在一步步地创建文件、生成代码。整个过程大概就一两分钟,比我想象中要快得多。
等 TRAE 完成了代码生成,我迫不及待地运行了一下。它用的是 React + Vite 的技术栈,这也是我比较熟悉的组合。

看到这个初始版本的时候,我的第一反应是:功能确实都实现了,但这个 UI...怎么说呢,有点太朴素了。
具体来说,这个基础版有这些问题:
-
界面很单调,就是白底黑字,没什么设计感
-
按钮的样式很普通,看起来就是浏览器默认的样式
-
任务列表没有什么视觉层次感
-
缺少一些交互反馈,比如 hover 效果、点击反馈等
但不得不说,从功能的角度来看,该有的都有了:
-
输入框可以添加任务
-
任务可以标记完成(会有删除线)
-
每个任务旁边有删除按钮
-
代码结构也挺清晰的
迭代优化过程
第一轮优化
既然 TRAE 是 AI 编程助手,那应该能理解我的优化需求吧?于是我就在对话框里输入了我的想法:
"这个界面看起来有点简陋,能不能优化一下?我想要:
-
更现代化的设计风格
-
给按钮加上好看的样式和 hover 效果
-
任务列表加上一些间距和阴影,让层次更清晰
-
整体色调可以温暖一点,不要太冷冰冰的"
发送完之后,TRAE 很快就给出了回应。它理解了我的需求,并且开始修改代码。这个过程中有个细节我觉得做得挺好的------在应用每次变更之前,TRAE 都会询问我是否采纳:

它会清楚地列出这次要改动哪些文件,改动的内容是什么,让我可以先预览一下。如果觉得不满意,可以选择拒绝;如果觉得可以,就点同意。这种交互方式我觉得挺人性化的,不是那种强制性的"我生成了你就得用",而是给了用户选择的权利。
我看了看它提出的改动方案,主要是:
- 修改 CSS 样式,添加渐变色背景
- 给按钮加上圆角、阴影和过渡动画
- 调整任务项的布局和样式
- 添加一些微交互效果
方案合理,点击采纳。
继续迭代
第一轮优化后界面改善明显,但又发现可以改进的地方,比如:
-
输入框太小了,可以再大一点
-
添加按钮可以做得更醒目
-
任务完成的时候能不能有个动画效果
于是我又跟 TRAE 说了这些想法。它又根据我的反馈进行了调整。就这样来回几轮,每次我提出想法,它就修改,然后我再看效果,再提新的建议。
这个过程让我想起了跟设计师合作的感觉------你说你的想法,他做出来,你再反馈,然后再改进。只不过现在对话的对象变成了 AI,而且速度要快得多。
最终效果
经过几轮迭代后,得到了满意的版本:

这个版本跟最开始的基础版相比,可以说是脱胎换骨了:
-
整体采用了渐变色背景,视觉上更有层次感
-
输入框和按钮的设计更现代化,圆角、阴影、渐变色都用上了
-
任务列表每一项都有明显的卡片感,间距合适
-
鼠标悬停和点击时都有流畅的动画效果
-
已完成的任务会有特殊的样式(不只是删除线,还有颜色变化)
所有改动完成时,TRAE 给出明确提示。整个过程完全不需要自己编写代码,只需要参与需求提出、方案评审、效果验收,像是在指导一个执行力强的初级程序员。


深入体验:代码质量如何?
项目结构分析
作为一个有点代码洁癖的开发者,我肯定要看看生成的代码到底写得怎么样。先看项目结构:
csharp
TODOlist/
├── src/
│ ├── App.jsx # 主应用组件
│ ├── App.css # 主应用样式
│ ├── components/
│ │ ├── TodoList.jsx # TODO列表组件
│ │ └── TodoList.css # TODO列表样式
│ ├── main.jsx # 应用入口
│ └── index.css # 全局样式
├── public/
│ └── vite.svg # 图标
├── package.json # 依赖管理
├── vite.config.js # Vite配置
└── index.html # HTML模板
这个结构我觉得挺合理的,该分离的都分离了。组件和样式放在 components 目录下,主应用逻辑在 App.jsx 里,层次很清晰。
代码风格和规范
打开具体的代码文件看了看,我发现:
-
组件设计: TODO-list 是一个独立的组件,职责单一,只负责 TODO 相关的逻辑。这符合 React 的最佳实践。
-
状态管理: 用的是 React 的 useState hook,对于这种简单应用来说够用了。如果是更复杂的应用,可能需要 Redux 或者 Zustand,但这里用不着。
-
代码格式: 缩进、空格、命名等都很规范,看得出来是按照主流的代码风格来的。变量命名也挺语义化的,一看就知道是干什么的。
-
CSS 组织: 样式文件和组件文件一一对应,没有那种所有样式都堆在一个文件里的情况。而且 CSS 类名也比较规范,用的是语义化的命名方式。
-
没有过度设计: 代码该简单的地方就简单,不会为了炫技去用什么高深的技巧。这点我挺欣赏的,很多时候 simple is better。

使用心得与思考
AI 编程工具的定位
使用一段时间 TRAE 后,我开始思考 AI 编程工具到底应该怎么用,它的定位是什么。
我觉得,AI 编程工具不是要替代程序员,而是帮程序员提高效率。就像这次做 TODO-list,如果让我从头写的话,我也能写出来,而且可能写得更符合我自己的习惯。但问题是,那需要花不少时间------搭建项目、写组件、调样式、测功能,少说也得大半天。
用 TRAE 的话,基础版本几分钟就出来了,剩下的时间我可以专注在优化和调整上。这就好比你买家具,可以选择自己做,也可以选择买成品再改装。前者更符合你的需求,但费时费力;后者效率高,虽然可能需要一些调整,但整体来说更划算。
适用场景
从这次体验来看,我觉得 TRAE 特别适合以下场景:
-
快速原型开发: 当你有个想法,想快速验证的时候,用 TRAE 生成一个初始版本,能大大节省时间。
-
标准功能实现: 像 TODO、登录、注册、表单、表格这类比较标准的功能,AI 已经见过无数遍了,生成的代码质量通常都不错。
-
学习参考: 如果你在学习某个新技术或框架,可以让 AI 生成一个示例,然后研究它的代码实现,这比自己从零摸索要快得多。
-
重复性工作: 比如你要写很多类似的 CRUD 页面,手写的话很枯燥,用 AI 生成然后稍微改改,效率会高很多。
与 AI 协作的技巧
经过这次实践,我总结了几个与 AI 协作的小技巧:
- 需求要具体: 不要说"帮我做个网站",而是说"帮我做个 TODO 应用,要有增删改查功能,用 React 和 Vite"。越具体,生成的代码越接近你的需求。
- 分步骤进行: 不要一次性提出所有需求,先让 AI 生成一个基础版本,然后再逐步优化。这样每一步的改动都比较小,更容易控制。
- 及时反馈: 看到生成的代码不满意的话,马上反馈,说清楚哪里不满意,想要怎么改。AI 会根据你的反馈调整,而不是自己瞎猜。
- 保持主导权: 虽然是 AI 在写代码,但你要保持对项目的控制。每次变更都要看一看,确保方向是对的。不要完全放手让 AI 自己搞。
- 善用示例: 如果你有参考的设计或代码,可以给 AI 看,让它模仿。这比单纯用文字描述要准确得多。