Prompt Engineering 已过时!Context Engineering 才是 AI 编程的终极杀器

0 阅读5分钟

💡 比 Prompt 强 10 倍,比 Vibe Coding 强 100 倍  

**难度: ** ⭐⭐⭐ 进阶 | **阅读时间: ** 8 分钟


前言

**一个颠覆认知的事实: **

大多数 AI 编程失败,不是模型不行,而是上下文不行

你还在:

  • ❌ 绞尽脑汁写"完美提示词"

  • ❌ 反复调整措辞和语气

  • ❌ 每次都要重新解释项目结构

高手已经:

  • ✅ 构建完整的上下文系统

  • ✅ 让 AI 自动遵循项目规范

  • ✅ 一次设置,重复使用

**这就是 Context Engineering(上下文工程)的力量。 **


什么是 Context Engineering?

Prompt Engineering vs Context Engineering

| 维度 | Prompt Engineering | Context Engineering |

|------|-------------------|---------------------|

| 核心 | 巧妙的措辞 | 完整的上下文系统 |

| 范围 | 单次任务描述 | 文档 + 示例 + 规则 + 验证 |

| 比喻 | 给别人一张便利贴 | 写一部完整的剧本 |

| 效果 | 临时解决 | 系统性解决 |

**简单理解: **


Prompt Engineering = 如何说

Context Engineering = 说什么 + 怎么说 + 为什么这么说

为什么 Context Engineering 很重要

  1. 减少 AI 失败:80% 的 AI 失败是上下文缺失导致的

  2. 确保一致性:AI 自动遵循你的项目规范

  3. 实现复杂功能:AI 可以处理多步骤、跨文件的实现

  4. 自我纠正:验证循环让 AI 能修复自己的错误


核心框架:CLAP 模型

我总结了 Context Engineering 的四大支柱:


┌──────────────────────────────────────────┐

│         Context Engineering              │

├──────────────────────────────────────────┤

│  C - Context(上下文)                    │

│  ├─ 项目结构文档                          │

│  ├─ 技术栈说明                            │

│  └─ 业务逻辑说明                          │

├──────────────────────────────────────────┤

│  L - Libraries(库与工具)                │

│  ├─ 使用的框架和库                        │

│  ├─ 版本约束                              │

│  └─ API 文档链接                          │

├──────────────────────────────────────────┤

│  A - Architecture(架构)                 │

│  ├─ 代码组织模式                          │

│  ├─ 文件命名规范                          │

│  └─ 模块依赖关系                          │

├──────────────────────────────────────────┤

│  P - Patterns(模式与示例)               │

│  ├─ 代码示例                              │

│  ├─ 常见陷阱                              │

│  └─ 最佳实践                              │

└──────────────────────────────────────────┘


5 分钟快速开始

1. 创建项目规则文件(CLAUDE.md)

在项目根目录创建 CLAUDE.md


# 项目全局规则

  


## 项目结构

- src/ - 源代码

- tests/ - 单元测试

- docs/ - 文档

  


## 代码规范

- 使用 TypeScript

- 函数不超过 50 行

- 每个文件必须有文档字符串

  


## 测试要求

- 单元测试覆盖率 > 80%

- 使用 Jest 测试框架

2. 创建示例文件夹(examples/)


examples/

├── api-calls/           # API 调用示例

├── error-handling/      # 错误处理示例

├── database/            # 数据库操作示例

└── ui-components/       # UI 组件示例

**示例的力量: ** AI 从具体代码中学习最好。

3. 编写功能请求(INITIAL.md)


## FEATURE:

使用 BeautifulSoup 构建异步网络爬虫,从电商网站提取产品数据,

处理速率限制,并将结果存储在 PostgreSQL 中

  


## EXAMPLES:

- examples/api-calls/async-fetch.ts - 异步请求模式

- examples/error-handling/retry.ts - 重试机制

  


## DOCUMENTATION:

- https://www.beautifulsoup.com/docs/

- https://www.postgresql.org/docs/

  


## OTHER CONSIDERATIONS:

- 需要处理速率限制(每秒最多 5 请求)

- 需要处理反爬虫机制

- 数据需要去重

4. 生成 PRP(产品需求提示)

在 Claude Code 中运行:


/generate-prp INITIAL.md

PRP 会包含:

  • 完整的上下文和文档

  • 带验证的实现步骤

  • 错误处理模式

  • 测试要求

5. 执行 PRP


/execute-prp PRPs/your-feature-name.md

AI 将:

  1. 读取所有上下文

  2. 创建详细实现计划

  3. 逐步执行并验证

  4. 运行测试并修复问题


实战演示

示例 1:API 集成

**WITHOUT Context Engineering: **


帮我写一个 API 调用

→ AI 不知道用什么库、什么认证方式、什么错误处理

**WITH Context Engineering: **


按照 examples/api-calls/ 中的模式,

调用 GitHub API 获取用户信息

参考 CLAUDE.md 中的错误处理规范

→ AI 知道用什么库、什么认证、什么错误处理

示例 2:数据库操作

**WITHOUT: **


帮我写个数据库查询

→ AI 不知道用什么 ORM、什么表结构

**WITH: **


按照 examples/database/ 中的 Repository 模式,

查询用户表,参考 docs/schema.md 中的表结构

使用 CLAUDE.md 中指定的 TypeORM

→ AI 知道用什么模式、什么表、什么 ORM


高级技巧

1. 创建领域特定模板


templates/

├── api-integration/     # API 集成模板

├── database-migration/  # 数据库迁移模板

├── ui-component/        # UI 组件模板

└── test-suite/          # 测试套件模板

2. 使用多个 PRP

对于复杂功能,拆分为多个 PRP:


/generate-prp INITIAL_part1.md  # 后端 API

/generate-prp INITIAL_part2.md  # 前端界面

/generate-prp INITIAL_part3.md  # 测试用例

3. 建立验证循环

在 PRP 中包含自动验证:


## 验证步骤

1. 运行 `npm test` - 所有测试必须通过

2. 运行 `npm run lint` - 无错误

3. 手动测试:[具体步骤]

4. 性能检查:[指标要求]


最佳实践

✅ 应该做的

| 实践 | 说明 |

|------|------|

| 从 INITIAL.md 开始 | 始终先写下你的想法 |

| 使用示例 | 提供代码示例供 AI 模仿 |

| 迭代改进 | 根据结果改进上下文 |

| 记录决策 | 在 CLAUDE.md 中记录项目决策 |

| 运行验证 | 始终验证 AI 的输出 |

❌ 不应该做的

| 错误 | 后果 |

|------|------|

| 假设上下文 | AI 会误解需求 |

| 跳过示例 | AI 无法学习模式 |

| 一次性全部完成 | 容易出错,难调试 |

| 不更新上下文 | 项目演进后上下文失效 |


常见问题

Q1: Context Engineering 适合什么规模的项目?

**A: ** 从小型项目(100 行代码)到大型项目(10 万 + 行代码)都适用。关键是上下文的组织方式。

Q2: 我需要为每个功能创建 INITIAL.md 吗?

**A: ** 是的,每个功能都应该有自己的 INITIAL.md。这确保 AI 有清晰的上下文。

Q3: 如果 AI 没有遵循我的示例怎么办?

**A: ** 在 CLAUDE.md 中更明确地说明。例如:"始终遵循 examples/ 中的错误处理模式"。

Q4: 可以将此用于其他 AI 助手吗?

**A: ** 可以!虽然这是为 Claude Code 设计的,但原则适用于任何 AI 编码助手(Cursor、Cline 等)。


学习资源


总结

本文介绍了 Context Engineering 的核心概念:

  1. 是什么:提供完整上下文的系统,而非单次提示

  2. 为什么重要:减少 80% 的 AI 失败,确保一致性

  3. CLAP 模型:Context + Libraries + Architecture + Patterns

  4. 如何开始:CLAUDE.md + examples/ + INITIAL.md + PRP 工作流

**记住: ** 好的上下文 = 好的 AI 输出


关于系列

这是《AI 开发者效率手册》系列的第 3 篇,共 17 篇。

**上一篇: ** 别写 Selenium 了!让 AI 直接控制浏览器

**后续文章预告: **

  • #004 GitMCP:让 AI 读懂你的代码仓库

  • #005 LangGraph 入门:构建多 Agent 工作流

  • #006 DeerFlow:智能工作流引擎实战

  • ...(共 17 篇)

**关注我,不错过后续更新。 **


**作者: ** toyball  

**GitHub: ** github.com/toyball8607…  

已发布 17+ 开源项目 | 专注 AI 工具本地化


*本文遵守 CC BY-NC-SA 4.0 许可协议,转载请注明出处。 *