企业里把 AI Agent 接到 ERP、财务、MES 这些老系统,最让人头疼的从来不是接口写不通,而是对方接口今天给一个字段、明天少一个字段,后天又忽然超时。老系统的接口往往没有严格的契约,文档也跟代码对不上。Agent 在这种不稳的接口面前如果不做分层兜底,业务就很容易在某个夜里被一条错误响应直接带跑挂。
真正稳的接法是把兜底拆成四层,每一层只解决一类问题。第一层是契约适配层:把对方返回的脏数据先在网关里洗一遍,字段缺失就按业务默认值补齐,类型不对就按规则转换,时间格式不统一就归一到一个标准。这一层的目的不是修复对方系统,而是把响应统一到 Agent 能理解的结构。
第二层是熔断与重试层。重试要有上限,不能无限重试,比如三次以内用指数退避;超过阈值就熔断,把这一类接口暂时挂起,避免雪崩。熔断期间 Agent 应该走本地缓存或者提示用户稍后再试,而不是继续把请求往对方系统塞。
第三层是降级与排队层。关键业务不能因为接口挂了直接报错,应该把任务落到本地队列,等接口恢复后再批量重放。非关键业务可以直接降级,比如报表类接口返回不了就先给一份最近一次的快照。这些判断在 Agent 的工具调用层就要写清楚,不能让模型自己临场拍脑袋。
第四层是人工兜底层。一旦遇到结构异常、字段大面积缺失、或者错误码超出已知范围,Agent 必须把这件事抛给对应负责人,而不是自己编一个看似合理的默认值写回系统。编造数据在企业里是最危险的事,比报错还糟糕。
把四层串起来看,老系统不稳不是不接的理由,而是要把接法写厚一点。ClawMercs 在企业里接入这类系统时,通常会把这四层都内置到 AgentEnv 的运行沙箱里,配合 SkillHub 把每一类老接口的兜底策略做成可复用的技能。这样换一家工厂、换一个财务系统,只要换上对应技能就能复用同一套兜底逻辑,不用每次重新设计。
读者下一步可以做的事,是先挑一个最不稳定的旧接口,按这四层写一份最小可用的兜底脚本跑一周,看熔断阈值、队列容量和人工兜底频率是不是符合预期,再决定要不要把更多接口接进来。

