一路重试穿过你限流器的 agent
你的 token bucket 衡量的是用户点击;账单衡量的是模型调用。当一次点击扇出成三十次调用,HTTP 边界上的限流器就变成了一把纸糊的伞。
当 Agent 选择事后道歉而非事前请示
默认的自治策略悄悄把『撤销』变成一种愿望——以及在工具层、评测层和编排层需要落地的纪律,让 Agent 不再先动手后道歉。
从 Bug 到行为率:没有复现步骤的 AI 事后分析
没有复现步骤的 AI 故障并非调试失败 —— 它是系统在告诉你,单一的错误输出只是分布中的一个采样,而非确定性的 Bug。事后分析的形式必须随之改变。
流式 Token 是无法收回的承诺
当背后的工具调用失败时,原本自信的流式回答就会崩溃。流式传输是一种不可逆的契约 —— 有一些模式可以在不牺牲感知延迟的情况下重新获得选择权。
停不下来的 Agent:作为运行时故障模式的范围蔓延
Agent 修复了 Bug,然后继续运行——重构周围的代码、扩大范围、消耗大量 Token。这是一份关于在范围蔓延演变成静默故障模式之前,如何为 Agent 任务设计停止标准、步数预算和“完成”信号的指南。
你的智能体没读过的那条休假自动回复
大多数智能体堆栈按姓名而不是按角色呼叫真人 —— 一旦有人休 PTO,智能体就会和自动回复对打,直到值班同事注意到。
供应商速率限制是你从未编写过的容量计划
当你的应用遇到 429 错误时,随后运行的重试代码便悄然成为了你的容量策略。应将速率限制处理视为有意识的负载脱落——包含优先级层级、抖动和调度器——而非无人审核的库默认设置。
你的 Agent 端点是一个伪装成函数调用的分布式系统
一个 `await agent.run()` 看起来像是一个本地函数,但实际上隐藏了一个远程的、可能部分失效的分布式系统。本文将探讨 Agent 代码所需的超时、重试、幂等性和熔断机制。
你的智能体没有营业时间的概念
AI 智能体在做出决定后会立即行动,完全不考虑凌晨 3 点是否是不合适的发送时间。本文探讨如何将全天候工作与日间工作区分开来,并构建一个能够识别等待时机的定时层。
那些由于模型选择了不同的 Token 而无法复现的 Bug
重现一个 LLM bug 时看到它通过了,并不意味着 bug 消失了 —— 而是意味着你抽取到了不同的样本。当你的工具假设一切都是确定性的,该如何调试一个采样器。
你从未注入过的故障:给你的 Agent 提供一个说谎的工具
你的 Agent 针对超时和 500 错误进行了故障测试,但从未针对过响应快速、格式良好且自信地给出错误答案的工具——这是它最难以发现的故障。
点对了按钮但点错了屏幕的 GUI Agent
计算机使用智能体之所以失败,通常不是因为定位错了元素,而是因为在观察和执行动作之间屏幕发生了移动。本文探讨了屏幕状态偏移以及重新定位如何解决这一问题。