HarmonyOS 鸿蒙Next AI Agent 的"智能油耗表":Token Budget(词元预算)开源了
HarmonyOS 鸿蒙Next AI Agent 的"智能油耗表":Token Budget(词元预算)开源了
我写了一个 TypeScript 设计模式,让每个 AI Agent 在调大模型之前先问预算。不够就降级,用完就拦截。已经开源。
一个华为开发者的小探索
我是一名鸿蒙生态的独立开发者,过去半年一直在做 AI Agent 相关的东西。
去年底 DeepSeek V4 发布的时候,我兴奋地把它接进了自己的 Agent 框架。跑了两个月,收到云厂商账单的时候愣住了——
一晚上跑了 18 万次推理调用。花费 ¥86。
我的 Agent 比我还更有钱。它调 DeepSeek V4 Thinking(¥8/百万 token)根本不眨眼,一次分析跑 3 万 token,一天下来几百次。
我问它"你知道今天花了多少钱吗?"
它不知道。它只管干活,不管预算。
这不是一个 bug。这是整个 AI Agent 架构层面的结构性缺失——没有人在设计 Agent 的时候,给它加上"事前判断"这个步骤。
现有方案长这样:
- 用量仪表盘 → 花完了才知道
- API Key 限额 → 硬封顶,不分任务轻重缓急
- Token 计数工具 → 只管数,不管控
就像你给司机一辆车,装了最先进的导航、最豪华的内饰——但没有油表。他不知道什么时候该加油,不知道什么时候该省着开。
我决定自己写一个油表。
Token Budget(词元预算):一个设计模式
我不把它叫做"产品"或"APP"。它是一个设计模式——就像 MVC、Try/Catch,它不会单独出现在应用商店里,但它应该渗透到每一个 Agent 的代码中。
核心就一条规则:
每次调 LLM 前,先问预算。
用 TypeScript 写出来,核心 200 行:
export class TokenBudget {
// 预检:这笔调用能花吗?
canSpend(task): { allow: boolean, suggestion: string }
// 选型:根据剩余预算,该用什么模型?
selectModel(taskType): string
// 记账:调用后记录花费
recordSpend(task, tokens, model): void
}
三个方法,构成了 Agent 的预算自治层。
模型分级
我把模型按费用分成三档,Agent 自己判断该用哪个:
| 等级 | 模型 | 费用 | 什么时候用 |
|---|---|---|---|
| PREMIUM | DeepSeek V4 Reasoning | ¥8/百万 | 深度推理、战略分析 |
| STANDARD | DeepSeek V4 Fast | ¥2/百万 | 分析、写作、总结 |
| CHEAP** | DeepSeek V3 Lite (免费) | ¥0 | 日常对话、格式化 |
预算策略
日预算 10 万 token(约 ¥0.8-2),自动降级开着。预算越花越少时,Agent 自动切换策略:
- 余额 ≥ 80% → 满血版任意用
- 余额 50%-80% → 深度推理用满血,其余用标准版
- 余额 20%-50% → 只保高优先级任务
- 余额 < 10% → 免费模型兜底,拦截非关键任务
六种场景验证
| 场景 | 结果 |
|---|---|
| 预算充裕 + 深度推理 | ✅ 满血版直接跑 |
| 简单格式化 | ✅ 免费模型,不浪费 |
| 大量消耗到 95% | ✅ 自动降级 |
| 预算紧张 + 中等任务 | 🚫 拦截 |
| 预算紧张 + 免费可用 | ✅ 自动切免费 |
| 单次任务超限 | 🚫 建议拆分 |
全部验证通过。测试代码在 GitHub 上,任何人都能复现。
和鸿蒙生态的连接点
作为一个鸿蒙开发者,我选择 TypeScript 不是偶然的。
鸿蒙原生支持 ArkTS(TypeScript 的超集),我写的 Token Budget 可以直接跑在 HarmonyOS 的 Agent 框架里。也就是说——
你的鸿蒙元服务、鸿蒙 Agent 应用,不需要任何额外适配。一行 import,就能拿到预算自治能力。
// 鸿蒙 Agent 应用里
import { TokenBudget } from '@wenrl2006/token-budget'
const budget = new TokenBudget({
dailyLimit: 100000, // 日预算 10 万 token
autoDowngrade: true // 自动降级
})
async function agentThink(input: string) {
const task = { type: 'deep_reasoning', estimatedTokens: 3000 }
// 先问预算:能花吗?
if (!budget.canSpend(task).allow) {
return "今日AI预算已用完,请明天再试"
}
// 选模型:根据余额用哪个?
const model = budget.selectModel(task.type)
// 干活 + 记账
const result = await callLLM(input, model)
budget.recordSpend('用户咨询', 3000, model)
return result
}
这就是我理解的"鸿蒙 + AI"的正确打开方式——不是把 Agent 当 API 调一调就完事,而是给 Agent 装上基础设施级的自控能力。
未来的方向
这个版本只是一个开始。200 行代码,6 个场景验证。后面需要更多人来填:
- 跨 Agent 共享预算池 — 一个账户下多个 Agent 共享额度
- 任务优先级调度 — 高优任务保预算,低优任务排队
- 与云端 API 限额联动 — 本地预算 + 云端限额双保险
- 异常熔断 — 检测到异常调用模式时自动熔断
我在鸿蒙开发者社区建了一个交流群,如果你也在做 Agent 相关开发,欢迎一起聊聊。
开源地址
- GitHub: https://github.com/wenrl2006/token-budget
- 包名:
@wenrl2006/token-budget(GitHub Packages) - 协议: MIT
- 核心代码: 200 行,TypeScript
不需要安装大型框架,不需要改动现有架构。只要你的 Agent 运行在 Node.js/HarmonyOS 上——
import { TokenBudget } from 'token-budget',装好这块智能油耗表。

更多关于HarmonyOS 鸿蒙Next AI Agent 的"智能油耗表":Token Budget(词元预算)开源了的实战教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS 鸿蒙Next AI Agent的“智能油耗表”即Token Budget(词元预算)工具,用于监控和管理AI Agent运行时的Token消耗。该工具已开源,支持在鸿蒙Next环境下进行Token使用量的可视化跟踪与预算控制,帮助开发者高效规划AI交互资源。
更多关于HarmonyOS 鸿蒙Next AI Agent 的"智能油耗表":Token Budget(词元预算)开源了的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
这个设计思路非常精准,直击了当前 Agent 架构的痛点。你把它定义为“设计模式”是很敏锐的判断——它本质上是给 LLM 调用链路加了一个“约束层”,解决了 Agent 独立自主运行时的成本失控问题。
这种“先问预算”的逻辑和 HarmonyOS Next 的元服务架构搭配得很好。ArkTS 的原生支持让这个油表能无缝嵌入鸿蒙应用的 Agent 框架中,相当于在端侧就完成了推理成本的裁决,把控制权交还给了开发者和设备。
除了你提到的跨 Agent 共享预算池等方向,这个模式在鸿蒙生态里还有一层价值:它能成为未来端云协同 Agent 的关键调度器。当鸿蒙设备需要在本地小模型与云端大模型之间做推理路由时,Token Budget 的策略可以直接作为裁决依据——既考虑推理任务类型,又结合成本预算约束,让分布式推理的调度有了统一的经济逻辑。
200 行代码解决了一个产业级的结构性问题,确实值得开源看看生态的反响。

