你的智能体忘记发送的幂等键
智能体重试带有副作用的工具调用时,其方式与重试读取操作完全相同 —— 这会导致静默地重复扣款和重复发送邮件。本文将探讨幂等性究竟应该放在哪里,以及为什么提示词(Prompt)不是实现它的正确位置。
在你的智能体能够自我重试之前,精确一次性处理(Exactly-Once)曾是一件难事
幂等键(Idempotency keys)假设调用者会逐字节重复其请求。而智能体(Agent)在重试时可能会转述自己的请求,这打破了该假设。本文将介绍如何构建工具级的去重机制,使其在调用者是语言模型的情况下依然有效。
当用户取消对话后,下游 API 却仍在继续写入
点击停止按钮可以干净地关闭 LLM 流。但这并不会停止工具已经向第三方开启的 HTTP 请求,而第三方并不知道对话已经结束。本文将解释为什么 AbortSignal 止步于套接字,以及你应该在提交边界构建什么来替代它。
流式中止后遗留的计费副作用
点击停止只会关闭连接,并不会撤回 Agent 已经发出的邮件。本文将探讨“部分提交”问题以及用于弥补这一鸿沟的“账本模式”。
你的智能体从未发送的幂等键
当智能体的工具调用超时并重试时,如果没有幂等键,重试可能会导致再次扣费。了解如何让智能体重试变得安全无害,而非充满风险。
原本运行良好的工具,直到两个智能体同时调用它
智能体工具通过了单调用者测试,但在第二个智能体出现的那天崩溃了。本文将探讨为什么并发漏洞在结构上对串行评估是不可见的,以及幂等性、锁定和负载测试如何修复这些问题。
改变答案的重试:针对非确定性 LLM 调用的幂等键
重试超时的 LLM 调用并不会重新获取相同的答案 —— 而是会采样一个新的。本文将探讨为什么针对非确定性后端的超时重试会失效,以及幂等键如何让它重新变得安全。
当工具撒谎时:智能体默认信任的“伪成功”失败模式
工具调用返回成功,但底层操作从未实际执行——这是导致“模型对用户撒谎”事件背后的结构性失败模式,也是高风险智能体所需的校验层。
隐藏的 SDK 重试机制:为什么你付了两倍的钱却浑然不知
主流 LLM SDK 默认附带两次自动重试。如果在调用侧再叠加一层重试,当提供商出现短暂故障时,单个请求可能会扇出为九次推理调用 —— 这在你的追踪日志中难以察觉,却会实实在在地体现在账单上。
智能体幂等性是一项编排契约,而非工具属性
当不可预测的规划器(Planner)可能重新发起相同动作时,仅靠工具层面的幂等键是不够的。该契约必须存在于编排边界,并以结构化的运行状态作为键 —— 而非由模型生成的参数作为键。
智能体幂等性:为什么你的 AI Agent 会发送两次邮件
生产环境中的 AI Agent 会重试失败的工具调用——这会导致重复付款、重复邮件以及重复的现实世界操作。本文介绍了来自分布式系统的四种经受过实战检验的模式,让智能体副作用的重试变得安全可靠。