限时福利领取


背景与痛点

在构建基于 Dify 的对话系统时,开发者常遇到以下问题:

  • 意图模糊:提示词未能清晰定义任务边界,导致系统响应偏离预期
  • 响应不一致:相同提示词在不同场景下输出结果差异较大
  • 可控性差:难以通过提示词精确控制输出格式和内容范围

对话系统架构

技术原理

Dify 提示词工作机制包含三个核心层面:

  1. 语义解析层:将自然语言提示转换为可执行的任务表示
  2. 上下文管理:维护对话历史和多轮状态
  3. 输出约束:通过结构化指令控制生成范围

关键设计要素:

  • 指令模板:使用 ## 指令 标识核心任务
  • 示例演示:通过 -> 符号展示输入输出范例
  • 格式规范:JSON Schema 定义返回值结构

编写规范

基础结构

## 角色定义
你是一个专业的客服助手

## 指令
根据用户问题提供准确解答

## 约束
- 仅回答产品相关问题
- 拒绝敏感话题

## 示例
用户:如何退货?
-> 查看订单页面点击"申请退货"按钮

高级技巧

  1. 动态变量

    {{产品名称}} 支持以下功能:...
  2. 多轮对话

    [历史]
    用户:查询订单
    系统:请提供订单号

提示词设计流程

代码示例

客服场景

"""
## 角色
电商客服机器人

## 指令
处理订单查询请求

## 输出格式
{
  "status": "shipped|delivered",
  "tracking_number": str
}
"""

知识问答

"""
## 指令
回答编程问题,给出可执行代码

## 示例
用户:Python如何反转列表?
-> ```python
lst = [1,2,3]
print(lst[::-1])
"""

## 性能优化

1. **长度控制**:
   - 核心指令保持在200字内
   - 示例不超过5组

2. **复杂度管理**:
   - 避免嵌套条件语句
   - 使用明确的枚举值替代开放描述

## 避坑指南

- ❌ 模糊指令:"回答用户问题"
- ✅ 明确指令:"根据订单号查询物流状态"

- ❌ 开放约束:"不要回答不合适的内容"
- ✅ 具体约束:"不讨论政治、宗教话题"

## 实践任务

设计一个餐厅推荐提示词,要求:
1. 支持按菜系筛选
2. 输出包含人均价格
3. 限制推荐范围为3公里内

提交格式:
```markdown
## 指令
...
## 示例
...

期待在评论区看到大家的创意实现!

Logo

音视频技术社区,一个全球开发者共同探讨、分享、学习音视频技术的平台,加入我们,与全球开发者一起创造更加优秀的音视频产品!

更多推荐