<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>重试 on AI 观察</title><link>https://ai.wujiong.cc/tags/%E9%87%8D%E8%AF%95/</link><description>Recent content in 重试 on AI 观察</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 21 Oct 2026 18:19:00 +0800</lastBuildDate><atom:link href="https://ai.wujiong.cc/tags/%E9%87%8D%E8%AF%95/index.xml" rel="self" type="application/rss+xml"/><item><title>Agent 工具调用超时与重试：可落地的模式</title><link>https://ai.wujiong.cc/posts/2026-10-21-ai-agent-tool-timeout-retry-pattern/</link><pubDate>Wed, 21 Oct 2026 18:19:00 +0800</pubDate><guid>https://ai.wujiong.cc/posts/2026-10-21-ai-agent-tool-timeout-retry-pattern/</guid><description>&lt;p&gt;&lt;strong&gt;超时重试不是「失败了再喊一次」，而是先分清错误类型，再与幂等键一起设计。&lt;/strong&gt; 可重试的通常是网络抖动与限流；不可盲目重试的是业务拒绝、校验失败与已成功但响应丢失的不确定性——后者更依赖幂等。&lt;/p&gt;
&lt;h2 id="决策顺序"&gt;决策顺序&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;为每次工具调用设明确超时。&lt;/li&gt;
&lt;li&gt;对超时与 5xx / 限流：有限次退避重试。&lt;/li&gt;
&lt;li&gt;对 4xx 业务错误：不要空转重试，返回给规划层改参数。&lt;/li&gt;
&lt;li&gt;所有具有副作用的调用带幂等键（见相关幂等文）。&lt;/li&gt;
&lt;li&gt;记录每次尝试的错误码与耗时，便于调参。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="示意伪代码虚构示意"&gt;示意伪代码（虚构示意）&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;for attempt in 1..N:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; result = call_tool(args, idempotency_key=K, timeout=T)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; if success: return result
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; if not retryable(error): raise
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sleep(backoff(attempt))
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;escalate_to_human_or_planner()
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="提示词设计评审用"&gt;提示词（设计评审用）&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;请审查我的工具重试策略：哪些错误可重试、最大次数、退避、是否与幂等键绑定、超时如何设置。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;指出可能导致重复副作用的路径。不要编造基准数字。
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;【策略描述】&amp;lt;&amp;lt;&amp;lt;&amp;gt;&amp;gt;&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="实践提醒"&gt;实践提醒&lt;/h2&gt;
&lt;p&gt;把重试参数做成可配置项，并在仪表盘统计重试率与最终失败率。若某工具重试率突然升高，先查下游健康再调大次数。人工升级路径要在提示或工作流里写清，避免智能体空转耗尽配额。&lt;/p&gt;</description></item></channel></rss>