抢先试用 字节跳动 AI 编程工具 Trae ,确实好用!!!

背景

之前一直在用豆包等模型编写一些常用的小工具来协助处理一些重复的操作,确实能提供很大的帮助,但是仍需要自己准备环境、运行代码,效率不高。

字节跳动推出 trae后,第一时间试用了一下,并且 让trae开发一个简易的神经网络程序。全程没有写一行代码,trae自动生成代码,自动根据运行结果Debug代码,可以说非常的方便易用。不禁又要给AI点一个大赞。

Trae 简介

近日, 字节跳动发布AI编程工具Trae – 中国首个AI原生IDE!可以深度理解中文, 支持一句话开发各种应用。

AI 编程工具 Trae 是字节跳动发布的国内首个 AI 原生集成开发环境。搭载 doubao-1.5-pro,支持切换 DeepSeek R1&V3。有 Chat 和 Builder 模式,能代码补全、修复 Bug、理解代码仓库,以人机协同理念,助开发者高效编程,降低开发门槛。

Trae 特点

操作便捷性

  • 安装与登录:下载对应系统安装包后可按提示完成安装,首次启动能选择中文界面,还支持从 VSCode 或 Cursor 迁移配置。登录方式有手机号和稀土掘金账号两种,十分方便。
  • 模式切换:主要有 Chat 和 Builder 两种模式。Chat 模式适合已有代码,需要优化或修复 bug 的场景。Builder 模式则可通过自然语言描述,从零生成完整项目,自动创建文件、安装依赖、运行命令,对编程小白极为友好。

功能实用性

  • 代码生成能力:能快速根据自然语言需求生成代码。如输入 “做一个带用户登录功能的论坛”,可短时间内生成包含前端页面、数据库连接等基础代码框架。在打造智能学习助手的实战中,输入需求后,不到 5 分钟就能生成完整的应用代码。
  • 智能补全与纠错:具有智能补全功能,可根据上下文实时预测代码,支持跨文件补全。Builder 模式还能自我纠错,通过监控控制台感知包导入失败、代码语法错误等问题并自行优化。
  • 多模态交互:支持上传图片生成代码,如上传天气应用设计图,可生成响应式 HTML/CSS 代码。
  • 终端集成:AI 可自动生成并执行命令,如 npm install,还支持错误诊断。
  • 上下文引用:在对话中能通过 #代码、# 文件标签引用代码块、文件或整个项目,提升解答精准度。

模型性能

  • 速度与流畅度:以 DeepSeek 模型为例,在 Trae 中运行的性能优化较好,相比直接使用 DeepSeek 官网,速度更快,使用过程更流畅。
  • 生成质量:搭载 doubao-1.5-pro 和 DeepSeek R1&V3,能满足大多数日常编程需求。但与海外版的 Claude 3.7 等模型相比,在复杂代码生成和 UI 设计方面还有提升空间。

trae安装

基于intel cpu + 集成显卡 + win11 OS进行试用验证。

下载安装

注意一定要下载CN版本,否则无法登陆,也就不无法使用集成的AI功能 。

image-20250305104401780

进入官网 :Trae - AI 原生 IDE

image-20250305104522615

windows平台安装文件下载链接如下:

https://lf-cdn.trae.com.cn/obj/trae-com-cn/pkg/app/releases/stable/1.0.8053/win32/Trae%20CN-Setup-x64.exe

运行

打开之后 ,可以通过聊天 模式输入自然 语言描述 的编码需求,响应很快。

image-20250305105203323

目前支持三种chat模型

image-20250305105321698

两种工作模式

chat模式根据用户需求输出代码,但是仍需要自己搭建运行环境。builder模式下,会通过交互方式要求用户选择工程保存目录 ,并生成依赖文件,用户可以随时对ai给出的建议进行修订。

image-20250305105808527

基于trae开发一个简易神经网络

提出需求

写一段代码,实现一个简易的神经网络,并对其进行模拟训练

自动调试

AI根据 需求生成依赖、源码后,提示运行进行修订,之后 生成运行命令。用户只点击运行后可以开始调试代码。

image-20250305110229194

代码调试出错后,AI自动修订代码,再次请求运行运行代码进行测试验证。

自动debug了三次之后 ,程序可以正常运行,结果如下:

image-20250305110605863

AI调试过程

  1. 第一次: 发现数据预处理阶段维度不匹配问题,需要修正数据集拆分方式

       raise ValueError(
    ValueError: Found input variables with inconsistent numbers of samples: [2, 1]
    
  2. 第二次: 需要修正训练和预测时的数据维度问题,确保输入输出形状匹配。

    aceback (most recent call last):
      File "D:\test\WUgTech\code\traeAI\neural_network.py", line 85, in <module>
        plt.scatter(X_test[0], X_test[1], c=y_test.squeeze(), edgecolors='k')
      File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\pyplot.py", line 3903, in scatter   
        __ret = gca().scatter(
                ^^^^^^^^^^^^^^
      File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\__init__.py", line 1473, in inner   
        return func(
               ^^^^^
      File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\axes\_axes.py", line 4805, in scatter
        self._parse_scatter_color_args(
      File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\axes\_axes.py", line 4624, in _parse_scatter_color_args
        raise invalid_shape_exception(c.size, xsize) from err
    ValueError: 'c' argument has 200 elements, which is inconsistent with 'x' and 'y' with size 2.
    
    1. 第三次: 修复可视化部分的数据维度不匹配问题,确保散点图参数维度一致。

    2. 第三次修改代码后,程序运行成功。

      image-20250305111152590

运行记录

(base) PS D:\test\WUgTech\code\traeAI> python neural_network.py
traeback (most recent call last):
  File "D:\test\WUgTech\code\traeAI\neural_network.py", line 58, in <module>
    X_train, X_test, y_train, y_test = train_test_split(X.T, y.reshape(1,-1), test_size=0.2)
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\AppGallery\Anaconda3\Lib\site-packages\sklearn\utils\_param_validation.py", line 213, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\AppGallery\Anaconda3\Lib\site-packages\sklearn\model_selection\_split.py", line 2777,              ^^^^^^^^^^^^^^^^^^
  File "D:\AppGallery\Anaconda3\Lib\site-packages\sklearn\utils\validation.py", line 514, in indexable
    check_consistent_length(*result)
  File "D:\AppGallery\Anaconda3\Lib\site-packages\sklearn\utils\validation.py", line 457, in check_consistent_length
    raise ValueError(
ValueError: Found input variables with inconsistent numbers of samples: [2, 1]
(base) PS D:\test\WUgTech\code\traeAI> python neural_network.py
Epoch 0, Loss: 0.2960
Epoch 1000, Loss: 0.0000
Epoch 2000, Loss: 0.0000
Epoch 3000, Loss: 0.0000
Epoch 4000, Loss: 0.0000
Epoch 5000, Loss: 0.0000
Epoch 6000, Loss: 0.0000
Epoch 7000, Loss: 0.0000
Epoch 8000, Loss: 0.0000
Epoch 9000, Loss: 0.0000
Test Accuracy: 100.00%
traeback (most recent call last):
  File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\axes\_axes.py", line 4618, in _parse_scatter_color_args
    colors = mcolors.to_rgba_array(c)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\colors.py", line 512, in to_rgba_array
    rgba = np.array([to_rgba(cc) for cc in c])
                     ^^^^^^^^^^^
  File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\colors.py", line 314, in to_rgba    
    rgba = _to_rgba_no_colorcycle(c, alpha)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\colors.py", line 398, in _to_rgba_no_colorcycle
    raise ValueError(f"Invalid RGBA argument: {orig_c!r}")
ValueError: Invalid RGBA argument: 0.0

The above exception was the direct cause of the following exception:

traeback (most recent call last):
  File "D:\test\WUgTech\code\traeAI\neural_network.py", line 85, in <module>
    plt.scatter(X_test[0], X_test[1], c=y_test.squeeze(), edgecolors='k')
  File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\pyplot.py", line 3903, in scatter   
    __ret = gca().scatter(
            ^^^^^^^^^^^^^^
  File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\__init__.py", line 1473, in inner   
    return func(
           ^^^^^
  File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\axes\_axes.py", line 4805, in scatter
    self._parse_scatter_color_args(
  File "D:\AppGallery\Anaconda3\Lib\site-packages\matplotlib\axes\_axes.py", line 4624, in _parse_scatter_color_args
    raise invalid_shape_exception(c.size, xsize) from err
ValueError: 'c' argument has 200 elements, which is inconsistent with 'x' and 'y' with size 2.   
(base) PS D:\test\WUgTech\code\traeAI> python neural_network.py
Epoch 0, Loss: 0.1841
Epoch 1000, Loss: 0.0000
Epoch 2000, Loss: 0.0000
Epoch 3000, Loss: 0.0000
Epoch 4000, Loss: 0.0000
Epoch 5000, Loss: 0.0000
Epoch 6000, Loss: 0.0000
Epoch 7000, Loss: 0.0000
Epoch 8000, Loss: 0.0000
Epoch 9000, Loss: 0.0000
Test Accuracy: 100.00%

### Cursor 与 Trae编程工具对比分析 #### 编码速度与准确性 Cursor 提供了一种高度智能化的代码补全机制,其 AI 算法能够在开发人员输入代码时准确预测并补全变量名、函数名以及其他代码片段[^1]。这种特性显著提升了编码的速度和精确性。相比之下,尽管 Trae 同样具备智能提示功能,但在实际使用中的表现却稍显逊色,特别是在面对复杂代码结构时,无法提供同样水平的支持。 #### 工具集成与生态系统 Cursor 不仅提供了卓越的核心功能,还在工具集成功能上占据优势。作为基于 Visual Studio Code 构建的产品,它拥有更为完善的插件支持以及扩展能力[^2]。这使得开发者可以轻松将其融入现有的工作流中,进一步增强生产力。而关于 Trae 的具体生态情况并未提及太多细节,但从整体评价来看,其在这一领域可能不及 Cursor 成熟[^3]。 #### 用户反馈与适用场景 许多用户表示,在日常工作中采用 Cursor 进行项目开发后获得了极大的便利感。“Tab, tab, tab” 功能尤其受到好评——它可以精准捕捉用户的下一步操作意图,并据此完成一系列连贯的动作,从而让整个流程变得更加流畅高效。对于那些追求高品质产出的专业人士来说,Cursor 显然是更好的选择;而对于只需要基本辅助服务的新手或者轻量级使用者而言,则需权衡两者之间的差异再做决定。 ```python # Example of how an advanced code completion might look with Cursor's capabilities. def complex_algorithm(param_a, param_b): result = some_library_function( argument_one=param_a, argument_two=transform_data(param_b), additional_option=True ) next_step(result) # With 'Tab' functionality predicting and completing the above structure automatically. ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月光技术杂谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值