中转站检测ZHONGZHUANJIANCE.COM · 独立第三方

检测项目一览 / 停止序列行为

停止序列行为检测

Claude 中转站检测:设置停止序列后,检查响应是否在该处正确截断,stop_reason/stop_sequence 字段是否符合官方协议。仅 Claude 家族适用。

适用协议:仅 Claude(Anthropic 原生协议)计入真假三档评分

测什么

设置一个停止序列(比如 §END§),要求模型输出一段本应包含该停止串的文本,检查响应是否在停止串出现的位置被截断,以及 stop_reason 字段是否等于 stop_sequence、stop_sequence 字段是否等于你设置的那个串。

为什么能判真假 / 来路

stop_sequences 是 Anthropic 协议特有的参数,官方后端接到这个参数后,会在响应命中该串的位置真正截断,并在 stop_reason/stop_sequence 字段里如实回报。如果这个参数在后端根本没被接住——响应字段不对,或者停止串本身完整地出现在了正文里——说明这条通道对这个官方参数的支持是打折扣的。

结果怎么读

  • 通过stop_reason 等于 stop_sequence,且 stop_sequence 字段等于你设置的那个串——说明后端在正确位置截断了。
  • 存疑响应正文里完整出现了本应触发截断的停止序列字符串,说明后端根本没有执行 stop_sequences 这个参数。
  • 未通过这个探针不会给出「未通过」,只有通过/存疑/信息不足三档。
  • 信息不足模型没有按指令输出停止序列(不能据此判负面,因为这更可能是模型没听指令),或请求失败。

局限:它判不了什么

仅 Claude 家族(Anthropic 原生协议)有这项检测——GPT 用的是 stop 参数、Gemini 用的是 stopSequences 字段,本站目前只在 Claude 协议里测这一项。判定刻意保守:如果模型压根没按指令输出停止序列本身,本站不会拿这个当负面依据(判信息不足),因为这更可能是模型没遵循指令,而不是协议问题。

自己怎么验

设置一个停止串,要求模型输出含它的文本,看 stop_reason 字段。

curl -s https://YOUR_RELAY_BASE_URL/v1/messages \
  -H "x-api-key: YOUR_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-opus-5","max_tokens":64,"stop_sequences":["§END§"],"messages":[{"role":"user","content":"Output exactly: alpha§END§beta"}]}' \
  | grep -o '"stop_reason":"[^"]*"\|"stop_sequence":"[^"]*"'

正常应看到 stop_reason 为 stop_sequence、stop_sequence 为 §END§;如果响应正文里完整出现了 §END§ 字符串本身,说明这个参数没被真正执行。

用检测工具实测你的中转站 →

相关检测项

常见问题

为什么 GPT、Gemini 没有停止序列检测?

stop_sequences 是 Anthropic 协议特有的参数名和行为,GPT 用 stop、Gemini 用 stopSequences,字段和语义都不完全一样,本站目前只在 Claude 协议里实现了这项针对性检测。

模型没有输出停止序列,会被判定为异常吗?

不会。这种情况本站会判「信息不足」而不是负面结论——模型没有按指令把停止序列本身写进回答里,更可能是没听懂指令,而不是协议层出了问题,不能据此判定这条通道有异常。