问题域/PD-517

AI 输出清洗

AI Output Sanitization

AI 返回文本的鲁棒解析,包括 markdown 围栏剥离、JSON 边界定位与类型修正

子问题

1.Markdown 代码围栏剥离

2.JSON 对象/数组边界智能定位

3.数字 ID 到字符串的类型修正

4.带 fallback 的安全解析

5.推理模型 reasoning_content 耗尽 token 导致 content 为空的回退处理

6.多提供商 API 错误格式差异的统一解析

7.Token 预算预检避免无效 API 调用

各项目的解法1 solutions

Signals

横向对比

维度moyin-creator
清洗策略四层管道:Token预算→围栏剥离→安全解析→类型修正
边界定位indexOf/lastIndexOf 贪心匹配最外层 {} 或 []
类型修正normalizeIds 泛型函数将数字 ID 统一转字符串
模型适配三层查找(缓存→静态表→默认值)+ Error-driven Discovery 自动学习
截断防护Token Budget Calculator 调用前拦截 + 推理模型 reasoning_content 回退
容错机制safeParseJson 泛型 fallback + cleanArray validator 校验

最佳实践

1.先清洗再解析

2.safeParseJson 带默认值防崩溃

3.extractJson 从混合文本中提取 JSON

4.Error-driven Discovery:从 API 400 错误中正则提取模型限制并持久化缓存

5.Token Budget Calculator:调用前估算输入 token,超 90% 直接拒绝省钱

6.推理模型回退:content 为空时从 reasoning_content 中正则提取 JSON