门店排班交给 AI 排,哪些约束必须写进去

1小时前发布

门店排班交给 AI 排,哪些约束必须写进去

一家六个店的小连锁,排班一直是店长手写。每周四晚上排下周,排到十一点,第二天必有两个人来找:一个说那天有课,一个说连着上六天了。店长改一版,又冒出新的冲突。后来把这张表交给模型排,第一版更乱,因为它不知道谁在读书、谁住得远、谁不能开早。

排班这件事,模型不缺算力,缺的是信息。你脑子里的那些前提,它一条都看不见。想让它排得能用,得把约束一条条写下来,写成它没法误解的样子。

先分清硬约束和软约束

硬约束是不能破的,破了就是事故:营业时段必须有人、收银岗必须有持证的人、连续工作不能超过六天、每周至少休一天。软约束是尽量满足的:谁想上早班、谁希望周末休息、尽量别让同一个人连着一周晚班。

这两类混在一起交给模型,它会把软约束也当成硬指标去凑,结果硬约束反而被牺牲。写指令的时候要分开放在两个段落里,明确告诉它:第一段的条件一条都不能违反,第二段的条件按重要性排序,能满足多少算多少。

硬约束要写成数字

「保证休息」是废话,模型不知道休息指什么。「每人每周至少休一天,两次上班间隔不少于十一小时,单班不超过八小时」才是可执行的。数字写在指令里,排出来的表才有对错的判据。

营业时段也要拆细。早班九点到十五点、中班十二点到二十点、晚班十六点到二十二点,每班需要几个人,写清楚。有的店中午两小时要四个人,其他时段两个人就够,这种峰谷不写,模型会按平均人数排,午饭时间就断人。

便利店收银台旁贴着一张手写排班表,纸上画满格线

把人的信息整理成一张表

排班表之外,还要给模型一份员工信息表:姓名、岗位、能上的班次、不能上班的日子、每周工时上限、是否学生、住哪个区。这张表不用精致,一行一个人,字段固定就行。

学生兼职的那一栏尤其要写全。周几有课、几点下课、考试周是哪两周,这些不写,排出来的班和课表撞上,人就不来了。我们见过一家店,排班表上写着周四早班,那位学生周四上午有两节课,店长自己都不知道。

信息表最好固定成一列一列的表格贴进去,别写成散文。散文里模型容易漏,表格里它一列一列对着填,漏的概率低得多。表头写死,别这周多一列下周少一列,格式一变它就得重新猜。

软约束怎么表达才不乱

员工偏好收上来往往是一堆「尽量」「最好」「如果方便」。这类词对模型没用,它需要优先级。让每个人给自己的三条偏好排个序,或者干脆让店长定权重:休息日偏好最要紧,班次偏好其次,搭档偏好放最轻。

权重定了,冲突时怎么取舍就有依据。两个人都想休周六,店里周六只能放一个人,模型会按权重和上月情况分配,并在表后说明「本周六安排甲休息,乙顺延到下周六」。这句说明比表本身还重要,店长拿着它去解释,比空口说「下次给你」有用。

公平不是平均

有人以为公平就是每人周末休一样多。实际上一家店里,有孩子的人和刚毕业的人对周末的需求完全不同。硬按平均分,两边都不满意。

我们的做法是把「周末休息次数」按季度算,不按周算。这一周谁多休一天,下周或下月补回来,季度末拉平。模型算季度账比人准,它记得住三个月的记录,人记不住。

提示词按三段写

开头写背景:几家店、几天、每天几个班次、每班几个人。接着写硬约束,一条一行,编号。末尾写软约束和优先级,说明冲突时怎么取舍。收尾要求它输出表格,加一列「备注」写清为什么这么排。

要求它写理由这一步值得坚持。没有理由,店长看到一个不顺眼的安排只能整表重排;有了理由,他能判断这个安排是权衡过的还是模型没想到。看到「此处因乙周三有课,改由丙上早班」,他就不用再问一遍。

清晨店铺刚开门,一个人蹲着拉开卷帘门,街面安静

这三段之间不要夹客套话。有人习惯在开头写「请你作为资深人事专家帮我排班」,这类话对结果没帮助,反而占用模型的注意力。要它做什么,直接说,越像一张工单越好。

排出来怎么验

拿到表先跑三张核对表:每班人数够不够、每人周工时有没有超、有没有人连着上七天。这三张表用不着模型,自己在表格里拉个公式就能查,五分钟出结果。

再人工看四类错:同一个人同一天排了两个班、休息日和上班日排反了、备注里写的理由和实际安排对不上、某个人整周没被排到。前三类是算错,第四类往往是信息漏了,那个人在信息表里的可上班时间写成了空。

拿上一周的表做对照

让模型同时输出「与上周相比改动了哪几处」。人看一张全新的表很难发现异常,看一张标了改动处的表就快得多。改动超过三成的地方,多半是约束写得有问题,不是模型乱排。

出问题改约束,别改结果

最常见的错误做法是:表排出来不满意,手动改两处,下周继续。这样改三周,模型给的还是原来那套逻辑,人却一点点把表改成了手工版,最后又回到手写。

正确的动作是回头改约束。某人被排了不该排的班,看是信息表没写还是硬约束没列。每改一次约束,下一版的起点就高一格。这家连锁改到第四周,人工修改的地方从十七处降到三处。

什么时候不该用它

十几个人、班次简单、店长十分钟能排完的店,用不着这套东西。准备信息表和约束的时间比手排长,用两周就弃了。

反过来,人多、班次多、跨店调人、还有兼职和全职混排的,收益很明显。判断标准很土:如果排一次班要超过一小时,每周都有人来找你改,那就值得交给它。省下来的那一小时,够店长在店里转两圈,看见点别的问题。

员工休息室里的小圆桌,桌上有水杯与一叠纸

最后一句实话

模型排出来的表永远需要人过一遍,它不知道张姐上周刚跟你提过想调店,也不知道小李下个月要走。它擅长的是在几十条约束里找一个不冲突的组合,这件事人做一小时它做十秒。

把机械的活给它,把人和人之间那点需要揣摩的事留给自己。排班表上写的是时间,底下压着的是人心,这一层它读不到,也学不会。店长真正的价值就在这最后一遍过目里,那十分钟谁也替不了,谁也别想着把它省掉哪怕一分钟。