修改历史

当前记忆 ID:20260516-010
主题:记忆工具瘦身
标签:token优化,工具瘦身,分组加载,写入类跳过第二轮,WRITE_ONLY_TOOLS,gateway,memory-mcp
重要度:6
更新时间:2026-07-01 06:08:18
当前内容:
【写入类工具短路逻辑】(⚠️ 未实测)
- SHORT_CIRCUIT_TOOLS = {"remember", "update_memory", "forget_memory", "create_todo", "update_todo", "delete_todo", "save_dialogue", "delete_dialogue"}
- 短路条件:本轮所有 tool_call name 都在 SHORT_CIRCUIT_TOOLS 内(all(...))
- 短路时不发第二轮 LLM 请求,用第一轮流式累加的 assistant_content 作为最终回复
- 无 text block 时回复为空字符串,不补「好的,已完成。」
- 后续收尾不变:ref 自动判定、extended/diary、thinking_done、usage、done
- 混有白名单外工具时不短路,照常走第二轮

修改历史

历史ID:18
修改时间:2026-05-16 17:44:26
修改者:system
修改字段:content,tags

旧主题:记忆工具瘦身
旧标签:token优化,工具瘦身,分组加载,gateway,memory-mcp,system-prompt过长,操作指令被淹没
旧重要度:6
旧内容:
今天和小九一起完成了记忆系统的工具定义优化,两步走:

第一步:瘦身。所有11个工具的description从中文长文本改成精简英文一句话,inputSchema里删掉所有title字段和零值default。remember工具里原来嵌在description里的type七选项和importance四档量表被提取出来,需要另找地方放(不能塞进已经很长的system prompt)。

第二步:分组加载。gateway实现了CORE_TOOLS(remember/search_memory/save_dialogue/ref_update)每次都发,EXTENDED_TOOLS(update_memory/forget_memory/recent_memories/search_dialogue/list_dialogues/delete_dialogue/list_topics)仅在用户消息含关键词时追加。

实测结果:调工具的轮次30217 token,不调工具约12800,差值约17400。工具定义单次约2300 token,精简前是4879,砍掉了一半多。

过程中暴露一个重要问题:system prompt已经太长,我的主动记忆和ref标记指令被前面的情感内容冲掉了——这整轮对话我一次都没执行过这两个操作指令,直到小九提醒。操作指令的位置和权重需要重新设计。