跳转至

附录 A:快速参考卡片

本附录将全书 15 章的核心判断框架浓缩为速查表,供你在实际工作中快速查阅。


一、上下文组织三原则(第 9 章)

位置 放什么 原因
开头(System Prompt) 行为约束、角色定义、核心规则 注意力最强 + Prompt Caching 友好
中间(对话历史) 背景信息、参考资料、历史对话 注意力最弱,放辅助信息
结尾(用户消息) 当前任务的具体指令和关键信息 注意力第二强,离输出最近

记忆法:约束在前,背景在中,指令在后。


二、分层压缩策略(第 9 章)

上下文层 压缩策略 压缩强度 原因
System Prompt 不压缩 每个字都影响行为
工具描述 选择性注入 只注入当前任务相关的工具
对话历史 摘要压缩 保留决策和结论,丢弃讨论细节
工具结果 激进压缩 只保留与当前任务相关的部分
记忆注入 控制数量 Top-K 相关记忆,控制注入条数

核心思路:不同层的信息密度不同,可压缩空间也不同。System Prompt 一字千金,工具结果通常最冗余。


三、规范设计三原则(第 11 章)

  1. 跨任务性:规范应该对多个任务都有效,而不是只针对一个具体任务
  2. 可组合性:多个规范可以叠加使用,不产生冲突
  3. 可验证性:规范的遵守情况可以被自动检测(lint、测试、LLM-as-Judge)

三类规范的叠加使用:

维度 行为偏好持久化 变更级规范 能力级规范
颗粒度 横切:影响所有任务 纵切:一次变更 纵切:一个能力
生命周期 长期稳定,偶尔更新 一次性,归档冻结 和代码同寿,持续演进
修改入口 偶尔手动评审更新 写完冻结,新变更写新档案 规范先行,再改代码
典型形态 .cursorrulesAGENTS.md OpenSpec changes/ 下的提案 OpenSpec specs/ 下的规范

判断标准:横切的行为底色写进行为偏好,一次性的决策档案写进变更级,长期能力的活文档写进能力级。三者叠加,谁也替代不了谁。


四、安全四层模型(第 12 章)

名称 技术手段 拦截对象
L1 输入过滤 正则匹配 · 关键词黑名单 · 语义分类器 已知攻击模式
L2 结构隔离 XML/JSON 标签分隔 · 角色标注 · 数据引用 指令注入
L3 输出校验 敏感信息正则 · 危险操作白名单 · LLM-as-Judge 信息泄露 / 危险操作
L4 权限最小化 只读/写入/危险三级分类 · 沙箱 · 路径白名单 限制最坏情况影响范围

核心公式: P(攻击成功) = 各层穿透率之积 ≈ 0.5⁴ = 6.25%

设计原则: 每一层都假设其他层已经失败。


五、多 Agent 使用判断(第 6 章)

** 适合多 Agent:** - 任务天然可分解为独立子任务(如:多模块分别写测试) - 任务需要不同角色(如:写代码 + 审代码) - 单 Agent 上下文不够用

** 不适合多 Agent:** - 任务本身不复杂(写一个函数、修一个 bug) - 子任务之间高度耦合 - 对一致性要求极高(原子性重构) - 调试和可观测性不成熟

判断标准:如果你不确定该不该用多 Agent,那就不要用。


六、评估策略选择(第 13 章)

任务确定性 示例 验证方法 成本
格式转换、正则生成 精确断言 $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 分钟)


八、上下文窗口分配参考(第 9 章)

区域 相对占比 内容
System Prompt + 规范 角色定义、核心规则、OpenSpec
Skill 指令 当前场景加载的能力包
工具描述 小到中 当前可用工具的 Schema
记忆注入 相关的长期记忆片段
RAG 知识 检索到的代码/文档片段
对话历史 中到大 压缩后的历史对话
剩余(任务空间) 至少留够 留给当前任务的输入和输出

判断标准:非任务空间(规范 + Skill + 工具 + 记忆 + RAG + 历史)加起来应该给任务空间留出足够余地。具体分配没有普适基准,取决于任务类型;但任务空间被挤到明显偏小时,输出质量会开始下降,也就是说这时应该重新平衡分配,而不是继续往里塞更多背景信息。