标签归档:学习

AI 小练手

日常使用 AI 主要是与 AI 交互的过程中解决单一的问题,比如寻求问题的解答,文字或者图形的创建等等,这中间对我最有帮助的是使用 AI 学习。这次看看让 AI 自己独自完成编程开发是怎样的一种体验,并为自己建立一个学习其背后技术栈的直观的脚手架。

整个练手跟 AI 交互的时间大概是 30 分钟左右,统计计时如下图「当然这也是 AI 帮助统计的」。

最终的效果如下图「电脑浏览器和手机浏览器」。

下面记录一下练手的过程,大体上跟我在使用 AI 学习的过程类似,先写一个文档,依照程序员的惯例,来一个 README 文件,简单的将要做的工具做一个描述,其内容如下图所示。

这是一个 MarkDown 格式的文本文件,在文档包括两部分内容,一部分是描述想要做的工具的是什么样,另一部分是最下面三个短划线后的内容。

在这里大概说一下这个文档,我在平时也是基于这样的文档来进行学习的,先将我学习过程中理解的和有问题的部分都写一个这样的文档,然后在跟 AI 交流的过程中不断的丰富这个文档,当然是交互中 AI 帮我丰富的,然后我再阅读再交流,循环这样的过程来完成学习,还不错。在上面的图中下面有三个短划线,在这下面就是跟 AI 互动的过程中记录的内容,我在练手开发的同时,记录这些交互的过程便于我进行学习。

这次使用的开发 IDE 是 Windsurf,可以搜索或通过 https://windsurf.com 下载安装,具体的使用方法网上有很多教程,官网也有文档,可阅读后使用。安装后需要登录,登录后就可以使用了,目前有 GPT-4.1 模型可以使用,好像有 7 天限免,这次练手就是用的这个模型「好吧,现在好像已经过了限免期了」。

在电脑上为这个小工具建立一个目录,然后将 README 文件放在这个目录下,使用 Windsurf 打开这个目录,然后在右边的 Chat 录入框中录入「整个目录下有一个 README.md 文件,请按照文件中的要求帮我实现这个工具,目录自动创建。」,录入后回车,Windsurf 就开始了它的工作,一会就完成了。

整个过程基本上没啥问题,就是检测到我没有安装 next 而且 node_modules 目录缺失,我按照检测到的情况安装后就一次性完成了。

后续做了一些微小的调整,主要是添加分割线、二维码、给每个卡片增加随机渐变色、标题居中、二维码图片大小等这样的调整,它也很快的帮我完成了,就是上面最终的效果。

完成了这些工作后,我让它帮我统计了一下工作的时间,正如最上面的截图,它完成的也不错,完成这些后,我就让它把今天所有的过程交互信息「包括录入框上面的所有内容」都追加到 README 文件中,这样就有了一个完成今天工作的全过程记录,便于我学习这个技术栈的各部分内容。

这次练手的目的有两个,其一是体验一下使用 AI 相对完整地开发一个小工具,看看会碰到哪些问题或者带来哪些惊喜;其二是想学习一下 JavaScript(TypeScript)、Next.js、tailwindcss,先有个直观的展示,然后循序渐进开始学习。

这次的体验整体上不错,快速的实现了我想要的东西,这为我的学习算是搭了一个脚手架,从这个脚手架可以开始我的学习之旅了,我的目的算是达到了。

最后的一点儿个人想法:

我略微懂一些 JavaScript 和一些 CSS,对于 TypeScript 只了解一点大概的概要,而对 Next.js 则是听说不少人在用,自己则完全没有接触过,就我这样,在描述概要的文档后,这种带 AI 的 IDE 能快速帮我完成我想要的,确实给人来带来了效率的提升,那么不在 IT 行业的人,如果有好的想法,AI 工具就会是很好的助力让其一展身手。那在 IT 行业的程序员呢?我想应该让这些 AI 工具辅助提升自己工作效率的同时,应该不要忘记还要认真的对于背后的技术做长期系统的学习。

目前与 AI 的互动乍一看是通过自然语言进行的,但其实要想获得好的互动,这些自然语言是要有一定的结构化的,这些结构化的自然语言被称为 Prompt ,我个人的感觉是这并非最终的 AI 互动形式,只是一个中间的过渡期,如果从程序员的角度看,我个人的理解是可以把目前的 Prompt 看作一种新型的编程语言,只是这个编程语言扩大了使用人群的范围,我们使用 AI 就是在编程,人人都是程序员,想要编的好就要有跟 AI 模型匹配度高的结构化语言。


对远程办公的一些琐碎记录

由于不可抗的原因,今年不少人能得以体验一番在家里远程办公,体验如何各人自知,这种情况倒是催生了相关工具的火爆,一方面纷纷在扩充资源,另一方面加班加点释放出新的功能包以满足不同行业人员使用,最终如何还得看远程办公相比办公室的办公方式具有多大的优势。

远程办公被提出由来已久,但真正采用这种方式的却并不多,我所知道的比较成功的当属 37signals 这家公司,这家公司在《重来》(rework)和《重来 2》(rework 2)这两本书中就专门介绍了远程办公,以自家的成功经验为远程办公狠狠的带了把盐,当然这两本书还介绍了一些他们自己的商业经营思维,如有兴趣可看看。

这两年由于一些原因,我主要在家做一些工作,可以算在远程办公的行列,那么在这个过程也碰到了一些问题,也在逐渐的做着调整,借这次全民体验远程办公的机会,略微总结一番。

如果把碰到的问题总结一下,大致可归为一个,那就是效率问题。不管在家办公还是在正常的办公场所办公,都是要在所在的环境中让自己的工作效率最大化,这跟经济学中的「生产率」差不多一个意思,都应该是企业和个人希望的,那么这次全民远程办公中也确实听到了不少人在说效率低诸如此类的话。

我自己碰到的效率问题主要体现在 3 个方面:自律、协作沟通、干扰

自律在我看来是一种在环境中自身的一些行为约束是否符合自己和团体的期望,很大程度上体现为若干种习得的习惯。而拖延是自律的一大敌人,它使我们不能在预期的时间,以大家遵循认可的行为,完成预期的事。这一方面造成工作效率的低下,另一方面这本身会形成一种习惯,而习惯的改变是相当困难的。想明白这些后那需要解决的问题就是:如何在预期的时间内,完成预期的事?

我从两方面着手尝试,两年下来略微有所改善。第一是要尽量营造一个工作的环境,第二是尝试合理的划分工作时间与非工作时间并能做合理的时间分配。

工作环境相对来说比较好营造,根据自身居住条件,选一个小角落,有条件就设置一个专门用于工作的房间,把工作中使用的工具合理的放置好,这样一眼看去这就是个工作的地方,一到这里坐定之后那就潜在的告诉自己该工作了。

合理的划分工作时间与非工作时间并能做合理的时间分配就相对不那么容易了。这个需要长期的跟踪、练习、思考并持续的调整,通过不断的练习逐渐形成习惯。习惯的养成在某些时候可以看作是克服干扰的一个过程,要养成一个习惯可能需要大量的重复。这部分涵盖内容非常之多,可能我们终其一生都在做这样的持续调整。我自己主要关注 3 方面:跟踪自己的时间花在哪儿了;如何正确的做事和做正确的事;如何把这些要做的事恰当的分配到各个时间段内。

协作沟通干扰在某种程度上也是自律的敌人,它们同样也很影响效率,比如动不动就寻求众人的智慧获得工作上的帮助,消遣娱乐性的各种诱惑干扰等等,但工作少不了协作沟通,非工作时间也少不了消遣娱乐,将协作沟通和干扰拿出来单独来看更好一些,协作和沟通交互性较多一些,除了个人的效率之外,存在整体效率。

协作影响效率主要体现在距离与视觉上较之在一起上班改变了,大家由在一起变成了距离分散互相不可见的状态,也就是工作的环境改变了,这在一定程度上也导致时间上的步调不一致,那么适应之前环境的制度、工作方式就可能需要调整,可能需要一套新的适用于远程办公的这样一个新环境下的制度、工作方式,使团队保持一致性。

在制度方面我这块涉及较少,多数情况下都是我一人对应甲方,我主要以调整自己的时间以配合甲方为主,偶有需要数人完成的工作,也不太涉及制度,我能想到稍微与制度有点相关的可能就是需要在一天中插入几个固定时间段并为此制订相关的制度「这可对应到企业的早会制度、响应时间制度、定时沟通制度、晚总结汇报制度等等」。

工作方式这块可能需要做一些改变,相对于以前上班的时候,我一般会将任务拆分的更细一些,尽量配合可视化的产出来进行协作中的交互或确认,因为多数情况下我是一个人,相对好点,但对于团队可能就不那么容易达成了,很大程度上需要变更一定的工作流程与工作方式,并且有相应的制度支撑,像随时喊一嗓子或喊几个人去小会议室讨论的情况可能就需要换一种方式了,当然我们可以采用协作工具来辅助远程办公,市面上也有不少这样的工具。

不管怎么说,我个人认为企业管理者在尝试远程办公时应该尽量营造一个利于协作的环境,并能够尽最大努力保持整个团队的一致性,在明确了新的协作制度和工作方式的基础上,可辅助使用一些远程协作工具进一步提高效率。

远程办公中的干扰较之在公司有减有增,减少的干扰主要是办公室内的人员干扰和某些事务性干扰,增加的主要是家庭成员的干扰「尤其是家有神兽的情况」,另外消遣娱乐性的干扰很大程度上也会增加,这主要看个人的自律和个人的责任感,一定的制度约束会对这类干扰有所帮助。我面对的主要干扰就是家有神兽这方面的干扰,我主要的应对方式是错开时间,一般在孩子们被长辈带出去玩或者睡觉中处理工作中的事情,和长辈在家玩的时间也会做一些工作,但效率就不那么高了,所以这种时候我一般会选择看看书,干扰来了把书放下也就是了。在神兽们正常开展学业的状况下就会好很多。就像信号系统中的干扰一样,你要么滤掉它,要么能做到不受干扰的影响,目前我做不到不受干扰的影响。

再来说说管理者,远程办公中管理者可能会很大程度的不适应,可能在 3 个方面有所不适,一是见不到人很着急;二是不知道员工都在干啥;三是失去了领导一群人的成就感。

见不到人着急和失去领导的成就感这部分较主观一些,可能需要管理者自我调节,我都没想到这样的管理者居然还不在少数,给员工造成了不小的干扰(平常经常开会领导应该好好检视一下自己,看看开完会后是否有决策,是否有执行,执行结果是否如预期……,其实不少会议是流水会)。

不知道员工都在干啥,这方面我想可能尝试一下 OKR 或许是个不错的选择,管理者更应该关注公司或团队的目标,而这个目标用关键结果来衡量是一个不错的选择,以 KPI 作为业绩考量,以 OKR 作为目标考量,两方面相结合或许多少能有些改变。另一个方法我想可能将日常的任务进一步的细化,然后辅以在线协作的工具可能也会有些帮助。

最后,远程办公并不是适合所有的企业和所有的人,对于企业来说,能保持正常业务的开展又能开源节流,降低成本增大产出就值得一试,试的过程中解决种种不适。对于个人来说,也要仔细考量,这在根本上等于改变了自己的生活方式。

本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号

我的第一台计算机

1997 年我有了我的第一台计算机,在这两年前我对计算机基本是一无所知的,而在这一年前面对 IBM 的 286 计算机我甚至都不知道怎么开机,当同学们都已经开始在 Dos 命令行录入 cd tb 时,我茫然无措的坐在椅子上东张西望,好在很快在同学热心的帮助下,我也开始了 《True Basic 程序设计》这门课的第一次上机实验。

这之后好像突然之间计算机在周边就多了起来,学校内有新的机房出现,学校周边也开始有机房出现了,多是些 386,486的机器,跑着 Dos 系统,面对着黑漆漆的屏幕,用键盘敲着一行行的命令,它居然还能做不少事情,挺有意思,不觉就着迷了。

1997 年,如果从世界第一台通用计算机 ENIAC 来算「1946年」,时间已经过去了 51 年,而我在过去这两年多的时间中借助《电脑报》、《计算机世界》、同学们之间的交流和在机房的实践对计算机算是有点熟悉了,也时不时的去科技市场转悠转悠,想象中该选用什么配件来组装一台计算机,这台想象中的计算机配件因摩尔定律在两年中也在不断的变化着,家里给了我很大的支持,慢慢给我凑够了买电脑的钱,在 1997 年下学期我有了自己的第一台计算机。这是一台组装机,在多次往返科技市场之后,精挑细选买齐了所有的配件,在宿舍组装成功,其主要组成如下:

  • CPU:奔腾 166 MMX
  • 主板:华硕 T2P4
  • 显卡:丽台 WinFast280
  • 内存:16M EDO
  • 硬盘:4.3 G
  • 显示器:14寸飞利浦
  • 光驱:三星8速
  • 软驱:1.44 SONY
  • 通用机箱带电源
  • 键盘鼠标是当时最普通的

有电脑之后学校的生活就多了不少乐趣,美中不足的是由于限电每天只能用一段时间,周五和周六晚上通宵给电则比较爽,那主要用来干什么呢?其实跟现在也差不多,主要包括学习写程序、学习软件工具的使用、玩游戏、看图片影碟诸如此类,现在来看玩可能占据了一半以上的时间,因为在之后唯一的升级就是增加了一块基于同轴电缆的网卡,而加这块网卡则是为了组网打红警。

好的一方面是当时的娱乐元素并不如现在如此丰富又唾手可得,还是比较昂贵的,比如一张光碟要几十块钱,不少软件在前期是需要用软盘来安装和使用的,稍微大一些动辄就好几张软盘(比如 Win3.1 就要 6 张软盘)甚至 10 来张(Win3.2),那时候一盒盒的软盘是有电脑后的标配。

开始的时候用了一阵子的 Dos 这个磁盘操作系统,简短的体验了一下 Win3.2,学了一些 C 程序设计,由于限电当时不少时候是需要先把程序写在纸上,有电的时候再输入调试,在玩游戏方面,光荣出品的三国系列还是挺好玩的,大富翁也不错。时间不长,很快就开始用 Windows 95 了,刚开始的的时候这个系统远不如 Dos 稳定,也因为是当时技艺较差,总是需要隔三差五要折腾一下,重新安装系统,总会碰到驱动不能正常安装等问题,在折腾中逐渐熟悉,较之黑黢黢的命令行屏幕能感受到计算机的多彩世界了。

随着微软 Windows 系统逐渐占领市场并不断的升级,带来了更多的东西,程序设计方面逐渐学会了 VB、ASP、Delphi、C++,课题设计在完成基本功能的前提下也会扩充一些功能,也开始用 VB、Delphi 写一些方便自己日常用的小工具,慢慢也学会制作网页了,这个过程是乐在其中。

同时,多媒体元素多了起来,光盘价格下降,娱乐也多了,这期间玩了不少游戏,同学们扎堆玩的有仙剑奇侠传,魔法门英雄无敌,红警,二战特种兵(失败后 Loading 一次能冲一个澡),街霸,拳皇,侍魂等,影碟好像也多了起来,周末晚上大家偶尔也会一同看个影碟。除了娱乐这个阶段也学会用了一些工具软件,比如能做 GIF 的软件 ,能做游戏的可视化工具软件,能玩游戏作弊的工具等等,现在来看,这些都是浅尝即止,并没有掌握其精髓。
这台电脑一直用到 2000 年末,在毕业后还用了一年多,从最开始对电脑的一窍不通,到后来走进这个行业能混一口饭吃,可以说第一台电脑对我帮助还是挺大的,在工作中编写程序的基本知识都是通过这台电脑获得的,甚至在刚开始工作的时候业余时间为公司销售写的小管理系统还拿到了公司给的奖金。除此之外,由于有组装电脑这个经历,很长一段时期都有被要求给配个电脑的需求,而且跨度还挺大(从帮我配个电脑呗–帮我选个手机呗)。在玩游戏这方面,游戏给我和同学们带来很多快乐,一次次的成功过关或组团战胜对手,让我们的身心体会了极大的愉悦。

那有什么遗憾吗?现在想来是稍微有点的,本想着把这台电脑收藏起来,为此不远千里托运回家,但由于种种原因,最终卖给收废品的了,现在能做的也只能凭借记忆给她做个记录,就这也可能会有所出入,记忆在某些方面真是不如计算机中的拷贝粘贴靠谱。

本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号

产品经理知识技能图谱 0.1

产品经理是一个职业角色,通常也代表一类人,不同企业对产品经理的定义不尽相同,但多少都会跟产品有关系。以前招聘产品经理时,我给产品经理的定义是:「产品经理是产品的 CEO」,并在每一次招聘中按照这个定义进行沟通,以促进双方的互相了解,但终归这是有些模糊的,比较个人化。

从产品出发可能更有利于理解产品经理,将产品经理看作是产品生命周期中各阶段的统筹者,是必须为产品生命周期各阶段结果负责的职业角色,这样就会清晰很多。沿着产品这条路,产品生命周期可以大体上划分为探索、成长、成熟、衰退这四个阶段,每个阶段都涵盖着源起、分析、设计、实现、发布、运营等诸多的工作。

可见要承担这样的角色需要具备一定的能力和掌握一些技能,这样才有可能推进每个阶段的工作并达成预期的结果。那么该具备什么能力呢?我觉得逻辑思维能力、沟通能力和认知能力是比较核心的三个能力,也是产品经理的基础能力;而从技能上看,覆盖面则相当宽广,在尝试对所有涉及到的技能整理后获得下图,称之为「产品经理技能图谱 Ver 0.1」。

图中从内到外是一个产品经理从局部到全面过程中需要掌握的技能点,从职级上可以说是从初级产品经理「助理、专员」,高级产品经理到产品总监的进阶之路。当然在分工协作的当下,可以选择某一部分成为专职的产品经理,比如需求产品经理,运营产品经理、数据分析产品经理等等,视现实中的需求而定。

图上的众多技能之间按照明显的边界进行整理归纳,但实际学习中边界并不会这么清晰,每一个产品的建设也不一定会用到全部技能,而要想熟练全部的技能也是极其困难的,一方面要有全栈的志向,另一方面也要有人至践则无敌的切实行动。

梳理产品经理技能,是我对产品的相关知识技能结构化及系统化的思考与整理,形成的这个图可以作为一个索引,便于自我审视及进一步的学习、实践、思考、总结。虽然图中密密麻麻这么多的技能看着让人头皮发麻,但依然可「yi」能「ding」会有不少遗漏或不妥的地方,仍然具有进一步抽象归纳的可能,而这就需要朋友们的参与反馈和自我提升后的修正了,希望看到图的朋友们多多指正,也希望它对你有点用。

本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号

常见图表的使用

在信息传递中,除了单纯的文字表现方式之外,将信息可视化也是一种常见的信息传递方式。通过视觉化的方式传递信息,在某些时候其所传递的信息,会让用户理解起来更简明和清晰易懂。

比如,以文字的方式说明要到某个目的地,要想将这个说明说的更清楚,通常会通过在说明中不断增加标志物来辅助说明,这样一来二去的说明文字就不断的增加,用户阅读起来自然费劲,远不如直接放一个路线图或地图来的简洁明了。

我们通常采用图片、插图、图表以及地图等信息图片的方式完成信息的可视化,其传递的可视化信息依据信息图片的类别不同也会自然不同,其中的图表在我们日常工作中经常用到。图表与数值有关,在对基于数值的统计分析中,我们常常会采用图表来辅助对数据的阅读与理解。比如企业在月度中对不同部门销售情况做统计分析时,个人销售情况,个人月度消费情况统计等情况下就会常用到图表。

常见的图表有圆形图表、柱状图表、折线图表、面积图表、雷达图表、散点图表等。图表的使用在于对数值选择什么样的图表来展现,不同的图表所适合可视化的内容是不尽相同的,选择合适的图表,是将数据变得明白易懂的关键。

圆形图表常见的表现形式为饼图和圆环图,在内容需要表现为比率的时候,使用圆形图表是比较合适的,在各内容同属于同一总体的各个部分,需要对比各项内容所占的相对比率时,应该使用圆形图表。其基本特征为:表示整体中各项内容的比率;各项内容总和一般为 100%;不适合绝对数值的比较。

柱状图表的表现形式为方柱形或条形,比较适合用在绝对数值比较的场合下,各项数据按照柱形的长短不同,其比较结果一目了然。柱状图表的表现形式在方向上可分为纵向和横向两种方式。 柱状图除了可以进行单个类别的值比较,也可以进行多个类别的值比较,在进行多个类别数据比较时,当多个类别呈现在一个柱形上时,这个柱状图被称为累积柱形图或堆叠柱形图。柱状图的基本特征为:表示各项内容的绝对产别;通过柱形长度表示各项内容的数值;不适合相对比率的表现。

需要注意的是,在进行柱状图表的制作时,坐标轴的刻度值和间距是比较重要的,如果不注意很容易会被华丽的数据欺骗。

单项数据的比较

多类别数据比较

折线图表的表现形式是线和点的组合,它是表示变化的一种图表,在时间的维度上展示数据发生的变化。因为图表的形状为线段,故可以在折线图中同时呈现较多的数据。其基本特征为:表现因时间不同而产生变化的数据;坐标轴上某个时间点数据为圆点或圆圈,图由整个线段连接点构成;相比柱状图能呈现更多的数据。

面积图表是在折线图的基础上更近了一步,除了表示数据的变化之外,还能呈现数据细节,每个面积区域最上端的边线如同折线图表一样表示该项数据的变化,每一项的面积则表示细节。面积图表可以说是一种复合图表,可以了解整体上的变化的同时,也能够了解各项内容的各自增减情况。其基本特征为:表现各项内容整体数据的变化;也表现各项内容各自的变化。

雷达图表又叫戴布拉图、蜘蛛网图,从中心开始以放射状发散开的轴线来分散安排某项内容的数值,同时表示不同的性质和其间的平衡性。看起来像雷达,同时也像蜘蛛网。越靠近中心点数值越小,反之则越大。常用来分析各项数据中不同特性的分布及其整体的平衡性,各项数据之间的差别越小,表现为越平衡。其支持很多数据的比较。其基本特征为:表现各项内容的性质及其平衡性;可对多组数据项进行比较。

散点图表通过数据的点状散布,表示数据的动向或趋势及其相关性,当有大量数据值的时候,如果要展示数据的分布与聚合情况,或者如果寻找这些数据相关性,或者如果要寻找这些数据的趋势,则比较适合用散点图表。其特征为:通过点表示各个数据相对应的位置;通过点的分布情况表示出整体的动向或趋势。

除了这些常见的图表之外,还有一些经过演变或互相结合使用的图表、用于特定场景的图表。比如各种数据地图就可以将地图与基本图表元素结合起来使用「地图散点图、地图饼图、地图柱状图、地图热力图等」,可在业务流程分析中使用的漏斗图,圆形图表升级版的旭日图,拟物化的柱状图等。

这么多种类的图表的产生大大促进信息的传达与简化,便于辅助人们理解信息与使用信息,很多时候当我们面对一堆杂乱无章的数据毫无头绪时,试试将数据图表化或许能够从杂乱无章中理出一点点头绪。

本文首发于我的微信公众账号「时间易逝」,欢迎订阅我的微信公众账号
在微信中搜索「doevents」或用微信扫描页面右上方二维码可订阅我的微信公众账号