AI工作流重构:主分支对话+跨会话消息高效协作

最近这段时间我一直在重新梳理vibe coding风格的AI辅助编程工作流,在支持跨会话消息传递的功能上线后,整个开发流程变得灵活了很多——不仅不需要再编写繁琐的交接文档,也不用每次尝试新方向都用Git做全量备份,能够毫无顾虑地探索各种可行路径,同时完整保留所有对话上下文。
在没有这项功能之前,每当对话中途冒出新想法时,我总会陷入两难的选择:要么继续在当前对话中展开讨论,但这样很容易让主线任务被带偏,打乱原本的开发节奏;要么新建一个独立对话,可这意味着需要重新解释项目背景、当前进度以及之前踩过的所有坑,为了不让新对话丢失关键信息,还得专门维护一份交接文档,把重要的内容手动复制粘贴过去;第三种方式是复制当前对话生成新分支,虽然能避免影响主线,但也只能在原有思路的小范围内调整,如果新想法和原方向差异较大,冗余的上下文反而会污染新任务的执行效果。
而跨会话消息传递功能彻底解决了这些痛点:不管是Claude还是Codex,新创建的对话都可以从历史会话中选择需要复用的消息内容。这让我们可以彻底改变原本的工作模式——不再把单个会话当成必须从始至终连贯的完整对话,而是可以将每一个独立的Agent任务都看作一条可以随时分叉的工作主线。
具体来说,主对话负责把控整体开发目标和最终决策,当遇到需要深入展开的新想法时,就单独开启一条分支对话,让它独立完成研究、尝试和推演。等支线任务完成后,再让主对话读取它的完整记录,从中提取需要的结论来更新整体计划。
比如我最近在优化AI热点追踪工具ai news radar的时候,突然想到可以通过注册新域名来重新调整产品定位,这类任务不是一两句话就能说清的,单独开一条分支对话来处理再合适不过。借助跨会话传消息的能力,不仅省去了大量编写交接文档的时间,新的分支对话也不需要依赖我临时手写的总结,而是可以直接读取历史对话中的决策记录、失败尝试和已经完成的执行结果,让整个探索过程更连贯高效。
Codex和Claude的跨会话功能采用了两种完全不同的实现逻辑。Codex支持精确寻址的方式:先打开需要复用的目标对话,点击左上角的三个点复制会话ID,然后在主任务中直接告知系统,读取ID为xxx的分支对话,提取其中的核心结论、已完成的尝试以及待决策项,再用这些信息更新当前的开发计划。
而Claude Code并不支持直接通过ID搜索会话,它内置了会话管理工具来查找历史对话,这就需要我们把检索线索描述得足够清晰。最开始我只是简单输入类似“找一下上次某某网站的对话”的内容,结果返回的大多是无关的噪音内容。现在我会用更精准的描述:“搜索ai news radar项目在8月10日前后的会话,主题是新域名和产品定位,列出候选会话的时间、标题和首条任务,我确认后再读取完整记录”,这样就能快速定位到需要的对话内容。
这里还有一个我亲身踩过的坑需要提醒:Claude Code桌面端的搜索范围仅限它当前能够访问的会话记录,而且网页端URL后面带的`session_`参数并不能直接当成会话ID来用于搜索,直接使用的话会出现检索失败的问题。
整体来看,我现在的日常工作流已经完全适配了这套跨会话功能:用一个主对话牢牢守住整体开发方向,同时开启十几个甚至几十个分支对话,把每一个值得深入探索的想法都单独拉出来认真走完一遍,再也不用为了上下文切换和文档维护浪费精力。

