使用场景与痛点 *
当前 auto_continue 开关(Agent 设置)只做「盲循环」:每次工具成功后就注入一次 "continue",硬上限 20 次,遇到工具失败或 ask_followup_questions 就整体停止。多步创作流程(如多步视频/配音/剪辑工作流)里:
- 循环是无条件的——不管上一个工具结果是什么、离完成还有多远,都只数次数,不判断该不该继续。
- 遇到
ask_followup_questions(用户必须在卡片上做选择的分叉点)就永久停住,选完答案后不会自动接着往下走,用户得再手动打 "continue"。
- 没有「该继续 / 该停」的显式判据,也没有可观察的循环状态(现在跑到第几步、卡在哪个场景),长流程跑丢了很难排查。
期望的行为 *
新增一个「ralph 循环」工作模式(与现有 auto_continue 独立开关),实现带判据的自动继续:
- 显式继续/停止判据,按优先级判断每轮:
- 继续:上个工具成功、流程未到末尾、还有下一步(例如 voice 已放置 → 该转录 → 该规划镜头 → 该搜素材 → 该放素材)。
- 暂停(等待用户):调用了
ask_followup_questions 等需要用户选择的分叉工具——先挂起循环,用户选完后再自动恢复接着跑,而不是永久停住。
- 停止:出现工具失败、遇到成本守护确认卡片、输出结束标记(如 "Video selesai. STOP.")、或达到迭代上限。
- 每次「暂停」附带明确上下文:说明为什么暂停、下一步要做什么、用户确认后如何恢复。
- 可观察的循环状态:在界面上显示当前循环进度(第 N 步 / 卡在哪个场景 / 下一步工具),方便长流程排查。
- 可配置迭代上限(默认建议 20,可调),避免失控。
参考实现(可选)
现有的 useAgent.ts auto-continue(注入 __auto_continue__)可作基础,但需要把「数次数」升级为「判断下一步」,并把 ask_followup_questions 的 awaitingUserChoice 分支从「跳过循环」改为「挂起→恢复」。
验收标准(可选)
使用场景与痛点 *
当前
auto_continue开关(Agent 设置)只做「盲循环」:每次工具成功后就注入一次 "continue",硬上限 20 次,遇到工具失败或ask_followup_questions就整体停止。多步创作流程(如多步视频/配音/剪辑工作流)里:ask_followup_questions(用户必须在卡片上做选择的分叉点)就永久停住,选完答案后不会自动接着往下走,用户得再手动打 "continue"。期望的行为 *
新增一个「ralph 循环」工作模式(与现有
auto_continue独立开关),实现带判据的自动继续:ask_followup_questions等需要用户选择的分叉工具——先挂起循环,用户选完后再自动恢复接着跑,而不是永久停住。参考实现(可选)
现有的
useAgent.tsauto-continue(注入__auto_continue__)可作基础,但需要把「数次数」升级为「判断下一步」,并把ask_followup_questions的awaitingUserChoice分支从「跳过循环」改为「挂起→恢复」。验收标准(可选)
ask_followup_questions时循环暂停并提示用户;用户选完后自动恢复,不中断流程。