<?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%99%8D%E7%BA%A7/</link><description>Recent content in 降级 on AI 观察</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 19 Oct 2026 18:08:00 +0800</lastBuildDate><atom:link href="https://ai.wujiong.cc/tags/%E9%99%8D%E7%BA%A7/index.xml" rel="self" type="application/rss+xml"/><item><title>Agent 工具超时处理：截止、取消与用户可见降级</title><link>https://ai.wujiong.cc/posts/2026-10-19-agent-tool-timeout-handling/</link><pubDate>Mon, 19 Oct 2026 18:08:00 +0800</pubDate><guid>https://ai.wujiong.cc/posts/2026-10-19-agent-tool-timeout-handling/</guid><description>&lt;p&gt;&lt;strong&gt;超时策略是产品体验，也是正确性。&lt;/strong&gt; 工具调用卡住时，Agent 若只会「再试一次」，可能把支付、发信等副作用打成双份。&lt;/p&gt;
&lt;h2 id="分层设置"&gt;分层设置&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;层&lt;/th&gt;
 &lt;th&gt;建议&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;单次工具 HTTP&lt;/td&gt;
 &lt;td&gt;明确 timeout + 可取消&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Agent 步级&lt;/td&gt;
 &lt;td&gt;单步墙钟上限&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;整任务&lt;/td&gt;
 &lt;td&gt;全局预算，到点总结已得结果&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="处理剧本"&gt;处理剧本&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;可安全重试&lt;/strong&gt;（只读查询）：有限次退避，参见 &lt;a href="https://ai.wujiong.cc/posts/2026-10-19-agent-retry-backoff-checklist/"&gt;重试退避清单&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;有副作用&lt;/strong&gt;：超时后先查幂等键/状态，勿盲重放；见 &lt;a href="https://ai.wujiong.cc/posts/2026-10-19-agent-idempotent-tool-calls/"&gt;幂等工具调用&lt;/a&gt;。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;对用户&lt;/strong&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;若工具在 {{N}}s 内未返回：
&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;- 记录 tool_name、timeout、是否已知副作用
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- 若只读：可按退避重试至多 {{K}} 次
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;- 若写操作：改为 status_check 工具，禁止重复 submit
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&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;a href="https://ai.wujiong.cc/posts/2026-10-19-agent-tool-result-truncation/"&gt;工具结果截断&lt;/a&gt;。&lt;/p&gt;</description></item></channel></rss>