问题与目标
走完 Prompt、RAG、Agent、微调、多模态和强化学习后,最重要的能力不是记住更多框架,而是能判断问题应该在哪一层解决。本篇用一张选择表和可执行评分器完成阶段复盘。
核心概念
| 能力 | 改变对象 | 最关键资产 | 常见失败 |
|---|---|---|---|
| Prompt | 当前上下文 | 指令和样例 | 对输入变化敏感 |
| RAG | 外部知识上下文 | 文档、索引、评估集 | 检索不到或引用错误 |
| Agent | 运行时流程 | 工具、状态、权限、轨迹 | 循环、越权、副作用 |
| SFT/PEFT | 模型行为参数 | 高质量示范与测试集 | 记忆、退化、数据泄漏 |
| 多模态模型 | 输入模态与表征 | 媒体数据、标注、证据 | 视觉幻觉和输入成本 |
| 偏好/RL | 策略选择倾向 | 偏好、奖励、Rollout | Reward Hacking |
正确顺序通常是:先修数据和程序错误,再建立 Prompt/RAG 基线;只有失败稳定且有训练资产时才改变参数。
可运行实现
python
OPTIONS = {
"prompt": {"data": 1, "compute": 1, "ops": 1, "freshness": 2},
"rag": {"data": 2, "compute": 2, "ops": 3, "freshness": 5},
"sft": {"data": 4, "compute": 4, "ops": 4, "freshness": 1},
"alignment": {"data": 5, "compute": 5, "ops": 5, "freshness": 1},
}
def rank(requirement: dict) -> list[tuple[str, int]]:
scores = {}
for name, cost in OPTIONS.items():
penalty = (
cost["data"] * requirement["data_scarcity"]
+ cost["compute"] * requirement["compute_limit"]
+ cost["ops"] * requirement["ops_limit"]
+ abs(cost["freshness"] - requirement["freshness_need"])
)
scores[name] = penalty
return sorted(scores.items(), key=lambda item: item[1])
print(rank({
"data_scarcity": 3,
"compute_limit": 3,
"ops_limit": 2,
"freshness_need": 5,
}))
评分权重不是行业公式,而是强迫决策者把数据、算力、运维和新鲜度写出来。最终选择仍要用小规模实验验证。
常见问题与排查
把更复杂方法当作能力升级
能力升级体现在更可靠地解决问题,而不是使用更昂贵算法。规则或 RAG 达标时无需训练。
项目只保留最终模型
保留基线、失败样例、数据版本、训练配置和评估报告,才能知道升级是否真实有效。
多模态、微调和 Agent 一次性组合
先分别验证视觉输入、模型行为和工具流程,再集成。否则错误无法归因,成本也难控制。
阶段复盘只写主观感受
复盘应引用真实数据:通过率、显存、延迟、训练时长、幻觉数和奖励漏洞。认知变化要建立在可复查结果上。
小结
应用开发改变上下文和流程,模型训练改变参数和策略。先选择最轻、可验证的方法,再随着证据增加复杂度,是这一阶段最可复用的工程判断。
License: CC BY-NC 4.0
Updated 2 hours ago
Was this article helpful? Give it a like.
0 comments


