共计 4165 个字符,预计需要花费 11 分钟才能阅读完成。
补充说明:现已兼容 MacOS 和 Windows。1.20 字节在国际市场推出了一款 AI IDE(使用 Trae 提高效率),采用 Claude 3.5 Sonnet 模型,目前免费开放使用,大家有没有体验过?效果如何呢?

字节跳动旗下专为海外用户推出的 AI IDE 产品——Trae,今天正式发布!
Trae 是一款全新 AI IDE,旨在直面 Cursor 和 Windsurf 的竞争,不仅仅是和这些工具竞争,更是为了填补它们在中文开发者使用体验方面的不足。目前 Trae IDE 的Claude 3.5 和 GPT-4o 都可限时免费使用,有兴趣的朋友快来试试—— https://trae.ai
细想一下,编程过程中,许多中国开发者几乎离不开英文。变量、函数、注释,甚至工具的界面和文档,几乎都是用英文。然而,对于中文开发者来说,这种 中英混合 的工作模式早已成为常态,但这并不意味着我们不需要一款真正 为中文开发者量身打造的工具。
尽管许多国外 IDE,如 Cursor、Windsurf,以及 Vscode 功能出色,但它们并没有针对中文用户进行特别的优化。在中文支持方面,往往显得有些“水土不服”。
Trae 的推出正是为了应对这些挑战。作为一款 支持中文的 IDE,Trae 在底层设计时充分考虑了中文开发者的实际需求。从界面语言的全面中文化,到友好的代码注释支持,Trae 为开发者提供了“母语级”的流畅体验。
此外,Trae 还集成了国际主流的 Claude 3.5 和 GPT-4o,为开发者带来智能代码生成和逻辑优化的功能。这些模型在理解中文需求方面表现相对不错,但偶尔由于语义细微差异,生成的结果可能不尽人意。然而,这并不是 Trae 的核心问题,因为 Trae 的重点在于它作为中文开发者的 IDE,是否能够更好地融入我们的实际使用场景。
接下来,我将结合自己的使用体验,分享 Trae 如何提升开发效率,并对比 Cursor,看看 Trae 有哪些独特之处。
Hello World – Trae
- 首先,Trae 目前仅支持 MacOS 系统,安装完成后,打开 Trae,就能看到它的标志性 Logo:

- 在接下来的步骤中,我们可以直接选择 IDE 默认的内置语言和主题,简单明了,对于英文不太好的用户可以果断选择中文:

- 继续向下,这里竟然允许我们直接从已有的本地 Vscode 或 Cursor 配置中进行迁移。巧合的是,我的配置最初是基于 Vscode 的,而在使用 Cursor 时也可以从 Vscode 的配置中轻松迁移,现在轮到 Trae 了,真是方便,几乎没花多少时间就完成了:

- 接下来,像 Vscode 或 Cursor 一样,我们也可以在本地终端安装相应的命令行工具:

- 最重要的是注册登录后进行使用,目前 AI 大模型的调用都是限免的,大家可以尽情使用:

- 最后,Trae 的界面与 Vscode 或 Cursor 非常相似,应该都是基于 Electron 开发,所以基本界面和使用体验也相差无几,这里就不再详细介绍了。

初探 Trae
进入 Trae 界面,我首先查看了支持的大模型,目前只有两个:

- Claude 3.5 Sonnet
- GPT-4o
这两款都是主流的编程大模型,并且均为限免,大家可以放心使用。
随后,我在侧边栏查找,发现了 Marscode 工具的标志性功能——Webview:

这是一个非常友好的网页显示功能,能够让你在 IDE 的窗口中直接呈现网页。当你执行程序并运行网页服务时,IDE 右下角会自动弹窗提醒你有新页面可供访问,点击即可在 IDE 中打开(我用了一个现有的小项目来演示):


有了这个功能,前端开发者可以在 IDE 中左侧显示网页,右侧编辑代码,体验非常出色。
聊天功能
在 Trae 中,AI 聊天功能是基于大模型实现的,目前我们可以通过以下两种方式使用它:
- 在指定的代码区域进行对话更新,快捷键 –
Cmd + i:


在对话编辑区域,与 Cursor 展示代码变更的方式不同,Trae 直接在左右两侧显示代码,左边是原始代码,右边是 AI 修复后的版本。这种交互方式对我而言相当直观。
不过,在使用这种方式进行代码更新时,我注意到 它不像 Cursor 那样可以逐步追问,以便获得想要的代码,而是每次都像是基于上下文进行重新回答。你只能选择接受或拒绝,如果接受,当前代码将被覆盖,拒绝则不做任何操作。
另外需要指出的是,现在使用 cmd+ i 操作回滚后,就无法再撤销回滚,需要重新操作。而在Cursor 中可以实现代码和对话内容的逐层回滚,这在使用体验上是很重要的。幸运的是,AI 聊天功能目前与 Cursor 一样,不能撤回基于 AI 修改过的代码内容,只能手动逐一检查撤回,这两个工具都有这个不足,希望 Trae 团队能在未来完善这个功能。
- 使用 AI 对话框进行更新,快捷键 –
Cmd + u:
在这里,有一个特别的功能我认为比 Cursor 要方便得多,那就是 Context 引用 功能,让我们来看看它可以引用哪些内容进行对话:

Code– 当前选中的文件代码块File– 特定文件的文件名Folder– 指定文件夹的名称Workspace– 项目中的所有文件
后面提到的三个功能与 Cursor 的操作方式类似,但最为显著的是第一个功能Code,它允许用户直接引用当前代码中的某个函数。如下图所示,这种针对性的引用能够有效避免 LLM 上下文的混乱,为开发者提供了便捷的体验:

接下来,我们可以通过对话的方式请 AI 协助解决一些问题,比如请求它帮我 完善一些这个代码文件结构:

观察到 AI 的输出结果,基于其强大的模型,提供的建议相当不错,能够根据需要将代码更新到不同的文件,甚至能够创建新文件。在回答中,每个需更新的代码都有其详细的相对路径:

不过,有一点需要特别注意的是,如果一次 AI 的回答需要修改多个代码位置或涉及多个文件,它不会像 Cursor 那样自动为你整理出所有需要修改的文件位置。这里的方式更倾向于提供特定位置的代码建议,而你需要手动逐个审核,只有经过审核的代码才会被记录到应用计数中,未经过审核的修改则不会被应用。

因此,务必谨慎处理,否则可能会出现代码更新不全的情况。
最后一点需要提及的是,目前 AI Chat 尚不支持直接读取外部链接进行交互,这一点我认为非常重要,相信 Trae 团队会很快对此进行改进:

Builder 功能
接下来,让我们尝试 Trae 的核心功能 – Builder,它与 Cursor 的 Agent 功能相对应,均能 依据用户提问直接生成完整的代码项目。
在这里,我选择了国内一热门 AI 开源社区的网站首页进行测试,看看能否仅通过上传照片和简短描述生成一个静态网站:


在此过程中,AI 开始逐步生成项目文件,必要时还会征求我的意见来执行某些命令:

但这里也出现了一个问题,由于这是一个从零开始的项目,依照之前 AI Chat 发现的审核应用问题,如果 AI 需要执行某个命令,例如 npm install 来安装依赖,而在生成该命令之前的代码文件未提前更新至项目中,那么系统就会报错,因为它无法找到这些依赖文件,最终陷入死循环 先有鸡还是先有蛋的问题。因此,我们必须手动更新后,再允许其继续执行:

不幸的是,在后续执行中,我遭遇了与 Cursor 相似的问题,AI 在请求执行命令时使用的 shell 环境并非我的默认设置,这导致本地已安装的 Node.js 环境无法识别,从而出现错误。这种情况十分尴尬,同时我在 Cursor 和 Trae 中都无法找到相应的修改位置(或者说我认为已修改过的位置依旧无法切换到默认 shell 环境):

经过一番尝试,我决定更换其他语言进行演示,例如 Python:
帮我写一个简单版的 Stable Diffusion web UI 的 Python gradio APP 项目吧,能使用简单的文生图和图生图绘画交互就好
如果大家对这个请求不太理解,可以在网上搜索一下 – Stable Diffusion web UI。
这次我仅输入一句话,甚至没有提供图片,AI 确实生成了相应的项目,并成功运行。生成的项目包括了文生图和图生图的交互界面:


很好,这次终于成功了。我们接下来再增加一个新需求,让它添加多个文生视频的交互:

完成后,虽然执行过程中出现了错误,但不用担心,我们直接点击命令行输出的错误提示,旁边会出现一个 Add To Chat 按钮,点击后,它会自动将错误信息复制到 AI Chat 中,随后你便可以基于这些信息请求 AI 帮助解决问题:


非常好,直接应用并执行,这次成功了:

看来,Builder 的功能确实与 Cursor 的 Agent 功能相似,但有一个小问题,即 Cursor 的 agent 功能通常会基于项目的需求,例如在使用 Python 时会自动为我创建一个 Venv 或 Conda 环境来运行项目,而 Builder 则没有这样的功能,它会直接使用我的默认环境,或者需要我们手动创建,这一点我认为值得改进。(我不确定是否因为尝试次数不多,或许下次就会有所改善,毕竟这与大模型的能力以及 IDE 的工程化功能有关)
其他观察
此外,Trae 的 Terminal 终端目前还不支持通过 AI 对话直接返回想要的命令并执行,虽然这功能十分实用,但希望未来能有所扩展;
还有一个值得注意的地方是,所有对话框在默认空时都会出现一个提示:

通过多轮对话,我们可以利用上下按钮快速获取之前对话的上下文,甚至可以将之前对话中的图片直接加载,这一点非常棒,极大地方便了上下文的追溯。
结论
Trae 的推出,不仅仅是为了缓解中文开发者在使用工具时的“水土不服”现象,更是一次将 本地化体验与全球视野相结合 的全新探索。它通过深入优化中文语言的支持,设计贴合开发者实际需求的功能,以及整合主流 AI 模型,重新塑造了 适合中文开发者的 IDE标准。
更为关键的是,Trae 的价值并不局限于工具的本身,它象征着 技术与文化的深度融合。在当今全球化的背景下,技术工具的应用不应被限制于某一特定语言或文化,而应真正服务于多样化的开发者社区。Trae 的问世,无疑为中文开发者创造了一个更加高效、友好的编程环境,并为全球开发工具的本地化进程提供了重要的借鉴。


Trae支持中文界面确实是个好消息,但希望其代码生成能力能更精确,不然实际使用中可能会遇到不少麻烦。