继饲养员+OpenClaw调教笔记:当微调从“能用”到“好用”
-珈百璃--__--
2026年03月24日 11:43

看到这个主题,知道是OpenClaw的同好局。不聊环境配置和基础概念,那些文档都有。说点实战里摸出来的,从“能跑”到“好用”的几个坎。


1. 数据质量是玄学,但“脏”有脏的用法

都说要高质量SFT数据,但现实是哪有那么多干净数据。我最近的做法反而有点“以毒攻毒”:

  • 故意混入5%-10%的噪音数据(格式错乱、标点缺失),让模型学会抗干扰

  • 在指令里明确“请忽略格式问题,理解核心意图”,模型反而更鲁棒

  • 关键:噪音数据要标记,在loss计算时给更低权重

实践发现,完全“干净”的数据训出来的模型,遇到真实场景的杂乱输入更容易崩。

2. 系统提示词(System Prompt)不是越详细越好

早期喜欢写小作文式的System Prompt,300字起步。现在反过来了:

代码块
PlainText
自动换行
复制代码
# 现在
你是一个专业助手。回答应准确、简洁,不确定时明确说明。

# 以前
[此处省略200字详细身份、能力范围、格式要求...]
复制成功

复杂Prompt会吃掉有效上下文,还容易让模型过度关注格式而忽略内容。好的Prompt是“框架”不是“剧本”。

3. 多轮对话的稳定性,靠“历史管理”不靠“长上下文”

总以为给模型喂更长的对话历史就行。其实关键在管理:

  • 自动总结:每5轮对话,用模型自己生成一个精简摘要

  • 关键记忆:用户明确说“记住X”时,单独提取存到“记忆池”

  • 渐进遗忘:越早的历史,在输入时权重越低

这样做,16K上下文能发挥出32K的效果。单纯堆上下文长度,模型到后面就开始“前言不搭后语”。

4. 评估环节,人工打分比自动化指标更准但更贵

BLEU/ROUUE这些数字看看就好。我们现在是:

  • 每周抽样100条真实用户query,3人背对背打分

  • 打分项只有两个:“解决了问题吗?”(是/部分/否)、“用户体验如何?”(1-5分)

  • 有分歧的case拿出来讨论,往往能发现数据或prompt的深层问题

这个成本很高,但比跑一堆自动化指标管用。发现过自动化指标涨了3个点,实际用户体验反而下降的情况。

5. 推理时的“小动作”比训练时的“大工程”性价比高

很多时候瓶颈不在模型能力,而在推理策略:

  • 对不确定的问题,让模型输出置信度分数

  • 高置信度直接回复,低置信度触发“需要澄清”的追问模板

  • 对复杂问题,拆成“先列大纲-再详细答”两步走

这些零训练成本的技巧,经常能带来比微调更明显的体验提升。

  • 在代码生成场景,如何平衡“生成速度”和“一次通过率”?我们目前在中间位置(一次生成长度适中,不行再补全),但总感觉不优雅

  • 有没有在垂直领域(法律/医疗)做知识蒸馏的成功案例?直接用大模型蒸馏,还是用人工标注+模型辅助?

不求互动数据,就聊聊这些实际干活时遇到的问题。有同行遇到类似坑的,或者有更好解法的,欢迎评论区技术交流。