memory_search 对了、7B 总结错了:OpenClaw D4 来源引用与 8 个坑

正文:

D3 把电力见证资料 + 一张电子发票 PDF 塞进了本地 memory,CLI memory search 能命中,facts_only 也在 md 里。到 D4 才发现:检索层和回答层要分开验。

问题从哪来

Agent 对话大致是:

复制代码
用户提问
  → memory_search(snippet 往往对)
  → 7B 写最终回答(可能改字、混文件、改搜索词)

我踩过的典型现象:

现象 实际原因
snippet 坷垃,气泡变别的店名 7B 改写中文专名
2550.00 变 255 模型心算 / 截断
问发票混进开关柜 maxResults 过大 + 模型合并
「叶片见证表」答成试板检验 模糊 query,Top1 落到检查项目
检查项目贴开关柜模板 没加 doc_type:checklist

索引没坏,是第二层在发挥。

三步约束

1. 配置

json 复制代码
"ollama/qwen2.5:7b": { "params": { "temperature": 0 } },
"memorySearch": { "query": { "maxResults": 1 } }

改完 docker compose restart openclaw-gateway,浏览器 New Chat

2. workspace 规则

SOUL.md / AGENTS.md 写清:

  • 只搜一次,禁止改 query
  • 发票 copy-paste facts_only 四行 + 来源:xxx.md
  • 叶片用 source_file:叶片设备见证情况表
  • 检查项目用 doc_type:checklist 检查项目

3. 固定提问模板

别泛问「叶片」「检查项目」,用 D3 写进 md 头部的 key:

powershell 复制代码
# 叶片 --- 稳
memory search "source_file:叶片设备见证情况表"

# 叶片 --- 容易偏到检查项目
memory search "叶片见证表"

# 检查项目 --- 稳
memory search "doc_type:checklist 检查项目"

CLI 金标准

浏览器不准时先跑(不经过 LLM,不会改字):

powershell 复制代码
cd study\scripts
.\d4-answer-from-search.ps1 "invoice_no:26152000000166099696"
.\d4-answer-from-search.ps1 "source_file:叶片设备见证情况表"
.\d4-answer-from-search.ps1 "doc_type:checklist 检查项目"

CLI 对、浏览器错 → 调 prompt / 配置,不是重建索引。

浏览器三条验收

# 搜索词 通过标准
1 invoice_no:26152000000166099696 seller 含坷垃;2550.00;恰好 5 行 + 来源
2 source_file:叶片设备见证情况表 来源含叶片;有 YCL-01-R01;不是检查项目
3 doc_type:checklist 检查项目 17 个 sheet 名;来源检查项目(1).md

每条都展开 tool,对照 snippet 和气泡。

我最后叶片和检查项目浏览器都过了;发票在严格模板下也能 5 行过关,但 7B 仍会多写几句------Demo 以 CLI 为准绳

踩坑速查

1. 先对后错 --- 看 tool snippet,别看流式最后一帧。

2. 改写 query --- prompt 写死搜索词,用 source_file: / invoice_no:

3. 混文件 --- maxResults: 1 + 「只根据 Top1」。

4. 叶片变检查项目 --- 禁止「叶片见证表」模糊搜。

5. 检查项目变开关柜 --- 必须 doc_type:checklist

6. SOUL 不生效 --- New Chat;旧会话不吃新规则。

7. 金额被改 --- 商用别让 LLM 报数字。

8. 7B 无法 100% 守规矩 --- Demo 用 snippet 即答案;交付用模板拼字段。

商用边界

7B 调 prompt 只能 减轻 改字,不能保证零失误。工程资料问答要带出处,我的分工是:

  • 检索:memory + metadata(D3 已做)
  • 输出 :程序读 facts_only / frontmatter 拼模板(D4 CLI 脚本思路)
  • LLM:可选,只写「说明句」,不碰专名和金额

下一步 D5

文件夹监控 + 自动 ingest,不用每来一个文件手跑 d3-ingest.ps1

相关推荐
匹诺曹i3671 天前
docx 报表进 OpenClaw 本地 RAG:memory 索引实践与 6 个坑
ollama
福大大架构师每日一题13 天前
ollama v0.30.8 最新更新解读:修复启动提供方选择错误,提示词缓存更稳,MLX 推理与递归模型全面增强
ollama
大佐不会说日语~14 天前
在 Windows 本地用 Docker 部署向量模型(bge-m3)
windows·docker·容器·llm·ollama
腾飞开源15 天前
05_Dify接入Ollama本地大模型
人工智能·项目实战·dify·ai智能体·ollama·企业级应用·接入模型
逻极15 天前
Windows 平台 Ollama AMD GPU 一键编译指南:基于 ROCm 7.1 的自动化实战
人工智能·windows·stm32·自动化·gpu·amd·ollama
yuanzhengme17 天前
Ollama【部署 07】搭建本地智能体的简单说明(局域网离线部署Ollama+模型迁移+Docker部署AnythingLLM)
运维·docker·容器·大模型·ollama·本地智能体
hdsoft_huge18 天前
部署 Nacos + Ollama + vLLM + MCP 完整图文教程(1Panel 面板,命令行安装两种方式)
python·vllm·ollama·mcp
小七-七牛开发者20 天前
本地模型为什么能跑起来?从 llama.cpp 量化说起
agent·llama·模型部署·ollama·本地模型