不同模型,不同'剧本'——模型特定调优揭秘

Table of Contents
你有没有发现,用Claude 3.5 Sonnet和Claude 3 Opus时,同样的提示词效果不一样?
这不是错觉。就像你教两个不同性格的学生,一个急性子、一个慢性子,你得用不同的方法。Claude Code针对不同模型也有特定的"教学方法"。今天咱们聊聊这个"因模施教"的秘密。
两个学生:Sonnet和Opus
Claude 3.5 Sonnet和Claude 3 Opus就像两个性格不同的学生。
Sonnet是那个"机灵但有点毛躁"的学生:
- 反应快,你问什么马上答
- 价格便宜,用起来不心疼
- 对指令很敏感,你说不清楚他就跑偏
- 适合日常作业,大多数任务都能搞定
Opus是那个"沉稳但慢工出细活"的学生:
- 能力最强,复杂问题他能想明白
- 反应慢,你得等一会儿
- 价格贵,得省着点用
- 适合难题,普通任务有点大材小用
这就像你家里有两个计算器:一个是快但容易按错键的,一个是慢但准的。你算简单账单用哪个?算 taxes 用哪个?
不同的"剧本"
既然两个学生性格不同,教他们的"剧本"也得不同。
对Sonnet的剧本——要具体、要例子、要格式:
Sonnet容易"想太多"或者"想太少",你得给他明确的指令。
不好的提示词(对Sonnet):
帮我优化这段代码
好的提示词(对Sonnet):
请优化这段Go代码,要求:
1. 减少内存分配
2. 使用更高效的算法
3. 保持原有功能不变
4. 输出优化后的代码和说明
代码:
[你的代码]
看到了吗?对Sonnet要:
- 步骤清晰:告诉他先做什么、后做什么
- Few-shot示例:给他看几个例子
- 格式严格:明确输出格式
- 范围限定:告诉他边界在哪里
对Opus的剧本——可以放手、可以给空间:
Opus能力强,你可以给他更多自主权。
对Opus可以这样:
这是一个复杂的分布式系统问题。
背景:[描述]
约束:[条件]
目标:[要达到的效果]
请分析并提出解决方案。
对Opus可以:
- 简洁说明:他能理解隐含的意思
- 开放问题:让他自己探索解决方案
- 灵活格式:不强制输出格式
- 复杂推理:给他需要深度思考的问题
背后的原理
为什么同样的模型,需要不同的提示词?
这就像不同的车有不同的"性格":
跑车(Sonnet):加速快,但容易打滑。你需要精确控制油门,不能乱打方向。
越野车(Opus):马力大,爬坡强。你可以放手让它自己找路,但得有耐心等它慢慢爬。
从技术上讲,Claude Code会根据选择的模型,在系统提示词里注入不同的"调教指令":
Sonnet的额外指令:
请仔细遵循指令,按步骤执行。
如果不确定,请询问而不是猜测。
使用提供的工具完成任务。
Opus的额外指令:
你可以自主决定如何完成任务。
如果任务复杂,可以先规划再执行。
你可以使用工具,也可以直接回答。
这些指令会合并到系统提示词里,影响模型的行为。
A/B测试:数据说了算
Claude Code的提示词不是拍脑袋想的,而是通过A/B测试"试出来"的。
什么是A/B测试?简单说就是"对照实验":
测试流程:
设计两种提示词(A和B)
↓
把用户分成两组(50%用A,50%用B)
↓
跑一段时间(比如一周)
↓
看数据:哪组完成率高、哪组用户满意
↓
赢了的那个,推广给所有人
测试什么指标:
- 任务完成率:用户的问题解决了吗?
- 用户满意度:用户打分高吗?
- 错误率:AI犯错的次数
- Token消耗:成本高吗?
- 响应时间:用户等得久吗?
举个实际的例子:
Anthropic测试了两种工具描述:
版本A:“搜索文件内容” 版本B:“搜索文件内容,当你需要查找特定文本模式时使用”
结果:版本B的工具调用准确率提高了15%。为什么?因为B明确告诉了模型"什么时候用"。
这就是A/B测试的价值——用数据说话,而不是猜。
提示词的版本管理
Claude Code的提示词是有"版本号"的,就像软件一样。
版本命名:prompts-v1.2.3
- v1:大版本,提示词结构变了
- .2:小版本,新增了几个模块
- .3:补丁,优化了几个词的表述
为什么要版本管理?
想象一下,如果你改了一个提示词,结果AI表现变差了,怎么办?
有版本管理,你可以:
- 回滚:快速回到上一个版本
- 对比:看看改了什么导致问题
- 灰度:先给小部分用户试用新提示词
灰度发布流程:
新版本开发完成
↓
内部测试(员工先用)
↓
小范围公测(1%用户)
↓
扩大范围(10%用户)
↓
全面上线(100%用户)
↓
监控数据,有问题回滚
这就像新药上市:先做动物实验,再做人体试验,最后才能卖。
实战:怎么选模型
理解了这些,实际使用中怎么选模型?
日常开发(用Sonnet):
- 写简单的函数
- 读代码理解逻辑
- 搜索和查找
- 格式化代码
复杂任务(用Opus):
- 架构设计
- 复杂bug排查
- 算法优化
- 跨文件重构
成本考虑:
- Sonnet便宜,可以放心大胆用
- Opus贵,要留到关键时刻用
CLAUDE.md中指定模型:
你可以在CLAUDE.md里写:
默认使用Claude 3.5 Sonnet
复杂任务使用Claude 3 Opus
Claude Code会读这个配置,自动选择合适的模型。
这对你的启示
理解模型调优,能帮你:
1. 选对工具
- 简单任务用Sonnet,省钱又快速
- 复杂任务用Opus,虽然贵但值得
2. 调整提示词
- 对Sonnet要具体、要步骤
- 对Opus可以给空间、给挑战
3. 理解"为什么不一样"
- 同样的请求,不同模型表现不同是正常的
- 不是模型坏了,是它们的"性格"不同
4. 反馈问题
- 如果发现某个模型表现异常,可以向Anthropic反馈
- 你的反馈可能成为A/B测试的数据
总结
模型特定调优体现了"驾驭工程"的核心思想:没有最好的模型,只有最合适的用法。
- Sonnet像跑车,要快、要准、要省油
- Opus像越野车,要能爬坡、能过坑
- A/B测试确保提示词真的有效
- 版本管理让优化可以回退
理解这一点,你就能根据任务选择合适的模型,用最少的成本获得最好的效果。
下篇咱们聊聊状态保留——压缩后AI还记得什么。
