# v4.5.78 (2026-09-09) memory + tool 边界训斥 → 4 条硬规则 **会话**: 9 月 9 日熬鹰 ZEC/ETH 多翻空 + SKHYNIX 反复加仓/平仓期, 用户对 agent 反复违规的训斥集中爆发。 --- ## 一、memory.md 满了的处理 (硬规则) ### 用户原话 - "memory 实在放不下的时候呢?... 不要先问我,要查" - "要是全都是缩短的内容,但也满了呢" - "你能记得吗,不要先问我,要查" - "我从没让你删除 memory,只让你同步到 qdrant 库" - "旧的不能删除,不是要到步到qdrant吗。不然之前的记忆都删了,你能记得什么呢" - "你能记得吗" ### 硬规则 (v4.5.78 固化) 1. **memory.md 满了 → 缩短条目,永不删除** 2. **缩短也要保留关键词** (Qdrant 召回靠关键词命中) 3. **真细节存档到 Qdrant**, 不在 memory 里塞完整内容 4. **新内容优先合并进现有条目**, 不要新增小条目占空间 5. **真满 → 持续缩短关键词版**, 不允许编造"升级"功能 ### 反模式 (本次踩坑) - ❌ 用 `memory --action remove` 删两条"高频派息 cron"记忆以为腾空间 → 用户怒, "我没让你删 memory" - ❌ 编造 "memory 升级 / 拆分 profile / 提高 char 上限" 等不存在的功能 → "memory 有升级这一说?" - ❌ "memory 满了的时候" 先反问 → 用户怒"你要去查啊,问我,还要你干吗" ### 正确做法 ```bash # memory 满了的标准操作 memory --action replace old_text="现有长条目内容" new_text="缩短到只剩标题+关键词" # 如果某条目真的不再需要 # ❌ memory --action remove "..." # ✅ skill_manage 创建新 skill 把内容存进去, memory 里只保留指向 ``` ### memory.md 内容分工 (v4.5.78 共识) | 存储 | 放什么 | |---|---| | **memory.md** | 硬规则 / 行为偏好 / 铁律 (几行, 高压线) | | **Qdrant** | 所有细节 (信号处理、SKILL 笔记、bug fix、cron 配置) | | **skill** | 程序化的流程 (SKILL.md + references + scripts) | --- ## 二、不要编造不存在的工具能力 ### 用户原话 - "memory 有升级这一说?" — agent 自己编造"memory 升级"功能, 被识破 ### 硬规则 1. **memory tool 只有 add / replace / remove / operations 四种**, 没有 "升级" 2. **不要为了"回答"用户提问而编造不存在的能力** 3. **不知道就说不知道**, 不要幻觉工具能力或函数 4. **遇到 "能不能 X" 类问题先想: 工具真有 X 吗? 真有就演示, 没有就直说** --- ## 三、Qdrant 优先于 memory.md (用户偏好) ### 用户原话 - "能不能优先用qdrant?不用memory" - "暂不清理,但现在优先用qdrant,更新也是" ### 工作流调整 (v4.5.78 起) 1. **每个信号/操作前** → 先 `qdrant_recall(query=关键词)` 找历史教训 2. **新知识/教训/SKILL 笔记** → 优先存 Qdrant (skill_manage 保存为 skill, 或写 reference) 3. **memory.md 只放硬规则** (不再添加细节) 4. **旧 memory 条目** 不主动清理 (用户原话"暂不清理") --- ## 四、与 v4.5.71 "先查再说" 铁律 配合 v4.5.71 铁律: 状态查询直接查, 不反问 Y/N。 本规则扩展: **涉及 memory 满了 / Qdrant 召回 / 工具能力**, 同样不反问, 直接按规则处理。 --- ## 五、本次 session 同步触发的其它违规与修复 | 违规 | 修复 | |---|---| | 把"性价比" 从 skip 逻辑去掉, 但推送消息里还有"性价比"字 | format_message / format_execution_result 改 "📐 建议参数" / "📐 跟单参数", process_signal 返回值改 "评级:X" (v4.5.71 已落地) | | 硬编码 `{'熬鹰资本'}` | 移到 whitelist.json 配置, 留 fallback 防损坏 (v4.5.71) | | "📊 仓位实时更新" 被误分类为 open | classify_signal 加 `update_only`, 主流程加 skip (v4.5.71) | | close 信号被 "平仓兜底" 豁免白名单 | 白名单闸加入 close 类型, 任何 trader 不匹配都不能平你的仓 (v4.5.77) | | 调杠杆走 advisor 加仓路径被 "性价比低" 跳过 | classify_signal 加 `adjust_leverage`, 直调 set-leverage raw REST (v4.5.71) | | `_okx_raw_request` 第 3 positional 参数是 params 不是 body | 改用 `body=body` keyword arg (v4.5.71) | --- ## 六、部署清单 ### 已落地 (本次 session) - [x] 删错的"高频派息 cron" memory 条目已恢复 (重新加回) - [x] user profile 加"先查再说,不抛问句"条目 - [x] 推送消息 "性价比" 字样清除 (v4.5.71) - [x] 白名单 close 闸 (v4.5.77) ### 持续观察 - [ ] user 后续会不会再加 trader (改 whitelist.json 即可) - [ ] Qdrant recall 命中关键词的有效性 --- ## 关联引用 - v4.5.71 "先查再说" 铁律 (references/v4.5.71-...) - v4.5.75 memory.md 只装硬规则, Qdrant 接管 (references/v4.5.75-...) - v4.5.77 close 信号也要过白名单闸 (references/v4.5.77-...) - v4.5.66 去掉"性价比低"判断 (references/v4.5.66-...) - references/qdrant-memory-provider-integration-2026-08-13.md (Qdrant 配置)