一个自动驾驶产品经理的ChatGPT方法论:BOR
发布时间: 2023-07-11

来源 |九章智驾

知圈 | 进“滑板底盘群”请加微yanzhi-6,备注底盘

我是一个自动驾驶行业的产品经理,也是ChatGPT的第一批用户。第一次遇见ChatGPT是在去年十二月的第一个星期,有一个搞AI的朋友在群里发了一张与ChatGPT的聊天截图,引起了我的兴趣,从此我便一发不可收拾。

刚开始,我与ChatGPT的交互主要限于找乐子:我和ChatGPT一起写小说,叫它读我朋友写的诗,用它和楼上一大早就开始装修的邻居吵架。

△一些关于风水的友好建议

后来,我用它画流程图,做数据分析,帮我读懂技术与代码,它已经成为了我工作中不可或缺的生产力工具。

△该时序图的内容生成+绘图相关工作由chatGPT完成

我也发现了各种使用ChatGPT的技巧,甚至形成了一套可操作,可重复的ChatGPT方法论"BORE"。用这套方法论,每个人都可以成为ChatGPT的进阶玩家。

一眼看下去是不是有点复杂?别担心,后面的 文章里,我会为大家讲清楚这套方法,并结合例子教会大家它怎么在工作中发挥ChatGPT的威力,接下来我们就一起开始看看吧。

BORE:一套ChatGPT提示设计流程

众所周知,一个描述不好需求、讲话糊里糊涂的产品会让程序员痛苦无比,不仅影响程序员的心情,也直接影响产出的质量。从这个角度看,用户在与ChatGPT的交互中就充分扮演了产品经理“给程序员派活”的角色,写得稀烂的需求自然只能得到稀烂的回应,而如果“需求”设计得当,ChatGPT会给你超乎期待的惊喜。

△我的大学舍友,一位热情洋溢的程序员朋友

写好“需求”是一门技术,在自然语言处理中这门技术其实已经有了自己的名字,我们的输入被叫做"prompt",也就是提示。而写好提示的技术就叫做“prompt engineering”,也就是提示工程。这是一门高度依赖经验的技术,我在接下来的文章中会总结我的提示工程实践,教大家如何为这个“程序员”写好“需求”。我总结的技巧中会包含一些具体的应用场景,帮助大家更好地理解。

讲清楚背景,为ChatGPT提供充足信息

在我们告知它之前,ChatGPT对于各种具体的业务场景(背景)所知甚少。讲清楚背景是发挥ChatGPT强大能力的关键。

应用场景1:干活前先让ChatGPT进入角色

“干线物流自动驾驶“目前在自动驾驶领域是一个很火的方向,那么现在我们就以这个方向作为例子,假装自己是一家干线物流驾驶公司的产品。

来看看应用场景1,由于我们现在假装自己是一家干线物流自动驾驶企业的产品,可以在需要chatGPT辅助我工作前先运行这条prompt:

"我们公司研发L4级别的自动驾驶卡车系统。我们的车辆拥有一辆L4自动驾驶车辆所需要的算力,传感器与能力,但是目前车上会有司机作为安全员,自动驾驶系统会辅助司机的驾驶,帮助卡车司机开车更轻松,更安全,更节油。我将提供产品经理日常工作中的一些实际问题。这可能涉及设计具体的自动驾驶功能,进行数据分析,分析具体的行驶场景并提供有效的反馈等。你能够明白这件事吗?”

这个例子中,我们告诉了ChatGPT宏观的业务背景,并顺便检验了prompt的效果。在读到上面的内容后,ChatGPT就自动代入了自动驾驶产品经理的角色。后文的所有其他例子都是在ChatGPT进入角色的前提下进行的。

我们来详细拆解这条prompt的设计:

1. 阐述背景,点明当前的业务范围及业务目标:“ 我们公司研发L4级别的自动驾驶卡车系统。 ”然后进一步告知当前业务的细节:“ 我们的车辆拥有一辆L4自动驾驶车辆所需要的算力,传感器与能力,但是目前车上会有司机作为安全员,自动驾驶系统会辅助司机的驾驶,帮助卡车司机开车更轻松,更安全,更节油。 ”告诉chatGPT大致的任务范围:“ 我将提供产品经理日常工作中的一些实际问题。这可能涉及设计具体的自动驾驶功能,进行数据分析,分析具体的行驶场景并提供有效的反馈等。 ”

2. 确定 效果,我一般会反问一句它是否理解,以此来检验传达的信息是否清楚,有没有被正确地理解。

下面是场景1的运行结果:

△场景1的运行结果

应用场景2:起草文档的结构与框架

熟悉了业务,就要开始干活了。ChatGPT进入角色后,我们来试试让它提供一个产品试乘报告的框架。我们为ChatGPT提供了“背景”,定义了“任务目标”:

" 现在,作为一个产品经理,你需要去试乘我司的产品,用敏锐的目光去发现改进点,并提供建议。请为我提供一个试乘体验报告框架模板,模版要涵盖产品体验的不同方面,使用逻辑严密,清楚的语言,有优雅,清晰,易于理解的结构。

这是一款自动驾驶卡车。这辆卡车上有司机,它将在一条主要是高速的长途货运路线上装载货物运营。"

我们给ChatGPT的prompt可以被拆解成以下的部分

1. 阐述 背景:这是一款 自动驾驶卡车,车上有司机,跑的是长途

2. 定义 任务目标:扮演的角色是产品,任务是写试乘报告模版框架,内容涵盖哪些方面,需要使用语言特点如何等等

下面是场景2的运行结果:

△场景2的运行结果

小作业:ChatGPT非常细心,可以捕捉到微小的细节,所以“写背景”这件事很重要。不信把场景1中的"我们公司研发L4级别的自动驾驶卡车系统”换成”我们公司研发L4级别的自动驾驶卡车“,再运行场景2试试。

给ChatGPT打绩效:定义目标&关键结果,试验并调整

各位在科技公司工作的同学们一定对OKR非常熟悉:这是一个标准绩效管理工具,我相信这篇文章的很多读者都写过OKR,被OKR打过绩效。不过在这里,我们主要是运用OKR来描述任务目标,管理任务的预期结果,并在任务的目标和期望上与ChatGPT达成共识。

那么,OKR是什么呢?我们先来回顾OKR的内容:OKR的英文是Objectives and Key Results,由两个部分,"Objectives",任务目标和"Key Result",关键结果组成。定义“任务目标”表达了我们希望实现什么,而定义“关键结果”则让ChatGPT知道实现目标所需要达成的具体、可衡量的结果。

我们在之前的场景中其实已经为ChatGPT定义了OKR,例如在“应用场景2 起草文档的结构与框架”里,“ 提供一个试乘体验报告框架模板”就是“O”,而" 要涵盖产品体验的不同方面,使用逻辑严密,清楚的语言,有优雅\清晰\易于理解的结构"则可以看做“KR”。

添加细节在ChatGPT的prompting中会起到立竿见影的效果,ChatGPT会对这些小细节做出巨大的反应。例如,有研究人员发现在GPT-3(可以理解为ChatGPT的爸爸)的输入前加入"Let's think step by step",就让它的推理准确率从17.7%暴增到78.7% [1]。

现在,作为ChatGPT的使用者,各位自然是巴不得它能够发挥出全部性能,又快又好地出活。既然已经有了顺手的胡萝卜(OKR),那么是时候请我们亲爱的小毛驴(ChatGPT)拉磨了

△设定了好的目标就是成功了一半

接下来我们看一个具体的例子,更好地理解这种思想与ChatGPT提示工程的结合。

应用场景3:分析具体业务场景

我们来看应用场景3,自动驾驶产品经理在工作中常常要定义各种复杂场景,我们在这个prompt中要求ChatGPT协助我们定义一个简单的他车激进切入场景:

“ 在我车在高速上行驶时,常常会有他车从相邻车道从非常近的距离切入我车车道,造成碰撞风险。请用自然语言描述与定义这个场景。

语言风格:清晰,有逻辑性,可靠,容易使用计算机程序建模。

建模要求:描述清楚事情的过程和时序关系。注意用数字量来定义临界点。将切入的步骤编好序号。建模要体现两辆车的交互

我们的自动驾驶车辆被称为ego,他车被称为npc。 ”

在这个例子中,我们在阐述了背景,定义了任务目标的基础上再给出对任务的详细要求(也就是key results)。prompt从多个方面规定了对于理想答案的标准。

用刚才的框架对这条prompt进行拆解:

1. 阐述 背景:宏观的业务背景已经在“让ChatGPT快速进入角色”中给出。所以我们进一步为ChatGPT描述了微观的具体业务场景(高速上被他车切入)。

2. 定义 任务目标:任务目标O是“ 用自然语言描述与定义这个场景。 ”

3. 定义 关键结果:这里的KR有 “a. 语言风格:清晰,有逻辑性,可靠,容易使用计算机程序建模。 b. 建模要求:描述清楚事情的过程和时序关系。注意用数字量来定义临界点。将切入的步骤编好序号。建模要体现两辆车的交互。 c. 我们的自动驾驶车辆被称为ego,他车被称为npc。”

KR可以根据个人需求定制。例如在这个例子中,我们用自然语言给场景建模的目的可能是想要给程序员写PRD,所以要

微信