资讯动态

系统提示词从1.4万token砍到193,AI编码成本降85%的完整迁移复盘

发布时间:2026/10/21 17:48:59 来源:尧图企业网站定制
这个月我把主力编码环境从原来那款全家桶式的商用Agent终端整体迁到了一个叫Pi的开源轻量级编码终端。迁移本身不算难真正费劲的是把系统提示词从14123个token一路砍到193个token还让日常任务不降质。账单统计下来同样的工作量token消耗直接掉了85%。这篇文章是这次迁移的完整复盘怎么把老工具的系统提示词完整导出来、怎么评估迁移收益、系统提示词那三刀怎么切、迁移后怎么验收以及我已经踩过的四个坑。想给AI编码工具账单止血的独立开发者或者准备在公司内部落地轻量AI编码方案的技术负责人可以直接照着做。1. 为什么我把主力编码环境从商用Agent终端换成了开源的Pi1.1 你为系统提示词付的钱比想象中多得多商用Agent终端做得好的地方是开箱即用。装完连好模型跟仓库说一句话它自己会读代码、跑测试、改文件。作为代价它把一大堆行为规则、工具说明、代码规范、安全边界全塞进系统提示词防止模型乱来。我原来用的那款系统提示词就有1.4万token。这个数字意味着什么系统提示词的token不是按会话收一次而是按请求收。哪怕你只是问一句这个函数是干嘛的这1.4万token也会跟着请求完整发一遍。一次正常编码任务少则一二十轮工具调用多则四五十轮。我拉过一周的使用明细光是系统提示词在整周账单里就占掉了可观的输入量。很多人的Agent账单越滚越大不是任务变多了是每一轮都在为同一个固定开销付费。提示判断一个Agent工具是不是在漏钱先看它的系统提示词有多长。系统提示词超过5000token的每次请求的输入基础成本就压不下去。1.2 token计费怎么算输入、输出、缓存三笔账搞清楚计费方式才能明白为什么砍系统提示词是第一优先级。输入token请求发给模型的全部前置内容包括系统提示词、对话历史、贴进来的文件。这部分按每百万token的单价计算不同模型差别很大。输出token模型生成的内容单价通常是输入的3到5倍贵的模型差距还要拉大。缓存prompt cache连续请求中相同前缀有缓存优惠命中缓存后输入单价会低很多。但第一次请求没有缓存而且只要某个中间环节变了比如刚才贴进来的文件内容有更新后续缓存就可能部分失效。用生活类比解释系统提示词相当于每次去食堂都收一次的进门费不管你点没点菜。砍掉它等于把进门费从每次14块降到2毛。我见过很多账单问题根本不是任务量大而是这个固定成本被一百次、一千次地重复支付。1.3 选Pi而不继续调教旧工具的真实原因不是旧工具不好而是它不让你改系统提示词。在旧工具生态里你可以写额外的规则文件但基础系统提示词是产品内置的想从1.4万token砍到200基本不可能。你只能在它的框框里做增量优化没法做减法。Pi是另一个思路开源、可配置、提示词完全由你控制。它默认只带一个极简系统提示词规则、工具、上下文全部支持按需加载。我需要的是可观测、可预算、可裁剪这些恰恰是闭源全家桶给不了的。所以这不是谁更聪明的问题是我要不要拥有提示词控制权的问题。维度旧工具Pi系统提示词约1.4万token不可改用户定义可压到200模型接入仅少数指定模型任意兼容接口的模型或网关上下文策略自动全仓扫描加注入手动按需加载可控工具扩展相对封闭开放插件和工具定义账单透明度有统计但粒度粗每请求可见token明细2. 迁移前先拆机看清单据构成和功能基线2.1 把老工具的系统提示词完整导出来第一步是拿到原始系统提示词。很多人在这一步就卡住了因为工具默认不暴露配置细节。我的做法分两步在本地开启调试日志旧工具的启动命令里带有verbose或debug开关打开后能看到每次API请求的日志文件。从日志文件里找最近的请求体里面通常有一个system字段那就是系统提示词本体。如果工具把日志藏得特别深还有一个笨但有效的办法在本机跑一个日志转发脚本把API调用原样转发到真实端点同时把请求体落盘。这个操作纯粹是为了看请求内容不等同于任何网络加速只在本机做记录。导出后发现系统提示词14123个token同时把message数组和工具定义也导了出来后面写对比素材都用得上。2.2 一次请求的token账单长什么样导出来之后我做了一次真实请求的token分解。某轮请求的构成如下组成部分token数说明系统提示词14123每轮固定不可省对话历史35440会话越长这坨越大注入的仓库文件21890自动扫描后带进来的代码用户消息560本轮指令模型输出1200生成内容这一轮光输入就有72000token左右输出1200token。注意这只是某一轮的瞬时值。随着对话变长历史部分会继续膨胀而且历史里有大量重复的模型输出内容。所以总费用通常是系统提示词膨胀历史无差别文件注入三者叠加出来的单独压任何一块都不够但系统提示词是最容易先砍的那块。2.3 先定功能基线再谈迁移迁移前我给自己列了一份必须保留的能力清单仓库问答解释某个模块的职责和调用关系单文件修改按需求修改一个函数并补注释跨文件重构3到5个文件的小型接口调整测试驱动运行某条测试命令根据失败信息定位并修复提交信息生成根据diff生成规范的git提交信息这份清单非常关键。迁移不是能跑就行而是原有核心使用场景不降级。后面每次砍提示词、调上下文策略都用这套基线任务重新过一遍。某一刀砍完如果答复质量明显下降说明砍过了头需要回收一部分。3. 系统提示词从1.4W砍到200三刀切完3.1 第一刀删掉人格化描述和空话准则拿到14123token的系统提示词先做分类统计。我分出了四类人格描述、空话准则、工具说明、具体项目规则。其中工具说明和项目规则属于行为约束必须保留人格描述和空话准则直接删。人格描述典型就是你是一位资深工程师你擅长系统架构这类话。空话准则则是保持代码整洁请逐步思考遵循最佳实践。这些内容在模型预训练阶段早就学进去了放到系统提示词里只会挤占上下文而且没法验证模型是否真的照做。真正有效的是可执行、可验证的指令比如只修改用户指定的文件而不是请保持代码质量。提示区分听起来有用和实际上有用。一条系统提示词只有在能约束模型行为、能被事后检查时才有价值其余都是噪音。3.2 第二刀把规则外置按需加载具体项目规则往往非常占地方。提交信息用中文遵循约定式提交Go代码用gofmt格式化前端组件用TypeScript——这些约定如果一条条写进系统提示词起步就是两三千token。Pi支持动态加载规则文件于是我把项目约定全部外置到仓库的RULES/目录每个主题一个文件。系统提示词里只留一句任务开始前根据任务类型加载RULES/下对应的规则文件。模型发现任务涉及Go就去读RULES/go.md涉及前端就去读RULES/frontend.md。用完即走不常驻。这一步的效果是规则从常驻内存变成了按需读取。大部分请求甚至不需要加载任何规则文件系统提示词自然就能压到极短。3.3 第三刀用按需读文件替代全仓注入旧工具默认做仓库级扫描生成一个大而全的索引然后根据任务自动注入相关文件。听起来智能实际上经常把无关文件也带进来。有一次改支付模块它把登录模块的文件也注入了白白多烧大几千token。Pi的做法更朴素需要什么文件就手动pi add进去不需要就pi drop。一开始我觉得麻烦用习惯后发现上下文从5万token降到一万以下模型反而更专注因为无关信息少了。这一步让平均单轮输入token降幅超过60%。3.4 最终200token的提示词模板可直接抄三刀切完最终系统提示词长这样你是一个命令行编码助手。规则 1. 只修改用户明确要求的文件不确定时先问。 2. 修改前读取目标文件和相关文件理解结构后再动手。 3. 执行命令前先说明意图默认不运行破坏性命令。 4. 按 RULES/ 下对应规则文件加载项目约定。 5. 回答用中文简洁代码补注释。 6. 完成后列出修改文件和测试结果。这个模板用Pi自带的count命令统计正好193个token。注意每条都是可执行约束没有一个字是在夸你或者塑造人设。工具定义没有写在这里而是放在工具注册表里这也是提示词能保持200token以下的原因之一。4. 迁移实操装好Pi到跑通真实任务4.1 安装和接入模型网关Pi的安装走常见的包管理器一条命令装完。真正花时间的是配置模型端点。我的~/.pi/config.toml里填了三样东西模型网关地址、API Key、默认模型名。模型选型上我分了两个档位日常问答和普通修改用价格便宜的通用模型疑难任务和架构调整用旗舰商用模型。配置里把temperature调低编码任务输出更稳。配好后用pi check验证连通性能以正常延迟返回就算通。4.2 配置工具白名单与仓库上下文工具配置上我只开了四样bash、read_file、write_file、grep把web搜索和其余工具一律关掉。好处有两个一是降低模型误调用的风险二是让模型需要理解的工具定义更少间接帮助系统提示词瘦身。仓库上下文这块在项目根目录运行pi init会生成一个轻量索引。日常操作中需要贴文件时用pi add 文件路径不需要时用pi drop。这套操作看上去比旧工具多做了几步但它让每一轮请求的上下文都是精确可控的。4.3 用基准任务做验收迁移完第一件事跑功能基线而不是直接上手真实项目。任务一解释src/service/order.go中OrderService的职责——要求答复不引无关文件。任务二把FetchUserById改成返回UserProfile并同步所有调用方——要求修改3个文件相关测试通过。任务三跑go test ./service如果失败定位原因并修复——要求快速定位不反复试探。我跑这些任务时同时观察三个指标结果正不正确、工具调用次数合不合理、上下文有没有偷偷膨胀。三个任务全部通过后才把真实项目切到Pi上。4.4 账单降85%的完整拆账计算很多人问85%到底是怎么来的我用一个算例说清楚。先不换模型假设用同一个旗舰模型输入单价$12/百万token输出单价$60/百万token。迁移前每轮请求输入系统提示词14000 历史与文件50000 64000token输出1800token单轮成本64000/1000000×12 1800/1000000×60 0.768 0.108 0.876美元一个30轮任务约26.28美元迁移后每轮请求同一单价隔离变量输入系统提示词200 按需上下文8000 压缩后历史3000 11200token输出1500token单轮成本11200/1000000×12 1500/1000000×60 0.1344 0.09 0.2244美元一个30轮任务约6.72美元单纯靠提示词瘦身和上下文按需加载token成本已经降了74%。再叠加模型分级路由日常任务切到输入输出价格更低的模型端点疑难任务才用旗舰模型综合下来一周账单降幅就在85%左右。所以85%不是某一个操作带来的是系统提示词瘦身上下文按需加载模型分级路由三个因素叠加的结果。5. 迁移后容易翻车的四个坑与排查实录5.1 提示词太短之后模型开始自由发挥第一刀砍得太狠出现了典型问题让它修一个handler结果它把旁边三个文件也改了还自作主张加了新依赖。原因很简单系统提示词里没有了只修改用户指定文件这类红线模型就按自己对完善的理解去做事。解决方式是在最终模板里保留第一条硬约束只修改用户明确要求的文件不确定时先问。另外把write工具的默认行为改成需要明确确认高危操作走dry-run。改完之后自由发挥的情况基本消失。5.2 工具描述精简过头调用率下降刚开始我把工具描述也一并砍得很短结果模型出现两种表现一是明明该调用工具却直接凭记忆回答问题二是调用bash时参数传得乱七八糟。后来才意识到工具描述属于工具注册表不属于系统提示词这部分没必要跟200token一起抠。正确做法工具描述保留完整的入参、出参说明和一句话示例让它存在工具注册表里。系统提示词保持200工具定义可以肥大两者并不冲突。5.3 按需加载上下文把跨文件修改搞漏了这是迁移初期最头痛的问题。一次跨文件重构我问它调用方同步了吗它回答当前上下文中没有caller文件。因为我没有把调用方文件pi add进去。后来我加了一条工作流的规则跨文件任务开始前先列出touch list把涉及的文件全部加载进上下文。用一句话写进模板第四条的补充说明或者放在RULES/里按需加载。现在做跨文件修改第一步永远是列清单、加文件。5.4 贪便宜换模型省了token亏了时间模型分级路由有个反面教训我把所有任务都切到最便宜的模型确实省了钱但编码任务经常需要两三次重试一个原本10分钟能完成的任务拖了半小时。省下的token成本抵不过多花的时间。调整策略是给模型路由加阈值超过20行代码的修改、涉及设计决策的任务直接走旗舰模型单文件小改动、仓库问答、解释代码走便宜模型。省成本的正确目标是有效成本最低也就是token账单加上人工等待时间而不是单一账单最低。5.5 问题速查表现象原因解决模型顺手改了无关文件缺少只改指定文件约束模板保留第一条高危操作dry-run该调用工具却不调用工具描述被过度精简工具定义放注册表保留完整schema跨文件修改漏文件上下文按需加载不到位先列touch list再pi add贪便宜导致反复重试模型能力与任务难度不匹配按任务复杂度做模型路由6. 这套方案真正省在哪以及谁不适合6.1 提示词瘦身可以复制但成本大头是上下文策略做完这次迁移我最大的感受是把系统提示词砍到200token是所有人都能复制的操作但它只解决了账单的一部分。真正的大头是上下文管理策略。我见过有人系统提示词只有200token但每次把一堆无关文件贴进去账单照样高。所以正确的心法是建立上下文预算这个任务到底需要哪些文件历史对话要不要压缩哪些信息可以靠检索而不是全量注入把这三件事管住token成本才能真正降下来。系统提示词瘦身只是整个成本治理的入口不是终点。6.2 不适合硬上Pi的场景这套方案不适合所有人。如果你的场景需要多Agent协作、长链路自主执行或者深度依赖外部协作平台的集成Pi的极简风格反而会变成负担因为你需要自己补大量的编排逻辑。另外如果团队没有人愿意维护RULES/目录和工具配置只是想要开箱即用那闭源全家桶仍然更合适。迁移前先问自己一句我要的是省心还是省钱可控两个都要需要投入的维护成本是绕不开的。6.3 最后分享一个我的习惯现在我每周会跑一遍pi stats看每笔请求的token明细然后把异常高的请求单独拉出来看比如某轮请求突然用了5万token一定是某个文件被误贴进去了。另外我把系统提示词模板放在仓库根目录的PROMPT.md里任何改动都要先过一遍pi count确保不超过200token超了就不让提交。这个习惯看起来很小但它逼着我把提示词成本当成代码一样管理。这次从1.4万token砍到193不是一蹴而就的结果而是持续修剪出来的。账单降85%只是顺手拿到的结果真正的收获是对这套AI编码流程重新拥有了掌控感。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑