用 AI 做项目时,常会遇到这样的卡点:想同时试两种实现方案,又怕动坏已经跑通的代码;想对比几个设计方向,却舍不得丢掉当前版本。TRAE 的 Fork 功能,就是为这些场景准备的。简单来说,Fork 可以理解为「从当前任务复制出一条新的分支任务」。
一、什么时候会用到 Fork。
当你和 AI 做项目时,下面这些情况都适合用 Fork: 1 同时尝试两种实现方案:例如让 TraeCode 用 React 和 Vue 分别实现同一个页面。Fork 后,两边都基于相同需求和上下文开始。 2 对比不同设计方案:例如已经生成了一个页面,但想保留当前版本,同时尝试「极简风」和「企业后台风」。 3 修改方向发生变化:例如原本要做网页版,后来想改成命令行工具。Fork 后可以保留原来的网页开发路线,再单独发展 CLI 版本。 4 担心新尝试破坏当前成果:例如当前代码已经基本可用,但想让 TraeCode 大范围重构。Fork 后可以放心尝试,原任务仍然保留。 5 从同一个阶段处理不同问题:例如当前任务已经定位到一个错误,可以 Fork 一条路线专门修复问题,另一条路线继续完善功能。 6 为不同目标准备不同版本:例如同一份内容分别准备「内部技术版」和「对外汇报版」,两者共享已有材料,但后续编辑方向不同。 7 需要回到之前的某个上下文重新开始:如果当前任务已经经过很多轮修改、方向变复杂了,可以从较早的状态 Fork,重新给出更清晰的指令。
判断标准很简单: 1. 如果想保留当前进度,同时尝试另一种后续方向,就适合使用 Fork。 2. 如果只是继续当前路线,就直接在原任务中对话;如果任务完全无关,则新建任务更合适。 Fork、继续任务、新建任务的区别: (1) Fork:复制当前任务的对话背景,开一条新分支,适合「保留原进度、换方向再试」。 (2) 继续任务:在同一会话里接着对话,适合「方向不变、往下做」。 (3) 新建任务:从零开始一段全新对话,适合「任务完全无关」。
二、先分清:对话分开,文件仍共享。
Fork 复制的是对话。同一工作区里的会话,仍可能修改同一份项目文件。 先比较方案,选好后再改文件。 要同时试两套代码,先准备各自独立的项目目录。
特别注意: Fork 只分叉「对话」,不分叉「文件」。 举个例子:在分叉 A 里让 AI 修改了 index.html,然后切到分叉 B,B 里看到的也是被修改后的 index.html。因此,在选定方案之前,建议先和 AI「只讨论、不改文件」,等方向确定后再动手改代码。
三、三个实践场景
场景 1:同一个作品集,比较两种表达。 要做展示 3 个设计项目的作品集首页,既想用于求职,也想吸引客户。两种方案共用项目背景,但首页重点不同。
这次用 Fork:背景讲一次,两种方向分别试。 1 先把共同需求讲清楚(以 SOLO 为例):先让 AI 确认「作品集首页展示 3 个设计项目」的共同需求,暂不展开两种方向。 2 从同一条回复,分别 Fork 两次:在需求总结的回复处 Fork,在新会话中发送下方提示词,将【招聘方/潜在客户】替换为「招聘方」;再回到同一条回复 Fork,把对象改为「潜在客户」。 沿用共同需求,这次面向【招聘方/潜在客户】。给出首页标题、3 个内容区块和主按钮文案,150 字以内。只讨论,不改文件。 通过任务 ... → 重命名,分别标成「A|招聘方」「B|潜在客户」。 3 看结果,再选一条继续:在左侧任务列表切换 A/B 对照,求职沿 A 继续,接单沿 B 继续。
场景 2:方案越聊越重,回到简单目标。 只想做一页活动报名页,讨论却逐渐加上会员、积分和复杂后台,首版迟迟无法确定。
这次用 Fork:保留原讨论,把新会话拉回最小可用方案。 1 找到方向还对的那条回复:找到仍围绕「活动介绍+简短报名表+提交反馈」的回复,在加入会员、积分之前分叉。 2 Fork,并明确这次的范围: 沿用已确认的活动报名目标,只保留首版必要流程。不要会员、积分或复杂后台。请给出一页结构、必填字段和提交反馈,先讨论,不改文件。 3 先确定能做完的一版:确认方案覆盖活动说明、填写报名和提交反馈,再开始制作。会员、积分等想法留在原会话,以后按需展开。
场景 3:把细节问清楚,再回主线继续。 报名页方案已确认,准备继续做页面,却想弄明白:联系方式要不要必填?填错时怎样提示?
这段追问可以单独聊。 1 从字段方案的回复处 Fork,把新会话命名为「追问|校验」。 2 只追问这一个细节: 沿用报名页方案,联系方式是否必须填写?为空或格式不对时,何时、在哪里提示?用三条解释,先讨论,不改文件。 3 回到原会话,接着做页面:问清楚后切回报名主线继续;想采用某个结论,就把它简要补到原会话里。
分叉里的讨论不会自动合并回原会话。主线保留已有方案,追问会话留着以后查阅。 小习惯:共同要求先讲清,每条分叉只改一个方向,按差异命名。
四、常见问题。
Q:Fork 和新建会话有什么区别?
A:Fork 会带上已有对话背景,适合接着同一个问题换方向。完全无关的新任务,直接新建会话更清楚。
Q:从中间 Fork,后面的内容会带过去吗?
A:不会。只复制所选 AI 回复及之前的对话。想沿用整段已完成讨论,可用任务列表的「复制会话」。
Q:新会话的追问,会改掉原会话吗?
A:不会。追问和回复留在新会话中。原会话可以继续,也能从同一条回复再次 Fork。
Q:Fork 会复制项目文件,或恢复当时的代码吗?
A:不会。Fork 只复制对话,不会复制项目文件或回滚代码。
五、用两个日常类比理解 Fork。
类比 1:游戏里的「存档点」。 打到岔路口,左边火山、右边冰洞。先存个档去火山探索,不满意就读档去冰洞。Fork 就像这个存档点:在某条 AI 回复处「存档」,开一条新路线去探索,原来的存档(原会话)还在。
类比 2:考试时的草稿纸。 难题不确定用哪种解法,就在草稿纸上抄下题目和已有推导,开一块新区域试方法 A;又撕一张纸抄同样内容,试方法 B。Fork 就像「抄写一份已有推导,在新区域换方法试」。
Fork 解决的是「想试多种方向,又不想破坏已跑通成果」这个最常见的开发痛点。对一个多人协作、经常要对比方案或并行 experiments 的团队,这类能力都能复用到你自己的工程流程中。
