必须启用思维链(CoT)机制才能让合同审查Agent真正理解条款风险原因;需确保Dify版本≥1.12.0、镜像标签正确、系统提示词含显式序号步骤、工作流选用ReAct等支持CoT的Agent策略,并通过调试验证reasoning_steps字段存在分步推理内容。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中让合同审查Agent真正理解“为什么这条条款有风险”,而不是只靠关键词匹配输出结论,就必须启用思维链(CoT)机制——它迫使模型在给出最终判断前,先分步拆解合同语义、对照法条逻辑、评估权利义务失衡点。
确认Dify版本与运行环境支持CoT
进入Dify控制台右上角「设置 → 系统信息」,核对当前版本号≥1.12.0;低于该版本的Dify默认不启用CoT推理路径,即使后续配置提示词也无法触发分步思考流程。
若使用Docker部署,检查docker-compose.yml中dify-api服务镜像标签是否为latest或明确包含v1.12.0+;旧版镜像里CoT相关prompt模板和推理钩子未编译进二进制,强行配置会静默失效。
在应用级启用CoT:修改系统提示词结构
进入目标应用「提示词设置 → 系统提示词」,将原提示词末尾替换为标准CoT引导句式:
请严格按以下四步执行:①识别本合同类型及签署方角色;②定位当前待审条款原文;③对照《民法典》第509条、第584条及行业示范文本,分析该条款在权利义务分配、救济路径、解释空间三方面的合规性;④仅当步骤③发现实质性失衡时,才输出风险等级与修改建议。禁止跳过任意一步直接下结论。
这句不是装饰——Dify的LLM节点在解析系统提示时,会识别“①/②/③/④”这类显式序号标记,自动激活CoT解析器;若写成“首先…其次…最后…”,模型大概率仍走单步直出模式。
在工作流中嵌入CoT专用Agent节点
方法一:使用官方ReAct策略(推荐)
进入工作流画布→点击「+ 添加节点」→选择「Agent节点」→在「Agent策略」下拉菜单中选「ReAct」;该策略内置CoT循环引擎,每轮自动执行「推理→调用工具→观察结果→再推理」闭环。
AI编程系统协调器。触发词:开发、实现、创建、添加、修复、报错、重构、优化、review、评审、继续、为什么、记住、保存经验、复盘、分析、学习、参考、模仿、/evolve
方法二:自定义Function Calling策略(需谨慎)
在相同Agent节点配置页,切换策略为「Function Calling」→展开「高级设置」→勾选「启用思维链式参数提取」;此时模型会在调用工具前,强制生成一段含“原因:…”“依据:…”“推导:…”字段的中间文本,但【必须确保所有function schema中parameters字段已声明type为object且含description】,否则参数提取阶段直接报错中断。
方法三:绕过Agent节点,用LLM节点硬编码CoT
添加一个LLM节点→在用户提示词区域粘贴完整CoT指令链,例如:“你是一个资深合同审查律师。请按以下顺序响应:【第一步:确认合同性质】……【第四步:输出结构化建议】”。这种方式无需依赖Agent策略,但【每次输入长度超过1200字符时,模型可能截断中间推理步骤,导致第四步无依据输出】。
验证CoT是否真实生效
第一步:在应用调试面板提交测试合同片段,例如:“甲方有权单方面解除合同,无需承担任何责任。”
第二步:打开浏览器开发者工具→切换Network标签→筛选/fetch_message请求→点击该请求→查看Response中的message.content字段。
第三步:滚动到返回JSON最底部,找到"thoughts"或"reasoning_steps"键值;若存在多段以“①”“②”开头的独立文本块,且内容包含法条引用、对比分析、假设推演,则CoT已激活。
若返回内容仍是单段结论式回答(如“该条款显失公平,建议删除”),说明系统提示词未被正确加载,或所选模型本身不支持长上下文推理——此时需切换至Qwen2.5-72B-Instruct或GLM-4-Flash等明确标注“支持CoT”的模型。

















