# 练习 01.5：用 AI 辅助开发 Prompt

目标：练习让 AI 帮你把模糊需求变成可测试、可迭代的 Prompt，而不是自己硬写。

## 一、选择一个任务

从下面任选一个，也可以换成你自己的真实任务：

- 总结客服聊天记录。
- 分析一份合同风险。
- 把会议记录整理成待办事项。
- 让代码助手解释一个报错。
- 把论文摘要改成学习笔记。

写下你的模糊需求：

```text
[例如：帮我写一个 Prompt，用来总结客服聊天记录]
```

## 二、让 AI 先写 Prompt brief

把下面这段发给 AI：

```text
我想开发一个可复用 Prompt，用于：[填写你的任务]。

请不要直接写最终 Prompt。
请先帮我生成 Prompt brief，并列出你需要我确认的问题。

输出：
1. 你理解的任务目标
2. 目标用户或使用场景
3. 输入材料
4. 输出格式
5. 质量标准
6. 风险边界
7. 需要我确认的问题
```

记录 AI 追问了哪些问题。

## 三、让 AI 生成 Prompt 草案

回答必要问题后，把 brief 发给 AI：

```text
请基于下面的 Prompt brief，生成一个可复用 Prompt。

要求：
1. 分为角色、任务、输入、规则、输出格式、自检。
2. 不要写空泛口号。
3. 每条规则都要服务于任务质量或风险控制。
4. 输出格式要可检查。
5. 如果任务需要程序消费输出，请建议是否使用 JSON Schema。

<prompt_brief>
[粘贴 brief]
</prompt_brief>
```

保存 Prompt 草案为 `v0.1`。

## 四、让 AI 审查 Prompt

继续发：

```text
请审查下面这个 Prompt。

请按以下维度找问题：
1. 任务目标是否清楚。
2. 输入边界是否清楚。
3. 输出格式是否稳定。
4. 是否有不可执行、不可验证或空泛的要求。
5. 是否有规则冲突。
6. 是否缺少失败处理。
7. 是否存在安全或越权风险。
8. 是否应该使用 schema、RAG、工具或 Eval，而不是只改 Prompt。

输出：
- 严重问题
- 中等问题
- 小问题
- 修改建议
- 修改后的 Prompt

<prompt>
[粘贴 v0.1]
</prompt>
```

保存修改版为 `v0.2`。

## 五、生成测试样例

先让 AI 基于 Prompt brief 设计测试，不要直接基于 `v0.2` 设计。这样可以减少“测试样例迎合当前 Prompt”的问题。

```text
请基于下面的 Prompt brief 设计 5 个测试样例。

注意：测试样例不是为了让当前 Prompt 容易通过，而是为了暴露真实风险和边界问题。请至少包含 2 个可能让 Prompt 失败的样例。

要求覆盖：
1. 普通输入。
2. 长输入。
3. 信息缺失。
4. 格式混乱。
5. 容易诱发错误的边界情况。

每个样例输出：
- id
- 完整测试输入
- 测试目标
- 期望输出要点
- 通过标准
- 失败标准

<prompt_brief>
[粘贴 brief]
</prompt_brief>
```

保存这 5 个样例。后面测试 `v0.2` 和 `v0.3` 时尽量使用同一批样例，不要每次改 Prompt 后重新生成一批更容易通过的样例。

## 六、运行并记录失败

至少选 2 个样例测试 `v0.2`。

记录：

```text
样例 id：
Prompt 版本：
实际输出：
是否通过：
失败原因：
需要修改：
```

## 七、让 AI 做失败归因

如果有失败，把下面内容发给 AI：

```text
下面是 Prompt、测试输入、实际输出和失败说明。

请判断失败主要属于哪一类：
1. Prompt 目标不清。
2. 输入材料不足。
3. 输出格式约束不足。
4. 字段定义不清。
5. 示例误导。
6. 需要 schema。
7. 需要 RAG 或检索。
8. 需要工具调用。
9. 需要权限或人工复核。
10. 需要 Eval 或更多测试样例。

请给出：
- 失败原因
- 应该改 Prompt 的哪一段
- 是否需要 Prompt 之外的系统能力
- 修改后的 Prompt 片段
```

把新版本记为 `v0.3`。

## 八、验收标准

完成练习后，你应该得到：

- 一个 Prompt brief。
- 至少两个 Prompt 版本。
- 5 个测试样例。
- 至少一次失败分析或改版记录。
- 一个判断：这个任务只需要 Prompt，还是应该升级为 schema、RAG、工具、Skill 或 Eval。
