调研日期:2026-05-01 · 模式:deep-research ultradeep · 检索路数:18 路并行(中英混合)
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 / 企业生产)的技术选型清单与限制说明。
“分别讲清提示词工程(含 LLM/Transformer 等基础)、上下文工程(含记忆 / RAG 选型等)、驾驭工程,越全越好。”
本报告由 deep-research skill(199-bio 版,ultradeep
模式)驱动:18 路并行 WebSearch(中英双语,分两批) → 跨多源交叉验证关键
claim(≥2 源支持才纳入)→ 时间锚定(默认引用 ≥2025-12 的资源) → Phase 6
红队复核(怀疑派 / 对抗评审 / 实施工程师三视角) → 落盘归档。详见
Methodology Appendix。
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 的信息密度与多样性。
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,过去一年发布的每个主要模型都用了不同的后训练栈。」
任务非常简单:在巨量语料上做下一个 token 预测(next-token prediction),用 cross-entropy loss 反向传播。但工程难度极高:
预训练的产物是 基础模型(base model)——它能续写但不能”对话”,给它”今天天气如何?“它会接着写一段类似贴吧的杂谈,而不是回答你。要让它变成 ChatGPT 那样能交互的助手,需要后训练。
后训练在 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 才是你的工具。这里有个关键的成本分水岭 [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 | 中 | 视任务 | 推理时延 / 成本极致 |
peft
库是事实标准。实践指引 [25]:「如果产品需要极低延迟和最高准确率,做 full fine-tune;如果需要快速实验、多变体、按客户单独 adapter,用 LoRA;如果模型很大且 VRAM 受限,用 QLoRA。」
模型训完上线,“用什么策略从 logits 里采样下一个 token”决定了输出质感:
工程上现在的事实标准是
temperature=0.7 + top_p=0.95(OpenAI / Anthropic
的默认)。要做创意生成调高 T,要做严格 JSON 提取调到 T=0 + 配合
grammar-guided generation(如 Outlines、Guidance、Llama.cpp 的
GBNF)。
提示词工程的”经典时代”基本可以用一张技术图谱概括 [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 的生成上,等价于动态扩展计算量。
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]:
<context>...</context>、<instructions>...</instructions>),长
system prompt,多步推理任务直接说 “think step by step”人工写 prompt 终究有上限。2023 年起涌现”让 LLM 自己写 prompt”的方向:
DSPy 在 2025-2026 进入主流——被 Databricks、Snowflake 等收编为内部 prompt 编译框架。它代表了一个重要转向:prompt 不再是手写艺术,而是编译产物。
提示词工程的成功必须可被度量。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) 演讲里把行业焦点指向了下一站——上下文工程。
“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 提供正确的信息和工具,让模型有完成任务所需的一切。”
为什么”提示词工程”不够了?三个根本变化:
到 2026 年初,业界共识是:生产级 LLM 应用的核心难度从”写 prompt”迁移到了”管 context”——Anthropic 在文档里直接说”Context Engineering 是构建可靠 AI agent 的关键学科” [6]。
要理解为什么”塞满窗口”是个坏主意,必须先理解上下文的三个物理约束:
约束一: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]。
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 的替代,而是补充。
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% 的”深度分析单文档”才用长上下文。
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 年的选型空间。
现实世界的文档是 PDF、PPT、扫描件、Excel、HTML 而不是纯文本。这一步常被忽略但影响极大:
pypdf /
pdfplumber(速度快,但表格 / 多栏排版易错)unstructured /
LlamaParse(带 layout 模型,能识别标题 / 段落 / 表格 /
列表)PaddleOCR /
Tesseract / EasyOCR(扫描件、图片)最佳实践:至少跑两套 parser 对比,再决定用哪个。表格 / 公式必须特别处理(转 markdown / LaTeX)。
切分策略对召回质量影响远大于嵌入模型的选择:
通用建议:chunk size 256-512 token、overlap 50-100 token,是大多数任务的 sweet spot。
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 年的两个关键趋势:
中文场景实测:BGE-M3 是免费第一(开源 + 多语言强 + 同模型支持稀疏/稠密),Voyage 3 large 是付费第一(中文召回普遍比 OpenAI 高 10%+)。
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 与知识图能力 |
选型决策:
pgvector 0.9
版本性能跟上了,避免运营第二个数据库的复杂度向量检索(稠密)擅长语义相似度但不擅长精确关键词匹配(产品 ID、专有名词、错别字容忍)。生产级 RAG 几乎都是 hybrid search:
混合策略:用 RRF(Reciprocal Rank Fusion)合并稀疏与稠密的结果列表。简单且无需调参。
实证:hybrid search + reranker 比 semantic-only 提升 +9.3 个百分点 MRR,配合 Cohere Rerank 准确率可以到 90%+ [实测见 LanceDB 基准]。
第一阶段检索(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 第一。
用户问的”今天天气咋样”和文档里写的”current weather conditions”语义相同但词汇不重叠。Query rewriting 在检索前先对 query 做处理:
Microsoft GraphRAG(2024 开源)和 LightRAG / Nano-GraphRAG 等社区变体把检索从”向量相似”扩展到”知识图遍历”:
GraphRAG 在某些场景把检索精度推到 99%(金融合规、法律、医疗等关系密集的领域)[43]。
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],因为模型学会了对自己已有知识的事情不去检索。
图像 + 文本混合的索引方案:
如果 RAG 解决”知识库怎么塞进 context”,记忆系统解决”agent 自身经验怎么塞进 context”。
借自认知心理学的分类:
| 系统 | 核心架构 | 优势 | 适用 |
|---|---|---|---|
| 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
即使有了 RAG 和记忆,往 context window 塞东西的”塞什么、塞多少、什么时候塞”仍然是难题。Anthropic 文章 [6] 给了几个原则:
/compact 命令,把当前长对话压缩成摘要 +
关键事实,保留语义但回收 token把工具和数据源接入 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”作为术语在 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 工程化”统一到了一条原则:约束环境,而非约束模型本身。模型的”能力”是可变的(每三个月升一代),但环境约束是稳定的、可累积的。
三层抽象的清晰划分:
| 层级 | 关注 | 单位 | 时间尺度 |
|---|---|---|---|
| Prompt Engineering | 这一句话怎么写 | 字符 / 句 | 单次 LLM 调用 |
| Context Engineering | 模型在推理这一刻看到什么 | tokens 集合 | 单次推理(含 RAG、记忆、工具 schema 等) |
| Harness Engineering | agent 在什么环境运行、如何不再犯同样的错 | 系统 / 流程 | 跨多次交互、持续演进 |
类比: - prompt = 你给员工的一个具体指令 - context = 员工桌面上能看到的所有材料(笔记本、邮件、文档、聊天记录) - harness = 公司的整套规章、工具、CI 流程、code review、教练系统
下面拆解 2026 年生产级 agent harness 的七大核心组件。
详见 2.7 节的 MCP / A2A。除此之外:
实战:MCP 已是 2026 年的事实标准,新项目直接 MCP,老项目通过 MCP adapter 兼容。
agent 写代码 / 跑命令 / 处理用户上传文件,必须在隔离环境里。否则
prompt injection 一来,agent 就把你服务器上的 ~/.ssh/
上传到公网了。
最低限度:绝不在生产服务器主进程里 eval() agent
输出。即使是看起来无害的 os.path.join。
把”调用 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”本身是个安全决策,企业级建议自托管 + 锁版本。
如果你自部署模型(开源 7B-70B 或自家训的),推理服务器决定了吞吐和成本。2026 年的状态 [39][40]:
选型经验:纯文本 LLM 推理 → SGLang(多轮 / agent 场景)或 vLLM(通用 / 简单 single-turn);多模态混跑 → vLLM 或 Triton。
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)做生产流量观测。
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。」
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
把上面的组件拼成”一个 agent”需要编排框架。2026 年主流:
新项目通用建议 [Vinod Rane 2026]: - Python + 复杂 workflow → LangGraph - TypeScript / Next.js → Mastra 或 Vercel AI SDK - 多 agent 协作 / 头脑风暴模式 → AutoGen 或 CrewAI - 极简 + 教学 → Smolagents
把所有组件串起来,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 的日常。
把过去四年的行业焦点拉成时间轴:
不是替代而是叠加。一个生产级 agent 三层都需要:
类比软件工程: - prompt = 你写的那个具体函数 - context = 这个函数运行时能访问的数据 + 依赖 - harness = 整个工程的 CI / CD / 监控 / 测试 / 发布流程
2022 年最值钱的 LLM 工程师能力是”能调出模型最佳输出的 prompt 直觉”。 2024 年最值钱的能力是”能架一套 RAG 让公司所有文档可问”。 2026 年最值钱的能力是”能搭一套 agent harness 让多个 agent 在生产 7×24 跑而不出大事故”。
注意这条迁移线不是终点,下一站很可能是”能把多个 agent harness 联邦化的协议工程师”——A2A 协议生态成熟、多公司 agent 互操作的时代。
不管是 prompt、context 还是 harness,工程实践都遵循一些共性原则:
目标:理解原理 + 跑通端到端 预算: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 改改就跑。
目标:尽快上线 + 可演进 预算:每月几百 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 失败了”的根因分析。
[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.
deep-research v2.3.1(199-bio
版)所有进入正文的关键事实都至少有 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 + 多篇合规文章 |
article.mdrun_manifest.json、sources.jsonlls -la ~/Documents/Prompt_Context_Harness_Engineering_Article_20260501/
wc -m ~/Documents/Prompt_Context_Harness_Engineering_Article_20260501/article.md答案中以
[术语]标记的概念都可点击跳到本表对应条目并自动展开。本表按 10 个主题分组收录 60+ 高频术语,默认全部收起——遇到不熟的术语再展开看精要解释,避免被信息淹没。
不实际运行代码的情况下分析源码,识别潜在 bug、未使用变量、风格违规、可疑用法。常见工具:
在 Agent 工程中,lint 经常被用作 harness 的硬约束——把 lint 错误反馈给模型重写代码,比单纯在 prompt 里说"请遵守编码规范"可靠得多(Augment Code 把这叫做 Constraint Harness)。
确保代码中变量赋值、函数调用的类型一致:
对 Agent:让 agent 写完代码后强制跑 tsc --noEmit / mypy . / cargo check,类型错误作为反馈喂回模型继续修。比让 agent 自己"声明检查过类型"可靠得多——这是 harness 工程的典型做法。
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 能不能验证自己的工作"。
让不可信代码(用户上传、LLM 生成)在受限环境中跑,防止破坏宿主系统。隔离强度从弱到强:
Agent 跑用户/LLM 生成代码必须沙箱,并叠加纵深防御:网络出口白名单 + 文件系统只读 + 时间/内存配额 + 不挂载 host 凭据。
来自煤矿用金丝雀检测毒气的典故。部署流程典型为:shadow(双跑不返回)→ 1% → 5% → 25% → 50% → 100%,每阶段观察核心指标无回归才推进。
对 LLM 应用:新 prompt / 新模型 / 新 agent harness 上线必走 canary,关键指标(解决率、CSAT、refusal 率、p99 延迟、单次成本)任何一个恶化 > 阈值就回滚。LLM 应用的"非确定性"特性让 canary 比传统软件更重要。
按 user_id hash 切流量保证一个用户始终进同一桶(避免体验跳变)。判定要素:
LLM 应用调 prompt / 换模型 / 改 RAG 都应过 A/B;只靠 offline eval 上线常翻车(线上流量分布与黄金集差异大)。
业务侧验收 Agent 是否上线最看的几个指标:
Agent 工程关注:把模型 / prompt / RAG 改动放进 A/B 看这些业务指标,而非只看离线 benchmark 分数。改动让 benchmark 涨但 GMV / CSAT 跌的情况非常常见。
Agent 自治走到关键节点时暂停等待人工:
设计原则:"Humans steer. Agents execute."(OpenAI Harness Engineering)。Agent 不是替代人,是放大人的判断——把人放在制定计划、设定约束、审核结果的位置,agent 处理执行。
Google SRE 体系定义的四个术语:
1 - SLO。SLO 99.9% 意味着 30 天有 43.2 分钟"预算"可以不达标,预算用完就冻结非必要发布。Agent 应用怎么用:
经验法则:SLO 不是越严越好——99.99% 比 99.9% 贵 5-10 倍,且大概率超过用户感知阈值。Google 建议"刚刚够用户不抱怨"的水位。
到期自动失效。常见用法:
经验换算:1000 英文单词 ≈ 1300 token;1000 汉字 ≈ 1500-2000 token。
为什么重要:context window、API 计费、推理速度都按 token 算。控制 token 数 = 控制成本和延迟。Anthropic / OpenAI / Google 各自的 tokenizer 不同,相同文本 token 数差 ±20% 很常见。
文本 → 神经网络 → 一个 768 / 1024 / 1536 / 3072 维的浮点数向量。同义词 / 同主题文本的向量在空间中距离近(cosine similarity 高)。
主要用途:
主流模型 2026:OpenAI text-embedding-3-large、Cohere v4、Voyage-3、BGE-M3(开源 SOTA,中英双语 + dense/sparse/multi-vector 三合一)。
包含 system prompt + 历史对话 + 用户输入 + 模型输出,所有都计算在内。2026 主流模型:
注意:宣称窗口 ≠ 有效窗口。RULER 基准显示多数模型在窗口 1/4 之外性能急剧下降(Lost in the Middle)。工程建议把"应当塞入 context"的阈值定在 8-32k,更长走 RAG 或层级摘要。
两个阶段瓶颈不同,调优策略也不同——prefill 优化靠并行 / FlashAttention,decode 优化靠 continuous batching / speculative decoding。
生成第 t 个 token 时需要前面所有 token 的 K/V 参与注意力计算。把它们缓存下来避免每次重算,是 LLM 推理的最基础优化。
显存占用:2 × num_layers × num_heads × head_dim × seq_len × batch × bytes_per_elem。70B 模型上 128k 上下文的 KV cache 可达数十 GB,远超模型权重本身。
进阶优化:
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 等。
decoder 最后一层输出 [vocab_size] 维的 logit 向量;过 softmax 后得到下一个 token 的概率分布。
工程上能拿到 logit(或 top-k logprob)的场景:
注意:OpenAI / Anthropic 商用 API 默认只返回采样结果,需显式开 logprobs 选项。
P(token) ∝ exp(logit / T):
何时调高:Self-Consistency 需要多样路径、creative writing、brainstorm。
何时调低:代码生成、数学推理、严格格式输出,T=0.1-0.3。
陷阱:T=0 不完全等同 deterministic——浮点 GPU 算子的非确定性 + 并发调度可能让相同 prompt 的输出仍有微差。
Xiao et al. 2023 发现:长序列推理时,靠后的 token 往往把不成比例多的注意力分给了序列最前面的几个 token(即使它们语义无关)——这些 token 成为"sink",吸收掉 softmax 必须分配的归一化质量。
工程意义:
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。
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 会崩——高频分量旋转角度落入未见区域。缓解:
RoPE 纯外推会崩——高频分量在训练上下文外旋转角度落入未见区域。两种工程化方案:
主流应用:
经验数字:YaRN 在 4× 上下文扩展(2k→8k 或 32k→128k)几乎无损;8× 以上仍有性能下降。极致长上下文(1M+)通常需要重训而非仅靠 YaRN。
标准 multi-head attention:H 个头各有独立 Q/K/V。
收益:KV cache 减小到 1/8 ~ 1/H,推理吞吐显著提升,效果几乎无损。Llama-2 70B / Llama-3 / Mistral / Qwen2 等都用 GQA。
把传统 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)。
单头注意力对每对 token 只产生一个 attention 分布——一种"关系视角"。多头(h=8/32/64/128)让模型同时学多种关系——句法头关注短距离依赖,语义头关注共指、远程实体。
为什么单头加大维度不行:多头是 h 个低秩注意力的混合,表达能力严格更强;单头是一个高秩注意力,自由度反而少。
进阶变体:GQA / MQA 在 KV 侧减头省显存,Q 侧仍保多头。
Dao 2022。标准 attention 显存 O(N²)(要存 N×N 的 attention matrix),长序列瓶颈。FlashAttention 把 Q/K/V 分块加载到 GPU SRAM 计算,不写出完整 attention matrix,显存降到 O(N),速度也快——attention 是 memory-bound,少读 HBM 就快。
演进:
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×。
2023 年起的事实标准开源推理服务器。核心特性:
对比:TGI(HuggingFace)、TensorRT-LLM(NVIDIA,私有更快)、SGLang(前缀复用更彻底)、LMDeploy(OpenCompass 出品)。
也叫 in-flight batching,Yu et al. ORCA 2022 提出。对比 static batching(等齐 batch 再一起跑,长短请求混在一起时 GPU 利用率经常 <30%),continuous batching:
vLLM 数据:吞吐相比 static 提升 5-23×。已成所有现代推理引擎的默认。
Leviathan et al. 2023。流程:
数学上保证输出分布与原模型完全一致(rejection sampling)。
收益条件:(1) draft 与 target 分布相似(接受率 >60%);(2) 大模型受 memory bandwidth 限制,并行验证不增延迟。代码生成接受率 70-90%,开放生成 30-50%。变体:EAGLE-2/3、Medusa、Llama 3.1 self-speculative。
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× 价格)。
主要由 prefill 决定(处理 input 所有 token)。计费、监控的核心指标之一。
降低 TTFT 的手段:
伴生指标:TBT(time between tokens,单 token 间隔)— 由 decode 决定。
混合精度训练:权重和梯度用 BF16/FP16,optimizer state 仍用 FP32。
部署阶段把权重量化到低 bit 整数,推理时反量化回浮点计算。
INT8 / INT4 量化通常需要校准集(128-512 样本),AWQ 更智能(保护 1% salient 通道)。极致显存场景再用 GGUF(llama.cpp 格式)+ 3-bit / 2-bit 量化跑手机端。
Lin et al. 2023。核心洞察:只需保护 ~1% 的"重要权重通道"(由激活幅值识别)即可保住精度。对这些通道按 per-channel scale 放大再量化。
对比 GPTQ:实现更简单,Llama-2 上困惑度更低,已成 vLLM / TensorRT-LLM 默认。
Frantar 2022。用 OBQ 启发的逐层最小化量化误差,需要少量校准集(128 样本)。优点:早、生态全(exllama / vllm / TGI 都支持);缺点:对激活分布敏感,重要通道可能被压坏。
2026 部署选型:H100/H200 → FP8;A100/3090 → AWQ INT4;手机/边缘 → INT4 + GGUF。
最基础的指令微调方式:把 (输入, 期望输出) 对当做监督学习样本,cross-entropy loss 教模型学指令跟随。
经验数据量:
LIMA 论文:1000 条精选样本即可让 65B base 接近 GPT-4 对话质量——质量 >> 数量。
Hu et al. 2021。把权重更新分解为两个低秩矩阵 ΔW = BA(r=8/16/64),只训练这两个矩阵,可训参数减少 100-10000×。
显存:
优点:可训参数少 / 多个 adapter 可热切换 / 缓解 灾难性遗忘。
Dettmers et al. 2023。三项关键:
65B 模型 QLoRA 约 33GB,单 A100-48G 或双 RTX 3090 可跑。代价:训练慢 30-40%(反量化开销)。
三步走:(1) SFT 训出 base policy;(2) 人类标注 (chosen, rejected) 偏好对训出 Reward Model;(3) 用 RM 给 policy 输出打分,PPO/RLOO/REINFORCE 等算法更新 policy。
InstructGPT、ChatGPT 让 RLHF 出圈。三大痛点:
RLHF 第二步训出。输入:(prompt, response),输出:一个 scalar reward。训练 loss 是 Bradley-Terry:让 RM 在 (chosen, rejected) 对上给 chosen 更高分。
常见弱点:
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)。
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)等简化方案。
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 正则。
效果:
在数学、代码、形式逻辑等可自动验证的任务上,直接用程序判定 reward:答案匹配、单测通过、定理证明器验证。
优势:
DeepSeek-R1、DAPO(ByteDance 开源 SOTA)都属此类。局限:仅适用可验证任务,开放对话仍需 RLHF / DPO。
机制:参数被新任务 loss 拉走,原本编码通用知识的方向被覆盖。
缓解组合(生产推荐):
进阶:EWC(按 Fisher 信息加权 L2 正则)、Model Souping(微调模型与原模型权重平均)、MoE 路由扩展。
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 的新范式。
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、规划、定理证明),中间状态可评估。不适合:闲聊、摘要、翻译。
Yao et al. 2022。结构 Thought → Action → Observation 循环:模型先 "Thought: 我需要查 X",输出 "Action: search[X]",工具结果作为 "Observation: ..." 喂回 prompt,再下一轮 Thought。
三大效果:
是现代 agent 框架(Claude tool use、OpenAI function calling、LangChain、AutoGPT)的概念原型。
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%。
Madaan et al. 2023。在一个 trajectory 里循环 N 轮,无外部 reward、无跨任务记忆。7 个任务平均提升 20%。
陷阱:弱模型自评不准,可能越改越差。生产常组合 Self-Refine(局内)+ Reflexion(跨局)。
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:(1) 任务格式新颖/输出结构复杂(JSON schema、特定 markdown);(2) 分类任务标签多。
何时 zero-shot:通用任务现代模型已饱和(摘要、翻译、QA),加 example 反而引入偏差。
陷阱:example 顺序影响大(recency bias);偶然规律会被学走;example 多了 Lost in the Middle。建议 ≤8 条。
标准 pipeline = Ingestion + Retrieval + Generation:
每段都有瓶颈:chunking 切大小、embedding 选型、召回率不足、context 顺序、模型不忠于 context。生产 RAG ≠ "embedding + 向量库 + LLM"——是一个工程系统。
策略:
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 个百分点。
dense embedding 擅长语义近似,BM25 擅长精确词匹配,两者互补。
融合方法:
score(d) = Σ 1/(k + rank_i(d)),k=60。生产首选,无需归一化两路分数α·dense + (1-α)·bm25,需要调 α 且分数归一化Anthropic Contextual Retrieval 实验:单 embedding → +contextual embedding → +BM25 → +rerank,失败率 5.7% → 4.0% → 3.7% → 1.9%。
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 锦上添花,不能替代召回。
2026 主流 embedding 模型对比:
选型框架:
关键陷阱:
主流:
ANN 算法:HNSW(最常见)、IVF、ScaNN(Google)。索引时间 vs 检索精度 vs 显存有 trade-off。
朴素 RAG 在多文档跨实体推理、召回质量不稳、多跳查询场景下都会力不从心。四个常见进阶方案:
实战选择:
Es et al. 2023。四大指标:
生产阈值:4 个指标都 ≥0.7 算合格;Faithfulness < 0.7 优先修;Context Recall < 0.7 调 retriever。
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."
不是模型微调,而是工程化环境让模型物理上无法以同样方式再犯错。
两条法则:
OpenAI 公式:Agent = Model + Harness;"Humans steer. Agents execute."
2024-2026 主流框架对比:
经验:先用 SDK 直调写原型;workflow 模式(routing / parallelization / orchestrator-workers)成熟后再考虑 LangGraph;纯 RAG 场景考虑 LlamaIndex;避免一上来就 LangChain "全家桶"。
2024-11 推出,2025-Q4 转入独立 Steering Committee(Anthropic / Block / OpenAI / Microsoft)。三种核心原语:
解决"每接一个新工具就要写一遍 adapter"的 N×M 问题。2026 年增速最快的单一技能,97M+ 月下载,已是 Anthropic Applied AI Engineer JD 显式必备。
模型输出 {"name": "search", "arguments": {"query": "..."}} JSON,runtime 解析后真实执行函数,结果回喂模型。Anthropic Tool Use API、OpenAI function calling 都是同思路。
设计原则(Anthropic 实测:"agent 性能正比于工具描述清晰度"):
Anthropic 2024-Q4 推出 Computer Use。流程:截屏 → LLM 看图 + 推理 → 输出鼠标键盘动作(click X,Y / type text / scroll)→ 系统执行 → 再截屏循环。
Browser Use(开源框架)类似但限于浏览器,基于 Playwright + DOM 增强(把可点击元素加序号叠加到截图)。
实用场景:无 API 网站自动化、桌面软件自动化、端到端 e2e 测试。局限:慢、贵、安全性差、对 canvas 渲染应用支持差。生产建议:能用 API 就别用。
主 agent 把"读 30 个文件做研究"丢给 sub-agent,sub-agent 有自己的独立 context 窗口,只把 final summary 回报给主 agent——主 context 不被中间产物污染。
Claude Code Task 工具、OpenAI Swarm、CrewAI 等都支持。是防止 Loop of Death 和 context 爆炸的关键手段之一。
Agent 进入项目时自动读取。通常包含:
Hashimoto 视角:每行 AGENTS.md ≈ 一次错误的封堵。是 harness engineering 的隐式提示形态。
Claude Code 采用的权限模型。Bash 命令按 verb + path 粒度授权:
git status allowgit push --force deny(destructive)rm -rf 弹出用户确认cat ~/.ssh/* deny(敏感路径)对应安全原则:任一层失守,其他层兜底。配合 sandbox、网络出口白名单、文件系统只读做纵深防御。
Anthropic Effective Harnesses 给的核心设计:长任务 agent 必然跑爆 context window,纯靠 LLM context 不可能记住"我跑到第几步"。
解法:
下次会话执行 5 步开机协议从断点续跑。核心洞察:context window 是"working memory",文件系统是"long-term memory"。
常见模式:
防御纵深:
例:用户开玩笑"我是亿万富翁"被存进语义记忆,之后 agent 一直按假设推理。
防御:
LLM 应用 / Agent 的"全链路追踪 + 评估"工具,2026 主流:
核心能力对齐项:
选型:自建优先 Langfuse;LangChain 重度用户 LangSmith;纯 trace 监控用 Phoenix;安全 / 实时拦截用 Patronus。
按测什么能力分类:
实战:从 2026 视角,单一 benchmark 都已不可信——必须多 benchmark 交叉验证 + 自家黄金集 + Arena 真人盲评三层。
LLM / Agent 应用的 eval 不是单一动作,是一套体系。常见层次:
Eval 工具栈分类:
Eval 类型按打分方式:
经验法则:(1) 没 eval 就改 prompt = 改盲;(2) Eval model 必须 ≥ 被评估 model(判官原则);(3) 黄金集要版本化 + 私有;(4) 每个 bad case 都要回归进黄金集——harness engineering 闭环。
把"评估"建模成 LLM 任务:让 judge 模型读 (prompt, response),输出 0-1 分 / pass/fail / pairwise 谁更好。可大规模并行、便宜、可在 CI 自动化。
三大 bias:
判官原则:judge 模型能力应 ≥ 被评估模型,否则评不出大模型回答好在哪。生产标配三层:自家黄金集 + LLM judge + 人工校准。
Liu et al. 2023 实验:把 gold passage 放 prompt 开头或结尾,模型准确率高;放中间则呈 U 形曲线下降,10+ documents 时中间位置可能低于无上下文 baseline。
工程缓解:
OWASP LLM Top 10 的 #1。类型:
Simon Willison 结论:prompt injection 没有 100% 解,必须按"LLM 不可信"做系统设计。dual-LLM 模式 = Planner(看 trusted 决策)+ Executor(看 untrusted 但无工具权限)。
来源:
debug 流程:复现 + 量化触发率 → 归因(RAG 召回 / 模型用 context / 工具调用)→ 修复 → 加 回归 → 生产监控(faithfulness scorer 实时拦截)。
关键认知:hallucination 多数是 prompt / RAG / 上下文工程缺陷,不是"模型病了"。
NVIDIA NeMo Guardrails 5 类:
关键:rail 不是越多越好,每类挑 1-2 个高 ROI 的开,否则延迟/成本爆炸。
常见手法:
防御:厂商 RLHF safety training + 应用层 input/output classifier(Llama Guard)+ 限制 max context(对抗 many-shot)+ red team 定期演练。