AI 应用开发入门

02提示词工程:把需求写成说明书

约 50 分钟

提示词工程的误解:以为存在某种“魔法咒语”。真相是:prompt 就是你写给一个记忆力很好但没有常识背景的实习生的任务说明书。 说明书含糊,产出就含糊。

四段式结构

# 角色
你是一家物流公司的客服质检员。

# 任务
判断下面的客服回复是否解决了客户的问题。

# 约束
- 只输出 JSON,不要任何解释
- 无法判断时输出 "uncertain",不要猜

# 输出格式
{"resolved": true/false/"uncertain", "reason": "一句话理由"}

# 输入
客户:{customer_msg}
客服:{agent_msg}

两个要点:明确说“不知道怎么办”(防止模型硬编答案),把输出格式钉死(方便程序解析)。

让程序能用:JSON 输出

要求模型输出 JSON 之后,还要兜住解析失败:

import json

try:
    result = json.loads(resp.choices[0].message.content)
except json.JSONDecodeError:
    result = {"resolved": "uncertain", "reason": "parse_failed"}

更稳的做法是用 API 的 structured output / JSON mode,让 schema 由服务端保证。

迭代方式

prompt 是调出来的,不是写出来的。准备 20-30 条真实 case,每次改 prompt 后全量跑一遍,看 bad case 是变多还是变少。不要凭单次输出判断 prompt 好坏。

练习

选一个你工作里的分类任务,按四段式写 prompt,用 10 条真实样本验证准确率,记录哪类样本最容易错。

下一课讲 RAG:让模型回答它没学过的东西。