为什么花这么多时间讲原理?

磨刀不误砍柴工 · 打好基础才能真正做工程化

AI 所有工程化操作,本质上都是对上下文的高效处理

不管是 Prompt Engineering、RAG、Fine-tuning,还是 Agent 工具调用——所有的"花活",基本上都围绕着这个 message list 处理。理解它,你才能真正判断方案好不好、问题出在哪里。

所有工程化操作,本质都在做这件事

Prompt Engineering

精心构造 messages,让模型"看到"正确的上下文——系统指令、角色定义、少样本示例,全部是往 message list 里塞内容。

RAG 检索增强生成

从外部知识库取回相关文档片段,拼进 message list 再发给模型——本质是在运行时扩充上下文。

Agent 工具调用

模型输出 function call → 执行工具 → 把结果 append 回 message list → 再次推理。每一轮都是在积累上下文。

Fine-tuning / SFT

把大量"理想 message list"烧进模型权重——让模型默认就能按期望方式处理上下文,省去每次都要在 prompt 里说明的成本。

不理解底层,会卡在这些问题上

"Prompt 改了没用"

System Prompt 被截断、历史对话占满窗口——问题根本不在 Prompt 写得好不好,而在上下文管理。

"RAG 效果差,不知道哪环节坏了"

Chunking 粒度、Embedding 模型、相似度阈值——不了解原理就不知道该查哪里,只能瞎试。

"模型答错了,该改 Prompt 还是 Fine-tune?"

是上下文没给对,还是参数里压根没这个知识——两件事的修复方式完全不同,搞错方向浪费大量时间。

我会花比较大的篇幅讲解这部分——不推荐跳过
理解了 message list 的处理逻辑,后面所有工程化方案你都能一眼看穿它在做什么,为什么有效,局限在哪。