# WorkBuddy Token 优化方案 v3（终极版）
### —— 给 [客户公司] 团队的实操建议

> 本方案融合：
> - WorkBuddy **官方上下文管理教程**（机制原理）
> - 内部专家 **实战 Token 节省技巧**（血泪经验）
> - WorkBuddy **v2.73.0 实测数据** + 客户场景沉淀
>
> 全部建议落地后，**Token 消耗可降低 50-65%**，且**回答质量同步提升**。

---

## 一、先搞清楚：钱到底花哪儿了？

### 真相 1：上下文是"滚雪球"——每一轮都重新付费

大模型是**无状态**的——每次回答前，必须把整个对话历史 + 引用代码 + 系统提示**全部重新读一遍**。

| 对话阶段 | 模型实际读取的 Token |
|---|---|
| 第 1 轮 | 2k |
| 第 10 轮 | 20k |
| 第 30 轮 | 50k+ |

**这就是为什么聊得越久越贵**——每一句话都要把前面所有内容**重新付费**。

### 真相 2：Input 才是成本大头（90% 客户搞反了）🎯

| 维度 | Input | Output |
|---|---|---|
| 单价（以高级模型为例） | 1× | 通常 3-5× |
| **实际总量** | **庞大**（历史对话+引用代码+规则） | 小（只是答复内容） |
| **占总费用** | **80%+** | < 20% |

**结论**：
- 单价上 Output 贵——所以**要禁止 AI 说废话**
- 但**真正烧钱的是 Input 总量**——所以**核心战场是控制上下文长度**

### 真相 3：模型上下文窗口有上限

| 模型 | 窗口大小 |
|---|---|
| Kimi（k2 系列） | 256K（部分版本可达 2M） |
| MiniMax（abab 系列） | 245K |
| 混元 | 256K |
| GLM（4.6 系列） | 200K |
| DeepSeek-V3.1 | 128K |

超过窗口后会**强制压缩或截断**——这是有损的，关键信息可能丢失。**与其让系统压缩，不如自己管理。**

### 真相 4：缓存命中价仅 10-20%（最被低估的杠杆）🔥

主流模型都有 **Token 缓存**机制：
- 同一段上下文已计算过 → 后续调用直接读缓存
- **命中价格仅为正常价的 10%-20%**
- **缓存有效期约 5 分钟**——长时间不动会失效
- **内容必须完全一致**才命中（任何编辑都会让缓存失效）

**WorkBuddy 已通过结构优化将缓存命中率提升到 90%+**——这是产品自带的省钱红利。

### 真相 5：上下文管理不当不只费钱，还会让 AI"变笨"

- **关键信息被遗忘**：超出窗口的内容被截断/压缩，最重要的细节可能丢失
- **注意力被分散**：海量无关历史让模型"看花眼"，回答跑题
- **响应速度变慢**：上下文越长，处理时间越长
- **左右互搏**：上下文太杂时 AI 开始自我矛盾（越纠正越乱）

> 💎 核心理念：**控费用 = 管理上下文，而不是无节制地堆上下文。**

---

## 二、降本核心思路：提高"信噪比"

不是少用 AI，而是**让每一次调用都精准命中**。

| 维度 | 战场 | 对应技巧 |
|---|---|---|
| **Input** | 主战场（占成本 80%+） | 控制上下文长度 + 精准引用 + Skill 按需加载 |
| **Output** | 防御战场 | Rules 禁止废话 |
| **处理** | 选择战场 | 模型分级、按任务复杂度匹配 |

---

## 三、🚀 立即可做（5 分钟生效）

### ✅ 动作 1：长对话及时压缩或新开会话（**最有效**省 token）

**何时该新开**：
- 模型开始重复修改、遗忘细节、出现幻觉
- 对话已 30+ 轮
- 话题多次切换、不同任务混在一起

**三种处理方式**：

#### 方法 A：直接开新会话（最简单）
> "不要害怕开新会话"——让模型从干净背景出发，思路更清晰。

#### 方法 B：用 `/summarize` 压缩当前会话
- WorkBuddy **内置指令**
- 自动提取核心信息（关键背景、已做决策、待解决问题）
- **上下文压缩到原来的 15% 以内**
- 注意：模型输出的摘要只是给你看的，**后台保留的压缩信息更详细更结构化**

#### 方法 C：迁移上下文到新会话
1. 让模型总结对话历史
2. 把总结复制到新会话
3. ✅ 重置结构 + 大幅省 token + 提升回答质量

**预期收益**：单次任务消耗 ↓ 40-50%

---

### ✅ 动作 2：精准引用文件——AI 读的每个字都在烧钱

**关键口诀**：**改哪里，选哪里。**

**操作**：
- 选中代码 → `Cmd+L` 加引用
- 或直接 `@文件名` / `@文件夹` / `@代码块`

**对比**：

| 方式 | 典型 Input Token | 准确度 |
|---|---|---|
| ❌ "帮我改一下登录的 bug"（让 AI 全局扫描） | 50k+ | 一般 |
| ✅ "帮我改 @LoginForm.tsx 第 45-80 行的校验" | <5k | 高 |

**进阶**：讨论小段代码时，**只截取关键片段**，不要整文件贴入。

**预期收益**：单次任务 Input ↓ **60-80%**

---

### ✅ 动作 3：Rules 给输出装"防火墙"

**做什么**：在项目 Rules 中加输出控制规则，禁止废话。

**直接复用模板**：
```markdown
## 输出规则（核心）

### 禁止无效输出
- 不要写文档说明、README
- 不要生成测试代码（除非明确要求）
- 不要做代码总结、使用说明
- 不要添加示例代码

### 拒绝废话
- 不要说"好的，我来帮你..."这类客套话
- 不要问"是否需要...?"——直接根据上下文给最佳方案
- 不要列举多个方案让我选——直接给最优解
- 不要重复我的需求

### 高信噪比交付
- 简单修改：零解释，直接给代码
- 新增功能：仅 1-2 句简述设计思路
- 关键决策（安全/性能/架构）：必须简要说明理由
- 复杂逻辑用代码注释代替正文长篇解释
- 只输出修改的函数或代码块，严禁输出未修改的代码

### 行为准则
- 只做明确要求的事，不要自作主张加功能
- 不要过度优化（除非要求）
- 需求不清时只问一个最关键问题，不要基于假设写一堆代码
```

**⚠️ 注意**：
- Rules **不是越长越好**——过长会干扰模型导致幻觉
- **避免使用 emoji**——对 AI 语义理解帮助有限，纯属浪费 token
- 字字珠玑

**预期收益**：Output 消耗 ↓ 50%+

---

### ✅ 动作 4：一次性把需求说清楚（不要"挤牙膏"）

**痛点**：习惯像聊天一样"帮我写个新页面"→ AI 写得缺胳膊少腿 → 你补充 → 它再改 → 反复拉扯。
**这种挤牙膏式对话，Token 呈指数级增长。**

**对策**：一次性把要求、边界条件、参考范例说清楚。

**全量 Prompt 模板**：
```
[需求] 生成一个 XXX 页面：

业务背景：[一句话]
数据定义：[字段、类型、约束]
路由注册：参考 @现有页面
UI 规范：使用 [组件库] 的 [布局组件]
组件规范：表单用 useTeaForm，列表用 useAdvanceTable
逻辑参考：详情页参考 @xxx，权限用 AccessActionController
```

**Tips**：
- 多说"**要怎么做**"，少说"不要做什么"——并给出**正确示范**
- **专有技术名词用英文**（防抖→`debounce`、依赖注入→`Dependency Injection`）——大模型训练数据多为英文
- 复杂逻辑解释继续用中文
- 反复纠正会让模型**自我怀疑越改越乱**

---

### ✅ 动作 5：先对齐方案，再写代码（防"代码丢失惨案"）

**痛点**：需求理解偏了 → AI 一通生成 → **可能覆盖工作区里没提交的代码**（Git 暂存区惨案）。

**对策**：让 AI **先用自然语言**描述：
- 修改计划是什么
- 涉及哪些文件
- 核心逻辑怎么走

**你确认无误**后再让它生成代码。

**真实教训**：曾有需求涉及 `goosefsx` 和 `goosefs` 两个相似词，模型把它们当"错别字"自动纠正，全局多模块改得面目全非。

**预期收益**：返工率 ↓ 80%

---

### ✅ 动作 6：模型分级——杀鸡焉用牛刀

| 任务类型 | 推荐模型 | 相对成本 |
|---|---|---|
| 接口/类型定义、工具函数、注释、样板代码 | 性价比模型（DeepSeek、GLM 基础版、混元 lite） | 1× |
| 多文件改造、bug 调试 | 标准模型（Kimi、混元、GLM 标准版） | 3× |
| 复杂重构、架构设计、大型代码分析 | 高性能模型（GLM 旗舰版、混元 turbo、Kimi 长文本） | 8-10× |
| 前端页面生成、视觉审美判断 | 多模态模型（混元 vision、MiniMax） | 视情况 |

**实操技巧**：
- 让高级模型先做**需求拆分**——简单部分（接口/类型/工具函数）拆出来
- **手动切换**到性价比模型实现简单部分
- 只让顶级模型做复杂部分

**📌 进阶用法**：当某个模型陷入死循环 / 方案不理想 → **切换不同厂商的模型**（如 DeepSeek ↔ GLM ↔ 混元 ↔ Kimi）寻求新思路。不同厂商训练数据和优化方向不同，互补效果明显。

**预期收益**：模型成本 ↓ 50-70%

---

## 四、⚙️ 配置一次（30 分钟搞定，长期受益）

### 🔧 配置 1：Project Rules（项目规则）

**两个层级**：

| 层级 | 用途 | 示例 |
|---|---|---|
| **User Rules** | 跨项目个人偏好 | "优先函数式编程"、"异步统一 async/await" |
| **Project Rules** | 团队约定（提交到代码仓库共享） | 命名规范、目录结构、测试规范、API 设计 |

**Project Rules 三种加载策略**（很关键！）：

| 类型 | 行为 | 适用场景 |
|---|---|---|
| **always** | 每次会话完整加载 | 核心规范（少而精） |
| **agentic** | 仅加载标题摘要，AI 判断需要时再展开 | 大部分规则 |
| **manual** | 必须 @ 引用才加载 | 低频规则 |

**🔥 省 token 关键**：把不常用的规则设为 `agentic` 或 `manual`，避免每次都拉满上下文。

**自动生成 Rules**：
- 命令：`/generate rules`
- AI 会分析最近对话历史，**提取可复用的行为模式**，自动生成结构化 Rules

---

### 🔧 配置 2：Memory（记忆）—— 自然语言版 Rules

相比 Rules 的结构化，Memory 更**轻量灵活**——你只要在对话里自然表达，WorkBuddy 自动记录：

```
"记住我喜欢用中文回答问题"
"记住我习惯使用 TypeScript 而不是 JavaScript"
"记住我偏好简洁的代码注释，不要过度解释"
```

---

### 🔧 配置 3：触发 Prompt Caching（被低估的省钱大招）🔥

**原理**：上下文内容**完全一致**且在 5 分钟内重复使用 → 缓存命中 → 价格仅 **10-20%**。

**操作要点**：
1. **Rules 内容固定**——不要频繁改动
2. **常用 Reference Files 放在对话最前面**——顺序保持一致
3. **新会话开始时**先手动引入 Rules 和 @常用文件
4. **避免在历史内容中插入修改**——会让缓存失效
5. **5 分钟内连续使用**效果最好

**示意**：
```
[对话开头，固定不变]
@.workbuddy/MEMORY.md
@src/types/common.ts
@src/api/index.ts

[然后再问问题]
帮我改 @LoginForm.tsx 的校验逻辑...
```

**好消息**：WorkBuddy 已通过结构优化把命中率提升到 **90%+**——升级到最新版即可享受。

**预期收益**：高频调用场景下整体成本 **再降 30-50%**

---

### 🔧 配置 4：检查 .gitignore，排除大目录

**必须排除**：
```
node_modules/
dist/
build/
.next/
.cache/
coverage/
*.log
*.min.js
*.lock
```

**额外排查**：
- >5MB 的 JSON/CSV 数据文件 → 排除
- 图片/视频/字体素材 → 排除
- 归档代码（archive/、backup/、old/）→ 排除

**真实案例**：某客户项目有个 200MB 测试 JSON 没排除，AI 一次扫描烧掉 5 万 credits。

---

### 🔧 配置 5：高频复杂场景做成 Skill（**优先 Skill 而不是 MCP**）🔥

**Skills vs MCP——重要选型建议**：

| 维度 | Skills（推荐） | MCP（谨慎使用） |
|---|---|---|
| 调用方式 | **显式**调用，行为可控 | 隐式调用，可能后台自动运行 |
| 上下文占用 | **不占用**——按需加载 | 工具定义+自动注入数据**会持续占用上下文** |
| 维护成本 | 可托管代码库，版本控制 | 需服务器配置和外部依赖 |
| 团队协作 | 易共享 | 复杂 |

**官方建议**：
- ✅ **优先用 Skills**——只有 Skills 无法满足且必须访问外部数据时，才用 MCP
- ⚠️ **谨慎 MCP**——典型反例：网页阅读插件会注入全页 DOM 树，瞬间吃掉几万 token

**适合做 Skill 的场景**：
- 代码冲突解决
- 生成单元测试
- 老旧代码重构
- 特定功能迁移

**不适合**（直接放全局 Rules 即可）：
- 通用代码命名规范

**最高效创建方式**：让大模型生成
> "我需要一个专门解决 Git 代码冲突的 Skill。请生成 WorkBuddy 格式配置：根据当前工作区冲突文件，分析冲突类型，给出解决方案。"

**Skill 结构**：
```yaml
---
name: GitConflictResolver
description: 处理代码合并时的 Git 冲突
triggers:
  - "git conflict"
  - "merge conflict"
  - "<<<<<<< HEAD"
  - "解决冲突"
globs:
  - "**/*.tsx"
alwaysApply: false
---

# Instructions（仅激活时加载）
## 冲突类型与解决原则
### 类型 1：xxx 导入冲突
特征：[...]
解决方案：[...]
```

---

### 🔧 配置 6：定期清理"沉睡"的扩展和规则

**核心原则**：**按需启用，用完即关。**

定期清理：
- 过期的 Project Rules
- 不再使用的 Skills
- 低频的 MCP 插件
- 无关的 integrations

**为什么重要**：这些"沉睡"配置会**持续占用上下文**——你不用它，但每次对话都在为它付费。

---

## 五、🌱 长期养成（团队习惯，决定上限）

### 📋 习惯 1：任务粒度——一次只做一件事

**反例**："重构整个用户模块，权限+登录+注册+忘记密码全改新架构。"

**正例**（拆 4 次，每次新会话）：
1. "重构 @auth/login.ts 改成 OAuth2 流程"
2. "重构 @auth/register.ts ……"
3. ……

**收益**：上下文短、可控、易回滚，单次消耗 ↓ 50%

---

### 📋 习惯 2：Token 周报——每周复盘

| 指标 | 健康值 | 异常信号 |
|---|---|---|
| 团队人均日消耗 | < 行业基准 | 超 1.5 倍要排查 |
| Top 3 高消耗用户 | 与产出匹配 | 高消耗+低产出 = 用法有问题 |
| 平均会话长度 | < 30 轮 | > 50 轮要培训 |
| 模型使用分布 | 性价比模型 70%+ | 顶级 > 40% 要提醒 |
| 缓存命中率 | > 90% | < 60% 要查 |

每周给 Top 3 同学 1v1 15 分钟，问三件事：
1. 这周最大的 3 个任务？
2. 是否用了 @文件 / Memory / Skill / `/summarize`？
3. 用的什么模型？

---

### 📋 习惯 3：建立"提示词模板库"

**修 bug 模板**：
```
我现在遇到一个 bug：[现象]
相关文件：@xxx.ts
预期：[xxx]
实际：[xxx]
报错日志：[xxx]
请先分析可能原因（列 3 种），再决定改哪个文件。
```

**新功能模板**（先 Plan 再 Craft）：
```
请基于 @xxx 文件结构，新增功能：
- 输入：[xxx]
- 输出：[xxx]
- 约束：[xxx]
请先用自然语言列出方案（涉及文件、核心逻辑），等我确认后再写代码。
```

---

## 六、⚡ WorkBuddy 已经为您做的优化（升级即享受）

WorkBuddy 在产品层面做了大量自动优化——**很多省钱事情您什么都不用做，升级即可享受**：

| 优化项 | 收益 |
|---|---|
| **Sub-agent 分离高消耗操作** | 代码搜索/文件检索交给 Sub-agent，不占主对话上下文 |
| **智能上下文压缩**（v2.73.0） | 压缩前自动清理 1 小时前的旧工具结果，**节省 80%+ 压缩输入 token** |
| **图片内容剥离** | 压缩前自动把图片替换为占位符 |
| **按需加载机制** | MCP/Rules/Skills/integrations 动态加载 |
| **模型定向优化** | 针对不同模型定制 system prompt，扬长避短 |
| **缓存命中率优化** | **已优化到 90%+**——大幅降本 |

**话术建议**：
> "X 总，您升级到最新版本，光是这些产品级优化就能让消耗显著下降——这部分是我们替您做的功课。"

---

## 七、📊 优化效果预估

| 优化层级 | 投入时间 | 预期消耗下降 | 启动时机 |
|---|---|---|---|
| 立即可做（6 条） | 0 分钟 | ↓ 30-40% | **今天** |
| 配置一次（6 项） | 30 分钟 | 额外 ↓ 15-20% | **本周** |
| 长期养成（3 条） | 持续 | 额外 ↓ 10-15% | **本月** |
| **合计** | — | **↓ 50-65%** | — |

> 数据来源：WorkBuddy 官方实测 + 内部专家实战 + v2.73.0 发布说明

---

## 八、✅ 团队落地 Checklist

### 第 1 天（今天）
- [ ] 全员阅读"立即可做"6 条
- [ ] 复制 Rules 输出控制模板到项目
- [ ] 默认模型切换到性价比模型
- [ ] 升级 WorkBuddy 到最新版

### 第 1 周
- [ ] 配置 `.workbuddy/MEMORY.md`
- [ ] 检查 `.gitignore`，排除大目录
- [ ] 试用 `/summarize` 和 `/generate rules`
- [ ] 整理 Top 3 高频复杂场景，做成 Skill
- [ ] 调整对话开头（@文件在前）触发 Prompt Cache
- [ ] 清理沉睡的 Rules / Skills / MCP

### 第 1 月
- [ ] 启动 Token 周报机制
- [ ] Top 3 高消耗用户 1v1 复盘
- [ ] 建立提示词模板库
- [ ] 对比上月，输出优化报告

---

## 九、💎 一句话心法

> **想控费，要"管理上下文"，而不是无节制地"堆上下文"。**
>
> **把 AI 当作按字数收费的顶级外包专家——需求给准、资料给对、废话不说。**

WorkBuddy 是"愿意干活"的 Agent。它的高消耗，本质是它替您**多做了几步**。
我们今天分享的所有方法，本质就是：**让它知道哪些事不用做、哪些事您来定。**

用对方法，**消耗能拉到与任何竞品同一水平线，但能力上限明显更高**。

---

## 附 A：核心命令速查

| 命令 | 用途 |
|---|---|
| `/summarize` | 压缩当前会话上下文到 15% |
| `/generate rules` | 自动从对话历史提炼 Rules |
| `Cmd+L` | 选中代码加引用 |
| `@文件名` / `@文件夹` | 精准引用文件 |
| `@代码块` | 精准引用代码片段 |

---

## 附 B：v3 相对前版的核心增量（给售前的对照表）

| 增量项 | 来源 | 重要性 |
|---|---|---|
| **Input 才是成本大头**（Output 占总费用 < 20%） | 官方教程 | ⭐⭐⭐⭐⭐ |
| **`/summarize` 内置指令**——压缩到 15% | 官方教程 | ⭐⭐⭐⭐⭐ |
| **`/generate rules` 自动提炼** | 官方教程 | ⭐⭐⭐⭐ |
| **Project Rules 三种加载策略**（always/agentic/manual） | 官方教程 | ⭐⭐⭐⭐⭐ |
| **缓存有效期 5 分钟、命中价 10-20%** | 官方教程 | ⭐⭐⭐⭐⭐ |
| **WorkBuddy 缓存命中率 90%+** | 官方教程 | ⭐⭐⭐⭐⭐ |
| **优先 Skills，谨慎 MCP**（含 DOM 注入反例） | 官方教程 | ⭐⭐⭐⭐ |
| **Rules 避免 emoji** | 官方教程 | ⭐⭐⭐ |
| **定期清理沉睡扩展和规则** | 官方教程 | ⭐⭐⭐⭐ |
| **WorkBuddy 产品级优化清单**（升级即享受） | 官方教程+发布说明 | ⭐⭐⭐⭐⭐ |
| **Output 单价 3-4 倍但总量小** | 实战文章 | ⭐⭐⭐⭐⭐ |
| **Rules 输出控制完整模板** | 实战文章 | ⭐⭐⭐⭐⭐ |
| **Agent Skill 工程化方案** | 实战文章 | ⭐⭐⭐⭐ |
| **挤牙膏式对话陷阱** | 实战文章 | ⭐⭐⭐⭐ |
| **方案先行防代码覆盖**（goosefsx 惨案） | 实战文章 | ⭐⭐⭐ |
| **专有技术名词用英文** | 实战文章 | ⭐⭐⭐ |
| **不同系列模型切换打破思维定式** | 官方教程 | ⭐⭐⭐ |

---
