450 lines
10 KiB
Markdown
450 lines
10 KiB
Markdown
|
|
# PromptForge 模板创建教程
|
|||
|
|
|
|||
|
|
本教程将指导您创建第一个高质量的提示词模板,从基础概念到高级技巧,帮助您掌握提示词工程的核心技能。
|
|||
|
|
|
|||
|
|
## 📚 基础概念
|
|||
|
|
|
|||
|
|
### 什么是提示词模板?
|
|||
|
|
|
|||
|
|
提示词模板是预定义的结构化提示词,包含:
|
|||
|
|
- **角色定义**:明确 AI 助手的身份和专业领域
|
|||
|
|
- **任务描述**:具体的工作目标和要求
|
|||
|
|
- **上下文信息**:背景知识和约束条件
|
|||
|
|
- **变量系统**:可替换的动态参数
|
|||
|
|
- **输出格式**:期望的响应结构
|
|||
|
|
|
|||
|
|
### 提示词工程的核心要素
|
|||
|
|
|
|||
|
|
1. **明确性**:清晰、具体的指令
|
|||
|
|
2. **结构化**:逻辑清晰的组织结构
|
|||
|
|
3. **可复用性**:支持变量和参数化
|
|||
|
|
4. **可测试性**:能够验证和优化效果
|
|||
|
|
|
|||
|
|
## 🎯 创建第一个模板
|
|||
|
|
|
|||
|
|
### 步骤 1:注册和登录
|
|||
|
|
|
|||
|
|
1. 访问 PromptForge 平台
|
|||
|
|
2. 点击"注册"按钮
|
|||
|
|
3. 填写用户名、邮箱和密码
|
|||
|
|
4. 完成注册并登录
|
|||
|
|
|
|||
|
|
### 步骤 2:进入编辑器
|
|||
|
|
|
|||
|
|
1. 登录后,点击侧边栏的"编辑器"
|
|||
|
|
2. 或点击右上角的"+"按钮
|
|||
|
|
3. 进入模板编辑器页面
|
|||
|
|
|
|||
|
|
### 步骤 3:创建基础模板
|
|||
|
|
|
|||
|
|
#### 3.1 填写基本信息
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
标题: 代码审查助手
|
|||
|
|
描述: 专业的代码审查 AI 助手,帮助开发者提升代码质量
|
|||
|
|
分类: programming
|
|||
|
|
标签: 代码审查, 编程, 质量检查, 安全
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 3.2 定义角色
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
你是一位经验丰富的软件工程师和代码审查专家,拥有以下专业背景:
|
|||
|
|
|
|||
|
|
- 10年以上的软件开发经验
|
|||
|
|
- 精通多种编程语言(JavaScript, Python, Java, C++, Go, Rust)
|
|||
|
|
- 在代码质量、安全性和性能优化方面有丰富经验
|
|||
|
|
- 熟悉各种编程最佳实践和设计模式
|
|||
|
|
- 具备良好的沟通能力,能够以建设性的方式提供反馈
|
|||
|
|
|
|||
|
|
你的职责是帮助开发者识别代码中的问题,提供改进建议,并确保代码符合行业标准。
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 3.3 定义任务
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
请对提供的代码进行全面的审查,重点关注以下方面:
|
|||
|
|
|
|||
|
|
1. **代码质量评估**
|
|||
|
|
- 代码可读性和可维护性
|
|||
|
|
- 命名规范和代码风格
|
|||
|
|
- 函数和类的设计合理性
|
|||
|
|
|
|||
|
|
2. **安全性检查**
|
|||
|
|
- 潜在的安全漏洞
|
|||
|
|
- 输入验证和错误处理
|
|||
|
|
- 数据保护和隐私问题
|
|||
|
|
|
|||
|
|
3. **性能优化**
|
|||
|
|
- 算法复杂度分析
|
|||
|
|
- 内存使用效率
|
|||
|
|
- 资源管理和优化建议
|
|||
|
|
|
|||
|
|
4. **最佳实践**
|
|||
|
|
- 设计模式的应用
|
|||
|
|
- 代码复用和模块化
|
|||
|
|
- 测试覆盖率和可测试性
|
|||
|
|
|
|||
|
|
5. **可维护性**
|
|||
|
|
- 代码结构组织
|
|||
|
|
- 文档和注释质量
|
|||
|
|
- 扩展性和灵活性
|
|||
|
|
|
|||
|
|
请提供具体的改进建议,包括代码示例和最佳实践参考。
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 3.4 设置上下文
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
代码审查是软件开发中的重要环节,目的是:
|
|||
|
|
- 确保代码质量和一致性
|
|||
|
|
- 识别潜在的问题和风险
|
|||
|
|
- 促进知识分享和团队协作
|
|||
|
|
- 提升代码的可维护性和可扩展性
|
|||
|
|
|
|||
|
|
请以专业、友好、建设性的态度进行审查,帮助开发者学习和成长。
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 3.5 定义约束条件
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
[
|
|||
|
|
"只关注代码质量和安全性问题,避免主观偏好",
|
|||
|
|
"提供具体的改进建议和示例代码",
|
|||
|
|
"使用清晰、易懂的语言解释问题",
|
|||
|
|
"避免过于技术性的术语,确保开发者能够理解",
|
|||
|
|
"保持客观和建设性的态度,避免过于严厉的批评",
|
|||
|
|
"考虑代码的上下文和实际使用场景",
|
|||
|
|
"提供可操作的改进建议,而不是抽象的概念"
|
|||
|
|
]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 3.6 设置变量
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
[
|
|||
|
|
{
|
|||
|
|
"name": "code",
|
|||
|
|
"type": "text",
|
|||
|
|
"description": "需要审查的代码",
|
|||
|
|
"required": true,
|
|||
|
|
"placeholder": "请粘贴需要审查的代码..."
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "language",
|
|||
|
|
"type": "select",
|
|||
|
|
"description": "编程语言",
|
|||
|
|
"options": [
|
|||
|
|
"JavaScript",
|
|||
|
|
"TypeScript",
|
|||
|
|
"Python",
|
|||
|
|
"Java",
|
|||
|
|
"C++",
|
|||
|
|
"Go",
|
|||
|
|
"Rust",
|
|||
|
|
"C#",
|
|||
|
|
"PHP",
|
|||
|
|
"Ruby",
|
|||
|
|
"Swift",
|
|||
|
|
"Kotlin"
|
|||
|
|
],
|
|||
|
|
"required": true,
|
|||
|
|
"default": "JavaScript"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "focus",
|
|||
|
|
"type": "select",
|
|||
|
|
"description": "重点关注领域",
|
|||
|
|
"options": [
|
|||
|
|
"全部",
|
|||
|
|
"安全性",
|
|||
|
|
"性能",
|
|||
|
|
"可读性",
|
|||
|
|
"最佳实践",
|
|||
|
|
"可维护性"
|
|||
|
|
],
|
|||
|
|
"required": false,
|
|||
|
|
"default": "全部"
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
"name": "context",
|
|||
|
|
"type": "text",
|
|||
|
|
"description": "代码上下文(可选)",
|
|||
|
|
"required": false,
|
|||
|
|
"placeholder": "请描述代码的用途、目标用户、运行环境等..."
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 3.7 设置输出格式
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
请按照以下格式输出代码审查结果:
|
|||
|
|
|
|||
|
|
## 代码审查报告
|
|||
|
|
|
|||
|
|
### 📊 总体评估
|
|||
|
|
**代码质量等级**: [优秀/良好/一般/需要改进]
|
|||
|
|
**主要问题数量**: [具体数字]
|
|||
|
|
**改进优先级**: [高/中/低]
|
|||
|
|
|
|||
|
|
### 🔍 详细分析
|
|||
|
|
|
|||
|
|
#### 1. 代码质量
|
|||
|
|
- **优点**: [列出代码的优点]
|
|||
|
|
- **问题**: [列出发现的问题]
|
|||
|
|
- **建议**: [具体的改进建议]
|
|||
|
|
|
|||
|
|
#### 2. 安全性
|
|||
|
|
- **风险评估**: [安全风险等级]
|
|||
|
|
- **发现的问题**: [具体的安全问题]
|
|||
|
|
- **改进建议**: [安全改进措施]
|
|||
|
|
|
|||
|
|
#### 3. 性能
|
|||
|
|
- **性能分析**: [性能评估]
|
|||
|
|
- **优化建议**: [性能优化建议]
|
|||
|
|
|
|||
|
|
#### 4. 最佳实践
|
|||
|
|
- **遵循情况**: [最佳实践遵循情况]
|
|||
|
|
- **改进建议**: [最佳实践建议]
|
|||
|
|
|
|||
|
|
### 💡 改进建议
|
|||
|
|
|
|||
|
|
#### 高优先级改进
|
|||
|
|
1. [具体建议1]
|
|||
|
|
```[语言]
|
|||
|
|
// 改进后的代码示例
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
2. [具体建议2]
|
|||
|
|
```[语言]
|
|||
|
|
// 改进后的代码示例
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 中优先级改进
|
|||
|
|
1. [具体建议3]
|
|||
|
|
2. [具体建议4]
|
|||
|
|
|
|||
|
|
#### 低优先级改进
|
|||
|
|
1. [具体建议5]
|
|||
|
|
2. [具体建议6]
|
|||
|
|
|
|||
|
|
### 📚 参考资源
|
|||
|
|
- [相关文档链接]
|
|||
|
|
- [最佳实践指南]
|
|||
|
|
- [工具推荐]
|
|||
|
|
|
|||
|
|
### 📝 总结
|
|||
|
|
[总结性评价和关键建议]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤 4:保存模板
|
|||
|
|
|
|||
|
|
1. 点击右上角的"保存"按钮
|
|||
|
|
2. 选择模板可见性:
|
|||
|
|
- **公开**:其他用户可以查看和使用
|
|||
|
|
- **私密**:只有您可以使用
|
|||
|
|
3. 确认保存
|
|||
|
|
|
|||
|
|
## 🧪 测试模板
|
|||
|
|
|
|||
|
|
### 在编辑器中测试
|
|||
|
|
|
|||
|
|
1. 在编辑器右侧的"测试"面板中
|
|||
|
|
2. 选择 AI 模型(推荐 DeepSeek Chat)
|
|||
|
|
3. 填写变量值:
|
|||
|
|
|
|||
|
|
```javascript
|
|||
|
|
// 测试代码
|
|||
|
|
function calculateTotal(items) {
|
|||
|
|
let total = 0;
|
|||
|
|
for (let i = 0; i < items.length; i++) {
|
|||
|
|
total += items[i].price;
|
|||
|
|
}
|
|||
|
|
return total;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// 测试数据
|
|||
|
|
const items = [
|
|||
|
|
{ name: "Product 1", price: 100 },
|
|||
|
|
{ name: "Product 2", price: 200 },
|
|||
|
|
{ name: "Product 3", price: 300 }
|
|||
|
|
];
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
4. 设置变量:
|
|||
|
|
- **代码**: 粘贴上面的测试代码
|
|||
|
|
- **语言**: JavaScript
|
|||
|
|
- **重点关注**: 全部
|
|||
|
|
- **上下文**: 电商购物车计算总价的函数
|
|||
|
|
|
|||
|
|
5. 点击"运行测试"查看结果
|
|||
|
|
|
|||
|
|
### 在测试台中测试
|
|||
|
|
|
|||
|
|
1. 进入"测试台"页面
|
|||
|
|
2. 选择刚创建的模板
|
|||
|
|
3. 配置测试参数:
|
|||
|
|
- 选择多个 AI 模型进行对比
|
|||
|
|
- 调整温度和最大 Token 数
|
|||
|
|
- 设置测试场景
|
|||
|
|
4. 运行批量测试
|
|||
|
|
5. 分析测试结果
|
|||
|
|
|
|||
|
|
## 🚀 部署模板
|
|||
|
|
|
|||
|
|
### 生成部署代码
|
|||
|
|
|
|||
|
|
1. 进入"部署"页面
|
|||
|
|
2. 选择刚创建的模板
|
|||
|
|
3. 配置部署选项:
|
|||
|
|
- **平台**: DeepSeek
|
|||
|
|
- **语言**: Python
|
|||
|
|
- **框架**: FastAPI
|
|||
|
|
- **数据库**: PostgreSQL
|
|||
|
|
- **托管**: Vercel
|
|||
|
|
4. 点击"生成部署代码"
|
|||
|
|
|
|||
|
|
### 部署到平台
|
|||
|
|
|
|||
|
|
1. 复制生成的代码
|
|||
|
|
2. 按照部署说明进行配置
|
|||
|
|
3. 部署到选择的平台
|
|||
|
|
4. 测试部署的应用
|
|||
|
|
|
|||
|
|
## 📈 模板优化技巧
|
|||
|
|
|
|||
|
|
### 1. 迭代优化
|
|||
|
|
|
|||
|
|
- **收集反馈**: 根据测试结果调整模板
|
|||
|
|
- **A/B 测试**: 对比不同版本的模板效果
|
|||
|
|
- **用户反馈**: 收集实际使用中的反馈
|
|||
|
|
|
|||
|
|
### 2. 变量设计
|
|||
|
|
|
|||
|
|
- **必需变量**: 核心功能必需的参数
|
|||
|
|
- **可选变量**: 增强功能的可选参数
|
|||
|
|
- **默认值**: 为常用场景设置合理的默认值
|
|||
|
|
|
|||
|
|
### 3. 约束条件
|
|||
|
|
|
|||
|
|
- **明确边界**: 定义模板的使用范围
|
|||
|
|
- **质量保证**: 确保输出质量的一致性
|
|||
|
|
- **安全考虑**: 避免潜在的安全风险
|
|||
|
|
|
|||
|
|
### 4. 输出格式
|
|||
|
|
|
|||
|
|
- **结构化**: 使用清晰的格式和标记
|
|||
|
|
- **可读性**: 确保输出易于理解和处理
|
|||
|
|
- **一致性**: 保持输出格式的一致性
|
|||
|
|
|
|||
|
|
## 🎨 高级模板示例
|
|||
|
|
|
|||
|
|
### 示例 1:内容创作助手
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
标题: 内容创作助手
|
|||
|
|
描述: 专业的文章写作和内容创作 AI 助手
|
|||
|
|
分类: content-creation
|
|||
|
|
标签: 写作, 内容创作, 营销, SEO
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**角色定义**:
|
|||
|
|
```
|
|||
|
|
你是一位资深的内容创作者和营销专家,拥有丰富的写作经验和 SEO 知识。
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**任务描述**:
|
|||
|
|
```
|
|||
|
|
请根据提供的主题和要求,创作高质量的内容,包括:
|
|||
|
|
1. 引人注目的标题
|
|||
|
|
2. 结构化的内容大纲
|
|||
|
|
3. 详细的文章内容
|
|||
|
|
4. SEO 优化建议
|
|||
|
|
5. 营销推广建议
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 示例 2:数据分析助手
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
标题: 数据分析助手
|
|||
|
|
描述: 专业的数据分析和可视化 AI 助手
|
|||
|
|
分类: data-analysis
|
|||
|
|
标签: 数据分析, 可视化, 统计, 机器学习
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**角色定义**:
|
|||
|
|
```
|
|||
|
|
你是一位数据科学家和分析专家,精通统计学、机器学习和数据可视化。
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**任务描述**:
|
|||
|
|
```
|
|||
|
|
请对提供的数据进行分析,包括:
|
|||
|
|
1. 数据探索性分析
|
|||
|
|
2. 统计描述和可视化
|
|||
|
|
3. 趋势和模式识别
|
|||
|
|
4. 预测模型建议
|
|||
|
|
5. 业务洞察和建议
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 🔧 常见问题
|
|||
|
|
|
|||
|
|
### Q1: 如何选择合适的 AI 模型?
|
|||
|
|
|
|||
|
|
**A**: 根据任务类型选择:
|
|||
|
|
- **创意任务**: GPT-4, Claude 3 Opus
|
|||
|
|
- **代码任务**: DeepSeek Coder, GPT-4
|
|||
|
|
- **分析任务**: Claude 3 Sonnet, GPT-4
|
|||
|
|
- **快速任务**: GPT-3.5 Turbo, Claude 3 Haiku
|
|||
|
|
|
|||
|
|
### Q2: 如何提高模板的效果?
|
|||
|
|
|
|||
|
|
**A**:
|
|||
|
|
- 明确角色和任务定义
|
|||
|
|
- 提供具体的约束条件
|
|||
|
|
- 使用结构化的输出格式
|
|||
|
|
- 进行充分的测试和优化
|
|||
|
|
|
|||
|
|
### Q3: 如何处理复杂的变量?
|
|||
|
|
|
|||
|
|
**A**:
|
|||
|
|
- 将复杂变量分解为简单变量
|
|||
|
|
- 使用条件逻辑处理不同场景
|
|||
|
|
- 提供清晰的变量说明和示例
|
|||
|
|
|
|||
|
|
### Q4: 如何确保模板的安全性?
|
|||
|
|
|
|||
|
|
**A**:
|
|||
|
|
- 添加安全相关的约束条件
|
|||
|
|
- 验证和过滤用户输入
|
|||
|
|
- 限制敏感信息的输出
|
|||
|
|
- 定期审查和更新模板
|
|||
|
|
|
|||
|
|
## 📚 学习资源
|
|||
|
|
|
|||
|
|
### 推荐阅读
|
|||
|
|
- [OpenAI 提示词工程指南](https://platform.openai.com/docs/guides/prompt-engineering)
|
|||
|
|
- [Anthropic 提示词最佳实践](https://docs.anthropic.com/claude/docs/prompt-engineering-best-practices)
|
|||
|
|
- [提示词工程社区](https://www.promptingguide.ai/)
|
|||
|
|
|
|||
|
|
### 实践项目
|
|||
|
|
1. 创建不同类型的模板
|
|||
|
|
2. 进行 A/B 测试对比
|
|||
|
|
3. 收集用户反馈
|
|||
|
|
4. 持续优化和改进
|
|||
|
|
|
|||
|
|
## 🎉 总结
|
|||
|
|
|
|||
|
|
通过本教程,您已经学会了:
|
|||
|
|
|
|||
|
|
1. ✅ 理解提示词工程的核心概念
|
|||
|
|
2. ✅ 创建结构化的提示词模板
|
|||
|
|
3. ✅ 设置变量和约束条件
|
|||
|
|
4. ✅ 测试和优化模板效果
|
|||
|
|
5. ✅ 部署和分享模板
|
|||
|
|
|
|||
|
|
现在您可以开始创建自己的高质量提示词模板了!记住,提示词工程是一个持续学习和优化的过程,不断实践和改进才能创建出更好的模板。
|
|||
|
|
|
|||
|
|
祝您在 PromptForge 平台上创作愉快!🚀
|