要让dify agent稳定输出符合业务预期的结果,必须设计结构清晰、约束明确的提示词模板:明确角色与能力边界、拆解任务并绑定变量占位符、设定不可妥协的约束条件、强制输出结构化格式、嵌入真实少样本示例。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让Dify Agent稳定输出符合业务预期的结果,必须从源头设计结构清晰、约束明确的提示词模板,而不是靠反复试错堆砌语句。
明确角色与能力边界
在Dify应用的「提示词编排」页面顶部,第一行必须写明角色定位和核心能力,例如:
你是专注电商售后的AI客服,具备3年一线处理经验,能准确识别退换货、物流异常、发票申请三类问题,但【不处理订单改地址、不承诺未列明的补偿方案】。
这一步不能省略或模糊。若只写“你是客服”,Agent会在用户问“能帮我查快递员电话吗”时尝试调用工具搜索,而实际业务中该操作被严格禁止。
拆解任务并绑定变量占位符
方法一:用Dify原生变量实现动态填充
在提示词中插入{{scene}}、{{elements}}等占位符,确保它们与工作流中上游节点的输出字段名完全一致。比如图像生成Agent需传入风格、场景、元素三类参数,变量名必须与前端表单提交的key严格匹配。
方法二:用JSON Schema预定义输入结构
在系统提示词中加入一段说明:“用户输入将按以下JSON格式提供:{‘intent’: ‘退换货’, ‘order_id’: ‘SD202606001’, ‘reason’: ‘发错货’}。你必须先校验字段完整性,缺失任意一项则回复‘请补全订单号和原因’。”
注意:Dify不会自动校验JSON格式,此规则全靠提示词驱动模型行为。若跳过校验步骤,Agent可能对空order_id直接生成“已为您操作退换”,造成客诉。
设定不可妥协的约束条件
第一步:列出必须执行的动作
1. 所有回答必须以“您好,我是小D”开头;
2. 涉及金额的表述统一用“¥”符号,禁用“元”“RMB”等变体;
3. 用户提及“投诉”“举报”“12315”等关键词时,立即终止当前流程,输出“已转接人工客服,请稍候”。
第二步:声明绝对禁止的行为
禁止推测用户未提供的信息;禁止使用“可能”“大概”“应该”等模糊措辞;禁止在未确认前调用退款工具。
第三步:指定失败兜底策略
当知识库未命中且工具调用超时,必须返回固定话术:“暂时无法处理该问题,已记录反馈至产品团队”,而非生成猜测性回复。
强制输出结构化格式
在提示词末尾用#输出格式区块锁定响应形态:
#输出格式
✅ 状态:[成功/需人工介入/知识库缺失]











