失败案例库 (Failure Case Studies)¶
每个案例都是从真实事故中抽象而来,用于教学和模式验证。
模式告诉你「应该怎么做」,失败案例告诉你「不做会怎样」。后者更难伪造,也更难忘记——所以每篇都开篇一句「如果你只记一句话」。
案例索引¶
| 案例 | 类型 | 影响 | 如果你只记一句话 | 涉及模式 |
|---|---|---|---|---|
| runaway-cron-tokens | 资源失控 | 一夜烧掉 $47 API token | 没有 max_iterations 和预算的 cron,等于把信用卡交给一个不会累的员工 |
cron-job-pattern |
| silent-data-corruption | 数据损坏 | 连续 3 天产出错误报告 | 上游 schema 变了不会报错,只会安静地错 | maker-checker, checkpoint-pattern |
| concurrent-state-conflict | 状态冲突 | 两个 agent 互相覆盖 STATE.md | 先读后写 + 共享一个文件 = 必然互相覆盖 | state-file-pattern, multi-agent-isolation |
| prompt-injection-escalation | 安全漏洞 | 从网页注入执行了未授权命令 | 网页内容永远是数据,不是指令 | secret-management, anti-patterns |
使用方式¶
每个案例遵循统一结构:
- 如果你只记一句话: 开篇摘要,读完标题就能带走的那条规则
- 场景描述: 发生了什么,面向非技术人员也能理解
- 根因分析: 哪个 pattern 缺失导致了这个问题
- 事故日志: 脱敏后的关键日志片段(时间戳、token 用量、错误信息)
- 解决方案: 具体引用哪些 convention 文件来修复
- 关联模式: 到 conventions/ 的链接
如何贡献新案例¶
- 从真实事故中提取,脱敏处理
- 确保能映射到至少一个 existing convention
- 提交 PR,标题格式:
[failure] <案例名>