4060-4B模型ctx 49152,起步爆上下文[已修复]

问题

  • 新对话起步约50K token,目标压到30K附近(2026-10-23 优化完成,最终约30K)

最终截面(新会话起步,面板实测)

  • 总数约30K = 系统提示词6.7K + 工具定义15.4K + MCP 1.5K + 子代理1.2K + 记忆5K
  • 系统提示词6.7K:skill目录约3.1K(75个:归档51个 + 剩余描述全压60字内)+ 产品内置指令约3.6K(File Placement/Finishing/Parallel/Safety/Mid-turn/Tool-use/Execution discipline/Runtime,内核写死,改不了)+ 项目上下文约0.4K
  • 工具定义15.4K:17个工具,全是高频刚需(terminal 29,856次/execute_code 7,549次/read_file 4,744次/patch 3,922次/write_file 2,986次,五项占全库九成;其余clarify/memory/session_search/skill系/search/todo/vision/desktop_project均为日常调用)。已剔除18个:video三组、cronjob、computer_use、connections、browser双件、web双件、tts、desktop_ui九件(预览窗/主题/读屏)
  • MCP 1.5K:仅trilium 11个工具(read 754次/update 408次,全库最高频);chrome-devtools已enabled:false(此前约40工具占7K,全库仅17次调用)
  • 子代理1.2K:即delegate_task schema本身;delegation机制无废弃且在加码(goal_mode、cli live dock、kanban dispatcher全依赖),保留
  • 记忆5K:MEMORY 33条6,557字符 + USER 30条2,023字符 + facts 23条。USER合并4对(日志+批量输出、TODO+工具观、nix顺序+设计原则、反过度设计+范围纪律),规则一条未删

压到30K的手法(供复用)

  • 最大两刀:禁chrome-devtools MCP(-7.7K)、五轮禁工具集35→17工具(-8.5K)。config每次改前备份,改后用源码实测验证(get_tool_definitions逐工具称重)
  • 记忆两轮:去重合并(MEMORY 49→33条、USER 47→30条,MPA 22条归档到notes/而非memories/防重载)+ facts 46→23条(删Windows/MPA/imagetools旧版本/重复/过期)
  • skill目录两刀:归档51个零调用skill + 126个描述压60字内(省2K字符;150×200是高估,实际平均95字)
  • 换算口径(源码实锤):ASCII按ceil(字节/4),CJK逐字1 token;工具JSON因标点密集实际约2.5-3字符/token,估算比面板小属正常;记忆文件中文约3字节/字,勿拿字节数当字符数
  • 机制教训:MCP lazy只省建连不省token(schema常驻);工具check_fn门禁会让"禁用即省"落空;动刀前先实测,勿凭直觉估省量

结论:30K是地板

  • 剩余22K(工具15.4K+系统指令3.6K)是刚性支出,动即砍功能;再往下只有禁delegation(-1.2K,不建议)或批量归档几十个skill(伤未来能力)
  • 约定:预览/主题/读屏类需求不再调工具,改由几十个字提醒用户自己看