想搭一个能用自己资料回答问题的AI应用,现在能选的平台不少,Dify是其中被提得比较多的一个。它的官方定位很清楚:一个用来构建AI应用的开源平台,可以创建Agent、Agentic工作流和聊天机器人,让它们利用你自己的数据,再发布成Web应用或者通过API集成。问题也恰恰出在这里——一上来就得在几种形态里选一个,而它们适用的场景并不一样。
选错形态的代价,往往在做到一半时才显现。你可能花了两天,把一套流程在一个形态里搭得有模有样,跑到某个环节才发现它天生做不了你要的那件事,只能推倒重来。所以动手之前,先把这几种形态各自擅长什么想清楚,比急着拖节点要省事得多,也省得后面返工。选型这一步省下的时间,远比事后重构便宜,而且它不需要任何技术投入,只需要想清楚。
看它给你的是流程,还是判断
把这两个名字拆开看,差别其实在确定性上。工作流通常是你把步骤一个个编排好,每一步做什么、上一步的输出交给谁,都是你事先定下来的。它更像一张流程图:输入进去,沿着固定的几条线走,最终得到结果。适合的是那些步骤明确、分支有限的活,比如把一份文档按固定口径整理成摘要,或者按预设规则从资料里抽取字段。这类任务的特点是重复且规则明确,交给人来定流程,反而比交给模型更稳。
智能体则把一部分决定权交给了模型。官方把这类形态描述为能利用你自己的数据、自主完成任务的形态,它会在执行过程中根据当前情况决定下一步调哪个工具、要不要再查一次资料。换句话说,路线是它自己走的,你只负责给起点和终点。这种灵活性是它的长处,代价是不确定:同样的输入,两次运行走的路可能不完全一样,出了问题也更难一步步复盘,因为你很难复现它当时为什么那样选。这也意味着,同样的输入跑两次,得到的结果不保证一致,这对需要可追溯的场景并不友好。
所以选型可以简化成一个问题:这件事的步骤能不能提前写死。能写死,就用工作流,可控、好排错、结果稳定;写不死、需要临场判断,才轮到智能体。很多人的误区是觉得智能体更高级,凡事都想上智能体,结果把一件本来三步就能确定的活,做成了一堆不可预测的调用,既费额度又难调试,最后还得退回工作流重做一遍。形态本身没有高低,只有合不合适,判断依据永远是任务的确定性有多强。
资料这一层,谁都绕不过去
不管选哪一种,只要它要基于你自己的资料回答问题,前面那层准备都跑不掉。平台一般会让你把文档传进知识库,由它做切分、向量化,之后回答时先检索再生成。这一步做得好不好,直接决定了应用的上限。文档切得乱七八糟,再顺的流程也只能基于一堆碎片拼答案,表面上看是模型不行,实际上是资料这一层就没铺好。把责任归给模型很容易,但那通常是把问题推到了最不该动的那一环。模型是整条链路的最后一环,它只能对接到手里的材料负责。
这里最容易出问题的地方,是把没有整理过的原始资料直接丢进去。合同、会议记录、客服聊天记录混在一起,格式五花八门,检索出来的东西自然杂乱,模型只能在一堆不相关的内容里硬凑。稳妥一点的做法是先分门别类,把同一件事的说明集中到一处,把互相矛盾或者已经过期的版本清掉,再传进去。整理资料这件事本身,往往比你后面调多少轮提示词都管用。资料整理得好,后面几乎不需要做太多额外的提示词工程。
搭完之后还有一层要考虑:它最终以什么形式被人用。官方给的出口有两种,发布成Web应用,或者通过API集成到已有系统里。内部试用,Web应用最直接,把链接发给同事就能用;要嵌进你自己的后台、或者让别的程序调用,就走API。把出口想清楚再回头设计,能少走一段弯路,比如一个面向内部人的工具,就不必在界面和文案上下太多功夫。出口决定了投入的重点,先定出口再设计,返工的概率会小很多。
回到最初那个问题:工作流和智能体的选择,本质上是在确定性和灵活性之间做取舍,而不是在先进和落后之间做取舍。先把要解决的问题写清楚,看步骤能不能提前定下来,再决定用哪种形态,最后才是去拖那些节点、配那些参数。顺序反过来的话,你多半会在某一刻发现选错了形态,那时候重搭的成本,比一开始多花二十分钟想清楚要高得多。大多数返工,都不是因为技术难,而是因为动手前少问了那几个问题。平台给了你几种形态,但决定权一直在你手里,别让它替你做选择。
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!
