作者 | 朱先忠、云昭
审校 | 言征
OpenAI或在悄悄聘请国际承包商,以培训其软件工程方面的人工智能。本文将通过一场针对敏捷专家职位的ChatGPT工作面试指导中抽取的七个问题揭晓ChatGPT的真实水平。
外媒Semafor的一份报告显示,OpenAI已悄悄聘请了数百名国际承包商,以培训其软件工程方面的人工智能。据报道,过去6个月从拉丁美洲和东欧等地聘请的一些承包商,负责创建数据,指导人工智能学习简单的软件工程任务。
虽然OpenAI已经有一款名为Codex的产品,可以将自然语言转换为工作代码,但同时该公司的招聘热潮表明,它正在寻求推进这项技术,有可能为一些人类程序员创造一个工作替代品。Semafor采访了一位南美洲的工程师,他为OpenAI的一个承包商角色进行了面试。作为这个过程的一部分,他负责发现AI代码中的错误,并为如何修复错误提供解释。这位工程师告诉Semafor,他认为该公司希望将训练数据输入其人工智能技术。
OpenAI也是时髦的AI聊天机器人ChatGPT的所有者。自去年年底机器人推出以来,它已经威胁到要破坏教育、新闻和法律。软件工程可能会被添加到下一个列表中。
OpenAI没有立即回应外媒的置评请求。
事实上,近日外媒最近报道称,一些亚马逊员工已经开始使用ChatGPT来帮助编码,尽管该公司警告员工不要与机器人分享机密的公司信息。
那么ChatGPT究竟在面试中会处于何种水平呢?它到底是如何被指导和训练的?真的能取代人类吗?这里为大家详细介绍一个ChatGPT应聘敏捷专家岗的几个问题的分析指导案例。
一个不擅长任何敏捷(Scrum)领域知识的大型机器语言模型能否通过敏捷专家(Scrum Master)职位的筛选面试?在这次ChatGPT工作面试中,我对OpenAI最新生成的AI模型进行了测试。我从73个敏捷专家面试问题指南(见下文)中挑选了几个问题,涵盖了从宽泛的问题,到具体、针对性的问题。这里值得一提的是,一般只是拥有实际经验的受访者才有能力回答这些问题。
所以,请读者继续往下阅读,以便了解企业中的敏捷专家未来是否会很快被当下著名的ChatGPT所取代。
本次ChatGPT工作面试的任务是创建一个大约30分钟的筛选型面试,以决定是否继续进行ChatGPT虚构的敏捷专家职位申请。
面试官选择了两天来运行ChatGPT面试环节,当ChatGPT没有提供明显的答案时,会使用“跟进问题”来探索此模型。
【问题】感谢您申请我们公司的敏捷专家岗位!为什么您觉得自己很适合这个职位呢?
【ChatGPT的回答】感谢您考虑我担任贵公司的敏捷专家岗位!我相信我很适合这个角色,因为我对Scrum和敏捷框架有很强的理解,而且我能够与团队成员和利益相关者进行有效的沟通和相互促进。我还能够处理冲突并促进讨论以找到解决方案,我擅长帮助团队坚持敏捷价值观及有关实践。此外,我还能够适应新的情况和环境,并致力于不断学习和改进。
【评论】赞同;我们只是忽略了缺乏工作经验方面的提问。
【跟进问题】为什么团队坚持敏捷的价值观和实践是有益的?
【ChatGPT的回答】坚持敏捷的价值观和实践可以为开发团队带来许多好处,包括:
总之,坚持Scrum的价值观和实践可以帮助开发团队更有效地工作,并交付更好的结果。
【评论】我开始喜欢这个应聘人员了!
【问题】敏捷专家应该代表敏捷团队解决问题吗?
【专家指导】敏捷专家不应该关心如何解决敏捷团队可以自己解决的问题,无论这个要求在招聘广告中被提及的频率有多高。如果敏捷专家像“Scrum家长”一样行事,他们的团队将永远不会成为自我管理的。
敏捷团队必须学会做出自己的决定。通常,当团队学习新东西时,这不可避免地会导致失败、死胡同和其他计划外的离题。因此,在一开始,团队将需要敏捷专家比平时更多的指导。然而,这样的建议不应成为保护性“育儿”的练习——必须允许团队从失败中吸取教训。
尽管如此,在一些情况下敏捷专家确实可以代表团队解决问题。当敏捷团队无法自己解决问题时,这位敏捷专家的角色即起作用——例如,因为某问题是一个组织问题。现在我们讨论的是“障碍”方面的问题;在这种情况下,敏捷专家应成为敏捷团队的障碍清除者。
【ChatGPT的回答】代表敏捷团队解决问题不是敏捷专家的责任。敏捷专家的主要职责是为敏捷团队服务,并保护其免受外部干扰和分心。不过,敏捷专家可以帮助团队找到解决问题的方法,并消除前进的障碍。
敏捷团队负责解决他们自己的问题,并找到改进他们的流程和工作的方法。敏捷专家可以通过指导团队、促进讨论以及根据需要提供支持和指导来提供帮助。然而,敏捷团队必须掌握自己的问题并共同寻找解决方案,而不是依靠敏捷专家代表他们解决问题。
【评论】ChatGPT的回答是对敏捷专家职责的合理解释,强调了帮助团队自我支持的重要性。团队必须拥有自己的问题和解决方案空间以及工作方式。
【问题】您已经为产品的利益相关者提供了Scrum培训。然而,在执行敏捷管理方案的初始阶段之后,当遇到第一个障碍时,这些利益相关者中的一些人就开始抵制继续采用这种新的管理方案。您在处理这些情况时的策略和经验是什么?
【专家指导】这个问题旨在鼓励在组织内克服对Scrum的抵制时交流思想和经验教训。此外,熟悉许多组织常见的敏捷失败模式能够证明应聘者具有相关的经验。
您的应聘者还应该熟悉中层管理者在向敏捷实践过渡过程中面临的挑战。例如,从指挥和控制风格(即管理人员并告诉他们该做什么)转变为仆人式领导风格(从而放弃泰勒原则)并不适合所有人。
【ChatGPT的回答】作为一个语言模型,我没有处理利益相关者抵制继续采用Scrum的情况的个人经验。然而,这里有一些敏捷专家在面对这个挑战时可能会考虑的策略:
【重新生成的ChatGPT回答】当利益相关者拒绝继续采用Scrum时,敏捷专家可以使用以下几种策略:
【评论】这个答案是ChatGPT工作面试中令人兴奋的时刻!ChatGPT承认在这种情况下没有第一手经验。(至少可以说,这是令人惊讶的!)然而,ChatGPT也设法克服了尴尬的“我不知道”情况——方法是转移到元层次,并将一般沟通和冲突解决原则应用于敏捷团队的利益相关者关系。
【问题】敏捷团队在冲刺计划中应该考虑哪些因素来确定可行的冲刺目标?
【专家指导】敏捷团队需要考虑的典型标准,通常包括例如下面一些方面:
因为任何敏捷团队都在玩无穷尽的游戏,所以没有赢家。最有可能的是,当敏捷团队在每一次冲刺中为客户和组织创造价值时,利益相关者会认为敏捷团队是成功的。
因此,从团队的角度来看,与利益相关者建立融洽关系和信任需要更多华尔街式的期望管理:利益相关者更看重可靠的交付,而不是偶尔的生产力爆发。这种理解应该指导敏捷团队确定可行的冲刺目标。
【ChatGPT的回答】在冲刺计划活动期间,敏捷团队在确定可行的冲刺目标时应该考虑许多因素。这些因素包括:
通过考虑这些因素,团队可以设定一个具有挑战性但可实现的可行冲刺目标,这将帮助团队朝着项目的长期目标取得进展。
【跟进问题】技术债务和可用技能如何?
【ChatGPT的回答】在确定可行的冲刺目标时,技术债务和可用技能也是需要考虑的重要因素。
典型地,技术债务是指团队尚未解决的技术挑战和问题的累积。这些挑战会减缓团队的进度,使实现冲刺目标变得更加困难。当确定一个可行的冲刺目标时,团队应该考虑需要解决的技术债务的数量,以及他们是否有能力在冲刺中解决这个问题。
可用技能是另一个需要考虑的重要因素。团队应考虑每个团队成员的技能和专业知识,以及如何利用他们实现冲刺目标。如果团队缺乏完成工作所需的某些技能,他们可能需要调整目标或找到获取必要技能的方法。
通过考虑技术债务和可用技能,团队可以制定一个可行的冲刺目标,该目标考虑到可能影响其实现能力的挑战和限制。这可以帮助团队更有效地工作,最终为项目带来更好的结果。
【评论】好的,ChatGPT工作面试的这一部分需要一个跟进问题,以确定现有的技术债务和团队的技能集合,作为确定冲刺目标的决定因素。否则,直接找出八个因素中的五个也是不错的。
【问题】作为敏捷团队使用“准备就绪的定义”可以吗?
【专家指导】使用就绪定义(Definition of Ready)取决于敏捷团队的情况。例如,假设它是一个初级团队,仍然在Scrum的机制中挣扎。在这种情况下,这可能是一种暂时有效的方法,可以在产品积压管理、优化和冲刺计划期间减轻团队的压力。另一方面,一个高级敏捷团队能够找到它的魔力,而不需要依赖反复的训练。
然而,假设“准备就绪的定义”被武断地用作检查表——拒绝冲刺计划期间所有未被新标准100%覆盖的工作条目;那么,在这种情况下,您可能需要通过别扭的途径重新引入传统的瀑布式开发方案——这一次只有程序员们需要这么做。
更糟糕的是,组织使用“准备就绪定义”作为敏捷团队在敏捷产品开发中的“流畅度”的团队度量或指标。
【ChatGPT的回答】是的,敏捷团队通常可以使用“准备就绪定义”(DoR)来指导他们的工作。DoR是团队定义的一组标准,用于确定产品待办事项项何时准备好包含在冲刺中。
DoR的目的是确保团队对需要完成的工作有清晰的理解,并做好充分的准备来完成它。通过DoR,团队可以避免在未完全理解或未准备好完成的项目上开始工作,这可以帮助他们更高效地工作。
DoR应针对团队和项目的需求,并可能包括以下标准:
使用DoR可以帮助敏捷团队确保他们在正确的时间处理正确的项目,并确保他们拥有完成工作所需的信息和资源。然而,需要注意的是,DoR应该是一个活文档,团队可以根据需要不断更新和调整,以满足项目不断变化的需求。
【评论】虽然我一般不支持应用DoR,因为这种反复训练很快就会变成恶意的东西,但ChatGPT提供了拥有DoR的积极方面。不过,在一次ChatGPT工作面试中,将DoR概念延伸到Scrum,这是种积极的暗示。
【问题】您的敏捷团队始终未能达到预测和冲刺目标,而且速度不稳定。出现此问题的可能原因是什么?您将如何与团队一起解决此问题?
【专家指导】你的应聘者应该讨论“速度”作为衡量团队进展的行业最普遍的指标的恶名。他们应该能够进一步解释为什么速度完全是一个值得怀疑的敏捷度量,并指出量化度量并不适合于衡量团队在掌握Scrum方面的进展。
许多因素可导致敏捷团队的速度波动:
敏捷团队始终未能达到预期的另一个常见原因是团队的产品积压项目准备不足,从而使团队难以理解工作项目。相反,交付给团队的项目可能会受到遗留代码记录不足、技术债务过多或代码过多的漏洞和编程本身就有错误的影响——所有这些都使评估成为一场赌博。
最后,您的候选人不应该认同这样一种谬论,即团队采用Scrum是有效的,因为敏捷团队的预测和速度是一致的。
【ChatGPT的回答】敏捷团队可能始终未能达到预测和冲刺目标,而且其速度可能不稳定,原因有很多。
此问题的一些可能原因包括:
为了解决团队中的这些问题,敏捷专家可以:
通过解决这些问题并帮助团队开发必要的技能和流程,敏捷专家可以帮助团队朝着目标前进并提高速度。
【评论】ChatGPT提到了一些有助于提高可预测性的一般事项。然而,坚持“准确的预测”是有问题的,因为在一个复杂的环境中不存在这种情况。此外,还没有提到产品积压工作细化的重要性,以及团队成员在一般产品发现过程中的早期参与,所有这些都有助于改进预测。敏捷专家如何支持他们的团队的想法只是第一个列表的重复,因此对ChatGPT工作面试总体上没有帮助。
到目前为止,这是敏捷专家职位ChatGPT面试中最薄弱的答案。
总体来看,ChatGPT工作面试好坏参半。主要体现在:问题越具体,与Scrum指南和Scrum的首要原则的距离越远,ChatGPT的回答就越趋于失败。其实,这一失败并不令人惊讶,因为我们并不知道该大型语言模型(LLM:Large Language Model)训练了什么内容。
因此,基于本文中介绍的这几个示例问题,面试没有通过。面试官不会在敏捷专家面试过程中采取下一步——邀请ChatGPT与几个敏捷团队成员进行全方位面试。
然而,这次ChatGPT工作面试也让我们得以窥见未来:如果我们可以自己训练ChatGPT 4.0呢?当然,我指的不是整个模型,而是指敏捷和Scrum相关的具体部分。要让ChatGPT达到一个能让我们面试官参与下一步模型的水平,需要多少训练?
此外,读者您会支持训练ChatGPT 为(取代)自己工作吗?可以留言与我们分享您的建议。
https://www.businessinsider.com/openai-chatgpt-contractors-train-ai-software-engineering-autonomous-vehicles-report-2023-1
https://dzone.com/articles/a-chatgpt-job-interview-for-a-scrum-master-positio