You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现DA功能暂不支持提示屏及解决无限循环问题

功能暂不支持提示屏(Offramp Screen)实现问题解答

问题概述

尝试实现「功能暂不支持」提示屏(这类Offramp Screen在应用中很常见),但未在文档Recipe板块找到对应方案。理想流程:用户可从提示屏返回触发跳转的问题页(需重置对应变量以重新触发提问),或退出访谈。编写的示例代码出现DA持续尝试定义event_not_supported的无限循环问题,需解决两个问题:

  1. 是否有实现这类Offramp的标准方案?
  2. 示例代码触发无限循环的原因是什么?

示例代码:

---
id: problematic_question
# sets the value of var
---
mandatory: True
code: |
    if var == "x":
        undefine("var") # not sure if undefine() or forget_result_of('problematic_question') would be better here, or if they're perhaps equivalent for this use case [or if I'm completely off]
        force_ask("event_not_supported")
---
event: event_not_supported
question: (!!!) This option not supported
buttons:
  - Go back: refresh # if I understand correctly, undefining var, in conjunction with refresh, should take the user back to problematic_question
  - Exit: leave
---

解答

1. Offramp提示屏的标准实现方案

这类提示屏的核心是临时中断流程、提供明确的退出/返回路径,标准实现思路有两种:

  • 独立节点+明确跳转:将提示屏设为独立对话节点,原问题节点通过条件判断跳转至该节点;提示屏的返回按钮直接指向原问题节点,同时在按钮动作中重置变量,逻辑清晰可控。
  • 事件驱动+动作绑定:定义专用提示事件,触发后展示提示页,按钮动作直接绑定变量重置和节点跳转,避免依赖refresh这类副作用较强的动作。

推荐的简洁实现代码:

---
id: problematic_question
# 保留原有的var设置逻辑
---
mandatory: True
code: |
    if var == "x":
        # 跳转前不重置变量,留到返回时处理
        force_ask("unsupported_feature_screen")
---
id: unsupported_feature_screen
question: (!!!) 该功能暂不支持
buttons:
  - 返回问题页:
      action: run_code
      code: |
          undefine("var") # 回到原问题前重置变量
          go_to("problematic_question") # 直接跳转回原问题节点
  - 退出访谈: leave
---

这种方式通过go_to明确指定返回节点,配合代码块精准重置变量,完全避免了refresh带来的流程不确定性。

2. 无限循环的原因分析

你的代码触发无限循环的核心问题有两点:

  • 变量重置时机错误:在触发提示屏前就执行了undefine("var"),当用户点击“Go back”执行refresh后,原问题节点problematic_question的mandatory: True会强制重新加载,如果该节点的逻辑会默认将var设置为"x"(比如原问题的初始化逻辑),就会再次满足var == "x"的条件,重新触发提示屏跳转,形成闭环。
  • refresh动作的不确定性:refresh会重新启动整个对话流程的检查逻辑,而非精准返回原问题节点,加上你提前重置了变量,导致流程反复触发跳转条件,最终陷入无限循环。

简单来说:跳转前重置变量+依赖refresh返回,导致原问题的条件判断被反复触发,形成无限循环。正确的做法是在返回原问题时再重置变量,并使用go_to直接指定跳转节点。

内容的提问来源于stack exchange,提问作者NotAnAmbiTurner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 20:47:38