提示词工程实战

中级 45分钟 更新时间: 2024年8月

什么是提示词工程

提示词工程是设计和优化与AI模型交互的输入文本的艺术和科学。通过精心设计的提示词,我们可以:

  • 提高准确性:获得更精确的回答
  • 控制输出格式:指定特定的输出结构
  • 引导思维过程:让AI按照特定的逻辑思考
  • 减少歧义:避免模糊不清的回答

基本原则

1. 清晰明确

❌ 不好的提示词

用户:写个函数

✅ 好的提示词

用户:请用Python写一个函数,接收一个整数列表作为参数,返回列表中所有偶数的平方和。函数名为calculate_even_squares_sum。

2. 提供上下文

✅ 包含上下文的提示词

用户:我正在开发一个电商网站的后端API。请帮我设计一个用户认证系统的数据库表结构,需要支持邮箱登录、密码重置和会话管理功能。使用MySQL数据库。

3. 指定输出格式

✅ 指定格式的提示词

用户:分析以下代码的时间复杂度,请按照以下格式回答:

**算法分析:**
- 最佳情况:O(?)
- 平均情况:O(?)
- 最坏情况:O(?)
**解释:**
[详细解释]

高级技巧

1. 角色扮演

示例:专家角色

用户:你是一位有10年经验的Python高级工程师。请审查以下代码并提供优化建议,重点关注性能、可读性和最佳实践。

2. 分步思考

示例:引导逐步分析

用户:请帮我设计一个缓存系统。请按照以下步骤思考:
1. 首先分析需求和使用场景
2. 然后选择合适的缓存策略
3. 设计数据结构
4. 考虑并发安全
5. 最后提供实现代码

3. 示例驱动

示例:提供参考样例

用户:请为我的API编写单元测试。参考以下格式:
def test_user_creation():
    # Arrange
    user_data = {"name": "张三", "email": "test@example.com"}
    
    # Act
    response = client.post("/users", json=user_data)
    
    # Assert
    assert response.status_code == 201
    assert response.json()["name"] == "张三"

实战示例

代码审查提示词模板

请作为资深代码审查员,审查以下[编程语言]代码:

[代码内容]

请从以下方面进行评估:
1. 代码质量和可读性
2. 性能优化机会
3. 安全性问题
4. 最佳实践遵循情况
5. 潜在的bug或边界情况

请提供具体的改进建议和修改后的代码示例。

技术文档生成提示词

请为以下API接口生成完整的技术文档:

[API代码]

文档应包括:
- 接口描述和用途
- 请求参数说明(类型、是否必需、默认值)
- 响应格式和状态码
- 使用示例(curl命令和响应)
- 错误处理说明
- 注意事项

请使用Markdown格式输出。

常用模式

🎯 任务分解

将复杂任务分解为多个简单步骤,逐步完成

🔄 迭代优化

基于初始结果进行进一步的优化和改进

📋 模板化

创建可重用的提示词模板,提高效率

🎭 角色设定

让AI扮演特定角色,获得专业视角

⚠️ 注意事项

  • 避免过度复杂:提示词不是越长越好
  • 测试和验证:不同的提示词可能产生不同结果
  • 保持一致性:在同一项目中使用一致的提示词风格
  • 考虑上下文限制:注意模型的上下文长度限制