开场白功能上线三个月就没人用——我复盘了婚恋交友App里AI辅助打招呼的翻车路径
做婚恋交友类应用的独立开发者,几乎都动过同一个念头:用户不会聊天、不会开场,那就让AI帮他写。这个需求看起来简单,实际上是我见过翻车率最高的AI功能之一。这篇文章先讲三种常见的失败做法,再给出我后来验证可行的正确路径。
一、先看那些常见的失败做法
失败做法一:直接裸调一个大模型,prompt写死在客户端。
早期团队最喜欢这样干:注册一个模型API,把key打包进App,prompt就是一句“帮用户写一句有吸引力的开场白”。结果开场白千篇一律是“你好,很高兴认识你,看了你的资料觉得我们很投缘”——用户三天内就审美疲劳,还可能被对方一眼识别为AI生成,直接拉黑。
失败做法二:一次性生成,不给用户任何参与感。
点击按钮、吐出一句话、自动发送。用户连看都没看就发出去了,与对方的资料完全不匹配。有个做相亲App的朋友和我复盘,他们的后台数据显示,AI生成的开场白回复率反而低于用户手打的“在吗”——因为AI的话术太“完美”,完美到没有真实感。
失败做法三:只管生成,不管场景差异。
滑动匹配场景需要短平快,兴趣社区场景需要展示共同爱好,严肃婚恋场景需要真诚得体。用同一个prompt、同一个模型、同一个温度参数去覆盖所有场景,等于哪个场景都没做好。
这三种做法的共同点是:把“生成开场白”当成了一个一次性API调用,而不是一个产品设计问题。
二、正确的路径:把生成变成“素材供给 + 用户共创”
核心转变是:AI不替用户说话,而是给用户提供三种风格的候选开场白,并基于双方资料做结构化输入,让用户选、改、发。
架构设计
整体分四层:
- 资料特征层:从双方画像中提取可引用的“钩子”——共同兴趣、职业话题、近期动态、择偶偏好关键词。这一步决定开场白是不是“言之有物”。
- Prompt编排层:按场景(快速匹配/兴趣社交/严肃婚恋)维护不同的prompt模板,每种场景输出三种风格(幽默型、真诚型、话题切入型),并强制要求引用至少一个具体钩子。
- 模型路由层:高并发、低价值的快速匹配场景走便宜的小模型;严肃婚恋场景对措辞敏感度高,走能力更强的模型;生成失败自动降级重试。
- 反馈闭环层:记录用户是否选用、是否修改、对方是否回复,用于迭代prompt模板。
关键实现步骤(流程清单)
- 建立双方资料的特征提取函数,输出结构化的“共同点+差异点”JSON;
- 为三个场景各写一版prompt模板,约束输出格式为JSON数组(三句开场白+各自风格标签+所引用的钩子);
- 实现模型路由:按场景和预算选择模型档位;
- 客户端呈现三个候选卡片,支持一键编辑后发送;
- 埋点回收:selected / edited / replied 三个信号回流。
一个简化的调用示意:
async def generate_openers(user_a, user_b, scene):
hooks = extract_hooks(user_a, user_b) # 共同兴趣、动态、职业话题
prompt = PROMPT_TEMPLATES[scene].format(hooks=hooks)
model = ROUTER.select(scene, budget="low")
result = await gateway.chat(
model=model,
messages=[{"role": "user", "content": prompt}],
response_format={"type": "json_object"},
timeout=3,
fallback_model=ROUTER.fallback(scene),
)
return result["openers"] # 三种风格候选,供用户挑选编辑三、为什么统一AI API网关能降低维护成本
做到这一步,很多团队会踩最后一个坑:不同场景选了不同厂商的模型,于是代码里散落着多套SDK、多套鉴权方式、多套错误码。模型一升级、厂商一调价,你就得全量回归测试。
统一AI API网关的价值在这里就体现出来了:
- 一套接口,多个模型。快速匹配场景的小模型和严肃场景的旗舰模型,走同一个调用协议,切换模型只改一个参数,不用重写代码;
- 统一的监控与计费。Token消耗、成功率、延迟集中在一个面板,账单突增或某个场景异常时能第一时间定位,而不是翻五家厂商的控制台;
- 内置降级与重试。模型超时自动切换fallback,业务侧不用自己写一堆容错逻辑;
- key收敛在服务端,避免客户端裸调带来的泄露风险。
对于一两个人的小团队,这些省下来的都是实打实的开发时间。
四、几句收尾的话
开场白辅助功能做好的标志,不是生成了多少句话,而是用户开始“修改AI给的候选”——那说明AI真的给了可用的素材,而不是替代了人。如果你正准备给自己的交友类应用加上这个功能,或者想低成本接入多个模型做场景路由,可以先在 https://api.thistoken.ai/register 注册一个账号试试,从一个小场景跑通开始。
---
不想折腾多家供应商的接入差异?在 https://api.thistoken.ai/register 注册,用一个 base_url 调用所有模型。