简介:本文面向大模型应用落地过程中的算力、能耗与调用成本压力,讲解如何搭建可持续生长的智能工作系统。读者将掌握任务分级、统一接入、模型路由、上下文控制、缓存复用、预算配额、日志审计、效果评估与持续优化方法,帮助开发者、运维人员和技术负责人建立可控、可维护、可扩展的 Token 成本治理体系。
本教程要帮助读者完成一个明确目标:在有限算力、能耗和预算条件下,搭建一套可持续生长的大模型工作系统。
这里所说的“工作系统”,并不是简单调用一次大模型接口,而是围绕真实业务任务,建立一套包括任务入口、任务分级、模型路由、上下文管理、缓存复用、预算控制、日志监控、效果评估和持续优化在内的完整闭环。
最终要实现的效果包括:
如果读者正在建设大模型应用,或者已经上线但面临“调用量很高但效果不稳定”“Token 消耗增长过快”“成本无法归因”“模型升级后效果波动”等问题,本教程可以提供一套可落地的治理思路。
本教程适合以下读者:
应用开发者
运维与平台工程师
技术负责人
企业数字化团队
常见适用场景包括:
这些场景的共同点是:大模型不是“用一次就结束”,而是会被反复调用,并逐渐成为业务流程的一部分。因此,成本、效果、安全和可维护性都需要提前设计。
很多团队最初使用大模型时,关注的是“能不能做出来”;但当应用真正上线后,问题会转向“能不能持续用得起”。
大模型应用的 Token 消耗,类似于传统互联网应用中的流量消耗。早期的移动互联网应用如果不受控地消耗流量,用户体验和运营成本都会受到影响。同理,在大模型应用中,如果输入上下文过长、请求重复、任务未分级、输出无限制,系统成本会快速上升。
常见的成本失控原因包括:
所有任务都使用高能力模型
上下文不断累积
重复请求未复用
输出长度不受控
缺少预算与配额
缺少日志与指标
因此,Token 成本治理不是简单的“省钱”,而是让大模型系统从“能跑”走向“可持续运行”。
在实施本教程前,建议先完成以下准备工作。
不要先问“要调用哪个模型”,而应先问:
如果业务目标不清晰,很容易出现“为了用大模型而用大模型”的情况。
如果涉及企业知识库、文档库、数据库或业务系统,需要提前确认:
可以基于主流云服务商或百度智能云提供的通用云产品能力进行搭建,通常包括:
这些能力并非必须全部使用,而应根据业务规模和团队能力选择。
建议至少准备以下指标:
| 指标类别 | 示例指标 | 用途 |
|---|---|---|
| 调用指标 | 请求数、输入 Token、输出 Token、总 Token | 判断成本规模 |
| 性能指标 | 首字延迟、整体延迟、超时率 | 判断用户体验 |
| 质量指标 | 成功率、人工采纳率、错误率 | 判断效果稳定性 |
| 成本指标 | 单请求成本、单用户成本、单任务成本 | 做预算与归因 |
| 安全指标 | 敏感信息命中次数、越权访问次数 | 做风险管控 |
如果没有指标体系,后续所有优化都会缺少依据。
建议将大模型工作系统拆分为以下几层。
负责接收业务请求,完成基础校验和统一入口管理。
主要职责:
负责判断请求属于什么类型,应该走什么流程。
主要职责:
负责与模型服务交互。
主要职责:
负责减少重复调用和降低上下文长度。
主要职责:
负责判断系统是否真的有效。
主要职责:
负责成本、性能、稳定性和安全审计。
主要职责:
这种分层方式的优势是:后续更换模型、调整策略、优化提示词、扩容服务时,不会把整个系统拖入大重构。
下面进入具体操作部分。以下步骤应按照顺序执行,避免跳过基础治理直接做复杂优化。
先把业务请求分成几类,例如:
不同任务对模型能力、延迟、成本的要求完全不同。如果不分级,所有请求都走同一条高成本链路,系统很容易失控。
不要一开始就给所有任务配置最高能力模型。应先通过业务规则、轻量模型或缓存解决简单任务,再逐步扩大大模型使用范围。
建立一张任务分级表:
| 任务类型 | 示例 | 建议策略 |
|---|---|---|
| 简单分类 | 工单类型判断 | 规则或轻量模型 |
| 短摘要 | 文档摘要 | 通用模型 + 输出限制 |
| 知识问答 | 企业内部问答 | 检索 + 模型生成 + 引用 |
| 复杂分析 | 报表归因 | 高能力模型 + 人工复核 |
| 代码辅助 | 代码解释 | 中低成本模型 + 缓存 |
不要让业务系统各自直接调用模型服务,而是建立统一入口,例如“模型网关”或“任务服务”。
统一入口应负责:
如果每个业务模块都直接调用模型,会出现以下问题:
统一入口不等于所有请求都必须同步阻塞。对于耗时较长的任务,应使用异步队列处理。
用户请求↓统一接入服务↓身份认证与权限校验↓参数校验与敏感信息检查↓任务分类与路由↓模型调用或缓存命中↓结果返回或异步任务提交↓日志、指标与成本记录
为不同任务设计不同处理路径。例如:
路由策略是成本治理的核心。它决定了请求是“直接回答”“检索后回答”“调用模型生成”还是“转人工处理”。
路由规则不能只写死,应支持配置化。随着业务变化,策略需要持续调整。
规则路由
缓存路由
轻量模型路由
高能力模型路由
人工兜底
function route_request(request):if is_sensitive(request):return manual_review()if cache_hit(request):return cached_resultif is_simple_rule_task(request):return rule_engine(request)if is_short_text_task(request):return light_model(request)if is_complex_task(request):return strong_model(request)return default_model(request)
控制送入模型的上下文长度,规范提示词模板,并对提示词进行版本管理。
需要关注:
输入 Token 是成本的重要组成部分。上下文越长,成本越高,延迟也越大。同时,过长或杂乱的上下文会降低模型输出稳定性。
不要简单把所有历史消息、所有文档、所有字段都拼进提示词。应先压缩、筛选、摘要,再送入模型。
不建议直接拼接大量原文:
这是用户文档:[超长原文]请回答用户问题。
建议先检索相关片段:
你是企业知识助手。请基于以下检索片段回答用户问题。如果资料不足,请明确说明不足。检索片段:片段1:……片段2:……用户问题:……
这样既能减少 Token,又能提高回答可控性。
对可复用的请求结果进行缓存,减少重复调用。
常见缓存对象包括:
缓存是最直接、最稳定的降本手段之一。对于高频重复请求,缓存命中可以显著降低 Token 消耗和响应延迟。
缓存键设计要合理。键太粗会导致错误复用,键太细则会导致命中率过低。
tenant_id + task_type + prompt_hash + input_hash + model_profile + output_limit
如果涉及敏感数据,应避免将原文直接写入缓存键,可使用脱敏后的摘要或哈希值。
为不同业务、不同团队、不同任务设置预算和配额。
预算维度可以包括:
没有预算和配额,异常调用会迅速放大成本。例如程序循环、重复请求、恶意刷量、提示词注入等都可能导致成本突增。
预算控制应分级:
软限制
半硬限制
硬限制
每一次模型调用都应记录关键信息。
建议记录:
只有日志足够完整,才能回答以下问题:
日志中应避免记录完整敏感内容。对用户隐私、企业机密、个人身份信息等应进行脱敏或只保留哈希摘要。
| 维度 | 指标 |
|---|---|
| 业务线 | 总 Token、总成本、平均单次成本 |
| 任务类型 | 输入 Token、输出 Token、成功率 |
| 模型策略 | 高成本模型占比、低成本模型占比 |
| 用户/租户 | 调用次数、预算使用率、异常请求 |
| 提示词版本 | 调用次数、平均输出长度、失败率 |
成本降低不能以效果明显退步为代价。需要建立评估机制,持续判断系统质量。
评估方式包括:
人工抽样
自动评测
用户反馈
业务指标
大模型输出具有不确定性。同一个提示词、同一个模型,在不同输入、不同版本下可能表现不同。若没有评估机制,优化就会变成“凭感觉”。
评估集应尽量覆盖:
把线上反馈、失败样本、人工标注、指标告警重新纳入系统,形成持续优化闭环。
闭环可以包括:
大模型系统不是一次性交付项目,而是持续演进的系统。只有建立反馈闭环,才能避免模型升级、业务变化、数据分布变化带来的效果退化。
每次调整都应可回滚。例如:
在实施过程中,可以通过配置化管理核心策略。配置应避免散落在代码中,建议由平台统一管理。
用于决定不同任务使用哪类模型能力。
示例:
routes:- name: simple_classifytask_type: classificationstrategy: rule_or_light_modelmax_input_tokens: 1000max_output_tokens: 100- name: document_summarytask_type: summarystrategy: general_modelmax_input_tokens: 6000max_output_tokens: 600- name: complex_analysistask_type: reasoningstrategy: strong_modelmax_input_tokens: 12000max_output_tokens: 1200require_review: true
配置含义:
strategy 表示路由策略;max_input_tokens 限制输入规模;max_output_tokens 限制输出规模;require_review 表示是否需要人工复核。示例:
cache:enabled: truettl_seconds: 86400key_fields:- tenant_id- task_type- prompt_version- input_hash
配置风险:
建议采用有限重试,而不是无限重试。
示例:
retry:max_attempts: 2timeout_seconds: 30backoff_seconds: 2fallback: cache_or_default
原因:
示例:
budget:daily_token_limit: 500000monthly_token_limit: 10000000per_request_token_limit: 8000per_user_daily_request_limit: 200alert_threshold: 0.8hard_limit_threshold: 1.0
含义:
下面用一个“企业文档问答助手”示例,说明如何组织完整流程。
企业内部员工上传文档或提交问题,系统基于文档内容生成答案,并保留引用来源。
用户提问↓身份认证↓问题分类↓检索相关文档片段↓上下文压缩↓提示词组装↓模型生成↓结果校验↓返回答案↓记录日志与成本
身份认证
检索过滤
上下文压缩
引用返回
缓存复用
预算控制
function answer_question(user_id, question, doc_ids):check_permission(user_id, doc_ids)cache_key = build_key(user_id, question, doc_ids, prompt_version)if cache_exist(cache_key):return cache_get(cache_key)chunks = search_documents(question, doc_ids)if chunks is empty:return "未找到相关资料,建议补充文档。"context = compress_chunks(chunks)prompt = build_prompt(question, context)result = call_model(prompt=prompt,max_input_tokens=6000,max_output_tokens=600)answer = validate_answer(result)cache_set(cache_key, answer, ttl=86400)log_request(user_id, question, chunks, result)return answer
完成搭建后,需要从多个维度验证结果。
确认核心业务任务能够正常完成:
对比治理前后:
关注:
关注:
模拟异常情况:
系统应能优雅降级,而不是直接崩溃或持续烧钱。
可能原因:
排查步骤:
可能原因:
处理方式:
可能原因:
处理方式:
可能原因:
处理方式:
可能原因:
处理方式:
可能原因:
处理方式:
本教程围绕大模型应用中越来越突出的 Token 成本、资源约束和持续运营问题,给出了一套可落地的治理体系。
核心结论如下:
大模型工作系统的关键不只是“调用模型”,而是建立完整闭环。
包括任务入口、任务分级、路由策略、上下文管理、缓存复用、预算控制、日志监控和效果评估。
成本治理必须从架构设计开始。
如果所有任务都走统一高成本链路,后期优化成本会越来越高。
Token 消耗需要通过分级、缓存、上下文压缩和输出限制共同控制。
单一手段往往不够,需要组合优化。
预算、配额、日志和告警是系统可持续运行的基础。
没有这些能力,成本异常很难被及时发现。
效果评估必须与成本优化同步进行。
降本不能以明显牺牲质量、安全和合规性为代价。
系统需要持续生长。
线上反馈、失败样本、人工标注和指标分析应反哺到路由策略、提示词和模型选型中,形成持续优化闭环。
对于开发者、运维人员和技术负责人来说,建议先从一个小型业务场景开始,建立统一入口、基础日志、成本统计和任务分级,再逐步扩展缓存、路由、评估和预算能力。这样既能快速看到效果,也能避免一次性建设过重、治理失控。
最终,一套成熟的大模型工作系统,应当做到:任务可路由、成本可归因、调用可控制、效果可评估、风险可审计、系统可持续生长。