用AI做了个内部应用:JSON2Excel

文摘   2024-06-29 02:00   日本  

这次用AI开发的过程对我来说很有意义,倒不是因为这个应用有多难,而是对与AI协同合作有了更进一步的认识,借此记录分享;

背景


出于某些技术处理原因,公司系统导出的SOP内容,是JSON格式,这对于系统处理数据可能比较友好,但对于客户使用起来的体验不太友好,1难看2难改。

最近刚好有客户提到这个点,她的需求是导出来方便查看:


系统这个功能设计的初衷只考虑了导出再导入=复制内容序列的场景,但在后面的使用过程中,衍生出来的需求,就是客户想清晰快速地一眼看到时间线——具体内容的关系,而目前的页面设计没有一个直观展示的地方。

另外,作为内容营销管理系统,有很方便的批量复刻循环内容的能力,却缺少对应的批量修改能力,如果一次复制很多条内容到多天,下次根本记不住这些内容散在哪里了。

这个场景其实还比较小,原因是,这是长时间线,内容多了之后的需求,但目前,有那么多内容的公司比较少。

一个业务场景越实践越深入,就会有更多问题暴露出来,这很正常,资源有限,功能不能领先于需求。

既然这样,在技术动手之前,我先找补过渡下,想的是可以完善下之前的脚本,并且打包成能在本地运行的程序,这样即使对方没有配置python环境,也能开箱即用,节约双方的时间,winwin。

需求梳理

主要是后端的数据处理逻辑和前端交互界面,没有设计,以能用为目的。

后端数据处理

1、数据输入:从公司系统下载的JSON文件

2、数据处理:将JSON转成Excel,提升可读性;另外需要把其中三个最高频会被修改的字段单独提取出来放在最前面,支持对这三列数据进行修改,排序后可以一眼看出哪些内容是重复的,以便批量调整。
后面字段则整块保留主配置和子配置项,方便进行修改内容的映射和后续的转化拼接。
3、数据输出:看用户的使用目的,如果只是为了更方便查看内容,输出就是Excel文件,如果是为了批量修改后导入,那么输出就是可被系统识别的JSON文件,需要在修改后的Excel基础上再转化一次。

前端交互界面

分为三块:应用说明,操作步骤和注意事项。


打包

ChatGPT告诉我需要用PyInstaller,然后给出了安装和打包流程,很简单。但我的系统是windows,打包出来是exe文件,macOS用不了。不过没关系,先把windows实现出来。

有意思的点来了

其他细节问题的处理我不赘述,但在处理一个核心点的时候,回头来看真的有点好笑,也让我明白了如何更好地与AI协同作业。

这个点就是:在相同的天数和发送时间,可能会有多条内容,比如一个任务同时发送一条文字和几个附件。一开始AI是把他们都拆开了,再导入系统后,本来是一条任务的,变成了多个任务,这肯定不行,并且在Excel中也很难复制和修改。于是我要求:


接着,又出现了新问题,合并后在excel中修改,再转成JSON时,漏了很多内容:


这么看,我表达了个啥…但ChatGPT表示它听明白了, 然后哐哐一顿输出,把完整代码写了一遍,不过:


就这样,围绕这个点来来回回折腾了十多轮,我甚至只留了一行示例数据,把期望的JSON和Excel格式都传了上去,觉得这样应该没问题了吧,毕竟标准示例都给出来了啊!


可是还是不对,于是我有点逐渐暴躁,当他又要给我完整代码的时候,我制止了:


ChatGPT平静地描述了它的理解:



嗯,不愧是GPT4o,你的理解比我到位啊!我都描述不到这么清楚,问题出在哪儿啊。。我甚至开始让它反思🤦,有时候AI左右互搏还是有效的。


但这次它也没有反思出个啥,于是我意识到不能这么死循环下去了,得由我去找问题,于是我问:


然后,它的回答依然稳定,但其中有句话让我灵光一闪,我好像突然意识到了问题:


……

它知道如何从JSON中拆分字段合并成可修改的内容列,也知道原始数据主配置相同时候有几条内容,但从Excel读取内容转成JSON的过程中,是按照行去拆分的。实际上读取的是内容列的前两行,第一行对应第一条内容,第二行对应第二条内容。

于是我马上指出问题:


其实我指出问题的时候,并不知道要用什么技术方案去解决的,但是AI能马上根据我的思路给出方案


这回答可真是太上道了,当时心里就很兴奋,我感觉这个方案的方向是对了,虽然还有实现细节的问题:



!!!真是个大聪明,我真是忍不住”WOW~“了一声,但表现得还是有点淡定谨慎,主要是被上面多轮重试折腾得有阴影了。。


最后,终于:


写在后面

如果你是鲸奇用户,也恰好需要用到这个脚本程序,请联系我,发你安装包,暂只支持windows。

解决这个问题的过程,让我印象深刻:

从一开始希望几句话就能从AI那里得到正确答案,到后面多轮沟通无果变得焦躁,再到意识到得由我去发现并纠正方向,沉下心去识别问题在哪,最后发现了问题,AI给出方案。我觉得这是一次很好的配合。

AI真的是很聪明很好的帮手,特别是在自己并不熟悉的领域。它在这个过程中激发了我的思考和判断,而不是坐等它来帮我思考。我可以不知道很多细节,但得要描述清楚需求,以及知道流程和方向。很多时候无脑地把程序报错发给AI,是会得到纠正;但有时候程序没错,是实现方案就有问题,假如一直在错误的死循环里,就得去主导发现问题,判断方向。

AI像是一个指数级进化的交通工具,一开始也许只是个骡子,但人要先坐上去学会合作和驾驭,未来可能会进化成超音速飞机或者火箭,那么与之协作也就会跟着成长。协作才是正解,如果是竞争,人也许一开始能跑赢骡子,但绝跑不过后来的火箭。




往期AI相关文章:


  1. 《没想到AI建站已经可以这么丝滑了》
  2. 《内容人,如何批量挖掘关键词相关选题》
  3. 《AI怎么写90分私域内容:人味哪里来?》
  4. 《AI怎么写60分的私域内容》
  5. 《零基础4h搞定第一款chrome插件开发》
  6. 《Coze系列1:大模型日报bot》






Ivy聊营销自动化
分享私域营销自动化、低代码应用设计、AIGC等日常接触领域的实践和思考