TL;DR: 本文档旨在提供ChatGPT高级提示词工程与多轮对话优化策略,以SRE团队日常工作流为例,提升AI交互效率与信息提取准确性。涵盖结构化提示词、角色扮演、约束设定及上下文管理。适用于需精确获取信息或自动化任务的场景。
1. 前置条件
在开始之前,请确保满足以下条件:
- 拥有ChatGPT Plus订阅或API访问权限。
- 已熟悉ChatGPT基础操作。
- 对JSON、Markdown等结构化数据格式有基本认知。
2. 高级提示词工程实践
本节介绍如何构建高效、精确的提示词(Prompt)。
2.1. 结构化提示词模板
使用明确的指令和结构化输入,减少模型理解偏差。
2.1.1. 角色扮演与目标设定
明确指定AI扮演的角色及其任务目标。
你是一名资深的Linux系统工程师,你的任务是分析给定日志文件并找出所有与'kernel panic'相关的错误信息。请以简洁的Markdown代码块形式输出结果,并包含时间戳和错误详情。
2.1.2. 约束与输出格式指定
明确限定输出的格式、长度、风格等。
以下是一段Python代码,请对其进行安全性审计。输出应仅包含以下三部分:
1. 发现的所有潜在安全漏洞列表,每个漏洞附带CVE ID(如果适用)。
2. 针对每个漏洞的修复建议,提供代码示例。
3. 整体安全评分(1-10分)。
代码:
```python
import os
def read_file(filename):
if not os.path.exists(filename):
print("File not found")
return None
with open(filename, 'r') as f:
return f.read()
user_input = input("Enter filename: ")
print(read_file(user_input))
```
预期输出示例 (部分):
1. 潜在安全漏洞列表:
- 路径遍历漏洞 (CWE-22): `read_file`函数直接使用用户输入作为文件名,可能导致访问任意文件。
2. 修复建议:
- 路径遍历漏洞修复:
```python
import os
def read_file_safe(filename):
base_dir = "/app/data/"
if not os.path.isabs(filename):
filepath = os.path.join(base_dir, filename)
else:
# 拒绝绝对路径或非预期路径
print("Absolute paths are not allowed.")
return None
# 标准化路径并确保在预期目录内
canonical_filepath = os.path.abspath(filepath)
if not canonical_filepath.startswith(base_dir):
print("Access denied: Path outside allowed directory.")
return None
if not os.path.exists(canonical_filepath):
print("File not found")
return None
with open(canonical_filepath, 'r') as f:
return f.read()
```
3. 整体安全评分: 4/10 (原始代码)
3. 高效多轮对话技巧
针对复杂任务,通过多轮对话逐步细化需求,提高结果质量。
3.1. 上下文管理与迭代提问
在多轮对话中,利用ChatGPT的上下文记忆能力,逐步引导。避免重复信息。
3.1.1. 初步提问(Stage 1)
提出一个宽泛的问题,获取初步信息。
请总结过去一周我们'prod-web-01'服务器的CPU使用率报告,找出峰值时段和可能的原因。
预期输出 (AI总结初步报告)。
3.1.2. 细化提问(Stage 2)
基于AI的初步回复,提出更具体、聚焦的问题。
在前述报告中,关于周三下午2点到3点的CPU峰值,请进一步分析该时段内'nginx'服务的具体进程活动和相关错误日志。
预期输出 (AI深入分析特定时段的Nginx活动)。
Note: 保持对话的连贯性,避免跳跃性提问,这有助于模型更好地理解上下文。这与我们日常使用“Gemini怎么注册”或“Google AI怎么用”时,通过多次搜索和细化关键词来获取更精确信息的方式类似。
3.2. 错误纠正与反馈循环
当AI的回复不符合预期时,及时提供明确的纠正和反馈。
你上次总结的报告中,遗漏了'/var/log/syslog'中的错误信息。请重新整合报告,确保包含所有'Error'或'Failed'关键字的日志条目。
预期输出 (AI修正并提供更完整的报告)。
Warning: 过度依赖AI进行复杂决策可能引入风险。始终对AI生成的内容进行验证,尤其是在生产环境SRE操作中。例如,在查找“Gemini国内使用”相关信息时,也应交叉验证多个来源。
4. 实用工具与资源
- OpenAI Prompt Engineering Guide
- ChatGPT提示词工程指南 (V1.2, 2024-03-15)
- OpenAI Cookbook (GitHub)
References:
- OpenAI Documentation. (2023). Prompt Engineering Guide. Retrieved from https://platform.openai.com/docs/guides/prompt-engineering
- Brown, T. B., et al. (2020). Language Models are Few-Shot Learners. Advances in Neural Information Processing Systems, 33.