<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Semantic-Failure on All about Raspberry Pi</title><link>https://hugozhu.site/tags/semantic-failure/</link><description>Recent content in Semantic-Failure on All about Raspberry Pi</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 06 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hugozhu.site/tags/semantic-failure/index.xml" rel="self" type="application/rss+xml"/><item><title>幂等键防得住重复退款，防不住错误退款</title><link>https://hugozhu.site/post/2026/391-idempotency-keys-duplicate-vs-wrong-refund/</link><pubDate>Sun, 06 Sep 2026 00:00:00 +0000</pubDate><guid>https://hugozhu.site/post/2026/391-idempotency-keys-duplicate-vs-wrong-refund/</guid><description>&lt;p&gt;TikTok 的 SRE Salman Munaf 最近有一场演讲，开场问题问得很漂亮：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;你的 AI Agent 调用退款接口，网络超时了。那退款到底成功没有？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;他的答案是：超时从来不意味着失败，而意味着「未知」。Agent 遇到失败的第一反应是重试，没有请求 ID、幂等键和状态查询，这个本能就会把一笔退款退成两笔。整场演讲的论点一句话概括：&lt;strong&gt;模型一旦开始调用外部服务，问题就从模型问题变成了分布式系统问题&lt;/strong&gt;——几十年前命名过的故障模式全部回归，SRE 工具箱必须整体搬进 Agent 架构。&lt;/p&gt;
&lt;p&gt;我同意。但我想在他的问题后面再问一句：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;就算退款成功了——那笔退款，退得对吗？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;这两个问题之间的距离，就是这篇文章要讲的东西。&lt;/p&gt;
&lt;p&gt;&lt;a href="https://hugozhu.site/img/2026/idempotency-keys-duplicate-vs-wrong-refund.png"&gt;&lt;img src="https://hugozhu.site/img/2026/idempotency-keys-duplicate-vs-wrong-refund-thumb.jpg" alt="Idempotency Keys Stop Duplicate Refunds, Not Wrong Ones — Where the Distributed Systems Analogy for AI Agents Breaks Down"&gt;&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>