字节二面被问:prompt到头了,你会尝试哪些做法来提升效果呢?我直接说:肯定微调上起来啊。面试官说我太武断了。
事情是这样的
大模型岗位的二面嘛,面试官抛出了一个挺经典的问题:
“如果你发现 prompt 已经优化到头了,效果还是上不去,你会怎么做?”
我当时几乎没怎么犹豫,脱口而出:
“那肯定上微调啊。”
面试官听完笑了笑,然后说了句:你这个回答有点武断。
事后复盘的时候呢,我才慢慢意识到问题到底出在哪里。不是说"微调"这个答案本身有什么错,而是我当时直接跳过了整整一条排查的链路,上来就给了一个结论,而不是给一个思路。这篇文章呢,就是想来聊一聊,这道题的背后到底在考什么东西,以及一个更加完整的回答应该长什么样子。
✦ ✦ ✦
1.、面试官到底在考什么?
这类问题看上去是在问你技术方案嘛,但实际上呢,他考察的是三件事情:
第一件,你是不是真的理解 prompt 优化的边界到底在哪里,而不是嘴上随便说一句"到头了"就算数。
第二件,你有没有那种系统性的排查思维,还是说一遇到瓶颈就直接跳到最贵、最重的那个方案上面去。
第三件,你对成本、对数据、对场景的敏感度怎么样。要知道微调可不是免费的呀,它需要标注数据,需要算力,还需要后续的维护成本,是不是每一个场景都值得去做这个事情。
换句话说呢,"直接上微调"这个回答所暴露出来的问题其实就是:还没有把那些便宜的方法都给试过一遍,就直接跳到了贵的方法上面去。
✦ ✦ ✦
2、先问自己:Prompt 真的到头了吗?
在下结论之前嘛,其实还有一长串性价比更高的手段是可以去试一试的。面试的时候如果能够顺着这条链路一路讲下去的话,那会比直接说一句"微调"要扎实得多了。
· Prompt 本身还有没有可以挖掘的空间
先来看一看 few-shot 的例子嘛,看看这些示例是不是覆盖到了 badcase 的那些典型分布。很多时候啊,不是模型不会做,是你给的例子不对路。
然后呢,思维链也就是 CoT 这个东西有没有用上?对于那种复杂的推理任务来说,让模型先想一想再给出答案,往往比直接问直接答要提升得明显很多。
还有就是输出格式的约束有没有搞清楚。很多时候所谓的"效果差"嘛,其实根本就是解析失败了,而不是模型本身的能力不够。
再一个呢,就是指令拆分的问题。一个 prompt 里面塞了太多太多的要求,那可以试试把它拆成多轮对话,或者说分步骤来进行引导。
· 跳出单次调用,看看系统架构行不行
如果 prompt 本身已经打磨得差不多了嘛,那下一步要做的事情不是去加参数,而是去换一个架构。
比如说 RAG,也就是检索增强。如果错误是来源于知识不足或者说知识过时的话,那问题根本就不在模型的能力上面嘛,而在于它压根就不知道这个事情。这种情况下面呢,微调是解决不了问题的,去搞检索才是正解。
还有工具调用,或者说 Function Calling 也是一样的道理。像什么计算啊、查询啊、结构化操作啊这些,与其让模型去硬算,不如让它直接调用工具来得靠谱。
多步 Agent 或者说任务分解也是一个思路。把一个复杂的任务拆成"规划、执行、校验"这样一个流水线嘛,往往比单次搞一个超长 prompt 要稳定得多了。
自一致性或者说多路投票,英文叫 Self-Consistency,这个方法对于那种不太稳定的任务来说挺有用的。多次采样加上投票,能够有效地去降低方差,而且成本是远远低于微调的。
还有一个后处理的校验层嘛。加一层规则或者说加一个小模型来做校验、来做纠错,很多时候性价比是比重新训练要更高的。
· 换个模型试试看
有时候啊,不是这一代模型不行,而是你选错了型号。升级到能力更强的版本,或者说换一个更加适合这个任务的模型,比如说推理任务换成推理增强版的模型,可能比微调见效更快,而且成本还更低。
✦ ✦ ✦
3、什么时候才真正轮到微调?
把上面说的这些都过了一遍嘛,发现还是解决不了问题的时候,微调才会变成一个合理的选项。而且呢,即使到了这一步,也不是说一上来就全参数微调,还需要往下继续细分。
如果说任务的风格和格式是高度固定的,需要稳定地去进行复现,那比较适合的方向就是轻量微调,比如说 LoRA 或者指令微调这种。
如果说需要注入大量的私有知识嘛,那应该优先去考虑 RAG,微调只用来做风格对齐就好了。
如果说数据量比较少,只有几十条到几百条的话,那 few-shot 或者提示工程可能就够了,微调的收益其实是很有限的。
如果说是要去对齐人类偏好,需要一个更加像人的回答,那就得考虑 RLHF 或者 DPO 这类偏好优化的方法了。
如果说追求的是推理成本的极致降低嘛,那应该考虑蒸馏成小模型,而不是去微调大模型。
所以呢,微调从来都不是一个单一的动作,它是一整个 family。用哪一种呢,取决于你到底想要去解决什么问题。是知识问题、格式问题、风格问题,还是成本问题,每一种所对应的方案都是不一样的。
| 场景特征 | 更适合的方向 |
|---|---|
| 任务风格/格式高度固定,需要稳定复现 | 轻量微调(LoRA / 指令微调) |
| 需要注入大量私有知识 | 优先 RAG,微调只做"风格对齐" |
| 数据量少(几十到几百条) | Few-shot 或提示工程,微调收益有限 |
| 对齐人类偏好、需要"更像人"的回答 | RLHF / DPO 类偏好优化 |
| 追求推理成本极致降低 | 蒸馏成小模型,而不是微调大模型 |
✦ ✦ ✦
4、一个更加"不武断"的回答范式
如果让我重新来回答这道题的话,我会这样子去组织我的回答。
首先呢,先去定位一下问题的类型。看看是知识性的错误、格式错误,还是推理能力不够。
然后呢,把那些低成本的手段先给穷尽了。prompt 的结构优化、few-shot、CoT、RAG、工具调用、多模型多路投票,这些都先过一遍。
接着呢,评估一下是不是已经触及到了模型能力的天花板。如果上面说的那些手段都已经试过了,问题还是存在而且可以复现,那才说明这确实是模型本身的能力或者说风格方面的问题。
到了这一步之后呢,再来谈微调的事情。而且要说明会先选择轻量的方案,比如说 LoRA,然后根据任务的性质来决定是指令微调还是偏好对齐。
最后呢,还要去强调一下成本意识。微调需要标注数据、需要训练资源、还需要后续的维护,任何时候都要去算一笔 ROI 的账才行。
这套逻辑的核心嘛,其实就是"先便宜后贵、先通用后定制"这样一个工程直觉。这个呢,也是面试官真正想要听到的东西。
✦ ✦ ✦
5、写在最后
回头再来看的话,面试官那句"你有点武断"其实是一句提醒。技术方案的选择嘛,不应该是某一个反射动作,而应该是一条排查链路走到最后的终点。越是那些听起来高大上的方案,什么微调啊、RLHF 啊、从头训练啊这些,越应该放到最后面再去谈,因为它们意味着更高的成本和更长的迭代周期。
下次再被问到类似的问题的时候嘛,不妨先在自己的心里面过一遍"prompt、架构、模型选择、微调"这样一条链路,再开口去回答。这个呢,既是对技术的尊重,也是对成本的尊重。
学AI大模型的正确顺序,千万不要搞错了
🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!
有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!
就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋
📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇
学习路线:
✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经
以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!
我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~