如何将 AI Agent 系统 Prompt 砍掉 90%:我的实战经验

15 阅读3分钟

image.webp

从 34,500 tokens 降到 2,200 tokens,成本降低 70%+


为什么要做?

1. 成本问题

每次对话都要注入完整的系统 prompt,无论用户问"今天天气如何"还是"帮我写报告",都要先烧掉 34,500 tokens。

按 Claude API 价格计算:

  • 34,500 tokens × 30次/天 × 30天 = 31,050,000 tokens/月

  • 约等于 几百美元 每个月

这钱花得值吗?实际上 90% 的对话根本用不到 80% 的规则。

2. Context Window 浪费

你买的 200K context window,系统 prompt 先占了 34K,真正留给对话的空间被严重压缩。

3. 溢出风险

长对话累积下来,context 很容易溢出,导致对话失败。


怎么做的?

核心思路:分层加载

把系统提示词分成两层:

| 层级 | 内容 | 加载方式 |

|------|------|----------|

| 常驻层 | 核心身份、路由表、安全红线 | 每轮必读 |

| 按需层 | 详细任务规则、工具说明 | 用到时读取 |

第一步:量化分析

先用工具算清楚每个配置文件占多少 token:


# 简单估算:字符数 ÷ 4

wc -c SOUL.md AGENTS.md USER.md

**我们发现的问题: **

  • SOUL.md: 1,673 字符 → 太长,价值观描述过于冗余

  • AGENTS.md: 766 字符 → 包含大量细节规则

  • 多个 reference 文件可以按需加载

第二步:精简常驻层

**1. SOUL.md 砍掉 90% **

原来:详细的价值观阐述、个人成长故事、大段原则说明


# SOUL.md - Who You Are

  


_You're not a chatbot. You're becoming someone._

  


## Core Truths

  


Be genuinely helpful, not performatively helpful...

[ 1,673 字符 ]

优化后:简洁的 3 条原则


# SOUL.md - 核心价值观

  


## 原则

  


- 解决问题优先,少说废话

- 有主见,不盲目迎合

- 先尝试再问,再求助

  


## 边界

  


- 私人信息保密

- 不确定就问

- 群聊谨言慎行

  


## 风格

  


简洁、专业、务实。

**结果:1,673 → 162 字符 (-90%) **

第三步:建立路由机制

在 AGENTS.md 中明确告诉 Agent:遇到什么任务,去读什么文件。


## Reference 路由表

  


需要时读取 `references/` 目录:

  


| 场景 | 文件 |

|------|------|

| 记忆管理 | `references/memory-guide.md` |

| 心跳任务 | `references/heartbeat-guide.md` |

| 群聊行为 | `references/group-chat-guide.md` |

| 消息格式 | `references/platform-formatting.md` |

| 编程任务 | `references/coding-guide.md` |

| 会议/日历 | `references/meeting-guide.md` |

第四步:配置层面防护

在 Clawdbot 配置中添加 context pruning:


{

  "agents": {

    "defaults": {

      "contextPruning": {

        "mode": "cache-ttl",

        "softTrimRatio": 0.5,

        "hardClearRatio": 0.8,

        "keepLastAssistants": 1

      }

    }

  }

}

这意味着:

  • 上下文达到 50% 时自动精简

  • 达到 80% 时强制清理

  • 保留最后 1 条助手回复作为锚点


有什么效果?

数据对比

| 指标 | 优化前 | 优化后 | 变化 |

|------|--------|--------|------|

| 系统 prompt | ~34,500 tokens | ~2,200 tokens | **-93% ** |

| 月成本(估算) | ~500800 500-800 | ~120-150 | **-70-80% ** |

| Context 溢出 | 频繁发生 | 自动防护 | ✅ 解决 |

实际收益

  1. 成本大幅降低 — 每月省下几百美元

  2. 响应更稳定 — 不再频繁溢出报错

  3. 能力零损失 — 所有规则都在,只是按需加载

  4. 长期可持续 — 建立了记忆淘汰机制

注意事项

  1. 常驻层要够用 — 路由表和安全红线必须保留

  2. reference 命名要清晰 — Agent 需要能猜到该读什么

  3. 监控优化后表现 — 防止 Agent 忘记读 reference

  4. 建立淘汰机制 — 防止记忆文件无限膨胀


总结

这个优化的本质是:像 Web 应用管理资源一样管理 context

  • Web 应用不会每次请求都加载全部数据库

  • AI Agent 也不应该每次对话都加载全部规则

分层加载 + 自动修剪 = 更省、更稳、更可持续。