共计 4177 个字符,预计需要花费 11 分钟才能阅读完成。
补充说明:目前支持的操作系统包括 MacOS 和 Windows。字节跳动在海外推出了一款名为 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 的不同之处。
Hello World – Trae
- 目前 Trae 仅支持 MacOS 系统,安装完成后,打开 Trae,我们第一眼看到的就是它的标志性 Logo:

- 接下来,我们可以直接选择 IDE 的默认语言和主题,简单明了;此时,英文不太好的用户可以选择中文:

- 在下一步中,Trae 竟然允许我们从现有的本地 Vscode 或 Cursor 配置中进行迁移。我最初使用的是 Vscode,当第一次尝试 Cursor 时,就可以直接从 Vscode 迁移配置,现在又轮到 Trae 了,这个过程既方便又高效:

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

- 最好还是注册并登录后使用,目前调用 AI 大模型的功能都是限时免费的,大家可以尽情体验:

- 最后,Trae 的界面与 Vscode 或 Cursor 非常相似,它们可能都是基于 Electron 开发的,因此基础界面和使用体验也大同小异,这里就不多赘述了。

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

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

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


有了这个功能,前端开发者可以在 IDE 的一侧查看网页,另一侧进行代码编辑,开发体验非常棒。
聊天功能
在 Trae 中,AI 聊天功能基于大模型实现,目前我们可以通过以下两种方式进行调用:
- 直接在特定代码区域进行对话更新,快捷键 –
Cmd + i:


在对话编辑区域,Trae 与 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 Chat 的回答涉及多个代码位置或文件的修改,它并不会像 Cursor 那样自动检索所有相关文件位置并统一应用更改。相反,它更倾向于提供对应位置的代码建议,用户需要逐个进行审查,只有经过审查的代码才会被记录到应用计数中,而未审查的代码则不会被应用:

因此,大家在使用时应特别留意,避免出现代码更新不完整的情况。
最后,值得一提的是,目前 AI Chat 还无法直接读取外部链接进行互动,这一点我认为相当重要,Trae 团队应该会迅速跟进解决。

Builder 功能
接下来,我们来尝试 Trae 的核心功能 – Builder。这个功能直接对应于 Cursor 的 Agent,都可以 通过用户的提问来生成一个完整的代码项目。
我决定试着用一个国内非常流行的 AI 开源社区的网站首页,看看能否通过上传一张照片和简单的文字生成一个静态网站:


在这个过程中,它开始逐个生成项目文件,必要时还会根据项目征求我的意见并执行相应的命令:

然而,这里出现了一个问题。由于该项目是从零开始的,正如之前提到的 AI Chat 在应用审查方面的问题,如果 AI 需要执行某个命令,例如 npm install 来安装依赖,而在生成该执行命令之前,如果未将之前生成的代码文件应用到项目中,它可能会报错,因为找不到所需的依赖文件,从而陷入死循环 先有鸡还是先有蛋的问题。因此,必须手动更新项目后才能继续执行:

不幸的是,在后续的执行中,我仍然遭遇了与 Cursor 类似的问题,即 AI 在请求执行命令时使用的 shell 环境并不是我的默认环境,因此无法找到本地已安装的 nodejs,从而导致错误,这让人非常尴尬。而且在 Cursor 和 Trae 中都无法找到相应的修改位置(或者说,我认为该修改位置已更改,但仍无法切换到默认的 shell 环境进行运行):

经过一番折腾,我决定尝试一个不同语言的示例项目,比如 Python:
帮我写一个简单版的 Stable Diffusion web UI 的 Python gradio APP 项目吧,能使用简单的文生图和图生图绘画交互就好
如果大家对这个提问不明白,可以在网上搜索一下 – Stable Diffusion web UI
这次我只输入了一句话,没有提供图片,它确实生成了相应的项目,并且直接成功运行,包含了文生图和图生图的交互界面:


很不错,这次终于成功了。我们趁热打铁,再提出一个新需求,让它帮我添加多个文生视频的交互功能:

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


很好,直接应用,执行,这次成功了:

看来,Builder 功能与 Cursor 的 Agent 功能确实相似,但存在一个小问题,Cursor 的 Agent 功能通常会根据项目情况自动创建环境,比如 Python 项目会预先创建 Venv 或 Conda 环境来运行,而 Builder 则没有这样的功能,直接使用我的默认环境,需要提前手动创建。对此我觉得有改进的空间。(我不确定是因为我尝试次数不多,可能下次它会自动创建环境,哈哈,这毕竟与大模型能力和 IDE 工程化功能有关)
其他
此外,Trae 的 Terminal 终端目前还无法通过 AI 对话直接返回用户想要的命令进行执行,但这功能相当实用,建议未来实现;
还有一个我认为非常好用的点,就是所有对话框在空闲时都会提示:

经过多次对话后,我们可以通过按上下按钮获取之前对话的上下文,并基于此继续对话,甚至可以直接加载之前对话中的图片,这一点非常棒,便于进行上下文追溯。
总结
Trae 的推出,不仅仅是为了帮助中文开发者克服在工具使用中遇到的适应问题,更是一次将 本地化体验提升至全球视野 的创新实践。通过对中文支持的深度优化、符合开发者实际需求的功能设计,以及与主流 AI 模型的有效整合,它重新塑造了 友好型中文开发者 IDE的标准。
更为重要的是,Trae 的价值远超于工具本身,它象征着 技术与文化的结合。在当今全球化的背景下,技术工具的应用不应只限于某一种语言或文化,而应真正惠及多样化的开发者社群。Trae 的出现,无疑为中文开发者创造了一个更为高效且友好的编程环境,同时也为全球开发工具的本地化进程提供了重要的借鉴。

