1.
显式限制输出长度
在每次 API 调用时,通过 max_tokens 参数设置一个合理的上限 (例如 2048 或 4096),避免模型生成不必要的内容。对于只需要简短答案的场景(如代码补全、简单问答),可进一步降低到 500–1000 Token。
2.
优先使用系统提示词,而非重复的用户指令
将角色、任务说明、输出格式等固定内容放在 System Prompt 中,而不是每轮都通过用户消息重复发送。结合缓存机制,System Prompt 会被缓存,大幅降低重复开销。
3.
对历史对话进行摘要压缩
当对话轮次超过 10–20 轮后,主动调用一次轻量级模型(或使用 Claude 自身)将之前的对话总结为 500 Token 以内的摘要,然后用摘要替换原始对话历史,而不是无限制地追加。
4.
避免在 Prompt 中粘贴超大文件的全量内容
如果只需 要文件中的某几个函数或类,先通过本地脚本提取关键片段,仅将最小化的上下文传入。对于必须参考的完整文档,可将其拆分后按需检索(RAG),而非一次性注入整个代码库。
5.
结构化清理工具定义
对于 MCP 或插件,只保留当前任务真正会用到的工具 Schema。如果一个插件包含 20 个工具,而你只用其中 3 个,手动创建一个精简版定义替换全量 Schema,可减少数千 Token 的占用。
6.
设置"对话提醒"阈值
在客户端实现一个计数或进度条,当累计输入 Token 接近模型上下文窗口的 60% 时,自动提醒用户执行"上下文整理"或"新建会话",避免无感知的超限和性能下降。