精装房控制论画像

精装房:Dify

Product Portrait · 控制论画像dify
CASE

Dify (LangGenius) — 精装房控制论画像

以「可视化画布 + 工作流 DSL + 系统变量」把用户意图固化为一张可评审、可版本化、可发布的执行图,作为整个控制回路的设定值 r。

装

精装度评估

Premium Score
4.3/5
开源自研的可视化 LLM 应用平台,零配置 docker compose 一键起,预装可视化画布 + 自研 graphon 编排引擎 + 133 路径 RAG 流水线 + 插件市场 + 1000+ 模型接入,属真·开箱即用成品。
分类:低代码平台一手/二手:一手证据强度:源码级
维度预装情况依据
多Agent编排✅工作流 agent / agent_v2 节点 + Agent 策略(Function Calling / ReAct),api/core/workflow/nodes/agent/agent_node.py(源码级)
Skill库✅插件市场 + 50+ 内置工具(README「50+ built-in tools for AI agents」)、api/core/plugin/(42 文件,源码级)
工作流编排✅可视化画布(web/ 前端)+ 自研 graphon==0.7.0 图执行引擎,10 类内置节点(源码级)
模型接入✅数百专有/开源 LLM 接入(README「hundreds of proprietary / open-source LLMs」),多 provider(源码级)
一键部署✅docker/docker-compose.yaml + docker compose up -d 一键起,4 核 4G 最低要求(源码级)
沙箱/隔离部分容器化部署隔离,但非 per-session 强沙箱;Agent 工具执行依赖部署侧权限(源码级)
MCP生态✅插件体系(api/core/plugin/)+ 工具节点,可外接工具(源码级)
记忆部分会话变量 / 对话历史 + 知识库检索,无显式置信度信念状态(源码级)
声称 vs 实际:官方声称「开源 LLM 应用开发平台,可视化工作流 + RAG + Agent + 模型管理」 → 源码级证实为自研一手:api/pyproject.toml(name=dify-api v1.17.0)无 langchain 依赖,编排核心依赖自研 graphon==0.7.0(langgenius/graphon,官方描述「Graph execution engine for agentic AI workflows」),api/core/workflow/nodes/agent/agent_node.py 直接 from graphon.enums / graphon.nodes.base.node import Node;api/core/rag/ 共 133 个路径。不是 LangChain 封装壳,属一手高精装(4.3,源码级)。
SP

设定值(Setpoint)——可视化画布把意图固化为可执行 DAG

用户意图 → 可验证子目标
承担角色:以「可视化画布 + 工作流 DSL + 系统变量」把用户意图固化为一张可评审、可版本化、可发布的执行图,作为整个控制回路的设定值 r。

关键机制

  • 可视化画布即设定值编辑器:前端 web/(dify-web v1.17.0,Next.js)提供拖拽式工作流画布,节点连线构成 DAG,用户所见即被控目标(源码级)。
  • 自研 graphon 图执行引擎:api/pyproject.toml 依赖 graphon==0.7.0,api/core/workflow/ 104 个文件;agent_node.py 继承 graphon.nodes.base.node.Node,把画布固化为可执行图(源码级)。
  • 系统变量与变量模板:api/core/workflow/system_variables.py + VariableTemplateParser 把用户输入/环境参数注入节点,设定值含运行时上下文(源码级)。
  • 触发器节点:trigger_plugin / trigger_schedule / trigger_webhook 三类触发器,把设定值从「手动运行」扩展为「定时/事件驱动」(源码级)。
  • 插件节点(trigger_plugin):api/core/plugin/ 42 文件,插件可注册为工作流节点,设定值可复用生态能力(源码级)。
控制论映射:KT-ctrl-045(规划-执行解耦,画布=可评审契约)+ KT-ctrl-041(分层控制结构,画布顶层、节点/工具下层)+ KT-ctrl-002(负反馈闭环结构,目标/规格=设定值 r)。
⭐强——设定值有图形化编辑、可版本化、可发布为 API/BaaS,触发式任务让设定值具备事件驱动能力。⚠️弱——工作流「成功判据」多由节点输出文本承载,缺机器可验证的结构化子目标;画布复杂度高时人工维护成本上升。
E

E 环 — 评估/传感器((E 环) 节点输出 + 知识检索 + LLMOps 观测)

评估/传感器
承担角色:为闭环生产「执行是否达标」的反馈信号,来源为节点执行结果、知识库检索命中、LLMOps 日志与追踪三类,无独立 Critic 模型。

关键机制

  • 节点执行事件与状态:graphon 产出 GraphNodeEventBase / NodeRunResult,agent_node.py 消费节点运行结果——格式与成败可观测(源码级)。
  • 知识检索节点:api/core/workflow/nodes/knowledge_retrieval/ + api/core/rag/retrieval/,检索方法含 semantic_search / full_text_search / hybrid_search / keyword_search(retrieval_methods.py)——以命中相关性作为信息质量信号(源码级)。
  • RAG 数据后处理:api/core/rag/data_post_processor/reorder.py(重排序)对检索结果做质量校准,提升观测信噪比(源码级)。
  • LLMOps 可观测性:README 明示 Opik / Langfuse / Arize Phoenix 追踪集成,providers/trace/*(8 个 trace provider workspace 成员)——生产日志与性能观测(源码级)。
  • Agent 日志事件:agent_node.py 的 AgentLogEvent / NodeRunAgentLogEvent 暴露 agent 运行日志(源码级)。
控制论映射:KT-ctrl-006(反馈灵敏度/鲁棒性基础,重排序与多检索方式提升信号质量)+ KT-ctrl-012(观测噪声 R,检索命中可信度)+ KT-ctrl-001(开环 vs 闭环,E 环是闭环开关)。
🟢 中强——节点状态 + 检索相关性 + LLMOps 追踪三层观测,工程可观测性高。🔴 相对最弱环——观测信号是「节点跑没跑 / 检索到没」,缺语义级「目标达成没」的独立 Critic;评估质量依赖用户自定义断言或下游系统。
T

T 环 — 执行器/工具((T 环) graphon 节点 + 插件 + 工具生态)

工具调用/执行器
承担角色:把工作流节点以「图调度 + 插件/工具调用」方式落地,是唯一直接接触外部世界的执行器。

关键机制

  • graphon 图调度执行:自研引擎按 DAG 依赖顺序调度节点,支持分支/并行/条件(源码级)。
  • 10 类内置节点:agent、agent_v2、datasource、human_input、knowledge_index、knowledge_retrieval、trigger_plugin、trigger_schedule、trigger_webhook(api/core/workflow/nodes/)——执行动作开箱即用(源码级)。
  • 插件执行层:api/core/plugin/impl/plugin.py + plugin_service.py 把外部插件作为执行器纳入图(源码级)。
  • 50+ 内置工具:README「Dify provides 50+ built-in tools for AI agents, such as Google Search, DALL·E, Stable Diffusion and WolframAlpha」(源码级)。
  • human_input 节点:人工介入节点作为「审批/仲裁」执行器,为高风险动作留人工闸门(源码级)。
  • BaaS 执行出口:所有能力均有对应 API(README「Backend-as-a-Service」),执行结果可被外部业务系统消费(源码级)。
控制论映射:KT-ctrl-034(安全边际/硬约束限幅,human_input 审批 + 部署侧权限)+ KT-ctrl-033(冗余与仲裁,多 provider/多工具可切换)+ KT-ctrl-030(模型不确定性,插件/工具异常需降级)。
🟢 强——graphon 图调度 + 10 类节点 + 插件 + 50+ 工具 + BaaS 出口,执行器丰富度极高,是精装度 4.3 的核心支撑。⚠️弱——缺 per-session 强沙箱,高风险工具执行的隔离依赖部署方自行加固;无跨工具统一预算看门狗。
M

M 环 — 记忆/状态估计((M 环) 会话变量 + 知识库 + 索引)

记忆/状态估计
承担角色:由「会话变量 / 对话历史 + 知识库索引 + 文档处理流水线」承担,维护「当前对话处于什么状态、有哪些可用知识」,未显式建模置信度。

关键机制

  • 会话变量与对话历史:工作流会话级变量 + 多轮对话历史作为状态载体(源码级)。
  • 知识库索引流水线:api/core/rag/index_processor/ + summary_index/ 对文档建索引,构成可检索的外部记忆(源码级)。
  • 文档摄取与清洗:api/core/rag/extractor/ + cleaner/ + splitter/ 把原始文档转为结构化记忆(源码级)。
  • 检索增强状态:knowledge_retrieval 节点按查询拉取相关片段注入上下文,等价于按相关性做的信息降维(源码级)。
  • 多向量库后端:api/pyproject.toml 的 providers/vdb/* workspace(30+ 种向量库成员)——记忆可持久化到多种后端(源码级)。
控制论映射:KT-ctrl-010(状态估计,会话+知识库折叠出可检索状态)+ KT-ctrl-011(Kalman 预测-更新,对话推进=预测、检索/工具结果=更新)+ KT-ctrl-014(信息滤波/降维,检索按相关性保留片段)。缺失:KT-ctrl-012(观测噪声 R vs 过程噪声 Q,无置信度/协方差)。
🟢 中强——知识库 + 多向量库 + 索引流水线提供强外部记忆与可检索性。⚠️弱——记忆只记事实不记「我有多确定」,P/R 环无法区分确信与猜测;会话状态与知识库之间无统一的置信度融合。
P

P 环 — 规划/分层控制((P 环) 工作流 DAG + Agent 策略 + 触发器)

规划/分层控制
承担角色:以「可视化 DAG 静态规划 + Agent 节点内动态策略 + 触发器事件驱动」实现慢规划器与快执行器的分层控制。

关键机制

  • 工作流 DAG 即慢规划器:画布定义的节点序列 = 里程碑序列,graphon 按依赖执行(源码级)。
  • Agent 节点内动态决策:agent_node.py 支持 Function Calling / ReAct 策略(README),节点内可滚动决定下一步工具(源码级)。
  • Agent 策略解析器:strategy_protocols.py 的 AgentStrategyResolver / AgentStrategyPresentationProvider 把策略选择与呈现解耦(源码级)。
  • 触发器作事件驱动入口:trigger_schedule / trigger_webhook 让规划从「一次性」变为「持续触发」(源码级)。
  • human_input 分层闸门:人工节点在关键里程碑插入审批,实现人机分层协调(源码级)。
控制论映射:KT-ctrl-041(分层控制结构,DAG 顶层/节点下层)+ KT-ctrl-044(MPC 滚动时域,Agent 节点内「考虑→行动→观察」)+ KT-ctrl-045(规划-执行解耦)+ KT-ctrl-046(options/SMDP,Agent 工具调用=能力原语)。
🟢 强——静态 DAG + 节点内动态策略 + 事件触发,规划层次清晰。⚠️弱——DAG 是静态预定义,缺图级 MPC 式滚动重规划;异常分支需人工预设,长任务自适应能力受限。
R

R 环 — 反思/反馈闭环((R 环) 节点错误回灌 + 重试 + 人工修正)

反思/反馈闭环
承担角色:由「节点错误/异常回灌 + 工具重试 + human_input 人工修正 + 迭代节点」承担,是工程化反馈环,无 Reflexion 式元认知反思。

关键机制

  • 节点异常与错误传播:api/core/workflow/nodes/agent/exceptions.py(AgentInvocationError / AgentMessageTransformError)等把错误结构化回灌(源码级)。
  • human_input 人工反馈:人工节点接收用户修正后继续执行——外部反馈闭环(源码级)。
  • LLMOps 迭代改进:README 明示「continuously improve prompts, datasets, and models based on production data and annotations」——基于生产数据的长期补偿(源码级)。
  • 重排序/后处理校正:data_post_processor/reorder.py 对检索结果重排,抑制低质信息(源码级)。
  • 插件/模型切换:多 provider 与插件可替换,失败路径可换道(源码级)。 ## 精装房画像总结
控制论映射:KT-ctrl-002(负反馈闭环结构)+ KT-ctrl-021(P 即时纠偏,错误即时回灌)+ KT-ctrl-022(I 累积补偿,LLMOps 长期改进)+ KT-ctrl-025(稳态误差/超调,靠人工标注验收)。
🟡 中——错误回灌 + 人工修正 + LLMOps 长期改进形成反馈链。⚠️弱——无模型自我反思循环(无 Reflexion/self-critique),R 环依赖外部人工与预设分支,属半开环;由于 E 环缺独立 Critic,放大的是「错误信号」而非「误差信号」。
★

控制论画像总结

整体范式:整体范式:自研 graphon 图引擎驱动的可视化低代码平台——前馈式 DAG 编排 + 节点内动态执行 + 工程化反馈,开箱即用的 LLM 应用工厂。