大模型工程三板斧:Prompt Engineering、Context Engineering 与 Harness Engineering
大模型工程三板斧:Prompt Engineering、Context Engineering 与 Harness Engineering
目录
- 一、背景与问题定义
- 二、Prompt Engineering(提示词工程)
- 三、Context Engineering(上下文工程)
- 四、Harness Engineering(编排工程)
- 五、三者关系与分层架构
- 六、典型系统设计(结合RAG / Agent)
- 七、面试高频问题与回答模板
- 八、总结

一、背景与问题定义
在大模型应用开发中,一个核心问题是:
❓ 如何让大模型稳定、准确、可控地完成复杂任务?
工程实践中逐渐抽象出三层能力:
| 层级 | 解决问题 |
|---|---|
| Prompt Engineering | 如何“问”模型 |
| Context Engineering | 给模型“什么信息” |
| Harness Engineering | 如何“组织模型完成任务” |
二、Prompt Engineering(提示词工程)
2.1 定义
Prompt Engineering 是通过设计输入提示(Prompt),来引导模型生成符合预期输出的技术。
2.2 核心目标
- 控制输出格式(JSON / Markdown)
- 控制推理方式(是否分步思考)
- 控制角色与风格
2.3 常见技术
(1)指令设计(Instruction)
1 | 你是一个Java面试官,请结构化回答问题 |
(2)Few-shot 示例
1 | Q: 什么是线程安全? |
(3)思维链(Chain-of-Thought)
1 | 请一步一步推理再给出答案 |
(4)输出约束
1 | 请用JSON格式输出 |
2.4 优缺点
✅ 优点
- 成本低,见效快
- 无需改模型或系统
❌ 缺点
- 不稳定(对输入敏感)
- 无法补充模型知识盲区
2.5 一句话总结
Prompt Engineering 本质是在控制模型“怎么思考、怎么表达”。
三、Context Engineering(上下文工程)
3.1 定义
Context Engineering 是通过构造和管理输入上下文,使模型在回答前“拥有正确的信息”。
3.2 核心问题
- 给多少上下文?
- 给哪些内容?
- 如何组织上下文?
3.3 核心技术
(1)RAG(检索增强生成)
流程:
1 | 用户问题 → 向量检索 → 相关文档 → 拼接上下文 → LLM回答 |
(2)Chunking(分块策略)
- 固定长度分块
- 语义分块
- 滑动窗口
(3)上下文压缩
- 摘要压缩
- 重排序(Re-ranking)
- 去重
(4)Memory 机制
- 短期记忆(对话历史)
- 长期记忆(向量库 / 数据库)
3.4 优缺点
✅ 优点
- 弥补模型知识不足
- 提升回答准确率
❌ 缺点
- 上下文窗口有限
- 检索质量决定上限
3.5 一句话总结
Context Engineering 本质是在控制模型“知道什么再回答”。
四、Harness Engineering(编排工程)
4.1 定义
Harness Engineering 是将大模型、多工具、多步骤组织成完整系统的工程能力。
4.2 核心能力
(1)多步推理(Multi-step)
- Plan → Act → Reflect
(2)工具调用(Tool Use)
- 搜索引擎
- 数据库查询
- API调用
(3)Agent循环(ReAct)
1 | Thought → Action → Observation → Thought → ... |
(4)错误处理
- 重试(Retry)
- 降级(Fallback)
- 超时控制
(5)输出校验
- JSON Schema校验
- 格式纠错
4.3 示例流程
1 | 用户问题 |
4.4 优缺点
✅ 优点
- 可构建复杂系统(Agent / Copilot)
- 提高稳定性和可控性
❌ 缺点
- 系统复杂度高
- 调试成本高
4.5 一句话总结
Harness Engineering 本质是在控制模型“如何一步步完成任务”。
五、三者关系与分层架构
5.1 分层结构
1 | 应用层(Agent / RAG / Copilot) |
5.2 类比理解
| 层级 | 类比 |
|---|---|
| Prompt | 提问方式 |
| Context | 提供资料 |
| Harness | 做题流程 |
5.3 关键结论(面试高频)
Prompt Engineering 是局部优化
Context Engineering 是信息优化
Harness Engineering 是系统级优化
六、典型系统设计(结合RAG / Agent)
6.1 RAG系统
1 | 用户问题 |
👉 重点在:
- Context Engineering
6.2 Agent系统
1 | 用户问题 |
👉 重点在:
- Harness Engineering
七、面试高频问题与回答模板
❓问题1:三者有什么区别?
✅ 标准回答:
Prompt Engineering 主要解决如何设计输入,让模型输出更符合预期;
Context Engineering 解决的是给模型提供哪些信息;
Harness Engineering 则是从系统角度,组织模型和工具完成复杂任务。
❓问题2:哪个最重要?
✅ 推荐回答:
在简单任务中 Prompt 就够了,但在实际工程中,
Context Engineering 和 Harness Engineering 更关键,因为它们决定了系统的上限和稳定性。
❓问题3:RAG属于哪一层?
✅ 回答:
RAG主要属于 Context Engineering,但在实际系统中也会涉及 Harness(检索流程)和 Prompt设计。
❓问题4:Agent属于哪一层?
✅ 回答:
Agent主要属于 Harness Engineering,因为它涉及任务拆解、工具调用和多轮推理。
八、总结
Prompt Engineering -> 怎么问
Context Engineering -> 怎么记
Harness Engineering -> 怎么管