[{"data":1,"prerenderedAt":222},["ShallowReactive",2],{"site-settings":3,"$fUc4CsSKhgvcv1fqpQTntFZ2zy4iMaXgGgx5hTk_Jp5s":26,"related-posts":49,"$funOdU_n7VXehDfmTSCz0X77qkpch4uzGkJqmiiTIKPs":221},{"id":4,"site_name":5,"site_subtitle":6,"site_description":7,"author":8,"email":9,"github":10,"icp":10,"page_size":11,"enable_comment":12,"enable_rss":12,"updated_at":13,"site_icon":14,"site_og_image":15,"site_keywords":16,"site_og_image_width":24,"site_og_image_height":25},1,"LiteSite（轻站）","把你想做的网站说出来","LiteSite（轻站）探索自然语言驱动的零代码建站体验，展示响应式网站与前端原型的设计方向。","Admin","support@litesite.com",null,10,true,"2026-10-05T03:56:44.502+00:00","https:\u002F\u002Fnklbhnvyoggxghtaoizu.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-images\u002F2026-10-05-1765bce7-01f1-4206-8d5d-6a717d17f206.png","https:\u002F\u002Fnklbhnvyoggxghtaoizu.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-images\u002F2026-10-05-157c3c1d-2722-474c-860b-d3f38d6a674d.png",[17,18,19,20,21,22,23],"LiteSite","轻站","零代码建站","AI建站","响应式网站","前端原型","网站设计",1200,630,{"id":27,"slug":28,"title":29,"summary":30,"content":31,"status":32,"tags":33,"seo_keywords":38,"published_at":44,"updated_at":45,"category":46},17,"llm-api-cost-control","大模型调用怎么控制成本？一笔账算清缓存、输出与重试","先按输入、输出和额外调用算清单次成本，再用缓存、模型路由、上下文裁剪和预算限额降本，并用可用答案质量守住效果。","大模型调用成本不能只看“每百万 token 单价”。一次用户请求可能触发检索、多个模型调用、工具执行和重试；账单还可能包含缓存输入、批处理、存储等不同计费项。我的做法是先把每条请求的实际成本算清，再按“少调用、少传入、少输出、选合适的模型、限制失控重试”的顺序优化，并始终检查答案是否仍然可用。\n\n## 先把单次请求的账算完整\n\n对按 token 计费的模型，可用这个基本式子估算一次调用：\n\n**模型费用 =（普通输入 token ÷ 100 万 × 输入单价）+（缓存输入 token ÷ 100 万 × 缓存单价）+（输出 token ÷ 100 万 × 输出单价）**。\n\n如果一次业务请求调用了两次模型，就把两次相加；失败后重试、工具调用、向量检索或其他收费服务也要单列。不同服务商的缓存规则、计费单位和附加费用并不相同，最终以实际账单为准。请求日志至少记录业务场景、模型、输入与输出 token、缓存命中、重试次数、费用、延迟和结果是否通过验收，才知道钱花在哪条路径上。\n\n假设每天有 **10 万次请求**，每次平均普通输入 2000 token、输出 500 token；演示单价为输入 **2 元\u002F百万 token**、输出 **8 元\u002F百万 token**。那么每天输入共 2 亿 token，费用 **400 元**；输出共 5000 万 token，费用也是 **400 元**。基线合计 **800 元\u002F天**，按 30 天粗算 **2.4 万元**。这些单价只是算术示例，不代表任何厂商报价。\n\n![大模型调用成本算例：每天 800 元，输入缓存与缩短输出后约 590 元](https:\u002F\u002Fnklbhnvyoggxghtaoizu.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fblog-images\u002F2026-10-05-0060b9f4-5d57-458f-a487-6fb5b56773cc.png)\n\n*图：假设计费条件下的模型 token 成本；重试、工具和服务成本未计入。*\n\n## 第一刀：减少不必要的模型调用\n\n确定性任务先用规则、数据库查询或普通程序处理，例如读取订单状态、计算固定公式、验证字段。对完全相同且允许复用的公开问题，可以设置带过期时间的结果缓存；对语义相近的问题谨慎使用近似缓存，尤其是价格、库存和个性化内容，避免把旧答案或别人的数据返回给当前用户。\n\n检查工作流是否多调用了一层“改写”“总结”却没有带来质量提升。将每个步骤的成本和成功率单独记录，才能决定是合并、删除还是保留。减少调用次数通常比微调几个提示词更有效。\n\n## 第二刀：压缩输入和输出，但保留必要证据\n\n输入侧先清理重复的系统说明、长聊天历史和无关检索片段。检索场景按相关性选取少量证据，并保留引用所需的原文位置；长对话可以保留近期轮次与经过验证的摘要。不要只按字符数硬截断，以免删掉用户的限制条件。\n\n输出侧按任务设计格式：分类任务只返回标签，提取任务返回结构化字段，短答任务限制长度。设置合理的最大输出 token 和超时，避免失控生成；但不要把上限压到答案经常被截断。流式输出改善等待体验，本身不会让已生成 token 变便宜。\n\n以上面的假设为例，若平均输出从 500 降到 **350 token**，每天少生成 **1500 万 token**；按 8 元\u002F百万 token，节省 **120 元\u002F天**。这个改动必须通过样本验收，确认关键事实和格式没有丢失。\n\n## 第三刀：把任务路由到合适的模型\n\n给任务分级：简单分类、标题生成可以先尝试低成本模型；复杂推理、关键客户回复或高风险内容用能力更强的模型，或在低置信度时升级。路由规则需要用真实样本测试，不要只比较单价。便宜模型若频繁失败、反复重试或需要人工返工，单个可用答案的总成本可能反而更高。\n\n建议同时看 **每个通过验收的答案成本 = 总调用与附加费用 ÷ 通过验收的答案数**。对不同任务分别统计质量、延迟和成本，再调整阈值；模型或提示词升级时保留旧版本作对照。\n\n## 缓存收益要按实际命中量重算\n\n提示词缓存通常依赖稳定前缀和服务商的具体规则，不能把“复用相似提示词”直接当成缓存命中。假设前述请求中有 60% 各有 1000 个输入 token 符合缓存条件，则每天缓存输入是 **6000 万 token**。若缓存单价假设为普通输入价的 25%，这部分原本花 **120 元**，现在花 **30 元**，节省 **90 元\u002F天**。\n\n缓存节省 90 元，加上缩短输出节省 120 元，示例模型费用由 800 降为 **约 590 元\u002F天**；30 天约 **1.77 万元**，比原来少 **6300 元**。这里假设两项优化互不改变请求量和其他 token 结构；实际要用账单里的缓存 token 与计费明细验证。\n\n## 给重试和预算设硬边界\n\n为单请求设置超时、最大重试次数和最大 token；只对临时错误重试，并使用退避与抖动，避免服务故障时所有请求同时重放。写操作还要考虑幂等，防止重试造成重复业务动作。并发上限、队列长度和每日预算应按项目或租户设置，达到阈值时告警、降级或暂停非关键任务。\n\n成本看板至少按业务场景、模型、用户或租户、日期拆分：调用量、输入\u002F输出 token、缓存命中、重试率、失败率、平均费用、可用答案率。突增时先找变化来源，例如新版本把整段聊天历史重复传入，或某个工具失败导致重试循环。不要靠月底账单才发现问题。\n\n控制成本的目标不是把单价压到最低，而是以可接受的延迟和质量，稳定地降低每个有效结果的总费用。先记录基线，再一次只调整一类杠杆，验收效果并核对真实账单，才能知道节省是否成立。","published",[34,36],{"name":35,"slug":35},"工程",{"name":37,"slug":37},"大模型",[39,40,41,42,43],"大模型调用成本","LLM API成本控制","Token费用计算","提示词缓存","模型路由","2026-10-05T03:49:26.666+00:00","2026-10-05T03:49:30.237304+00:00",{"id":47,"name":48,"slug":48},3,"技术笔记",{"items":50,"total":219,"page":4,"pageSize":220},[51,67,83,99,119,137,143,159,174,187,202],{"id":52,"slug":53,"title":54,"summary":55,"status":32,"tags":56,"seo_keywords":59,"published_at":65,"category":66},22,"llm-output-instability-hallucination","模型返回不稳定 \u002F 幻觉怎么办？","区分随机波动与事实幻觉，沿着样本评测、证据检索、结构校验、业务规则和人工回退建立可验证的大模型输出链路。",[57,58],{"name":35,"slug":35},{"name":37,"slug":37},[60,61,62,63,64],"模型幻觉怎么办","大模型输出不稳定","LLM幻觉","RAG事实校验","模型评测","2026-10-05T04:17:13.315+00:00",{"id":47,"name":48,"slug":48},{"id":68,"slug":69,"title":70,"summary":71,"status":32,"tags":72,"seo_keywords":75,"published_at":81,"category":82},21,"llm-cost-budget-guardrails","大模型调用怎么控制成本？把预算控制放进请求链路","从请求准入、原子预留、真实用量结算到超支降级，设计一套能在并发与重试下运行的大模型调用预算控制链路。",[73,74],{"name":35,"slug":35},{"name":37,"slug":37},[76,77,78,79,80],"大模型调用成本控制","LLM预算管理","Token费用","模型调用限额","API成本监控","2026-10-05T04:14:07.621+00:00",{"id":47,"name":48,"slug":48},{"id":84,"slug":85,"title":86,"summary":87,"status":32,"tags":88,"seo_keywords":91,"published_at":97,"category":98},20,"llm-structured-output-reliability","结构化输出怎么保证模型按格式返回？","模型返回 JSON 不等于系统拿到可用数据。本文区分提示词、JSON 模式与 Schema 约束，说明如何用服务端校验、有限重试和业务规则构建可靠的结构化输出链路。",[89,90],{"name":35,"slug":35},{"name":37,"slug":37},[92,93,94,95,96],"大模型结构化输出","JSON Schema","模型按格式返回","LLM输出校验","约束解码","2026-10-05T04:10:02.025+00:00",{"id":47,"name":48,"slug":48},{"id":100,"slug":101,"title":102,"summary":103,"status":32,"tags":104,"seo_keywords":111,"published_at":117,"category":118},19,"geo-vs-seo-explained","理解 GEO 是什么？和 SEO 有什么区别？","GEO 是什么，和 SEO 有什么区别？从用户提问、内容呈现、优化动作与衡量指标四个角度讲清两者的关系，并给出一套适合建站团队的入门做法。",[105,108],{"name":106,"slug":107},"建站","jianzhan",{"name":109,"slug":110},"GEO","geo",[112,113,114,115,116],"GEO是什么","GEO和SEO的区别","生成式引擎优化","SEO","AI搜索优化","2026-10-05T04:07:05.673+00:00",{"id":47,"name":48,"slug":48},{"id":120,"slug":121,"title":122,"summary":123,"status":32,"tags":124,"seo_keywords":129,"published_at":135,"category":136},18,"how-nuxt-ssr-works","Nuxt 的 SSR 是怎么做的？从请求、数据获取到 Hydration","沿着一次文章页请求，看 Nuxt 如何用 Nitro 接收请求、在服务端执行 useFetch 并生成 HTML，再由浏览器复用 payload 完成 Hydration。",[125,126],{"name":35,"slug":35},{"name":127,"slug":128},"Nuxt","nuxt",[130,131,132,133,134],"Nuxt SSR","Nuxt服务端渲染","Nuxt useFetch","Hydration","Nitro渲染流程","2026-10-05T03:55:36.035+00:00",{"id":47,"name":48,"slug":48},{"id":27,"slug":28,"title":29,"summary":30,"status":32,"tags":138,"seo_keywords":141,"published_at":44,"category":142},[139,140],{"name":35,"slug":35},{"name":37,"slug":37},[39,40,41,42,43],{"id":47,"name":48,"slug":48},{"id":144,"slug":145,"title":146,"summary":147,"status":32,"tags":148,"seo_keywords":151,"published_at":157,"category":158},16,"geo-technical-pipeline-design","GEO 的技术链路你会怎么设计？","从问题池、证据库、可读页面到答案采样与质量回写，设计一条可维护的 GEO 技术链路，并明确外部 AI 系统的边界。",[149,150],{"name":35,"slug":35},{"name":109,"slug":110},[152,153,154,155,156],"GEO技术链路","GEO技术方案","生成式引擎优化架构","AI搜索内容工程","GEO监测","2026-10-05T03:44:34.947+00:00",{"id":47,"name":48,"slug":48},{"id":160,"slug":161,"title":162,"summary":163,"status":32,"tags":164,"seo_keywords":166,"published_at":172,"category":173},15,"geo-core-metrics-calculation","GEO 的核心指标你怎么理解？怎么算？","用同一组问题和明确的分母，算清 GEO 的品牌提及率、引用率、有效引用率、竞争提及份额与有效线索率。",[165],{"name":109,"slug":110},[167,168,169,170,171],"GEO核心指标","GEO指标怎么算","品牌提及率","AI引用率","生成式引擎优化效果","2026-10-05T03:40:09.175+00:00",{"id":47,"name":48,"slug":48},{"id":175,"slug":176,"title":177,"summary":178,"status":32,"tags":179,"seo_keywords":182,"published_at":185,"category":186},14,"geo-business-understanding","GEO 从业务理解开始：把真实问题写成可引用的内容","做 GEO 之前，先弄清业务服务谁、用户在什么场景下提问、哪些证据能支持回答，再用真实问题和业务结果验证内容。",[180,181],{"name":106,"slug":107},{"name":109,"slug":110},[109,114,183,184,116],"业务理解","GEO内容策略","2026-10-05T03:33:52.358+00:00",{"id":47,"name":48,"slug":48},{"id":188,"slug":189,"title":190,"summary":191,"status":32,"tags":192,"seo_keywords":194,"published_at":200,"category":201},13,"website-launch-checklist","网站上线前后检查清单：从可访问到可维护","一份实用的网站上线清单，逐项检查域名、HTTPS、手机体验、页面速度、SEO、表单、备份与上线后的监测。",[193],{"name":35,"slug":35},[195,196,197,198,199],"网站上线检查清单","网站上线","网站性能优化","网站SEO","网站维护","2026-10-05T03:24:44.969+00:00",{"id":47,"name":48,"slug":48},{"id":203,"slug":204,"title":205,"summary":206,"status":32,"tags":207,"seo_keywords":209,"published_at":215,"category":216},12,"website-planning-checklist","建站之前：用一张页面清单理清目标、结构与内容","从网站目标、访问者任务到页面清单和内容准备，用一套可执行的方法完成建站规划，避免边做边改。",[208],{"name":35,"slug":35},[210,211,212,213,214],"建站规划","网站信息架构","网站内容规划","页面清单","个人网站建设","2026-10-05T03:23:27.683+00:00",{"id":217,"name":218,"slug":218},7,"项目实践",11,100,[],1791174017667]