反模式与清单¶
English | 中文
按阶段整理常见错误,并给出防止它们的控制。
设计反模式¶
| 反模式 | 为什么失败 | 更好的模式 |
|---|---|---|
| 提示词当策略 | 提示词描述规则,但不执行 | 在架构边界执行策略 |
| 模型当架构 | 模型是组件,不是系统 | 显式层次、契约与控制 |
| 一个 Agent 包办一切 | 范围与权限无界 | 角色、能力与委托限制 |
| 向量库当记忆 | 索引不是记忆架构 | 分离上下文、记忆、知识锚定、世界状态 |
| 日志当证据 | 日志为调试优化,不为证明 | 结构化、关联、保留的证据 |
| 共享数据库集成 | 耦合 schema 并绕过策略 | 版本化契约与 API |
| 没有退出路径 | 锁定与无界成本 | 开放接口层与可替换适配器 |
| 仿真当装饰 | 演示不是实验 | 可复现矩阵与溯源 |
构建反模式¶
| 反模式 | 为什么失败 | 更好的模式 |
|---|---|---|
| 无界工具 | Agent 能做太多 | 最小、显式能力 |
| 长期共享密钥 | 身份弱、撤销慢 | 工作负载身份与短期令牌 |
| 直接外部调用 | 凭据与出口不受控 | 受治理网关 |
| 没有步数或成本限制 | 循环失控、钱包拒绝服务 | 预算与步数限制 |
| 没有幂等的重试 | 重复效果 | 幂等键与效果记录 |
| 只测一条快乐路径 | 概率系统失败方式不同 | 分布测试 |
| 未签名产物 | 供应链风险 | 签名与溯源 |
运维反模式¶
| 反模式 | 为什么失败 | 更好的模式 |
|---|---|---|
| 没有恢复计划 | 失败变成事故 | 检查点与持久流程 |
| 没有撤销路径 | 权限无法收回 | 撤销经过测试 |
| 没有人类接管 | 系统无法停止 | 干预与急停 |
| 证据不保留 | 无法审计与学习 | 保留与访问控制 |
| 没有回滚 | 坏变更持续 | 版本化发布与回滚 |
| 治理只在最后把关 | 来不及改设计 | 在边界治理 |
清单¶
设计评审¶
- [ ] 问题与成功标准显式。
- [ ] Agent 类型与自主性级别已命名。
- [ ] 控制平面已识别。
- [ ] 证据链已设计。
- [ ] 失败与恢复路径已定义。
- [ ] 退出路径可接受。
安全评审¶
- [ ] 身份基于工作负载。
- [ ] 能力默认拒绝。
- [ ] 出口受治理。
- [ ] 密钥被注入,而非嵌入。
- [ ] 产物已签名。
- [ ] 委托会衰减。
- [ ] 撤销已测试。
运维评审¶
- [ ] 有预算与步数限制。
- [ ] 证据完整并保留。
- [ ] 恢复已测试。
- [ ] 人类接管有效。
- [ ] 模型/策略/技能变更触发重新验证。
- [ ] 有回滚。
发布评审¶
- [ ] 契约通过。
- [ ] 有验证证据。
- [ ] 变更被理解。
- [ ] 风险由责任人接受。
- [ ] 回滚就绪。
最简单的测试¶
问:如果这个 Agent 明天做错事,什么阻止它、什么证明它、谁能关掉它? 如果答案是“提示词”,设计还没有完成。