海底捞大模型面经

面试官一上来没问传统的八股,直接问一个场景题怎么做一个海底捞智能点餐Agent的后训练。
我说那当然是先SFT再RL。
但这个不能只简单的sft,根本就没有训练数据,你这个场景还得是多轮的,用户又不是报菜名贯口选手,张嘴就来一串"番茄加牛油 + 麻一度+七寸盘脆毛肚"。没有对话数据,从哪开始炼?
先搞数据吧。
现在海底捞门店全是 iPad 和小程序点单,数据形态是用户行为轨迹(trajectory),不是对话:
- 选锅底(番茄 + 牛油)
- 加菜、撤菜
- 翻页停留(隐式反馈)
- 临时改备注
要把这套 UI 操作流翻译成自然语言多轮对话,再喂模型学。
目标语料长这样 👇
▎ Agent:先看锅底?
▎ 用户:有人吃辣有人不吃。
▎ Agent:番茄牛油鸳鸯,行么?
▎ 用户:可以,麻度调到 1。
▎ Agent:开始点涮菜吧。
▎ 用户:来份捞派脆脆毛肚……
把过去的点单流水批量合成几十万条这种对话,SFT 阶段仅计算 Agent 那一侧的 loss(User轮次全 mask 掉),不然模型会学着模仿用户瞎点菜。
多轮在线 RL 比 SFT 难十倍——没人能现场陪你跑几万局。所以得先训一个 User 模拟器:
- 输入种子 profile:黑海 / 金海 / 银海
等级、历史偏好、过敏忌口、是否「薅羊毛型选手」……
- 第一轮 Agent 出招后,模拟器接力生成第二轮回应,往返多轮
- profile 里塞一个 「结束点餐」special token,控制对话什么时候自然停下
有了这个模拟器,才能稳定 rollout 出多轮 trajectory 喂 RL。

面试官追问多轮RL的reward怎么设计?

我的思路是全部做成 verifiable reward,避免 reward hacking:
符合历史人均消费客单价+100分,点餐分量合理+80分,荤素分布合理或符合历史分布+60分,命中特殊需求轮次奖励+120分。
用pav信用算法分配考虑turn级的分配,,引导模型循序渐进引导式点单——而不是一上来甩一整本菜单让用户挑。

面试官说又追问,这么做的大模型应用真比直接点餐体验好吗?
我愣住了,你们招这岗位,不就是要做这个事吗。。。为啥还要质疑存在的合理性?我只能硬着头皮答😅

面试官说:谢谢你的时间。
后续是挂了 #万物皆可发面经#
全部评论

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务