哪些Web框架的Token效率最高?

几个月前我写了一篇关于哪些编程语言最节省Token的文章。这个问题我思考了很久——很多人也在思考,当越来越多的代码由AI智能体而非人类编写时,编程语言会发生什么变化。

不过我意识到,也许这个问题的角度不对。如今,框架往往比语言本身重要得多,所以我决定通过研究哪些Web框架最高效来重复之前的调研。

1、研究方法

这不是一种非常科学的方法——但我怀疑它在方向上是正确的,并且符合我对各种Web框架的经验。

我选择了19个我 somewhat 熟悉的框架(有些比其他框架熟悉得多),然后在全新的上下文窗口中向Claude Code w/ Opus 4.6提出了类似的提示,对每个框架稍作修改。除了框架特定的库和设置外,提示基本相同(我更想关注它在框架中编码的能力,而不是浪费Token选择系统上可能未安装的库)。

我还安装了每种语言所需的主要包,以便智能体预装了npm、nodejs、go、cargo等。

Build a simple blog app using Express.js with EJS templates. It should have:
  1. A home page listing blog posts (title, date, excerpt)
  2. A post detail page showing the full post content
  3. A create post page with a form (title, body) that saves the post
  4. SQLite for persistent storage (use better-sqlite3)
  5. Basic CSS styling - make it look presentable, not raw HTML

  Run it on port 3003. Initialize with `npm init -y`, then install express, ejs,
  and better-sqlite3. When done, start the server and confirm it works by curling
  the home page. Leave the server running.

  Work in the current directory. Do not create a subdirectory - use the repo root
  as the project root.

然后我让它运行,允许它执行常见的读写命令并使用npm(或其他生态系统中的类似工具)。完成后,我统计了工具调用次数、Token消耗、经过的时间,并检查了它们启动的服务器是否正常运行,以及我们是否看到了符合规范的博客。

2、结果

首先要指出的是,每个环境中的结果都多么出色。每一个都生成了一个没有明显错误的可工作博客。虽然这显然是一个非常简单的提示,但它们都弄清楚了如何运行服务器、安装所需的包、启动服务器并测试其工作。一年来智能体开发的进步让我感到惊讶——我认为如果这些实验中哪怕有一个能开箱即用,在当时都会令人印象深刻。

我将框架分为两类:

  • 轻量级——设计得非常小、开箱即用功能不多的Web框架(如Express或Flask)
  • 功能齐全——更大、更有主见、包含更多功能的框架(如Rails或Django)。

轻量级框架在Token效率上非常清晰。ASP.NET Minimal API最便宜,只需26k Token,而Phoenix最贵,需要74k——相差2.9倍。轻量级框架都紧密集中在26-29k Token之间,而功能齐全的框架从28k(SvelteKit)一直到74k不等。

SvelteKit和Django在功能齐全的框架中脱颖而出,效率最高。Phoenix很有趣,它花了大量Token读取脚手架代码——我怀疑它的训练数据中没有太多相关内容,因此决定读取更多脚手架输出。

工具调用的模式类似——不过确实出现了一个趋势,即更冷门的框架往往需要智能体付出更多努力。

3、后续任务

虽然我觉得这很有趣,但我认为更有趣的是看看添加功能会如何改变情况。因此我恢复了每个智能体(构建时的上下文仍在上下文窗口中),发送了以下提示:

Add categories to the blog app. Each post belongs to one category. Specifically:
  1. Add a categories table with a name field
  2. Pre-seed 4 categories: Technology, Travel, Food, General
  3. Update the create post form with a category dropdown
  4. Show the category on the home page listing and post detail page
  5. Add a filter on the home page to view posts by category
Restart the server when done and verify it works by curling the home page.

有趣的是,Spring Boot导致了应用损坏——迁移没有正确执行——不过如果执行了,它就能正常工作。除此之外,所有智能体都成功实现了这一功能。同样,18/19的框架如此好地遵循提示让我很感兴趣——我再次没有预料到在如此多样的框架和生态系统中会有如此高的成功率。

后续任务的影响没有我预期的那么大。Go stdlib真的遇到了困难(由于日期时间解析问题升级数据库,消耗了大量工具调用)。我原以为功能齐全的框架在功能扩展上会比轻量级框架高效得多——它们已经完成了所有"DRY"的工作,但事实似乎并非如此。大多数框架的后续任务都落在15-30k Token的范围内,无论其初始构建成本如何。框架开销在第一次构建时影响你,但扩展现有代码的成本在各处大致相同。

4、结论

轻量级API Web框架对智能体来说工作速度更快、成本效益更高。这只是一个起点——理想情况下我会多次重新运行每个智能体并尝试更复杂的项目——但方向是明确的。

这不应该令人惊讶——对人类来说也是如此。但差异比我预期的要大。

话虽如此——所有智能体确实都得到了可工作的软件,即使是从相当冷门的框架中。我从这篇文章中得到的主要收获实际上不是关于效率——它真正表明智能体可以用你抛给它们的任何框架构建软件。不过,如果你正在构建一个需要Web界面的快速简单应用,使用轻量级API框架可能更好。ASP.NET Minimal在这方面表现出色——它是静态类型的,运行速度快,内存使用低。

在功能更齐全的框架方面,SvelteKit和Django确实很出色——这并不让我惊讶,因为它们都是经过深思熟虑的Web框架。

2.9倍的Token差距在单个任务上并不重要。但当智能体每天构建和修改代码数百次时,这就很重要了。


原文链接: Which web frameworks are most token-efficient for AI agents?

汇智网翻译整理,转载请标明出处