那另外一个优化方向就是提升单位时间的效率。就是说,我就这么点时间,原来一个小时可以做完一个功能,现在找到了一个新办法,一个小时可以做完十个功能,这就是效率的提升。
当然,通过增强自己的意志力来强迫自己去提升生产效率,这种事情实际上是很难的。我们充其量也就是保证自己在做这些事情的时候,尽可能少地被干扰,不让自己的生产效率降下去,这已经是非常不错了。要想成倍的去提升人类的工作效率这是非常难的。
但是非常幸运的是,我们程序员从事的工作,它本身是有一部分可以由机器来做的。所以我们可以引入自动化来提升效率。
具体的例子是代码生成器。不是那种一下生成整个项目代码的大东西,而是根据我们自己编写的模板可以飞快生成各种代码片段的那种。比如我之前放出来的metatoy,就是一个可以用 GUI 进行配置的代码片段生成器。
当然你也可以直接用过脚本来生成,效果也不差。一旦我们把日常开发中最费时间的部分写成了模板,之后就可以节省下来大把大把的时间。
代码模板只能解决相对比较死板的规则,但是随着最近人工智能的进步,在某些特定场景下,原来很多低效率的人工操作,已经可以交给 AI 了。
对于 AI 正确率不高的场景,我们也可以通过人机结合方式来处理。比如图片分类,之前我们要花上十个小时的人工,现在 AI 只要十分钟,但是里边有20%的分类是错。那么我们可以再人肉过一遍,可能要花两个小时。即使这样,也将效率提升了五倍。
最近以接口方式提供的 AI 能力有很多品质已经不错了。比如熟悉我微博的同学都知道,我就经常在用语音合成和识别服务来提升内容生产效率。
比如我之前发布的Slide酱,她可以读取PPT中的演讲者注释,直接生成视频。这就极大的提升了视频内容的生产率。你现在看到的这篇文章,也是通过讯飞语记以每分钟一一百多字的速度记录下来,然后二次修改而成的。
最近看到个不错的服务,也是利用了大厂开放的 AI 接口实现的。它是面向自媒体的 vlog 自动配字幕服务,只要上传下视频,几分钟就可以生成好字幕并进行压制。
如果服务足够可靠,我们可以做成自动化服务直接提供给最终用户。如果服务还不够可靠,我们也可以将其放到原来流程的中间来提升效率。
比如同样是代码生成技术,如果我们把它做成面向不懂技术的人群的代码生成,如果服务还不是很可靠的话,最终效果可能不会太好。但同样品质的接口,如果我们把它做成面向开发者的、在编辑环境的代码补全和建议小工具,可能就会显得很好用了。
另外一种提升单位时间的方式呢,就是众包。严格地讲,其实众包里边我们已经把任务给分出去了。但是考虑到我们众包的时候,还是需要花不少时间去管理,我们还是会消耗精力,所以把它看做时间片效率的提升,也说得过去。
用大家熟悉的形式来描述的话,就是我们 new 了一堆 worker 节点去干活了,但我们自己控制着 factory 和 manager,还是需要随时监控和调度的。
顺便说一句,将什么样的工作众包出去也是有技巧的。首先是针对不同 worker ,我们要分配合理的 task 。如果是兼职的学生,就适合先分配一些类似文字整理工作的初级任务,做好了以后再加码。如果是经验丰富的工程师,就可以分配一个独立的微服务或者控件,尽可能降低各个 task 之间的耦合和依赖。
虽然监控和调度任务也会消耗精力,但这种方式可以突破时间片的天花板,是值得尝试的。
同时,从这里我们就可以看出,直接售卖时间片,其实是在整个链条的最下边,挣得是最薄的那一点利润。所以这里我们从时间片上面再往前走一步,从资产的这个角度来看待,挣零花钱这件事儿。