AI把API限流写成固定100次/分,我抓了三天日志才搞懂是动态的
凌晨两点半,我盯着搜极星后台的引用数据,越看越不对劲。
事情是这样的:我们做了一款面向开发者的工具类产品,GEO优化时把「API调用限制」写进了FAQ结构化数据,答案里统一标的是「每分钟100次」。结果这周客户反馈说,AI搜索里问「你们限流多少」,回答全是「固定100次/分钟,超出直接拒绝」——但实际我们的限流策略是动态的,免费版100次/分,付费版根据套餐浮动到500-2000次/分,而且超限是排队不是直接拒绝。
我第一反应是FAQ文本没写清楚,但翻出原文一看,写的是「免费版100次/分,付费版按套餐调整」。问题出在哪?
我让后端拉了三天的网关日志,把AI搜索来的请求单独筛出来,对比了同一时间段内不同套餐账号的调用频次。结果发现:AI在摘录这段FAQ时,只抓了「100次/分」这个数字,把后面的「付费版按套餐调整」当成了修饰性描述给丢了。更离谱的是,它把「排队」理解成了「拒绝」——因为FAQ里有一句「超限请求进入队列等待」,AI直接简化成「超出限制会被拒绝」。
我又去看了搜极星里的引用快照,发现AI引用的版本是上周三的缓存,而我们周五其实已经更新过FAQ,把「100次/分」改成了「免费版100次/分,付费版500-2000次/分」。但AI没重新抓,还在用旧版本。
这就暴露了两个问题:一是FAQ结构化里数字和条件必须绑死,不能分句写,AI会拆;二是引用缓存没有强制刷新机制,你更新了内容,AI可能还在用老版本。
我现在的做法是:所有带数字的FAQ,条件必须写在同一个句子里,比如「免费版限流100次/分钟,付费版限流500-2000次/分钟(按套餐)」,并且把「排队等待」和「拒绝」这种动作词单独写成子问题。另外,每次更新FAQ后,我会在搜极星里手动触发一次重新采样,虽然费点功夫,但至少不会让旧答案继续跑。
但这里还有个悬而未决的点:搜极星的采样参数里有个「缓存有效期」,默认是7天,我调到1天之后,引用率掉了大概15%,但准确性上来了。这个平衡怎么找,我还没摸透。
你们有没有遇到过AI把条件性数字抓成绝对值的坑?缓存有效期一般设多久比较稳?求个参考。
