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

AIML条件循环内无输出 嵌套分类XCAR误将输入识别为单个词

问题解决方案

1 空格被吞问题修复

SRAI的参数内容会被Pandorabots解析器默认归一化空白字符,逗号后的空格会被自动删除,导致XCAR无法按, 规则拆分字符串。两种解决方法:

  • 替换分隔符:将, 替换为无空白的分隔符(如|、#),避免空白归一化影响拆分逻辑
  • 固定长度取值:由于所有字段长度统一,可直接用XSUBSTRING按固定长度截取内容,完全跳过XCAR拆分步骤,从根源避免分隔符相关问题

2 条件循环无输出修复

导致无输出的常见原因及对应修改方案:

2.1 补全全局变量初始化

外层分类的<think>标签中缺少items、itemcount两个核心变量的初始化逻辑,变量为空会导致XSUBSTRING、XGT调用返回空值,最终allitemsprinted直接被赋值为TRUE,循环块不执行。需在初始化部分补全:

<think>
    <set name="index">0</set>
    <set name="allitemsprinted">FALSE</set>
    <!-- 新增两个必填变量的赋值,示例值可替换为实际内容 -->
    <set name="items">AB,CD,EF,GH</set>
    <set name="itemcount">4</set>
</think>

2.2 修正位移计算逻辑

单个字段为2位字符加1位分隔符,总长度为3,当前代码中按乘以4计算位移会导致取值偏移,返回空字符串,修改为:

<set var="itemlocation">
    <!-- 2位字符+1位分隔符,单段长度为3 -->
    <srai>XMUL <get name="index"/> XS 3</srai>
</set>

2.3 替换XCAR为固定长度截取

避开分隔符拆分的不稳定问题,直接从剩余字符串取前2位作为当前项:

<!-- 转人类可读输出部分修改 -->
<map name="itemsreadable">
    <srai>XSUBSTRING <get var="remainingitems"/> XS 0 XS 2</srai>
</map>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 17:45:04