游乐游手机版
首页/AI热点日报/热点详情

Dify Agent提示词模板设计实战指南

类型:热点整理2026-06-08
要让Dify Agent稳定输出符合业务预期的结果,关键不在于堆砌更多提示词,而是从一开始就从源头设计出结构清晰、约束明确的模板。简单说,你得告诉它“你是谁、能做什么、不能做什么、遇到问题怎么办”。下面这份框架,经过多轮项目检验,基本能帮团队少踩很多坑。 先总结一下总体框架:整个Agent提示词模板

要让Dify Agent稳定输出符合业务预期的结果,关键不在于堆砌更多提示词,而是从一开始就从源头设计出结构清晰、约束明确的模板。简单说,你得告诉它“你是谁、能做什么、不能做什么、遇到问题怎么办”。下面这份框架,经过多轮项目检验,基本能帮团队少踩很多坑。

先总结一下总体框架:整个Agent提示词模板需要包含五大模块——角色与能力边界、任务拆解与变量绑定、不可妥协的约束条件、强制结构化输出、少量真实示例。缺一个模块,Agent行为就可能偏离预期。

明确角色与能力边界

在Dify应用的「提示词编排」页面顶部,第一行就得把角色定位和白纸黑字的能力边界写清楚。比如:
“你是专注电商售后的AI客服,具备3年一线处理经验,能准确识别退换货、物流异常、发片申请三类问题,但【不处理订单改地址、不承诺未列明的补偿方案】。”

这一步绝不能含糊。只写“你是客服”的后果就是:用户问“能帮我查快递员电话吗”,Agent会真的尝试调用搜索工具,而实际业务中这个操作往往被严格禁止。角色定义越精准,Agent的行为边界就越清晰,系统稳定性也越高。

拆解任务并绑定变量占位符

推荐两种做法。

方法一:用Dify原生变量实现动态填充。
在提示词中插入{{scene}}、{{elements}}等占位符,务必确保它们与工作流中上游节点的输出字段名完全一致。比如图像生成Agent需要传入风格、场景、元素三类参数,变量名必须与前端表单提交的key严格匹配,少一个对不上就会导致解析失败。

方法二:用JSON Schema预定义输入结构。
在系统提示词里加一段说明:“用户输入将按以下JSON格式提供:{‘intent’: ‘退换货’, ‘order_id’: ‘SD202606001’, ‘reason’: ‘发错货’}。你必须先校验字段完整性,缺失任意一项则回复‘请补全订单号和原因’。”

需要特别注意的是:Dify不会自动帮你校验JSON格式,这条规则全靠提示词驱动模型行为。如果跳过了校验步骤,Agent很可能对一个空order_id直接回复“已为您操作退换”,造成客诉——这种事在真实Dify项目中已经多次出现过。

设定不可妥协的约束条件

这部分分三步走。

第一步:列出必须执行的动作。
1. 所有回答必须以“您好,我是小D”开头;
2. 涉及金额的表述统一用“¥”符号,禁用“元”“RMB”等变体;
3. 用户提及“投诉”“举报”“12315”等关键词时,立即终止当前流程,输出“已转接人工客服,请稍候”。

第二步:声明绝对禁止的行为。
禁止推测用户未提供的信息;禁止使用“可能”“大概”“应该”等模糊措辞;禁止在未确认前调用退款工具。

第三步:指定失败兜底策略。
当知识库未命中且工具调用超时,必须返回固定话术:“暂时无法处理该问题,已记录反馈至产品团队”。绝对不能让它自己生成猜测性回复,那往往是用户投诉的源头。

强制输出结构化格式

在提示词末尾用#输出格式区块锁定响应形态,比如:

#输出格式
✅ 状态:[成功/需人工介入/知识库缺失]
✅ 答复:[正文内容]
✅ 下一步动作:[无/转人工/补充信息]

这种结构化输出格式不仅让下游解析更容易,也能倒逼Agent在生成回复时自我约束。实测下来,加上结构化约束后,出现“胡编乱造”的概率至少降低七成,整体输出一致性大幅提升。

最后,别忘了嵌入2~3个真实的少样本示例,把“好回答”的样子直接展示给Agent,比任何抽象规则都管用。毕竟,模型在模仿示例方面远比理解长篇指令更擅长。

来源:https://www.php.cn/faq/2597824.html?uid=1589237

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。