排一周的班。**只要用户要一次安排多天或多人 —— 排班、值班、这周谁值哪天、下周怎么安排、把待分配的都排进去、每天安排一个人做某事、这几条都派了 —— 就该用这个技能,哪怕他没说「排班」两个字。** 会先看现有占用和冲突,出一张整周的表让店长过目,确认后一次写入。只有单独派一条活(「明天让林岚回访 C10001」)才不走这个流程。
Install
npx skillscat add 843773296-rgb/lanxiu-yunshang-agent/roster Install via the SkillsCat registry.
排一周的班
什么时候用
店长要一次安排多天多人时用。判断标准:这件事一条一条派会漏掉冲突。
单独派一条活不走这个流程 —— 「明天让林岚回访 C10001」直接用 assign_task 就行。
只有跨多天、多人、需要避开冲突的,才走排班。
为什么排班是一件事,不是七件事
七条分开派,前六条都会成功,第七条才发现和第二条撞了 —— 而前六条已经落库了。
你得先搞清楚哪六条排进去了,再去撤,再重排。
所以排班全程只写一次:assign_batch 全过才写,一条不过整批不写。
它还能看见一条一条派看不见的东西 —— 同一个人被排了两个重叠时段。
第一步:先看现在是什么样
week_grid(start, days) —— 排班之前必须先看这个。不看就排,
排出来的东西和正常任务长得一模一样,直到那天两个人同时约在一个时段。
它给你四样:
| 看什么 | 为什么要 |
|---|---|
| 可排的人 | 只有本店在职顾问。离职的、别店的都不在里面 |
| 每人按天的占用 | 避冲突的依据 |
| 完全没人排班的日子 | 这一项最容易漏 —— 它不出现在任何一个人的列表里 |
| 待分配条数 | 客户已经约了但没人管的,排班时顺手一起解决 |
顺便看一眼 dispatch_pool():待分配的那些客户已经在等了,
比店长凭空想排的活更急。排班时应该先把它们安排掉。
第二步:排
三条硬约束,违反了 assign_batch 会整批拒绝:
- 营业时间内(10:00–21:00)。这个点之外没人接待。
- 同一个人的时段不能重叠 —— 包括和已有任务、也包括批内互相之间。
- 类型对得上数据规范。客户相关的要挂客户号,订单跟踪要订单号,
团建培训和日常运维不挂单据。拿不准先task_types()。
三条软规则,不强制但排的时候要想到:
- 别把一个人排满而另一个人空着。
week_grid里「这段时间在办」的数字就是负载。 - 有接触史的优先。客户相关的活派给接待过这个客户的人,他知道上次聊到哪儿。
- 留白是正常的。不必把每个时段都填满 —— 排满了临时来个客户就没人接。
第三步:念给店长听,让他改
排完不要直接写。 先把整张表念出来,按天分组:
周一 09-15
10:00–12:00 林岚 日常运维 · 陈列盘点
14:00–16:00 周叙 预约到店 · 客户 C10001 试衣
周二 09-16
...
没排上的:
· 待分配 SC7032(客户林望舒 09-19 试衣)—— 那天谁都排满了,建议改期然后说清三件事:
- 谁被排得最满、谁最空
- 哪些没排进去、为什么
- 哪几天完全没人(如果有)
店长说「就这么排」再调 assign_batch。他要改哪条就改哪条,改完重新念一遍。
第四步:写
一次 assign_batch(items)。只写一次 —— 系统里那条「一次只做一件」的闸
认这个批量调用是一件事,连着调两次会被拦。
写完报三件事:排了几条、每个人各几条、哪些还没解决。
不该做的
- 不要替店长决定谁该多干。负载差得多的时候说出来,让他定。
「苏彧手上 5 件、白鹭 0 件」是事实,「所以给白鹭多排两件」是决定。 - 不要为了填满而排活。编一个「日常运维」出来凑数,顾问到了那天不知道要干嘛。
- 不要跨店排。可排的人只有本店在职顾问,
week_grid给的就是全部。 - 整批被拒时不要挨条重试。工具会逐条说清哪条为什么不行,把原话给店长看 ——
逐条重试会把「一个决定」拆成七个,而其中某几条可能碰巧成功。
出错了怎么办:排不满就说排不满
顺利时怎么做是模型本来就会的。技能存在的理由,是不顺利时它知道该交什么。
排班最怕的不是排不满,是为了排满而编活 —— 顾问到了那天不知道要干嘛,
而看板上那天是绿的。
| 遇到什么 | 怎么办 |
|---|---|
| 人不够,有时段填不上 | 照出整张表,那几格写「没人」。不要挪别人来填 —— 挪了就没人知道这周其实缺人 |
assign_batch 整批被拒 |
把工具逐条给的原因原话念给店长,让他决定改哪条。不要挨条重试 —— 那会把一个决定拆成七个,而其中某几条可能碰巧成功 |
| 某人时段全冲突 | 在表里标出来,并说清和什么冲突(单号、时间)。让店长决定是挪班还是挪那件活 |
| 待分配池里的单排不进去 | 单独列出来,写明「那天谁都排满了,建议改期」。不要硬塞 |
week_grid 拿不到数据 |
停下来说清楚。这一步不许跳 —— 不看现有占用就排,排出来的东西和正常任务长得一模一样,直到那天两个人同时约在一个时段 |
两条不许
- 不许为了填满而编活。 「日常运维」不是万能填充物。
宁可表上留白,也不要制造一件没人知道为什么要做的事。 - 不许把「排不下」说成「排好了」。 一张有三格空着的表,店长看得懂;
一张看起来排满、实际有两个人撞车的表,要到那天才知道。