为什么必须埋点
"感觉最近效果变差了"是无法行动的。AI 功能的埋点要能回答四个问题:
**谁在用、用得怎么样、错在哪里、花了多少钱**。
该记录的字段
**基础**
时间戳、会话/请求 id、用户或租户 id(注意合规:能不用个人标识就不用);
功能入口(哪个页面、哪个按钮)、设备与语言。
**调用**
模型与**版本**、提示词版本、参数(温度、上限);
输入长度、输出长度、耗时(**首字延迟与总时长分开记**);
是否命中缓存、是否走了降级、用了哪条通道。
**质量**
校验是否通过、失败原因分类(格式错/字段缺/业务规则不符);
用户反馈(点赞/点踩/改写/放弃);
是否触发人工介入。
**成本**
输入/输出 token 数或调用次数,折算成金额;
按功能、按租户聚合,能看出"谁在烧钱"。
三张必备看板
1. **健康度**:成功率、校验失败率、降级率、P95 延迟;
2. **质量**:负反馈率、人工介入率、按失败类型分布;
3. **成本**:每日花费、单次调用均价、花费 Top 功能与 Top 租户。
常见做法上的坑
**只记成功**:失败与超时才是最有信息量的;
**不记版本**:出问题时无法归因到具体模型/提示词版本;
**记了不聚合**:明细一大堆,却答不出"哪个功能在恶化";
**把个人敏感信息原样入库**:埋点也要按最小必要原则脱敏。
落地顺序
1. 先加"请求 id + 版本 + 耗时 + 成败"这四样(改动最小、信息量最大);
2. 再加校验失败原因与用户反馈;
3. 最后接成本折算与看板;
4. 定一个**每周复盘**动作:看失败类型分布的变化,而不是只看总量。