agent01 / Dify_Config_Guide.md
Auto Deployer
Deploy compliance agent services
f39c319

Dify 落地配置指南 (Dify Config Guide)

本文档为隐私合规协同场景在 Dify 中的落地提供确切配置方案,特别针对核心交互阶段(B/C/E/F阶段,即智能体调用与人工审核流转节点)的 HTTP 超时、重试机制和 Human Input 分支设置提供详细指导。

一、HTTP 节点配置方案 (针对 B/C/E 等调用外部智能体阶段)

在 Dify 的 Workflow 中,调用本地/服务端智能体(如 AGENT-02 协议重构、AGENT-03 合规校验、AGENT-04 法务审核包生成)主要通过 HTTP Request 节点实现。

1. HTTP Timeout (超时设置)

智能体推理特别是协议重构和合规校验通常需要较长的 LLM 处理时间,默认的 HTTP 超时时间往往不够。

  • 连接超时 (Connect Timeout): 建议设置为 10s (本地或内网服务响应极快)。
  • 读取超时 (Read Timeout): 建议设置为 120s - 180s (根据大模型并发生成速度决定,协议重构阶段建议至少 180s)。
  • 写入超时 (Write Timeout): 建议设置为 30s

2. 重试机制 (Retry)

为了应对网络抖动或 LLM 偶发的推理失败(如返回 5001 错误码),需要配置合理的重试策略。

  • 最大重试次数 (Max Retries): 设置为 1 次到 2 次。不允许无限重试,以防大量消耗 Token。
  • 重试间隔 (Retry Interval): 设置为 2000ms (2秒) 或以上。
  • 重试条件 (Retry Conditions):
    • HTTP 状态码为 500, 502, 503, 504 时触发重试。
    • 注意: 如果状态码为 400 (如 4001 缺材料、4002 格式错误),绝对不触发重试,应直接流转至异常处理分支。
  • Header 透传: 在 HTTP Request 节点的 Header 中增加 x-retry-count 参数(如果在 Dify 较新版本中支持表达式,可将重试次数变量传入,或者由服务端自行记录重试状态)。

二、Human Input 与分支路由设置 (针对 F 阶段人工法务确认)

F 阶段的核心是拦截 AI 的生成结果,交由人类(法务)进行最后拍板,并根据决策走向不同的后续流程。

1. Human Input 节点配置

  • 节点名称: 人工法务确认 (Legal Human Review)
  • 展示信息 (Review Information):
    • 绑定 AGENT-04 吐出的 formatted_review_material(法务审核包格式化文本)。
    • 展示 risk_levelspending_items
  • 输入表单配置 (Input Form):
    • 决策字段 (Decision): 单选下拉框 (Select)
      • 选项 1: approve (审核通过)
      • 选项 2: reject (退回修改)
      • 选项 3: need_more_material (补充材料)
    • 审批意见 (Comments): 文本域 (Textarea),非必填(但在退回或补充材料时建议法务填写具体原因)。

2. 条件分支 (If/Else 节点)

紧接在 Human Input 节点之后,使用条件节点 (Condition) 对流程进行分流:

  • 分支 A (通过 - Approve):
    • 条件: Human_Input.Decision == approve
    • 动作: 调用 HTTP 节点,将当前 draft_id 及通过状态推送到“待发布中心”入库。
  • 分支 B (退回 - Reject):
    • 条件: Human_Input.Decision == reject
    • 动作: 通过 Template 节点将 Human_Input.Comments 格式化为修改清单,然后循环退回至 AGENT-02 (协议重构) 节点,并在上下文中带上法务的修改指导意见。
  • 分支 C (补材料 - Need More Material):
    • 条件: Human_Input.Decision == need_more_material
    • 动作: 结束当前自动化主流程,输出缺漏材料清单与法务意见,提示业务人员重新补充 PRD / 权限 / SDK 材料后再次发起申请。

三、全局系统性配置建议

  1. 统一的错误捕获: 在 Dify 的 HTTP 节点后,应优先检查输出的 JSON 中是否存在 error_code 或 HTTP Status 是否异常。如果失败,走统一的“任务失败”终点,避免静默失败。
  2. 日志不落盘敏感数据: Dify 端保存的 Workflow 日志可能会保留变量。请确保传递给 Dify 的 materials 字段(如果通过 Dify 前端填入)只在内存中流转,或遵循服务端已实施的日志脱敏规范(即仅落库 case_id 等 metadata)。
  3. 幂等性保障: 每次 Dify 触发请求时,务必在 Payload 中带上唯一的 case_id,以触发服务端的幂等控制,防止在网络超时后 Dify 发起重试导致产生重复脏数据。