插画:一个人侧躺入睡,上方一条从月亮到太阳的弧形时间轴,轴上标着一天里的几个时间点
睡眠昼夜节律CBT-I健康单文件开源项目

最近总睡不着,我把「怎么睡」这件事研究了一遍,做成了一个网页

最近一个多月,我几乎每天都是这样:十一点躺下,十二点还在想白天那件没做完的事,一点开始看时间,两点翻个身,三点盯着天花板,最后从窗帘缝里看到天亮了才睡着。白天靠咖啡撑着,晚上咖啡因还在血里,第二天更难睡——一个很标准的闭环。

一开始我以为是「压力大」「不够放松」,于是试了一圈:提前上床、睡前泡脚、数羊、褪黑素、睡前喝点酒。

结果是:提前上床让我在床上的清醒时间变长了;酒能让我更快睡着,但后半夜会醒;褪黑素对倒时差有用,在我这种情况上聊胜于无。这些方法本身没错,是我在处理错的对象——我一直在试图「放松」,而真正出问题的是时间和节奏。

入睡不是一件事,是两个条件

翻了一圈资料之后,最有用的一个框架是把睡眠拆成两个「引擎」:

  • 生物钟(相位):下丘脑的视交叉上核只管一件事——现在几点。它靠什么校准?早上的光,和固定的起床时间。
  • 睡眠压力(腺苷):清醒时间越长,腺苷堆得越多,越困;睡着时清空。

入睡 = 这两个条件同时满足。 缺一个都不行。

这就解释了我之前所有的失败:白天补觉、周末赖床,提前把睡眠压力花掉了;咖啡因把腺苷受体堵住,压力明明在涨却感觉不到;晚上屋里灯亮着、手机不离手,相位一直往后推。三条破坏源,我一条都没躲过。

两个引擎

图:睡眠压力在涨、生物钟相位对了,两个条件在床的上方汇合,才睡得着。

真正有用的是数字,不是道理

让我改变习惯的,是那些可以对照的数字,而不是「要早点睡」「多运动」这类话。

起床时间固定,误差不超过 30 分钟。 这条比「早睡」重要得多——晚上几点睡你控制不了,早上几点起你能控制。生物钟认的是起床时间,不是入睡时间。

起床后 30 到 60 分钟,出门见光。 10,000 lux、10 到 20 分钟,阴天也照去。手机屏幕大约 40 lux,阴天户外是 10,000 lux,差 250 倍——这就是为什么「白天多待户外」比「晚上开护眼模式」有用。

咖啡因截止在睡前 6 到 8 小时。 我记得最清楚的一个研究:睡前 6 小时摄入 400 mg 咖啡因(差不多两大杯美式),总睡眠时间还是减少了一小时以上,而且受试者主观上完全没觉得。也就是说,你觉得自己睡着了,其实没睡够。

午睡不超过 20 分钟,下午三点以后不睡。

晚餐离上床 4 到 6 小时,最低也要 2 到 3 小时。 睡前 3 小时内吃晚饭,胃食管反流的风险高不少(一项 147 例的配对研究里优势比 7.45)。这条我信,因为我就是吃完躺下胸口发堵的那种人。

睡前 1 到 2 小时洗温水澡,不是热水。 逻辑有点反直觉:洗完体温先升后降,那个下降的过程才是助眠的。

卧室 16 到 19°C,亮度目标低于 1 lux。 窗帘缝那条光,比你想的更有存在感。

最难的那条:躺 20 分钟没睡着就离床

这条叫刺激控制,是 CBT-I(失眠行为治疗)里的核心,也是我执行得最差的一条。

规则很简单:躺下大约 20 分钟还睡不着,就起来,去另一个房间做点无聊的事,困了再回床;不管几点睡,第二天照常起床。目的是别让床和「清醒、焦虑、翻来覆去」这三件事绑在一起。

难在哪?凌晨两点起身,冷,困,还带着一点「我这样是不是更睡不着了」的怀疑。但这条是我做对之后效果最明显的——大概两周,我躺下之后脑子里的杂音明显少了。

离床示意

图:躺了 20 分钟还醒着,起身,困了再回来。

几个和流行说法相反的地方

  • 蓝光不是主要问题,亮度才是。 手机和阴天户外的差距是 250 倍,纠结护眼模式,不如把屏幕调暗、把手机拿出卧室。
  • 「小酌助眠」的代价在后半夜。 酒精会削 REM 睡眠,连续几晚睡前喝酒的实验室研究里,REM 总量明显下降——睡着快了,但睡得浅了。
  • 周末补觉要看的是时差,不是补觉。 有队列研究发现,周末补觉超过 90 分钟的人,5 年冠脉钙化的新发率反而更低;但同一批研究也指出,社交时差越大,心血管风险越高。结论不是「别补觉」,是「别把工作日和周末的作息拉出两小时」。

为什么最后做成了一个网页

看完这些东西,我有个很实际的问题:它们散在各处,而且顺序是乱的。

论文讲机制,科普讲技巧,App 让你打卡,短视频讲「三分钟入睡法」。真正要用的时候,我需要的是一份按时间排好的清单:早上起来做什么、白天哪几件事别做、睡前两小时怎么安排、躺下睡不着怎么办。

所以我把它做成了一个页面:从起床那一刻排到关灯躺下,9 个章节、13 处「展开依据」、21 条编号来源(R1 到 R22,R3 空着,留给以后补)。每条建议后面有个「展开依据」按钮,点开是研究结论,再点一下跳到文末的文献条目——我不指望你相信我说的话,我指望你能自己去看原文。

技术上没什么可说的:睡眠专题仍是一个独立的 sleep.html,约 48 KB,零依赖、零构建,双击就开。它现在是「生活指南」四个页面中的一页,另外两页是饮食与锻炼。没有后端、不发网络请求、不存任何数据,断网打开也是同一页。我也刻意没做「打卡」「睡眠评分」这类东西——那只会变成另一个每天要维护的负担。

用了一个月,和一句必要的边界

我没有一次全上。第 1 周只做一件事:固定起床时间。第 3 周才动卧室——遮光、温度、把手机请出去。第 4 周开始按睡眠效率微调。

现在的状态是:入睡时间从一小时以上降到二十分钟上下,夜里醒的次数少了,早上没那么难起。不敢说「治好了」,但至少不再每天晚上跟自己打架。

几句边界。 这不是医疗建议,我也不是医生。有四种情况别拿作息表硬扛,直接去睡眠科:打鼾伴呼吸暂停、白天困到影响工作、腿部不适或抽动、长期严重的入睡困难。这四种我写在页面「何时就医」一节里,红框,没藏在角落。

页面在这里,打开就能用:

kingsir.work/life-guide/sleep.html

源码在 GitHub,MIT 许可。哪条依据你觉得不对、或者有更新更好的研究,直接提 issue。

如果你最近也睡不着,别从「今晚一定早睡」开始——从明天几点起开始。就这一条,先做一周。