Responses 对话想试两种方案,怎样从同一轮分叉而不把另一条支线带进来

2026-10-24

从同一轮试两种方案时,让两个请求都引用同一个previous_response_id,再对选中的支线继续引用。上一轮顶层instructions不会因为历史引用自动沿袭,稳定规则需要逐轮重发;UI中的显示顺序也不能代替实际父节点。

保存父节点而不是只留聊天文本

附件合成谱系从R0出发,R1与R2都以R0为父,R3以R1为父。R1表示简短版,R2表示详细版,之后继续简短版就应该产生R3,不能把最近完成的R2当成默认历史。branch-requests.jsonl同时保存本地id、父引用、输入与规则,便于检查请求构造。示例R0等只是本地标签,真实调用必须换成服务返回且可用的响应id。

稳定规则每轮显式携带

本例每轮instructions都写“使用简体中文;不要补写未提供的日期”。官方text指南说明previous_response_id不会自动携带上一轮顶层instructions,因此不能只在第一轮配置一次后假设永久有效。历史内容可引用与当前规则生效是不同机制。如果选择手动传完整上下文,应按官方方式整理对应分支,不把别的分支输出一并附上,又期待父id帮忙忽略。

从祖先链核对选中支线

ancestry.json应显示R3继承链为R0、R1、R3,R2不在其中;conversation-tree.html把两个兄弟分支与续写位置画出来。验证器检查的是真实本地请求选择,不是服务端已经接受这些合成id。父节点缺失或发生循环时应停止,避免为了继续对话而悄悄接到另一轮。用户切回方案时,先在保存记录中选择对应节点,再构造请求。

引用可用性与费用另核实

失败命令移除最后一轮instructions,程序明确报应用配置缺失,不把缺规则请求当成等价续写。连接丢失或历史引用不可解析时,需要使用官方支持的上下文恢复方式,不能承诺任意旧id始终可用。分支引用也不表示之前输入免费,官方说明链上的历史输入仍涉及计费。本文没有创建真实对话、访问账号或测费用,只用合成谱系解释如何防止支线串入以及规则遗漏。

保存分支时把当前选中节点单独记录,收到并发返回也只把结果挂到对应父节点。请求先发后到不应改变谱系;用户未选详细版时,详细版较晚返回不能把后续输入自动切换过去,界面状态与网络完成顺序需要分开。

下载与复现

下载完整样例包,解压到一个新文件夹;也可查看全部文件清单和主脚本。使用Python 3.10或更新版本,在解压目录运行。此脚本只使用标准库,无需安装额外包。

python -B run.py
python -B run.py --negative

先查看主要结果,再修改输入重跑;已有输入会保留,结果写回同目录。边界命令可能故意非零退出,也可能输出明确的不适用状态,按正文说明判断,不把所有非零退出都当成安装故障。

依据与延伸阅读

资料核对日期为2026年10月24日。一手资料1:previous_response_id建立响应链,历史输入仍涉及计费;本地分支需选择正确父id。

相关参考2:顶层instructions不会经previous_response_id自动延续,应逐轮明确携带稳定规则。

继续阅读:OpenAI API 接入:API Key 与 Responses API 首次调用;用 OpenAI 连续改一张图,怎样保存每轮参考图和可回到的版本;Code Interpreter 说表格已做好,怎样把容器里的文件真正下载成交付物。

想系统学会用 AI?报名体系课或加入会员,照着学、照着用。

加微信,把这一页存到手机上

扫码加站长企业微信,会自动把这一页的链接发给你,方便在手机上接着看。AI 落地卡住了,也可以直接问。

去留微信

留言讨论

评论发布后会被人工复核,违规内容将被删除。

    还没有人评论,来说说你的看法

    如果发表没有反应,可以前往联系我们告诉我们。

    这个页面有问题?

    提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。