道冲,而用之或不盈。
渊兮,似万物之宗。
挫其锐,解其纷,和其光,同其尘。
湛兮,似或存。
吾不知谁之子,象帝之先。
它不抢存在感,不站到台前,也不把自己塞得满满当当。
但真正要用的时候,你会发现它一直在那里,而且怎么用都用不尽。
这很像一个好的技术平台,一个好的产品底座,一个好的团队机制。
平时它不吵,不炫,不总是跳出来证明自己。但业务要扩展、系统要承压、团队要协作、问题要排查时,它能稳稳托住一切。
所以技术人很容易忽略的一种能力:
不要把系统做满,要给系统留下余量;不要只追求锋利,要学会化解复杂度。
很多系统一开始不是死于能力不足,而是死于太满。
排期太满,团队没有缓冲。
功能太满,用户没有呼吸感。
代码太满,修改没有空间。
架构太满,变化没有退路。
人心太满,协作没有余地。
老子说"道冲,而用之或不盈",放到今天的技术世界里,就是一句很朴素的话:
真正有生命力的系统,不能被一次设计、一次版本、一次增长、一次绩效填满。
一、"冲"不是空虚,而是有余量
"道冲,而用之或不盈。"
这里的"冲",可以理解为虚、空、容纳、不满。
但它不是没用的空。
它更像杯子里的空间。杯子真正能装水,不是因为杯壁,而是因为中间有空。房子真正能住人,不是因为墙体,而是因为里面有空间。一个系统真正能扩展,也不是因为写满了功能,而是因为它还有余量。
所以"道冲"不是空虚,而是一种可用的空。
技术人应该很懂这件事。
服务器 CPU 长期跑到 95%,看起来资源利用率很高,其实非常危险。
数据库连接池一直打满,看起来机器没有浪费,其实随时可能雪崩。
研发排期每个人都排到 100%,看起来效率很高,其实一个线上故障就能把全队打乱。
产品页面塞满入口,看起来功能丰富,其实用户根本找不到重点。
"满"有时候很诱人。
它让人觉得没有浪费,觉得很充实,觉得团队很忙,觉得系统能力很多。
但从系统角度看,太满就是脆弱。
因为没有缓冲,就没有应对变化的能力;没有空位,就没有生长的可能;没有余量,就没有长期稳定。
一个成熟的程序员,不会只追求把机器资源榨干。
一个成熟的产品经理,不会只追求把页面入口填满。
一个成熟的管理者,不会只追求把每个人的时间排满。
真正高级的设计,往往是敢于留出一部分"不被占用"的空间。
二、好架构不是无所不能,而是不会被轻易填满
很多人刚开始做架构设计时,会有一种冲动:
我要把未来可能发生的情况都考虑进去。
于是方案里开始出现各种抽象:
- 通用配置
- 动态规则
- 插件机制
- 多租户模型
- 策略模式
- 流程编排
- 权限矩阵
- 扩展点
- 领域事件
- 中台能力
这些东西本身都没有错。
问题是,如果业务还没长到那个阶段,过早把所有未来都塞进当前系统,系统就会变得很重。
表面上看,它很强大。
实际上,它可能很难懂、很难改、很难测、很难交付。
这不是"道冲",这是"道满"。
好的架构不是一开始就包办所有未来,而是在关键位置留下变化空间。
比如:
- 当前先用简单模型,但把边界划清楚
- 当前先不做插件化,但避免核心逻辑到处复制
- 当前先不做复杂权限矩阵,但保留权限判断的统一入口
- 当前先不做完整工作流引擎,但不要把流程状态散落在各处
- 当前先不拆微服务,但模块之间不要互相穿透
这就是"用之或不盈"。
你没有把系统一次性设计到满,但当需求来了,它还有承接变化的地方。
很多架构事故,不是因为当初没想到未来,而是因为当初太想控制未来。
你越想一次性把未来写死,未来越容易反过来惩罚你。
系统要有边界,但不要过早封死;要有结构,但不要把结构变成枷锁;要有能力,但不要把能力堆到没人能理解。
真正好的架构,常常不是看起来最华丽的那一个,而是几年以后大家还敢改、还敢用、还敢扩展的那一个。
三、"渊兮,似万物之宗":真正的底座,往往不在台前
"渊兮,似万物之宗。"
"渊"是深。它不像水面那样热闹,却能容纳很多东西。
这句话放到技术团队里,很像在讲基础设施。
很多基础能力平时不显眼:
- 日志系统
- 监控告警
- 权限体系
- 发布平台
- 配置中心
- 数据埋点
- 测试框架
- 灰度机制
- 回滚机制
- 文档规范
- 统一错误码
它们很少成为 PPT 里最亮眼的主角。
但一个团队能不能长期跑得稳,往往就看这些东西够不够深。
业务功能像水面上的浪花,用户能直接看见。基础设施像水下的河床,平时不显山露水,但决定了水怎么流。
一个项目上线成功,大家容易记住那个新功能。
一次大促扛住流量,大家容易记住业务增长。
一次故障快速恢复,大家容易记住值班的人。
但背后真正托住这一切的,可能是半年前有人补上的监控,是三个月前有人改好的发布流程,是某个同事默默整理的排障文档,是一套平时没人夸但关键时刻救命的回滚机制。
这就是"似万物之宗"。
它不是所有东西的表面原因,却是很多东西能成立的底层依据。
产品也一样。
一个产品真正的底座,不一定是最炫的功能,而可能是:
- 用户能不能快速理解
- 主流程是否顺畅
- 数据是否可信
- 权限是否清楚
- 异常提示是否友好
- 用户出错后能不能恢复
- 客服和运营能不能兜底
这些东西不性感,但它们决定了产品是不是可靠。
很多产品死在功能越来越多,但底座越来越浅。
入口越来越多,主线却不清楚。
玩法越来越多,信任却越来越少。
概念越来越大,基本体验却越来越差。
真正有深度的产品,不是永远在表面加东西,而是愿意把底层体验一层层打稳。
四、"挫其锐":把系统的尖刺磨掉
"挫其锐。"
这句话特别适合讲工程设计。
一个系统最危险的地方,常常不是它整体都很差,而是某些边缘特别锋利。
所谓"锋利",就是一不小心就会伤到使用者、维护者或者系统本身。
比如:
- 一个参数传错,直接删除线上数据
- 一个配置开关打开,影响所有租户
- 一个接口没有幂等,重复请求造成重复扣款
- 一个默认值太危险,新人很容易误用
- 一个后台按钮没有确认,运营误点后无法恢复
- 一个脚本没有环境校验,本地命令能打到生产
这些地方就是系统的"锐"。
程序员不能只追求功能可用,还要想办法把这些尖刺磨掉。
可以怎么磨?
- 危险操作加二次确认
- 关键接口做幂等
- 高风险配置加权限和审计
- 默认值尽量保守
- 删除操作提供软删除或可恢复机制
- 发布前做环境校验
- 失败时给清楚的错误提示
- 对外接口减少容易误解的参数
这就是"挫其锐"的工程版本。
不是让系统失去能力,而是让能力不那么容易伤人。
一个真正成熟的工具,不是功能越强越好,而是强大但不危险。
很多内部后台、脚本平台、配置中心,最开始都是为了提高效率。可如果不"挫其锐",它们很快会变成事故制造机。
产品经理也要理解这点。
有些功能看起来很爽,但对用户很锋利:
- 默认勾选自动续费
- 取消入口藏得很深
- 弹窗不断打断用户
- 重要信息用小字隐藏
- 错误提示只告诉用户"操作失败"
- 用户误操作后没有撤销机会
短期看,这些设计可能提高转化。长期看,它们会消耗信任。
一个好产品,应该减少用户被系统"割伤"的机会。
五、"解其纷":不要只堆人,要解开复杂度
"解其纷。"
纷,是缠在一起的东西。
技术项目里最常见的痛苦,就是复杂度缠成一团。
一个需求牵动十几个系统。
一个字段被五个团队解释成不同意思。
一个页面同时服务用户、运营、销售和财务。
一个接口既查数据,又写状态,还顺手发消息。
一个模块没人敢动,因为谁也说不清它到底影响哪里。
这种时候,很多团队的第一反应是加人、加会、加流程。
但复杂度如果没有被解开,加人只会让沟通更复杂,加会只会让信息更混乱,加流程只会让大家在流程里消耗。
"解其纷"不是把问题压下去,而是把缠在一起的东西拆开。
比如:
- 把概念说清楚:同一个词在不同团队里是不是同一个意思
- 把边界拆清楚:这个模块到底负责什么,不负责什么
- 把状态理清楚:一个对象从创建到结束有哪些确定状态
- 把链路画清楚:一次请求经过哪些服务,谁依赖谁
- 把责任定清楚:出问题时谁感知,谁处理,谁兜底
- 把数据源定清楚:哪个系统是主数据,哪个系统只是缓存或展示
很多时候,真正的效率不是"大家更努力",而是"事情终于被拆清楚了"。
这也是产品经理非常重要的能力。
用户说一个问题,背后可能混着多个问题:
页面不好用。
这句话里可能包括:
- 找不到入口
- 文案看不懂
- 加载太慢
- 结果不符合预期
- 权限不足但没提示
- 操作成功后没有反馈
- 用户其实不知道下一步该做什么
如果不"解其纷",你可能会直接改 UI,最后发现问题还在。
真正好的产品分析,是把一团模糊的不满拆成可理解、可验证、可解决的问题。
六、"和其光":能力越强,越不要刺眼
"和其光。"
光,是能力,是锋芒,是被看见的东西。
"和其光"不是让你没有光,而是让光变得柔和,不刺眼。
这句话放到技术人身上,很有意思。
很多程序员成长到一定阶段,会有一种很强的表达冲动:
我知道这个方案不够好。
我知道这段代码很烂。
我知道这个设计会出问题。
我知道你们这样做不专业。
这些判断可能都对。
但如果表达方式太锋利,别人听到的就不是问题本身,而是被否定、被教育、被压住。
技术能力强,不代表沟通可以粗糙。
"和其光"不是隐藏能力,而是让能力能被别人接住。
比如 code review 里,你可以说:
这里建议拆一下,否则后面状态多了会比较难维护。
而不是说:
你这写法不行。
需求评审里,你可以说:
这个版本如果同时支持这三种场景,风险会比较高,我们先确认哪个是主场景。
而不是说:
你们需求根本没想清楚。
架构讨论里,你可以说:
这个方案短期能跑,但后面如果接入更多租户,权限模型可能会顶不住。
而不是说:
这架构以后肯定崩。
同样的判断,换一种表达方式,团队更容易一起往前走。
真正厉害的人,不是把别人照得睁不开眼,而是让自己的光照亮问题。
产品经理也一样。
好的产品判断,不是靠压过所有人,而是让团队看见用户、看见约束、看见取舍。
"我觉得这样更好"不够。
"用户在这个场景下会这样做,所以这里要减少一步"才更有力量。
七、"同其尘":别只活在理想模型里
"同其尘。"
尘,是现实,是现场,是那些不完美、琐碎、混乱、带着历史包袱的东西。
做技术的人,很容易喜欢干净模型。
领域模型要优雅。
架构边界要清楚。
接口语义要纯粹。
数据流向要单一。
状态机要闭合。
这些追求都很好。
但真实业务经常不那么干净。
老系统有历史债务。
客户有特殊流程。
运营有临时活动。
财务有对账要求。
销售有承诺过的例外。
用户有我们想不到的用法。
如果技术人只愿意站在理想模型里,就会很容易看不起现实:
这业务怎么这么乱?
这个需求怎么这么脏?
为什么不能按标准流程来?
当初是谁这么设计的?
但一个成熟的技术人会知道:现实的尘土里,藏着系统真正的约束。
"同其尘"不是向混乱投降,而是愿意进入现场理解混乱。
你要知道为什么会有这个特殊逻辑。
你要知道历史上发生过什么事故。
你要知道哪个客户为什么不能改流程。
你要知道运营为什么需要那个后台开关。
你要知道财务为什么坚持某个字段不能变。
只有理解现实,你才有资格改造现实。
产品经理更是这样。
很多漂亮的产品方案,一到现场就失效。不是方案不聪明,而是它没有同尘。
你设计了一套标准流程,但用户实际工作时网络很差。
你设计了一个完整表单,但一线人员根本没有时间填。
你设计了一个数据看板,但老板真正想看的是异常原因,不是漂亮图表。
你设计了一个自动化规则,但客服需要在特殊情况下人工兜底。
同尘,就是让产品和真实世界接触。
不接触尘土的产品,很容易干净但没用。
八、"湛兮,似或存":好的系统,存在感反而很低
"湛兮,似或存。"
湛,是深而清。似或存,是好像存在,又好像没有强烈存在感。
这句话太适合描述好的基础系统了。
一个好的发布系统,平时不会让你天天感叹它多厉害。它只是让你稳定发布、可灰度、可回滚、可追踪。
一个好的权限系统,平时不会抢戏。它只是让该看的人能看,不该动的人动不了。
一个好的监控系统,平时很安静。它只在真正需要你注意的时候提醒你。
一个好的设计系统,平时不需要反复讨论按钮长什么样。它让团队自然做出一致体验。
越好的底层能力,越不需要天天刷存在感。
这和很多糟糕系统正好相反。
糟糕的系统存在感很强。
每次发布都让人紧张。
每次配置都怕出事故。
每次查日志都找不到线索。
每次改需求都牵一大片。
每次排查都靠猜。
它存在感很强,不是因为它重要,而是因为它总在制造麻烦。
一个系统最高级的状态,不是大家天天夸它,而是大家能自然地依赖它,甚至忘记它的存在。
这也是团队管理的一个标准。
好的管理机制,不是天天提醒大家遵守流程,而是让流程本身顺手。
好的协作方式,不是天天强调沟通,而是信息自然流动。
好的质量体系,不是天天追着大家补测试,而是测试已经成为交付的一部分。
真正稳的东西,往往安静。
九、"象帝之先":底层规律先于权威
"吾不知谁之子,象帝之先。"
老子说,我不知道它是谁生出来的,好像在天帝之前就已经存在。
这句话听起来很玄,但放到技术世界里,可以理解成:
真正的规律,比任何人的职位、经验和口号都更早,也更硬。
老板可以要求一个月上线。
产品可以希望所有功能都做。
研发可以相信自己能扛住。
运营可以希望活动永远增长。
但系统规律不会因为人的愿望改变。
没有测试,质量就会下降。
没有监控,故障就会更难发现。
没有边界,复杂度就会扩散。
没有余量,突发问题就会放大。
没有真实用户反馈,产品判断就会越来越虚。
没有清晰责任,协作就会互相消耗。
这些规律,不归某个老板管,也不归某个架构师管。
它们像"帝之先"。
你尊重它,系统就稳一点;你违背它,迟早要付代价。
很多团队的问题,就是太相信意志,太不尊重规律。
以为靠加班能弥补混乱需求。
以为靠高手能弥补系统脆弱。
以为靠会议能弥补边界不清。
以为靠口号能弥补资源不足。
以为靠一次大重构能弥补长期不维护。
但技术世界很诚实。
你欠下的复杂度,会在后面的版本里收利息。
你省掉的测试,会在线上问题里找回来。
你忽略的用户体验,会在流失数据里出现。
你制造的组织焦虑,会在协作成本里体现。
规律不说话,但它一直在。
十、总结
不要把系统填满,要让系统有深度、有余量、有化解复杂度的能力。
程序员写代码,不要只问功能能不能跑,还要问它有没有尖刺、有没有余量、复杂度有没有被解开。
架构师做设计,不要只问方案够不够强,还要问几年后团队还敢不敢维护。
产品经理做功能,不要只问用户会不会点击,还要问这个功能会不会增加焦虑、误操作和解释成本。
管理者带团队,不要只问大家忙不忙,还要问系统有没有缓冲,团队有没有沉淀,机制有没有托住人。
老子说"道冲,而用之或不盈",不是让我们什么都不做。
它是在提醒我们:真正强大的东西,不一定把自己表现得很满。
好的系统,有空位。
好的架构,有退路。
好的产品,有留白。
好的团队,有缓冲。
好的高手,有锋芒但不刺人。
技术工作做到深处,很多能力都不是"加"的能力,而是"化"的能力。
化解尖锐。
化解纷乱。
化解焦虑。
化解复杂度。
最后留下来的,是一个安静但可靠的底座。
它不一定天天被看见,但关键时刻,你会知道它一直在那里。