> 从全部 .md 总结文件中提炼的可行方法和踩坑经验,按时间顺序组织。
> 来源:工作日志 + 长期记忆 + 景格文档 + 浑天文档 + 备份区全部总结文件。
> 最后更新:2026-07-22 · 新增第九/第十阶段 + 协作基本法 + 排除法 + 生态对齐
最早的协作形式很简单:"帮我在电脑上做一件事 + 执行前确认"。从这条简单指令开始,经过反复试错(PowerShell语法、路径引号、工具边界不清晰),逐步建立了协作信任。
1. 执行前确认:每个可能的破坏性操作,先说出你打算做什么,等确认再执行
2. 技术栈约定:尽早明确用什么语言/工具/环境,避免浪费轮次在兼容性问题上
3. 暂停即保存:用户暂停时手动确认落盘,内存缓冲可能丢数据
方法 — 书写规范体系:
| 篇章 | 规范 | 核心原则 |
|---|---|---|
| 苏铭篇 | 记录者规范 v1.0 | 客观记录,冷眼旁观 |
| 管帅篇 | 沉默的威慑 v1.0 | 动作胜于言语 |
| 超级人类篇 | 沉默的默契 v1.1 | 不解释超能力,只描述行为 |
方法 — 时间线网格追踪:按"建安某年"逐节点追踪14年主线+7条分线故事模块。
方法 — 冲突苗头预登记:提前记录自然出现的冲突线索(世家分化、曹操体系隐忧、草原戈壁可持续性、季汉独立演化),但不急于展开。等时间到了,伏笔自己会长出来。
教训 — "不点破"叙事原则:禁止直接写"他感到悲凉/想家/安宁"。情绪必须通过环境传递(风灌进门洞、没人说话、磨刀时间变短)。如果一段文本让设计师犹豫"是不是太直了",那它就是太直了——必须改。
教训 — 跨线单视角规则:跨线场景选择一个主视角,另一个通过动作和画面间接呈现,不让两个视角在同一段交替出现。
教训 — 曹丕的伏笔:"察举令之后,司空府用人之权是重了还是轻了"——一个极轻但极准的伏笔,不要急着展开,等曹操权力交接时它自己会长出来。
方法 — 开发规范V1.0→V1.7演进:
- 语义化节点ID:12_book、111_scam,不限制长度和格式
- 条件系统:hasFlag、and、or
- 单文件架构:index.html + style.css + game.js + JSON数据
教训 — 按需拆分原则:当 game.js 超过 500 行、需要战斗/复杂数值系统、出现可复用模块时才拆分 JS。不提前过度设计——有了量化指标后再做。
方法:在新会话中通过快照文档快速恢复上下文:
- 项目状态
- 已确认逻辑(装备路径映射表、分支设计的每处决断)
- 已知问题("身份显示有时仍为布衣")
- 下一步计划
方法 — 六层路由坐标体系:
``
01 . 03 . 04 . 05 . 06 . 07
州 郡县 功能区 细分区 位置 元素
`
2位补零,.分隔,00表示层级"自身"。整齐易grep,扩展性足。
方法 — 引擎级联加载(5层):
1. 初始化世界环境+角色状态
2. 读城市骨架判定是否可进入
3. 基于团结参数过滤可交互热区
4. 读NPC/告示元数据渲染内容
5. 基于角色状态选匹配文案
方法 — 按功能拆分文件:config.js(路由常量) / world.js(城市骨架+热区) / dialogues/(按路由ID命名) / effects/(按郡县分文件)
教训 — script标签方案优先:废弃ES6 import → 走<script>标签加载。不依赖CORS配置,兼容所有部署环境。关键历史决策。
教训 — 地图数据四层拆分:World > Region > City > Scene。占位骨架防拍脑袋——先建地形框架,再解锁具体内容。
教训 — effects/按郡县分文件:逐级新增时只改一个文件,避免多线开发冲突。
教训 — 事件节点物理位置优先:在未确定"翻仓库"和"蜈蚣洞碰运气"的物理位置(蜈蚣洞 vs 土城)之前就设计了分叉逻辑,导致分叉爆炸——3×2=6条线,其中一条的来源无法解释。设计多分支结构时,必须先确定每个事件节点的物理位置和触发时机,再进行分支树推算。
方法 — 分叉收束技术:将礼物选择从婚礼阶段移到攻城战与守城战之间,6条路线按道具状态收束为4个镜像节点,每条镜像对应不同的道具组合和可选选项。
方法 — 定义域与值域分离:
- 定义域(静态JSON模板:items.json, effects.json, loot.json)— 从不改变
- 值域(运行时数据:gameState)— 唯一可变源
- 两者永不混合
方法 — 装备实例唯一性:每件装备独立instanceId,装备槽只存实例ID引用而非完整对象。同名装备不合并——每件都是独立实例。
方法 — 属性计算纯函数:recalculateCombatStats()作为唯一入口,模板stats + 实例bonusStats + 效果modifiers → player.finalStats,计算结果缓存。
方法 — 跳点系统:special/rare品质装备30%概率触发跳点,最多连续7次。
方法 — 数据驱动的效果系统:效果不硬编码为if/else枚举,通过modifiers对象+模板参数+叠加规则驱动。
踩过的坑:
| 坑 | 正确做法 |
|---|---|
装备槽存itemId字符串 | 存instanceId,否则丢失实例信息 |
| 同名装备合并 | 每件独立实例,永不合并 |
战斗直接读items.json | 只能读player.finalStats |
| 效果用if枚举 | 数据驱动+modifiers对象 |
| 属性计算散落各处 | 统一在一个函数中完成 |
踩坑 — 三个技术依赖陷阱:
| 坑 | 表现 | 应对 |
|---|---|---|
| Write工具中文路径 | 编码损坏 | 中文路径改英文 |
| PowerShell中文参数 | cmd编码层截断 | 避免传中文给PS |
| 用户暂停内存缓冲 | 数据可能丢失 | 暂停前手动确认落盘 |
教训 — 先验证再复制:花了大量时间在错误文件上(LuoCheng_BirthRecord.md被修改过),后来才发现真正的原始文件是ifliucheng.txt。
教训 — 75%解决率上限:连续三次同类失败,直接问用户,不要继续猜。
方法 — 三标签源文件标注:[N]叙事 / [C]选项 / [M]元叙事(丢弃)。在源文件预处理阶段标注,避免前端代码拆东墙补西墙。
教训 — 源文件标注缺失是一切前端补丁的根因:当源文件缺乏清晰的节点边界和内容类型标记时,前端代码不可避免地变成补丁堆砌。不应在代码层面打补丁来掩盖素材端的问题。
方法 — 三包体系:
| 包 | 位置 | 职责 |
|---|---|---|
| 阅读器包 | V1.0_Reader/ | 成品,唯一真值,用户加载 |
| 开发包D盘 | V1.2_Optimization/ | 参考存档,不作为修改依据 |
| 开发包workspace | %user%/.qclaw/workspace/ | 唯一工作区,所有修改在此 |
修改只在workspace进行,完成后同步到阅读器包。story.json是唯一数据源,两份JSON必须一致。
方法 — 配图跟随阅读流程:每路线前3个节点全覆盖(抓住入口)+ 后续重点节点(深化体验)。
方法 — 图片处理流水线:原图(2-6MB) → PIL WebP压缩(最大500KB,超2560px则resize) → JSON的image字段。
教训 — 优先清空旧任务列表:专注单一任务是保持执行效率的关键。
方法 — 热区坐标交互:场景"规划桌前"使用热区坐标技术实现可点击交互区域(地图、州郡书卷、杯子)。
教训 — "审美要融洽"原则:又冷又硬的内容(制度叙事/规则自生长)不能配Q版萌系视觉。正确方向是"水墨×电路"的碰撞感。
教训 — 框架不重写,内容随便换:每次快要出提示词时,就会发现还有一个"审美融洽"问题没解决。这是探索式创作而非执行式工程。解法:先做最小骨架验证方向,方向对了再扩展。视觉风格必须与内容类型相匹配,不能"先美化再填充内容"。
方法 — 三类视觉风格决策树:
- 技术规范/代码 → 科技感深色(--bg: #0d1117)
- 项目报告/叙事 → 暖色叙事浅色(--bg: #faf8f5)
- 检查清单/任务跟踪 → 秩序感中性
方法 — 7个可复用HTML组件:元信息卡片(.meta)、信息表格(table)、卡片容器(.card)、步骤列表(.step)、树状结构(.tree)、标签(.tag)、折叠面板(details)
方法 — 标记位读写系统:存储在story.json的player_state中,控制选项分支和阶段切换。互斥规则防止矛盾状态(如同时携带木牍又选择隐匿进城)。
方法 — 民间互助层状态表:通过老妇/县吏/小孩三个NPC的行为变化反映城镇秩序状态,降级不可逆。
方法 — AI生成审查原则:审核清单顺序是"先看有没有点破,再看有没有振动"。设计师只写框架和种子,AI生成10版,设计师挑1版、改3处、定稿。
方法 — 统一章节标记格式:## 第X.X章 标题,通过四维统计(字节数-字数-卷号-章节数)评估内容量。
方法 — 先建索引再做事:项目文件分布广、版本多时,先建总索引(如001-龙虾玩耍池总索引.md),避免信息迷失。不同子目录的编码差异需在索引中明确标注。
6个散落文件夹 → 规范结构。折叠历史文件目录建立,备份区与工作区分离。架构范式开始在项目间复用。
核心基因确立:
> "渲染器管'怎么画',配置管'画在哪'。"
取色器 → 天空渲染器 → 道路渲染器 → 地面渲染器 → 透视标定。
踩坑 — 两套系统各管一半然后混合:纵向锚点(7色)+ 横向cells(取1行)50%混合 → 各丢一半对比度,画面发灰。正确做法:一套系统同时管两个方向(双线性插值)。
踩坑 — startsWith匹配遗漏:startsWith('行 ')只匹配行1-9(行后有空格),行10+无空格。改用正则/^行\s*\d/。
方法 — 透视标定:从路的收敛参数反推灭点(3.13,8.67)、scaleX=1-0.1154×Y。照片只是找规则的参考,目标是程序化生成不依赖照片。
方法 — C/B/A三层架构:不是三个功能,是三个时间尺度。C层管参数关系,B层管地质尺度的慢变(岁差),A层管人类观测尺度。
方法 — 物理归约到原语:重力(管形) + 光学叠加(管光) + 三原色(管色)。多一样不需要,少一样不够——游戏场景渲染的完备集。
方法 — e域入口(对数缩放):径向距离用ln(r+1)/r压缩,同一视图显示全太阳系。不是重写轨道方程,是在显示层加一个数学变换。e是观测工具不是物理量。
方法 — 滑块对数映射:map滑块0-1000 → 缩放0.05×-3.0×,小值区域占73%行程,优先给外行星留操作精度。
教训 — 滑块ID生成逻辑:bindRange自动生成显示元素ID与HTML实际ID不匹配,9个滑块8个数值显示失效。改用显式传displayId参数。
踩坑 — ImageData类型:starBuf必须存为ImageData对象(非Uint8ClampedArray),putImageData才接受。
关键设计决策:
- 画布尺寸不改,加缩放(海王星需10400px不现实)
- 月球不加(0.4px不可见,属另一视图)
- 美化拒绝(诚实模拟哲学)
- 用户确认:最有兴奋感的是"搭出一个结构",不是"算出一个结果"
方法 — 三级空间层级:Hero卡片(视觉权重2×,渐变背景+铜色左边框+SVG装饰) → 分组(label+渐变线) → 紧凑卡片。
方法:宝石中心=(0,0,0)一次定义永不重算。法向量只计算一次。避免相对坐标累积误差。
方法 — 三文件分离架构确立:config(JSON) + engine(纯计算) + viewer(纯展示)。这成为后续所有项目的架构范式。
方法:祖母绿色偏青的根因→单吸收峰只去红光,透射剩蓝+绿=青。真实祖母绿有红+蓝紫双吸收带。新增第二高斯吸收峰解决偏色。
踩坑 — sigma传递链:_computeAbsorption改用params.absSigma/absSigma2(per-preset),不再只用defaults。
方法:baoshiv1.0从旧版回填4功能(自动旋转、Canvas自适应、彩虹滑轨、说明面板),所有回填参数存入config.uiSettings,renderer.js零改动。——这是三文件架构的优势验证。
v0.1→v0.2→v0.3→v0.4→v1.0,5个版本在一天内完成。
方法 — 三种透视模式分路计算:gradient(1-slope×Y) / flat(1.0恒定) / split(近flat+远gradient)。不同类型用不同公式。
方法 — 布局框替代尺寸数值:绘画AI对"米"无概念,但能理解四角坐标围成的区域。
方法 — 交互模式B:引擎推荐最佳位置(评分系统:避开危险区+不超上限+不遮挡焦点+优先近景)→ 用户确认放置。
方法 — detailHint占位符:导出提示词中每个元素前加"(补充[...])",明确告知AI没填的内容。
方法 — 坐标翻转只在导出层:内部保持Y=0底→Y增向上,导出时翻转为标准坐标系。内部一致性优先,适配工作在边界层做。
| 坑 | 正确做法 |
|---|---|
| JSON尾部逗号 | 每次改JSON后用Python json.load验证 |
| fetch在file://失败 | 内联fallback配置(script type="application/json") |
| 中文文件夹名部署 | 统一英文命名,index.html用英文路径 |
| canvas border点击偏移 | 点击用wrapper的rect,不含border |
| (y/ch)*h均匀映射非均匀行 | 用行的topPx/heightPx精确计算 |
在三个不同项目中反复出现同一个bug模式:
| 项目 | 场景 | 表现 | 根因 |
|---|---|---|---|
| 浑天 | 旋转地球 | 旋转角度偏移 | 内部坐标(C层)和屏幕坐标混用 |
| 材料光学 | 宝石法向量 | 背面光照错误 | 面中心·法向量<0时用错参照系 |
| 景格 | 布局框绘制 | 元素偏位120+px | 内部坐标和导出坐标混用,均匀映射失效 |
不是"忘记翻转"的简单疏忽,而是系统性问题:
1. 隐式坐标系假设:每段代码默默假设Y的起点但从不显式声明
2. 单坐标系传值:跨层只传一个数(如y=12),接收方不知道是哪个坐标系
3. 翻转替换:接收方对数值做翻转,但若拿到的已经是翻转后的值→双重翻转
规则1:跨坐标系传值必须携带双系坐标值(internalY=12, stdY=4,而非只传y=12)
规则2:追加命名格式后缀(_int/_std/_canvas/_export),不做隐式翻转替换
规则3:用冗余换确定性。算好的有限参数组不会带来传输问题,但用错定义域的值才是真正的麻烦源。
`
取色器(数据) → 天空渲染器(渲染器) → JSON配置(分离) → 三文件架构(范式)
`
任何新工具启动时首先确定:数据在哪、算法在哪、展示在哪。三个文件,三种职责,互不僭越。
| 阶段 | 行为 | 触发 |
|---|---|---|
| 遇到问题 | 当场修复 | 第一次 |
| 意识到模式 | 关联历史 | 第二次同类问题 |
| 提炼为规则 | 写入长期记忆 | 第三次时必须提炼 |
材料光学和景格都用此定位:放在rugoi.com公开,不承诺迭代/服务/商业化。核心目标是概念验证——"这条路径是否可行?"
景格一天内从立项到部署,效率要素:
1. 架构范式已成熟(直接复制材料光学的三文件结构)
2. 数据已有(透视标定来自experiments,参考尺寸是共识)
3. 交互简化(B模式替代自定义布局)
4. 不追求完善只追求可用
设计师定义骨架、情绪、节奏。AI负责批量生成、替换、迭代。设计师只写框架和种子,AI生成10版,设计师挑1版、改3处、定稿。
多个总结文件标记为"活文档",每次更新需同步修改相关栏位并标注日期,保持可追溯性。教训文档(如ch3_6route_design_mistake_record.md)保留完整推演过程而非只记录结论。
| 原则 | 来源 | 含义 |
|---|---|---|
| 先定义标准再动手 | 6月初 | 规则清晰之后才有高效产出 |
| 素材端混乱在上游解决 | 6月中旬 | 不往代码层打补丁掩盖素材问题 |
| 不点破 | 6月下旬 | 情绪通过环境传递,不直接说出来 |
| 审美要融洽内容 | 6月下旬 | 视觉风格和内容类型必须匹配 |
| 定义域与值域分离 | 6月中旬 | 静态模板和运行时数据永不混合 |
| 按需拆分不提前设计 | 6月初 | 有量化触发条件(>500行)再做 |
| 先建索引再做事 | 6月中旬 | 大项目必有总索引 |
| 框架不重写·内容随便换 | 6月下旬 | 先做最小骨架验证方向 |
| 三文件分离 | 7月 | config+engine+viewer,数据/逻辑/展示三层解耦 |
| 多坐标系双值传输 | 7月 | 跨系传值同时带两个坐标,用冗余换确定性 |
| 文件 | 路径 |
|---|---|
| 长期记忆 | .workbuddy/memory/MEMORY.md |
| 每日日志 | .workbuddy/memory/2026-07-03~09.md |
| 景格三文档 | 景格/产品实现总结.md 计划表.md 立项报告.md |
| 浑天全过程 | experiments/doc/浑天_产品产生的全过程.md |
| 浑天日报告 | experiments/doc/2026-07-05_全过程报告.md |
| 重构大冒险 | 0.5版本重构大冒险/doc/大冒险.md |
| AI协同规范 | 折叠历史文件/docs/规范类/3.协同指令与输出规范.md |
| 装备系统经验 | 备份区/装备系统的经验.md |
| 分支设计教训 | 备份区/ch3_6route_design_mistake_record.md |
| 六层路由规范 | 备份区/kfguifanv1.32.md |
| 开发规范V1.7 | 备份区/开发规范V1.7.md |
| 龙虾总索引 | 备份区/001-龙虾玩耍池总索引.md |
| 相遇握手协议 | 备份区/最初的相遇与握手协议V0.1.md |
| 三包体系 | 备份区/龙虾计划_完整工程报告.md |
| 每日日志(6月) | 备份区/doc/2026-06-12~25*.md |
| v1.3游戏规格书 | 备份区/v1.3.md |
| 内容总结 | 备份区/苏铭系列/内容总结与未来计划.md |
| 快照文档 | 备份区/当前讨论快照.md |
| md转html规范 | 备份区/规范类/md_to_html_转换规范.md |
| books检查报告 | 备份区/doc/books_check_20260616.md |
| 文件转化注意 | 折叠历史文件/docs/转化注意事项.md |
方法:从五个月的全部踩坑中提炼出最基础的七条规则:
① 人清楚要做什么 — 人定义规则层,AI填充内容层。"不清楚怎么实现"不是短板,是正确位置。
② 人判断可用/需调 — 人有权决定AI的产出是否能用、是否需调整。AI不能替人做判断。
③ 数据源/算法/输出单列 — 三者不混在同一步骤中。数据从哪来、怎么算、结果放哪——每一步只做一件事。
④ 变量名对齐 — 跨模块传递时变量名保持一致。换名意味着隐式翻转——接收方不知道新旧名的对应关系。
⑤ 过程中不断检查 — 每一步执行后都验证。不是"做完再查"——是"做完一步就查一步"。
⑥ 安全边界 — 命令和资料分离防间接注入。凭据不进对话框。越权操作先批准。
⑦ 交付触达 — 产出物放在用户触手可及的位置。PWA/微信收藏/书签/二维码——用户不需要"找到",用户需要"就在那"。
教训:基本法不是一次性写出来的——是从"环境叙事要间接"→"源文件标注不足导致前端补丁"→"跨坐标系传值要双份"这条踩坑链中,一层一层反向提取出来的。每一条背后都有至少一个项目崩溃的代价。
方法:不是找正确答案——是先剔除不可能的。
实际应用链:
- 服务器限流 5→100 不是 1000 → 划掉过剩
- DDR4 200 球不追求 377 球 → 划掉不需要的
- 节点自检卡 → 划掉"不确定该不该停"
- 四要素规则 → 划掉"祈使句被当输出"
- "谁最不应该是帅" → 划掉不可能的答案
深层机制:划掉之后,概率的微弱优势已经在了。剩下的不是精确计算——是时间本身会把 40%、35%、25% 的概率压成 100% 的事实。排除法不是在找对——是在移除错。
方法:最小权限不是安全域特有的——是全域的。
在不同层的同构投影:
- 安全层:Claude Code 关文件隔离但保留网络——关该关的,不多关
- 硬件层:DDR4 200 球刚好——DDR5 377 球在消费级是过剩的
- 显示层:480×720 在电脑尺寸上已完备
- 执行层:节点扫描只能 Read+WebSearch,不能 scp——节点级最小权限
教训:"刚好够"不是"最便宜"。最便宜意味着将就。刚好够意味着所有多余的东西都不在账单里。
方法:三条线同时跑——政策验证、技术验证、社区发现——各自独立出发,在同一个点上交汇。不是算出来的,是线撞在一起自己亮的。
应用:
`
三大厂停产 DDR4 →
IoT 需求还在增长 → 三根线在同一个点上交汇:不减仓
产能 18 个月补不上 →
`
教训:最好的分析不需要"公式推出来"。只需要把分开的线拉回来——它们自己会告诉你交叉点在哪。
方法 — 黄金五段结构:每条可粘进 AI 对话框的指令必须包含五段:
① 角色定义 — "你是XX助手"
② 输入说明 — "请提供:〔参数1〕〔参数2〕"
③ 执行方法 — "按以下步骤:①...②...③..."
④ 输出格式 — "输出格式:... 列1 列2 ..."
⑤ 约束条件 — "不要/禁止/不允许..."
方法 — 四要素动作指令:每条动作指令必须包含 动作词(分析/检查/输出)+ 对象(分析什么)+ 方法(按什么维度)+ 位置(输出到哪里)。缺任一个 = 歧义。
方法 — 每日内容引擎:7维市场扫描(AI热点/商学院/GitHub/大众层/非技术学习/大学生/评论)→ 对照去重 → 自动建文件 → 自动部署 → 自动日志。从手工生产到全自动闭环。
方法 — 蛮荒社区发现:五轮全社区扫描发现——真正的大规模提示词工程师不在技术社区,在游戏/乙女/跑团/QQ群/卡片圈。他们管它叫"咒语""人设卡""攻略""调教",做的事跟工作流 .md 完全同构。
方法 — 13层扫描修复链:Meta Description → OG → canonical → Schema → bytedance时间因子 → sitemap。不是"先列清单再逐一修"——是每修一层、验证一层、再修下一层。发现一个修一个会遗漏;一次性全列再修会混乱。分层递进是唯一稳定路径。
教训 — "描述"vs"执行"的区别:自动化计划中用祈使句描述操作("注册到注册表""嵌入标签"),AI 会写进报告而非执行文件修改。必须用精确的工具调用模板(工具名 + 目标文件绝对路径 + old_string + new_string)。
方法 — slot 通信机制:节点之间传递结果不依赖 API、不依赖消息队列、不依赖数据库。一个文件夹里的 JSON 文件——节点 A 写完,节点 B 等着读。这个文件就是 slot(槽位)。
优势:松耦合。节点 A 不需要知道节点 B 的存在。只需要知道"我的输出写在这个位置"。路由检查器负责发现"这里有个完成的结果,该轮到谁了"。
紧追 — 原子写入:先写 .tmp → 完整写入后 rename 为 .json。防止路由检查器读到半截文件。
方法 — 巴别塔协议对齐:同时产出两份文件——原生 JSON(内部路由使用)+ 巴别塔 JSONL(外部 Agent 读取)。不需要 SDK,不需要注册中心——能读写文件就能参与这条链路。
验证 — sleep 不可靠:自动化计划环境中 sleep 接力失效——08:56 检查→sleep 15m→09:11 未恢复。轮询模式在跨步骤接力中被截断。
替换 — watchdog 文件监听:从"每 5 分钟扫一次"切换为"文件变了立即触发"。pip install watchdog——不造轮子,用 Python 标准生态已维护多年的库。
发现:robocopy 的 /R:2 /W:5` 揭示重试 = 两个独立参数——
- R(重试次数)和 W(等待间隔)必须解耦
- 不同错误类型需要不同的 R/W 配置:安全类身份错误不重试,文件写入中等待 60s
- HTTP 层的 R/W 不需要自己实现——urllib3.Retry 已经维护了十年
教训 — 生态对齐:我们发现的"应该 R/W 分离"模式,Python 生态十年前就实现了。不是"我们也想到了"——是"它一直都在,我们刚发现有现成的"。
架构 — 五层:L1依赖→L2路径→L3执行→L4异常→L5仲裁。
执行基元:①看规则 ②取数据 ③运行 ④送回去。每一步只做规则定义的事。规则没说做的,不做。
演进:Phase 1(schema定义)→ Phase 2(路由验证·只读)→ Phase 3(执行模式)。从概念到可执行引擎 < 48 小时。
L5 仲裁层:异常发生时 🚨 醒目标注 + Alert 对象 + 等待人决策(继续/终止/跳过)。计算机能做的是 L1-L4——L5 只有人能判断"这个错误在当前情况下是否可以接受"。
三包模型:A开发域(可写) → B镜像(真相源) → C生产(逻辑独享写)。发布后 C 刷 B 维持 B=C。
强制 SOP:部署前拉 C 端当前版 → 合并冲突 → 部署后 curl 验证 3 特征点 → diff 一致性检验。强调≠检查——diff 和 curl 才算检查。
教训 — 跨会话覆盖事故:不同对话框的部署互相覆盖。根因——没有先拉 C 端当前版确认最新状态。
四端备份:A开发域 / B服务器镜像 / C生产服务器 / D局域网备份。引擎自身无状态——数据在 slot 文件中,引擎崩了重启即可。
新增原则(2026年7月10日~22日):
| 原则 | 来源 | 含义 |
|---|---|---|
| 排除法 | 7/21-22 | 不是找正确答案——先剔除不可能的。划掉后剩下的自动对齐 |
| 刚好够 | 7/21-22 | 最小权限是全域的。从DDR4到节点权限——只给必要的,不给多余的 |
| 信息塌缩 | 7/21-22 | 多条独立线各自出发,在同一个点交汇。不是算出来的 |
| 生态对齐·不造轮子 | 7/22 | 能用领主标准解法的,不用自己的。能用库的,不手写 |
| R/W分离 | 7/22 | 重试次数和等待间隔是两个独立参数。HTTP层用urllib3.Retry |
| 事件驱动 | 7/22 | sleep轮询不可靠——watchdog文件监听替代 |
| 文件系统消息总线 | 7/21-22 | slot文件=节点间信箱。原子写入防半截文件 |
| 减法优先 | 7/21-22 | 砍掉不需要的维度后,剩下的核心自动对齐 |
| 自动化不可猜测 | 7/18-22 | 自动化计划中祈使句被当输出——必须用精确的工具调用模板 |