何时只需提示
成本与灵活性之间的权衡。
何时只需提示 是 CoddyKit 上的免费 AI Prompt Engineering 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 AI Prompt Engineering 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 AI Prompt Engineering 课程共包含 4 节课。
默认方案应是提示
在考虑微调之前,请将提示作为零假设。现代前沿模型拥有足够的潜在能力,因此大多数任务本质上是检索与指令的问题,而不是更新权重的问题。
团队常犯的昂贵错误,是在一个结构良好的提示、少量示例和工具访问权限本可以弥补差距且无需额外训练成本时,直接启动训练。只有当提示经过证明已经达到上限时,微调才是合理的。
- 提示会改变每次请求,微调会改变模型
- 提示可以在几秒内撤销;经过调优的检查点则是已经确定下来的产物
- 从低成本方案开始,只有根据证据才升级
三条成本轴
请从三条相互独立的成本轴比较不同方案,而不要只比较金钱:
- 迭代成本 - 改变行为的速度有多快?提示:几分钟。微调:每个周期需要数小时到数天。
- 推理成本 - 对于每次调用,提示都要为较长的指令和示例按令牌付费;经过调优的模型可以将这些行为融入权重,从而缩短提示。
- 维护成本 - 提示存在于源代码管理中且可审计;基础模型弃用后,检查点必须重新调优。
提示在迭代和维护方面更具优势;在高调用量下,微调可能在推理成本方面胜出。
量化盈亏平衡点
微调的推理成本论点只有在超过规模阈值时才成立。请明确建模临界点:每次调用额外增加 2,000 个输入词元的长少样本提示词会产生持续性成本;调优后的模型则能将训练成本分摊到调用规模上。
如果您的流量低于盈亏平衡点,少样本提示词不仅严格来说更便宜,而且也更灵活。
# Rough break-even between long-prompt vs fine-tune
def breakeven_calls(train_cost_usd, extra_input_tokens, price_per_1k_input):
extra_cost_per_call = (extra_input_tokens / 1000.0) * price_per_1k_input
if extra_cost_per_call == 0:
return float('inf')
return train_cost_usd / extra_cost_per_call
# e.g. $80 train run, 2000 extra prompt tokens, $0.003/1k
print(breakeven_calls(80.0, 2000, 0.003)) # ~13.3M calls before tuning pays off灵活性是核心资产
在不确定性下保留可选性,是采用提示工程最有力的理由。需求会变化:新的边界情况、政策变化、新的输出字段。使用提示工程,您只需修改文本;使用调优后的模型,则需要重新收集数据并重新训练。
当任务定义仍在变化——产品处于早期阶段、规范含糊不清、利益相关者频繁变更——提示工程几乎总是正确选择。只有当目标不再变化时,才将其固化到模型权重中。
提示工程已经涵盖的能力
许多看似需要微调的问题,都可以通过提示词侧技术解决:
- 格式遵循——结构化输出 / JSON 模式约束,而非训练
- 领域语气——一个风格示例段,加上明确的语气描述
- 推理深度——分解、思维链或规划步骤
- 知识缺口——检索(RAG)注入事实;微调会把过时事实固化
只有对于提示工程从结构上无法完成的事情,才考虑微调:对延迟敏感的提示词压缩、极其独特的格式,或即使有强指令模型仍会抗拒的行为。
知识场景下的 RAG 与微调
一个常见误区是:团队应当检索知识,却选择通过微调注入知识。微调不擅长教会模型事实——这种方式有损、更新成本高,而且容易在训练示例之间产生幻觉式推断。
经验法则:如果缺口在于模型知道什么,请使用检索。如果缺口在于模型如何表现,再考虑微调。知识每天变化;行为很少变化。
# Knowledge -> retrieve at prompt time, do not bake into weights
def build_prompt(user_q, retriever):
docs = retriever.search(user_q, k=5)
context = '\n\n'.join(d.text for d in docs)
return (
'Answer using ONLY the context. Cite doc ids.\n'
'<context>\n' + context + '\n</context>\n'
'<question>' + user_q + '</question>'
)提示词优化阶梯
在认定提示工程不足之前,请完整走完这级阶梯。大多数团队在第二级就放弃:
- 第 1 级:清晰指令 + 角色 + 明确的输出契约
- 第 2 级:覆盖边界情况的少样本示例
- 第 3 级:分解为多个链式调用
- 第 4 级:使用工具 / 检索,将知识和计算卸载出去
- 第 5 级:自我审查或验证步骤
只有在使用留出评估集耗尽第 1 至第 5 级的所有可能性后,微调才有充分依据。
延迟与提示词长度惩罚
长提示词的代价不只是金钱,还包括时间。在许多服务栈中,输入词元数是首个词元时间的主要决定因素。一个包含 4,000 个词元的指令加示例提示词,会在每次调用中产生可测量的延迟开销。
这是提示工程在规模化场景中真正失势的地方:当您既需要长提示词带来的行为,又需要 100 毫秒以内的响应时,将这种行为提炼进小型微调模型才是正确做法。但请确认延迟预算是真实需求,而非臆测。
总拥有成本
请根据产物生命周期内的总拥有成本做决定,而不要只看第一张账单。微调后的模型检查点会带来一些隐藏的持续性成本:
- 提供商弃用基础模型时需要重新微调(通常每 6 至 12 个月一次)
- 必须持续维护的数据流水线和标注流程
- 每次重新微调后用于检测回归问题的评估基础设施
- 版本管理、回滚和分流服务的复杂性
提示工程的总拥有成本主要就是一个文本文件和一个评估集。对于机器学习运维成熟度不足的团队而言,仅这一不对称性就足以让提示工程比预期更长时间保持优势。
决策检查清单
当您对以下大多数问题都能回答 YES 时,提示工程就足够了:
- 任务规范是否仍在逐月变化?
- 调用量是否低于您计算出的盈亏平衡阈值?
- 缺口是否在于知识(可以通过检索获得),而不是行为?
- 在走完优化阶梯后,留出评估是否显示提示工程已达到可接受的质量?
- 您的延迟预算是否能够从容应对当前的提示词长度?
- 您的团队是否缺少持续维护的微调与评估流水线?
出现三个或更多 YES 答案,意味着应继续采用提示工程,只有在答案发生转变时再重新评估。
权衡决策示例
请将决策编码为数据,而不是凭感觉。一个小型评分函数会迫使团队明确陈述调用量、延迟和规范稳定性等假设,也让之后的建议可以接受审查。
def recommend(volume_per_month, breakeven, spec_stable, latency_critical):
score = 0
if volume_per_month < breakeven: score += 2 # favor prompting
if not spec_stable: score += 2 # spec moving -> prompt
if latency_critical and spec_stable: score -= 2 # tune for latency
return 'PROMPTING' if score >= 1 else 'CONSIDER_FINE_TUNING'
print(recommend(500_000, 13_000_000, spec_stable=False, latency_critical=False))
# PROMPTING快速检查
某团队希望模型回答关于每天更新的文档的问题。哪种方法最合适?为什么?
回顾
提示工程是默认方案;微调是升级手段。当规范仍在变化、调用量低于盈亏平衡点,且缺口在于知识而非行为时,请继续采用提示工程。
- 从迭代、推理和维护成本多个维度比较,而不只是看金额
- 在假设微调能够省钱之前,先计算调用量盈亏平衡点
- 在认定提示工程不足之前,完整走完提示词优化阶梯
- 检索知识;将微调留给顽固行为,或用于由延迟驱动的提示词压缩
- 根据生命周期内的总拥有成本进行判断,包括基础模型弃用带来的成本
常见问题解答
「何时只需提示」课时是免费的吗?
是的 — 「何时只需提示」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 AI Prompt Engineering 课程的其余内容,请升级到 CoddyKit PRO。 AI Prompt Engineering 课程共包含 4 节课。
「何时只需提示」这节课中我会学到什么?
成本与灵活性之间的权衡。 你通过在浏览器中直接运行的动手代码来练习 AI Prompt Engineering,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 AI Prompt Engineering 需要有经验吗?
无需任何先前经验。CoddyKit 上的 AI Prompt Engineering 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「何时只需提示」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 AI Prompt Engineering 课中编写并运行代码吗?
能。每节 AI Prompt Engineering 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 何时只需提示
- 何时进行微调
- 混合方案:提示加轻量调优
- 评估决策