测试环境的知识库,被我直接连到了生产机器人上——一次事故和之后的环境隔离规矩
先交代事故。上上周三晚上,我往知识库里灌了一批"测试用"文档调检索效果,里面有几条是我编的假数据——假价格、假流程,方便验证召回。灌完忘了删,第二天生产环境的客服机器人就开始拿假价格答客户。发现的时候已经答出去 11 条,销售挨个打电话解释,我请了全组奶茶。
根因特别朴素:我只有一套知识库。测试和生产共用,等于在生产数据库里跑测试脚本,出事是迟早的。
事后立的规矩,分享出来,都是血换的:
1. 两套智能体,两套知识库,名字带环境后缀。 客服助手-test 和 客服助手-prod,各挂各的库。我用的那个搭智能体的平台支持把应用复制一份,所以建第二套的成本就几分钟。以前不做隔离纯粹是懒,没有任何技术理由。
2. 知识库变更先进 test,验证后再同步 prod。 同步是人肉的——文档在 test 库验完检索效果,确认了再传一份到 prod 库。土办法,但流程清晰。文档命名也立了规矩,测试造的假数据文件名一律加 FAKE_ 前缀,就算真混进去也一眼能认出来。
3. 密钥和发布渠道严格分开。 test 的 API key 只发给开发,prod 的 key 配在线上服务里,谁都不许拿 prod key 做调试。之前有同事图省事拿生产 key 压测,调用量报表直接花了,成本归因做不了。
4. 提示词变更也走同样的路。 这条容易被忽略。提示词改一个词都可能影响线上表现,所以 prod 的提示词只能从 test 复制过来,不许直接在 prod 上现场改。改完在 test 用回归用例跑一遍——我攒了 40 条带预期答案的用例,平台的测评功能能批量跑,几分钟出分。这步麻烦,但比客户帮你发现问题体面。
要说不爽的地方:两套环境意味着所有变更都要做两遍,小团队会觉得繁琐,我也经常想偷懒。但每次想偷懒就想起那 11 条假价格。
把这套规矩写成了一页 checklist,放评论区,要的自取。你们的 AI 应用做环境隔离了吗,还是也在裸奔?
(顺便说下,要的模型和 API 我都从讯飞星辰 MaaS 取的,现成的,没自己接模型。)
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)