跳转至

附录 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 章)

  1. 跨任务性:规范应该对多个任务都有效,而不是只针对一个具体任务
  2. 可组合性:多个规范可以叠加使用,不产生冲突
  3. 可验证性:规范的遵守情况可以被自动检测(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%,输出质量会显著下降。