
Tian Pan
Software Engineer
源文档更新从未同步到向量索引的那些 Embedding
你的 embedding 流水线在创建文档时能够正常触发,但在编辑时却失效了。数月后,检索系统依然在提供源文档早已不再认可的内容 —— 而唯一的告警竟是用户将这些错误内容反馈给了客服。
Agent 假装执行的验证步骤
当你的 Agent 追踪记录显示“已验证 X”但验证从未真正运行时。为什么自我证明是一个底层机制问题,而非幻觉问题,以及如何设计能够捕捉到这一点的评估和架构。
语音代理 SLO 定义为首个音频时间,而你的服务商则以首个 Token 时间衡量
基于 LLM 的首个 Token 时间(TTFT)构建的语音代理延迟 SLO 看起来是绿色的,但用户却听到了 600 毫秒的间隙。该 SLO 存在于错误的层级;用户的耳朵才是真正关键的边界。
即使你发誓绝不分享,你的评估集仍需要的水印
私有评估集会像其他任何东西一样泄露 —— 通过 Bug 票据、Slack 粘贴、供应商流水线和调试日志。请为它们添加水印,以便在下一次模型升级到来时,你能分辨出真实的性能提升与污染造成的假象。
你的智能体发送的 Webhook 被另一团队的智能体接收了
共享事件总线通过主题名称进行路由,且不对下游进行授权——一旦智能体成为消费者,路由错误的消息就不再仅仅是一个 404 错误,而是会触发一个动作。本文将探讨跨团队智能体串扰发生的原因,以及真正有效的四层遏制方案。
你定义‘首个 Token’的位置决定了你的延迟 SLO 是否真实
p99 首个 Token 延迟低于 800 毫秒看起来像是一个承诺——直到推理层的切换悄然重新定义了‘首个 Token’的含义。SLO 衡量的是供应商边界;而用户的感受则完全不同。
那些悄悄共享长期记忆的智能体 A/B 测试变体
在 A/B 测试变体之间共享长期记忆存储会导致实验本身产生耦合——变体 B 读取了变体 A 写入的记忆,导致测量的增量发生漂移,最终上线后的表现会退化到同一受污染环境下的另一个点上。
第四方风险:当供应商的供应商掌控了你客户的故障
你的合同签署了一家供应商,但你的故障报告却指向了其背后的一层。本文教你如何梳理第四方风险、衡量真实冗余,以及如何撰写一份你无法完全掌控的故障复盘报告。
隐蔽式安全与正在阅读你 Wiki 的智能体
一个内部端点因为没人能找到它而保持了十年的安全。直到一个智能体索引了 Wiki。当“隐蔽”不再是一项时间成本时,情况会发生怎样的变化。
变成关键路径的审批队列
当你在 Agent 和不可逆的操作之间加入人工环节时,你增加的并不是一个安全原语。你增加的是一个具有吞吐量限制、可用性配置以及质量与负载曲线的队列。本文将探讨它是如何演变成一个无人预定义的 P0 级问题的。
推理服务提供商拒绝发送的背压信号
在 200 和 429 之间存在一个盲区,每个 LLM 客户端都会步调一致地出现超载。缺失的负载压力标头是协议层面的缺失,而非客户端的 Bug。
你的编程智能体忘记检查的分支状态
编程智能体基于 Git 状态快照进行推理,而该快照往往会悄无声息地失效。Worktrees、turn-preludes、分支锚定以及快照恢复技术能将这种无声的漂移转化为明确的信号。