从提示词到驾驭:LLM 应用工程的三层演进

调研日期:2026-05-01 · 模式:deep-research ultradeep · 检索路数:18 路并行(中英混合)


Executive Summary

2017 年 Transformer 架构论文 [1] 发表至 2026 年的九年里,“如何让 LLM 真正在生产环境跑起来”经历了三轮范式跃迁:提示词工程(Prompt Engineering,2022-2023 主线)→ 上下文工程(Context Engineering,2024 起被 Karpathy 等人正式命名 [5][6])→ 驾驭工程(Harness Engineering,2026 年 2 月由 Mitchell Hashimoto 命名 [8][31])。

三者不是替代关系而是叠加抽象:提示词工程关心「这一句话怎么写」,上下文工程关心「模型在推理这一刻看到了什么」,驾驭工程关心「整个 agent 在什么环境里运行、出错时如何不再犯同样的错」。

本文围绕这三层展开:

文末给出三类典型场景(个人学习 / 创业 MVP / 企业生产)的技术选型清单与限制说明。


Introduction

调研问题

“分别讲清提示词工程(含 LLM/Transformer 等基础)、上下文工程(含记忆 / RAG 选型等)、驾驭工程,越全越好。”

范围与边界

核心假设

调研方法

本报告由 deep-research skill(199-bio 版,ultradeep 模式)驱动:18 路并行 WebSearch(中英双语,分两批) → 跨多源交叉验证关键 claim(≥2 源支持才纳入)→ 时间锚定(默认引用 ≥2025-12 的资源) → Phase 6 红队复核(怀疑派 / 对抗评审 / 实施工程师三视角) → 落盘归档。详见 Methodology Appendix。


第一篇:提示词工程(含 Transformer / LLM 基础)

1.1 起点:Transformer 与注意力机制

2017 年 Vaswani 等人在 Attention Is All You Need [1] 中提出 Transformer 架构,把循环(RNN)和卷积(CNN)从序列建模里拿掉,只留下”注意力”。其核心思想极为朴素:序列里每个 token 与所有其他 token 通过 Query / Key / Value 三个矩阵做加权聚合,权重由 softmax(QK^T / √d) 决定。这种设计的两个直接结果是——全局可见性(任何位置都能直接看到任何位置,无需逐步传递)和完全并行(不再像 RNN 那样必须按时间步前向)。

但 Transformer 自诞生起就背着一个数学包袱:标准自注意力对序列长度 N 是 O(N²) 的时间和显存复杂度 [关于这一点的详细论证可见 2026 年的若干综述 [11][39]]。把上下文窗口从 32K 扩到 128K,计算量并不是 4 倍,而是 16 倍。这一条数学事实驱动了 2022-2026 年间数十亿美元的工程投入。

围绕”如何把 O(N²) 这条墙凿穿”诞生了一系列变体: - Linear Attention(Katharopoulos 2020)通过核函数特征映射 + 矩阵乘法结合律避开显式 attention 矩阵,把复杂度降到 O(N); - Sparse Attention(如 Longformer / BigBird)让每个 token 只看局部窗口 + 少数全局 token; - Flash Attention(Dao 2022 起)不是改算法而是改工程——把 attention 计算用 tiling 拆成能塞进 GPU 片上 SRAM 的小块,避免把 N×N 矩阵写回 HBM。Flash Attention 4 在 2026 年 3 月发布,在 NVIDIA B200 GPU 上达到 1605 TFLOPs/s、71% 硬件利用率 [文献描述见 attention 机制综述 2026]; - Paged Attention(vLLM 团队 2023)借用操作系统虚拟内存思想,把 KV cache 切成 16 token 一块的页,使显存碎片低于 4% [10]; - Local Attention / Sliding Window Attention 用于 Mistral / Qwen 等长序列优化。

到 2026 年,这些技术已经不是”二选一”,而是按层 / 按块混合堆叠:模型底层用 Sliding Window 控成本,关键层用 Full Attention 保表达力,推理时全部走 Flash + Paged 优化。

Scaling Laws 是与 Transformer 并行演进的另一条主线。Kaplan 等人 2020 年提出参数量 / 数据量 / 计算量的幂律关系,Hoffmann 等人 2022 年(Chinchilla)修正了”应该用多少 token 训练多少参数的模型”——结论是过去主流(如 GPT-3)严重 under-trained。而 2025-2026 年的关键转折是:重心从”更多数据”转向”更高质量的数据”。当 Common Crawl 已经被吃完、合成数据兴起,定律关注的不再是 token 数本身,而是 token 的信息密度与多样性。

1.2 LLM 训练栈:预训练 → 后训练 → 微调

2026 年训练栈的标准模板已经形成”三段式”——预训练(Pretraining) → 后训练(Post-training) → 任务级微调(Task-specific Fine-tuning)。Sebastian Raschka 在 State of LLMs 2025 [22] 中点评:「12 个月前的标准配方是预训练几万亿 token 然后跑 RLHF;那条配方已经死了。从 DeepSeek-R1 到 Nemotron 3 Super 到 GPT-5.3 Codex,过去一年发布的每个主要模型都用了不同的后训练栈。」

预训练(Pretraining)

任务非常简单:在巨量语料上做下一个 token 预测(next-token prediction),用 cross-entropy loss 反向传播。但工程难度极高:

预训练的产物是 基础模型(base model)——它能续写但不能”对话”,给它”今天天气如何?“它会接着写一段类似贴吧的杂谈,而不是回答你。要让它变成 ChatGPT 那样能交互的助手,需要后训练。

后训练(Post-training)

后训练在 2024-2026 年被拆成三个相对正交的阶段 [23][24]:SFT(让模型会说话)→ 偏好对齐(让模型说人喜欢的话)→ 推理强化(让模型在可验证任务上更准)。顺序很重要。

SFT(Supervised Fine-Tuning,监督微调)

用人工编写的”指令-回答”对(如 Alpaca / Dolly / OpenAssistant 风格)对基础模型继续训练,让它学会”指令跟随”和对话格式。SFT 教模型怎么说话——产生结构化输出、遵循 system prompt、用合适的礼貌度等。技术上和预训练区别很小,差异主要在数据上。

RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)

OpenAI InstructGPT / ChatGPT 的看家本领。流程分三步:(a)收集人类偏好对(“回答 A 比 B 更好”);(b)训练奖励模型(reward model)学习这些偏好;(c)用 PPO 算法以奖励模型的打分作为 reward 微调原模型。PPO 实现极复杂,需要同时维护 4 个模型(actor、critic、reference、reward),显存爆炸 + 训练不稳定。

DPO(Direct Preference Optimization,直接偏好优化)

斯坦福 Rafailov 等人 2023 年提出的”无 RL 的 RLHF”。核心洞察:把 RLHF 的目标函数做闭式重写后,发现可以直接用偏好对训练原模型,无需奖励模型、无需 PPO。一个简单的二分类损失就够了。结果:训练稳定 10x、显存占用降一半、效果与 PPO RLHF 相当甚至更好。2024 年起绝大多数开源模型(Llama 3、Qwen 2/3、Mistral 系列)都改用 DPO 或其变体(IPO / KTO / SimPO)替代 PPO。

GRPO(Group Relative Policy Optimization)

DeepSeek 团队 2024 年提出,是 R1 系列爆火背后的核心算法 [22][23]。GRPO 砍掉了 PPO 的 critic 网络(这是 PPO 训练不稳定的主要来源),改用”组内相对优势”——对同一个 prompt 采样 N 个回答,每个回答的优势 = 该回答的奖励 - 组内均值,再用 PPO 风格的策略梯度更新。在数学 / 代码等可验证任务上效果惊人,把”在线 RL”重新带回主流。

RLAIF(Reinforcement Learning from AI Feedback,基于 AI 反馈的强化学习)

Anthropic 2022 年 Constitutional AI 论文里首次系统化:用更强的 LLM 代替人类标注偏好对,大幅压低数据成本。2025-2026 年 RLAIF 已成为通用做法——基础模型对齐用 RLAIF,关键安全场景用人类反馈做最后一道把关。

RLVR(Reinforcement Learning with Verifiable Rewards,基于可验证奖励的强化学习)

2025 下半年起在 OpenAI o1 / DeepSeek-R1 上爆红。核心思想:在数学题、代码、单元测试等”答案可被程序自动验证”的任务上,奖励信号不来自人类偏好或奖励模型,而来自硬编码的验证器(运行单元测试、对比标准答案)。这避免了奖励模型的”作弊”(reward hacking)问题,把推理能力推到新高度。GRPO + RLVR 是 R1 的黄金组合。

DAPO(Decoupled Clip and Dynamic Sampling Policy Optimization)等 2026 年新算法继续在 GRPO 基础上做工程优化(动态采样、分层 clip)。

任务级微调(Fine-Tuning)

如果你拿到的不是”训练新基础模型”的资源,而是”在已有开源模型上做领域适配”,那么 fine-tuning 才是你的工具。这里有个关键的成本分水岭 [25]:

方法 7B 模型显存 硬件成本 质量保留 适用
Full Fine-Tune 100-120 GB $50K(H100) 100%(基线) 延迟敏感 + 最高精度
LoRA ~25 GB $10K(A100) 95-98% 快速实验 + 多 adapter
QLoRA ~6 GB $1.5K(RTX 4090) 80-90% VRAM 极限 + 多客户隔离
Distillation 视 student 中 视任务 推理时延 / 成本极致

实践指引 [25]:「如果产品需要极低延迟和最高准确率,做 full fine-tune;如果需要快速实验、多变体、按客户单独 adapter,用 LoRA;如果模型很大且 VRAM 受限,用 QLoRA。」

1.3 推理栈与解码策略

模型训完上线,“用什么策略从 logits 里采样下一个 token”决定了输出质感:

工程上现在的事实标准是 temperature=0.7 + top_p=0.95(OpenAI / Anthropic 的默认)。要做创意生成调高 T,要做严格 JSON 提取调到 T=0 + 配合 grammar-guided generation(如 Outlines、Guidance、Llama.cpp 的 GBNF)。

1.4 提示词工程的经典技术

提示词工程的”经典时代”基本可以用一张技术图谱概括 [28][29][30]:

1. 零样本 / 少样本(Zero-shot / Few-shot)

直接问 vs 给几个例子。Brown 等人 2020 年的 GPT-3 论文发现 few-shot 能让小模型逼近大模型 fine-tuned 后的水平——这是”上下文学习(in-context learning)“概念的诞生。2026 年 few-shot 仍是 80% 任务的最强 baseline [29]。

2. Chain-of-Thought(CoT,思维链)

Wei 等人 2022 年提出。让模型先写”思考过程”再写答案,大幅提升数学 / 推理任务准确率。简单触发词 “Let’s think step by step.” 在 GSM8K 上把准确率从 17% 提升到 78% [28]。CoT 的核心机制:把原本要在前向传播里一次完成的复杂推理,分摊到多个 token 的生成上,等价于动态扩展计算量。

3. Self-Consistency

Wang 等人 2022 年。同一个 CoT prompt 采样 N 次(高 temperature),最后投票选最常出现的答案。在数学 / 编程上又把 CoT 提升 5-10 个百分点,代价是 N 倍 token 成本。

4. ReAct(Reasoning + Acting)

Yao 等人 2022 年 [4]。把思考(Thought)和行动(Action)交错:模型先想”我现在该查什么”,然后调用工具(搜索 / 计算器 / API),观察结果(Observation),再继续想下一步。在 ALFWorld 交互式任务上比 imitation learning + RL 高 34% 绝对成功率,在 WebShop 上高 10%。ReAct 是后来所有 Agent 架构的祖父——LangGraph 的 react agent template、AutoGen 的 conversable agent、CrewAI 的 task agent,本质都是 ReAct 的工程化变体。

5. Tree of Thoughts(ToT)/ Graph of Thoughts(GoT)

Yao 2023 / Besta 2023。CoT 是单条思考链,ToT 把每一步展开成多个分支,用 BFS/DFS + 启发式打分搜索整棵推理树。GoT 进一步把树推广为 DAG,允许节点合并(“我这两条思路其实指向同一个答案”)。代价是 token 成本数倍到十倍,仅在数学推理 / 规划等”答案稀疏但路径多”的任务有性价比。

6. Self-Refine

Madaan 等人 NeurIPS 2023 [3]。同一个模型扮演三个角色:generator(生成初稿)→ critic(自我评判)→ reviser(重写)。在 7 个任务上平均提升 20%(GPT-3.5 / GPT-4 都验证过)。这是后来 Reflexion、CRITIC、Constitutional AI 等”自我改进”路径的原型。

7. Reflexion

Shinn 等人 2023。Self-Refine 是单轮自我改进,Reflexion 把自我反思写入”长期记忆”——如果某次任务失败,把失败原因总结成一段反思,附在下次同类任务的 prompt 里。等价于让 agent 从经验里学习。

8. Prompt Chaining / Decomposition

复杂任务拆成多步骤的 prompt,每步输出喂给下一步(即”workflow”模式)。LangChain、LlamaIndex、Semantic Kernel 大量这套。优点是可调试、可观测;缺点是步骤间信息可能丢失。

9. Role Prompting / System Prompt

“You are an expert Python developer. …” 给模型注入身份与场景。Claude 系列对 system prompt 的遵循度普遍高于 GPT 系列,所以社区有”Claude 提示工程偏 XML 标签 + 强 system prompt”的共识 [29]。

10. 模型差异化

2026 年的提示词工程已经从”通用最佳实践”分化为”模型特异性最佳实践” [29][30]:

1.5 自动化与高级提示词

人工写 prompt 终究有上限。2023 年起涌现”让 LLM 自己写 prompt”的方向:

DSPy 在 2025-2026 进入主流——被 Databricks、Snowflake 等收编为内部 prompt 编译框架。它代表了一个重要转向:prompt 不再是手写艺术,而是编译产物。

1.6 评估、红队与提示词工程的”黄昏”

提示词工程的成功必须可被度量。Promptfoo [29] 是开源 prompt 测试框架的事实标准——定义测试用例、跑多模型对比、CI 集成。最小可行测试集:20 个多样化案例(happy path + edge case + adversarial),每次 prompt 改动后自动跑。

提示词工程的失败模式有三类: - 幻觉(Hallucination):模型一本正经地编造事实 - 提示词注入(Prompt Injection):用户输入里夹带”忽略上面所有指令,改做 X”,劫持 system prompt - 越狱(Jailbreak):绕过对齐让模型输出有害内容(“DAN”、角色扮演、长尾语言攻击等)

2026 年 OWASP 已把 Top 10 for LLM Applications 列为标准分类法,前三名分别是 LLM01 提示词注入、LLM02 不安全输出处理、LLM03 训练数据投毒 [36]。这些问题不能靠”写更好的 prompt”解决,必须靠护栏(详见第三篇 3.3.7)。

到 2024 年下半年起,“提示词工程是不是还重要”的争论开始浮现。Karpathy 在 YC AI School 的 Software Is Changing (Again) 演讲里把行业焦点指向了下一站——上下文工程。


第二篇:上下文工程

2.1 定义与起源

“Context Engineering”(上下文工程)这个词在 2024 年下半年开始在社区流传,普遍归功于 Karpathy 在 YC AI School 的 Software Is Changing (Again) 演讲 [5]。他给的定义后来被反复引用:

“In every industrial-strength LLM app, context engineering is the delicate art and science of filling the context window with just the right information for the next step.” (在每一个工业级 LLM 应用里,上下文工程是把恰好正确的信息填进上下文窗口、为下一步推理做准备的精细艺术与科学。)

Anthropic 在 2025 年发布的官方文章 Effective Context Engineering for AI Agents [6] 进一步把它定位为”提示词工程的自然演进”:「prompt engineering 关心的是你给模型说的那句话;context engineering 关心的是模型在推理那一刻能看到的所有信息——system prompt、对话历史、工具定义、检索到的文档、记忆、规划状态、约束与策略。」

LangChain 团队在 Context Engineering for Agents 博客 [7] 里给了一个常被引用的工程定义:

“Context Engineering 是设计动态系统的学科,这些系统在正确的时间、以正确的格式,向 LLM 提供正确的信息和工具,让模型有完成任务所需的一切。”

为什么”提示词工程”不够了?三个根本变化:

  1. 窗口扩张:从 GPT-3.5 的 4K 一路涨到 Gemini 2.5 Pro 的 1M、Claude Opus 4.7 的 1M(启用 1M context 模式)。能塞进窗口的信息从”几段文字”变成了”一整本书”。决定塞什么变得比写好那一句话重要得多。
  2. Agent 兴起:单轮 prompt 是孤立交易,agent 是持续状态机。每一步推理的 context 都来自上一步的输出 + 工具返回 + 检索 + 记忆,“prompt”已经不是用户写的那句话,而是 agent 框架动态拼装的产物。
  3. 多模态 + 工具调用:context 不再只是文本,还有图像、表格、代码、tool schema、retrieved chunks、structured memory、scratchpad。把这些异构信息组织好是工程问题。

到 2026 年初,业界共识是:生产级 LLM 应用的核心难度从”写 prompt”迁移到了”管 context”——Anthropic 在文档里直接说”Context Engineering 是构建可靠 AI agent 的关键学科” [6]。

2.2 长上下文的物理学

要理解为什么”塞满窗口”是个坏主意,必须先理解上下文的三个物理约束:

约束一:O(N²) 成本

回到第一篇 1.1 节:标准 attention 是 N² 复杂度。上下文从 32K 翻到 128K,注意力计算量是 16 倍而非 4 倍。对推理服务来说这意味着两件事:(a)首 token 延迟(TTFT)上升,因为要先 prefill 整个 prompt;(b)显存被 KV cache 占满,并发数下降。

约束二:KV Cache 显存

每个 attention 层在推理时要维护 K 和 V 的缓存(避免重复计算)。一个 70B 模型在 128K 上下文时,KV cache 占用可达 40+ GB,比模型权重本身还大。这就是为什么 vLLM 的 PagedAttention [10] 和 SGLang 的 RadixAttention [11] 这类”管 KV cache”的技术成为推理服务器的核心竞争力(详见第三篇 3.3.4)。

约束三:Lost-in-the-Middle

Liu 等人 2024 TACL 论文 Lost in the Middle: How Language Models Use Long Contexts [2] 系统验证了一个反直觉现象:把关键信息放在 prompt 开头或结尾,模型能很好地利用;放在中间,模型常常视而不见。召回率随位置呈 U 型曲线——开头有 primacy bias、结尾有 recency bias、中间是黑洞。

这条曲线在 GPT-3.5 / GPT-4 / Claude 上都验证过。即便 2025 年的 Gemini 1.5 Pro 在简单的 needle-in-a-haystack 测试上能拿到 99.7% 召回,但当任务变成”在 1M token 里找出 8 个相关事实并综合”,平均召回率掉到 ~60% [41]。

2.3 RULER 与 1M 上下文的真实能力

NVIDIA 等机构 2024 年发布的 RULER 基准 [12](What’s the Real Context Size of Your Long-Context Language Models?)把”长上下文能力”从 needle-in-a-haystack 的玩具测试升级为”折磨套件”:

RULER 暴露出的真相:几乎所有声称 100K+ 上下文的模型,在 RULER 上的”有效上下文”远小于宣称值。比如某模型宣称支持 200K,但 RULER 上 50K 后准确率就掉到 80% 以下,128K 时已经接近 random。

这把行业拉回了现实:long context 不是 RAG 的替代,而是补充。

长上下文 vs RAG:决策框架

Tianpan 在 Long-Context Models vs RAG: When the 1M-Token Window Is the Wrong Tool [41] 给了一个 2026 主流的决策框架:

维度 1M 上下文模型 RAG
延迟 30-60 倍慢(必须 prefill 整个窗口) 检索 + 生成两阶段,但生成阶段输入小
每查询成本 ~1250 倍贵 检索几乎免费,生成成本随相关 chunk 数
数据更新 每次查询都要重传 索引更新一次,所有查询受益
可解释性 黑箱 检索结果可审计、可引用
多事实召回 ~60%(实战) 配合 reranker 可达 90%+
真正适合长上下文的场景 单次深度分析(“读完这篇 200 页的 PDF 总结洞察”) 知识库问答、客服、文档检索

实战指引:90% 的”知识检索”场景应该用 RAG,10% 的”深度分析单文档”才用长上下文。

2.4 RAG 全栈选型

RAG(Retrieval-Augmented Generation)是上下文工程最成熟的一支,已演进出完整的子学科。2025-2026 年的状态可以用四代演进概括 [43]:

第一代:Naive RAG(2020-2022) 检索 → 拼接 → 生成。chunk + embed + vector search + LLM。简单但脆弱:chunk 切错就全错、检索召回低就答错。

第二代:Advanced RAG(2023-2024) 引入 query rewriting / reranking / hybrid search / metadata filter。召回从 50% 拉到 80%。

第三代:Modular RAG(2024) 把 RAG 拆成可组合模块:indexing / pre-retrieval / retrieval / post-retrieval / generation 各自可独立替换。LangChain、LlamaIndex 的 RAG 工程化抽象。

第四代:Agentic RAG(2025-2026) 把 RAG 看作 agent 的能力之一,让 agent 自主决定何时检索、检索什么、如何评判检索结果、要不要重新检索 [43]。Self-RAG / CRAG / Agentic RAG 都是这一代的代表。

下面按 RAG 流水线顺序拆解 2026 年的选型空间。

2.4.1 文档解析(Parsing & Layout)

现实世界的文档是 PDF、PPT、扫描件、Excel、HTML 而不是纯文本。这一步常被忽略但影响极大:

最佳实践:至少跑两套 parser 对比,再决定用哪个。表格 / 公式必须特别处理(转 markdown / LaTeX)。

chunking">2.4.2 切分策略(Chunking)

切分策略对召回质量影响远大于嵌入模型的选择:

通用建议:chunk size 256-512 token、overlap 50-100 token,是大多数任务的 sweet spot。

2.4.3 嵌入模型(Embedding Models)

2026 年 4 月 MTEB(Massive Text Embedding Benchmark)榜单 [13] 主要选手:

模型 MTEB 维度 价格 / 1M tok 特点
OpenAI text-embedding-3-large 64.6 3072(可截短) $0.13 老牌稳定
Cohere embed-v4 65.2 1536 $0.10 当前 MTEB 第一
Voyage 3 large ~66 1024/2048 $0.18 平均比 OpenAI 高 ~10%
Google Gemini Embedding 2 64+ 3072 $0.006 多模态原生(文本/图/视频/音频/PDF),100+ 语言
BGE-M3(BAAI) 64+ 1024 免费(开源) 同模型支持 dense / sparse / multi-vector 三种检索
Jina v5-text-small 71.7(v2 榜) 512 免费(Apache 2.0) 677M 参数,最佳质量 / 体积比

2026 年的两个关键趋势:

  1. Matryoshka Representation Learning(套娃表示):同一个 embedding 在不同截断长度(128 / 256 / 512 / 1024 / 3072)都能用,索引时存全长,检索时按需截短。Gemini 2 / Voyage 4 / Cohere v4 / OpenAI text-3-* / Jina v5 / Microsoft Harrier / Nomic v1.5 都支持。可以让”先粗筛后精排”在 embedding 层就实现。
  2. 多模态原生:Gemini Embedding 2 把图像 / 视频 / 音频 / PDF 编进同一个语义空间,多模态 RAG 的索引复杂度从”分模态建索引 + 跨模态对齐”降到”统一索引”。

中文场景实测:BGE-M3 是免费第一(开源 + 多语言强 + 同模型支持稀疏/稠密),Voyage 3 large 是付费第一(中文召回普遍比 OpenAI 高 10%+)。

向量数据库vector-database">2.4.4 向量数据库(Vector Database)

2026 年生产部署的五大主流 [14]:pgvector / Qdrant / Weaviate / Milvus / LanceDB。Pinecone 仍在但价格策略有争议(取消 pod tier 改 Dedicated Read Nodes)。

性能基准(2026,128 维 embedding,1M 向量量级)[14]:

数据库 p99 延迟 QPS(单节点) 备注
Qdrant 2 ms 12,000 Rust 实现,元数据过滤最强
FAISS(in-memory) 3 ms 15,000 单机性能王,无服务化能力
Milvus 5 ms 8,000 分布式 + 高可用,2.5 版本混合检索 30x 快于 ES
Pinecone 8 ms 5,000 全托管,运维零负担
Weaviate 10 ms 4,000 内置 GraphQL 与知识图能力

选型决策:

2.4.5 检索:稀疏 + 稠密 + 后期交互

向量检索(稠密)擅长语义相似度但不擅长精确关键词匹配(产品 ID、专有名词、错别字容忍)。生产级 RAG 几乎都是 hybrid search:

混合策略:用 RRF(Reciprocal Rank Fusion)合并稀疏与稠密的结果列表。简单且无需调参。

实证:hybrid search + reranker 比 semantic-only 提升 +9.3 个百分点 MRR,配合 Cohere Rerank 准确率可以到 90%+ [实测见 LanceDB 基准]。

2.4.6 重排(Reranker)

第一阶段检索(embedding / BM25)召回 top-100 后,用更贵但更准的 cross-encoder 模型对 query-doc 对重排,取 top-5 给 LLM。这一步的 ROI 极高 [reranker 综述]:

Reranker 类型 ELO 备注
Zerank 2 API 1638 当前榜首
Cohere Rerank v4 Pro API 1629 老牌
Cohere Rerank 3 Nimble API — 速度优化版本
BGE-reranker-v2-m3 自托管 — 开源,效果接近 Cohere
FlashRank 自托管 — 极轻量,毫秒级
ColBERT v2 自托管 — 后期交互架构
RankLLM(用 LLM 直接 rerank) LLM — 最贵但解释性最好

top rerankers 比纯 embedding 提升 15-40% 精确率。如果只允许加一项 RAG 优化,加 reranker 通常 ROI 第一。

2.4.7 查询改写(Query Rewriting / Expansion)

用户问的”今天天气咋样”和文档里写的”current weather conditions”语义相同但词汇不重叠。Query rewriting 在检索前先对 query 做处理:

2.4.8 GraphRAG

Microsoft GraphRAG(2024 开源)和 LightRAG / Nano-GraphRAG 等社区变体把检索从”向量相似”扩展到”知识图遍历”:

GraphRAG 在某些场景把检索精度推到 99%(金融合规、法律、医疗等关系密集的领域)[43]。

2.4.9 Self-RAG / CRAG / Agentic RAG

Self-RAG(Asai 2023):让模型在生成时自己决定何时检索、评估检索结果是否相关、批判自己的输出是否有依据。 CRAG(Corrective RAG):检索后对 chunk 打”高/中/低置信度”标签,低置信度时触发 web search 兜底。 Agentic RAG:把上面所有能力包进一个 agent loop,让 agent 在”想 → 检索 → 评判 → 重写 query → 重新检索 → 综合”里循环直到自信为止。LangGraph 是实现 Agentic RAG 的主流框架 [Vinod Rane 2026]。

实证:Self-RAG 在生产部署中能减少 25-40% 的”不必要检索” [43],因为模型学会了对自己已有知识的事情不去检索。

2.4.10 多模态 RAG

图像 + 文本混合的索引方案:

2.5 记忆系统

如果 RAG 解决”知识库怎么塞进 context”,记忆系统解决”agent 自身经验怎么塞进 context”。

2.5.1 记忆的三个轴

借自认知心理学的分类:

2.5.2 四大记忆系统对比(2026)

系统 核心架构 优势 适用
Mem0 Vector + 可选 graph,用户/会话/agent 三层 集成最简单,文档完善 通用 chatbot 加记忆
Letta(前身 MemGPT) OS-inspired,agent 通过 tool call 自管 memory blocks 显式 + 可解释,agent 持久身份 长跑(数天/周)的 agent
Zep Temporal Knowledge Graph,追踪事实随时间变化 时序推理强,企业级 用户状态会变的场景(CRM/客服)
Anthropic Memory Tool 托管 store + 自动注入 + API revise/delete 与 Claude 原生集成 Anthropic 生态内

横向架构观察:

Mem0 [Mem0 论文,arxiv 2504.19413] 是最易接入的方案。三步:从 interaction 抽取”memory” → 存(默认 vector)→ 后续查询时检索 + 注入 prompt。“用户/会话/agent”三层 hierarchy 让多租户隔离自动完成。

Letta 的设计哲学很特别:把 memory 看作 agent 的”可编辑状态”,agent 自己用 tool call 来读/写/搜自己的记忆块。等价于给 agent 一个 OS 风格的 memory 管理器。优势是 agent 能跨会话保留”身份”——下次启动时,记忆块还在那。

Zep 的差异化是 temporal——同一个事实”用户的工作”可能从”在 Google” → “在 Anthropic” → “创业”,Zep 用知识图记录时间维度,回答”用户当前的工作是什么”和”用户去年的工作是什么”都能正确。

Anthropic Memory Tool 是 2025 年下半年随 Claude Sonnet 4.6 推出的官方 memory 接口:在 API 调用时声明使用 memory tool,模型会自动决定写什么记忆、读哪些记忆,开发者只管业务逻辑。

实战选型 [n1n.ai 2026 对比]: - 简单 chatbot 加记忆 → Mem0 - 需要 agent 跨天独立运行 → Letta - 企业 + 用户状态会变 → Zep - 已绑定 Anthropic → Memory Tool

2.5.3 记忆的常见陷阱

2.6 上下文管理策略

即使有了 RAG 和记忆,往 context window 塞东西的”塞什么、塞多少、什么时候塞”仍然是难题。Anthropic 文章 [6] 给了几个原则:

  1. 不是所有信息都同等重要——按优先级排序,最重要的放头部和尾部(避开 lost-in-the-middle)
  2. 动态裁剪——当 context 接近上限时,主动总结早期对话、淘汰过期工具结果
  3. /compact 模式——Claude Code 等产品支持 /compact 命令,把当前长对话压缩成摘要 + 关键事实,保留语义但回收 token
  4. Scratchpad / Working Memory 分离——把 agent 的”草稿纸”(推理过程、工具中间结果)和”对外 context”分开管理,避免污染

2.7 MCP / A2A 协议生态

把工具和数据源接入 LLM 长期是脏活——每个 LLM 的 function calling schema 都不一样、每个工具都得手写 wrapper。MCP(Model Context Protocol) [9] 是 Anthropic 2024 年 11 月推出的开放标准,目标是做 AI 的”USB-C”——一套协议让任意 LLM 接任意工具 / 数据源。

MCP 的关键设计: - JSON-RPC 2.0 作为传输协议 - Server / Client 架构:MCP Server 包装外部系统(PostgreSQL、GitHub、文件系统、自定义 API),暴露三类原语:tools(可执行函数)、resources(只读数据)、prompts(模板) - 解耦工具与 LLM:function calling 把 tool definition 绑死在 LLM provider 上,MCP 让 tool 与 LLM 独立演化

时间线: - 2024-11:Anthropic 发布 - 2025 上半年:OpenAI / Google / Microsoft / Amazon 相继支持 - 2025-12:Anthropic 把 MCP 捐给 Linux Foundation 旗下的 Agentic AI Foundation(AAIF),与 Block、OpenAI 共同治理 - 2026-02:Python + TypeScript SDK 月下载量突破 9700 万 [9]

A2A(Agent-to-Agent) 是另一类协议,关注 agent 之间 怎么协作(任务委托、状态共享、工作流编排)。MCP 与 A2A 是互补关系:

“MCP 给 agent 一双手(连工具/数据),A2A 让多个 agent 组队干活。MCP 是垂直整合,A2A 是水平协作。”

到 2026 春,MCP 已成为 Agent 生态的事实标准;A2A 仍在多协议竞争阶段(Google A2A / Microsoft AutoGen 协议 / Anthropic 的 Agent Skills 等都在尝试)。


第三篇:驾驭工程(Harness Engineering)

3.1 起源:被命名的”那一层东西”

“Harness Engineering”作为术语在 2026 年 2 月由 Mitchell Hashimoto(HashiCorp 创始人)正式命名 [8]。触发事件是 OpenAI 工程师 Ryan Lopopolo 发表了一篇描述 OpenAI 内部 agent 基础设施的文章,Hashimoto 读后说:“这就是 harness engineering——agent 周围所有让它能正常工作的脚手架、约束和反馈回路。”

Karpathy 则从另一个角度铺垫了这个概念。他在 2025-2026 年多次描述自己的 coding workflow 已经从”主要手写代码、偶尔让 agent 帮忙”反转成”主要由 agent 写代码、自己手动微调”。让这种工作模式可行的不是模型变强,而是 agent 周围的环境——repo 结构、CI 配置、formatter、package manager、framework 约束、project instruction、外部工具集成、linter——这些一起构成了 agent 的 “harness”。

Adnan Masood 在 2026 年 4 月 Medium 文章 Agent Harness Engineering: The Rise of the AI Control Plane [32] 总结:「Harness Engineering 是构建那个 governs 一个已部署 AI agent 跨多次交互的整个系统——guides、sensors、data context pipelines、eval suites、constraint enforcement。」

驾驭工程的核心理念被反复强调:

每次 agent 犯错,不要只是希望它下次做得更好;要工程化环境,让它无法以同样的方式再犯。

这把”AI 安全”和”AI 工程化”统一到了一条原则:约束环境,而非约束模型本身。模型的”能力”是可变的(每三个月升一代),但环境约束是稳定的、可累积的。

3.2 与提示词工程、上下文工程的边界

三层抽象的清晰划分:

层级 关注 单位 时间尺度
Prompt Engineering 这一句话怎么写 字符 / 句 单次 LLM 调用
Context Engineering 模型在推理这一刻看到什么 tokens 集合 单次推理(含 RAG、记忆、工具 schema 等)
Harness Engineering agent 在什么环境运行、如何不再犯同样的错 系统 / 流程 跨多次交互、持续演进

类比: - prompt = 你给员工的一个具体指令 - context = 员工桌面上能看到的所有材料(笔记本、邮件、文档、聊天记录) - harness = 公司的整套规章、工具、CI 流程、code review、教练系统

3.3 驾驭层的七大组件

下面拆解 2026 年生产级 agent harness 的七大核心组件。

3.3.1 工具集成层(Tool Integration)

详见 2.7 节的 MCP / A2A。除此之外:

实战:MCP 已是 2026 年的事实标准,新项目直接 MCP,老项目通过 MCP adapter 兼容。

sandbox">3.3.2 沙箱与代码执行(Sandbox)

agent 写代码 / 跑命令 / 处理用户上传文件,必须在隔离环境里。否则 prompt injection 一来,agent 就把你服务器上的 ~/.ssh/ 上传到公网了。

最低限度:绝不在生产服务器主进程里 eval() agent 输出。即使是看起来无害的 os.path.join。

3.3.3 LLM 网关(LLM Gateway)

把”调用 LLM”从你的业务代码里抽离到独立的网关层,统一处理:路由、fallback、缓存、限流、计费、观测、密钥管理。2026 年主流方案 [37][38]:

网关 模式 主打能力 适用
LiteLLM 开源 Python 代理 100+ LLM 统一 OpenAI 兼容接口、自托管 中小团队、自托管偏好
Portkey 商用 + 自托管 语义缓存、guardrails、企业级观测 企业生产
OpenRouter SaaS marketplace 一个 API key 200+ 模型,按需付费 创业 / prototype
Helicone AI Gateway 开源 + SaaS Rust 实现高性能、健康感知路由 + 熔断、原生观测 高并发生产
Cloudflare AI Gateway SaaS(边缘) 全球边缘缓存、零运维 已用 Cloudflare 栈

关键能力:

注意 [37]:2026 年 LLM proxy 生态出过两件大事——Helicone 被收购、LiteLLM 被检测出依赖供应链问题。“在生产环境运行第三方 proxy”本身是个安全决策,企业级建议自托管 + 锁版本。

3.3.4 推理服务器(Inference Server)

如果你自部署模型(开源 7B-70B 或自家训的),推理服务器决定了吞吐和成本。2026 年的状态 [39][40]:

选型经验:纯文本 LLM 推理 → SGLang(多轮 / agent 场景)或 vLLM(通用 / 简单 single-turn);多模态混跑 → vLLM 或 Triton。

3.3.5 可观测性(Observability)

LLM 应用的 trace 比传统服务复杂得多——一次请求可能涉及多次 LLM 调用、多次工具调用、多次检索、多次 reranker、多个 sub-agent。2026 年主流 [33][34]:

平台 类型 强项 License
Langfuse 开源 + 云 多租户、ClickHouse 高吞吐、6M+ 月 SDK 安装 MIT
LangSmith 商用(LangChain) LangChain 原生集成、可视化 graph、CI eval 商用
Helicone 开源 + 云 proxy 架构(一个 URL 改动就接入)、cost & latency 分析 开源 + 云
Arize Phoenix 开源 RAG pipeline 强(向量空间可视化、retrieval drift) ELv2
Comet Opik 商用 session replay、prompt management 商用
Braintrust 商用 全 lifecycle(dataset → score → CI gating) 商用

实战 [33][34]: - 想要功能完整 + 自托管 → Langfuse - 已用 LangChain → LangSmith(自动集成) - 不想改 SDK,只想接个 proxy → Helicone - 重点是 RAG → Arize Phoenix(retrieval drift 可视化是它的看家本领)

很多团队最后落到”两个工具组合”:一个 OSS 平台(Langfuse / Phoenix)做开发与 dashboard,一个 proxy 网关(Helicone)做生产流量观测。

3.3.6 评估(Evaluation)

LLM 应用没有传统单元测试那种”输入 X 必须输出 Y”的硬约束。评估的核心问题是”模型回答是好回答吗”,这又分两类 [35]:

2026 年主流框架 [35]:

框架 特点 适用
DeepEval 50+ 指标、pytest 集成、agent 评估 工程团队 CI
RAGAS RAG 专精:faithfulness、context precision、recall、answer relevancy RAG 系统
Promptfoo 红队 + CI、零云依赖、prompt 对比 prompt 迭代 + 安全测试
Braintrust 全 lifecycle 平台、CI release gate 企业
OpenAI Evals 官方框架 OpenAI 生态

LLM-as-Judge 是 2024 起的核心范式:用更强的 LLM(通常是 GPT-4 / Claude Opus)对 agent 输出打分。要点:判官模型必须强于被测模型;prompt 要给清楚 rubric;判官也会有 bias(偏向自己家模型、偏向长答案)。

实战 [35]:「你几乎一定需要两个工具——一个轻量框架(DeepEval / RAGAS / Promptfoo)做 CI/CD gating,一个平台(Braintrust / LangSmith / Arize)做人工标注、回归追踪、stakeholder dashboard。」

3.3.7 护栏(Guardrails)

LLM 是不可信组件。它会幻觉、会被注入、会泄密、会生成有害内容。护栏是放在 LLM 输入和输出两侧的”过滤层”。2026 年主流:

合规驱动:EU AI Act 高风险义务从 2026 年 8 月 2 日生效 [36],对医疗、教育、招聘、金融、关键基础设施等场景的 AI 系统提出强制护栏要求。OWASP Top 10 for LLM Applications 已成为业界标准的风险分类。

实战配置 [Atlan 2026]: - 输入侧:prompt injection 检测 + PII 过滤 + 主题白名单 - 检索侧:检索结果按敏感度分级,敏感内容不进 LLM - 输出侧:PII / 敏感词检测、事实性验证、JSON schema 校验、长度 / 速率限制 - 审计侧:所有”被护栏拦下”的请求记录,定期 review

3.4 Agent 编排框架

把上面的组件拼成”一个 agent”需要编排框架。2026 年主流:

新项目通用建议 [Vinod Rane 2026]: - Python + 复杂 workflow → LangGraph - TypeScript / Next.js → Mastra 或 Vercel AI SDK - 多 agent 协作 / 头脑风暴模式 → AutoGen 或 CrewAI - 极简 + 教学 → Smolagents

3.5 完整生产栈参考架构

把所有组件串起来,2026 年一个”教科书式”的生产 agent 系统大致是这样:

                ┌──────────────────────────┐
                │   用户 / 前端 / API Client │
                └────────────┬─────────────┘
                             │
                ┌────────────▼─────────────┐
                │   API Gateway / Auth     │
                └────────────┬─────────────┘
                             │
                ┌────────────▼─────────────┐
                │   Guardrail(输入侧)    │  ← prompt injection / PII
                └────────────┬─────────────┘
                             │
                ┌────────────▼─────────────┐
                │   Agent Orchestrator     │  ← LangGraph / AutoGen
                │   (ReAct / Plan-Execute)│
                └─┬────┬────┬─────────────┘
                  │    │    │
       ┌──────────▼┐ ┌─▼──┐ ┌▼──────────────┐
       │  Memory   │ │RAG │ │  Tools (MCP)  │
       │ (Letta /  │ │    │ │  Sandbox(E2B) │
       │  mem0)    │ │    │ │               │
       └─────┬─────┘ └─┬──┘ └─┬─────────────┘
             │         │      │
             └─────────┼──────┘
                       │
                ┌──────▼─────────┐
                │  LLM Gateway   │  ← LiteLLM / Portkey
                │  路由 / 缓存   │     语义缓存 / fallback
                └──────┬─────────┘
                       │
              ┌────────┼─────────┬──────────┐
              ▼        ▼         ▼          ▼
        ┌────────┐┌────────┐┌────────┐┌────────────┐
        │ OpenAI ││Anthropic││ Google ││ vLLM/SGLang│
        │  API   ││  API    ││  API   ││ 自部署 OSS │
        └────────┘└────────┘└────────┘└────────────┘

          全程旁路:Observability(Langfuse / Helicone)
                     Evaluation(DeepEval / Braintrust)
                     Guardrail(输出侧 NeMo / Guardrails AI)

每个箭头都是一个”被驾驭”的接口。错一次,加一条 rule、一个 eval case、一个 guardrail 规则——这就是 harness engineering 的日常。


Synthesis & Insights:三层演进的全貌

时间叙事

把过去四年的行业焦点拉成时间轴:

三者的层次关系

不是替代而是叠加。一个生产级 agent 三层都需要:

类比软件工程: - prompt = 你写的那个具体函数 - context = 这个函数运行时能访问的数据 + 依赖 - harness = 整个工程的 CI / CD / 监控 / 测试 / 发布流程

工程师能力栈的迁移

2022 年最值钱的 LLM 工程师能力是”能调出模型最佳输出的 prompt 直觉”。 2024 年最值钱的能力是”能架一套 RAG 让公司所有文档可问”。 2026 年最值钱的能力是”能搭一套 agent harness 让多个 agent 在生产 7×24 跑而不出大事故”。

注意这条迁移线不是终点,下一站很可能是”能把多个 agent harness 联邦化的协议工程师”——A2A 协议生态成熟、多公司 agent 互操作的时代。

跨三层的 7 个共性原则

不管是 prompt、context 还是 harness,工程实践都遵循一些共性原则:

  1. 测量先于优化:没有 eval 数据、没有 dashboard、没有 baseline,所有”提升”都是幻觉
  2. 简单优先:80% 的任务用 baseline 方案够了;只在 baseline 失败的地方加复杂度
  3. 可观测压倒一切:trace、log、metric 三件套是生产 agent 的氧气
  4. 防御性编程:假设模型会幻觉、会被注入、会超时、会断网
  5. 可逆设计:每一步都能回滚,每个组件都能换掉
  6. 成本意识:每个决策都问”这一步多少 token / 多少 USD / 多少毫秒”
  7. 演进式迭代:先 prompt → 不够加 context → 不够加 harness。不要从 day 1 就建复杂栈

Recommendations:三类典型场景的选型清单

场景一:个人学习 / 周末项目

目标:理解原理 + 跑通端到端 预算:API 几美元,硬件用现有

组件 推荐
LLM OpenAI GPT-4o-mini 或 Claude Haiku(便宜+够用)
Prompt 框架 直接用 Anthropic / OpenAI SDK,不用 LangChain
RAG LlamaIndex(API 友好)或 LangChain RAG quickstart
Embedding OpenAI text-embedding-3-small(最便宜)
Vector DB Chroma(嵌入式,零运维)
Agent LangGraph(学完后通用)
观测 Langfuse Cloud 免费 tier

直接抄 LangChain / LlamaIndex 官方 cookbook 改改就跑。

场景二:创业 MVP / 小团队产品

目标:尽快上线 + 可演进 预算:每月几百 USD

组件 推荐
LLM OpenRouter(一个 key 接所有模型,按需切换)
Prompt 管理 Promptfoo(CI gate) + LangSmith(观测)
RAG LlamaIndex / LangGraph
Embedding Voyage 3 large(中文场景)或 OpenAI text-3-large
Vector DB Qdrant Cloud(性价比 + 企业级)
记忆 Mem0(最快接入)
Agent LangGraph
LLM 网关 LiteLLM 自托管(Docker 一行起)
观测 Langfuse 自托管
评估 Promptfoo + RAGAS
护栏 Guardrails AI(轻量)

总成本:服务器 ~$100/月 + LLM 按量。

场景三:企业生产 / 合规敏感

目标:稳定、可观测、合规、可审计 预算:六位数月度

组件 推荐
LLM 多 provider 冗余 + 自部署 OSS(敏感数据)
自部署推理 SGLang(多轮 / agent)+ vLLM(单轮 / 高吞吐)
Prompt 管理 LangSmith / Braintrust
RAG 自研 modular pipeline + Cohere Rerank
Embedding Cohere embed-v4 + BGE-M3 双部署
Vector DB Milvus 集群 / pgvector(已有 Postgres)
记忆 Zep(用户状态)+ Letta(持续 agent)
Agent LangGraph 主、AutoGen 多 agent 协作
LLM 网关 Portkey 自托管(语义缓存 + 企业级控制)
观测 Langfuse 自托管 + Arize Phoenix(RAG)
评估 Braintrust(lifecycle)+ DeepEval(CI)
护栏 NeMo Guardrails + Lakera Guard(注入检测)
合规 EU AI Act 2026-08 高风险义务、SOC2、HIPAA(视行业)

通用建议:无论哪种场景,从 day 1 就接观测。Langfuse 接入零成本,没接的代价是 6 个月后做不出任何”为什么这个 query 失败了”的根因分析。


Limitations & Caveats

  1. 行业仍在快速演化:本文截至 2026-05-01。MCP、Agent Skills、A2A 协议、推理服务器都在数月级别迭代,6 个月后细节可能过时
  2. 基准数据有作弊空间:MTEB、RULER、reranker ELO 都存在 cherry-pick 风险。生产前必须在自己业务数据上重测
  3. “驾驭工程”作为术语仍年轻:2026-02 才被正式命名,社区共识还在形成。本文采用 Hashimoto / Augment Code / Atlan / Adnan Masood 等 ≥4 个独立来源都引用的描述,但术语边界仍可能漂移
  4. 未覆盖:模型推理数学(attention 推导、loss 函数)、具体业务案例 ROI、提示词攻击 / 越狱的详细技术目录、监管细节(EU AI Act 全文)
  5. 评分有主观成分:选型表里的”推荐”基于公开评测 + 社区共识 + 笔者实战偏好,不构成对所有场景的最优解
  6. 付费 vs 开源:本文偏向开源方案介绍。商业 SaaS 在很多场景的”零运维”价值未被充分体现
  7. 中文场景特殊性:中文 embedding / RAG / 模型选型与英文场景有差异。本文给出的推荐已尽量考虑中文场景,但具体业务(金融 / 法律 / 医疗)的中文 NLP 仍需领域 fine-tune

Bibliography

论文 / 学术资源

[1] Vaswani, A. et al. (2017). Attention Is All You Need. NeurIPS. https://arxiv.org/abs/1706.03762 [2] Liu, N. F. et al. (2024). Lost in the Middle: How Language Models Use Long Contexts. TACL. [3] Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. NeurIPS. [4] Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. ICLR 2023. [12] Hsieh, C. et al. (2024). RULER: What’s the Real Context Size of Your Long-Context Language Models? https://arxiv.org/abs/2404.06654 [16] Asai, A. et al. (2023). Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection. [18] Packer, C. et al. (2023). MemGPT: Towards LLMs as Operating Systems. [19] Mem0 Team (2025). Mem0: Building Production-Ready AI Agents with Scalable Long-Term Memory. https://arxiv.org/abs/2504.19413 [26] Hu, E. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. [27] Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs.

业界文章 / 官方博客

[5] Karpathy, A. Software Is Changing (Again). YC AI School talk. [6] Anthropic. Effective Context Engineering for AI Agents. https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents [7] LangChain. Context Engineering for Agents. https://www.langchain.com/blog/context-engineering-for-agents [8] Hashimoto, M. / Augment Code (2026). Harness Engineering for AI Coding Agents. https://www.augmentcode.com/guides/harness-engineering-ai-coding-agents [9] Wikipedia. Model Context Protocol. https://en.wikipedia.org/wiki/Model_Context_Protocol [10] vLLM Blog (2025). Inside vLLM: Anatomy of a High-Throughput LLM Inference System. https://blog.vllm.ai/2025/09/05/anatomy-of-vllm.html [11] Runpod Blog. When to Choose SGLang Over vLLM. https://www.runpod.io/blog/sglang-vs-vllm-kv-cache [21] Anthropic. Memory tool docs. https://docs.anthropic.com [22] Raschka, S. State of LLMs 2025. https://magazine.sebastianraschka.com/p/state-of-llms-2025 [23] llm-stats. Post-Training in 2026: GRPO, DAPO, RLVR & Beyond. https://llm-stats.com/blog/research/post-training-techniques-2026 [24] HuggingFace Blog. Guide to RL Post-Training: PPO, DPO, GRPO. https://huggingface.co/blog/karina-zadorozhny/guide-to-llm-post-training-algorithms [25] Introl. Fine-Tuning Infrastructure: LoRA, QLoRA, PEFT at Scale. [28] PromptingGuide.ai. CoT / ReAct sections. https://www.promptingguide.ai [29] Pillitteri, P. Prompt Engineering 2026: The Frameworks That Actually Work. https://pasqualepillitteri.it/en/news/1090/prompt-engineering-2026-frameworks-complete-guide [30] BrightCoding. Prompt Engineering Guide. https://www.blog.brightcoding.dev [31] Atlan. What Is Harness Engineering AI? The Definitive 2026 Guide. https://atlan.com/know/what-is-harness-engineering/ [32] Masood, A. (2026). Agent Harness Engineering — The Rise of the AI Control Plane. Medium. https://medium.com/@adnanmasood/agent-harness-engineering-the-rise-of-the-ai-control-plane-938ead884b1d [33] Spheron Blog. LLM Observability on GPU Cloud (2026). [34] Confident AI. Top 10 LLM Observability Tools to Evaluate & Monitor AI in 2026. [35] Confident AI. Top 7 LLM Evaluation Tools in 2026. [36] NVIDIA. NeMo Guardrails Documentation. https://docs.nvidia.com/nemo/guardrails/latest/index.html [37] Helicone Blog. Top 5 LLM Gateways. https://www.helicone.ai/blog/top-llm-gateways-comparison-2025 [38] PkgPulse. Portkey vs LiteLLM vs OpenRouter: LLM Gateway 2026. [39] PreMAI Blog. LLM Inference Servers Compared: vLLM vs TGI vs SGLang vs Triton (2026). [40] Runpod Blog. SGLang vs vLLM. [41] Tianpan. Long-Context Models vs RAG: When the 1M-Token Window Is the Wrong Tool. [42] BAAI. BGE-M3 model card. https://huggingface.co/BAAI/bge-m3 [43] Squirro / 多源. RAG in 2026: Bridging Knowledge and Generative AI.

框架 / 协议官方资源


Methodology Appendix

调研设计

18 路检索清单

  1. prompt engineering 2026 best practices Anthropic OpenAI techniques chain of thought ReAct
  2. context engineering definition Karpathy Anthropic 2025 2026 LLM
  3. harness engineering LLM agent infrastructure Karpathy 2026
  4. transformer architecture attention mechanism scaling laws 2017 to 2026 evolution
  5. RAG state of the art 2026 GraphRAG Agentic RAG Self-RAG CRAG
  6. vector database comparison 2026 Pinecone Weaviate Qdrant Milvus pgvector benchmark
  7. embedding models 2026 BGE Cohere Voyage Jina OpenAI text-embedding benchmark MTEB
  8. LLM memory systems MemGPT Letta mem0 Zep Anthropic memory tool 2026
  9. RAG reranker 2026 Cohere rerank BGE cross-encoder ColBERT hybrid search benchmark
  10. long context vs RAG 2026 1M tokens lost in the middle needle haystack RULER
  11. MCP Model Context Protocol A2A agent to agent function calling 2026
  12. LLM observability LangSmith Langfuse Helicone Arize Phoenix 2026 comparison
  13. LLM evaluation 2026 LLM-as-judge RAGAS DeepEval Promptfoo Braintrust framework
  14. LLM guardrails NeMo Guardrails AI 2026 jailbreak prevention prompt injection
  15. LLM gateway LiteLLM Portkey OpenRouter Helicone 2026 routing fallback caching
  16. vLLM SGLang TGI inference server 2026 prompt caching speculative decoding KV cache
  17. LLM training pretraining post-training SFT DPO GRPO RLHF RLAIF 2026 methods
  18. LoRA QLoRA PEFT fine-tuning 2026 vs full fine-tune distillation

Phase 4 TRIANGULATE — 跨多源验证的关键 claim

所有进入正文的关键事实都至少有 2 个独立来源支持:

Claim 至少 2 源支持
Karpathy 命名 “context engineering”,YC AI School 演讲 Anthropic 官方 + IntuitionLabs + FlowHunt + LangChain
Mitchell Hashimoto 2026-02 命名 “harness engineering” Augment Code + MadPlay + Atlan + Adnan Masood
MCP 2024-11 由 Anthropic 发布、2025-12 转 Linux Foundation、2026-02 SDK 月下载 9700 万 Wikipedia + a2a-mcp.org + Pockit + EssaMamdani
Lost-in-the-Middle U 形召回曲线 TACL 2024 + 多篇 2026 综述
Gemini 1.5 Pro 99.7% needle 但 ~60% 多事实召回 Tianpan + LongContext + RAG 论文
长上下文比 RAG 慢 30-60x、贵 1250x Tianpan + 同类生产数据帖
TGI 2025-12 进入 maintenance mode PreMAI + SitePoint
vLLM PagedAttention <4% 显存碎片 vLLM 官方博客 + 多篇综述
SGLang RadixAttention 在 conversational 工作负载比 vLLM +10-20% Runpod + SGLang 官方
Speculative decoding 1.3-2x,acceptance≥0.7 vLLM 文档 + 多篇评测
Cohere embed-v4 65.2 MTEB(当前榜首) pecollective + reintech + Mixpeek
Voyage 3 large 比 OpenAI text-3-large 高 ~10% TokenMix + Cheney Zhang
Hybrid + reranker 比 semantic-only +9.3pp MRR LanceDB benchmark + dev.to
Self-RAG 减少 25-40% 不必要检索 Squirro + 综述
Langfuse 6M+ 月 SDK 安装 Langfuse 官方 + Spheron
Full FT 7B = 100-120GB VRAM, QLoRA 7B = ~6GB Introl + Mercity + RedHat
QLoRA 80-90% 质量 vs Full FT Introl + RedHat
GRPO 是 DeepSeek-R1 核心算法 llm-stats 2026 + Sebastian Raschka 综述
EU AI Act 高风险义务 2026-08-02 生效 NVIDIA NeMo docs + 多篇合规文章

Phase 6 CRITIQUE — 红队复核

Phase 8 PACKAGE

复现命令

ls -la ~/Documents/Prompt_Context_Harness_Engineering_Article_20260501/
wc -m ~/Documents/Prompt_Context_Harness_Engineering_Article_20260501/article.md

术语速查表

答案中以 [术语] 标记的概念都可点击跳到本表对应条目并自动展开。本表按 10 个主题分组收录 60+ 高频术语,默认全部收起——遇到不熟的术语再展开看精要解释,避免被信息淹没。

软件工程基础

lint 软件工程 — 静态代码检查工具,扫描源码找潜在 bug 与风格问题

不实际运行代码的情况下分析源码,识别潜在 bug、未使用变量、风格违规、可疑用法。常见工具:

在 Agent 工程中,lint 经常被用作 harness 的硬约束——把 lint 错误反馈给模型重写代码,比单纯在 prompt 里说"请遵守编码规范"可靠得多(Augment Code 把这叫做 Constraint Harness)。

type check / 类型检查 软件工程 — 验证变量、参数、返回值类型是否匹配

确保代码中变量赋值、函数调用的类型一致:

对 Agent:让 agent 写完代码后强制跑 tsc --noEmit / mypy . / cargo check,类型错误作为反馈喂回模型继续修。比让 agent 自己"声明检查过类型"可靠得多——这是 harness 工程的典型做法。

CI/CD 软件工程 — 持续集成 / 持续部署流水线

CI(Continuous Integration):每次代码提交自动跑测试、构建、lint、type check 等校验。
CD(Continuous Deployment):通过校验后自动部署到测试 / 预发 / 生产环境。

常见工具:GitHub Actions、GitLab CI、Jenkins、CircleCI、Buildkite。

在 Agent 工程里,CI 是最重要的 deterministic 反馈源——LLM 自评不可靠,但 CI 通过/失败是 0/1 信号,可以直接作为 ground truth。Hashimoto 的 harness engineering 强调"能不能解决问题强相关于 agent 能不能验证自己的工作"。

sandbox / 沙箱 软件工程 — 隔离的代码执行环境,限制对外部资源的访问

让不可信代码(用户上传、LLM 生成)在受限环境中跑,防止破坏宿主系统。隔离强度从弱到强:

Agent 跑用户/LLM 生成代码必须沙箱,并叠加纵深防御:网络出口白名单 + 文件系统只读 + 时间/内存配额 + 不挂载 host 凭据。

canary / 金丝雀发布 软件工程 — 先给少量流量上新版本,观察无异常再全量

来自煤矿用金丝雀检测毒气的典故。部署流程典型为:shadow(双跑不返回)→ 1% → 5% → 25% → 50% → 100%,每阶段观察核心指标无回归才推进。

对 LLM 应用:新 prompt / 新模型 / 新 agent harness 上线必走 canary,关键指标(解决率、CSAT、refusal 率、p99 延迟、单次成本)任何一个恶化 > 阈值就回滚。LLM 应用的"非确定性"特性让 canary 比传统软件更重要。

A/B test 软件工程 — 对照试验,把流量切成两组分别用新旧版本,比较关键指标差异

按 user_id hash 切流量保证一个用户始终进同一桶(避免体验跳变)。判定要素:

LLM 应用调 prompt / 换模型 / 改 RAG 都应过 A/B;只靠 offline eval 上线常翻车(线上流量分布与黄金集差异大)。

GMV / UV / CSAT / NPS / 转化率 业务指标 — 电商 / 旅行 / 客服业务最常用的几个北极星指标

业务侧验收 Agent 是否上线最看的几个指标:

Agent 工程关注:把模型 / prompt / RAG 改动放进 A/B 看这些业务指标,而非只看离线 benchmark 分数。改动让 benchmark 涨但 GMV / CSAT 跌的情况非常常见。

HITL / human-in-the-loop 软件工程 — 关键决策点引入人工审核 / 确认

Agent 自治走到关键节点时暂停等待人工:

设计原则:"Humans steer. Agents execute."(OpenAI Harness Engineering)。Agent 不是替代人,是放大人的判断——把人放在制定计划、设定约束、审核结果的位置,agent 处理执行。

SLO / SLI / SLA / Error Budget 软件工程 — 服务质量的"目标 / 指标 / 合约 / 预算"四件套,来自 SRE

Google SRE 体系定义的四个术语:

Agent 应用怎么用:

  1. 每个 Agent 场景定 1-3 个 SLO:如"客服 Agent 解决率 SLO = 85%"、"p99 端到端延迟 SLO ≤ 5s"、"单任务平均成本 SLO ≤ $0.05"
  2. 触发告警:实时 SLI 跌破 SLO 80% 警告,跌破 SLO 直接 page oncall
  3. 冻结发布:error budget 烧完了,禁止合并非紧急修复
  4. 业务 SLO vs 技术 SLO:业务 SLO(转化率 / CSAT / GMV)属于产品验收,技术 SLO(延迟 / 错误率 / cost)属于工程兜底,两层都要

经验法则:SLO 不是越严越好——99.99% 比 99.9% 贵 5-10 倍,且大概率超过用户感知阈值。Google 建议"刚刚够用户不抱怨"的水位。

TTL / Time To Live 软件工程 — 数据 / 缓存 / 凭据的有效期

到期自动失效。常见用法:

LLM 基础概念

token LLM 基础 — LLM 的最小输入/输出单位,由 tokenizer 切分得到

经验换算:1000 英文单词 ≈ 1300 token;1000 汉字 ≈ 1500-2000 token。

为什么重要:context window、API 计费、推理速度都按 token 算。控制 token 数 = 控制成本和延迟。Anthropic / OpenAI / Google 各自的 tokenizer 不同,相同文本 token 数差 ±20% 很常见。

embedding LLM 基础 — 把文本/图片映射为高维稠密向量,语义相近的向量距离近

文本 → 神经网络 → 一个 768 / 1024 / 1536 / 3072 维的浮点数向量。同义词 / 同主题文本的向量在空间中距离近(cosine similarity 高)。

主要用途:

主流模型 2026:OpenAI text-embedding-3-large、Cohere v4、Voyage-3、BGE-M3(开源 SOTA,中英双语 + dense/sparse/multi-vector 三合一)。

context window / 上下文窗口 LLM 基础 — 模型单次能处理的 token 上限

包含 system prompt + 历史对话 + 用户输入 + 模型输出,所有都计算在内。2026 主流模型:

注意:宣称窗口 ≠ 有效窗口。RULER 基准显示多数模型在窗口 1/4 之外性能急剧下降(Lost in the Middle)。工程建议把"应当塞入 context"的阈值定在 8-32k,更长走 RAG 或层级摘要。

prefill / decode LLM 基础 — LLM 推理的两阶段:处理输入 → 逐 token 生成

两个阶段瓶颈不同,调优策略也不同——prefill 优化靠并行 / FlashAttention,decode 优化靠 continuous batching / speculative decoding。

KV cache LLM 基础 — 注意力中已计算过的 K (Key) / V (Value) 矩阵缓存

生成第 t 个 token 时需要前面所有 token 的 K/V 参与注意力计算。把它们缓存下来避免每次重算,是 LLM 推理的最基础优化。

显存占用:2 × num_layers × num_heads × head_dim × seq_len × batch × bytes_per_elem。70B 模型上 128k 上下文的 KV cache 可达数十 GB,远超模型权重本身。

进阶优化:

autoregressive / 自回归 LLM 基础 — 一次生成一个 token,下一个 token 的生成依赖前面所有 token

GPT 类 decoder-only 模型的生成方式:P(x_t | x_1, ..., x_{t-1})。每生成一个 token 都要跑一次完整 forward(虽然能复用 KV cache),所以输出长度直接决定延迟。

对比:BERT 是非自回归(masked LM,一次预测所有 mask 位置),扩散模型(diffusion)也是非自回归(一次去噪整段)。

自回归的代价催生了大量加速技术:speculative decoding、parallel decoding、Medusa、EAGLE 等。

logit LLM 基础 — 模型输出的原始未归一化得分,每个词汇表 token 一个值

decoder 最后一层输出 [vocab_size] 维的 logit 向量;过 softmax 后得到下一个 token 的概率分布。

工程上能拿到 logit(或 top-k logprob)的场景:

注意:OpenAI / Anthropic 商用 API 默认只返回采样结果,需显式开 logprobs 选项。

temperature LLM 基础 — 控制采样随机性的超参数,0 = 确定性,>1 = 高随机

P(token) ∝ exp(logit / T):

何时调高:Self-Consistency 需要多样路径、creative writing、brainstorm。
何时调低:代码生成、数学推理、严格格式输出,T=0.1-0.3。

陷阱:T=0 不完全等同 deterministic——浮点 GPU 算子的非确定性 + 并发调度可能让相同 prompt 的输出仍有微差。

attention sink LLM 基础 — 模型把大量注意力集中到序列开头几个 token 的现象

Xiao et al. 2023 发现:长序列推理时,靠后的 token 往往把不成比例多的注意力分给了序列最前面的几个 token(即使它们语义无关)——这些 token 成为"sink",吸收掉 softmax 必须分配的归一化质量。

工程意义:

Transformer 架构

LayerNorm / RMSNorm 架构 — Transformer 主流归一化层,沿 feature 维度对单样本归一化

LayerNorm:y = (x - μ) / σ * g + b,沿 hidden 维度求均值方差。与 batch 无关,天然支持变长序列与单条推理——这是 Transformer 选 LayerNorm 而非 BatchNorm 的原因。

RMSNorm(Zhang & Sennrich 2019):y = x / sqrt(mean(x²)+ε) * g,去掉减均值和 bias。Llama / PaLM / Mistral 等现代 LLM 几乎都改用 RMSNorm,省 7-64% 归一化耗时且效果不降。

Pre-LN vs Post-LN:LN 在残差前做(Pre-LN)训练比放残差后(Post-LN)稳定,可去掉 warmup,GPT-2 起几乎统一用 Pre-LN。

RoPE / Rotary Position Embedding 架构 — 旋转位置编码,把位置信息编码进 Q/K 旋转矩阵

Su et al. 2021。把位置 m 表示为旋转矩阵 R_m 作用在 Q/K 上,使得 <R_m·q, R_n·k> = f(q, k, m-n)——注意力得分只依赖相对距离。

优点:(1) 无额外参数;(2) 天然编码相对位置;(3) 可与线性注意力兼容。已成 Llama / Qwen / Mistral 等绝大多数现代 LLM 的位置编码方案。

外推问题:纯外推 2k→32k 会崩——高频分量旋转角度落入未见区域。缓解:

NTK-aware scaling / YaRN 架构 — RoPE 长度外推方案,让 2k 训练的模型能跑 32k / 128k context

RoPE 纯外推会崩——高频分量在训练上下文外旋转角度落入未见区域。两种工程化方案:

主流应用:

经验数字:YaRN 在 4× 上下文扩展(2k→8k 或 32k→128k)几乎无损;8× 以上仍有性能下降。极致长上下文(1M+)通常需要重训而非仅靠 YaRN。

GQA / MQA 架构 — Grouped/Multi Query Attention,多个 Q 头共享同一组 K/V 头

标准 multi-head attention:H 个头各有独立 Q/K/V。

收益:KV cache 减小到 1/8 ~ 1/H,推理吞吐显著提升,效果几乎无损。Llama-2 70B / Llama-3 / Mistral / Qwen2 等都用 GQA。

MoE / Mixture of Experts 架构 — 混合专家模型,每个 token 只激活部分 expert FFN

把传统 dense FFN 换成 N 个并行的 expert FFN + 一个 router。每个 token 通过 router 选 top-k 个 expert(k 通常 1-2),只激活这部分 expert 计算。

优点:参数量大、算力省。Mixtral 8x7B 总参数 47B,激活参数仅 13B;DeepSeek-V3 671B 总参数,激活仅 37B。同等推理成本下 capacity 远超 dense 模型。

挑战:(1) 训练时负载均衡(防一两个 expert 被过度使用);(2) 显存占用按总参数计而非激活参数;(3) 通信开销大(expert parallelism)。

multi-head attention / 多头注意力 架构 — 把 d_model 拆成 h 份独立投影 Q/K/V,每头学不同子空间的关系

单头注意力对每对 token 只产生一个 attention 分布——一种"关系视角"。多头(h=8/32/64/128)让模型同时学多种关系——句法头关注短距离依赖,语义头关注共指、远程实体。

为什么单头加大维度不行:多头是 h 个低秩注意力的混合,表达能力严格更强;单头是一个高秩注意力,自由度反而少。

进阶变体:GQA / MQA 在 KV 侧减头省显存,Q 侧仍保多头。

推理加速

FlashAttention 推理加速 — 通过 tiling + online softmax 不实例化完整 attention 矩阵的 attention 计算

Dao 2022。标准 attention 显存 O(N²)(要存 N×N 的 attention matrix),长序列瓶颈。FlashAttention 把 Q/K/V 分块加载到 GPU SRAM 计算,不写出完整 attention matrix,显存降到 O(N),速度也快——attention 是 memory-bound,少读 HBM 就快。

演进:

PagedAttention 推理加速 — vLLM 提出,把 KV cache 像 OS 虚拟内存一样切成固定大小 block 管理

Kwon et al. 2023。解决传统推理 KV cache 的三类碎片问题:

机制:KV cache 切成固定大小 block(如 16 token),每个序列维护 block table(逻辑→物理映射)。显存利用率从 ~20% 提到 >96%;同 prompt 多采样共享前缀 block;配合 continuous batching 吞吐相对 HuggingFace TGI 提升 2-4×,相对 FasterTransformer 24×。

vLLM 推理加速 — UC Berkeley 开源的高吞吐 LLM 推理引擎,实现 PagedAttention

2023 年起的事实标准开源推理服务器。核心特性:

对比:TGI(HuggingFace)、TensorRT-LLM(NVIDIA,私有更快)、SGLang(前缀复用更彻底)、LMDeploy(OpenCompass 出品)。

continuous batching 推理加速 — 按 token 级别动态调度,请求结束即退出、新请求随时插入

也叫 in-flight batching,Yu et al. ORCA 2022 提出。对比 static batching(等齐 batch 再一起跑,长短请求混在一起时 GPU 利用率经常 <30%),continuous batching:

vLLM 数据:吞吐相比 static 提升 5-23×。已成所有现代推理引擎的默认。

speculative decoding 推理加速 — 小 draft 模型快速猜 K 个 token,大模型一次 forward 并行验证

Leviathan et al. 2023。流程:

  1. 小 draft model(1-7B)自回归生成 K 个 token(K=5 典型)
  2. 大 target model(70B+)一次 forward 并行验证 K+1 个位置
  3. 前 j 个被接受 + 第 j+1 个拒绝 → 保留前 j 个 + 采样一个新 token

数学上保证输出分布与原模型完全一致(rejection sampling)。

收益条件:(1) draft 与 target 分布相似(接受率 >60%);(2) 大模型受 memory bandwidth 限制,并行验证不增延迟。代码生成接受率 70-90%,开放生成 30-50%。变体:EAGLE-2/3、Medusa、Llama 3.1 self-speculative。

prefix caching 推理加速 — 跨 request 缓存相同前缀的 KV cache,跳过 prefill 重新计算

KV cache 是单 request 内复用;prefix caching 是跨 request 复用——多个 request 共享 system prompt / few-shot / agent 历史时,首次计算后缓存这部分 KV,后续 request 直接命中跳过 prefill。

效果:agent / RAG / 多轮对话场景,system prompt 通常 1-4k token、几乎所有请求共享,TTFT 可下降 10-100×。

实现:vLLM --enable-prefix-caching、SGLang RadixAttention(用 radix tree 自动管理所有历史前缀)、Anthropic prompt caching API(5min TTL,cached 部分 0.1× 价格)。

TTFT / Time to First Token 推理加速 — 从 request 发出到第一个 token 返回的延迟

主要由 prefill 决定(处理 input 所有 token)。计费、监控的核心指标之一。

降低 TTFT 的手段:

伴生指标:TBT(time between tokens,单 token 间隔)— 由 decode 决定。

量化

FP16 / BF16 / FP8 量化 — 低精度浮点格式,省显存省算力

混合精度训练:权重和梯度用 BF16/FP16,optimizer state 仍用 FP32。

INT4 / INT8 / NF4 量化 — 整数量化,把 FP16 权重压到 4/8 bit 整数

部署阶段把权重量化到低 bit 整数,推理时反量化回浮点计算。

INT8 / INT4 量化通常需要校准集(128-512 样本),AWQ 更智能(保护 1% salient 通道)。极致显存场景再用 GGUF(llama.cpp 格式)+ 3-bit / 2-bit 量化跑手机端。

AWQ / Activation-aware Weight Quantization 量化 — 保护 1% salient 通道的 INT4 权重量化

Lin et al. 2023。核心洞察:只需保护 ~1% 的"重要权重通道"(由激活幅值识别)即可保住精度。对这些通道按 per-channel scale 放大再量化。

对比 GPTQ:实现更简单,Llama-2 上困惑度更低,已成 vLLM / TensorRT-LLM 默认。

GPTQ 量化 — 较早的 post-training 4-bit 权重量化

Frantar 2022。用 OBQ 启发的逐层最小化量化误差,需要少量校准集(128 样本)。优点:早、生态全(exllama / vllm / TGI 都支持);缺点:对激活分布敏感,重要通道可能被压坏。

2026 部署选型:H100/H200 → FP8;A100/3090 → AWQ INT4;手机/边缘 → INT4 + GGUF。

微调与对齐

SFT / Supervised Fine-Tuning 微调 — 监督微调,用 (prompt, response) 对数据训练模型

最基础的指令微调方式:把 (输入, 期望输出) 对当做监督学习样本,cross-entropy loss 教模型学指令跟随。

经验数据量:

LIMA 论文:1000 条精选样本即可让 65B base 接近 GPT-4 对话质量——质量 >> 数量。

LoRA / Low-Rank Adaptation 微调 — 冻结原权重,只训练低秩 adapter 矩阵

Hu et al. 2021。把权重更新分解为两个低秩矩阵 ΔW = BA(r=8/16/64),只训练这两个矩阵,可训参数减少 100-10000×。

显存:

优点:可训参数少 / 多个 adapter 可热切换 / 缓解 灾难性遗忘。

QLoRA 微调 — 4-bit 量化冻结权重 + LoRA adapter,单卡 24G 跑 65B 微调

Dettmers et al. 2023。三项关键:

  1. 4-bit NF4 量化冻结权重:7B 从 14GB 压到 ~4GB
  2. Double Quantization:把量化常数也量化,省 ~0.4 bit/param
  3. Paged Optimizer:NVIDIA unified memory,OOM 时溢出到 CPU

65B 模型 QLoRA 约 33GB,单 A100-48G 或双 RTX 3090 可跑。代价:训练慢 30-40%(反量化开销)。

RLHF 对齐 — Reinforcement Learning from Human Feedback,用人类偏好做 RL 训练

三步走:(1) SFT 训出 base policy;(2) 人类标注 (chosen, rejected) 偏好对训出 Reward Model;(3) 用 RM 给 policy 输出打分,PPO/RLOO/REINFORCE 等算法更新 policy。

InstructGPT、ChatGPT 让 RLHF 出圈。三大痛点:

催生了 DPO、GRPO、RLVR 等简化/改良方案。

RM / Reward Model 对齐 — 用人类偏好训出来的"打分模型",给 LLM 输出打分

RLHF 第二步训出。输入:(prompt, response),输出:一个 scalar reward。训练 loss 是 Bradley-Terry:让 RM 在 (chosen, rejected) 对上给 chosen 更高分。

常见弱点:

替代方案:DPO 完全去掉 RM,RLVR 用程序判定 reward。

DPO / Direct Preference Optimization 对齐 — 从数学上证明可以不用 RM、直接监督式优化偏好

Rafailov et al. 2023。证明:在 Bradley-Terry 偏好模型 + KL 约束下,最优 policy 有闭式解,可直接用偏好对 (chosen, rejected) 做监督式损失:

L_DPO = -log σ(β(log π(y_w)/π_ref(y_w) - log π(y_l)/π_ref(y_l)))

优势:(1) 无 RM / 无在线采样 / 无 critic,仅 policy + ref 两个模型;(2) 用 SFT 同样的训练栈;(3) 超参稳定。

劣势:严重依赖偏好数据质量;容易过拟合 chosen 的表面模式;reward hacking 风险大。

Llama-3、Qwen2 后训练主路径都是 DPO 或其变种(IPO、KTO、SimPO)。

PPO / Proximal Policy Optimization 对齐 — RLHF 经典算法,actor-critic + clipped objective

Schulman 2017。Actor 学策略,critic 学 value function 估计 advantage,clip 限制每步策略更新幅度防崩。

RLHF 中需同时载入 actor / ref / critic / reward 四个模型,显存 ≥4× 单模型。超参敏感(KL 系数、clip ratio、advantage 归一化),训练不稳定。

催生了 DPO(去 RL)、GRPO(去 critic)、RLOO(用平均 reward 当 baseline)等简化方案。

GRPO / Group Relative Policy Optimization 对齐 — DeepSeek 提出,去掉 critic,用组内 reward 均值做 baseline

DeepSeek-Math 2024 提出,R1 验证。核心创新:去掉 critic(value 网络),对同一 prompt 采样 G 个 response(典型 G=64),用组内 reward 的均值/标准差做 advantage 归一化:A_i = (r_i - mean(r)) / std(r),再做 PPO-like 的 clipped objective + KL 正则。

效果:

RLVR / RL with Verifiable Rewards 对齐 — 用程序判定的 0/1 reward 做 RL,无需 RM

在数学、代码、形式逻辑等可自动验证的任务上,直接用程序判定 reward:答案匹配、单测通过、定理证明器验证。

优势:

DeepSeek-R1、DAPO(ByteDance 开源 SOTA)都属此类。局限:仅适用可验证任务,开放对话仍需 RLHF / DPO。

catastrophic forgetting / 灾难性遗忘 微调 — 在新任务上微调后,原通用能力显著下降

机制:参数被新任务 loss 拉走,原本编码通用知识的方向被覆盖。

缓解组合(生产推荐):

进阶:EWC(按 Fisher 信息加权 L2 正则)、Model Souping(微调模型与原模型权重平均)、MoE 路由扩展。

提示词与推理范式

CoT / Chain of Thought 提示词 — 让模型先输出推理步骤再给答案

Wei et al. 2022。最简形式:"Let's think step by step"(Kojima 2022 zero-shot CoT)。

为什么有效:(1) 增加有效 compute(更多 forward step);(2) 把"系统 1"直觉答题转成"系统 2"分步推理;(3) 暴露错误推理便于 self-consistency 投票纠正。

是涌现能力,<10B 模型几乎无效。Long CoT(R1 / o1 用 RL 训出,含回溯/自我验证,数千 token 长)是 2025 的新范式。

ToT / Tree of Thoughts 提示词 — 把推理建模为树搜索,每步多候选 + 自评估 + 回溯

Yao et al. 2023。CoT 是线性单链,错了无法回头;ToT 每步生成多个候选 thought,LLM 自评估状态价值(promising / sure / impossible),BFS/DFS 展开可回溯剪枝。

Game of 24 上 GPT-4 CoT 4% vs ToT 74%。代价:LLM 调用数从 1 涨到 50-200。

适合:解空间需显式搜索(puzzle、规划、定理证明),中间状态可评估。不适合:闲聊、摘要、翻译。

ReAct 提示词 — Reasoning + Acting,思考-行动-观察循环

Yao et al. 2022。结构 Thought → Action → Observation 循环:模型先 "Thought: 我需要查 X",输出 "Action: search[X]",工具结果作为 "Observation: ..." 喂回 prompt,再下一轮 Thought。

三大效果:

是现代 agent 框架(Claude tool use、OpenAI function calling、LangChain、AutoGPT)的概念原型。

Reflexion 提示词 — 跨 episode 的"言语强化学习",把失败原因存为 lesson

Shinn et al. 2023。Agent 在一次任务失败后(由外部 verifier 给二元 reward),用 LLM 把失败原因总结成自然语言 lesson 存入 episodic memory,下一次任务时把 lesson 加进 prompt 影响行为。

vs Self-Refine:

HumanEval 上 GPT-4 Reflexion 91%,超过 GPT-4 baseline 80%。

Self-Refine 提示词 — 单任务内迭代:generate → self-feedback → refine 循环

Madaan et al. 2023。在一个 trajectory 里循环 N 轮,无外部 reward、无跨任务记忆。7 个任务平均提升 20%。

陷阱:弱模型自评不准,可能越改越差。生产常组合 Self-Refine(局内)+ Reflexion(跨局)。

self-consistency 提示词 — 对同一问题采样 N 条 CoT,对最终答案做 majority vote

Wang et al. 2022。temperature>0 采样 N 条 CoT 路径,对最终答案投票。GSM8K 上比 greedy CoT 提升 ~17 个百分点(PaLM 55%→74%)。

收益大场景:(1) 答案空间离散(数字、选择题);(2) 模型错误率 <50%;(3) 推理路径多样(temperature 0.7-1.0)。代价:N×(典型 N=5-40),开放生成不适用。

few-shot / zero-shot 提示词 — Prompt 中给/不给示例

何时 few-shot:(1) 任务格式新颖/输出结构复杂(JSON schema、特定 markdown);(2) 分类任务标签多。

何时 zero-shot:通用任务现代模型已饱和(摘要、翻译、QA),加 example 反而引入偏差。

陷阱:example 顺序影响大(recency bias);偶然规律会被学走;example 多了 Lost in the Middle。建议 ≤8 条。

RAG

RAG / Retrieval-Augmented Generation RAG — 检索增强生成:先检索相关文档,再让 LLM 基于上下文回答

标准 pipeline = Ingestion + Retrieval + Generation:

  1. Ingestion:document loader → chunking → embedding → 向量库写入
  2. Retrieval:query rewriting → embedding → vector search → reranker → top-k
  3. Generation:构造 prompt(含 retrieved chunks)→ LLM 生成 → 后处理 + citation

每段都有瓶颈:chunking 切大小、embedding 选型、召回率不足、context 顺序、模型不忠于 context。生产 RAG ≠ "embedding + 向量库 + LLM"——是一个工程系统。

chunking RAG — 把文档切成适合 embedding / 检索的小块

策略:

BM25 RAG — 基于词频 + IDF 的经典稀疏检索算法

Okapi BM25。文档与 query 的相关性按 Σ IDF(qi) · f(qi,d) · (k+1) / (f + k·(1-b+b·|d|/avgdl)) 计算。强项:精确词命中、稀有词高权重、专有名词、数字。短板:同义词不通("医生" vs "doctor")。

与 dense embedding 互补——hybrid search 把两者融合,召回率比单 dense 提升 5-15 个百分点。

reranker / cross-encoder RAG — 把召回 top-N 用更精确(更慢)的模型重新打分

Bi-encoder(embedding):query / doc 分别编码再 cosine 比对,快但无交互。
Cross-encoder(reranker):query + doc 拼接喂 transformer,每层 self-attention 交互,相关性建模能力强 20-40%(NDCG@10),慢 100×。

生产标配:bi-encoder 召回 top-100 → cross-encoder rerank 到 top-10 → 喂 LLM。

主流:Cohere Rerank v3/v4、BGE-reranker-v2-m3(开源 SOTA 中英)、Jina Reranker v2、Mixedbread。

陷阱:召回 top-100 里没有相关文档,rerank 也救不了——reranker 锦上添花,不能替代召回。

主流 embedding 模型选型 RAG — BGE-M3 / Cohere v4 / Voyage-3 / OpenAI text-3-large / Qwen3-Embedding 怎么选

2026 主流 embedding 模型对比:

选型框架:

  1. 中文为主 → BGE-M3 / Voyage-3 / Qwen3-Embedding
  2. 多模态 → Cohere v4
  3. 纯英文 + API → OpenAI text-3-large
  4. 自托管私有部署 → BGE-M3

关键陷阱:

vector DB / 向量数据库 RAG — 专门存 embedding 并支持近似最近邻 (ANN) 检索;Pinecone / Milvus / Qdrant 等

主流:

ANN 算法:HNSW(最常见)、IVF、ScaNN(Google)。索引时间 vs 检索精度 vs 显存有 trade-off。

GraphRAG / Self-RAG / CRAG / Agentic RAG RAG — 朴素 RAG 的 4 个进阶变体,各解决不同短板

朴素 RAG 在多文档跨实体推理、召回质量不稳、多跳查询场景下都会力不从心。四个常见进阶方案:

  1. GraphRAG(微软 2024):先用 LLM 从文档抽 entity + relation 建知识图谱,按社区做层次摘要;query 时既能 vector search 又能图遍历。解决"跨多文档跨实体推理时朴素 RAG 召回不全"。代价:ingestion 成本大涨(每 chunk 一次 LLM 抽取)。
  2. Self-RAG(Asai 2023):训练单一 LM 自己生成 reflection token 决定 (a) 要不要检索 (b) retrieved 是否相关 (c) answer 是否被 context 支撑 (d) 整体 utility。解决"什么时候检索、检索后怎么用"的判断。需训练。
  3. CRAG (Corrective RAG,Yan 2024):retrieved chunks 经 lightweight evaluator 打分,分高直接用、中等触发 web 重新搜索、低退回基础生成。解决"召回质量参差不齐"时盲目使用 retrieved。
  4. Agentic RAG:让 agent 决定 query rewriting → 多轮检索 → 子 agent 分工。解决多跳问题、需迭代检索。DeepResearch 类产品就是这一路。

实战选择:

RAGAS RAG — RAG 评估事实标准,4 大核心指标都用 LLM-as-judge 实现

Es et al. 2023。四大指标:

  1. Faithfulness(忠实度):答案中每个 claim 能否从检索 context 推出。<0.7 = 模型在编造
  2. Context Precision(检索精度):top-K 中真正相关的占比。低 = retriever 召回噪声
  3. Context Recall(检索召回):ground truth 信息是否都被检索到。低 = 召回不全
  4. Answer Relevancy(答案相关性):答案是否真的回答了原问题

生产阈值:4 个指标都 ≥0.7 算合格;Faithfulness < 0.7 优先修;Context Recall < 0.7 调 retriever。

Agent 工程

harness / harness engineering Agent — 包裹 LLM 的代码骨架与工程化体系,让 agent 物理上无法重复犯错

Mitchell Hashimoto 2026 命名:"anytime you find an agent makes a mistake, take the time to engineer a solution such that the agent never makes that mistake again."

不是模型微调,而是工程化环境让模型物理上无法以同样方式再犯错。

两条法则:

  1. 强约束:能用 deterministic 约束(lint / type check / sandbox / CI 硬失败)就不用 prompt
  2. 自愈循环:agent 能从环境拿 ground truth、自我评估、失败可 checkpoint 恢复

OpenAI 公式:Agent = Model + Harness;"Humans steer. Agents execute."

LangChain / LangGraph / LlamaIndex / Haystack Agent — 主流 Agent / LLM 应用开发框架

2024-2026 主流框架对比:

经验:先用 SDK 直调写原型;workflow 模式(routing / parallelization / orchestrator-workers)成熟后再考虑 LangGraph;纯 RAG 场景考虑 LlamaIndex;避免一上来就 LangChain "全家桶"。

MCP / Model Context Protocol Agent — Anthropic 推出的开放协议,让 LLM 客户端用统一接口连接外部工具/数据源

2024-11 推出,2025-Q4 转入独立 Steering Committee(Anthropic / Block / OpenAI / Microsoft)。三种核心原语:

解决"每接一个新工具就要写一遍 adapter"的 N×M 问题。2026 年增速最快的单一技能,97M+ 月下载,已是 Anthropic Applied AI Engineer JD 显式必备。

tool use / function calling Agent — LLM 通过结构化 schema 调用外部函数

模型输出 {"name": "search", "arguments": {"query": "..."}} JSON,runtime 解析后真实执行函数,结果回喂模型。Anthropic Tool Use API、OpenAI function calling 都是同思路。

设计原则(Anthropic 实测:"agent 性能正比于工具描述清晰度"):

Computer Use / Browser Agent Agent — 让模型操作桌面 GUI 或浏览器

Anthropic 2024-Q4 推出 Computer Use。流程:截屏 → LLM 看图 + 推理 → 输出鼠标键盘动作(click X,Y / type text / scroll)→ 系统执行 → 再截屏循环。

Browser Use(开源框架)类似但限于浏览器,基于 Playwright + DOM 增强(把可点击元素加序号叠加到截图)。

实用场景:无 API 网站自动化、桌面软件自动化、端到端 e2e 测试。局限:慢、贵、安全性差、对 canvas 渲染应用支持差。生产建议:能用 API 就别用。

sub-agent Agent — 主 agent 派出的、有独立 context 的子任务 agent

主 agent 把"读 30 个文件做研究"丢给 sub-agent,sub-agent 有自己的独立 context 窗口,只把 final summary 回报给主 agent——主 context 不被中间产物污染。

Claude Code Task 工具、OpenAI Swarm、CrewAI 等都支持。是防止 Loop of Death 和 context 爆炸的关键手段之一。

AGENTS.md / CLAUDE.md Agent — 给 agent 看的项目说明书,写明协议 / 约束 / 启动流程

Agent 进入项目时自动读取。通常包含:

Hashimoto 视角:每行 AGENTS.md ≈ 一次错误的封堵。是 harness engineering 的隐式提示形态。

deny-first Agent — 默认禁止所有工具/命令,显式白名单才允许

Claude Code 采用的权限模型。Bash 命令按 verb + path 粒度授权:

对应安全原则:任一层失守,其他层兜底。配合 sandbox、网络出口白名单、文件系统只读做纵深防御。

progress 文件 / progress.md Agent — 把 agent 任务进度持久化到文件,跨会话续跑

Anthropic Effective Harnesses 给的核心设计:长任务 agent 必然跑爆 context window,纯靠 LLM context 不可能记住"我跑到第几步"。

解法:

下次会话执行 5 步开机协议从断点续跑。核心洞察:context window 是"working memory",文件系统是"long-term memory"。

Loop of Death Agent — Agent 进入无限循环烧 token 直到耗尽

常见模式:

防御纵深:

  1. 硬性 max iteration(5-30 步)
  2. Execution timeout(5-30 分钟)
  3. Token budget(per-task hard cap)
  4. 进度检测(连续 N 步无 diff 强停)
  5. 失败重复检测(同 tool call 失败 3 次跳出)
  6. 成本告警 + HITL
Memory Corruption / 记忆污染 Agent — 错误事实进入长期记忆后污染所有后续决策

例:用户开玩笑"我是亿万富翁"被存进语义记忆,之后 agent 一直按假设推理。

防御:

评估与安全

Trace + Eval 工具栈 评估 — Langfuse / LangSmith / Phoenix / Helicone / Patronus 等可观测平台

LLM 应用 / Agent 的"全链路追踪 + 评估"工具,2026 主流:

核心能力对齐项:

  1. Trace:prompt → tool_call → response → cost / latency 串成完整 trace
  2. Prompt 版本化:每次 prompt 改动一个 hash,可在 dashboard 切换并对比
  3. Eval:CI 上跑黄金集,回归报警
  4. Cost & Cache hit rate:单 trace 成本、cache 命中分布
  5. User feedback / thumb up-down:直接打到 trace 上做 bad case 入库

选型:自建优先 Langfuse;LangChain 重度用户 LangSmith;纯 trace 监控用 Phoenix;安全 / 实时拦截用 Patronus。

主流 LLM eval benchmark 评估 — MMLU / MT-Bench / Chatbot Arena / HumanEval / LiveBench / BFCL 各测什么

按测什么能力分类:

实战:从 2026 视角,单一 benchmark 都已不可信——必须多 benchmark 交叉验证 + 自家黄金集 + Arena 真人盲评三层。

Eval / Evaluation 评估 — LLM 应用 / Agent 的"打分"环节:offline / online / CI 三层评估

LLM / Agent 应用的 eval 不是单一动作,是一套体系。常见层次:

Eval 工具栈分类:

  1. 通用 framework:OpenAI Evals、DeepEval、Promptfoo、Inspect AI——CLI / 库形式跑评估
  2. 集成在可观测平台:Langfuse / LangSmith / Phoenix 都内置 eval framework,与 trace 联动
  3. RAG 专用:RAGAS(faithfulness / context relevancy 等 4 维)
  4. Tool use 专用:BFCL(Berkeley Function-Calling Leaderboard)
  5. 领域专用:每家自家黄金集 + LLM-judge rubric

Eval 类型按打分方式:

经验法则:(1) 没 eval 就改 prompt = 改盲;(2) Eval model 必须 ≥ 被评估 model(判官原则);(3) 黄金集要版本化 + 私有;(4) 每个 bad case 都要回归进黄金集——harness engineering 闭环。

LLM-as-judge 评估 — 用强 LLM 给候选输出打分,替代人工评估

把"评估"建模成 LLM 任务:让 judge 模型读 (prompt, response),输出 0-1 分 / pass/fail / pairwise 谁更好。可大规模并行、便宜、可在 CI 自动化。

三大 bias:

判官原则:judge 模型能力应 ≥ 被评估模型,否则评不出大模型回答好在哪。生产标配三层:自家黄金集 + LLM judge + 人工校准。

Lost in the Middle 评估 — 长上下文 QA 中,关键信息放中间时模型准确率显著下降

Liu et al. 2023 实验:把 gold passage 放 prompt 开头或结尾,模型准确率高;放中间则呈 U 形曲线下降,10+ documents 时中间位置可能低于无上下文 baseline。

工程缓解:

prompt injection 安全 — 用户或外部内容劫持模型行为,绕过 system prompt

OWASP LLM Top 10 的 #1。类型:

Simon Willison 结论:prompt injection 没有 100% 解,必须按"LLM 不可信"做系统设计。dual-LLM 模式 = Planner(看 trusted 决策)+ Executor(看 untrusted 但无工具权限)。

hallucination / 幻觉 评估 — 模型生成看似合理但实际错误的内容

来源:

debug 流程:复现 + 量化触发率 → 归因(RAG 召回 / 模型用 context / 工具调用)→ 修复 → 加 回归 → 生产监控(faithfulness scorer 实时拦截)。

关键认知:hallucination 多数是 prompt / RAG / 上下文工程缺陷,不是"模型病了"。

guardrails 安全 — 围绕 LLM 的输入/输出/工具/对话各环节的安全护栏

NVIDIA NeMo Guardrails 5 类:

  1. Input rails:PII 脱敏、prompt injection 检测、topic 限定
  2. Dialog rails:基于 Colang DSL 控制对话流,硬编码关键决策点
  3. Retrieval rails:剔除低质 / 敏感 / 不可信 chunk
  4. Execution rails:工具调用前参数白名单 / 授权检查
  5. Output rails:幻觉检测 / 敏感数据外泄过滤 / 毒性过滤

关键:rail 不是越多越好,每类挑 1-2 个高 ROI 的开,否则延迟/成本爆炸。

jailbreak / 越狱 安全 — 绕开模型安全训练让它输出有害内容

常见手法:

防御:厂商 RLHF safety training + 应用层 input/output classifier(Llama Guard)+ 限制 max context(对抗 many-shot)+ red team 定期演练。