看到这个主题,知道是OpenClaw的同好局。不聊环境配置和基础概念,那些文档都有。说点实战里摸出来的,从“能跑”到“好用”的几个坎。
1. 数据质量是玄学,但“脏”有脏的用法
都说要高质量SFT数据,但现实是哪有那么多干净数据。我最近的做法反而有点“以毒攻毒”:
故意混入5%-10%的噪音数据(格式错乱、标点缺失),让模型学会抗干扰
在指令里明确“请忽略格式问题,理解核心意图”,模型反而更鲁棒
关键:噪音数据要标记,在loss计算时给更低权重
实践发现,完全“干净”的数据训出来的模型,遇到真实场景的杂乱输入更容易崩。
2. 系统提示词(System Prompt)不是越详细越好
早期喜欢写小作文式的System Prompt,300字起步。现在反过来了:
# 现在
你是一个专业助手。回答应准确、简洁,不确定时明确说明。
# 以前
[此处省略200字详细身份、能力范围、格式要求...] 复杂Prompt会吃掉有效上下文,还容易让模型过度关注格式而忽略内容。好的Prompt是“框架”不是“剧本”。
3. 多轮对话的稳定性,靠“历史管理”不靠“长上下文”
总以为给模型喂更长的对话历史就行。其实关键在管理:
自动总结:每5轮对话,用模型自己生成一个精简摘要
关键记忆:用户明确说“记住X”时,单独提取存到“记忆池”
渐进遗忘:越早的历史,在输入时权重越低
这样做,16K上下文能发挥出32K的效果。单纯堆上下文长度,模型到后面就开始“前言不搭后语”。
4. 评估环节,人工打分比自动化指标更准但更贵
BLEU/ROUUE这些数字看看就好。我们现在是:
每周抽样100条真实用户query,3人背对背打分
打分项只有两个:“解决了问题吗?”(是/部分/否)、“用户体验如何?”(1-5分)
有分歧的case拿出来讨论,往往能发现数据或prompt的深层问题
这个成本很高,但比跑一堆自动化指标管用。发现过自动化指标涨了3个点,实际用户体验反而下降的情况。
5. 推理时的“小动作”比训练时的“大工程”性价比高
很多时候瓶颈不在模型能力,而在推理策略:
对不确定的问题,让模型输出置信度分数
高置信度直接回复,低置信度触发“需要澄清”的追问模板
对复杂问题,拆成“先列大纲-再详细答”两步走
这些零训练成本的技巧,经常能带来比微调更明显的体验提升。
在代码生成场景,如何平衡“生成速度”和“一次通过率”?我们目前在中间位置(一次生成长度适中,不行再补全),但总感觉不优雅
有没有在垂直领域(法律/医疗)做知识蒸馏的成功案例?直接用大模型蒸馏,还是用人工标注+模型辅助?
不求互动数据,就聊聊这些实际干活时遇到的问题。有同行遇到类似坑的,或者有更好解法的,欢迎评论区技术交流。