您已经进行了 25 条消息的对话。您已经建立了上下文、做出了决策、并到达了一个有前景的方向。然后一个想法闪过:如果我尝试完全不同的方式呢?
在传统聊天界面中,您有两个糟糕的选项。重新开始并重新解释一切。或者放弃替代方案,期望当前路径行得通。
JieGou 的会话分支给您第三个选项:分叉对话。
什么是会话分支?
会话分支让您从历史中的任何消息创建新的对话分支。分支继承到该点为止的所有上下文——系统提示、消息历史、任何压缩摘要——并从那里独立继续。
把它想象成对话的 git branch。
消息 1 ─── 消息 2 ─── 消息 3 ─── 消息 4 ─── 消息 5
│
└─── 分支 A:消息 4a ─── 消息 5a
│
└─── 分支 B:消息 4b ─── 消息 5b
两个分支共享消息 1-3 的历史。从消息 3 开始,它们完全分叉。一个分支中的更改不影响另一个。
如何分支
分支是单个操作。在对话视图中:
- 悬停在对话中的任何消息上
- 点击分支图标
- 从该点创建新分支
- 您被带到新分支,准备继续
原始对话保持不变。您可以随时在分支之间切换。
您也可以从 API 和 SDK 分支:
const branch = await jiegou.conversations.branch({
conversationId: "conv_abc123",
fromMessageId: "msg_xyz789",
name: "替代方案——尝试 SQL 而不是 NoSQL"
});
// 用新消息继续分支
const response = await jiegou.conversations.send({
conversationId: branch.id,
message: "让我们用 PostgreSQL 重新考虑数据模型。"
});
使用场景
A/B 测试提示
您一直在为内容生成任务优化提示。您想比较两种措辞。在最新提示之前分支对话,在一个分支中发送版本 A,在另一个中发送版本 B,然后并排比较输出。
设置上下文 ─── 提供示例 ─── 细化指令
│
├─── 提示 A:"写一个简洁的摘要..."
│
└─── 提示 B:"总结关键要点..."
假设测试
您在模型帮助下分析数据。您已经清理了数据集并建立了分析框架。现在您想测试两个假设而不污染任何一个探索。
加载数据 ─── 清理和验证 ─── 定义指标
│
├─── 假设 1:"流失与使用频率相关"
│
└─── 假设 2:"流失与支持工单相关"
每个分支获得干净的数据集上下文。每个探索是隔离的。
比较模型
用 Claude Sonnet 开始对话进行初始探索。分支,将分支切换到 GPT-4o。在两个分支中问相同的问题。比较推理方法、输出质量和响应时间。
安全探索
在生产配置上工作?在做风险更改之前分支。如果分支走入死路,切换回主对话,继续就像什么都没发生。
协作决策
您的团队正在讨论架构决策。分支对话以独立探索每个选项。探索后,审查两个分支并将见解合并为最终决策。
分支管理
分支不是一次性的废品。它们是具有完整生命周期支持的一等对话对象:
- 命名 —— 给分支描述性名称(“SQL 方式”、“NoSQL 方式”)便于识别
- 列表 —— 在树视图中查看对话的所有分支
- 切换 —— 在分支之间跳转而不丢失状态
- 比较 —— 并排查看分支以比较它们的分歧
- 归档 —— 归档不再需要的分支而不删除它们
分支如何与压缩配合
会话分支与 JieGou 的迭代压缩系统集成。当您从压缩过的对话分支时:
- 分支继承压缩摘要作为基础
- 分支还继承分支点之前的所有完整近期消息
- 每个分支在增长时独立压缩
- 一个分支中的压缩永远不会影响另一个分支
这意味着您可以从经过两次压缩的 100 条消息对话中分支,分支以完整的压缩上下文开始——没有信息丢失。
分支比较视图
比较视图并排显示两个分支,高亮它们的分歧:
| 分支 A(SQL) | 分支 B(NoSQL) |
|---|---|
| “关系模型给我们强一致性…" | "文档存储让我们迭代模式…” |
| 估计延迟:12ms p99 | 估计延迟:8ms p99 |
| 迁移工作量:3 周 | 迁移工作量:1 周 |
这使评估权衡并用两方探索的证据达成决策变得简单直接。
合并见解
分支是独立的,但见解不是孤立的。您可以在另一个分支中引用一个分支的发现:
- 打开有您想携带的见解的分支
- 复制相关消息或摘要
- 切换到目标分支
- 将其作为下一条消息的上下文粘贴
我们还在构建一个专用的合并助手,将自动综合跨分支的发现为统一摘要。这在 2026 年第二季度的路线图中。
API 和 SDK 支持
会话分支在 JieGou SDK 和 REST API 中完全支持。您可以以编程方式创建分支、列出对话的分支并向特定分支发送消息。
// 列出对话的所有分支
const branches = await jiegou.conversations.listBranches("conv_abc123");
// 获取分支树结构
const tree = await jiegou.conversations.getBranchTree("conv_abc123");
// 比较两个分支
const diff = await jiegou.conversations.compareBranches({
branchA: "conv_branch_001",
branchB: "conv_branch_002"
});
这使得系统性探索替代方案的自动化工作流成为可能——例如,一个工作流步骤分支对话、尝试三个不同提示,并根据评估标准选择最佳结果。
可用性
会话分支在 Pro 计划及以上可用。Pro 上每个对话最多 10 个活跃分支,Team 和 Enterprise 计划无限分支。
分支计入您的对话存储配额,但不计入 LLM 使用限制——只有您在每个分支中实际发送的消息消耗令牌。
开始探索
最好的想法通常来自问”如果?“会话分支让这个问题没有代价。分叉、探索、比较,并收敛到最佳前进路径。