我用 AI 上线了一个排座位工具,这是我的思考
之前参加婚礼时,我注意到现场用来排座的是表格。
名字、桌号、人员关系都在里面,但很难一眼看出每个人到底坐在哪里。公司行政编排工位时也有类似的问题:遇到人员变动,需要快速替换座位;想知道哪里有空位,还得在表格里来回确认。
只要问题涉及空间关系,表格就开始变得别扭。

但另一面也很现实。如果只有十几个人,座位固定,只用一次,专门下载一个软件、创建项目、学习操作,可能还不如直接打开表格。
排座工具就卡在这样一个不上不下的位置:表格不够直观,专业软件又显得太重。
现在 AI 已经可以很快生成一个应用,我开始想,这类工具有没有可能做得足够轻,同时又比表格更适合处理空间关系?它到底值不值得成为一个可以长期使用的产品?
于是我做了 SeatMaply。


AI 可以快速做出功能,但不太会设计工具。我之前也用 AI 写过不少小工具,但大多只解决一个临时问题,工程量不大,也没有必要继续做完整。
这次有些不一样。排座工具涉及画布、空间关系、人员数据、元素层级和项目保存,用户还要频繁修改。它不是生成一个页面就结束了,而是要让人反复编辑,并且尽量不出错。
AI 写代码确实很快。只要描述清楚,它很快就能搭出画布、拖拽、旋转、人员录入这些基础功能。
问题是,功能能够运行,不等于工具能够使用。
如果只是让 AI 临时生成一个半成品,它通常会把需求逐条实现,却很少主动考虑:用户从哪里开始,下一步最可能做什么,哪些操作应该被合并,哪些信息不该同时出现,数据变化以后又该怎么回到正确状态。
它会完成一组功能,但不会自然形成一条顺畅的编辑路径。
SeatMaply 的“分三步快速编辑”,就是我重新梳理任务以后提出来的。AI 可以按照这套结构实现界面,却不会主动判断用户应该先处理什么、后处理什么,更不会自己把原本分散的操作压缩成三步。
这也是我在开发过程中越来越明确的一点:AI 能缩短实现时间,但产品的基本结构仍然需要人来定义。
画布能拖动,不代表画布已经设计好了
AI 一开始把拖入画布的所有元件放在同一个层级。
从代码角度看,这样最直接;从编辑角度看,却很难使用。桌椅、文字、人员卡片和大区域形状混在一起,元素互相遮挡,用户很难选中真正想修改的对象。
我后来要求它引入“层”的概念:不同层管理不同类型的元件,大区域形状放在底层,人员和座位保持在更容易选中的位置。
这里真正需要解决的并不是增加一个图层面板,而是先判断画布里有哪些对象、它们之间是什么关系,以及用户在不同阶段最可能编辑什么。

旋转功能也遇到了类似的问题。AI 最初没有把旋转数据限制在 0 到 359 度之间,数值会持续增加,无法合理判断;元素的旋转中心也没有处理好,转动以后位置会发生偏移。表面上看,旋转功能已经存在,实际操作时却始终有一种不受控制的感觉。
画布吸附的问题更隐蔽。
AI 曾经直接把吸附后的坐标重新对齐,并把它当成最终结果。但吸附的作用应该是辅助拖动,让元素更容易靠齐;它不应该在保存时再次替用户改写位置。经过多轮调整,我才把规则确定下来:吸附只参与拖动过程,最终数据仍然以用户确认的位置为准。
这些都不是什么可以写在产品首页的大功能,却直接决定了工具用起来是否可信。
用户未必能说出旋转中心、坐标归一化或者吸附逻辑出了什么问题。他只会觉得这个东西“不太好用”,然后回到原来的表格。
好用的交互,通常来自对工具习惯的继承
SeatMaply 里还有一些围绕人员卡片设计的操作:复制人员、交换座位,以及在备选列表和画布之间拖入、拖出。
AI 不会主动提出这样一整套交互。
即使让它分析需求,它更容易给出“新增”“编辑”“删除”“批量导入”这类标准功能。它能列出一个人员管理系统应该有什么,却不一定能想到排座过程中真正高频的动作是什么。
现实中的排座很少是把名单一次录入就结束。
人会临时增加或缺席,座位会反复调整,两个位置需要快速交换,暂时没有确定座位的人要先放在一边。只有把这些变化放进连续的操作过程里,才会意识到“交换”比“分别编辑两个人”更直接,“拖回备选列表”比“删除后重新添加”更符合人的理解。
能把需求写得足够详细,本身就需要产品判断。

另一方面,关于座位跟桌子绑定的这一整套取舍,也需要人的思考。如果旋转一个长桌子,它的座位一样会跟着旋转。如果座位的朝向会根据旋转自己改变,就没法正常识别座位的文字;如果座位始终自动纠正自己的朝向,对于一些需要灵活排布的场地也失去了意义。所以最好的办法是直接摊开让用户自己选择。我把横着的长桌跟竖着的长桌直接做成两个不同的组件,这样让初始生成的座位都有比较好的角度。

还有个印象比较深的功能,就是不规则房间的构建。如果按照设计工具的习惯,可能会提供钢笔或者布尔工具让用户去描绘这样的场地,但是这会增加普通用户的认知负担,所以我直接简化成了一个非常简约的合并和拆分功能,普通用户也能快速上手。
一个人如果没有用过足够多的工具,也没有长期观察过交互方式,很难凭空想象这些操作。AI 使用的依然是人提供的需求和已有模式。
所以,用 AI 做产品,当实现成本下降以后,决定做什么、怎么组织、哪里需要克制,反而更需要设计经验的判断。
工具设计的很多工作,是重新安排功能的轻重
做 SeatMaply 的过程中,我前后改了数十处大小体验问题。
有些修改是在增加能力,更多时候是在删减、合并和调整优先级。
AI 一开始设置了多种带有功能名称的房间组件。但继续往下看会发现,它们在数据结构和操作方式上没有本质区别,本质上都是一个空间区域。继续保留这些类型,只会增加选择和理解成本,所以最后被我合并了。
我弱化了组件锁定功能的位置。它在复杂画布里有用,却不是用户进入工具以后最先需要看到的操作。

云端项目保存功能最初也有一条明显的交互死路。发生版本冲突时,系统只提示存在冲突,却没有告诉用户接下来能做什么。后来我重新定义了保存规则:名称不变时覆盖现有项目,修改名称时创建一个新项目。这样,用户既可以继续原来的项目,也有明确的“另存”路径。
这类决策很难用“有没有这个功能”来衡量。
一个工具可以什么都有,依然很难用。因为真正影响体验的,往往是哪些功能被放在前面,哪些功能被藏在后面;哪个动作可以直接完成,哪个动作会把用户带进死路。
AI 倾向于把可能性不断加上去。人更应该做的,是沿着真实任务一路检查,把不必要的分支砍掉,把中断的路径接起来。
SeatMaply 不需要替代表格
做独立产品时,很容易因为投入了很多精力,就想证明它适合更多场景。
但 SeatMaply 的边界其实很明确。
如果只有十几个人,座位固定,只使用一次,表格可能更快。如果不关心具体空间,只需要把人员分成几组,表格也更合适。
SeatMaply 的价值,要到这些情况里才会逐渐明显:座位需要在未来反复调整;需要直观看到空位和人员分布;需要处理几十人甚至上百人;或者最终结果需要交付给其他人查看,让对方不用对着表格重新理解空间关系。

这也意味着,它天然不是高频工具。
用户可能只在婚礼、会议、办公室调整等特定阶段使用,用完就走。既然如此,产品就不应该强迫用户学习一套复杂系统。进入以后能不能快速开始,修改时会不会卡住,结果能不能直接交付,比堆积大量功能更重要。
我不认为每一个临时需求都值得做成独立产品。AI 降低了开发成本,却没有取消产品是否成立这个问题。
执行变便宜以后,更应该认真判断:这个工具解决的问题是否持续存在?它比已有方案多解决了什么?这部分价值是否足以抵消学习和迁移成本?
人人都能写代码以后,独立产品还有没有意义
我之前搬家清理了很多书,却一直留着一本腾讯的《在你身边,为你设计》。
书里讲的是用户体验时代下相对完整的设计过程:先明确问题和目标,再把目标转成设计策略,通过执行与测试不断修正,最后形成可以协作和复用的规范。
到了 AI 时代,其中很多执行过程正在被压缩。以前做不到的功能,现在可能很快就能做出来;以前需要多人协作的原型,一个人也可以完成。
但这套过程里最难的部分没有消失。
问题仍然需要被定义,目标仍然需要被取舍,方案仍然要放进真实使用路径里测试。AI 能帮人更快地抵达一个结果,却不会自动判断这个结果是不是值得抵达。
这也是为什么我还想尝试做独立应用的原因吧。
就像人人都有相机以后,照片依然有好坏;人人都有画笔,画出来的东西也依然有天差地别。工具普及改变的是门槛,不会自动抹平判断、经验和投入的差异。
SeatMaply 当然不是一个高频、适合所有人的产品。它有没有足够大的需求,能不能长期成立,我现在也不能下结论。
但做完这套工具以后,我越来越确定:AI 能降低执行成本,却无法替人完成方向选择和体验筛选。
当代码越来越容易生成,产品之间真正拉开差距的,可能正是那些无法通过一句提示词直接生成的决定。
欢迎体验:seatmaply.com
你用 AI 打造过什么工具吗?欢迎评论交流。
