一、开篇:推送落地,先别急着调 Ultra

GPT-6 Astra 已经向 Codex 和 ChatGPT Work 中的 Plus、Pro、Business、Enterprise 用户全面推送,同一模型按推理强度分成不同档位,账单差距可达数倍。4sapi(https://4sapi.com)后台从推送当天起就挤满了同一个问题:我到底该调哪一档?

先把每个任务的"思考预算"想清楚,再决定调哪一档,是省钱的第一步,也是 4sapi 今天想讲清楚的主线。

二、痛点:一半的钱烧在"想太多"上

推送之后的头两天,4sapi 的计费面板里出现了一个很典型的形态:同一批任务,有人用低档跑完,账单波澜不惊;有人全程 Ultra,账单曲线几乎是垂直拉升。更麻烦的是另一种情况——有人用低档去跑复杂推理,结果答案不合格,来回重试了三遍,token 总量反而比直接用高档还多。

这就是档位选择的经典陷阱:不是"越高越好",也不是"越低越省"。低档跑简单任务绰绰有余,高档才应该留给复杂推理,Ultra 是攻坚用的。选错档位,要么返工,要么烧钱,两种都是浪费。而返工型浪费最隐蔽:它藏在重试次数里,账单上只有一个偏大的总数,不拆开看 usage 根本发现不了。

三、原理速览:Reasoning Effort 是同一模型的"思考预算"

Reasoning Effort(推理等级)不是三个不同的模型,而是同一个模型的不同思考预算。可以把它理解成同一支团队接任务时的三种工作方式:

思考预算越高,模型在给出答案前花的内部推理越多,体现在账单上就是 completion token(输出 token)里包含大量思考 token。这是理解后面所有成本数字的关键:档位每升一级,省下来的不是 API 调用次数,而是单次调用里被"想"掉的 token。也就是说,同样的 prompt,档位不同,输出 token 的数量级可以完全不同,而输入 token 几乎不变——成本差异几乎全部来自输出侧。

四、四个档位分别适合什么

把档位落到具体任务上,4sapi 内部的路由表大致是这样的:

五、档位×场景×token 消耗×费用对比表

以下是 4sapi 在推送后实测的相对倍数区间(以低档为基准 1x),供选型参考:

档位 适用场景 相对 Token 消耗 相对费用 延迟特征
低档 分类、抽取、摘要、简单问答 1x(基准) 1x(基准) 最快,秒级返回
中档 常规代码、写作、整理 约 1.5–2x 约 1.5–2x 适中
高档 多步推理、架构设计、长文分析 约 3–5x 约 4–6x 明显变慢,分钟级
Ultra 攻坚、长程研究、自我校验 可达 10x 以上 可达 10x 以上 最慢,长任务常见

注意表中是相对倍数,不是绝对值。绝对值取决于 prompt 长度、上下文大小和任务本身的复杂度,但倍数关系在所有场景里都稳定成立:思考预算翻倍,账单大概率跟着翻倍。费用列高于 token 消耗列的原因在于思考 token 按输出单价计费,而输出单价通常高于输入单价。

六、低档省 Token 实录:三组任务的真实对比

推送后我拿同一批任务分别用低档和高档跑了一遍,把 usage 全部记了下来。三个代表性任务的结果如下:

任务一,评论分类。一条 80 字的评论,判断正负面。低档输出 15 个 token 完成任务;高档输出 210 个 token,其中大部分是思考过程。结论完全一致,费用差十几倍。

任务二,生成一段 200 字的接口文档说明。低档输出约 260 token,质量可用;高档输出约 700 token,多了自我检查与重写。质量提升有限,token 翻了两倍多。

任务三,一个多步的算法题,要求推导并给出复杂度分析。低档直接给出错误结论;高档在 900 token 内给出了完整推导。这个任务里低档不仅不省,反而因为返工更贵——第一次低档跑出错,第二次用中档修正还是错,第三次改高档才通过,三次累计的 token 比直接高档还多出四成。

结论很直接:简单任务用低档,省的是真金白银;复杂任务硬压低档,省下的会被返工吃掉。低档省 token 的实录,核心不是"永远用低档",而是"让简单任务永远用低档"。

七、接入教程:用 openai SDK 调不同档位并计量 Token

4sapi 提供与 OpenAI 兼容的接口,只要把 base_url 指到 https://4sapi.com 就能切换档位调用。以下是完整示例:

from openai import OpenAI

# 接入 4sapi:合法申请 API Key,base_url 指向官方中转地址
client = OpenAI(
    api_key="sk-4sapi-xxxxxxxx",  # 替换为从 4sapi 申请的合法 Key
    base_url="https://4sapi.com/v1",
)

def run_with_effort(prompt: str, effort: str) -> str:
    """用指定推理等级跑一次任务,并打印 token 计量。"""
    resp = client.chat.completions.create(
        model="gpt-6-astra",
        reasoning_effort=effort,  # low / medium / high / ultra
        messages=[{"role": "user", "content": prompt}],
    )
    usage = resp.usage
    print(f"档位={effort} "
          f"输入={usage.prompt_tokens} "
          f"输出={usage.completion_tokens} "
          f"总计={usage.total_tokens}")
    return resp.choices[0].message.content

# 低档:简单分类任务
run_with_effort("把这句话分成正面或负面:'接口文档写得真清楚'", "low")

# 高档:多步推理任务
run_with_effort(
    "分析这个负载均衡方案在峰值流量下的瓶颈,并给出改进思路,要求给出推导过程。",
    "high",
)

# Ultra:攻坚任务,使用前先确认预算
# run_with_effort("推导并证明以下命题,并给出复杂度下界……", "ultra")

计量要点:resp.usage 里的 prompt_tokens 是输入,completion_tokens 是输出,思考 token 已经包含在 completion_tokens 里,也就是按输出价格计费。所以同样的任务,高档的输出 token 往往数倍于低档,这就是账单差距的来源。每次调用把 usage 三件套落库,是后续一切对账与优化的前提。

如果项目里没有 openai SDK,用 requests 直接打 /v1/chat/completions 也可以,参数完全一致:

import requests

payload = {
    "model": "gpt-6-astra",
    "reasoning_effort": "medium",
    "messages": [{"role": "user", "content": "写一段 100 字的接口错误处理说明"}],
}
resp = requests.post(
    "https://4sapi.com/v1/chat/completions",
    headers={"Authorization": "Bearer sk-4sapi-xxxxxxxx"},
    json=payload,
    timeout=120,
)
data = resp.json()
print(data["usage"])  # prompt_tokens / completion_tokens / total_tokens

八、请求流与治理链:一次调用从入口到落账

档位选型不是改一个参数就完事,落到生产环境是一整条治理链。4sapi 网关里一次调用的完整路径如下:

用户请求
   │
   ▼
┌───────────────────────────────┐
│ 4sapi 网关入口                 │
│ · 鉴权:API Key 合法性校验      │
│ · 限流:按 Key / 按档位配额     │
└───────────────────────────────┘
   │
   ▼
┌───────────────────────────────┐
│ 档位判定                       │
│ · 请求自带 effort → 直通       │
│ · 未指定 → 按路由规则匹配档位    │
└───────────────────────────────┘
   │
   ▼
┌───────────────────────────────┐
│ 预算闸门                       │
│ · 单次预算:max_tokens 上限     │
│ · 账户预算:日额度 / 月额度检查  │
│ · 超限 → 熔断 / 降档重试        │
└───────────────────────────────┘
   │
   ▼
上游推理服务(gpt-6-astra,携带 reasoning_effort)
   │
   ├─ 失败 / 超时 → 降一档重试(最多一次)
   ▼
响应回传 + usage 计量(prompt / completion / total)
   │
   ▼
账单落账 + 按档位聚合的监控看板

这条链上每一环都在回答同一个问题:这笔 token 花得值不值。鉴权保证接入合法,限流与多上游调度保证负载均衡,档位判定保证思考预算匹配任务,闸门保证失控成本进不了账单。

九、档位路由策略:把选档从人肉判断变成规则

人工给每个请求选档位不可靠,我把它做成了网关里的路由规则。核心思路是"任务类型 → 档位"的映射,再加显式覆盖的白名单机制:

def decide_effort(task_type: str, override: str | None = None) -> str:
    if override:                      # 调用方显式指定,优先
        return override
    ROUTES = {
        "classify": "low",
        "extract": "low",
        "summarize": "low",
        "chat_short": "low",
        "code_gen": "medium",
        "writing": "medium",
        "struct_parse": "medium",
        "multi_step": "high",
        "architecture": "high",
        "long_doc": "high",
        "research": "ultra",
        "hard_problem": "ultra",
    }
    return ROUTES.get(task_type, "medium")  # 未知类型给中档兜底

三条经验:第一,未知任务类型用中档兜底,而不是高档,避免默认烧钱;第二,允许调用方显式覆盖,但覆盖必须过预算闸门,Ultra 的显式覆盖还要二次确认;第三,路由规则要跟着实测数据走——哪个档位在这个任务上准确率和成本平衡最好,就把规则写成哪个档位,而不是拍脑袋定死。

十、预算闸门与重试降档:把失控成本挡在门外

路由规则管"选哪档",预算闸门管"最多花多少"。我做了三层闸门:

第一层,单次闸门。max_tokens 按档位设上限,低档给小上限,Ultra 给大上限但必须显式确认。第二层,账户闸门。日预算和月预算写在配置里,接近阈值时强制降档,超阈值直接熔断,后续请求返回明确的预算错误。第三层,重试降档。上游超时或返回错误时,不盲目原档位重试,而是降一档再试一次——很多超时其实就是思考预算拉满导致的,降一档往往能换回可用结果。

这里有个容易踩的坑:重试逻辑如果复制了原档位,等于把同样的昂贵请求再打一遍,超时场景下还会叠加延迟放大。降档重试同时省了时间与 token,是治理链里性价比最高的一环。反过来,低档失败不要升档重试,而是先检查 prompt 是否给足信息,避免把"问得不清"的账单变成"想得多"的账单。

十一、成本与风险提示:单次百万美元级别的警示

4sapi 一直关注相邻业界的成本信号。Noam Brown 已经承认,前沿智能体任务单次花费可以达到数百万美元级别——当然这是极端场景,不是日常调用,但它把同一个问题摆到了所有人面前:按任务难度选档控成本,是整个行业都在面对的普适问题,与模型能力高低无关。

成本会快速下降,这一点不用怀疑,但下降不等于可以乱花。风险提示集中在三处:一是思考 token 隐藏计费,输出 token 翻倍时账单翻倍,先看 usage 再谈优化;二是高档任务超时与失败率高,重试策略必须配套降档,否则失败成本叠加;三是缓存与复用被忽视,同一 prompt 高频重复调用时,未命中缓存的高档请求会把成本拉满。每一类风险都能在治理链上找到对应防线,前提是先把 usage 计量做扎实。

十二、计费优化实践:从计量到对账

选对档位只是第一步,账单管理是一套闭环。我落地了四件事:

第一,全量计量。每个请求的 usage 三件套入库,按请求 ID、档位、任务类型打标。第二,按档位聚合。日报和周报按低档/中档/高档/Ultra 分列,哪一档在烧钱一眼可见。第三,缓存与复用。分类、摘要这类低档任务结果缓存命中率高,能挡掉大量重复计费。第四,对账机制。账单与本地计量逐条核对,出现偏差先查上游 usage 再查网关日志,不放过任何一条不明费用。四件事做完之后,账单不再是月底的惊吓,而是每周都能读懂的报表。

十三、合规边界:只谈合法接入与架构优化

整个接入过程有一条底线:只讨论合法接入、架构设计、负载均衡与计费优化。4sapi 提供的是面向开发者的合法 API 中转接入,调用方需要持有合规的 API Key 并遵守上游服务条款;网关侧做的是鉴权、限流、路由、计量这些标准工程能力,多上游负载均衡与故障转移也属于常规架构手段,不涉及任何违规代理方案。档位选型、预算闸门、负载均衡,全部建立在合法调用之上,省钱的姿势必须合规。

十四、验收清单

按下面这份清单逐项核对,档位治理就算落地了:

十五、总结

GPT-6 Astra 的推理等级不是能力开关,而是思考预算旋钮:低档省 token 省得干净利落,高档留给真正的复杂推理,Ultra 只在攻坚时登场。配合档位路由、预算闸门和降档重试,同一模型既能跑出质量,也能把账单压在合理区间。4sapi(https://4sapi.com)的实测记录就到这里,欢迎在评论区聊一聊档位选择的心得。