V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
sxhxliang
V2EX  ›  程序员

字节 Trae Agent 的 rust 版本讨论

  •  
  •   sxhxliang ·
    sxhxliang · 1 天前 · 2497 次点击

    第一次发贴,前几天字节开源了Trae Agent,原本的是 python 版本的,我 fork 了一个分支,迁移到了rust,还是个半成品,但是框架和逻辑基本完成了,现在就是要完善细节了,为什么没完成就发出来呢,因为社区关于重构有不同的观点,看看这个 issue,有人支持 rust ,有人支持 go ,我想继续完善,看大家有没有好的建议。

    21 条回复    2025-07-12 21:42:57 +08:00
    musi
        1
    musi  
       1 天前   ❤️ 7
    我不认为这类工具需要多强的性能,相反,我觉得随着 AI 模型的变化这类工具应该有快速迭代(甚至更换架构)的能力。
    这类工具的核心功能其实就两个:
    1. 调用工具
    2. 与 LLM 通信
    这两个功能随便用什么语言都可以快速实现,难的是在这套方案之上抽象出来的工程化能力:如何给 agent 编写提示词?如何管理上下文?如何管理多 agent 之间的交互?这些是需要花大精力去优化调试的。

    在一个复杂任务中调用工具快那么几秒在 LLM 推理的耗时面前不值一提,更不用说像 python 、node.js 这类语言仍然可以调用 rust/c 写的库来提升性能。
    xxxccc
        2
    xxxccc  
       1 天前
    这个 trae agent 感觉在蹭 trae 的热度,其实这个 agent 实现的能力非常基础,不知道为啥能有这么高的 star
    xabclink
        3
    xabclink  
       1 天前
    支持! 多一个选择, 总比没有好
    Reficul
        4
    Reficul  
       1 天前
    难道功能才是最重要的么,语言只是工具而已。
    meteor957
        5
    meteor957  
       1 天前
    go
    maocat
        6
    maocat  
       1 天前
    看了你的回复,感觉你的想要用 Rust 的理由站不住脚,本身就是一个命令行执行脚本,你用 Rust 的内存安全来说事
    Issue 里提到用 Go 重写,大概率是 ByteDance 的 KPI 了,毕竟 ByteDance 是全面拥抱 Go 的

    当然 OP 为爱发电的精神是值得鼓励的,期待你的实现
    yedkk
        7
    yedkk  
       1 天前
    没必要 rust 吧,agent 这个东西就是快速迭代的,经常不同模型升个级你就要跟住模型的变化。你用 rust 显得有点重了,甚至我觉得 go 都没必要,你 fork 出来 Python 继续写多好。而且很多 ai 相关的人只会写 python ,他们不可能为了贡献你的项目专门学其他语言。
    sxhxliang
        8
    sxhxliang  
    OP
       1 天前
    @musi codex 也用 rust 重构,这有个讨论 https://github.com/openai/codex/discussions/1174 你看一下
    sxhxliang
        9
    sxhxliang  
    OP
       1 天前
    sxhxliang
        10
    sxhxliang  
    OP
       1 天前
    @yedkk Agent 功能其实比较简单,使用什么语言都很快就能完成,使用 rust 重构我就花了两天时间,我想过可以编译成 WebAssembly ,打开浏览器就能用
    musi
        11
    musi  
       1 天前
    @sxhxliang codex 把大量时间花在了这种换语言的重构任务而不是对 Agent 的优化上,这也是目前还无法追上 claude code 的原因之一

    #10 反驳你说的“Agent 功能其实比较简单”,实现一个看起来可用的 Agent 是很简单的,正如我在#1 中说的,难的是对任务的分解和调优,你可以尝试用 rust 实现达到`claude code`类似的效果(仅仅是最终结果的效果,不考虑其他非必要的功能)对 Agent 的调试得花多大精力
    sxhxliang
        12
    sxhxliang  
    OP
       1 天前
    @musi 我是非常赞同你的,之前看过 claude code 反编译的源码,确实很复杂,我肯定也达不到 claude code 的效果,一是 prompt 设计、二是任务处理逻辑、三是 claude 模型,除非是他开源了。所以目的不是做一个好用的 Agent ,而是迁移到 rust ,能力上限在于 python 版的上限,理性角度看必要性不高,除非社区提一些新的需求。
    030
        13
    030  
       1 天前
    @xxxccc 简单就说明鲁棒性强,也更容易学习思路
    interger
        14
    interger  
       1 天前
    claude code 反编译的源码哪里看?学习一下
    @sxhxliang
    sampeng
        15
    sampeng  
       1 天前 via iPhone
    你就是想写 rust ,然后大声说:快看我快看我,我在用 rust
    sxhxliang
        16
    sxhxliang  
    OP
       1 天前
    @sampeng 我想写 rust 是显而易见的,像 Python 、C++、前端我也写了不少( github 也可以看到),我只是在合适与喜欢之间选择一个平衡
    sxhxliang
        17
    sxhxliang  
    OP
       1 天前
    @interger 我自己备份了一下,怕没了 http://git.lsh.pub/agentx/anon-kode
    dcatfly
        18
    dcatfly  
       1 天前
    完全赞同一楼的想法。
    目前决定这类 cli 工具是否好用的关键因素是模型+工具+上下文管理,也就是 agent 的开发范式,性能完全不是阻塞点。
    而且这类工具虽然是以 cli 的形式在工作,但又有很多需要 UI 交互的地方,比如 diff 的展示;在这方面基于 node 生态有很大优势,这也可能是 claude code/codex/gemini-cli 都是选择 node 的原因之一?
    另外 codex 是这里面做的最差的,bug 满天飞,提示词和工具也非常简陋,感觉他们的精力不在这个上,反而云端的 codex 要好一些。
    009694
        19
    009694  
       1 天前 via iPhone
    agent 用 rust 纯粹折磨自己折磨用户
    magicdawn
        20
    magicdawn  
       15 小时 21 分钟前
    Gemini-CLI 使用的是 react+ink, 能用前端那一套
    maplestarplay5
        21
    maplestarplay5  
       6 小时 16 分钟前 via Android
    还以为是 Trae 本身,agent 不无所谓吗
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   929 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:59 · PVG 03:59 · LAX 12:59 · JFK 15:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.