Dify
Key Takeaway
- Dify新增“双向MCP”功能,允许用户在Dify中添加MCP服务器,并可将Dify工作流转换为MCP服务器对外输出。
- 该功能解决了工作流“孤岛”问题,使其能融入日常通用场景,极大扩展了Dify的工具范围。
- 作者重新关注Dify,认为工作流应原子化,作为组件强化特定场景效果。
- 文章通过Deep Research工作流的演示,展示了Dify与MCP结合后,AI客户端可调用特定MCP服务器解决特定需求,提升效率。
- Dify的MCP功能与提示词结合,可实现基于MCP工具和Prompt的工作流自动化,提升个人生产力。
Full Content
Dify最近上了个新功能:双向MCP。这是个非常重要的功能。因为它让原本只针对特定场景的工作流可以融合到我们日常的、通用的使用场景中。
什么叫“双向MCP”?
一个方向是进来,也就是你可以在Dify里边添加现成的MCP服务器。这个好处是,可以极大扩展Dify的工具范围,把越来越丰富的MCP服务器纳入进来。
另一个方向是出去,也就是你可以把自己创建的工作流转换成MCP服务器,对外输出。比如我用AI客户端,把工作流MCP添加进去。平时在对话中就可以直接调用。
这样一来,你搭建了半天的工作流不会被限制在某些使用场景和情况下使用,不再是孤岛。这个是非常大的进步。
哈喽各位好,欢迎回到我的频道。谦虚地说,我是国内少数几个能把关于AI的Why和How讲明白的博主。我提供的东西远比教程更值钱。记得点一波关注。如果想链接我,就来我们newtype社群。这个社群已经运营500天,有超过1500位小伙伴付费加入啦。
回到今天的主题:Dify的MCP功能。
我记得去年就出过视频介绍Dify。但是从那之后,我就不再关注这些工作流平台了。两个原因:
第一,上手难度高。这些工作流看起来好像在画布上随便搭一搭就行,但其实难度挺高的。既要懂技术,还得懂业务。一家公司能有几个这样水平的人?
第二,适用场景窄。每一条工作流都是针对某些场景、解决某些特定问题而存在的。在早期很有用,因为大模型能力不强,所以把人类的经验编排成工作流,去指导模型。但到了今天,你再把固定的工作流硬塞给模型,就有点限制它了。
那我为什么现在会重新捡起Dify,会看中这次的更新?
因为工作流不是变大了,而是变小了。它可以变成一个一个原子化的组件,融入到我的工作流里边来,去强化特定场景下的效果。这个就是MCP服务器应该有的价值。
我给你们演示一下就明白了。
这个是我在Dify里找到的现成工作流,Deep Research。我把里边的模型改成GPT-4.1,然后发布。因为发布之后,才能把MCP服务器功能打开。
点击左边这个按钮,在左下方把这个选项打开,就可以把这个工作流转变成MCP服务器。这一行就是服务器地址。因为我是在本地运行的,所以地址开头是localhost。
打开AI客户端,我这边用的是免费的Cherry Studio。新建一个MCP。连接方式选HTTP。然后把服务器地址填进去就搞定了。
我们来做一个对比。
我先使用模型内置的搜索工具,搜一个问题:什么是Context Engineering?这个是它的回答。
然后我开个新窗口。这次使用刚才接入的Deep Research MCP服务器。还是同样的问题,什么是上下文工程。
稍等几分钟,模型给出了回答。对比两次的输出,可以明显看到,使用了外挂MCP服务器的效果要好得多。
你看,这个就是我刚才说的,到了特定场景、特定需求的时候,你调用特定的MCP服务器去满足、去解决。你不需要换一个工具,还是用原来的AI客户端,这个真的很方便。
我演示用Deep Research是为了让大家好理解。其实工作流是特别定制化的。接下来,我会针对我自己的需求搭好多个工作流,然后统统转化成MCP服务器。
所以,就像我在社群里说的,现在有两套系统可以满足我们的定制化需求:一是提示词,二是基于工作流的MCP服务器。并且,这两套系统还可以用我做的产品——Prompt House进行统一调度。
这样配置下来,我相信,我的个人生产力又会有一次大的提升。
OK,以上就是本期内容。想了解AI,想成为超级个体,想找到志同道合的人,就来我们newtype社群。那咱们下期见!
Key Takeaway
- Agent平台分为生态流派(如钉钉)和工具流程流派(如dify),dify通过提供知识库和工具来创建Multi-Agent System。
- 学习Agent应从dify入手,因为它将代码逻辑以直观的流程图形式呈现,便于理解和实践。
- dify的工作流设计强调逻辑和流程的整体性,大模型仅在需要时介入,而非主导一切。
- 工作流可以根据用户输入进行条件判断和分支处理,实现更精细化的任务执行。
- dify的工作流示例(如文本总结)展示了如何结合知识库和Prompt来提升大模型的专业能力。
- 通过dify实践Agent,有助于建立对Multi-Agent System的基本认知,并为学习其他Agent框架打下基础。
Full Content
Agent平台有两大流派:
一是生态。比如钉钉这种。
在钉钉上边,已经承载了大量企业的部分业务,沉淀了很多内部数据。这时候你在原有生态基础上添加Agent,让企业能调用大模型的能力,并且围绕这个能力去构建智能化的工作流,是非常顺理成章的事儿。
二是工具流程。比如dify这种。
dify提供了创建Multi-Agent System需要的两个基础:
知识库和工具。其中,工具你可以用现成的,也可以自己创建。在这两个基础上,你再去搭建Chatbot、Agent,或者一大套工作流。
很多小伙伴看了我前几期视频,跑来私信问我该怎么学习Agent。我的建议是,通过擅长工具和流程的dify来上手。两个原因:
第一,之前在知识星球newtype里反复讲的——Agent最核心的,不是技术,而是工作流,是你想让它们具体怎么做。
dify在这方面做得特别直观——它把代码的逻辑,用流程的方式,在画板上呈现出来。你一用就明白。我待会儿会演示。
第二,也是我之前总强调的,Learning by Doing,边做边学。
对咱们来说,AI不是一个理论问题,而是一个实操问题。而dify特别适合拿来拆卸和组装。你就把它当作玩具、当作积木。当你把一个Workflow跑通了,不仅能学到点东西,而且还挺有成就感的。
那么,具体该怎么上手好呢?很简单:
先看看人家是怎么做的。dify官方提供了好多现成的工作流,你随便挑一个感兴趣的,拆开研究研究。然后再自己亲自动手,搭建一个简单的试试。
我带大家过一遍官方提供的工作流Sample,这个叫“文本总结工作流”。
一般来说,一套工作流是以用户的输入作为起点的。在这个文本总结工作流里,它要求用户输入需要总结的文本,并且选择总结之后是个概述,还是技术摘要:
如果只是概述的话,那很简单,直接让大模型搞就好;如果是技术摘要的话,就会涉及到很多专业的概念和表述,这就需要用到知识库,毕竟大模型的预训练资料中不包含这些Domain Knowledge。
第一步让用户二选一,那么在第二步,就需要根据用户的选择,做一个条件判断,用到if、else——这个对有编程经验的小伙伴来说,应该非常亲切。
因为有了条件判断,所以在第三步出现分叉,就像前边说的:
如果用户要的东西会涉及到专业内容,那么就去知识库里检索一下。然后把用户要总结的文本,以及从知识库里找到的相关内容一起给到GPT-3.5。
如果用户单纯只是要一个文本的概述,那就直接把需要总结的文本给到GPT-3.5,省掉知识库检索的步骤,速度会快一些。
当分叉的第四步完成之后,第五步就是把两个分支进行合并。不管是哪种情况,反正把结果拿过来,给到第六步,套进一个模板,最后全部完成。
这就是一个典型的工作流。我之所以拿出来介绍,是希望大家能理解人家的思路:
第一,大模型并不是全部,而是在一些需要它发挥作用的环节才出手。最重要的还是逻辑、流程,是一个整体性的东西,需要你有全局观。
就像刚才那个分叉,你如果在一开始没有特意让用户帮你做一个选择,以及后边不加条件判断环节的话,那你只能不管三七二十一都去知识库里做检索,这样速度会慢很多。
第二,如果涉及到知识库的话,需要给大模型提供两个东西:知识库里检索到的信息,和最初用户的需求。这一步跟RAG里的流程是一样的。
这两个输入,可以在大模型的Prompt里交代清楚。你愿意的话,可以在这边把你期望的格式也告诉大模型,其实也就是CrewAI里的expected output。
除了我刚演示的官方Sample,其它的也建议大家看看,就知道一般都有哪些玩法了。举个例子:
如果需要根据用户的输入来判断后边怎么执行的话,除了刚才那个if、else的条件判断,还可以用“问题分类条件”——根据不同的内容,去对应的知识库里找参考资料,然后再给大模型回答。
当你把这些现成的工作流都吃透了,就可以自己上手组装一个了。一旦跑通了,你对Multi-Agent System的基本认知就有了。
假如你之后学了某个Agent框架(比如AutoGen)就会发现,逻辑都是一样的。而有了在dify上建立起来的理解,你再用Agent框架应该会顺手得多。
OK,以上就是本期内容。有什么想聊的,来知识星球newtype找我,我都在。咱们下期见!