產(chǎn)品經(jīng)理如何用ChatGPT提效520倍

0 評(píng)論 4130 瀏覽 23 收藏 12 分鐘

隨著ChatGPT的發(fā)展,各行各業(yè)都受到了其的影響,有人因?yàn)樗蝗〈腥送ㄟ^(guò)利用它來(lái)提高效率。本文作者通過(guò)用ChatGPT寫(xiě)代碼的方式,闡述其是如何提高效率的,一起來(lái)看看吧。

當(dāng)產(chǎn)品經(jīng)理開(kāi)始用ChatGPT寫(xiě)代碼了,會(huì)發(fā)生什么?

在過(guò)去的幾個(gè)月里,隨著ChatGPT、Midjourney、Stable Diffusion等國(guó)外產(chǎn)品的快速迭代,以及國(guó)內(nèi)百度、阿里、飛書(shū)、網(wǎng)易等大廠發(fā)布的大模型,一些設(shè)計(jì)、研發(fā)、自媒體從業(yè)者開(kāi)始感到自危,仿佛他們的工作在AI的洪流中瞬間會(huì)被取代。那人人都能做的產(chǎn)品經(jīng)理(bushi),在這次的AI革命中能做什么?

我在第一時(shí)間接受和學(xué)習(xí)了ChatGPT,并在實(shí)際工作中進(jìn)行了一次代碼優(yōu)化的測(cè)試。作為產(chǎn)品經(jīng)理,我選擇嘗試使用GPT優(yōu)化代碼的原因有兩個(gè):首先,我對(duì)新技術(shù)非常感興趣,對(duì)于GPT模型也非常好奇。

其次,企業(yè)越來(lái)越需要復(fù)合型人才,而GPT能夠幫助我快速學(xué)習(xí)和成長(zhǎng)。因此,我決定讓GPT介入我的實(shí)際工作,以提高我的工作效率和技能水平。

我選取的CASE是一段SQL查詢代碼,對(duì)應(yīng)的業(yè)務(wù)需求是一個(gè)使用頻次較高的日?qǐng)?bào)。舊代碼行數(shù)有近1900行,每天更新一次,每次的運(yùn)行時(shí)長(zhǎng)在一個(gè)多小時(shí),而且只能查詢最近一個(gè)月的日?qǐng)?bào)數(shù)據(jù),業(yè)務(wù)沒(méi)法做歷史數(shù)據(jù)的同環(huán)比分析。而我作為一個(gè)產(chǎn)品經(jīng)理,缺乏讀寫(xiě)和優(yōu)化這種超長(zhǎng)SQL的能力,因此我決定使用GPT,解決性能差和歷史數(shù)據(jù)存檔的問(wèn)題。

結(jié)果非常的完美,最終的SQL執(zhí)行時(shí)間從4200秒縮短到8秒,效率提升了520倍,復(fù)雜度降低了6倍,同時(shí)還能保存所有的歷史數(shù)據(jù),報(bào)表可以秒開(kāi)。

我將這個(gè)案例分享到社區(qū)后,還得到了一位清華大學(xué)計(jì)算機(jī)系數(shù)據(jù)庫(kù)組成員的邀請(qǐng),將本次的優(yōu)化過(guò)程分享給了他們,作為他們研究實(shí)際場(chǎng)景的應(yīng)用case。

令人驚奇的是,GPT的優(yōu)化不僅僅局限于原代碼結(jié)構(gòu),而且還能根據(jù)真實(shí)的業(yè)務(wù)需求提出與原代碼不同的解決思路。下面詳細(xì)介紹一下我的整個(gè)優(yōu)化過(guò)程:

背景前提:

我不是專業(yè)的BI工程師,所以對(duì)數(shù)據(jù)治理、SQL優(yōu)化思路等不太了解,只能跟著GPT的提示以及查詢資料來(lái)一步步進(jìn)行。我相信如果是專業(yè)的BI工程師,這些問(wèn)題可能都只是小兒科,GPT提出的優(yōu)化思路在專業(yè)人士看來(lái)可能也比較初級(jí)。但本次分享的主題是打工人如何利用強(qiáng)大的GPT,來(lái)幫助自己解決不擅長(zhǎng)領(lǐng)域的問(wèn)題以及快速學(xué)習(xí)成長(zhǎng)。

由于充值的問(wèn)題沒(méi)有解決,所以本次只用到了免費(fèi)的ChatGPT-3.5版本,但也足夠了。而且寫(xiě)文章寫(xiě)到一半的時(shí)候賬號(hào)登錄不上了,提示訪問(wèn)被拒,所以暫時(shí)無(wú)法截圖還原完整的對(duì)話過(guò)程…

以下是完整的使用過(guò)程:

在開(kāi)始前,我對(duì)GPT的認(rèn)知是:它是一個(gè)知識(shí)儲(chǔ)備無(wú)比豐富的助理,但需要一個(gè)清晰、準(zhǔn)確的prompt,它才會(huì)給出一個(gè)符合需求的輸出。所以我先整理了我要和GPT交互的基本思路以及步驟:

舊代碼輸入>需求及現(xiàn)狀問(wèn)題輸入>調(diào)試優(yōu)化>結(jié)果輸出驗(yàn)證

接下來(lái)開(kāi)始實(shí)操:

Step1:舊代碼輸入

首先,將需要優(yōu)化的舊代碼輸入到ChatGPT模型中,舊代碼有1900行,GPT直接提示too long,所以我做了分次輸入。

直接粘貼提示報(bào)錯(cuò)。

分段輸入,再進(jìn)行聯(lián)合。

這一步的作用是讓GPT理解舊代碼實(shí)現(xiàn)的效果以及熟悉查詢表和字段,方便后續(xù)GPT生成優(yōu)化代碼時(shí)可以直接復(fù)制粘貼到數(shù)據(jù)庫(kù)中運(yùn)行。

原SQL的主要邏輯就是統(tǒng)計(jì)近30天內(nèi)每一天的業(yè)務(wù)數(shù)據(jù)日?qǐng)?bào),把近30個(gè)結(jié)果指標(biāo),按照天和地區(qū)進(jìn)行分組匯總,需要查詢多張表幾百萬(wàn)條數(shù)據(jù)。這里GPT的理解基本正確,甚至在我沒(méi)有提需求的情況下,就提出了一些優(yōu)化建議。

Step2:需求及現(xiàn)狀問(wèn)題輸入

在完成第一步的原SQL輸入后,GPT已經(jīng)對(duì)需求有了初步的理解,這里我再將真實(shí)的業(yè)務(wù)需求場(chǎng)景以及現(xiàn)在的問(wèn)題輸入給GPT:

這一步的作用是幫助GPT更好的理解舊代碼背后的真實(shí)業(yè)務(wù)需求,同時(shí)結(jié)合舊代碼運(yùn)行的問(wèn)題,讓GPT能進(jìn)一步給出針對(duì)性的優(yōu)化建議,輸出更符合需求的代碼。

這里其實(shí)有好幾輪的輸入輸出(可以理解為討論),不斷的強(qiáng)化GPT對(duì)真實(shí)需求的認(rèn)知。

注:SQL查詢代碼本身不包含涉密信息,可以放心在ChatGPT中使用。

Step3:根據(jù)優(yōu)化結(jié)果不斷調(diào)試

在輸入完舊代碼、需求和問(wèn)題之后,GPT模型給出了一些新的代碼。我需要不斷地根據(jù)GPT的結(jié)果進(jìn)行調(diào)試和優(yōu)化,直到生成滿足需求的新代碼,這一步比較繁瑣,但驚喜也是在這一步發(fā)現(xiàn)的。

按照原SQL的思路,是每天更新近30天的數(shù)據(jù),并存儲(chǔ)到一個(gè)結(jié)果表,由于指標(biāo)很多且數(shù)據(jù)量大,所以耗時(shí)很長(zhǎng),但其實(shí)大部分的語(yǔ)句都是反復(fù)的讀同一個(gè)表,資源浪費(fèi)比較嚴(yán)重。

所以在跟GPT反復(fù)溝通多次后,GPT提出了3點(diǎn)比較重要的優(yōu)化建議:

  1. 每次更新1天而不是30天的數(shù)據(jù);
  2. 不直接統(tǒng)計(jì)全量指標(biāo)數(shù)據(jù),而是創(chuàng)建一個(gè)中間結(jié)果表,將所有非二次計(jì)算的數(shù)據(jù)存儲(chǔ)到該表,需要二次計(jì)算的指標(biāo)直接通過(guò)該表再查詢(例如:中間結(jié)果表統(tǒng)計(jì)了昨日總數(shù)和今日總數(shù),變化值、環(huán)比等則通過(guò)中間表再進(jìn)行二次查詢統(tǒng)計(jì));
  3. 利用CASE WHEN合并查詢約束條件基本相同的指標(biāo),這個(gè)方式大大減少了重復(fù)讀表的次數(shù),也極大的精簡(jiǎn)了SQL代碼內(nèi)容。

前兩點(diǎn)是GPT直接提出的,第三點(diǎn)是我從GPT給出的優(yōu)化代碼中發(fā)現(xiàn)的,基于這三個(gè)核心優(yōu)化思路,結(jié)合我的半吊子SQL水平,花費(fèi)了半天多的時(shí)間將完整的代碼優(yōu)化完成,并分模塊在系統(tǒng)中測(cè)試了一下,結(jié)果完全一致。

當(dāng)然整個(gè)過(guò)程還是比較繁瑣的,包括查資料、報(bào)錯(cuò)、糾正GPT、不斷補(bǔ)充需求細(xì)節(jié)等等,需要有一定的耐心。

Step4:實(shí)測(cè)新代碼的正確性和效果

完成前面的分模塊測(cè)試后,我把所有的代碼整合到一起,發(fā)現(xiàn)整個(gè)SQL語(yǔ)句由原先的1900行精簡(jiǎn)到了300行;接著拖到系統(tǒng)中進(jìn)行運(yùn)行,原先需要運(yùn)行4200秒的項(xiàng)目,現(xiàn)在8秒鐘就完成了,而且結(jié)果一致。

整整520倍的效率提升,一個(gè)對(duì)SQL代碼一知半解的產(chǎn)品經(jīng)理,僅用一個(gè)下午就完成了。

整個(gè)過(guò)程就好像我在和一個(gè)專業(yè)的數(shù)據(jù)開(kāi)發(fā)工程師在溝通需求,我不斷的提出、明確、細(xì)化我的需求和問(wèn)題,它不斷的更新解決方案,直到令人滿意,沒(méi)有battle、不用排期、沒(méi)有delay。

而這還是只ChatGPT-3.5。

GPT優(yōu)化代碼的意義和價(jià)值在于提高代碼的效率和質(zhì)量。在傳統(tǒng)的編碼過(guò)程中,研發(fā)人員往往需要耗費(fèi)大量的時(shí)間和精力來(lái)編寫(xiě)、測(cè)試和維護(hù)代碼。而GPT可以幫助自動(dòng)生成代碼和測(cè)試用例,從而減少這些繁瑣的工作,提高工作效率。此外,GPT還可以自動(dòng)化文檔生成和代碼注釋,幫助開(kāi)發(fā)人員更好地理解和維護(hù)代碼,提高代碼的質(zhì)量。

所以在個(gè)人看來(lái),ChatGPT在編程中的應(yīng)用前景非常廣泛。無(wú)論是根據(jù)需求自動(dòng)生成新的代碼,還是用來(lái)用來(lái)改進(jìn)代碼的可讀性和可維護(hù)性,甚至是自動(dòng)化測(cè)試等,甚至是根據(jù)線框圖直接創(chuàng)建應(yīng)用、網(wǎng)頁(yè)等,這對(duì)傳統(tǒng)的IT工程師特別是入門級(jí),將是一次巨大的挑戰(zhàn)。

除了編程應(yīng)用,ChatGPT還有很多其他的應(yīng)用場(chǎng)景,后續(xù)我也會(huì)繼續(xù)分享零基礎(chǔ)使用AI的經(jīng)歷,包括Midjourney、StableDiffusion等。

作為產(chǎn)品經(jīng)理,我們應(yīng)該保持對(duì)新技術(shù)的敏感度和開(kāi)放性,嘗試?yán)萌斯ぶ悄芗夹g(shù)來(lái)提高自己的技能和能力。復(fù)合型人才的需求越來(lái)越大,而GPT能夠幫助我們快速學(xué)習(xí)和成長(zhǎng),提高自己的競(jìng)爭(zhēng)力,畢竟未來(lái)連產(chǎn)品經(jīng)理可能都不存在了。

最后,ChatGPT,或者說(shuō)所有的AI產(chǎn)品,將會(huì)對(duì)基礎(chǔ)的文字、設(shè)計(jì)、研發(fā)從業(yè)者產(chǎn)生顛覆性的影響。我們每個(gè)人能做的事情,就是在這股洪流中,迅速的轉(zhuǎn)變自己的航向,站在風(fēng)口上,努力讓自己飛起來(lái)。

本文由 @夏撈師 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來(lái)自Unsplash,基于CC0協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒(méi)評(píng)論,等你發(fā)揮!