爆肝 5 小时,我用 Flowith 做了一款问卷数据清洗工具来解决真实工作问题
在数字化时代,工作效率的提升往往依赖于工具的创新。本文作者通过亲身体验,利用 Flowith 这一新兴的智能体工具,尝试解决工作中繁琐的问卷数据清洗问题。
最近开始学 Agent,看到很多人推 Flowith,于是想起来捣鼓下。其实很早就知道这个产品,画布式,多线程,在当时都是 chatbot 类形态的产品中独树一帜,记得李楠中在《脑放电波》的一期节目中还提起过。但到底没有去用。Flowith 呢,似乎也不温不火,直到 Manus 爆火,因为邀请码的问题,Flowith 抓住了机会,而成为前者的平替,也是坐上了一程顺风车。
至于我呢,因为工作中,要做数字人的需求,得了解下智能体的原理,和公司算法部的工程师沟通,让我用 Coze 或者 Dify,自己体验下。Workflow 的方式我大抵是清楚的,但刚好 Flowith 的 Oracle 模式更省心,全程交由 AI 规划。那么就来尝试下吧。
科学上网后,打开 Flowith,使用邀请码创建账号,我用的是 Flowith 2025 全球智能体创作大赛发出的邀请码「Y8Q6WV」,有 100 次 Oracle 的免费使用次数。
注册完成后,进入首页,打开输入框右上角的 ORACLE MODE ,在输入框中输入对话即可。
最开始的时候,我牛刀小试了下,让它给我做个「 分享卡片 」,提示词如下:
生成一个可交互式的分享卡片网页:
网页提供输入框供用户输入,文案提示:请输入您想要分享的内容,不超过 100 字;
用户输入后,点击确认按钮,进行卡片生成;
生成卡片背景颜色使用渐变色,有毛玻璃特效;
生成效果如下:
可以看到,Oracle 模式下,AI 会自动帮我完善需求,比如我提到了渐变色,它便在页面中增加了 Card style 的选项,同时确认按钮的文案也变成凉更人性化的 Generate Card,还附带一个✨ 图标,交互和 UI 上更周到。
当然,它也有未实现的需求,比如我提到的毛玻璃特效。
Flowith 生成的内容支持重新润色,点击左下方的 Refine AI ,即可继续输入想要修改的内容。
我在其中输入了:未生成毛玻璃特效,请继续生成。AI 重新执行了我的指令,但生成后的内容仍然不具备毛玻璃效果。事实上,这是一个在使用 Flowith 中我所遭遇的最大问题,我需要去处理一些明显不符合预期的需求,但无论重试多少次,AI 都不会如我所愿。
既然 Refine 无法满足我的需求,索性重开一个分支。点击画布的起点,选择新建分支,修改提示词,这也是多线程的好处,可以比较修改后的差异。这一次,我把背景色去掉,只保留毛玻璃,并且强调毛玻璃就是高斯模糊。
这一次生成的页面风格相比上一次,就朴实很多,趋近于线框图。
但效果却不错,高斯模糊实现了,而且支持下载成 PNG 格式图片。
其实处理这些小工具,当下的大模型真的已经足够,以后读书笔记用这种小工具润色,会方便许多,而且样式随自己掌控。但不好的地方就在于抽卡,有时候要看天意。
接着继续来小试牛刀,搞一个「 名言生成器 」。提示词如下
帮我创建一个网站,该网站能够随机生成一些名人的金句,并以卡片形式展示:
用户可以选择:鲁迅、古龙、金庸三位作家;
选择作家后,点击【生成金句】,系统将从所选作家的作品中挑选出一句金句并展示;
这次生成过程比较顺遂,AI 先是分解了我的需求,先在网上找了三位作家的一些名言,存储下来。再生成了一个交互式的网页。一开始缺头像,后来我用了 Refine with AI,给我生成了三位作家的姓氏头像。
这里可以看到,AI 又主动帮我润色了下,提供了每个作家的在世时间。名言的展示 UI 我也润色了下,使用橙红渐变色,并且有粒子特效。因为是截图,所以粒子是静止的,实际上这些粒子是移动的。说起这个特效,也调了好久,如果只对 AI 说 “让粒子移动 ”—— 那是一点效果都没有的,直到我把提示词改成具体的要求:让粒子每 0.1s 移动一次才奏效。有的时候,大模型也和人一样,明确的指令才能让 AI 行动。
其实这个网页还可以继续优化,最大问题在于目前的数据库是静态、有限的,应该实时获取到新的内容,每一次生成都是新的内容。但我不用继续往下了,这两个 Case 只是用来练手,熟悉 Flowith 的基本用法而已。
实际上,在 Oracle 模式下,只需要把握三点:
- 提出需求;
- 对于生成的结果,使用 Refine with AI 重新优化;
- 建立多个分支比较输出结果;
而怎么提出需求,我自己摸索下来的感知是,越具体,执行的成功率就越高。而另一个重要的原则是:如果自己有拆解的能力,那么最好自己把任务规划好。虽然这一点和自主感知决策的超级智能体逻辑是相悖的。
牛刀小试后,可以进入正菜了,我需要使用 Oracle 来解决在工作场景中遇到的真实问题。实际上这个问题是我的对象抛给我的,她的工作中需要对海外用户投放问卷,问用户对于某些服务的价格偏好,比如「你愿意为 xx 服务花多少钱?」。
由于海外用户来自不同国家,所以问卷的填写五花八门,货币单位也不尽相同,但最终这些答案要被转化为统一的货币——美元。
这是用户的原始回答,数据量在 1500 条以上。正常情况,这些数据得人工清洗一遍,然后手动计算:
- 先把原始回答梳理成数值+货币单位的统一格式,比如 500 AUD;
- 再逐行计算当前货币同美元的实时汇率;
- 最后将当前货币的数值同实时汇率相乘,得到最终结果;
可想而知,这是一件十分琐碎且费时的工作,有时候光这一张表格就得处理一天。而经过上述两个用户 Case 后,我对 Flowith 充满了迷之自信,而欣然包揽了将这项工作自动化的任务。
天真的我一上来就上传了文件,然后把所有的问题抛出:
文档中每一列包含货币数字和单位,请将每一列换算成美元
计算换算成美元后,所有列加在一起的平均数
无任何数字可以无视
如果只含数字不含货币单位则视为美元
输出格式:原数值 原货币单位 换算后美元
这次的生成结果对我来说简直就是一场噩梦,AI 拆解任务的逻辑倒是很清晰:
- 分析上传文本,提取货币数值及单位
- 在线搜索步骤 1 中所有出现的非美元货币当前的美元汇率
- 将数值换算成美元,计算平均值
可在实际操作中,压根不是那么回事。首先它根本没有解析文件,而是直接在线搜索进行了货币换算。然后,它又让我上传了一遍文件,又重复了一遍先前的操作,最后莫名其妙给我生成了一张表格:
这都哪跟哪儿呀,于是我又重新运行了一次节点,但结果还是一样。
是不是我的需求太过复杂?我在心里思考。于是我决定给 AI 减轻点工作量,把需求改下:
文档中 第一列包含货币数值和单位,请将数值和单位分开
这下,AI 总算动起来了… 不过我忽略了一件事:Flowith 是构建在画布基础上的产品。众不所周知,画布本来就吃渲染,而要在画布上处理 1500+ 条的数据,那么结果就是:卡卡西。
怎么说呢,真就有种尬住的感觉。那一瞬间我意识到,画布的形态不适合用来做数据处理,而实际上我也不应该直接在工作流里这么去定义,它做出来是要能交付给别人去使用的。
所以我再一次修改了自己的需求:
作为数据分析行业的程序员,创建一个网站,该网站需要:
支持用户上传 Excel 文件;
处理 Excel 文件,其中第一列包含混杂的货币数值、单位和无效数据;
在第二列中提取并显示第一列中的数值;
在第三列中提取并显示第一列中的货币单位。
这样,其实所有的数据逻辑处理就不在画布中了。
这一次,AI 如愿生成了一个能够上传 xlsx 文件的网站,并且主动增加了【处理文件】的按钮,文件上传后点击该按钮,就自动解析出来。不过第一次解析的结果有些问题,像澳大利亚货币有多种写法,如 $500 AUD 这种的都解析成了美元,所以我又通过 Refine With AI 补充了特殊货币的解析规则。
这是最后呈现的结果(实际上经过了多轮生成),也可以下载为 xlsx 文件,还有一些不满意的地方,比如我希望无货币单位的数值能够直接被处理为美元,但可惜我多次进行 Refine,都没有生效,我又害怕再重头来过,先前调整好的 refine 又得重来,就保留了这个缺陷,反正后面我可以通过 Excel 手动补全。
我把这个网站称为【 货币数据提取器 】,本来我想一鼓作气,基于这个网站,直接把汇率、平均数都一起怼上,但是,血泪的教训又来了,无论我怎样修改提示词,甚至重新运行节点,汇率和平均数都完全不生效。从晚上 10 点多,到夜里 1 点多,将近 3 个小时,我反复生成,都没有得到我想要的结果,甚至毫无方向。
没辙了。
也许这任务实在太过复杂,如果说货币数据提取利用表格操作和正则表达就能搞定,那汇率计算就涉及到联网和实时换算,以及逐行写入,最后还要加总计算平均数,每一步看似都很无脑,但加总在一起就是一座山,任何一个环节出错都可能导致整个程序运行不起来。
既然这样,索性还是把任务进行拆分,做一个【 货币转换器 】:
- 先做一个能实时获取汇率的网站;
- 在此基础上,支持使用文件批量上传货币单位,逐行转换成对美元的当前汇率,并支持 xlsx 文件下载;
- 如果这两步能行,我就得到了逐行的对美元汇率,那么剩下的就是:
- 将【货币转换器】生成的表格数据黏贴至【货币数据提取器】生成的文件中;
- 使用 Excel 自带的两列相乘函数,将数值列同汇率列相乘,新的数值存储在新一列中【转换成美元】;
- 【转换成美元】列使用求和 + 平均数函数,得出结果;
这样,整个任务就被简化成三步:
- 【货币数据提取器】,将数值同货币分离;
- 【货币转换器】,计算货币同美元汇率;
- Excel 人工计算平均数;
虽然没法一步到位,但通过任务的拆解,99% 的工作其实被【货币数据提取器】和【货币转换器】所承接,人的工作量大幅减少。
那么闲话少叙,正式开始【货币转换器】的生成:
设计一个网站,支持上传 Excel 文件,解析文件,并计算出第二列的数值按第一行的货币单位转换成美元后的值
一开始的提示词如上,但太过复杂,AI 生成的结果并不好,无法获取到实时汇率,最后尝试了五六次,提示词改成如下:
请设计一个网站,支持上传 Excel ,请列出 Excel 中第一列包含的货币代码,当前同美元的实时汇率
逻辑越是简单,越是具体,AI 生成的成功率越高。 这一次,它生成了令我满意的结果:
大功告成,到这里已经凌晨 1 点多了。这就是所谓的 Vibe Coding 么,像抽卡一样,不只是提示词要反复调整,每一次还得看运气,看模型生成的效果,有的效果好一次就可用,有的效果不好,还得反复调试或是重新生成。所有的逻辑和代码运行都是黑盒,一切都是天意。
但要说和传统手工编程相比,那 Vibe Coding 还是快的,整个任务算上调试的时间,其实最多 3-5 小时,这中间可能超过一半的时间是等待大模型在运行,如果运行的速度能加快,那时间还能被缩短。
当然,工具的使用也有一些毛病:
- Oracle 的模式下除了初始节点能够创建分支,后续的任务只能修改任务提示词或者 Refine with AI;而我希望每个任务都能被并行多线程触发(同一提示词),这样抽卡的结果多,我能有更多的选择而不至于每次得重头再来;
- 基于 1,我希望每个任务都可以被拆解新的分支,这样我可以并行尝试多个不同类型提示词;
- 支持每个任务的结果保留,支持回退上一步而保持当时生成的结果还在,而不是大模型重新运行一遍节点;
- 支持 Refine with AI 时查看自己的调试过程和调试词,结合 3 能够随时回退前进,但是每次运行的结果是被保留的;
- 生成的网页希望有直接查看的入口,现在只能整个 Recipe 保留,但大模型每次运行的效果都不同;
- 应该有一个 workflow ,能够自己调用自己制作的智能体,或者说能力,规定好彼此间的传递物就行;
At last,总结下这次实践下来的经验:
- 要多修改提示词、多运行,耐心;
- 自己拆解任务,而把原子工作交给 AI;每个智能体应该被单独构建,专注于解决一件事;
- 任务应该单一、具体;
- 相信命运,享受随机性。
本文由人人都是产品经理作者【善宝橘】,微信公众号:【善宝橘】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。
- 目前还没评论,等你发挥!