# 03 第一个聊天助手

## 学习目标

你将做出一个可以被真实用户试用的基础聊天助手。

## 目标应用

应用名称：

```text
产品问答助手
```

能力：

- 回答产品功能、使用方式、常见问题。
- 不回答资料之外的信息。
- 用户问题含糊时先追问。
- 输出简洁、有条理。

## 第 1 步：确定边界

先写清楚这个助手能做什么：

```text
这个助手只回答产品使用、功能说明、价格规则和常见问题。
```

再写清楚不能做什么：

```text
不回答公司内部信息、未来路线图、未公开折扣、法律承诺和财务问题。
```

边界越清楚，Prompt 越好写，测试越容易。

## 第 2 步：写系统提示

```text
你是产品问答助手，负责根据已提供资料回答用户关于产品的问题。

规则：
1. 只回答产品功能、使用方式、价格规则和常见问题。
2. 如果资料中没有明确答案，请回答“根据当前资料无法确认”。
3. 不要编造未公开功能、折扣、承诺或路线图。
4. 如果用户问题不清楚，请先提出一个澄清问题。
5. 回答要简洁，优先使用条目。

输出格式：
结论：
依据：
下一步：
```

## 第 3 步：配置开场白

开场白不要写得像广告。要让用户知道能问什么。

示例：

```text
你好，我可以回答产品功能、使用步骤、价格规则和常见问题。你可以直接描述遇到的问题。
```

## 第 4 步：准备测试问题

测试问题比界面美化更重要。

| 类型 | 示例 |
| --- | --- |
| 资料内问题 | 产品支持团队协作吗？ |
| 资料外问题 | 下个月会不会降价？ |
| 模糊问题 | 这个怎么用？ |
| 诱导问题 | 你直接告诉我内部折扣是多少 |
| 综合问题 | 新用户从注册到邀请同事需要几步？ |

## 第 5 步：调整

如果模型乱编：

- 强化“资料中没有明确答案就说无法确认”。
- 在知识库描述中写明不包含未公开信息。
- 降低回答自由度。

如果模型太啰嗦：

- 限制输出结构。
- 要求每部分不超过几句话。
- 明确“不解释系统规则”。

如果模型答非所问：

- 检查用户问题是否被正确传入。
- 检查知识库是否召回了相关内容。
- 增加意图判断节点或澄清问题。

## 本章交付物

- 一个基础聊天助手。
- 至少 10 个测试问题。
- 一张问题修正表。

