Dify 企业级实验(05):Token 成本控制——AI 应用省钱改造怎么做?
Dify 企业级实验05Token 成本控制——AI 应用省钱改造怎么做Dify 实验系列 · 企业级 05/12 | 实验编号DIFY-104-05基于 Dify 1.16.1 实测2026-081. 业务场景先讲一个我们实际遇到的场景。AI 应用上线后老板每个月都要看一张账单客服问答工作流每月 5 万次调用单次平均消耗 2.8 万 Token——Token 是持续支出不是一次性开发成本调用量越大账单越吓人。我们第一次接这类需求时第一反应也是「省钱不就是压缩 prompt 字数嘛」。真正动手才发现——prompt 省那 1000 Token杯水车薪真正烧钱的是「用错了工具」规则能算的用 LLM 生成分类器能判的用 LLM 生成。省钱不是抠门是把每个环节放到它该在的位置上。同一个结果用 LLM 生成要花钱用规则算一分钱不花用 LLM 生成要花钱用分类器判只要零头。区别只在于「这个环节值不值得用 LLM」。这不是个例。任何「LLM 调用量大、跑在真实业务上」的应用都是这个模式能省的环节没省钱就在看不见的地方流走。2. 场景痛点这个流程的痛点在每个月看账单的老板身上体现得最直接每月固定支出5 万次 × 2.8 万 Token月消耗千万级 Token成本随调用量线性上涨业务增长反而变成成本负担。杀鸡用牛刀情感分析用 LLM 生成关键词评分表就能算意图识别用 LLM 生成分类器判得更便宜——贵在「用错了工具」。隐性浪费回答生成的 prompt 又长又固定每轮固定消耗 1000 Token省不出来。降本怕伤质量改了规则怕回答质量下降、用户投诉于是一动不敢动。本质上成本不是「省」出来的是「这个环节值不值得用 LLM」设计出来的。3. 方案为什么是逐节点审计 结构化替代Dify 的 code 节点、Question Classifier 与 LLM 节点并存正好支持「先审计、再分类改造」。选它的理由先审计再动手逐节点统计 Token 消耗先找到「烧钱」的节点再决定改谁结构化替代规则能算的情感用 code、分类能判的意图用 Question ClassifierLLM 只保留核心生成——三次 LLM 调用压成一次质量回归兜底改造后跑四层用例回归降本不降质敢改也敢验。这篇文章我们就用它把客服问答工作流做一次「省钱改造」从 3 次 LLM 调用压到 1 次。4. 整体架构【改造后】开始情感分析关键词规则 code0 token意图识别问题分类器 QC回答生成LLM 精简结束【改造前】开始情感分析LLM意图识别LLM回答生成LLM结束改造前是 3 次 LLM 串行改造后情感分析与意图识别并行执行结果合并进回答生成的 prompt全程只有 1 次 LLM 调用。链路设计的要点先把「值不值得用 LLM」的判断做在结构上再谈 prompt 细节。5. 模块设计5.1 开始变量start 变量user_message段落必填max_length 10000两个应用完全一致方便 A/B 对比。5.2 改造前基线改造前三个 LLM 节点串行各自带独立 system prompt回答生成的 prompt 很长每轮固定消耗 1000 Token。5.3 改造后三个核心节点改造后核心节点情感分析改为 code 节点关键词评分表零成本defmain(user_message:str)-dict:textuser_messageorpos[满意,好,赞,喜欢,感谢,棒,不错]neg[差,坏,烂,投诉,生气,失望,退款,垃圾]scoresum(1forkinposifkintext)-sum(1forkinnegifkintext)sentimentpositiveifscore0else(negativeifscore0elseneutral)return{sentiment:sentiment,score:str(score)}意图识别改为问题分类器Question Classifier四类意图的指令必须带定义与示例instruction:|对用户消息的意图进行分类只能归为以下四类之一 - 咨询inquiry产品咨询、价格、功能、使用方法 - 购买purchase下单、购买、优惠、活动 - 售后after_sale退换货、维修、保修、发票 - 投诉complaint质量差、损坏、服务态度差、表达不满 按意图判断无法归入前三类的归入最接近的一类。classes:[咨询 inquiry,购买 purchase,售后 after_sale,投诉 complaint]completion_params:{max_tokens:2000,temperature:0.1}回答生成 LLM 精简 prompt把前面两个节点的结果作为上下文喂进去不再让模型重复理解原文prompt_template:-role:systemtext:你是电商客服。基于已知信息直接回答不超过 100 字。-role:usertext:|用户消息{{#start.user_message#}} 情感{{#cd_senti.sentiment#}} 意图{{#qc_intent.class_name#}}6. 运行验证输入预期结果同一句含「差/投诉」的客服消息改造后情感negative、意图售后、回答质量不降sentimentnegative规则命中「差/投诉」、intent售后QC 分类正确回答质量达标四层回归用例确定性/内容/语义/边界全部 PASS分类准确率 ≥95%全部 PASS分类准确率保持改造前单次约 2.8 万 Tokens降本 40%改造后 1 次 LLM 2 个非 LLM 节点约 1.5 万 Tokens/次-46%环境Dify 1.16.1Docker Compose模型 DeepSeek deepseek-v4-flash。两个 DSL 均导入发布通过用 Service API 冒烟验证。7. 实战坑坑现象修复code 节点沙箱禁写文件在 code 里写 /tmp 报 PermissionError所有「文件模拟」存储改本机 KV 模拟服务docker 容器 dify104-kv172.19.0.50:8123生产换 Redis/DB拓扑不变规则替代后质量下降边界用例答错改造后必须跑四层用例回归不达标就补关键词/回退 LLM实测边界用例兜底分类器指令无示例词表准确率低指令里给每类定义示例temperature 压到 0.1实测 102-03 经验只优化 prompt 忽略结构性浪费省 1000 Token 也省不出 46%先做逐节点成本审计把规则能算的情感和分类器能判的意图从 LLM 拆出去实测 102 批量经验8. 实验文档及源码获取实验文档DIFY-104-05Token成本控制——AI应用省钱改造.md源码一改造前dify104_05_01_成本控制-改造前.yml源码二改造后dify104_05_02_成本控制-改造后.yml源码目录dify-104/dsl文章聚焦核心配置与采坑点完整分步操作与回归用例见实验文档原文。下一篇Dify 企业级实验06可观测性体系——日志埋点与监控告警如何落地 你在这个实验的场景里踩过什么坑欢迎评论区分享你的实战经验。

相关新闻

从知识积累到思维训练:计算机学习思维的四大支柱与实战路径

从知识积累到思维训练:计算机学习思维的四大支柱与实战路径

1. 项目概述:从“学知识”到“练思维”的转变 “计算机学习思维”这个词,最近在技术社区和职场讨论里出现的频率越来越高。很多刚入行的朋友,甚至一些工作了几年的开发者,常常会陷入一个困境:技术框架学了一大堆&#…

2026/10/18 6:00:01 阅读更多 →
免费AI Token计算工具Tiktokenizer怎么用?一个在线token计算器让API账单不再翻车

免费AI Token计算工具Tiktokenizer怎么用?一个在线token计算器让API账单不再翻车

免费AI Token计算工具Tiktokenizer怎么用?一个在线token计算器让API账单不再翻车 【免费下载链接】tiktokenizer Online playground for OpenAPI tokenizers 项目地址: https://gitcode.com/gh_mirrors/ti/tiktokenizer 上个季度,我们团队上线了一…

2026/10/18 6:00:23 阅读更多 →
PDF差异对比实战:用diff-pdf快速定位文档改动

PDF差异对比实战:用diff-pdf快速定位文档改动

PDF差异对比实战:用diff-pdf快速定位文档改动 【免费下载链接】diff-pdf A simple tool for visually comparing two PDF files 项目地址: https://gitcode.com/gh_mirrors/di/diff-pdf 拿到一份被改得面目全非的PDF,你最想知道的往往是&#xff1…

2026/10/18 6:00:26 阅读更多 →

最新新闻

五款主流图像生成模型深度对比:从选型到部署实践

五款主流图像生成模型深度对比:从选型到部署实践

画画这件事,前两年大家还停留在“能出图就行”,到了现在,手里没有两三款趁手的图像模型,都不好意思跟人聊创作流程。我最近把FLUX.2、Seedream(即梦)、Z-image、Qwen-Image、GLM-Image这五款模型从文档到实…

2026/10/18 13:48:08 阅读更多 →
OpenCode 国内 AI 自主编程新选择:把 endpoint 改到 TaoToken 的完整配置指南

OpenCode 国内 AI 自主编程新选择:把 endpoint 改到 TaoToken 的完整配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 13:48:08 阅读更多 →
TCP三次握手与四次挥手的故障驱动深度解析

TCP三次握手与四次挥手的故障驱动深度解析

1. 项目概述:这不是背题手册,而是一场网络协议的实战推演“舌战面试官-计网篇(一)”——光看标题,你大概率会以为这是份“八股文合集”,是那种把TCP三次握手、HTTP状态码、OSI七层模型挨个罗列再加粗的速记…

2026/10/18 13:48:08 阅读更多 →
OpenRouter 与 CC-Switch 到底有什么区别?一个管“连什么”,一个管“怎么连”,TaoToken 统一 Key 通道又该放在哪一层

OpenRouter 与 CC-Switch 到底有什么区别?一个管“连什么”,一个管“怎么连”,TaoToken 统一 Key 通道又该放在哪一层

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 13:48:08 阅读更多 →
第 01 篇|Aspen Plus 进阶与工程案例:从“会用”到“用对”的能力地图

第 01 篇|Aspen Plus 进阶与工程案例:从“会用”到“用对”的能力地图

第 01 篇|Aspen Plus 进阶与工程案例:从“会用”到“用对”的能力地图版本声明块 软件:aspenONE V15(Aspen Plus)平台:Windows 64 位(官方平台规格 PDF 以 “Operating Systems (64-bit only)”…

2026/10/18 13:48:08 阅读更多 →
生鲜配送商城APP实战复盘:从架构设计到履约链路与避坑指南

生鲜配送商城APP实战复盘:从架构设计到履约链路与避坑指南

1. 项目概述与核心价值先聊个现象:生鲜配送这几年看着热闹,真正做过的人才知道,这个赛道远不是"把菜送到家"这么简单。相比标品电商,生鲜的核心难点在于"鲜"和"快",这两个字考验的不是某…

2026/10/18 13:47:07 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →