题目
输出符合 Schema,但字段之间存在业务矛盾时,如何校验?
答案
把校验分成三层:格式和类型、字段之间的约束、外部业务事实。Schema 主要覆盖第一层,也能表达部分简单条件,但不能替代完整业务校验。
例如退款请求即使包含合法的订单号和正数金额,还要检查金额是否超过剩余可退金额、币种是否一致、订单是否属于当前用户,以及当前状态是否允许退款。
校验失败时返回明确的字段和原因,例如“退款金额 120 元超过可退金额 80 元”。可修正的格式问题允许模型有限次重试;缺少事实就调用查询工具;存在真实歧义则请用户确认,不能为了通过校验擅自改金额。

执行前还要重新检查关键业务状态,避免校验后订单被另一请求修改。金额等敏感运算由程序使用合适的精度处理,不能交给模型口算后直接入账。
