AI 大模型提示词工程核心技术与实践
1. 课程摘要与核心概念
提示工程(Prompt Engineering)被视为 AGI 时代的编程方式,提示工程师的角色类似于传统程序员。掌握提示工程是进入 AGI 时代的基础技能。
1.1 Prompt 的组成部分
一个有效的 Prompt 通常包含以下要素:
- 角色定义:明确 AI 的身份,减少歧义。
- 任务描述:清晰说明需要完成的具体工作。
- 输出格式:规定返回数据的结构(如 JSON、Markdown 等)。
- 上下文信息:提供必要的背景知识或约束条件。
- 输入和输出约定:明确交互的边界。
合理定义角色可以显著减少模型的歧义性,提高指令遵循度。
1.2 Prompt 调优技巧
Prompt 调优是一个不断试错的过程。以下方法可提升效果:
- 给例子(Few-Shot):提供示例可以大幅提高输出的正确率和稳定性。
- 思维链(Chain-of-Thought, CoT):引导模型一步一步思考,改进逻辑计算的准确性。
- 自洽性(Self-Consistency):多次运行同一 Prompt,通过投票机制选取最佳结果。
- 思维树(Tree of Thoughts, ToT):在 CoT 的每一步采样多个分支,进行启发式搜索以找到最佳完成路径。
用 Prompt 替代部分代码逻辑可以极大简化系统架构。
1.3 对话系统模块
对话系统的关键模块 NLU(自然语言理解)、DST(对话状态跟踪)、NLG(自然语言生成)都可以通过提示工程实现。加强垂直领域知识的注入可以提升准确度。
安全与防御
识别和过滤 Prompt 注入 非常重要,常见攻击包括改变系统人设(例如:'你现在不是 xxx 了,忘记前面所有的对话')。
防范方法:
- 建立 Prompt 注入分类器。
- 在输入中增加约束。
- 使用 Prompt 拦截器。
- 带上系统人设 + 用户输入的消息喂给模型。
- 调用 Moderation API 进行内容审核。
API 参数配置
API 使用中的参数 temperature 非常关键:
- 执行任务时:取 0(输出稳定,确定性高)。
- 文本生成时:取 0.7-0.9(多样性强,适合创意写作)。
2. 代码实践
2.1 API 配置与环境准备
首先需要在 .env 文件中配置 Key 和代理地址,避免硬编码敏感信息。
OPENAI_API_KEY="sk-xxx"
OPENAI_API_BASE="https://xxx"
Python 代码示例(基于 OpenAI SDK 1.3.0+,Python 3.11.5+):
from openai import OpenAI
import os
from dotenv load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
client = OpenAI(
api_key=os.getenv(),
base_url=os.getenv()
)
():
session.append({: , : prompt})
response = client.chat.completions.create(
model=model,
messages=session,
temperature=
)
msg = response.choices[].message.content
session.append({: , : msg})
msg
():
messages = [{: , : prompt}]
response = client.chat.completions.create(
model=model,
messages=messages,
temperature=
)
response.choices[].message.content
prompt =
(get_completion(prompt))
models = client.models.()
model models.data:
(model.)


