|-----|-----------|------------|
| PID 冲突 | 创建时不设 PID | 不会自我拦截 || 模型迁移 | 启动时自检 | 首次启动就会发现模型不存在 |
| 消息失败 | 参数默认值用实例配置 | 不会用错误默认值 |用系统化调试技能(`systematic-debugging`)的方法论来解释:修复 Bug 本身只解决了"症状",真正的根因是**每一层边界都缺少验证**。输入没有校验格式、操作没有检查前置条件、输出没有验证一致性。修复策略叫"纵深防御"——在每一层都加检查点:- **输入层**:创建会话时校验名称格式
- **操作层**:重命名前先检查会话是否在运行- **输出层**:保存数据用原子写入(先写临时文件再替换,崩溃不丢数据)
- **恢复层**:异常处理用 `try/finally` 保证状态恢复---## 分 3:提示词优化的启发这次工作中用到的几个 AI 技能(skill),本身也是"好的提示词"的范例:1. **`systematic-debugging`** — 它让 AI 必须先找到根因再修,不能"随手改一下试试"。这跟写作文不能上来就改措辞、要先理清结构是一个道理。2. **`brainstorming`** — 强制 AI 先问清楚需求再动手。减少了一大半"做完了才发现不是你要的"的情况。3. **`writing-plans`** — 把设计拆成一口一口的任务,每个任务有明确的输入、输出和测试标准。**核心原则**:好的提示词不是"指令更详细",而是"流程更结构化"。告诉 AI **先做什么、再做什么、什么情况下停**,比堆砌细节描述有效得多。---## 总:今天可以复用的三条经验1. **代码的"约定"要显式化**。默认值不要硬编码,去问那个存了正确答案的地方。参数设计上,`None`("我不设默认,你自己去查")比 `"open_id"`("我就用这个,错了我不管")安全得多。2. **每个模块的边界都要验证**。输入校验格式、操作检查条件、输出验证一致性。现在多花的 10 分钟写检查,能省掉以后 2 小时的排查。3. **启动时做一次自我体检**。系统启动时花 3 秒验证"我能用的东西是不是真的可用",比跑了 24 小时后才发现推送全部失败要强一百倍。---*本次工作使用了 4 个 AI 技能:`superpowers:brainstorming`(需求设计)、`superpowers:writing-plans`(实施计划)、`superpowers:subagent-driven-development`(分任务执行)、`superpowers:systematic-debugging`(Bug 排查与复盘)。* ","createTime":1783263339,"ext":{"closeTextLink":0,"comment_ban":0,"description":"","focusRead":0},"favNum":0,"html":"","isOriginal":0,"likeNum":0,