搜索框太理性
“爱情 / 犯罪 / 9 分以上”是数据库语言,不是人的观影语言。用户真正说出口的往往是“今天有点累”“想看点不费劲的”。
VibeRecs 是一个心情搜片产品:用户只需要输入一句话或几个 emoji,AI 把模糊情绪改写成可检索的电影条件,再从全球片库里选出小众但对味的片子。
传统推荐经常从类型、榜单、评分开始,默认用户已经知道需求。VibeRecs 反过来:先接受用户的模糊,再把模糊变成机器能理解的检索语言。
“爱情 / 犯罪 / 9 分以上”是数据库语言,不是人的观影语言。用户真正说出口的往往是“今天有点累”“想看点不费劲的”。
电影消费有很强的场景性:天气、疲惫程度、孤独感、今晚时间,都比单一类型更接近真实决策。
页面不抢电影的戏。纸白底、衬线标题、海报作为唯一色彩来源,让产品像一个懂电影的人,而不是信息流机器。
LLM 负责理解人话和生成解释,搜索系统负责可控检索,规则层负责兜底。这样既有温度,也不会变成玄学推荐。
真正的美商不是装饰,而是知道什么该消失。VibeRecs 把注意力留给三件事:当下心情、AI 的理解、电影本身。
“它不急着给答案,先把你说不清的状态翻译出来。”
这就是信任感:不是 AI 很聪明,而是用户能看见它为什么这么推荐。一个好 AI 产品不应该把所有责任都交给模型。VibeRecs 的关键是把不确定性收束在前半段,后半段用确定规则保证质量。
模型必须产出结构化 JSON:情绪轴、中文关键词、题材词、气质词、TMDb 参数。禁止空泛词,避免“看起来懂了,其实没法搜”。
不看的类型、可接受时长、老片接受度都在规则层强制应用。模型可以建议,但不能覆盖用户底线。
结果少时不是粗暴重搜,而是按产品优先级逐级放宽。主题信号比时长和年代更晚被牺牲。
TMDb 通过服务端代理规避网络问题,OMDb 评分失败不阻断主流程,核心解析、设置、放宽策略都有测试覆盖。
真正有价值的不是“推荐电影”这个垂类结果,而是把用户当下状态、偏好边界和内容库结构连接起来的能力。它可以迁移到很多 App 里,做兴趣匹配、内容推荐、商品推荐、活动推荐,甚至人与人的连接。
不要想类型,不要想片名。直接说“今天很累但不想睡”“想看点漂亮又残酷的”“雨天,想被轻轻托住”。