附录 A:快速参考卡片
本附录将全书 17 章的核心判断框架浓缩为速查表,供你在实际工作中快速查阅。
一、上下文组织三原则(第 9 章)
| 位置 | 放什么 | 原因 |
|---|---|---|
| 开头(System Prompt) | 行为约束、角色定义、核心规则 | 注意力最强 + Prompt Caching 友好 |
| 中间(对话历史) | 背景信息、参考资料、历史对话 | 注意力最弱,放辅助信息 |
| 结尾(用户消息) | 当前任务的具体指令和关键信息 | 注意力第二强,离输出最近 |
记忆法:约束在前,背景在中,指令在后。
二、选型决策树(第 11 章)
你的任务需要工具交互吗?
├── 否 → 用 Chat(纯对话)
└── 是 → 需要多步骤自主执行吗?
├── 否 → 用 Tool-Augmented Chat(带工具的对话)
└── 是 → 需要不同专业角色吗?
├── 否 → 用 Single Agent
└── 是 → 子任务之间高度耦合吗?
├── 是 → 用 Single Agent + 角色切换
└── 否 → 用 Multi-Agent
判断依据: - "需要工具交互" = 任务需要读写文件 / 执行命令 / 调用 API - "多步骤自主执行" = 步骤数 > 1 且步骤间有依赖关系 - "不同专业角色" = 子任务需要互斥的 Skill 集或独立上下文
三、分层压缩策略(第 9 章)
| 上下文层 | 压缩策略 | 压缩比 | 原因 |
|---|---|---|---|
| System Prompt | 🔒 不压缩 | 1:1 | 每个字都影响行为 |
| 工具描述 | ✂️ 选择性注入 | ~3:1 | 只注入当前任务相关的工具 |
| 对话历史 | 📝 摘要压缩 | ~5:1 | 保留决策和结论,丢弃讨论细节 |
| 工具结果 | 🗜️ 激进压缩 | ~20:1 | 只保留与当前任务相关的部分 |
| 记忆注入 | 📊 控制数量 | ~8:1 | Top-K 相关记忆,控制注入条数 |
四、规范设计三原则(第 12 章)
- 跨任务性:规范应该对多个任务都有效,而不是只针对一个具体任务
- 可组合性:多个规范可以叠加使用,不产生冲突
- 可验证性:规范的遵守情况可以被自动检测(lint、测试、LLM-as-Judge)
规范的四个演进阶段:
| 阶段 | 形式 | 特征 | 适用场景 |
|---|---|---|---|
| 阶段一 | 自然语言提示词 | 灵活但模糊 | 个人探索 |
| 阶段二 | 结构化 Skill | 有格式但不可验证 | 团队初期 |
| 阶段三 | 声明式规范 | 可验证但需维护 | 团队成熟期 |
| 阶段四 | 可执行规范 | 自动验证 + 自动修复 | 规模化运营 |
五、安全四层模型(第 14 章)
| 层 | 名称 | 技术手段 | 拦截对象 |
|---|---|---|---|
| L1 | 输入过滤 | 正则匹配 · 关键词黑名单 · 语义分类器 | 已知攻击模式 |
| L2 | 结构隔离 | XML/JSON 标签分隔 · 角色标注 · 数据引用 | 指令注入 |
| L3 | 输出校验 | 敏感信息正则 · 危险操作白名单 · LLM-as-Judge | 信息泄露 / 危险操作 |
| L4 | 权限最小化 | 只读/写入/危险三级分类 · 沙箱 · 路径白名单 | 限制最坏情况影响范围 |
核心公式: P(攻击成功) = 各层穿透率之积 ≈ 0.5⁴ = 6.25%
设计原则: 每一层都假设其他层已经失败。
六、成熟度自评问题清单(第 16 章)
| 级别 | 核心问题 | 达标标志 |
|---|---|---|
| L0 | 团队有人在用 AI 编程吗? | 有人用 Chat 模式辅助编码 |
| L1 | AI 能自主执行多步任务吗? | Agent 环境已接入,能读写文件/执行命令 |
| L2 | AI 的输出风格在团队内一致吗? | 有共享的 Skill/Spec,有项目知识库 |
| L3 | 你能量化 AI 的输出质量吗? | 有评估集,有监控指标,出问题能追溯 |
| L4 | 模型升级时有回归测试吗? | 资产有版本管理,有灰度/回滚机制 |
大多数团队从 L0 到 L2 就能获得显著收益。
七、多 Agent 使用判断(第 6 章)
✅ 适合多 Agent: - 任务天然可分解为独立子任务(如:多模块分别写测试) - 任务需要不同角色(如:写代码 + 审代码) - 单 Agent 上下文不够用
❌ 不适合多 Agent: - 任务本身不复杂(写一个函数、修一个 bug) - 子任务之间高度耦合 - 对一致性要求极高(原子性重构) - 调试和可观测性不成熟
判断标准:如果你不确定该不该用多 Agent,那就不要用。
八、评估策略选择(第 15 章)
| 任务确定性 | 示例 | 验证方法 | 成本 |
|---|---|---|---|
| 高 | 格式转换、正则生成 | 精确断言 | $0 |
| 中高 | 算法实现、Bug 修复 | 单元测试套件 | $0 |
| 中低 | 重构、架构设计 | 属性验证 + 人工审查 | $ |
| 低 | 创意编码、文档撰写 | LLM-as-Judge + 人工 | $$ |
核心原则:用最便宜的 Gate 先过滤,把昂贵的验证留给少数通过前置检查的输出。
九、Token 成本速算(第 9 章)
| 场景 | 估算公式 | 示例 |
|---|---|---|
| 单次调用 | (System + 工具 + 历史 + 新消息) × 单价 | 14K tokens × $2.5/M = $0.035 |
| N 轮对话(无缓存) | N(N+1)/2 × 增量 + N × 固定开销 | 50轮 ≈ 182万 tokens ≈ $4.56 |
| N 轮对话(有缓存) | 约为无缓存的 30%-40% | 50轮 ≈ $1.5-1.8 |
Prompt Caching 生效条件: 1. 前缀完全一致(逐 Token 匹配) 2. 前缀长度 ≥ 1024-2048 Token 3. 两次调用间隔 < TTL(通常 5-10 分钟)
十、上下文窗口分配参考(第 13 章)
| 区域 | 建议占比 | 内容 |
|---|---|---|
| System Prompt + 规范 | ~10% | 角色定义、核心规则、OpenSpec |
| Skill 指令 | ~12% | 当前场景加载的能力包 |
| 工具描述 | ~10% | 当前可用工具的 Schema |
| 记忆注入 | ~8% | 相关的长期记忆片段 |
| RAG 知识 | ~15% | 检索到的代码/文档片段 |
| 对话历史 | ~25% | 压缩后的历史对话 |
| 剩余(任务空间) | ~20-30% | 留给当前任务的输入和输出 |
警告:如果任务空间被压缩到 < 15%,输出质量会显著下降。