别再刷 Token 了:AI 使用率该从消耗转向产出

2026-06-30 28 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

去年有公司把员工的 Token 消耗量写进绩效考核,结果并没有自动带来生产力,反而催生了荒诞操作:有人让两个 Agent 互相聊天一整天,只为了把用量刷上去。这个现象被称为 tokenmaxxing:用行政指标逼团队“用 AI”,哪怕消耗本身没有任何业务意义。

更有意思的是,复盘者的判断不是“AI 没用”,而是“第一阶段的 tokenmaxxing 已经结束”。早期公司需要用粗糙指标推动试用,这是可以理解的;但当团队已经知道怎么调用模型、接入 Agent、购买 Copilot 或内部工具后,再用 Token 数量当目标,就会把组织带偏。

Token 曾经是好指标,但很快失效

在 AI 落地早期,Token 消耗量有一点价值:它至少说明员工真的打开了工具,团队真的在尝试把 LLM 放进工作流。对管理者来说,这比“大家要拥抱 AI”的口号更可观测。

问题在于,Token 是输入成本,不是产出结果。它只能回答“模型被调用了多少”,不能回答这些更关键的问题:

  • 这次调用是否减少了人工时间?
  • 生成内容是否被采纳、修改还是直接丢弃?
  • Agent 是否完成了任务,还是在循环里自言自语?
  • 成本是否低于节省下来的工程、运营或客服时间?

一旦 Token 被写进绩效,它就从观测指标变成了目标。Goodhart 定律会准时到场:当一个指标成为目标,它就不再是好指标。两个 Agent 互相聊天,就是这个逻辑的极端版本。

从“用了多少”转向“省了什么”

下一阶段的 AI 管理指标,应该更接近业务语言,而不是账单语言。Token 仍然要看,但它应该被放在成本侧,而不是成就侧。

可以考虑把指标拆成三层:

  • 采用率:有多少人、多少流程实际接入了 AI。
  • 任务完成率:AI 输出是否完成了明确任务,比如生成 PR 摘要、分类工单、补全测试。
  • 单位收益:每 1 美元模型成本换来了多少分钟节省、多少缺陷减少、多少转化提升。

这不是说所有 AI 价值都能被精确量化。研发探索、写作草稿、调研启发有时很难立刻折算成钱。但至少可以避免把“消耗更多 Token”误认为“做得更先进”。

可以这样实践:记录一次 AI 调用的真实结果

下面是一个最小可改造的 Python 示例,用来记录每次 LLM 调用的成本、耗时和人工评价。它不假设某个具体公司的内部平台,只演示一种更健康的度量方式:把 Token 当成本,把任务结果当核心字段。

运行前需要:

pip install openai
export OPENAI_API_KEY="你的 API Key"

保存为 track_ai_task.py

import csv
import os
import time
from datetime import datetime
from openai import OpenAI

client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

MODEL = "gpt-4o-mini"
INPUT_PRICE_PER_1M = 0.15
OUTPUT_PRICE_PER_1M = 0.60


def estimate_cost(usage):
    input_cost = usage.prompt_tokens / 1_000_000 * INPUT_PRICE_PER_1M
    output_cost = usage.completion_tokens / 1_000_000 * OUTPUT_PRICE_PER_1M
    return round(input_cost + output_cost, 6)


def run_task(task_name, prompt):
    started = time.time()
    response = client.chat.completions.create(
        model=MODEL,
        messages=[
            {"role": "system", "content": "你是一个严谨的工程助手,回答要可执行。"},
            {"role": "user", "content": prompt},
        ],
    )
    latency_ms = int((time.time() - started) * 1000)
    text = response.choices[0].message.content
    usage = response.usage

    print("\n=== AI 输出 ===\n")
    print(text)

    accepted = input("\n这个结果是否被采用?yes/no: ").strip().lower()
    minutes_saved = input("估计节省了多少人工分钟?例如 15: ").strip()

    row = {
        "time": datetime.utcnow().isoformat(),
        "task_name": task_name,
        "model": MODEL,
        "prompt_tokens": usage.prompt_tokens,
        "completion_tokens": usage.completion_tokens,
        "cost_usd": estimate_cost(usage),
        "latency_ms": latency_ms,
        "accepted": accepted,
        "minutes_saved": minutes_saved,
    }

    file_exists = os.path.exists("ai_task_metrics.csv")
    with open("ai_task_metrics.csv", "a", newline="", encoding="utf-8") as f:
        writer = csv.DictWriter(f, fieldnames=row.keys())
        if not file_exists:
            writer.writeheader()
        writer.writerow(row)


if __name__ == "__main__":
    run_task(
        "生成 PR 摘要",
        "请根据以下变更说明生成一段给代码评审者看的 PR 摘要:新增订单取消接口,补充幂等校验,修复重复退款问题。",
    )

跑几天后,你可以用最简单的命令看趋势:

python track_ai_task.py
column -s, -t ai_task_metrics.csv | less -S

这个文件里最重要的列不是 prompt_tokens,而是 acceptedminutes_saved。如果某类任务 Token 很高、采纳率很低,就该优化提示词、换模型、缩小任务范围,甚至停止自动化。

Agent 尤其需要“刹车”和“验收”

tokenmaxxing 最容易发生在 Agent 场景里,因为 Agent 可以自动循环、自动调用工具、自动把上一步输出变成下一步输入。如果没有停止条件,它会非常擅长制造“看起来很忙”的日志。

给 Agent 设计指标时,建议加上几条硬约束:

  • 每个任务必须有明确的完成定义,例如“创建一个可运行的测试文件”。
  • 每轮循环必须说明为什么还需要下一步。
  • 设置最大轮次、最大 Token、最大费用。
  • 输出必须经过测试、人工验收或业务系统反馈。
  • 把失败样本保存下来,用于改进工具,而不是隐藏在总 Token 里。

一个简单的 Agent 任务配置可以长这样:

agent_task:
  name: generate_unit_tests
  goal: 为订单取消逻辑生成可运行的单元测试
  success_check:
    command: "pytest tests/test_order_cancel.py"
    must_pass: true
  limits:
    max_steps: 6
    max_cost_usd: 0.50
    max_runtime_seconds: 180
  report:
    include:
      - files_changed
      - tests_passed
      - human_review_required
      - estimated_minutes_saved

这类配置的重点不是 YAML 本身,而是组织姿态:Agent 不是来表演消耗的,它要交付一个能被验证的结果。

给团队的采用建议

如果你正在推动 AI 落地,不必把早期 tokenmaxxing 全盘否定。它可能确实帮团队跨过了“不敢用、不知道怎么用”的冷启动阶段。但继续沿用同一个指标,就会把探索变成刷量。

更稳妥的做法是:

  • 初期可以看使用频次,但设定退出时间,不让它永久进入绩效。
  • 中期按任务类型建立基线,比如写测试、查日志、生成客服回复。
  • 后期关注采纳率、节省时间、质量变化和单位成本。
  • 对 Agent 设置预算和验收,不奖励无边界循环。
  • 允许团队报告“这个场景不适合 AI”,这同样是有效学习。

Tokenmaxxing 的第一阶段结束,并不意味着少用 AI。恰恰相反,它意味着 AI 已经从新鲜工具进入工程管理阶段:少看热闹的消耗曲线,多看任务有没有真的变快、变稳、变便宜。


相关推荐