The Classroom Issue · 技能特辑

A WorkBuddy Skill for Homeroom Teachers

给班主任与教务老师的 WorkBuddy 技能

一次排好 40 个座位,
连 28 项规则都替你查完

把学生名单交给 classroom-seating。身高、视力、成绩、同桌关系、班干部分散一次算清,直接产出可打印的 Excel 座位表和逐条检查报告。

已在 3 个年级组、11 个班的春季开学排座中使用
购买后怎么安装
# 1 安装依赖
pip install openpyxl==3.1.2 pandas==2.0.3
# 2 放到 WorkBuddy 技能目录
cp -r classroom-seating ~/.workbuddy/skills/
# 3 在对话里说一句
按 6 行 8 列给高一(3)班按身高排座,启用规则约束

ISSUE 07 / 2026 AUTUMN / 28 RULES

9 771026 113007

LOCAL ONLY · SHOP NOW

OPENING / 清晨六点四十的教室P. 002
28条排座检查项,逐条给结论
6大类规则,从视力到考场纪律
12个名单字段,填多少用多少
3张工作表,座位表与报告一起给
Editorial / 01The Order of ThingsPage 028 — 029
FIG. 01 · 六行八列P. 028
FIG. 02 · 光与秩序P. 029
「排座不是把名字填进格子,
是让每个孩子落在被看见的位置。」

二十八条规则,六类判断,一张能被下一个人复核的表。这一期我们把它拆开来看。

STILL LIFE / 座位表与粉笔

问题与解法

难的不是摆桌子,
是同时记住 28 件事

近视的孩子要往前,过敏的孩子不能靠窗,两个闹过矛盾的孩子不能坐一起,班干部还得散开。手工挪一次座位,往往是一整个晚上加上第二天再改三轮。

  • 先定优先级。安全健康高于学习效果,学习效果高于课堂纪律,纪律高于公平轮换。规则打架时按这个顺序裁决。
  • 再留证据。哪条通过、哪条没过、建议怎么调,写进检查结果表,家长问起来有据可查。
  • 名单只在本机。脚本本地读取 Excel 或 CSV,不上传、不联网、不需要账号。

它改变了什么

排座不该靠记忆和直觉, 也不该每学期重来一遍。 它应该有依据、有记录、 能被下一个人复核。

规则文档、检查结果、轮换计划,都跟着座位表一起交到你手上。

五项收益

它替你盯住这些细节

每一条都对应规则文档里的一类检查,不是一句「智能优化」。

规则 3.1 / 1.6

视力与身高先落地

视力低于 4.8 的学生进前 3 排,身高前 10% 的学生退到两侧或末排,不用你一格格挪。

规则 1.1 / 1.2

班干部自然分散

贪心分配保证学生干部之间曼哈顿距离至少 2,小组长落在边缘列,收发作业不用横穿一排人。

规则 2.5 / 2.6

麻烦同桌当场拆开

有矛盾、太要好、爱打闹的学生分开排,检查报告点名到人,并给出该往哪儿挪的建议。

规则 5.1 / 5.2

考场也能用

成绩交替分配,相邻分差拉开,成绩相近的学生不同行不同列,考试排座另有独立规则。

规则 4.1 / 4.2

轮换有据可查

策略说明、特殊安排、轮换计划留在第三张工作表,每 2 到 4 周照着调,不让谁一直坐角落。

三步上手

名单进去,座位表出来

不用学参数,把需求说成一句话就行。

STEP 01

填一张学生名单

Excel 或 CSV 都行。姓名、学号必填,身高、视力、成绩、性别、职位、性格、体质、行为、关系按需补充。

姓名,学号,身高,视力,成绩,性别,职位,关系
STEP 02

说一句需求

指定行数、列数和策略。启用规则约束后,脚本会优先安置特殊需求学生,再分散学生干部。

--rows 6 --cols 8 --strategy height --enforce-rules
STEP 03

拿到表与报告

一个 xlsx 含三张表:座位表、检查结果、补充说明。班干部绿、小组长蓝、特殊需求黄,打印即可贴教室。

高一(3)班座位表.xlsx

成果展示

一张表,和一份敢给人看的检查报告

检查结果表按类别列出 28 行:前 2 行由脚本自动核对人数一致性与人名唯一性,其余由智能体对照规则文档逐条给出通过、不通过或提醒,并附改进建议。

座位安排检查报告 · 节选28 项 / 显示 6 项
数据完整性人数一致性检查通过
数据完整性人名唯一性检查通过
位置区域班干部分布检查通过
位置区域迟到频繁学生位置检查提醒
邻座关系有矛盾学生分离检查提醒
轮换公平角落位置轮换检查待检查

三种策略

同一份名单,三种排法

random

随机排座

打乱名单后依次填充。适合新学期初次分配,或只需要一个不带倾向的起点。

height

按身高排座

矮前高后,特别高的学生优先末排或两侧。配合 --consider-vision 可让视力问题优先落位。

score

按成绩排座

成绩排序后交替分配,把高分学生分散到各区域,避免成绩相近的学生相邻。

使用反馈

老师们实际怎么说

「以前排一次座位要两个晚上,还总漏掉谁跟谁不能坐。现在名单交上去,检查报告直接告诉我哪两个人还得再挪开。」

林慧敏

上海 · 七年级班主任,带 47 名学生

「最省事的是三张表一起给。座位表打印贴在门口,检查结果留档,家长来问座位也有得解释,不用临时翻聊天记录。」

周正宇

杭州 · 年级组长,管 11 个班

「期末 38 人的考场座位,成绩分散那套规则比我手工排得均匀。相邻分差这条尤其有用,监考时省心不少。」

陈可

南京 · 教务员,负责考务

The Cover Story

03 LOOKS / AUTUMN 2026
LOOK 01 · 正面01 / 03
LOOK 02 · 灯下02 / 03
LOOK 03 · 一纸座位表03 / 03

封面人物不是模特,是每天要记住四十个名字的人。三组时装大片用硬光、克制配色和留白,把班主任拍成这一期的主角。刊头、条码与页码全部由 HTML 叠加,图内不生成任何文字。

常见问题

先把疑虑说清楚

下面每一条都对应技能里的真实行为,不是承诺。

名单里只有姓名和学号,能用吗?

能。基础排座只需要姓名与学号,三种策略都可以跑。身高、视力、成绩、职位、性格、体质、行为、关系这些字段填得越全,检查报告能给出的结论越具体;不填的字段不会被臆测。

学生人数超过座位总数会怎样?

脚本会直接报错并写明人数与座位总数,不会静默丢人。把 --rows 或 --cols 调大再跑一次即可。空座位在 Excel 里显示为空白单元格。

28 项检查到底是谁做的?

分两段。人数一致性与人名唯一性由脚本自动核对;其余 26 项由智能体对照 references/seating_rules.md 的六大类规则逐条判断,结果既写进第二张工作表,也会在对话里输出,并给不通过项附上调整建议。

规则互相冲突时听谁的?

按固定优先级:安全健康 > 学习效果 > 课堂纪律 > 公平轮换。例如过敏学生避开窗户,会优先于把他排在靠前位置的其他考虑。

支持哪些排座方式?

random 随机、height 按身高、score 按成绩三种。可叠加 --consider-vision 优先照顾视力,--enforce-rules 启用规则约束模式,--title 自定义座位表标题。

输出的是什么文件?

一个 xlsx,三个工作表。座位表含黑板与讲台标识、字母列号、数字行号、统计信息与颜色图例;检查结果列出 28 行;补充说明留给策略、特殊安排、轮换计划与备注。班干部绿、小组长蓝、特殊需求黄。

需要装什么环境?

Python 3,加 openpyxl==3.1.2 与 pandas==2.0.3。把技能目录放进 WorkBuddy 的 skills 目录即可使用,源码可以自己改。

学生名单会不会被传出去?

不会。名单由本机脚本读取,没有网络请求,也不需要注册账号。建议名单文件本身保存在本地,对外分享座位表前可去掉学号列。

多久轮换一次座位比较合适?

规则文档建议每 2 到 4 周整体轮换一次,采用左右或顺时针方式;角落位置每学期至少轮换 2 次,避免同一个学生长期固定在同一处。轮换计划可以直接记在第三张工作表。

考场排座和普通排座差在哪?

考场用 score 策略:成绩相近的学生不相邻、不正对前后,相邻分差尽量拉开,成绩前 10% 的学生分散到各区域,爱作弊倾向的学生最大化拉开间距。

现在就拿走

下次排座,别再开一晚上 Excel

点开商品页下单,把技能放进 WorkBuddy,再用一句话说出你的班级和布局。

拿走这份技能

本地运行,名单不出本机 · 无账号、无订阅 · 源码可自行修改