自信地返回错误答案的语义缓存
语义缓存用精确匹配的保证换取了低延迟,而代价则是将误命中作为流畅的事实返回。本文将探讨如何衡量误命中率、选择 Embedding 模型、缓存检索而非生成,并将阈值调优作为一项安全决策。
原本运行良好的工具,直到两个智能体同时调用它
智能体工具通过了单调用者测试,但在第二个智能体出现的那天崩溃了。本文将探讨为什么并发漏洞在结构上对串行评估是不可见的,以及幂等性、锁定和负载测试如何修复这些问题。
当两个 Agent 共享一个工具:多 Agent 系统中的并发 Bug
启动第二个 Agent 会让你瞬间变成一名分布式系统工程师。竞态条件、更新丢失和脏读会以静默损坏的形式回归 —— 以及如何设计工具层来阻止它们。
停止并非一种状态:为什么智能体需要类型化的终端原因协议
智能体仪表板通常会报告完成率,但一个因为放弃而停止的运行在表面上与成功的运行看起来完全一样。类型化的终端原因协议让智能体的结束方式成为一个一等的、可监控的信号。
你的智能体假设存在的“撤销”按钮
AI 智能体在规划时往往假设每个动作都是可以撤销的,这是在可逆的代码沙盒中养成的习惯。通过在工具中编码可逆性分级,确保“单向门”决策的安全性。
向量索引存在一个没人定义的陈旧度 SLO
每晚进行的重新索引任务是一个没人写下来的新鲜度承诺。本文介绍如何将向量索引延迟转化为可衡量的 SLO,向智能体和用户展示数据账龄,并根据衰减率而非习惯进行重新索引。
当升级请求无人响应时:人机回环是一个人员配置问题
人机回环(Human-in-the-loop)的前提是有人响应升级请求。在生产环境中,这是一个包含到达率、服务时间和放弃率的队列——而无人响应的升级请求比没有升级请求更糟糕。
谁该为模型的错误买单:在智能体产品中设计责任机制
智能体错误不仅仅是客服升级——它们是带有明确责任方的计费事件。本文将探讨如何在收到第一张愤怒的工单之前,设计责任模型、来源追踪、可逆性层级以及错误成本评估。
Agent 记忆是一个没有失效策略的缓存
长期记忆通常被作为一项功能发布,但它本质上是一个关于不断变化的世界的事实缓存。如果没有失效、溯源和冲突规则,它就会变成一个缓慢发生的正确性 Bug。
置信度分数税:为什么询问模型它有多确定比直接出错成本更高
在 LLM 输出中添加置信度字段看起来是免费的。但事实并非如此。本文将介绍它所带来的单次请求“税”、为什么该数字很少经过校准,以及在根据它进行生产流量路由之前需要衡量什么。
改变答案的重试:针对非确定性 LLM 调用的幂等键
重试超时的 LLM 调用并不会重新获取相同的答案 —— 而是会采样一个新的。本文将探讨为什么针对非确定性后端的超时重试会失效,以及幂等键如何让它重新变得安全。
先返回 200 然后失败的流式响应:中途错误如何破坏你的 SLO
流式端点在第一个 token 刷出的瞬间就会确认 200 状态,因此之后发生的每一个失败都会躲过负载均衡器、重试中间件和 SLO 仪表板。本文将介绍如何让响应体承担起 HTTP 头部已无法传达的判定结论。