成本优化
合理优化 Token 使用可以显著降低使用成本,同时保持高质量的输出。本指南提供了实用的成本优化策略。
理解 Token
Section titled “理解 Token”什么是 Token
Section titled “什么是 Token”- Token 是文本处理的基本单位,可以是单词、字符或子词
- 中文通常 1-2 个汉字对应 1 个 Token
- 英文通常 1 个单词对应 1-1.5 个 Token
Token 计费方式
Section titled “Token 计费方式”- 输入 Token:您发送给 Agent 的提示词
- 输出 Token:Agent 生成的回复
- 总成本 = 输入 Token 数 × 输入单价 + 输出 Token 数 × 输出单价
输入优化策略
Section titled “输入优化策略”1. 精简提示词
Section titled “1. 精简提示词”| 优化前 | 优化后 | 节省 |
|---|---|---|
| 冗长的背景描述 | 直接说明核心需求 | 30-50% |
| 重复的示例 | 一个清晰的示例 | 20-40% |
| 不必要的礼貌用语 | 简洁的专业表达 | 10-20% |
示例:
❌ "你好,我想请你帮我一个忙,不知道你方不方便... (100+ tokens 的铺垫) 其实我是想让你帮我写个 Python 函数"
✅ "编写 Python 函数:读取 CSV 并返回 DataFrame"2. 使用文件引用
Section titled “2. 使用文件引用”- 对于大段文本、代码或数据,保存为文件并让 Agent 读取
- 避免在对话中重复粘贴相同内容
❌ 每次对话都粘贴 500 行代码✅ "请读取 /path/to/code.py 并进行分析"3. 分块处理
Section titled “3. 分块处理”- 将大任务分解为多个小任务
- 避免在单个提示中塞入过多信息
❌ "分析这份 10MB 的日志文件,提取所有错误, 分类统计,生成图表,并给出优化建议"
✅ 分步骤: 1. "分析日志文件,提取错误类型" 2. "基于上一步结果,统计各类错误数量" 3. "生成可视化图表" 4. "给出优化建议"输出优化策略
Section titled “输出优化策略”1. 控制输出长度
Section titled “1. 控制输出长度”明确指定输出长度,避免不必要的冗长回复:
✅ "简要说明(100字以内)"✅ "提供核心要点,不需要详细解释"✅ "只返回代码,不需要注释"2. 使用结构化输出
Section titled “2. 使用结构化输出”要求特定格式,减少无关内容:
✅ "以 JSON 格式返回:{\"result\": ..., \"confidence\": ...}"✅ "使用表格对比,不要额外说明"3. 增量获取信息
Section titled “3. 增量获取信息”先获取概要,再按需深入:
步骤 1: "总结这份文档的核心观点"步骤 2: "详细解释第三点"会话管理优化
Section titled “会话管理优化”1. 及时开启新会话
Section titled “1. 及时开启新会话”- 当上下文变得冗长时,开启新会话
- 在新会话中简要总结之前的关键信息
"基于之前的讨论(实现了用户认证模块), 现在需要添加密码重置功能..."2. 避免重复上下文
Section titled “2. 避免重复上下文”- 不要在每个消息中重复完整的背景信息
- 利用 Agent 的上下文记忆能力
3. 使用系统提示
Section titled “3. 使用系统提示”- 在支持的平台上,使用系统提示设置全局上下文
- 避免在每个用户消息中重复相同指令
工具使用优化
Section titled “工具使用优化”1. 选择合适的模型
Section titled “1. 选择合适的模型”- 简单任务使用轻量级模型
- 复杂任务才使用高级模型
- 根据任务类型选择专用模型
2. 缓存常用结果
Section titled “2. 缓存常用结果”- 对于重复查询,缓存结果避免重复调用
- 使用本地文件存储中间结果
3. 批量处理
Section titled “3. 批量处理”- 将多个相似请求合并为一次调用
- 使用批处理 API(如果支持)
代码相关优化
Section titled “代码相关优化”1. 代码审查优化
Section titled “1. 代码审查优化”❌ "请审查这段代码的所有方面"✅ "请重点检查这段代码的性能瓶颈, 特别是循环中的数据库查询"2. 代码生成优化
Section titled “2. 代码生成优化”❌ "写个完整的 Web 应用"✅ "生成用户登录模块的核心逻辑, 其他部分我会自己实现"3. 使用伪代码
Section titled “3. 使用伪代码”- 在详细实现前,先用伪代码确认逻辑
- 减少因方向错误导致的重复工作
文档处理优化
Section titled “文档处理优化”1. 预处理文档
Section titled “1. 预处理文档”- 提取关键部分,而非发送完整文档
- 使用摘要工具先压缩内容
2. 分块摘要
Section titled “2. 分块摘要”❌ "总结这本 300 页的技术书籍"✅1. "总结第 1-3 章关于架构设计的内容"2. "总结第 4-6 章关于性能优化的内容"3. "基于以上摘要,给出整体评价"3. 使用元数据
Section titled “3. 使用元数据”- 提供文档结构信息,帮助 Agent 定位
- 避免发送完整目录
✅ "文档共 5 章,重点关注第 3 章'数据库优化'"1. 跟踪 Token 使用
Section titled “1. 跟踪 Token 使用”- 记录典型任务的 Token 消耗
- 识别高消耗的交互模式
2. 建立基准
Section titled “2. 建立基准”- 为常见任务建立 Token 使用基准
- 定期审查优化效果
3. 成本估算
Section titled “3. 成本估算”示例计算:- 平均每次对话:2K 输入 + 1K 输出 = 3K tokens- 每日 20 次对话:60K tokens/天- 每月:1.8M tokens- 按 $0.01/1K tokens 计算:$18/月常见场景优化示例
Section titled “常见场景优化示例”场景 1:代码调试
Section titled “场景 1:代码调试”优化前:"我的程序出错了,这是全部代码 [500 行], 还有错误日志 [200 行],请帮我找出问题"
优化后:"程序报错:[错误信息] 相关代码片段:[10-20 行关键代码] 已尝试:[简述已尝试的解决方案] 请分析可能的原因"场景 2:学习新技术
Section titled “场景 2:学习新技术”优化前:"教我 Python"
优化后:"我有 Java 基础,想学 Python。 请对比两者的语法差异, 重点说明 Python 特有的特性"场景 3:文档生成
Section titled “场景 3:文档生成”优化前:"写一份完整的产品文档"
优化后:"基于以下要点生成 API 文档: - 功能:用户认证 - 端点:/api/v1/auth - 方法:POST - 参数:username, password 格式参照 OpenAPI 规范"最佳实践清单
Section titled “最佳实践清单”- 提示词简洁明了,去除冗余
- 大文件使用引用而非粘贴
- 明确指定输出长度和格式
- 复杂任务分步骤处理
- 及时开启新会话,避免上下文膨胀
- 根据任务复杂度选择合适的模型
- 缓存重复查询的结果
- 定期审查和优化高频交互模式
💡 提示:成本优化不应以牺牲质量为代价。在追求效率的同时,确保输出仍能满足您的需求。