AI内容/产品设计

让非技术人员修改规则,我给能力加了边界

这是对个人开发的结算核心进行的一次产品设计复盘:哪些参数应该开放,哪些结构必须保持受控。

在模拟规则变更时,我发现每次调整分账比例或费用口径都需要修改代码、重新部署。这意味着:问题不在使用者,而在产品边界的设计。

规则会变是常态,尤其是跟钱有关的规则 —— 促销、返点、补贴,本来就是会调整的。把规则写死在代码里,等于每次变化都变成一次开发。

第一件事:把规则从代码里搬出来

凡是「业务上可能会变」的判断,一律不写进代码。比如:

  • 分成比例、阶梯档位
  • 哪些费用参与分摊、按什么口径分摊
  • 结算周期、账期起算日

这些东西全部抽到配置里,代码只负责「读配置、执行」。加一个新规则类型,不用动业务逻辑。

第二件事:让规则以表格的样子出现在客户面前

最初的配置形式是一组 JSON。虽然开发者容易理解,但它不适合交给非技术人员维护。

问题不在于他们看不懂,在于JSON 让改规则这件事显得很危险。少一个逗号,整段失效。没人愿意承担这个心理压力。

改成表格之后情况就变了:一行一条规则,几列分别是适用对象、条件、比例、生效日期。财务改完自己就能核对,因为他们本来就在用 Excel 干这个。

关键不是"简单",是"看起来安全"。同样的逻辑,JSON 让人不敢碰,表格让人愿意试。

第三件事:每次改动都留下痕迹

规则能自己改了,新的风险是:改错了、或者改了之后有人不认。

所以每一条规则变更都记录四件事 —— 谁改的、什么时候、改前什么、改后什么。界面上能看到完整的变更历史。

这条设计同时解决两个问题:出错后可以追溯,也能让参与方核对规则是否发生变化。

顺带说一个反直觉的取舍

我最后的方案里,客户能改的规则是**有边界的**:只能改数值和生效时间,不能改规则的逻辑结构。加一种全新的规则类型,还是要我来做。

听起来像是没做彻底,但这是刻意的。全部放开会让整个系统变得难以维护 —— 客户可能会组合出我完全没测试过的情况,出了问题很难定位。

让使用者改“参数”,不让使用者直接改“结构”。这是当前原型采用的边界,后续还需要用真实业务继续验证。

一条经验

做客户系统的时候,问自己一个问题:这个功能上线后,客户多久会需要找我改一次?

如果答案是「每个月」,那就说明设计有问题。不是客户太麻烦,是边界划错了 —— 该交给他们的东西,还捏在我手里。

你的系统是不是也容易"改一次找一次人"?

聊聊 30 分钟,看看哪些规则可以交给你自己的人管。

聊聊你的场景