当审批恢复流程经过 next_step_run_again 时,延迟中断转换会话项永远不会被保存,导致 function_call_output 变成孤立对象。
□ 总结
自封锁输出推迟(# 4507, 0.22.0 中放出) 后,
** ** 输出-护卫' ** 和 ** 工具-使用-行为'!= "运行-再运行" 推迟
当“ 需要 核准” 工具园区时, 会话项目被中断
(在`run Internal/block output.py'中, 应 延迟 中断 session items')。 公园时间
用于该转弯的会话是 " [ [] " 。
但当批准被恢复时,批准的工具不是****一个终端工具(所以 已解决的转弯下一步是“ 下一步 step run again” , 任何代码路径都不会坚持推迟 条目: 恢复侧写( QQ save summed items " ) 和最后产出扫描 (最后 turn items for persistence')只涵盖最终响应的项目.
会议结果:从未写出 " 职能-召唤-产出 " 。 在下一个`Runner.run (., session=session)'上,提供者拒绝全程对话:
OpenAI. BadRequestError:出错代码:400 - 找不到函数调用的工具调用
用 call id call ORPHAN 输出由于孤儿在会话中是耐受的,因此以后的每一轮都以同样的方式失败; 对话是永久的死亡。
调试信息
- SDK代理版本:`main ' @ 89c02c82(也影响到已发布的0.22.0,该版本早先与#4611失效)
- Python版本:3.12
- 操作系统:Linux(Python:3.12-slim容器)和macOS
- 型号和型号提供者:不需要 " 代理人.测试 " 。 脚本模型 '
- 问题是否与SDK特工发布? 0.22.0无法到达:履历先以#4611死亡. 在 " main " (其中第4613号规定)上复制。
- 问题是否一贯或断断续续地发生? 始终如一,百分百决定.
□版本矩阵(同为复制器,有三种版本)
++版本++结果++ |-|-|-. 好:停放的"功能-呼叫"在中断时写出,对接完成 QQ 0. 22.0 QQ 恢复先用 “ 用户: 无法恢复带有输出护栏的序列式批准检查点... ” (# 4611) QQ @ 89c02c82 @ 恢复收益(# 4613), 工具执行, 但停放的“ 函数 call” 从未持续 ~ ** 孤立的产出, 被API 永久拒绝的会话** # @
因此,0.22.0把这个隐藏在#4611后面;#4613解封了简历并被曝光.
□ 最小复制器
无 API 密钥,无 网络 ( " 脚本模型 " , " SQLite Session " )。 唯一能超越的
" tests/test hitl session scenario.py "是(a) 代理人有输出-护栏'和 StopAtTools',与推迟门相匹配,并(b) " 运行状态 " 往返JSON,
作为任何在自己的商店(Redis,一个DB行)中停放批准并稍后恢复的应用程序
进程必须如此。
导入 Ayncio
导入 json
进口代理商(
探员
护栏功能输出,
奔跑者,
运行状态
会议,
停止阿图尔,
函数工具,
输出 护栏,
(中文(简体) ).
从
. . . . . . .内容来源: openai/openai-agents-python