编写程序对比熬夜疲惫状态和精力充沛状态的创意质量,制定作息规则,保护脑力资源。
脑力状态对比与作息规则生成器
项目定位:一个基于 Python 的本地化数据分析工具,用于对比“熬夜疲惫”与“精力充沛”两种状态下的创意质量差异,据此生成个性化的作息规则,保护长期创新能力。
适用人群:修读“心理健康与创新能力”课程的学生、需要持续创意输出的开发者、设计师、科研人员。
技术栈:Python 3.8+,依赖
"rich"(终端美化)、
"pandas"(数据分析)、
"matplotlib"(可视化)。
一、实际应用场景描述
假设你是一个正在准备毕业设计的技术博主:
你坚持“深夜创作”三个月了。凌晨 1 点到 4 点,宿舍安静,你觉得这是自己的“黄金时间”。你确实产出了 12 篇文章,但回过头看,你发现一个残酷的事实:前 3 篇在白天写的文章,平均阅读量是后 12 篇的 3 倍,点赞率是 2.5 倍。
更糟的是,你现在白天开会时经常走神,下午 3 点必须喝咖啡才能维持清醒,周末一觉睡到下午 2 点还是觉得累。
你陷入了一个误区:把“时间可用性”当成了“创意可用性”。
这个工具要解决的问题是:用量化数据证明“熬夜创作”的真实代价,并通过对比分析,帮你制定一套保护脑力资源的作息规则,而不是空洞的“早点睡”建议。
二、引入痛点
痛点 表现 后果
状态混淆 把“清醒”等同于“有创造力” 在低质量状态下强行创作,产出垃圾
幸存者偏差 只记得熬夜时的“灵感爆发”瞬间 忽略大量熬夜产出的平庸内容
脑力透支 长期睡眠不足导致认知功能下降 创新能力不可逆损伤
作息随意 没有基于数据的个性化作息规则 依赖意志力而非系统设计
这些痛点的本质,是缺乏对自己脑力节律的客观测量和敬畏。
三、核心逻辑讲解
整个系统的数据流如下:
┌──────────────┐ ┌──────────────┐ ┌──────────────────┐
│ SessionLogger│───→│ QualityAnalyzer│───→│ RuleGenerator │
│ 创作时段记录 │ │ 质量对比分析 │ │ 作息规则生成器 │
└──────────────┘ └──────────────┘ └──────────────────┘
记录元数据 统计显著性检验 生成可执行规则
核心设计思想:脑力是有限可再生资源
1. 双重维度记录
- 客观指标:睡眠时间、起床时间、咖啡因摄入、工作时长
- 主观指标:精力评分(1-10)、创意流畅度、成果自评质量
- 产出指标:字数、代码行数、发布后数据(阅读量、点赞等)
2. 配对样本对比(Paired Sample Comparison)
- 不是简单比较“熬夜日”和“早睡日”,而是同一人在不同状态下的自我对照
- 计算每个指标的 Effect Size(效应量),判断差异是否具有实际意义,而不仅仅是统计显著
3. 脑力损耗模型
脑力净值 = 基础脑力 × (睡眠充足度) × (昼夜节律对齐度) - 认知负荷累积
- 连续熬夜会产生累积负债,不是睡一觉就能还清的
4. 规则生成算法
- 基于边际效用递减原则:找到“投入睡眠时间的收益拐点”
- 基于个体节律:识别个人的“创意高峰窗口”
- 输出 SMART 作息规则:具体、可衡量、可实现、相关、有时限
四、代码模块化与注释
项目共 7 个文件,职责清晰分离:
文件 职责 关键类/函数
"config.py" 睡眠质量分级、创意维度权重、规则模板
"SLEEP_QUALITY_MAP",
"CREATIVITY_DIMENSIONS",
"RULE_TEMPLATES"
"utils.py" 时间计算、统计函数、数据校验
"calculate_sleep_debt",
"cohens_d",
"normalize_score"
"session_logger.py" 创作时段记录与数据管理
"CreativeSession",
"SessionLogger.log_session",
"get_sessions_by_condition"
"quality_analyzer.py" 核心对比分析与统计检验
"QualityAnalyzer.compare_conditions",
"calculate_effect_size"
"rule_generator.py" 作息规则生成与优先级排序
"RuleGenerator.generate_rules",
"SleepScheduleRule"
"knowledge_cards.py" 6 张核心知识点卡片
"BRAINSLEEP_CARDS",
"print_card"
"main.py" CLI 入口与交互流程
"main()",
"run_log_session()",
"run_analyze_and_plan"
关键代码片段(
"quality_analyzer.py")
def compare_conditions(self, metric: str) -> ComparisonResult:
"""
对比两种状态下的指定指标
核心逻辑:
1. 提取"充沛组"(睡眠≥7h,精力≥7)和"疲惫组"(睡眠<6h,精力≤4)
2. 计算均值、标准差
3. 计算 Cohen's d 效应量:
- d < 0.2:差异微小
- 0.2 ≤ d < 0.5:小效应
- 0.5 ≤ d < 0.8:中等效应
- d ≥ 0.8:大效应(具有实际意义)
4. 返回包含统计量和业务解读的结果
"""
fresh = self._filter_sessions(condition="fresh")
tired = self._filter_sessions(condition="tired")
fresh_values = [getattr(s, metric) for s in fresh]
tired_values = [getattr(s, metric) for s in tired]
mean_fresh = statistics.mean(fresh_values)
mean_tired = statistics.mean(tired_values)
# 计算效应量(Cohen's d)
pooled_std = self._calculate_pooled_std(fresh_values, tired_values)
cohens_d = (mean_fresh - mean_tired) / pooled_std if pooled_std > 0 else 0
# 业务解读
if cohens_d >= 0.8:
interpretation = f"充沛状态下的{metric}显著高于疲惫状态(大效应)"
practical_impact = "极高"
elif cohens_d >= 0.5:
interpretation = f"充沛状态下的{metric}中等程度高于疲惫状态"
practical_impact = "高"
else:
interpretation = f"{metric}在两种状态下差异不明显"
practical_impact = "低"
return ComparisonResult(
metric=metric,
mean_fresh=mean_fresh,
mean_tired=mean_tired,
difference=mean_fresh - mean_tired,
cohens_d=cohens_d,
interpretation=interpretation,
practical_impact=practical_impact
)
五、核心知识点卡片(节选)
项目内置 6 张知识点卡片,以下是两张与“睡眠与创造力”直接相关的卡片:
KC-501 睡眠与记忆整合(Memory Consolidation)
创造力并非凭空产生,而是旧知识的重组。慢波睡眠(深睡)负责巩固事实性记忆,REM 睡眠(快速眼动)负责整合抽象关联。剥夺 REM 睡眠会显著降低“顿悟(Aha!)”体验的概率。
KC-502 昼夜节律与认知表现(Circadian Rhythm)
人的认知能力呈 circadian(昼夜节律)波动。大多数成年人的警觉性和工作记忆在上午 9-11 点达到峰值,下午 2-4 点出现低谷,晚上 8-10 点可能有第二个小高峰。违背节律工作,效率可能下降 30% 以上。
完整 6 张卡片涵盖:记忆整合、昼夜节律、默认模式网络(DMN)、睡眠 inertia、脑力疲劳、超量恢复。
六、使用说明
环境准备
pip install rich pandas matplotlib
快速启动
git clone https://github.com/yourname/brain-energy-planner.git
cd brain-energy-planner
python main.py
交互流程
[1] 记录一次创作时段
[2] 查看历史记录
[3] 运行状态对比分析
[4] 生成个性化作息规则
[5] 查看知识点卡片
[6] 导出分析报告
[0] 退出
典型会话示例
>>> 请选择记录类型:[1] 精力充沛 [2] 熬夜疲惫
>>> 2
>>> 昨晚入睡时间:02:30
>>> 今早起床时间:07:00
>>> 主观精力评分(1-10):3
>>> 咖啡因摄入量(杯):2
>>> 创作类型:[1] 写代码 [2] 写文档 [3] 设计 [4] brainstorming
>>> 1
>>> 本次产出自评(1-10):
创意流畅度:2
逻辑严谨性:4
整体质量:3
>>> 客观产出:
有效代码行数:120
花费时间(分钟):180
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ 记录已保存
💡 提示:这已经是本周第 4 次熬夜记录,脑力负债正在累积。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
(积累足够数据后运行分析)
>>> 选择 [3] 运行状态对比分析
╭─ 📊 脑力状态对比分析报告 ─────────────────────╮
│ │
│ 充沛状态样本数:8 │
│ 疲惫状态样本数:12 │
│ │
│ ── 核心指标对比 ── │
│ 创意流畅度: 7.8 vs 3.2 (d=1.42, 极大效应) │
│ 逻辑严谨性: 8.1 vs 5.4 (d=0.96, 大效应) │
│ 整体质量: 8.5 vs 4.1 (d=1.68, 极大效应) │
│ 产出效率: 85行/小时 vs 40行/小时 │
│ │
│ ── 关键发现 ── │
│ ⚠️ 熬夜状态下,创意流畅度下降 59% │
│ ⚠️ 逻辑错误率上升 38% │
│ ⚠️ 同等时间内,有效产出减少 53% │
│ │
│ 💡 结论:你的创意质量对睡眠极其敏感。 │
│ 熬夜不是“争取时间”,而是“浪费时间”。 │
│ │
╰────────────────────────────────────────────────╯
>>> 选择 [4] 生成个性化作息规则
🛡️ 基于你的数据,生成以下作息规则:
【R1】强制睡眠窗口(高优先级)
- 规则:工作日 00:30 前入睡,保证 7 小时睡眠
- 理由:你的数据显示,睡眠<6.5h 时创意质量断崖式下跌
- 执行:23:30 启动“数字宵禁”
【R2】创意时段锁定
- 规则:核心创意工作严格限制在 09:00-11:30
- 理由:此时间段你的逻辑严谨性评分最高(8.1/10)
- 执行:将此窗口设为“深度工作时段”,屏蔽所有通知
【R3】脑力负债偿还机制
- 规则:每熬夜 1 次,次日必须提前 30 分钟睡觉
- 理由:你的恢复周期较长,单次熬夜需要 2 晚才能完全恢复
- 执行:在日历中标记“还债日”
【R4】咖啡因截止时间
- 规则:14:00 后禁止摄入咖啡因
- 理由:你的睡眠敏感度较高,晚间咖啡因显著影响深睡比例
- 执行:14:00 后切换为白开水或花草茶
作为模块调用
from session_logger import SessionLogger
from quality_analyzer import QualityAnalyzer
from rule_generator import RuleGenerator
# 记录数据
logger = SessionLogger()
logger.log_session(
condition="fresh",
sleep_hours=7.5,
energy_level=8,
creativity_flow=8,
logic_rigor=9,
output_quality=9,
lines_of_code=200,
time_spent_minutes=120
)
# 分析对比
analyzer = QualityAnalyzer(logger.get_all_sessions())
report = analyzer.run_full_analysis()
# 生成规则
generator = RuleGenerator(report, logger.get_all_sessions())
rules = generator.generate_rules()
for rule in rules:
print(f"[{rule.priority}] {rule.title}")
print(f" 规则:{rule.rule}")
print(f" 理由:{rule.rationale}")
七、输出示例(分析报告片段)
# 脑力状态与作息优化报告
> 生成时间:2026-07-25
> 数据周期:2026-06-01 ~ 2026-07-24
> 总记录次数:28 次(充沛 10 次,疲惫 18 次)
## 📉 核心发现
1. **创意质量差距巨大**
- 充沛状态下平均产出质量:8.4/10
- 疲惫状态下平均产出质量:3.9/10
- **效应量 d=1.71(极大效应)**
2. **效率悖论**
- 熬夜看似“多工作 3 小时”,但因质量低下,需要额外 2 小时修改
- 净收益为负
3. **恢复滞后**
- 熬夜后需要平均 2.3 天才能恢复到最佳状态
- 连续熬夜会产生累积效应
## 🛡️ 个性化作息规则
### 绝对红线
- **睡眠底线**:工作日 ≥ 7 小时,周末补觉 ≤ 9 小时
- **创意时段**:09:00-11:30(你的黄金窗口)
- **数字宵禁**:00:00 前关闭所有屏幕
### 缓冲机制
- **脑力预算**:每周最多 1 次熬夜额度,且需提前申请
- **还债机制**:熬夜后 48 小时内必须补足睡眠
## 📊 数据可视化

---
*本报告由 Brain Energy Planner v1.0 生成,基于你的真实创作数据。*
八、总结
这个项目最想传达的一个反直觉观点是:熬夜不是勤奋,而是低效的自我欺骗。
作为开发者,我们早就接受了“过早优化是万恶之源”,但我们却心安理得地进行“过早消耗”——在最糟糕的状态下强迫大脑工作,然后花更多时间去修复由此产生的垃圾。
这个工具做的事情很简单:用数据说话,把“早点睡”从一个道德劝诫变成一个经济决策。
三句总结:
1. 时间是线性资源,脑力是指数资源 —— 凌晨 2 点的 1 小时,远不如早上 9 点的 1 小时值钱
2. 保护脑力比压榨脑力更可持续 —— 真正的专业主义,是像对待服务器一样对待自己的大脑
3. 数据是唯一的客观裁判 —— 不要让“我感觉还行”骗了你,让数据告诉你真相
愿你的每一次早睡,都是为了第二天更有力量的创造。
README.md(精简版)
# Brain Energy Planner
一个用于对比不同脑力状态下的创意质量、生成个性化作息规则的 Python 工具。基于实证数据,帮助用户保护脑力资源,提升长期创新能力。
## 核心理念
> 不要用战术上的勤奋(熬夜),掩盖战略上的懒惰(低效)。
## 功能特性
- 创作时段结构化记录
- 充沛 vs 疲惫状态对比分析
- 效应量(Cohen's d)统计检验
- 个性化作息规则生成
- 脑力负债追踪
- 数据可视化报告
## 快速开始
bash
pip install rich pandas matplotlib
python main.py
## 项目结构
brain-energy-planner/
├── config.py # 配置常量
├── utils.py # 工具函数
├── session_logger.py # 创作时段记录
├── quality_analyzer.py # 质量对比分析
├── rule_generator.py # 作息规则生成
├── knowledge_cards.py # 知识点卡片
├── main.py # CLI 入口
└── data/ # 数据存储与图表
## 理论基础
基于睡眠记忆整合理论、昼夜节律、认知疲劳研究、效应量统计等科学成果。
## 隐私说明
所有数据本地存储,无网络传输。
## License
MIT
本项目为教学演示用途,旨在促进科学作息与创新能力的结合。如有持续性睡眠障碍,请咨询专业医师。
利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!