四次范式跃迁
概述
AI 工程经历了四次范式跃迁:Prompt → Context → Harness → Loop。这四次跃迁标志着 AI 工程从”如何向模型提问”的手工艺,走向”如何构建自主 Agent 系统”的工程科学。每一次跃迁都解决了一个核心问题,但都不是替代,而是层叠。
第一次跃迁:Prompt 范式
解决了什么问题
在 AI 模型出现之初,人们发现:同样的模型,不同的提问方式会得到完全不同的答案。Prompt 范式解决的核心问题是:如何让模型输出我们想要的结果。
核心理念
“说清楚你想要什么,模型就会给你什么”——但这需要技巧。Prompt 范式探索了如何通过提示词设计来引导模型行为。
关键技术
- 角色设定 (Role Prompting):给模型分配一个专业角色,引导其回答风格和知识范围
- Few-Shot Learning:通过在 Prompt 中提供示例,让模型理解期望的输出格式
- Chain-of-Thought (CoT):要求模型”一步一步思考”,将复杂推理分解为可验证的步骤
- Negative Prompting:明确告诉模型”不要做什么”,防止幻觉和偏离
- 结构化输出约束:要求模型输出 JSON、XML、Markdown 等结构化格式
经典案例
System: 你是一个资深 Python 开发者。回答问题时,先分析问题,再给出代码,最后解释代码。
User: 如何用 Python 读取 CSV 文件?
局限
- 提示词工程是”手工艺”,高度依赖经验
- 提示词效果因模型而异,缺乏可迁移性
- 提示词长度有限,无法承载大量领域知识
- 长对话中提示词效果衰减
第二次跃迁:Context 范式
解决了什么问题
Prompt 范式解决了”怎么说”的问题,但 Agent 需要”知道什么”才能做出正确决策。Context 范式解决的核心问题是:如何管理和注入模型需要的背景信息。
核心理念
“模型的能力上限由上下文决定”——不是改模型,而是管理模型的输入。好的上下文管理能让同样的模型表现天差地别。
关键技术
- RAG (Retrieval-Augmented Generation):从外部知识库检索相关信息,动态注入上下文
- 信息密度优化:在有限的 token 预算中,放入最有信息价值的内容
- 漏斗模型:摘要 → 全文的分层加载策略
- 上下文窗口管理:长对话中历史消息的保留、裁剪和压缩策略
- 渐进式上下文加载:按需加载,避免一次性塞入过多信息
经典案例
用户问”如何优化数据库查询”,系统先检索相关知识文档,将检索到的文档片段注入上下文,模型基于这些片段生成回答——这就是 RAG 的基本流程。
核心突破
Context 范式标志着一个重要转变:从”教模型”到”给模型信息”。与其试图让模型记住所有知识,不如在需要时动态提供相关知识。
第三次跃迁:Harness 范式
解决了什么问题
有了好的提示词和正确的上下文,还需要一个”好的环境”来约束模型行为。Harness 范式解决的核心问题是:如何设计 Agent 的运行环境,使其行为可预测、可控制。
核心理念
“环境决定行为”——Agent 的行为受其运行环境的约束。通过设计环境(文件夹结构、链接规则、工具协议),可以引导 Agent 做出期望的行为。
关键技术
- 文件系统约束:用目录结构表达知识层级,Agent 通过导航文件系统来理解知识
- WikiLink 约束:
[[概念-WikiLink]]不仅是导航工具,更是”知识存在性”的声明——无链接即不存在 - 工具协议 (MCP):标准化的工具调用协议,约束 Agent 如何与外部交互
- Agent 配置文件 (Agent.md):声明式配置定义 Agent 的行为边界和能力
- 沙箱隔离:在隔离环境中执行 Agent 生成的代码,保护系统安全
经典案例
本 Obsidian Vault 的 Harness 层设计:
- 文件夹结构:
笔记/→深挖/→对比/的层级组织 - WikiLink 约束:每篇笔记中的
[[概念-WikiLink]]必须是已存在的笔记 - Agent.md:定义了 Agent 的导航规则、处理逻辑和输出格式
核心突破
Harness 范式让 AI 工程从”编写提示词”升级为”设计环境”。环境设计是可复用的、可测试的、可工程化的——这标志着 AI 工程走向成熟。
第四次跃迁:Loop 范式
解决了什么问题
前三层范式解决了”单次交互”的问题,但复杂任务需要多步执行。Loop 范式解决的核心问题是:如何让 Agent 自主地持续执行任务。
核心理念
“让系统自己转起来”——Agent 不是被动回答问题的,而是主动感知、思考、行动、观察的自主系统。
关键技术
- Perceive-Think-Act-Observe 循环:4 步闭环,Agent 持续运行直到任务完成
- 任务分解 (Task Decomposition):将复杂任务分解为可执行的子任务
- 自我纠错 (Self-Correction):观察执行结果,发现错误后自动修正
- 记忆系统 (Memory):短期记忆(对话历史)+ 长期记忆(持久化存储)
- 多 Agent 协作:多个 Agent 分工协作,通过 A2A 协议通信
经典案例
Perceive: 用户说"帮我整理本周的会议记录"
↓
Think: 需要先获取本周会议列表,然后逐个获取纪要,最后汇总
↓
Act: 调用日历 API 获取会议列表 → 调用妙记 API 获取纪要
↓
Observe: 获取到 5 个会议,3 个有纪要,2 个缺失
↓
Perceive: 3 个有纪要,2 个缺失
↓
Think: 汇总 3 个纪要,标记 2 个缺失
↓
Act: 生成汇总报告,标注缺失项
↓
Observe: 报告已生成,用户确认满意
↓
循环结束
核心突破
Loop 范式让 AI 从”被动回答”转向”主动执行”。Agent 不再是一个工具,而是一个能独立完成任务的”数字同事”。
为什么不是替代而是层叠
| 范式 | 建立在 | 核心贡献 | 如果去掉会怎样 |
|---|---|---|---|
| Prompt | 无 | 提示词设计 | 后续所有层失去基础,模型不知道要做什么 |
| Context | Prompt 之上 | 信息注入 | 模型只有提示词,缺乏领域知识 |
| Harness | Prompt + Context 之上 | 环境约束 | 模型行为不可控,可能越界或出错 |
| Loop | 前三层之上 | 自主循环 | 只能单次交互,无法完成复杂任务 |
每一层都依赖于下面所有层。去掉任何一层,上层就会失去支撑。四层范式共同构成了完整的 AI 工程体系。
本 Vault 的四层范式实现
这个 Obsidian Vault 本身就是四层范式的完整演示:
| 范式层 | Vault 中的实现 | 具体表现 |
|---|---|---|
| Prompt 层 | Agent.md 中的提示词纪律 | 角色设定、输出格式、约束声明 |
| Context 层 | 摘要.md 漏斗架构 | 先读摘要 → 按需读全文 → 渐进式加载 |
| Harness 层 | 文件夹结构 + WikiLink | 知识层级导航、链接约束、存在性保证 |
| Loop 层 | Perceive-Think-Act-Observe | Agent 自主导航、多步推理、自我纠错 |
相关笔记
- AI 工程范式演化 - AI 工程范式演化总览
- 第12章 · 提示词工程 - Prompt 工程章节
- 上下文工程 - 上下文工程详解
- Harness 工程:给 AI 搭工作台 - Harness 工程详解
- Loop 工程:让 AI 自己转起来 - Loop 工程详解
- 漏斗架构 - 漏斗架构详解
- AI 应用层知识图谱 - 知识图谱
来源
- Anthropic Context Engineering: https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
- Prompt Engineering Guide: https://www.promptingguide.ai/
- 范式跃迁理论讨论: https://blog.langchain.dev/context-engineering/
- MCP 规范: https://spec.modelcontextprotocol.io/