一个用于开始上下文工程的综合模板 - 上下文工程是为AI编码助手设计上下文的学科,使其具备从头到尾完成任务所需的必要信息。
上下文工程比提示工程好10倍,比氛围编码好100倍。
# 1. 克隆此模板
git clone https://github.com/coleam00/Context-Engineering-Intro.git
cd Context-Engineering-Intro
# 2. 设置项目规则(可选 - 已提供模板)
# 编辑 CLAUDE.md 添加你的项目特定指南
# 3. 添加示例(强烈推荐)
# 将相关代码示例放在 examples/ 文件夹中
# 4. 创建你的初始功能请求
# 编辑 INITIAL.md 填写你的功能需求
# 5. 生成一个全面的 PRP(产品需求提示)
# 在 Claude Code 中运行:
/generate-prp INITIAL.md
# 6. 执行 PRP 以实现你的功能
# 在 Claude Code 中运行:
/execute-prp PRPs/your-feature-name.md上下文工程代表着从传统提示工程的范式转变:
提示工程:
- 专注于巧妙的措辞和特定表达
- 仅限于如何表达任务
- 就像给某人一张便利贴
上下文工程:
- 一个提供全面上下文的完整系统
- 包括文档、示例、规则、模式和验证
- 就像编写一部完整的剧本,包含所有细节
- 减少 AI 失败:大多数代理失败不是模型失败 - 而是上下文失败
- 确保一致性:AI 遵循你的项目模式和约定
- 实现复杂功能:有了适当的上下文,AI 可以处理多步骤实现
- 自我纠正:验证循环允许 AI 修复自己的错误
context-engineering-intro/
├── .claude/
│ ├── commands/
│ │ ├── generate-prp.md # 生成全面的 PRP
│ │ └── execute-prp.md # 执行 PRP 以实现功能
│ └── settings.local.json # Claude Code 权限
├── PRPs/
│ ├── templates/
│ │ └── prp_base.md # PRP 的基础模板
│ └── EXAMPLE_multi_agent_prp.md # 完整 PRP 示例
├── examples/ # 你的代码示例(关键!)
├── CLAUDE.md # AI 助手的全局规则
├── INITIAL.md # 功能请求模板
├── INITIAL_EXAMPLE.md # 功能请求示例
└── README.md # 本文件
此模板不专注于将 RAG 和工具与上下文工程结合使用,因为我很快会有更多相关内容。;)
CLAUDE.md 文件包含 AI 助手在每次对话中都会遵循的项目范围规则。模板包括:
- 项目意识:阅读规划文档,检查任务
- 代码结构:文件大小限制,模块组织
- 测试要求:单元测试模式,覆盖率期望
- ��格约定:语言偏好,格式规则
- 文档标准:文档字符串格式,注释实践
你可以按原样使用提供的模板,也可以为你的项目自定义。
编辑 INITIAL.md 来描述你想要构建的内容:
## 功能:
[描述你想要构建���内容 - 具体说明功能和需求]
## 示例:
[列出 examples/ 文件夹中的任何示例文件,并解释应如何使用它们]
## 文档:
[包括相关文档、API 或 MCP 服务器资源的链接]
## 其他考虑因素:
[提及任何陷阱、特定要求或 AI 助手常常遗漏的事项]参见 INITIAL_EXAMPLE.md 获取完整示例。
PRP(产品需求提示)是全面的实现蓝图,包括:
- 完整的上下文和文档
- 带有验证的实现步骤
- 错误处理模式
- 测试要求
它们类似于 PRD(产品需求文档),但更专门用于指导 AI 编码助手。
在 Claude Code 中运行:
/generate-prp INITIAL.md注意: 斜杠命令是在 .claude/commands/ 中定义的自定义命令。你可以查看它们的实现:
.claude/commands/generate-prp.md- 了解它如何研究和创建 PRP.claude/commands/execute-prp.md- 了解它如何从 PRP 实现功能
这些命令中的 $ARGUMENTS 变量接收你在命令名称后传递的任何内容(例如,INITIAL.md 或 PRPs/your-feature.md)。
此命令将:
- 读取你的功能请求
- 研究代码库的模式
- 搜索相关文档
- 在
PRPs/your-feature-name.md中创建全面的 PRP
生成后,执行 PRP 以实现你的功能:
/execute-prp PRPs/your-feature-name.mdAI 编码助手将:
- 读取 PRP 中的所有上下文
- 创建详细的实现计划
- 执行每个步骤并进行验证
- 运行测试并修复任何问题
- 确保满足所有成功标准
功能:具体而全面
- ❌ "构建一个网络爬虫"
- ✅ "使用 BeautifulSoup 构建一个异步网络爬虫,从电子商务网站提取产品数据,处理速率限制,并将结果存储在 PostgreSQL 中"
示例:利用 examples/ 文件夹
- 将相关代码模式放在
examples/中 - 引用特定文件和要遵循的模式
- 解释应模仿哪些方面
文档:包括所有相关资源
- API 文档 URL
- 库指南
- MCP 服务器文档
- 数据库架构
其他考虑因素:捕���重要细节
- 身份验证要求
- 速率限制或配额
- 常见陷阱
- 性能要求
该命令遵循以下过程:
-
研究阶段
- 分析代码库的模式
- 搜索类似实现
- 识别要遵循的约定
-
文档收集
- 获取相关 API 文档
- 包括库文档
- 添加陷阱和怪癖
-
蓝图创建
- 创建逐步实现计划
- 包括验证关卡
- 添加测试要求
-
质量检查
- 评分信心水平(1-10)
- 确保包含所有上下文
- 加载上下文:读取整个 PRP
- 计划:使用 TodoWrite 创建详细任务列表
- 执行:实现每个组件
- 验证:运行测试和代码检查
- 迭代:修复发现的任何问题
- 完成:确保满足所有要求
参见 PRPs/EXAMPLE_multi_agent_prp.md 获取生成内容的完整示例。
examples/ 文件夹对成功至关重要。当 AI 编码助手能够看到要遵循的模式时,它们表现得更好。
-
代码结构模式
- 如何组织模块
- 导入约定
- 类/函数模式
-
测试模式
- 测试文件结构
- 模拟方法
- 断言风格
-
集成模式
- API 客户端实现
- 数据库连接
- 身份验证流程
-
CLI 模式
- 参数解析
- 输出格式
- 错误处理
examples/
├── README.md # 解释每个示例演示的内容
├── cli.py # CLI 实现模式
├── agent/ # 代理架构模式
│ ├── agent.py # 代理创建模式
│ ├── tools.py # 工具实现模式
│ └── providers.py # 多提供商模式
└── tests/ # 测试模式
├── test_agent.py # 单元测试模式
└── conftest.py # Pytest 配置
- 不要假设 AI 知道你的偏好
- 包括具体要求和约束
- 广泛引用示例
- 更多示例 = 更好的实现
- 既展示应该做什么,也展示不应该做什么
- 包括错误处理模式
- PRP 包括必须通过的测试命令
- AI 将迭代直到所有验证成功
- 这确保一次尝试即可得到工作代码
- 包括官方 API 文档
- 添加 MCP 服务器资源
- 引用具体的文档部分
- 添加你的约定
- 包括���目特定规则
- 定义编码标准