AI策略产品经理工作总结

时间:2026-04-25 作者:好拿网

那年雨后的早晨,客户打来电话说审核通过率终于正常了。挂掉电话我心里清楚,这个“终于”背后是我犯的一个低级失误——整整两周,团队为一个本应三天解决的召回问题加班到凌晨。这事我一直记着,今天写下来,算是个提醒。

先交代下背景。我们做内容推荐系统的策略引擎,就是给每条内容打分、过滤、排序。我既管策略设计,也兼着维护核心召回模块的代码。日常就是盯着指标,同时随时打开IDE查日志、改代码。

那次让人后背发凉的失误

去年Q3接了个需求:给视频加“时效性权重”。我的方案很简单:发布超过7天的视频,初始分乘以0.8。上线后第一个小时CTR涨了2%,大家挺高兴。第二天早上一看数据,长尾内容(教程、知识类)曝光量从日均1.2万次直接掉到7千左右,跌了40%。我第一反应是“完了”——分明只改了时效性,怎么把长尾给伤了?

赶紧拉日志,逐条跑策略执行路径。问题出在召回层一个硬规则:一年前某位同事为了防止推荐旧闻,在召回服务里写了“内容年龄超过30天不进候选池”。这个规则写在C++代码里,文档只留了句“增加新鲜度过滤”。我的时效性权重又把7天以上的内容排序分往下压。两个规则叠加后,7到30天的内容本来还能靠长尾关键词勉强进池,现在排序分被打到后排,基本出不来。

更糟糕的是,我自己每周都要看召回代码,竟然也没留意这个历史逻辑。这简直是自己扇自己耳光。

怎么补的窟窿 hn373.CoM

第一,拉清单。我把召回、粗排、精排、重排四个阶段所有已有规则整理成一张表,共47条,标注触发条件、代码位置、最后一次修改人。每次新策略必须跑“冲突检查”。这个清单后来真救了场——上个月新来一个策略要降低低俗内容权重,我跑检查发现召回层有个“低质内容黑名单”跟新策略的阈值正好对冲,提前拦住了。

第二,加监控。以前只看大盘AB指标,现在增加“长尾切片监控”:曝光量低于1000次/天的内容频道单独设告警。

第三,改代码。我花了两个晚上改了召回服务的新鲜度模块,把那句硬规则换成可配置的衰减曲线,写了13个单元测试用例覆盖边界情况(比如内容年龄刚好等于7天、30天、31天)。上线后观察了一周,长尾曝光恢复到1.1万次/天,比之前还略高一点。

从那以后,我定了个死规矩:任何策略变动,先在本地用采样数据跑一遍从召回到排序的完整日志。别信文档,信日志;别信直觉,信对照实验。

一次让人抓狂的故障排除

有一阵每到晚上八点高峰期,策略响应时间从30ms飙到500ms,推荐流卡得像幻灯片。我盯了三天监控,最后锁定是外部特征服务的超时重试机制在作怪。过程说起来枯燥:反复看火焰图,用tcpdump抓包,再搭本地环境模拟高并发。每天搞到凌晨一两点,老婆都问我是不是换工作了。

真正定位到的那天晚上,我跑了第二十一次压测,终于发现:当某个兴趣向量的请求超过50ms没返回,客户端会发起二次请求,但原请求没取消,导致下游连接池被占满。代码里重试策略的“指数退避”没设最大重试次数,有的请求重试了七八次。我直接改了gRPC连接池的keepalive参数,把最大重试次数限制为2次,加了连接健康检查。改完47行代码,但写单元测试花了6个小时,覆盖了超时、拒绝连接、部分失败等7种场景。上线后高峰期延迟稳定在45ms左右。

这事让我深感:做策略产品经理如果不懂底层通信细节,遇到这类问题就只能干瞪眼,然后被开发兄弟鄙视。

几条不废话的经验

  • 每个策略上线前,抽一条用户请求ID,手动追溯一遍日志:经过了哪些召回通道、每个返回多少条、排序时各因子得分多少。五分钟的事,能挡住一半以上的逻辑错误。
  • 复盘别写什么“总结文档”,写“故障演练脚本”。把导致故障的条件写成自动化测试用例,每次CI跑一遍。我们团队现在有23个这样的用例,后半年没再重复犯同类错误。
  • 跟算法工程师聊需求时,别扯“提高相关性”这种虚词。直接说:“在排序层增加一个交叉特征,计算用户历史点击标题的TF-IDF向量与候选内容标题的余弦相似度。”这样双方讨论的是一个可执行的公式,不是你猜我猜。

一个让军事频道复活的故事

项目冲刺那周,线上突然报了个case:一个军事类视频被策略判定为“低俗”直接过滤了。我查了整整一下午日志,发现是关键词黑名单里有一条“火*覆盖”的通配规则——原意是打击色情隐晦描述,结果把军事术语“火力覆盖”给误伤了。那天晚上我改了规则引擎的匹配模式,从通配符换成带词性标注的精确匹配,并增加了白名单例外机制,把“火力覆盖”这类军事词条加进去。第二天军事频道的召回率从0.3%回到正常水平的2.1%。

说到底,干这行没那么多玄学。每天花十五分钟扫一遍线上策略日志,比什么方法论都管用。你要是嫌麻烦,事故迟早找上门。

    更多精彩的工作总结,欢迎继续浏览:工作总结

本文来源://www.hn373.com/zongjie/170948.html