Skip to content
阅读进度

如何实现 Agent 工具调用的幂等性(Idempotency)? ​

返回 Agent 工程 目录

标准回答 ​

为同一个业务操作生成稳定的幂等键,在服务端用唯一约束/事务保存“键、请求指纹、执行状态和结果”;重复请求返回已有结果或处理中状态,同一键却参数不同则拒绝。跨外部系统的副作用还需下游幂等支持或结果对账,超时后不能直接假定“没执行”而重复扣款等动作。

通俗例子 ​

用户连点两次退款,或者网络超时重试,两次带同一业务幂等键;服务端记录处理结果并复用,而不是再退一次钱。

深入解释 ​

**怎样识别同一笔操作:**客户端为一笔逻辑请求提供稳定幂等键;服务端记录该键对应的处理状态和结果。重试复用同一个键,才有机会识别为同一笔业务。

**为什么一个字符串不够:**检查和记录需要可靠并发控制,不能两个请求同时查到“不存在”后各执行一次。还要定义键的作用范围、有效期与处理中状态,避免错误合并不同请求。

易混淆点 ​

“请求只发一次”不可靠;仅有缓存去重,也不能保证跨崩溃恢复的 exactly-once。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。