基于dify的智能体开发心得

8 阅读3分钟

一、前言

2025年3月份初次接触大模型,当时部门基于dify进行了二次开发,打通了dify跟公司内部使用的用户权限体系,领导要推广智能体开发,我便去了客户现场进行智能体的开发。

二、初次开发智能体

当时大模型是基于 DeepSeek-R1-32B 的推理模型,限于当时的模型的智能化程度,智能体开发的过程很痛苦,简单的问题分类器大模型总是出些幺蛾子,探索一段时间后智能体便不“智能”了,开始在流程编排中使用代码进行各种处理,直接回复中使用占位符进行变量替换,当时大家也都在探索阶段,所以最终实现效果也能接受。

三、探索加深

后续经过一系列的关于大模型的工作,出于对大模型的好奇,看了很多关于大模型相关的书籍,如《图解大模型:生成式AI原理与实战》、《从零构建大模型》、《大模型基础》等,对大模型有个了比较清晰的认识,知道了大模型的 transformer 架构、大模型预训练、大模型微调是怎么回事。还学习了 LangChain 和 LangGraph 智能体开发的框架。再回过头来看原来基于 dify 开发的智能体,有了不一样的想法,智能体开发不应该被 dify 类似的工具所限制

四、再看 Dify

后来越学越觉得,当初在 Dify 里搞的那些“智能体”,其实挺别扭的。表面上看是搭了个流程,点点鼠标就能跑,但实际上,大模型根本没怎么“动脑子”,问题分类靠硬规则,变量替换靠占位符,复杂逻辑全塞进 Python 代码块里,最后大模型只是个“嘴替”,负责把结果念出来。

说白了,我们不是在开发智能体,而是在用大模型包装旧系统

五、动手写代码,反而更“智能”

接触 LangChain 和 LangGraph 之后,我才真正体会到什么叫“让模型主导流程”。不再被界面框住,而是用代码定义状态、节点和跳转逻辑。虽然写起来比拖拽费劲点,但自由度更高了。

举个例子,现在我可以写一个节点,让大模型先分析用户意图,再自己决定是查知识库、调内部 API,还是继续追问。每一步的输出都能作为下一轮推理的输入,整个过程像人一样“边想边做”,而不是“按剧本演”。

而且,一旦把控制权交还给模型,你会发现它其实能干更多事,前提是,你得给它设计好工具、约束好边界、留好退路。这比在 Dify 里反复调试“提示词+条件分支”要靠谱得多。

六、还在路上

现在随着大模型的智能化程度越来越高,客户的要求也越来越高,道阻且长

水平有限,写得不够好,大家看着不爽也别喷,权当交流~