一个老程序员对小浣熊 AI 办公助手的使用体验
![一个老程序员对小浣熊 AI 办公助手的使用体验](https://static001.geekbang.org/infoq/b0/b0ed01d69463a0a073a90f0197b17719.png)
我是一个老程序员,今年 42 岁,仍然在一线编程领域工作。
2022 年底以 ChatGPT 为代表的 AI 工具席卷整个业界后,我也使用了不少能提高办公效率的 AI 工具。比如程序员的好帮手,来自微软的 Copilot.
这款名叫小浣熊的 AI 办公工具,我之前并没有听说过。
在 InfoQ 社区首页看到它出自商汤旗下,我眼前一亮,觉得这款工具肯定不会差。于是就花了一点时间试用了一番,通过本文同各位同行交流。
我手头正好有个数据分析的实际需求。
我平时坚持技术写作,每一篇文章写好后,我都把文章标题维护到一个 Excel 文件中。不知不觉也有 5000 多篇了。
于是我想了解下,这 5000 多篇文章,大致的分类情况。
![](https://static001.geekbang.org/infoq/3d/3df2184725d00e045d32fc9231d75cbd.png)
打开小浣熊工具集合里的办公小浣熊:
https://raccoon.sensetime.com/office
选择本地 Excel 文件进行上传。
然后发出指令:
我上传的 Excel,第一列为文章标题,请你分析这个 Excel 里总共的文章数量,并且根据文章标题,智能地将这些文章进行归类,然后绘制出饼状图,展示每一类的文章,占文章总数的百分比。
![](https://static001.geekbang.org/infoq/da/dae0a541c773881fdf11564f17c6981d.png)
我们在小浣熊办公助手里,能看到其自动生成 Python 代码,使用的 pands 库进行数据分析。
![](https://static001.geekbang.org/infoq/61/617e2a87aa7fc939e5c8298be0a772b2.png)
很快就看到了数据分析的结果:
![](https://static001.geekbang.org/infoq/71/715c34b2ceea8a1c654f894064000828.png)
分析结果显示,编程类文章约占五分之一,设计类占 16.1%, 而其他类文章占据了五分之三。
我觉得这个结果不太准确。因为事实上,我的大部分文章,都是和计算机编程技术相关的。而现在 60% 的文章,被分类成了「其他」。
那么来看看生成这段结果的 Python 代码:
可以看出,这段代码定义了一个字典数据结构 categories,键为硬编码的编程,设计,产品和其他四个字符串,值为数组。
然后遍历 5000 多篇文章的标题,如果标题至少包含这四个类别对应数组里任意一个元素,就认为该文章属于该类别。
举个例子,假设有篇文章的标题为 SAP UI5 List Report Lazy Load 技术介绍。因为标题里包含技术这个字符串,而小浣熊办公助手生成的硬编码的编程类别里,也定义了一个叫做技术的元素。
因此二者匹配,SAP UI5 List Report Lazy Load 技术介绍这篇文章,被划分到编程的类别范畴内。
于是我调整了提示指令,新的内容如下:
你好,我阅读了你生成的 Python 源代码。我发现你是通过简单的字符串匹配方法,即分析每篇文章标题,是否包含了硬编码的类别关键字,来对文章进行分类。
我现在想请你换一种方式,通过对文章标题,进行语义分析,来对其进行分类。
我举个例子,有这样一篇文章标题:SAP UI5 List Report 的 Lazy loading 实现机制分析。
虽然文章标题,并没有出现类似“技术”的关键字。
但是在编程领域,Lazy loading 是一种公认的异步加载数据技术,因此这篇文章,应该被划分到技术文章的范畴。
请你根据我上述的例子,重新对 Excel 里的文章进行分类。
然而当我发出指令后,收到提示消息:
当前会话已过期,请打开新会话。
![](https://static001.geekbang.org/infoq/b8/b863ccafd3d31f9dbd56d396b3206f91.png)
这就稍稍有点影响用户体验了,要知道 ChatGPT 可是没有这个限制的,我们可以随时对一个现成对话,展开追加交谈。
于是创建一个新的对话。再次向小浣熊发出指令后,发现其处理逻辑,仍然采取之前的硬编码关键词+字符串匹配的方式来完成:
![](https://static001.geekbang.org/infoq/41/4135e1d27646d36802c29e8e3142b8b7.png)
不过瑕不掩瑜,小浣熊办公助手支持用户采用自然语言的方式来发送指令,对于那些没有任何编程基础,但仍然有需求使用 AI 工具来辅助办公的用户来说,仍然能够发挥非常大的作用。
下面再尝试用小浣熊助手解决另一个实际办公需求。
有个大姐向我求助,她每天有很多 Word 文件需要处理。每个文件的初始内容只有正文,她需要逐一打开每个文件,进行重复操作。比如添加正文标题,设置页眉,调整段落格式等等。
有没有可能通过工具来自动化这些繁琐的流程?
我的第一反应是可以用 RPA 解决此类需求。
不过考虑到有些企业里,员工使用的办公电脑,不能随意安装一些其他的客户端。
那么,有没有办法通过浏览器端运行的工具,来实现自动化?
使用小浣熊办公来尝试一下。
我先制作好了一个 Word 文件作为模版:页眉字体大小为 14,字体类型为宋体,背景色为黄色。
![](https://static001.geekbang.org/infoq/67/67dde02e7edec21a782160e4ad8c6b97.png)
发出指令:
我上传了一个 Word 文档给你。文章的页眉字体类型为宋体,字体大小为 14,字体背景颜色为黄色。请你记住这个设置。
这里我显式要求它记住这个设置。
![](https://static001.geekbang.org/infoq/21/216c60499160b7bbc3a825fafe13edea.png)
通过对话,小浣熊成功将模版文件页眉的字体类型和字体大小解析了出来。
从生成的代码看,小浣熊将解析出来的页眉字体设置,分别存储到了三个变量中。
![](https://static001.geekbang.org/infoq/51/51f62485fddb28a5d0e913bd96a58240.png)
继续测试,给小浣熊提供第二个文件。我期望它能够把“第二篇文章,把这段文字设置为页眉”这句话,设置为页眉,并且按照第一个模版文件中包含的页眉参数,进行同样的设置。
![](https://static001.geekbang.org/infoq/70/70377a6d6dce422bfd98e341f06a8a33.png)
指令如下:
我上传了一个 Word 文档给你。请你按照前一篇 Word 文档的页眉设置属性,比如字体类型,字体大小,字体颜色,将这个 Word 文档的第一句话,设置为该 Word 文档的页眉。
![](https://static001.geekbang.org/infoq/a5/a5a2025333bc3be9fd205d9ec04ebfd7.png)
从自动生成的 Python 代码看,小浣熊之前从第一个文档里解析出来的页眉设置,存储在变量 header_font.name 和 header_size 中,然后将这些值,赋给第二个文档的页眉。
![](https://static001.geekbang.org/infoq/53/5361dd278a61b208a37c1ff5c7125f54.png)
理论上看这个处理方式没有问题。不过打开修改后的文件,发现页眉的字体类型和大小,并没有修改成期望中的宋体和 14.
![](https://static001.geekbang.org/infoq/fd/fd7312b0282290f0bf7a9de53ee82c69.png)
我们再将小浣熊生成的解析第一个模版 Word 文件的 Python 代码,拷贝到本地,发现可以直接运行,看来小浣熊生成代码指令的质量确实很高。
并且从 Python 调试器里,能看到确实成功将宋体和 14 这两个属性提取出来了。
![](https://static001.geekbang.org/infoq/be/be5bf7a0e3829b4a649150e749c28770.png)
看来在同一个上下文的两次对话里,小浣熊 Python 代码里全局变量的值保存处理,有一点小小的问题。
不过这个问题也不大,因为我们可以把要设置的页眉属性,直接通过指令的方式,发送给小浣熊即可。
从体验过程中我发现,小浣熊根据自然语言发布的指令,生成的 Python 代码质量非常高。因此除了作为办公助手之外,它也可以用来作为 Python 零基础的学习者,想入门 Python 编程的一个辅助工具。
我已经将这款工具,推荐给了我微信好友列表里,那些在传统企业上班的朋友们,希望能帮助他们提高工作效率。
评论