AI Prompt 设计方法论

  • ~2.60K 字
  1. 1. AI Prompt 设计方论
  2. 2. 一、提示词设计四大黄金原则
    1. 2.1. 1. 明确性法则
    2. 2.2. 2. 结构化法则
    3. 2.3. 3. 渐进法则
    4. 2.4. 4. 反馈修正法则
  3. 3. 二、六大核心方法论
    1. 3.1. 1. 角色设定法
    2. 3.2. 2.思维链(Chain-of-Thought)
    3. 3.3. 3. 示例引导法
    4. 3.4. 4. 约束条件法
    5. 3.5. 5. 对抗训练法
    6. 3.6. 6. 元提示法
  4. 4. 三、跨领域案例库
    1. 4.1. 场景1:代码生成
    2. 4.2. 场景2:数据分析
    3. 4.3. 场景3:技术文档
  5. 5. 四、常见错误及修正
    1. 5.1. 1. 模糊请求
    2. 5.2. 2. 过度开放
    3. 5.3. 3. 缺少约束

AI Prompt 设计方论

一、提示词设计四大黄金原则

1. 明确性法则

❌ 错误示范:

“写一个登录验证的代码”

✅ 正确示范:

“用Python编写FastAPI接口,实现JWT令牌校验,要求:

  • 使用HS256算法
  • 携带用户角色信息
  • 过期时间30分钟”

2. 结构化法则

1
2
3
4
5
6
7
[角色] 你是一位资深系统架构师  
[任务] 设计高可用Redis集群方案
[要求]
1. 跨3个可用区部署
2. 读写分离架构
3. 内存占用率超过70%自动告警
[输出格式] Markdown列表

3. 渐进法则

1
2
3
4
# 分阶段提问示例
prompt1 = "解释什么是数据库连接池"
prompt2 = "比较HikariCP vs Druid的特点"
prompt3 = "给出Spring Boot集成HikariCP的配置示例,要求最大连接数50,超时时间5秒"

4. 反馈修正法则

1
2
3
4
# 对话式修正流程
用户:生成的Kafka消费者代码无法处理反序列化异常
AI:建议添加try-catch块处理DeserializationException
用户:请具体展示异常处理部分的代码

思考01:结构清晰,目的越明确,得出结果越准确,渐进和逐步反馈对话,得出需要的结果。
思考02: 需求/问题/目的:需要登录验证的代码。
渐进法则/反馈修正:

1
2
3
4
5
User:描述一下登录验证的功能
AI:xx
User:描述一下登陆验证流程
AI:xx
User:给出xx登陆验证流程的具体示例和代码。

思考03: 渐进法则/反馈修正法则具体的区别是什么,看起来很像。
渐进法则:基于预设规则的分阶段递进优化
反馈修正法则:基于实时反馈的动态偏差修正# Obsidian 简介(基于5W1H框架)


二、六大核心方法论

1. 角色设定法

1
2
3
4
5
6
[角色] 你是有10年经验的AWS解决方案架构师  
[任务] 设计支持百万并发的视频流系统
[约束]
- 使用MediaLive+MediaPackage架构
- CDN成本控制在$0.05/GB以下
- 支持ABR自适应码率

2.思维链(Chain-of-Thought)

1
2
3
4
5
6
7
# 数学问题示例
问题:会议室有8排座位,前7排每排12个座位,最后一排少3个,总共有多少座位?
思考过程:
1. 计算前7排总数:7×12=84
2. 最后一排座位数:12-3=9
3. 总数相加:84+9=93
答案:93

3. 示例引导法

1
2
3
4
5
6
7
8
9
10
11
// 代码生成案例
用户示例:
输入:生成Java方法,计算两个LocalDate之间的工作日
输出:
public int calculateWorkDays(LocalDate start, LocalDate end) {
// 实现逻辑(排除周末)
}

新需求:
请增加对法定节假日的支持,传入Set<LocalDate> holiday参数

4. 约束条件法

1
2
3
4
5
代码要求:
- 使用Python 3.8+
- 禁止使用全局变量
- 函数参数必须类型注解
- 包含pytest单元测试

5. 对抗训练法

1
2
3
4
请生成3种不同的SQL注入攻击示例,然后为每种攻击编写对应的防御方案,要求:  
1. 攻击手段不同
2. 防御措施具体到PreparedStatement参数设置
3. 给出MyBatis中的防范配置示例

6. 元提示法

1
2
3
4
5
6
7
8
9
"""
你是一位提示词优化专家,请帮我改进以下提示:
原始提示:帮我写个排序算法
优化方向:
1. 明确排序类型(快排/归并/等)
2. 添加边界条件处理要求
3. 指定输出语言和性能指标
请输出优化后的提示模板
"""

三、跨领域案例库

场景1:代码生成

1
2
3
4
5
6
7
8
9
10
11
12
// 优化前:
"写个Rust函数处理字符串"

// 优化后:
"""
作为Rust专家,实现一个高效反转字符串中单词顺序的函数,要求:
1. 处理unicode字符
2. 时间复杂度O(n)
3. 避免分配额外内存
示例输入:"hello 世界" → 输出:"世界 hello"
给出性能测试方案
"""

场景2:数据分析

1
2
3
4
5
6
7
8
9
10
11
-- 优化前:
"分析销售数据"

-- 优化后:
"""
作为数据分析师,针对sales表(字段:order_id, region, product, amount, date):
1. 计算每个区域Q3的同比增长率
2. 找出复购率最高的前3个产品
3. 输出DataFrame包含:区域、增长率、top3产品
使用PySpark实现,并给出避免数据倾斜的优化建议
"""

场景3:技术文档

1
2
3
4
5
6
7
8
9
10
11
优化前:  
"写Nginx配置教程"

优化后:
"""
面向初级运维工程师的Nginx配置指南,包含:
1. 负载均衡配置对比:轮询 vs IP哈希
2. 静态资源缓存策略(带etag配置示例)
3. 常见错误排查清单(502/504错误处理)
用Docker环境演示,要求命令可复制
"""

四、常见错误及修正

1. 模糊请求

🙅 “解释一下微服务”
🙆 “用医院科室的类比方式解释微服务架构,重点说明服务发现和熔断机制”

2. 过度开放

🙅 “给些优化建议“
🙆 ”针对Tps低于100的Spring Boot应用,给出5个JVM参数调优建议,要求基于G1垃圾回收器“

3. 缺少约束

🙅 “写个Dockerfile”
🙆 “编写用于Node.js 18应用的Dockerfile,要求:

  • 使用多阶段构建
  • 处理pm2日志轮转
  • 镜像体积小于200MB”
打赏
打赏提示信息