八月的 GPU 账单让我坐不住了 我们自建的推理集群,8 台 A100 80G,7 月的账单是 ¥41.6 万。同时监控告诉我另一个数字:GPU 利用率平均 31%。 花了钱,卡在空转。这两件事放一起,不优化说不过去。 这篇是过去五周做的事。缓存、量化、批处理三块,全会上线后的结果是:单卡吞吐从 2
压测时 Agent 读到了三小时前的数据 7 月 18 日我们对知识问答 Agent 做季度压测。压到 1,200 QPS 的时候,测试同学反馈一个问题:刚在后台改的商品价格,问 Agent 还是旧值。 一开始我以为是缓存。查了一圈发现不是——向量库里的切片更新时间是三小时前,而业务库的变更早就提交
三个人吵了两周,我算了一笔账 7 月初,团队为"新项目用哪个 Java AI 框架"吵了两周。三个人,三种意见,各自写了 demo,各自的 benchmark 都证明自己选的更好。 我做了件不太受欢迎的事:把这两周的成本算了出来。 参与讨论:3 人 × 14 天 × 60% 投入 ≈ 25 人日 写
红队测试甩过来一张截图 6 月中旬,安全组在我们客服 Agent 上做了一轮红队测试。第二天他们丢过来一段对话记录,最后一句模型输出是一串完整的身份证号——那是用户第一轮就提供的、我们已经脱敏过的号码。 我们的敏感词库有 12,800 条规则,身份证正则也在里面。为什么没拦住? 这篇记录我们随后两周
语义缓存上线一个月,命中率 8.3% 三月份我们给客服 Agent 上了语义缓存,预期是「相似问题不用重复问模型,能省一大笔钱」。上线一个月看数据,命中率 8.3%,省下的钱还不够维护缓存本身的成本。 这篇文章记录我们怎么把命中率从 8.3% 提到 41%,以及中途推翻重做的一版设计。 先看为什么这
「客户 A 能看到客户 B 的知识库内容」 三月份的一次安全测试,外部团队提了一个问题:他们用 A 公司的账号登录后,通过构造特定的查询,让 Agent 返回了 B 公司的产品文档片段。 这个问题很严重,我们当天就成立了专项。这篇记录多租户隔离的四层设计、每一层我们实际用的方案,以及成本计量那块(这
向量检索选型:我们算了一笔账,最后没上专业向量库 十月份做知识库检索重构,团队里争论要不要上 Milvus 或者 Qdrant。我们已经在用 PostgreSQL(存业务数据 + 元数据),pgvector 扩展是顺手的选择,但大家都担心性能不行。 最后我们做了完整的压测和成本核算,结论是继续用 p
流式对话服务 OOM,堆转储里有 47 万个 ByteBuffer 十一月中旬的一个周一早上,告警炸了:智能客服服务的三个实例在 20 分钟内相继 OOM 重启。这个服务上线两个月一直很稳,堆 8 GB,平时使用率 40% 左右。 这篇是完整的排查过程。结论不复杂——流式响应没有正确关闭,但排查过程
把 AI 塞进研发流程半年,哪些卡点活下来了 四月份我们开始在研发流程里加 AI 卡点,到这个月正好半年。团队 14 人,一共试过九个卡点,活下来五个。先说总体结论:AI 卡点的价值不在「生成了多少内容」,而在「拦截了多少问题」——纯生成类的(写文档、写注释)普遍活不下来。 我们试过的九个卡点 卡点
客服转来一条投诉:AI 给用户编了个退款政策 十月底,客服同学转来一条用户投诉,附了聊天截图: 用户:我这个订单上周下的,还能退吗? 机器人:可以的,我们支持 15 天内无理由退款,您直接在订单页面点击申请退款即可。 用户:我看到页面上写的是 7 天? 机器人:抱歉造成困扰,7 天是普通商品的标准,