入门与定位
为什么花这么多时间讲原理?
磨刀不误砍柴工 · 打好基础才能真正做工程化
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 的处理逻辑,后面所有工程化方案你都能一眼看穿它在做什么,为什么有效,局限在哪。