最小订单查询规则

{
  "type": "object",
  "properties": {
    "order_id": { "type": "string", "minLength": 1 }
  },
  "required": ["order_id"],
  "additionalProperties": false
}

模型可能返回 {"order_id":42}:这是合法 JSON,却不符合上面的字符串约束;也可能返回额外字段 "admin":true,不能因为它来自模型就信任。先做语法检查,再用支持 JSON Schema 的验证器检查类型和字段。本站 JSON 工具目前只做语法层,不会声称它验证了 Schema。

Schema 通过仍不够

即使 order_id 是合法字符串,还要检查当前用户是否有权查看该订单、工具是否允许在当前会话使用、调用频率是否合理。如果工具能发邮件或修改数据,必须考虑确认、幂等和审计。模型生成的参数应被视为外部输入,而不是可信内部指令。

错误应该返回给谁

缺少订单号时,直接请用户补充信息;类型不对时,向模型返回可机器理解的校验错误或在应用层拒绝。不要把数据库内部异常和完整对象原样显示给最终用户。追踪记录保留调用标识、校验阶段和错误代码即可。

先验证再执行,比执行失败后从日志里猜参数问题更便宜,也更容易阻止越权读取和重复写入。

参考:JSON Schema 对象与必填字段。Agent 调用实验中有相同订单号的失败路径。