Agent 落地指南:流程编排的正确用法
一句话核心:编排层管“流程”,能力层管“智能”。复杂逻辑写代码,可变配置用拖拽。
一、核心观点
很多人用 Dify、RagFlow 这类工具时,陷入一个误区:把所有逻辑都用节点拖出来。结果是一个巨大的“蜘蛛网”——难调试、难维护、难复用。
正确的做法是:黑盒化。
- 能力层(代码):封装复杂、稳定、用户不关心的逻辑
- 编排层(可视化):暴露简洁、可变、用户需要调整的流程
两者结合,各取所长。
二、一个对比:两种方案
| 维度 | 纯编排(蜘蛛网) | 黑盒化(推荐) |
|---|---|---|
| 做法 | 把所有步骤都拖成节点 | 复杂逻辑封成工具节点,编排只留高层流程 |
| 节点数量 | 几十个 | 3-5个 |
| 可读性 | 像蜘蛛网,新人看不懂 | 一目了然 |
| 可维护性 | 改一个细节要动整张图 | 改代码即可,编排层不变 |
| 调试难度 | 难,只能看节点日志 | 易,代码层可断点、单步 |
结论:对开发者而言,LangChain + AI Coding 在灵活性、效率、可维护性上完胜拖拽。可视化编排的价值不在“替代代码”,而在“面向业务的可视化交付”。
三、判断标准:什么放编排,什么写代码?
用一个问题决定:
“这个逻辑,用户(或交付对象)未来会不会有动力、有能力去修改?”
| 答案 | 放哪里 | 举例 |
|---|---|---|
| 会 | 编排层 | 审批阈值、通知渠道、提示词模板、分支条件 |
| 不会/不能 | 能力层(代码) | PDF解析、数据库连接、核心模型调用、数据清洗算法 |
四、架构模式:关注点分离
┌─────────────────────────────────────────────┐
│ 编排层(Dify / RagFlow) │
│ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │输入 │ -> │工具 │ -> │判断 │ │
│ └─────┘ └──┬──┘ └──┬──┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────┐ ┌─────────┐ │
│ │通知A │ │通知B │ │
│ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────┘
│
│ 调用(黑盒)
▼
┌─────────────────────────────────────────────┐
│ 能力层(LangChain / 自定义代码) │
│ ┌─────────────────────────────────────┐ │
│ │ process_financial_pdf(pdf_path) │ │
│ │ { │ │
│ │ 解析 -> 清洗 -> 模型调用 -> 返回 │ │
│ │ } │ │
│ └─────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
五、正例 vs 反例
❌ 反例(蜘蛛网)
在 Dify 里用 10+ 个节点实现“PDF解析 → 表格提取 → 数据清洗 → 模型调用 → 结果判断 → 分支处理”。流程僵化、难调试、换一个 PDF 结构就崩。
✅ 正例(黑盒化)
- 能力层:用 LangChain 写一个函数
analyze_pdf(pdf_path) -> dict,内部封装所有复杂逻辑 - 编排层:只暴露 3 个节点
- 节点1:上传 PDF
- 节点2:调用
analyze_pdf工具(黑盒) - 节点3:根据返回的
risk_level分支(high 发邮件,否则存档)
业务人员可以随意改分支逻辑和动作,但永远不用碰解析代码。
六、什么时候该用纯代码方案?
如果满足以下任意一条,直接用 LangChain + AI Coding,别碰编排工具:
- 你是唯一开发者,不需要交付给非技术人员修改
- 流程极其复杂,可视化也无法简化
- 你需要精细的调试(断点、单步、单元测试)
- 你需要版本控制(git diff、review、回滚)
七、什么时候该用编排工具?
如果满足以下全部,Dify/RagFlow 是更好的选择:
- 需要交付给非技术人员(业务方、客户)自行调整逻辑
- 流程以分支和判断为主,智能任务不多
- 团队里有产品/运营需要参与 AI 流程配置
- 追求 “上午开会,下午演示” 的原型速度
八、终极判断
| 你的角色 | 推荐方案 |
|---|---|
| 开发者,为自己写 | LangChain + AI Coding |
| 开发者,交付给业务方 | 能力层写代码 + 编排层暴露可配节点 |
| 非技术人员 | Dify / RagFlow 纯编排 |
九、总结成三句话
- 复杂逻辑写代码,可变配置用拖拽 —— 不要把蜘蛛网画在编排工具里。
- 编排层管流程,能力层管智能 —— 两者各司其职,才是最佳实践。
- 用“用户会不会改”来判断 —— 会改的放编排,不会的封装成黑盒。
这份指南的核心观点来自我们之前的讨论,希望对你的 Agent 落地有帮助。