Prompt工程指南
AI生成声明: 本文档由AI辅助生成,旨在提供编写高效Prompt的技巧和方法。
🎯 概述
Prompt工程是Vibe Coding的核心技能,良好的Prompt能够显著提高AI生成代码的质量和准确性。
📚 Prompt编写原则
1. 明确性
清晰明确地描述需求,避免歧义。
好的示例:
"使用Python和Flask创建一个REST API,包含:
- POST /users: 用户注册,需要验证邮箱格式
- GET /users/:id: 获取用户信息
- 使用SQLite数据库存储
- 返回JSON格式响应"不好的示例:
"做个用户API" # 太模糊2. 上下文完整性
提供足够的上下文信息。
好的示例:
"在这个FastAPI项目中(已配置SQLAlchemy),
添加一个用户认证中间件,验证JWT token,
如果token无效返回401错误"3. 结构化和层次
使用结构化方式组织需求。
示例格式:
需求:
- 功能:用户登录
- 技术栈:React + TypeScript
- 要求:
1. 表单验证
2. 错误提示
3. 加载状态4. 示例驱动
提供输入输出示例。
示例:
"编写一个函数处理用户输入:
输入:'Hello World'
输出:'dlroW olleH'
要求:使用递归实现"🔧 不同类型任务的Prompt
1. 代码生成
模板
使用[语言]和[框架]实现[功能描述]:
- 需求1:...
- 需求2:...
- 技术要求:
- 使用[技术/模式]
- 包含错误处理
- 添加注释示例
使用Python实现一个装饰器,用于:
- 记录函数执行时间
- 支持异步函数
- 将日志写入文件
- 包含错误处理2. 代码重构
模板
重构以下代码,要求:
- [重构目标1]
- [重构目标2]
- 保持原有功能不变
- 提高代码可读性
[粘贴原代码]3. 代码审查
模板
审查以下代码,检查:
- 潜在bug
- 性能问题
- 安全漏洞
- 最佳实践
[粘贴代码]4. 问题解答
模板
问题:[描述问题]
上下文:[相关代码/错误信息]
环境:[技术栈/版本]
期望:[期望的结果]💡 高级技巧
1. 分步骤描述
对于复杂任务,分步骤描述:
步骤1:创建基础结构
步骤2:实现核心功能
步骤3:添加错误处理
步骤4:编写测试2. 角色扮演
让AI扮演特定角色:
"作为一个资深前端工程师,帮我设计一个响应式布局组件"3. 约束和限制
明确约束条件:
"实现一个排序算法:
- 时间复杂度:O(n log n)
- 空间复杂度:O(1)
- 不能使用内置排序函数"4. 迭代优化
逐步细化需求:
第一轮:生成基础代码
第二轮:添加错误处理
第三轮:优化性能
第四轮:添加文档📖 常见场景Prompt示例
数据库操作
"使用SQLAlchemy创建一个User模型:
- 字段:id, username, email, created_at
- 关系:User has_many Posts
- 添加查询方法:find_by_email"API开发
"创建Flask API端点:
- GET /api/users: 分页返回用户列表
- POST /api/users: 创建新用户
- 使用Marshmallow进行数据验证
- 返回标准JSON响应"前端组件
"创建React组件:
- 组件名:UserCard
- Props:user对象(包含name, avatar, bio)
- 样式:使用Tailwind CSS
- 功能:点击显示详细信息"🎯 最佳实践
1. 从简单开始
先描述核心功能,再逐步添加细节。
2. 使用专业术语
使用准确的技术术语,避免口语化。
3. 提供参考
如果有参考代码或文档,一并提供。
4. 验证和迭代
AI生成的代码需要测试,根据结果调整Prompt。
💡 下一步
最后更新时间: 2025-01-20