首页 偏方 N° T5

Agent 的「无意识代价」:6 个你看不到的 token 黑洞

你以为你优化了 prompt,其实有 6 个隐性 token 在偷你的预算。每个 1-3k,月账单悄悄多 30%。

背景

我帮 4 个团队做过 prompt 优化。每个团队优化前都觉得自己 prompt 压得差不多了。优化后平均降本 28%

降下来的 28% 来自他们没意识到的 6 个 token 黑洞

下面 6 个,按”常见程度”排。

黑洞 1:tool schema 重复

# 错的写法
tools = [
    {"name": "search", "description": "...", "parameters": {...}},
    {"name": "search_again", "description": "...", "parameters": {...}},  # 几乎一样
    {"name": "search_v2", "description": "...", "parameters": {...}}   # 几乎一样
]

3 个 search 工具 = 3 倍 schema token。1-2k/请求

修法:合并工具,加 enum 区分行为。

黑洞 2:few-shot 占大头

# 错的写法
prompt = """
You are a helpful assistant.

Example 1: ...
Example 2: ...
Example 3: ...
... (10 个 examples)

Now answer the user's question:
"""

10 个 example = 4-5k token,占了总 prompt 的 50%

修法

  • 留 2-3 个最有代表性的
  • <example> 块压缩(见 T1 · 偏方 3
  • 或者 zero-shot(很多 case 真的不需要 few-shot)

黑洞 3:system prompt 内嵌的 URL / base64

prompt = f"""
参考资料:
- https://example.com/docs/{very_long_path}
- {base64_image_data}
- {very_long_inline_data}
"""

URL / base64 算 token(base64 比二进制更费 token)。单次 1-3k

修法

  • URL 用短链
  • 图片用 URL 引用 + cache,不要 inline
  • 大文本不要塞 prompt

黑洞 4:cot / think 标签没关

# 错的写法
prompt = "Think step by step.\n\n" + task
# Claude 默认会输出 <thinking>...</thinking> 块
# 但有时候开发者没意识到这些也算 output token

<thinking> 块默认计费。平均多 30-50% output

修法

  • 不用 cot 时别开
  • 必要时用 </thinking> 边界拆 token

黑洞 5:multi-turn 对话的”重复 system prefix”

# 多轮对话中,每次请求都带完整 system
messages = [
    {"role": "system", "content": SYSTEM_5K},
    {"role": "user", "content": "Q1"},
    {"role": "assistant", "content": "A1"},
    {"role": "user", "content": "Q2"},
    # ↑ 这次请求的 input 包含 SYSTEM_5K + Q1 + A1 + Q2
]

每轮都重复 system prefix。如果对话 20 轮,system 算了 20 次。

修法开 prompt cache。5K system 缓存一次,hit 后 0.1x 价。省 80%

黑洞 6:未压缩的对话历史

# 错的写法:把整个对话历史带上
messages = [
    system,
    *history_50_turns,  # 50 轮对话 = 100k token
    user_new_question
]

history 越长,每次请求越贵。50 轮历史算 50 次。

修法

  • 每 8 轮摘要一次(见 T1 · 偏方 5
  • 超过 30 轮的对话直接新开 session,把关键 context 用新 system 注入

6 个黑洞合计

黑洞节省比例实现难度
1. tool 重复5-10%低(合并)
2. few-shot 过多10-15%中(实验)
3. URL / base645-10%低(短链)
4. cot 标签5-10%低(关掉)
5. system prefix 重复30-50%低(开 cache)
6. 对话历史不压20-30%中(摘要)

6 个都修 = 降本 70%+修 1 个黑洞 5(开 cache)= 降本 30%——性价比最高。

写在最后

我团队里有个规矩:“每个新 prompt 必须过 token audit”——上线前用 T1 的脚本 跑一遍,看 input token 是不是合理的

不合理的不让上线。3 个月下来,省了 $12K

这比雇一个 prompt 工程师便宜。


5 条偏方 + 5 个类型 + 5 个人物 + 5 个实战 = 20 篇,写完了。

怪招本 v1 整版改版完。