评估 AI 编程助手时,Token 单价为什么会失真

AstraCode 对 11 个模型进行真实编码任务测试后发现,AI 编程助手的成本不能只看 token 单价,任务步数、通过率、返工和验证成本才是更关键的指标。

在挑选 AI 代码助手或编程 Agent 时,很多团队习惯把“每百万 token 价格”作为第一成本指标。但在真实开发任务里,这个数字并不能直接反映最终开销。AstraCode 团队在一组真实编码任务中测试了 11 个模型后发现,真正决定成本的不只是模型调用单价,还包括任务步数、通过率、返工次数和验证成本。

Token 单价低,不等于任务成本低

AstraCode 是一款 AI 代码编辑器,其 Agent 需要在提交结果前证明自己的工作有效。由于模型调用是其账单中最大的一项,团队在 9 月进行了一次系统测量:对 11 个模型执行相同的一组真实编码任务,每个任务运行不止一次,并以通过率和“每个完成任务的成本”进行评分。

结果显示,按 token 计费最便宜的模型,并不一定是按任务计费最便宜的模型。在某一个任务中,一个模型执行了 130 个 Agent 步骤,另一个模型只用了 32 步。由于每一步都会重新发送上下文,步数会放大整体开销。

  • 模型单次调用价格低,可能被更多步骤抵消
  • 每一步都会重新发送上下文,步数越多,总成本越高
  • 一个 token 价格便宜 3 倍的模型,如果步数多 4 倍,最终反而更贵

团队最初曾试图总结“昂贵模型更容易绕路”的规律,但很快发现并不成立:一些价格更高的模型在某些任务中的步数反而少于便宜模型。因此,仅凭模型价格或单次输出长度判断成本,容易产生误判。

路由策略并不总有效,关键在于结果验证

面对不同任务难度,常见做法是加入路由层:先判断请求难易,再把简单任务交给小模型,把复杂任务交给大模型。AstraCode 尝试了三个版本的路由方案,但效果并不稳定。

问题来自结果波动。同一个小型模型在完全相同的 prompt 下,对某项任务的通过率可以在 67% 附近波动。一次运行是否成功,往往发生在执行过程中,而不是由输入 prompt 单独决定。因此,单纯依靠 prompt 分类,很难准确判断应该调用哪个模型。

相比之下,更有效的做法是检查结果本身。在引入验证机制后,AstraCode 的通过率从 0.64 提升到约 1.00。代价是单任务成本从小模型单独运行时的约 0.03 美元,上升到约 0.20 美元。

这一数据说明,编程 Agent 的成本不能只看“第一次生成花了多少钱”,还要看是否需要重跑、人工复核、测试失败后修复,以及最终交付是否可靠。验证会增加单次支出,但可以减少无效产出和返工。

编程 Agent 的成本核算应转向工程指标

这次测试并不是一个模型排行榜。AstraCode 强调,这些任务来自自身产品和测试环境,只能作为一个数据点。不同模型在不同场景下各有优势,真正重要的是建立适合自身业务的成本评估方式。

基于这些观察,AstraCode 不再要求用户手动选择模型。其 AstraOne 会先使用成本更低的模型,在检查失败时再升级到更强模型。检查机制包括:在修改前先展示失败测试、逐块查看 diff,以及在每一轮操作前设置检查点。

  • 记录每个任务的 Agent 步数,而不是只记录 token 数
  • 以“完成任务”的单位成本衡量模型价值
  • 把测试、diff 审查和检查点纳入成本模型
  • 将返工率和验证成本视为编程 Agent 的核心指标

对于开发团队来说,AI 编程助手的经济性并不只是“买更便宜的 token”。在真实软件工程流程中,能否稳定完成任务、需要多少轮修正、是否需要人工复核,都会影响最终成本。Token 价格仍然是重要输入,但它更适合被放进工程化成本框架中评估,而不是作为唯一决策依据。

原创文章,作者:点点,如若转载,请注明出处:https://www.dian8dian.com/ping-gu-ai-bian-cheng-zhu-shou-shi-token-dan-jia-wei-shen

Like (0)
点点的头像点点
Previous 1小时前
Next 2024年10月18日

相关推荐