查看原文
其他

流量密码:ChatGPT 开源的一些思考

lencx 浮之静 2023-02-10

这篇文章我不想牵扯过多的技术描述,后面会专门写技术文章来讲 ChatGPT[1] 这个项目。

背景

我最近大半年一直在研究 Tauri 相关技术,写了一些零散的文章。知道一些功能 API,也读了一些源码(被迫的,因为单纯的文档和 issues 已经不够用),但是并没有做出过一个真实可用的项目。

简单来说 Tauri 就是一个桌面应用跨端打包解决方案(macOS,Window 和 Linux 等)。它的移动端(Android 和 iOS 等)打包也已经发布了 alpha 版本(Announcing the Tauri Mobile Alpha Release[2]),很快就会迎来它的生产版本。

Tauri 是为安全而生的,它的一切架构设计都在围绕着安全这个主题。打包外链在 Tauri 看来是一件不安全的事情,功能会受到诸多限制。所以我最近一直都在研究如何优雅,或者以一种比较好的方式来对远程 URL 链接进行套壳。因为这对于想快速将链接进行桌面化还是有很大意义的。

就是在这种背景下,ChatGPT[3] 突然就在朋友圈刷屏了,我当时并不在意,以为又是出来一个什么聊天工具(毕竟是以 chat 打头的嘛)。后来过了几天,朋友圈发的人越多了,我感觉事情可能没那么简单了。我就去了解了一下,才发现这东西不简单,竟然可以解决一些专业性的问题,比如:写代码,改 BUG,写小说,充当女友聊天,当作第二个搜索引擎等等(准确率还有待加强...)。

这时我就萌生了一个想法,这玩意功能这么强大,却只有网页版,如果和 Tauri 结合起来,会发生什么?正好和我最近研究的方向很吻合,可以让我大展身手,验证我最近的很多研究和想法(这时候的心态还是单纯的,没想着蹭热度)。

干就对了

空想并不能给你带来任何东西。

于是在 2022.12.07 下午五点多创建了仓库,因为各种 Demo,Hello World 写的实在是太多了,所以我这是轻车熟路。大概花了四五个小时就完成了初版功能,将 ChatGPT 的 URL 打包进 Tauri 桌面应用,并且添加了一些菜单项,以及自动更新。然后在画 LOGO 的环节,我差不多又折腾了两三个小时(快赶上写代码的时间了),虽然小,但是却很重要,它是你产品的灵魂所在。

我认为做项目也是需要具有产品化思维的,在这里我想谈谈对产品的理解:

  • 产品闭环:它可以很小,功能可以很简陋,但是必须要形成最小闭环,保证其可用性(产品核心功能可以正常使用)。

  • 速度要快:开发速度,更新速度,问题相应速度都要快,因为它可以帮助你抢占第一波用户(种子用户积累很重要,可以形成口碑,帮助产品二次传播)。

  • 用户体验:这是需要花心思的,虽然你是一名开发者,但是你更是一名使用者。所以没有产品,你就是产品;没有设计,你就是设计(你就是用户,甚至你要比用户更懂用户,学会取舍)。

  • 产品计划:你对产品未来方向的规划,计划加入什么牛逼的功能,需要在文档里写清楚。它就相当于是在给用户画饼,可以打动一些想要长期追随它的用户(注意:画饼不代表天马行空的想法,而是根据实际情况,可实现但因时间原因暂时无法实现的计划)。

  • 差异化:因为当你发现机会的时候,别人可能早已经在里面开始收割了,所以产品功能的差异化,将是你的突破口(人无我有,人有我有优)。

  • 稳定性:产品的初期的架构很重要,它可能会伴随其一生。重构有时候并不现实,因为它需要牵扯到很多的历史包袱,数据兼容,人力成本等等(可扩展性很重要)。

什么是核心功能?

一直在说核心核心,到底什么才是核心呢?其实就是你这个产品的初衷是为了解决什么问题。如果没搞清楚想要解决的问题,很可能会眉毛胡子一把抓,认为什么都重要。拿我的项目来举例,它的核心功能就一点,网站 URL 桌面化。所以我将 URL 打包成跨平台的桌面应用就已经完成了核心功能。把握住了核心,你就可以对功能进行取舍,取舍而来的时间就是速度

为什么要注重用户体验?

用户体验很重要,在我看来它仅次于核心。它会直接影响到用户使用的感觉,一旦错失第一印象,那么这个用户可能就无法再次挽回了。当我们有了核心目标后,需要考虑的就是如何围绕这个核心去构建符合用户行为的功能。子非鱼的问题无法避免,可先不做的就不要用错误来将就,有时候试错的成本可能会很高。我们自己就是使用者,你可以站在开发者和使用者的双重角度去思考问题。身为程序员,逻辑思维很重要,产品思维也同样重要

为什么要快速迭代?

快速迭代是为了让用户看到你产品不断演化的方向,也是为了增加与用户的粘性。小步快跑其实也是为了解决核心功能取舍掉的那一部分东西,它们在开荒阶段,不是那么重要(生死面前,钱财都是身外之物)。但是一旦有了核心功能这个载体,它们就是血肉,可以让产品一步步丰满起来。

为什么要快速响应?

产品开发过程中,各种 BUG 很难避免。你对用户的响应速度,直接决定了用户的去留。能解决的问题最好可以短时间内解决,解决不了的也要说明原因。

为什么要稳定性?

这个问题也是老生常谈的问题,说的时候都信手拈来。但是真正做的时候,在速度面前,就会舍弃很多东西(我就是暂时那样处理,回头就改,结果代码越写越多,改不了了...)。我这次就犯了这个致命的错误,因为前期并不需要很复杂的功能,就未过多考虑数据的结构问题,结果在最近一次版本升级中,修改了一些字段未做数据兼容的异常处理。导致很多用户在升级后,程序直接崩溃,无法启动。我花费了很多时间在 issues 里解释这个问题,后来我在项目的 README.md 里给出了解决问题的办法,但不一定所有的用户都会看到。如果他们因我的失误而离开,确实有点小遗憾。

小结

以上这些都是环环相扣,层层递进的。步子迈得大,不见得就是快,所以稳扎稳打,走好每一步才是最重要的。

蹭流不可耻

在风口浪尖,会有无形之手推着你前行。机会是需要把握的,它会让你事半功倍。

ChatGPT 是一个热点,可以说是引爆全球程序员圈子的热点。当然它也延伸到了各个领域,导致 OpenAI 的服务器经常崩溃。作为一个网红项目,如果可以基于它而衍生出来的一些项目,关注度也自然会高很多。所以这就是势。当这个势和开源结合之后,就可以收获一波满满的 ⭐️ Star。Star 对于开源程序员还是很有吸引力的,因为它很难也很容易获得(因为项目并不一定有技术含量就会被人所熟知)。

我是从 2015 年开始入行前端,学习编程。当时就注册了 GitHub 账号。然后断断续续开始了自己的开源生涯。从 0 - 18 个 followers 我花费了五年时间。以及 2021.6.29 第一个 100 star 项目,我花费了将近 6 年时间。但是这次这个项目 5 天时间,我获得了 300 多 star。它比我前五年的所有项目总和还要多几十倍。我想说的的是蹭流不可耻,但坚持更珍贵。因为 量变到质变需要的时间是巨大的,黎明前的黑暗没有人知道会持续多久

蹭流小技巧

所有的社交类内容传播都类似,包括做开源项目。前期的种子用户很重要,他们可以把默默无闻的你推到聚光灯下。一旦成为焦点,自然流量就会像你倾斜。对应到开源项目,就是 GitHub Trending,这个趋势榜单会成为你的一个重要支点,它会撬动自然流量(自带流量的请忽略,粉丝的力量过于强大)。根据我的经验来看,项目的新鲜度,以及短时间内吸引到的关注度(star)是上榜的指标。所以很多人会去刷 star,但是我觉得开源需要的是被认可的感觉,刷来的 star 并不能带来发自内心的快乐。所以风暴的产生可能就只是一次蝴蝶的振翅。这也是撬动地球的支点。虽然新鲜度,关注度等等都很重要,但是打铁还得自身硬,用实力说话。

总结

身为一名程序员我很自豪,虽然足不出户,但是你有着可以用双手去改变世界的力量。即使不能实现,也可以将其定为一个努力奋斗的目标。

结尾

在最后的收尾,我想放几张截图,作为我写这篇文章的一个佐证。坚持的力量不可想象。所以永远不要尝试去定义自己,你就是无限的可能。

  • 开源 5 年收获了 18 个 followers,和几乎没有的 star



  • 开源 6 年收获的第一个百星项目



  • ChatGPT 项目开源 5 天破 300 star


  • 最后两张是我当前的 github 首页截图,这将是我下一次起航的起点



References

[1]

ChatGPT: https://github.com/lencx/ChatGPT

[2]

Announcing the Tauri Mobile Alpha Release: https://tauri.app/blog/2022/12/09/tauri-mobile-alpha

[3]

ChatGPT: https://chat.openai.com/


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存