9.1 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
Context Engineering 模板
这是一份用于入门 Context Engineering(上下文工程)的综合模板——这门学科致力于为大模型编程助手构建上下文,使其掌握端到端完成任务所需的信息。
Context Engineering 比 prompt engineering(提示工程)好 10 倍,比 vibe coding(凭感觉写代码)好 100 倍。
🚀 快速开始
# 1. Clone this template
git clone https://github.com/coleam00/Context-Engineering-Intro.git
cd Context-Engineering-Intro
# 2. Set up your project rules (optional - template provided)
# Edit CLAUDE.md to add your project-specific guidelines
# 3. Add examples (highly recommended)
# Place relevant code examples in the examples/ folder
# 4. Create your initial feature request
# Edit INITIAL.md with your feature requirements
# 5. Generate a comprehensive PRP (Product Requirements Prompt)
# In Claude Code, run:
/generate-prp INITIAL.md
# 6. Execute the PRP to implement your feature
# In Claude Code, run:
/execute-prp PRPs/your-feature-name.md
📚 目录
什么是 Context Engineering?
Context Engineering 代表了相对传统 prompt engineering 的范式转变:
Prompt Engineering 与 Context Engineering 对比
Prompt Engineering:
- 侧重于巧妙的措辞与具体表述
- 仅限于你如何描述一项任务
- 就像给别人一张便利贴
Context Engineering:
- 一套用于提供全面上下文的完整系统
- 包含文档、示例、规则、模式和验证
- 就像撰写一份细节齐全的完整剧本
为什么 Context Engineering 很重要
- 减少 AI 失败:大多数 agent 失败并非模型能力不足,而是上下文不足
- 确保一致性:AI 会遵循你的项目模式与约定
- 支持复杂功能:在充足上下文下,AI 可以处理多步骤实现
- 自我纠正:验证循环让 AI 能够自行修复错误
模板结构
context-engineering-intro/
├── .claude/
│ ├── commands/
│ │ ├── generate-prp.md # Generates comprehensive PRPs
│ │ └── execute-prp.md # Executes PRPs to implement features
│ └── settings.local.json # Claude Code permissions
├── PRPs/
│ ├── templates/
│ │ └── prp_base.md # Base template for PRPs
│ └── EXAMPLE_multi_agent_prp.md # Example of a complete PRP
├── examples/ # Your code examples (critical!)
├── CLAUDE.md # Global rules for AI assistant
├── INITIAL.md # Template for feature requests
├── INITIAL_EXAMPLE.md # Example feature request
└── README.md # This file
本模板暂不聚焦将 RAG 与工具纳入 context engineering,因为这方面我还有更多内容即将推出。;)
分步指南
1. 设置全局规则(CLAUDE.md)
CLAUDE.md 文件包含 AI 助手在每次对话中都会遵循的项目级规则。模板包括:
- 项目感知:阅读规划文档、检查任务
- 代码结构:文件大小限制、模块组织
- 测试要求:单元测试模式、覆盖率期望
- 风格约定:语言偏好、格式化规则
- 文档标准:Docstring 格式、注释实践
你可以直接使用提供的模板,也可以按项目自行定制。
2. 创建初始功能需求
编辑 INITIAL.md,描述你想构建的内容:
## FEATURE:
[Describe what you want to build - be specific about functionality and requirements]
## EXAMPLES:
[List any example files in the examples/ folder and explain how they should be used]
## DOCUMENTATION:
[Include links to relevant documentation, APIs, or MCP server resources]
## OTHER CONSIDERATIONS:
[Mention any gotchas, specific requirements, or things AI assistants commonly miss]
完整示例见 INITIAL_EXAMPLE.md。
3. 生成 PRP
PRP(Product Requirements Prompts,产品需求提示)是包含以下内容的综合实现蓝图:
- 完整上下文与文档
- 带验证的实现步骤
- 错误处理模式
- 测试要求
它们与 PRD(Product Requirements Documents,产品需求文档)类似,但更为专门地用于指导 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
4. 执行 PRP
生成后,执行 PRP 以实现你的功能:
/execute-prp PRPs/your-feature-name.md
AI 编程助手将:
- 读取 PRP 中的全部上下文
- 制定详细的实现计划
- 逐步执行并验证
- 运行测试并修复问题
- 确保满足所有成功标准
编写高效的 INITIAL.md 文件
关键章节说明
FEATURE:具体且全面
- ❌ "构建一个网页爬虫"
- ✅ "构建一个使用 BeautifulSoup 的异步网页爬虫,从电商网站提取产品数据,处理速率限制,并将结果存入 PostgreSQL"
EXAMPLES:善用 examples/ 文件夹
- 将相关代码模式放入
examples/ - 引用应遵循的具体文件与模式
- 说明应模仿哪些方面
DOCUMENTATION:包含所有相关资源
- API 文档 URL
- 库使用指南
- MCP 服务器文档
- 数据库 schema
OTHER CONSIDERATIONS:记录重要细节
- 身份认证要求
- 速率限制或配额
- 常见陷阱
- 性能要求
PRP 工作流
/generate-prp 如何工作
该命令遵循以下流程:
-
调研阶段
- 分析代码库中的模式
- 搜索类似实现
- 识别应遵循的约定
-
文档收集
- 获取相关 API 文档
- 纳入库文档
- 补充陷阱与注意事项
-
蓝图创建
- 创建分步实现计划
- 包含验证关卡
- 添加测试要求
-
质量检查
- 评估置信度(1-10)
- 确保包含全部上下文
/execute-prp 如何工作
- 加载上下文:读取完整 PRP
- 规划:使用 TodoWrite 创建详细任务列表
- 执行:实现各个组件
- 验证:运行测试与 lint
- 迭代:修复发现的问题
- 完成:确保满足所有要求
生成内容的完整示例见 PRPs/EXAMPLE_multi_agent_prp.md。
有效使用示例
examples/ 文件夹对成功至关重要。当 AI 编程助手能看到可遵循的模式时,表现会好得多。
示例中应包含什么
-
代码结构模式
- 模块组织方式
- import 约定
- 类/函数模式
-
测试模式
- 测试文件结构
- Mock 方法
- 断言风格
-
集成模式
- API 客户端实现
- 数据库连接
- 身份认证流程
-
CLI 模式
- 参数解析
- 输出格式化
- 错误处理
示例结构
examples/
├── README.md # Explains what each example demonstrates
├── cli.py # CLI implementation pattern
├── agent/ # Agent architecture patterns
│ ├── agent.py # Agent creation pattern
│ ├── tools.py # Tool implementation pattern
│ └── providers.py # Multi-provider pattern
└── tests/ # Testing patterns
├── test_agent.py # Unit test patterns
└── conftest.py # Pytest configuration
最佳实践
1. 在 INITIAL.md 中明确说明
- 不要假设 AI 了解你的偏好
- 包含具体的要求和约束
- 大量引用示例
2. 提供全面的示例
- 示例越多 = 实现越好
- 同时展示该做什么和不该做什么
- 包含错误处理模式
3. 使用验证关卡
- PRP 包含必须通过测试命令
- AI 会迭代直到所有验证通过
- 这确保第一次就能得到可运行的代码
4. 利用文档
- 包含官方 API 文档
- 添加 MCP 服务器资源
- 引用具体的文档章节
5. 自定义 CLAUDE.md
- 添加你的约定
- 包含项目特定规则
- 定义编码标准