Turn execution failed provider=2c3e02bd-f9e9-4a48-8dd2-236e31f9b265 model=glm-5....

2026年10月07日 21:12 12.59 秒 success

错误信息

Turn execution failed provider=2c3e02bd-f9e9-4a48-8dd2-236e31f9b265 model=glm-5.3-flash-cc request=86454522-f320-44b8-9b01-72bb39eb3028 reason=invalid_request status=400 retryable=false status_code=400, Prompt exceeds max length (request id: 202610071308502643589188268d9d6I4WUuHYd) (request id: 20261007130848605497586c14228f5hQnJvaNT)

AI 解决方案

1. 🌐 错误翻译


原文:Turn execution failed, reason=invalid_request, Prompt exceeds max length
译文:对话回合执行失败,原因是请求无效,提示词长度超出最大限制

2. 🎯 原因分析


本次请求被拒绝的核心原因是提示词长度超出模型允许的最大长度限制。错误状态码为400,属于不可重试的错误(retryable=false),表明请求在参数校验阶段就被判定为无效,并非服务端临时故障。问题根源在于发送给 glm-5.3-flash-cc 模型的输入内容过长,超出了该模型的上下文窗口上限。

3. 💡 解决方案


// 1. 检查并控制输入长度,对超长内容进行截断或分块处理
const MAX_PROMPT_LENGTH = 12000; // 根据模型实际限制调整
let input = userMessage;

if (input.length > MAX_PROMPT_LENGTH) {
    // 方案A:截断长文本
    input = input.slice(0, MAX_PROMPT_LENGTH);
    
    // 方案B:仅保留核心内容(推荐,避免语义断裂)
    input = extractKeyInformation(userMessage);
}

// 2. 使用流式请求时,确保单次发送内容在限制内
const requestParams = {
    model: "glm-5.3-flash-cc",
    messages: [{ role: "user", content: input }]
};

4. 🛡️ 预防措施


  • 输入长度预检:在发送请求前,明确所使用模型的最大上下文长度限制,对输入内容进行长度校验,避免无效请求。

  • 采用分块处理:对于长文本场景,设计分块逻辑,将长内容拆分为多次请求,或使用摘要预处理后再发送,确保每次请求都在限制范围内。