Trae 核心成员复盘:从 Cloud IDE 到 2.0 SOLO,字节如何思考 AI Coding?

TRAE 最近的迭代节奏很快,在 AI IDE 之后,很快就上了 2.0 的新功能——SOLO 模式,Your All-in-One Context Engineer。

SOLO 模式是一个能够思考、计划、执行和交付全流程的 Context Engineer(上下文工程师),覆盖了规划、编码、测试、部署等完整的开发周期。用户可以仅通过自然语言描述、语音交互等方式输入需求,AI 即能会自主拆解任务并执行。

不仅仅是 IDE,而是解决软件开发的全流程问题。

不过,Trae 的方向并不是从一开始就找准了 AI Native IDE 的定位,而是从 MarsCode、Coze 等 Cloud IDE 相关产品探索而来。

在 Trae 2.0 发布后,Trae 的核心成员在知乎复盘了团队如何从用半年把 MarsCode 的 Cloud IDE 技术做到极致,发现商业天花板后,又转向 Trae Native IDE 的过程。从内部视角出发,分享了对于 AI Coding 产品从底层架构到用户体验的全方位思考。

原知乎答主复盘的 Trae Timeline

原帖来自知乎答主「天猪」,Founder Park 进行了编辑微调。

原帖链接:https://www.zhihu.com/question/1930712114894431572/answer/1930973959412753056


超 10000 人的「AI 产品市集」社群!不错过每一款有价值的 AI 应用。

邀请从业者、开发人员和创业者,飞书扫码加群: 
进群后,你有机会得到:
  • 最新、最值得关注的 AI 新品资讯; 

  • 不定期赠送热门新品的邀请码、会员码;

  • 最精准的AI产品曝光渠道



01 

从 MarsCode 转向 Trae:

Cloud IDE 是技术胜利,但市场还未成熟

熟悉我们的同学应该知道,2024 一整年我们发布了很多 Cloud IDE 相关产品,包括 MarsCode Cloud IDE、Coze IDE、掘金 AI 刷题等,字节内部的 Cloud IDE 也是我们服务的,用户覆盖率还是蛮高的。

首先,先澄清一个概念,Cloud IDE ≠ Web IDE,从我的视角看,IDE 分为前端交互层和业务逻辑层:

  • 前端交互层可以跑在浏览器里面,也可以跑在本地 Electron 里面,可以是完整版也可以是轻量版。

  • 业务逻辑层可以跑在用户本地,可以跑在远端 K8S 容器,也可以跑在浏览器的 WebContainer 里面。

Cloud 意味着 Code Anywhere,上面的交互层和逻辑层是可以自由组合的,可以是都在一台机器上,也可以是分离通过 SSH Remote 去连接,甚至可以通过 iPad 去使用。这是我所理解的 Cloud IDE。

Cloud IDE 的远端容器,我们也称之为云工作区,它的技术挑战还是蛮大的:

  • 常见的微服务都是非实时的,且无状态,可负载均衡,容量不足的时候慢慢扩容即可;

  • FaaS 服务是实时调度的,但无状态,所以可以提前预热等;

  • Cloud IDE 是实时调度 + 有状态,每个项目对应于一个容器,有磁盘数据依赖,对启动速度非常敏感,用户打开的时候就直接等着你初始化和加载,才能使用,因为是有磁盘代码数据,因此是有状态的,不能负载均衡,也很难提前预热。

2024 年,我们在这块投入了非常多的精力去优化,不仅仅把 VSCode 进行大幅 Rust 化,还深入到 K8S 层面深度定制,最终在性能、成本、稳定性等方面取得非常不错的产出,我们的端到端启动性能 P90 达到了 5 秒,而 GitHub Codespace 需要 30 秒,Google IDX 需要 1 分钟,我们起码在这个指标上做到了世界级的水平

MarsCode 启动速度

MarsCode Timeline

当然,技术的成功并不一定代表业务的成功,很多时候需要在合适的时机选择合适的路线,对应 Cloud IDE 场景来说,虽然它在字节的覆盖率很高,但 MarsCode 作为一个 2C 的产品,天然就受到用户场景的限制,因为国内企业的代码很难上云,而程序员的 Side Project 又不足以支撑产品的健康发展。 

于是,在 2024 年 11 月 15 日,我们回到半山坡,选择了从 Native IDE 这另一条路重新往 AI Coding 的珠峰攀爬。当然,我依然坚信 Cloud IDE 的价值,它会以云端一体的方式跟我们重聚,殊途同归,一个都不能少。果不其然,在 2025 年中的时候,业界也开始涉猎到 Remote Agent 场景,而这块我们有着足够的积累,择机待发即可。

Trae Timeline


02 

对于 AI Coding 的不同阶段认知

LLM 大模型的本质是预测下一个字符,相比起复杂的自然语言,编程语言是更加简洁、严谨、可预测的,因此 AI Coding 领域成为了这一波浪潮里面的第一个 PMF 产品,在这个领域的实践日新月异,几乎每个月都在刷新我们的认知。

在我的观察视角,AI Coding 有点类似自动驾驶,分为几个阶段:AI 辅助编程 → AI 结对编程 → AI 自驱编程,目前我们的 Trae Builder / Cursor Composer / Windsurf Cascade 等都是瞄准了 AI 结对编程 这个阶段的。

阶段一:AI 辅助编程

代码补全

早期我们写代码,主要是代码提示,通过 「下拉列表」 的方式选择对象的方法和属性。

随着 ChatGPT 的出现,我们知道 LLM 大模型的本质是预测下一个字符,相比起复杂的自然语言,编程语言是更加简洁、严谨、可预测的,所以很快我们看到了 Copilot 的横空出世,它在代码补全上有了极大的创新,令人惊艳的 Ghost Text 交互方式,只需一个 Tab 即可快速采纳,对程序员的多巴胺刺激非常强烈。

但这种方式只能针对新增代码的补全,于是我们看到了 Codeium 和 Cursor 在 Super Completion,也叫 Tab Tab 这块的进一步创新,从 预测下一个字符 → 预测下一个编辑位置从新增代码 → 修改存量代码,一个直观的例子就是:一个前端的地区下拉列表,一开始是英文,后面改为中文,如果你改了第一行中间的字段,然后只需再一次 Tab,就能一键把下面所有的字段全部更新了。我们也在最近发布了 Trae Cue 超级代码补全功能。

从 「代码提示」 →  「代码补全」 →  「超级补全,这是 AI Coding 的一个能力跃迁体现。

Trae Cue 超级补全

代码生成

接着聊一聊 「代码生成」,在 ChatGPT 刚出来的时候,对程序员的另一个震撼是,对话式生成算法或页面,不过它需要在 Chatbot 里人肉对话,然后再复制回去 IDE,太麻烦了。

于是 IDE 里面开始出现了 SideChat,这阶段更多是以插件方式,如 Copilot Chat、Codeium 等,它的优势在于可以直接拿到 IDE 和代码仓库的上下文,不用人肉复制。

大家别看这玩意比较高大上,其实原理上很直白,譬如你跟 AI 说 「帮我把这个 HTTP 请求函数实现下」,它背后其实在拼一段话:「用户现在正在打开 xx 文件,当前他的光标在 xx 行,这行的函数名和注释是 xxx,最近他访问过 a,b,c 文件,整个项目的目录结构是 xxx,现在他要求你在当前位置实现一个 HTTP 请求逻辑」,然后把这段话丢给 LLM 那边去生成,回来后再做代码合并。是不是跟你人肉去对话 ChatGPT 差别不是很大?就是 IDE 帮你把合适的 Context 上下文组装起来了。  

这里的技术含量就是:项目理解能力、上下文 Context 裁剪、模型的能力以及工程上 PE 的能力,Cursor 就是在这块做的很不错,从而脱颖而出。这其中 Claude Sonnet 3.5 功不可没,因为它的出现代表了模型能力到了一个里程碑,从而在去年掀起一波热潮。  

到这一步,开发者可以直接在 IDE 里面,和 AI 共享相同的上下文,无需累赘的转述,那下一个要解决的问题是生成后的代码,不要人肉复制回到编辑器的各个文件去,这就是 Fast Apply 代码合并场景。  

简单的说,就是如何让 AI 生成一段合适的代码,并自动把代码合并到合适的地方,这里有不少实现方式,譬如全文重写、Search Replace 代码片段替换、Diff 合并,在业界有多种实践结合使用,Cursor 则是自己训练了一个 Fast Apply 小模型,我们 Trae 则是几种方式都支持了。

Fast Apply 代码合并

上面这 2 个能力的这个阶段,我称之为 AI 辅助编程。

阶段二:AI 结对编程

AI Agent 是什么?

随着 AI 能力的持续增长,用户的需求也越来越复杂,我们更期望 AI 能更多一点自主性,就像是一个高潜力的实习生跟着我们一起结对编程,社区也称之为 AI Agent。

那一个典型的 Agent 是怎么运作的呢?Manus 前几天的文章提到:

『在接收用户输入后,Agent 通过一系列工具使用来完成任务。在每次迭代中,模型根据当前上下文从预定义的动作空间中选择一个动作。然后该动作在环境中执行以产生观察结果。动作和观察结果被附加到上下文中,形成下一次迭代的输入,这个循环持续到任务完成。』

简单的说,Agent 的核心点是:AI 具备了思考能力调度能力,也有了上下文环境感知能力工具调用能力。它能感知到自己所处的环境,并根据接受到的目标进行思考和拆解子任务,然后调度各种工具去帮它实现这个任务。

Trae Agent 1.0

Trae Agent 立项于 2024-12-17,猛肝了 20 天,就有了大家看到的 Trae 1.0 版本。

在 Agent 1.0 架构中,由于当时大模型的能力还不够强大,我们的流程会更依赖 Workflow 流程,即 思考 → 规划 → 执行 → 观察 的循环开展。它在 Trae IDE 环境中运行,借助 IDE 的功能采集信息、构建上下文,并依靠大语言模型来进行思考和规划。同时,利用 IDE 提供的文件操作、命令行操作等功能来进行工具调用,完成编码相关的需求。

除了 Agent 的流程外,还有 Code Knownledge Graph 知识图谱(代码召回)、Fast Apply 代码合并等等。

顺便吐槽下:有时看到社区一些人说 AI IDE 都只是 LLM 的套壳,只能说他连领域认知的门槛都没碰到。

Trae Agent 2.0

随着大量用户的使用反馈,我们收到了很多吐槽,猛肝出来的 1.0 架构在很多场景下的效果并不太好,同时随着 LLM 大模型能力的持续提升,这种依赖于 Proposal + Plan 固定 Workflow 方式,反而会导致大模型降智,限制了它的发挥。

于是在 2025-04-08 时我们再次闭关肝了 21 天发布了 Agent 2.0 架构,通过给予 LLM 更大的自主权,让它主动去理解需求,感知环境,并驱动工具执行和获取反馈,从而大幅发挥出 LLM 的能力。

同时,我们也对各种 Tool 进行专项优化,譬如 File 工具优化了代码合并成功率、代码召回抽象为 Search Codebase 工具供 AI 按需调用,并支持了语义化多路召回。

和 AI 斗智斗勇的过程,也是一个很磨人的过程,分享一个 PUA 的案例:

  • 背景:我们期望让 AI 在效果不劣化的情况下,用更少的轮次做完一个任务。

  • 方法:PUA 它,告诉它只有 N 轮的机会了,让它有紧迫感。

  • 结果:在 claude 3.5 里面非常有效,从线上数据看,轮次明显下降。

  • 意外:然而在 claude 3.7 里面,我们发现 AI 反而变懒了,分析后发现是因为 3.7 的性格更发散,当它发现自己只剩有限次数完成任务的时候,就直接摆烂了,要我们踢一脚动一次。结果又花了不少时间摸清它的个性才解决了这个问题。


03 

SOLO:AI 应该主导 IDE

随着 Trae 的持续演进,我们逐渐意识到,AI 和 IDE 的主导关系在翻转:

  • 以前是程序员在 IDE 里面 Coding,AI 打辅助。

  • 现在更像 AI 在更主导 Coding,而 IDE、Browser、Terminal 这些只是它的一个 Tool。

因此,我们探索了 SOLO 模式,期望从从 AI 辅助 IDE升级为AI 主导 IDE的新的协作模式,在 SOLO 中,AI 可以使用包含内置的编辑器、浏览器等不同的工具,未来 SOLO 还将集成更多工具,目前还在预览打磨阶段,欢迎使用和反馈。

这次发布的 2.0 版本,主要提供了:

  1. SOLO 这种以 AI 为中心的交互模式。

  2. 内置了一个针对 Web APP 场景的端到端交付 Agent,未来还会有更多 Agent。

这是我们一些邀测用户做出来的效果:

https://genshin-eight.vercel.app/seven-gods

https://dk-test-red.vercel.app/spreads

SOLO 做的 任务看板

⬆️@徐飞 做的任务看板:https://traekanbanqnwk-lfne48lzn-xufeis-projects.vercel.app


04 

AI 是一个人人都应该配备的高级实习生

我一直以来对 AI 的定义都是:人人都配备的高潜实习生

现在很多人觉得 AI 编程很震撼,也很多人觉得是垃圾,其实就是没找到如何与不同阶段的实习生相处的方式,没管理好自己的预期,短期高估长期低估

我的认知是:对当下的实习生,应该安排合适的任务,给予合适的指导及信息输入,并随时做好帮它兜底,并随时接手,就像你带一个真人实习生一样没啥区别,要么没用好,要么没雇好。

  • 甩手掌柜 → 不给充分的上下文,就想着一句话需求能让 AI 完成正式项目。

  • 给予超出能力边界之外之事 →  它是写代码的,你期望它生成黄图。

  • 招聘标准低 →  想干 claude 4 的事却只舍得用 openai 3.5 free。

  • 一分价钱一分货 →  $20 月费想实现 $2000 的 token 用量产出。

在社区观察不同人如何评价 AI Coding 也挺好玩的,能管中窥豹平时是如何带实习生新人:

  1. 有些人会事无巨细的拆解和提供信息,强指挥,给我闷头干别 BB。

  2. 有些人会适当放权,仅给必要的信息输入,但会随时准备兜底。

  3. 有些人会没有耐心,一有问题就骂骂咧咧,然后放养一边,自己上,只丢一些打杂过去。


05 

未来的 IDE 不再是以代码为中心

记得刚立项的时候,TL 跟我们说:「我们有意愿、有能力、有机会、有想法、有支持,我坚信我们有能干出一款世界级的产品。」,我当时是当作 「愿景」 去听的。但没想到 2024 底做年底总结时看着 MarsCode 的技术指标,2025 年中看着 Trae 的百万月活数据,看着团队积累的一篇篇 Insight,我突然发现我们确实是在踏踏实实的走在这条路上奔跑着了,我真心 Believe 了。

本着 「预研一代、部署一代、分享一代」的理念,我们正在落地 Trae Agent 3.0 架构,从而可以支撑 Multi Agent 和 Remote Agent 等探索。

路漫漫其修远兮,吾将上下而求索,AI Coding 这条路我们还在摸索前行中,比起行业的很多先行者还有很多需要学习的地方,但请相信我们是很认真的在做这事。专业生产力工具的颠覆式创新,必然会全面重塑开发者的认知和开发方式,未来的 IDE 很有可能不再是当前 IDE 的 「以代码为中心」 形态,这很可能会发生在 3 年内。阶段性看,我们需要在变革性终态到来前,维持且抬升团队、市场和公司投资主体的信心,给终态变革留出战略空间。



(文:Founder Park)

发表评论