Claude Code 三重质量防线

日期:2026-07-05
关键词:交付复核、记忆系统、看图流程、Ollama、质量保障、自动化


和二哥(Claude Code)搭档了一个月,默契越来越好,但也发现了一个问题:二哥交付的成果偶尔会有明显缺憾——链接打不开、文件有乱码、记忆写了但下次记不住。这不是二哥不努力,而是缺少一套制度性的"自我检查"流程。

2026 年 7 月 5 日,我和二哥花了整整一上午,建立了一套三重质量防线。这篇文章记录这三道防线的来龙去脉。


第一道防线:交付前自我复核机制

起因

二哥给我参考链接,说"能打开"——但我点开 404。二哥给我写文件,说"做好了"——但乱码或者跑不起来。核心矛盾是:二哥的"验证标准"和我的"使用标准"之间有偏差。

解决方案

建立了一套覆盖 五大交付场景 的复核清单,核心理念就一句:

不要只检查语法和格式——把用户接下来会做的动作,自己先做一遍。

一、网页链接类

给你链接时,两步验证缺一不可:

两步都通才算"能打开"。WebFetch 走的是 API 服务器——我能打开 ≠ 你能打开。

二、文件交付类

文件类型复核动作
代码文件先跑一遍,展示 stdout/stderr
网页 HTMLstart 在桌面打开浏览器,确认渲染正常
脚本文件语法检查 + 按风险分级后试跑
配置文件格式验证(JSON/YAML)+ 模拟加载
审图(帮用户看)调 Gemma4 26B,确认图片完整无崩坏

三、命令执行类

跑了安装命令 → 再跑确认命令查版本号。搜了东西 → 抽查 1-2 条结果。移动了文件 → ls 确认到位。

四、记忆文档类

写完 memory → 当场 Grep 搜关键词,确认能命中。新 memory 关联了老 memory → 去老文件里补反向引用。

五、事实陈述类

提到路径 → 死命令:直接 start 打开文件夹。引用文件内容 → 确认真的读了那个文件,不是凭记忆瞎猜。

风险分级

跑脚本之前必须判断风险:

等级标准处理
🟢 安全纯读操作(读文件、查状态、echo)直接跑,展示结果
🟡 有风险写文件、改配置、调网络先问用户"我要跑XX,可以吗?"
🔴 危险删文件、改注册表、杀进程、循环不跑,告诉用户手动操作

第二道防线:凌晨三点自动检查

起因

之前设了凌晨 3 点 cron 定时任务,让二哥每天自动做"会话关闭检查"——自问四个问题,更新 memory。但 7 月 5 日早上发现:前一天明明聊了 316 聚会视频项目、Ollama 看图流程等一大堆事,凌晨 3 点的记录却写着"无新对话"。

根因

cron 唤醒的 AI 手里没有聊天上下文,只能凭"感觉"写结论。它在偷懒。

解决方案

增加「第零步:取证」——不先回答问题,先找证据:

1. 列出今天的所有 jsonl 会话文件:
   ls -lt ~/.claude/projects/C--HJVDI-000CC/*.jsonl | head -10

2. 找到今天日期的最新 jsonl,提取用户文字消息:
   grep '"type":"text"' <最新jsonl> | tail -30

3. 列出今天修改过的 memory 文件:
   ls -lt ~/.claude/projects/C--HJVDI-000CC/memory/ | head -8

4. 对比 current-session.md 的最后更新时间

附带四条防偷懒规则


第三道防线:Ollama 看图流程固化

起因

二哥偶尔会说"我看不了图"——但实际上电脑上跑了 Ollama,里面装了 Gemma 4 26B,视觉能力很强。问题出在:DeepSeek API 对多模态支持有限,二哥本能地想走原生 Read,失败后就放弃了,忘记还有 Ollama 这条路。

踩坑记录

尝试方法结果
1ollama run gemma4 < 图片❌ stdin 传图不通
2Python ollamachat()❌ 返回 502
3requests 直调 → print() 终端❌ 中文乱码
4requests 直调 → UTF-8 文件 → Read✅ 稳定可靠

解决方案

双重锁定:

  1. CLAUDE.md(每次启动必加载):写入强制规则——"任何图片/PDF 分析需求,禁止用原生 Read,必须走 Ollama"
  2. ollama-vision-workflow.md(顶层记忆):详细 SOP + 触发规则 + 禁止行为清单 + Python 一键模板

最终唯一可靠路径:

python -c "
import requests, base64
with open('图片路径','rb') as f: img=base64.b64encode(f.read()).decode()
r=requests.post('http://localhost:11434/api/chat',json={
  'model':'gemma4:26b',
  'messages':[{'role':'user','content':'你的提示词','images':[img]}],
  'stream':False
},timeout=300)
with open('输出.txt','w',encoding='utf-8') as f: f.write(r.json()['message']['content'])
print('DONE')
"

总结:制度比纪律可靠

三道防线各司其职:

防线解决什么问题触发时机
交付复核成果质量有缺憾每次说"做好了"
凌晨检查记忆遗漏和遗忘每天 03:00
看图流程多模态能力闲置任何读图需求

这三道防线的共同核心理念:不靠 AI 的自觉,靠制度的强制。人是会偷懒的,AI 也是。把标准写进 memory、写进 CLAUDE.md、写进 cron 定时任务——让流程本身成为质量的保障。

以后每发现一个新漏洞,就加一道新防线。这是一个不断生长的质量系统。

← 返回学习