问题
- hermes:爆上下文,起步50K上下文(系统提示词7K,工具24K,MCP9K,子代理1K,记忆9K,对话16个字)
分析(2026-10-23 实测对账)
起步约50K token构成(system_prompts表最新44,517字符 + 工具schema + 记忆文件 + 46条facts):
- System prompt 44.5K字符(约11K token):其中Skills目录31.5K字符占70%,Execution discipline 5.3K字符,其余约8K字符
- MCP + 原生工具schema(单独注入,约15–20K token):trilium(eager)+ chrome-devtools(约40个工具)是大头
- MEMORY.md 16K + USER.md 13K字符(约18K token):中文密度高、单字符token贵;两文件已96%/99%爆满
- Holographic facts 46条(约2–3K token),每轮全量召回;Runtime env + 项目上下文可忽略
处理(2026-10-23 用户逐项拍板后执行)
- 归档7个僵尸skill到skills/.archive/:apple整组(4个)+ windows-env(87KB)+ windows-vm-qcow2-rebuild + windows-hermes-deployment;新会话Skills目录少7条描述
- 直接清掉skills/根目录误放的5个demo_021_*演示产物(5MB,含4.7MB html)+ .curator_ledger.jsonl(2.4MB审计日志,curator会重建)
- MPA收尾归档22条(用户裁定MPA收尾,含项目路径/生产部署/task.create五场景/组合资金/LiveService/实盘起点/Weight大类/SDK版本/语义裁决/测试体系/zip-tab解析/引擎保密边界/run.py启动与部署/calc_start/日志/实证登录/调试法/前端UI偏好);归档文件放notes/目录(而非memories/,后者会被网关重新加载导致归档白做)
- 去重合并:git三条+合并规范合成一条GLOBAL RULE;代理两条合成一条;外部审计/编号需求/多项目并行各两条合成一条;Trilium更新两条并入MEMORY硬约束(含ASCII图条款);前端bug条ECharts重复句删除指向ECharts裁决条;照片归档“使命结束”条删除(历史在nixos台账)
- MEMORY 49条/16134字节→32条/10832字节(-33%);USER 47条/13129字节→34条/9402字节(-28%);改前快照以日期后缀bak在notes/目录各存一份
- config.yaml chrome-devtools加lazy:true(与trilium的lazy:false同级对齐);顺手把MEMORY里过期默认模型名改为当前实际模型
- 重复skill(computer-use×2、dogfood×2、codebase-inspection×2)未动,等用户点名;honda-esm、maldives系、fact_store 46条未动
处理2(2026-10-23 工具定义+MCP+facts三刀)
- 起因:新会话仍显示约48-49K——面板证实记忆9K→6.4K(第一轮生效),但MCP 9.2K和工具定义23.9K纹丝不动(lazy改完没重启,网关还在用旧进程)
- config.yaml agent.disabled_toolsets追加video、video_gen、image_gen三组(最大头23.9K,预计省5-8K;用户拍板三组全禁)
- trilium改lazy:false→lazy:true(用户拍板;每会话都读笔记,调用多一次加载延迟,换约3K常驻token)
- fact_store 46→23条,删23条僵尸:Windows三件套(MCP路径写法#3、C盘根目录禁写#5、Windows cron跑sh#16)、MPA三件套(Tailscale内网#11、config.yaml禁改#9、MPA测试规范#23)、imagetools旧版本迭代四条(v0.6.0 #25、v0.7.0 #26、v0.9.0 #29、v1.0.0 #30,保留项目指针#24和现状v1.0.1 #31)、与MEMORY/USER重复七条(commit Round #10、禁自动git #12、GLOBAL git #15、trilium更新#13、session锚点#19、代码组织#27、版本规范#34、吞异常#17、SimNow话题#32——实际删9条含这两条)、过期调查两条(Telegram 380连接#1、nixos镜像cron #41 cron号对应设定已删)、照片nbd分工#48(vhdx使命已结束,被#50覆盖)、at-game-tx #6(Windows路径项目)
- config改前备份config.yaml.bak-20261023-facts-trim
处理3(2026-10-23 机制审计:管线无bug,估算错了)
- 用户叫停继续砍,要求先查机制:两轮精简只从50K到47K,不符合预期
- 审计结论:配置进会话链路是通的(tui_gateway/server.py:2117、gateway/run_turn.py:2408读agent.disabled_toolsets→agent_init.py:1115严格末端减法);MCP lazy只延迟建连、工具schema以schema-cache常驻(mcp_tool_discovery.py:14-20/292/718),故MCP 9.2K不动符合设计;video_gen/image_gen早被check_fn门禁(agent.log 21:31-32),disabled三行实测只剔掉video_analyze约250 token
- 工具定义实测70,875字符(35工具,约23.9K token,与面板一致),逐工具成本:cronjob_manage 7106、computer_use 5860、delegate_task 4645、manage_connections 4511、session_search 4009、browser组约5.2K、desktop_ui组约9.4K(桌面必需)
- chrome-devtools调用史:全库仅17次/2会话(8月maldives 16次、10-13 dolphin快捷按钮1次),ipynb开发零调用——jupyter在独立浏览器/conda跑,交互走terminal+文件,与chrome-devtools无关,可禁(随时加回)
- 用户自行再砍:MEMORY压到8K、USER压到4K;剩余47.9K全构成=工具定义23.8K+MCP 9.2K+系统提示词7.3K+记忆6.4K+子代理1.2K(我的逐工具表只覆盖工具定义部分,其余四块此前已在分析节拆过)
待办
- 是否禁用chrome-devtools MCP(省约6-7K):等用户拍板;trilium保留(每会话都用)
- 教训3:先验schema再估省量——lazy/schema-cache、check_fn门禁这类机制会让“禁用即省量”的直觉落空;动刀前用真实代码实测(get_tool_definitions逐工具称重)
- 教训:patch式精确替换对全角/半角空格极敏感(blurScope前空格致首次替换静默失败),改中文记忆文件用“按句子切分重组”比整句匹配可靠
- 教训2:config.yaml里短模式串(x_search Yuanbao这种)会命中platform_toolsets多处,count!=1时改按整段disabled_toolsets块锚定替换