ChatGPT刮起了一阵旋风,ChatGPT到底能做什么?做到什么程度?真的会让咨询顾问失业吗?带着这样的疑问,我费尽周折,注册了ChatGPT账号。
我先从一个大众化的话题开启了与ChatGPT的对话:如何提高软件开发的质量?
如果是我回答这个问题,我会参考金字塔原理,找到一个思维主线,比如采用分层的思想,从策略层、过程层、实践层、方法层、工具层等,对每个层次再向下分类穷举回答,在讲解每一层时,会举例子、列数字等辅助证明观点的正确性。也可能采用时序为主线,讲解软件的需求、设计、编码、测试、交付等每个环节应该如何做,再者也可能采用人员角色这个维度来回答,讲解需求提出者、产品经理、开发人员、测试人员、部署人员、项目经理、公司高层等应该如何做。
ChatGPT如何回答的呢?
对它的回答,我还是很惊喜的,它俨然就是一个经过训练的咨询顾问了:
1 它回答了7条。我后来也发现,问它的其他问题,基本也会控制在7条之内或者一屏之内。难道是设置了7加减2规则了吗?
2 每个条目都给了一个名字,都是动宾结构。很棒,先概括出来要点,再详细说明,而且每个名字都是6个字,便于记忆!
3 它列出的前6条实践都是聚焦在代码上,没有覆盖到需求与设计环节,也就是说它很可能把软件开发理解为了编码活动。但是最后一条它又提到了质量管理系统,视野又放开了。
4 仔细阅读它列出的前6条,覆盖了编码、测试、静态扫描、集成、代码走查、重构等活动,把与编码有关的活动实际上都覆盖了,还是很完备的。
5 很有意思的是它最后做了一个总结,概括了中心思想。
如果面对客户的提问,一个咨询顾问能够在短时间内给出上述的解答,已经很不错了,可以评价为一个中规中矩的顾问了。如果非要找一些改进点的话,可能在于:
1 它没有和我澄清对问题含义的理解是否准确,即没有澄清需求,澄清问题。它对软件开发的理解和我说的软件开发可能含义有差别。
2 可能受限于篇幅限制,它没有给出案例、故事来渲染自己的观点,增加感染力与说服力。
随后,我又问了类似的一个常规问题,如何提高软件开发的效率:
仔细琢磨它的回答,从工具、方法、技术、流程四个方面做了解释,中规中矩,比较完备。但是,缺少更具体的措施的介绍。
宏观的常规性问题我又问过几个,总体而言,风格类似,它的回答还是很不错的。我想再试试一个具体的问题,看看它如何回答。测试驱动开发在实践中推广时是老大难问题,看看ChatGPT有啥好办法吧。于是便有了下边的问答:
这个问题的回答,ChatGPT还是很完备的,看来这是它的强项。
接下来,我想试试一个有点难度的问题:如何判断两个现象之间是相关关系,而不是因果关系呢? 这个问题让我自己回答,也没有一个很好的答案,我就想看看它能解答到什么程度。
和上一个问题回答类似,ChatGPT先对问题本身做了一个评价,这是一个棘手的问题。然后它给出了几种方法,类似于:排除法、共变法、时序性、可逆性、实验验证等。看得出来,它不是拷贝了已有论文或著作中的答案,而是做了归纳整理,自己又做了加工,很棒!
以上都是管理类的问题,我又试图问它一个具体的技术问题:我写了一个函数,求三个正整数中的最大数,你能帮我写一些单元测试用例吗?
它的回答如下:
它的回答很有意思。它先肯定了单元测试的重要性,肯定了问题,和提问者共情。然后,列出了各种正常、异常场景,还划分了等价类,给出了多个单元测试用例。最后,它还来了一个免责声明,这些只是覆盖了常见的情况,如果有遗漏的场景,你可以自行添加!真是滴水不漏!
如果询问它一个较偏僻的问题会是什么结果呢? 我们公司最近在给客户制定COSMIC方法应用到数据仓库类软件的规模度量指南,于是我便用这个小众的话题问问他。
从它的回答可以发现,ChatGPT对COSMIC功能点与其他功能点方法的区别不太清楚,混淆了COSMIC方法与其他功能点度量方法,这个问题的答案偏差较大。估计这个话题它在网上可检索到的资料很少吧。
如果询问它人文类的问题,它会如何回答呢?于是我就问了它如下的问题:
比较上述的多个问题的答复,可以看出来ChatGPT对这类提问是有一个类似的套路的:问题评价、列举条目、概述、详述、最终总结。我忽然有一个想法,如果让ChatGPT穿越到明朝,它是否也能写出一篇很好的八股文,考中举人或进士呢?
此时,正好有客户问了我一个关于项目策划的问题,我灵机一动,我先回答一下客户的问题,然后再用ChatGPT回答一下,互相对照,看看有啥发现。以下是我和客户的沟通记录:
ChatGPT的答案如下:
两个结论可以对照一下。对于工作量评估结果可以应用到哪些方面,ChatGPT比我的结论要完备,我遗漏了预算的作用。而对于第2个问题,两个结论则差别较大,我的回答应该更加明确。在经过客户澄清现实后,进行了更深入的解答。而ChatGPT讲基于工作量分布制定详细的工期计划,怎么制定呢?是很直接很容易地制定出工期计划,还是需要复杂的步骤制定出详细工期计划呢?
在经过了几十个问题的测试之后,我的初步观察结论是:
1 ChatGPT已经很优秀了。它能比较完备的的回答问题,能够弥补人类视野的不足。
2 ChatGPT给出的答案针对性、实用性不足。
3 你问我问题,我就回答,ChatGPT没有澄清问题,没有质疑问题本身的合理性,这是和人相比他的薄弱之处吧。
4 ChatGPT还不能替代人做咨询顾问,它只能作为人类咨询顾问的工具。
ChatGPT是一个很好的辅助工具,可以帮助咨询顾问更好的做咨询。未来的咨询顾问可以区分为:使用ChatGPT的咨询顾问和不使用ChatGPT的咨询顾问,前者能够视野开拓、条理清晰、务实有效!可以给客户带来更大的价值。我们不用担心ChatGPT可以替代咨询顾问,而是要拥抱变化,使用ChatGPT给客户提供更大价值的咨询服务!
与ChatGPT结对咨询模式或许是一个好方案!