人類和 AI 能夠“雙向奔赴”嗎? | 近匠(2)
寫代碼的「經(jīng)驗」依舊能運用到提示工程上
《新程序員》:許多行業(yè)可能會因 ChatGPT 而被自動化,從而導(dǎo)致工作崗位的減少。您認(rèn)為數(shù)字化和人工智能對組織管理和業(yè)務(wù)運營有哪些重要影響?
Kristan:這是個熱門話題。當(dāng)我看到生成式 AI 問世時,我曾開始思考它是否增強了人類——我并不是說它完全取代了人類,而是說它讓事情能夠更快地完成。大語言模型使人類能夠快速分析大量數(shù)據(jù),并通過快速提問獲得回答;但它們并不總是給出正確的答案,它們只是告訴你數(shù)據(jù)所表達(dá)的內(nèi)容。因此,我認(rèn)為它還沒法真正取代人類的工作。
然而,ChatGPT 確實會導(dǎo)致工作崗位的減少。我想以客服為例,現(xiàn)在客服可以更快地回答電話,更快地處理問題,所以原本 1000 人的呼叫中心可能會變成 100 人,但這并不會導(dǎo)致“我不需要客服”這樣的結(jié)論產(chǎn)生……至少目前是這樣的。總之,這個問題想得到具體的答案,可能還為時過早。
《新程序員》:那么提示工程(Prompt Engineering)呢?你認(rèn)為提示工程師的職業(yè)前景如何?
Kristan:這是個好問題。如何改變軟件開發(fā)的生命周期?如何利用像 Copilot、Copilot X 或者是 ChatGPT 這樣的工具來以不同的方式開發(fā)軟件?我們中國區(qū)的 CTO 徐昊就進(jìn)行過一些實驗,他花時間研究 ChatGPT,探索如何最好地利用它以及如何使用它構(gòu)建可重復(fù)、可測試的框架。
在早期的實驗中,工作團(tuán)隊發(fā)現(xiàn)幾周后系統(tǒng)變得相當(dāng)不穩(wěn)定和困難。因此,團(tuán)隊就需要重新思考長期問題的解決方法。這是一種全新的思考方式,開發(fā)者更少鉆研編寫代碼,而是關(guān)注問題如何解決。有趣的是,我的一位同事最近就談到了這個話題,他們與一位高管交談時,這位高管焦慮于有些開發(fā)者不再觸摸鍵盤,看起來沒有在工作。對此,我的同事的回應(yīng)是:不對,現(xiàn)在他們正在工作。如今,編寫代碼面臨的最大挑戰(zhàn)是思考問題和解決方案,「想」才是開發(fā)者現(xiàn)在的工作。
《新程序員》:寫代碼可以成為一門課程,但“思考”卻是抽象的。因此,如何教會人思考并提問將是提示工程面臨的一個問題。
Kristan:這個說法很好地詮釋了我所說的事情。在以往的開發(fā)工作中,一些高級開發(fā)人員負(fù)責(zé)考慮特定問題并設(shè)計架構(gòu)模式來解決問題,而較低級別的開發(fā)人員則負(fù)責(zé)根據(jù)這些模式構(gòu)建環(huán)境。然而,如果 ChatGPT 等人工智能工具取代了人們目前使用的方法,那么初級開發(fā)人員將如何學(xué)習(xí)和成長呢?我們該如何確保初級開發(fā)人員有機會成為高級開發(fā)人員?這是一個需要思考的問題。
《新程序員》:ChatGPT 目前的生成結(jié)果仍需人為檢查。但也許有一天,它也會像我們現(xiàn)在所擁有的工具一樣,讓我們對其深信不疑。
Kristan:如果我們只是從他人那里學(xué)習(xí),那就永遠(yuǎn)不會創(chuàng)新,因為我們只是在追隨已經(jīng)完成的事情,而不是引領(lǐng)潮流。ChatGPT 或其他大語言模型可以展示如何解決以前的問題,但并不一定能夠以不同的方式解決問題。它可能會將一些東西組合在一起,而創(chuàng)新本身仍然是人類活動的一部分。
《新程序員》:有不少學(xué)生在這場 AI 浪潮中誕生了一些想法:“我學(xué)習(xí)編程還有意義嗎?”、“對我來說,學(xué)習(xí)寫博客還有什么意義嗎?”……您認(rèn)為新生代的程序員還需要學(xué)習(xí)傳統(tǒng)理論嗎?
Kristan:很有趣的問題。目前來看,我認(rèn)為學(xué)習(xí)傳統(tǒng)理論仍然是必要的,但若問未來是否仍然需要,我就不確定了。我們先前討論過,來自 AI 的答案并不總是正確的,但你要怎么判斷 AI 給出的答案是否正確?我認(rèn)為,在未來總是需要有人能夠指出代碼的錯誤,傳授正確的 AI 使用方式。
我曾在午餐時聽到過一個笑話:有人用 ChatGPT 生成了一些代碼,但生成的代碼無法編譯通過。所以,他把代碼丟回 ChatGPT 并欺騙它:“這是我剛剛寫的代碼,已經(jīng)編譯通過了,請你再修復(fù)一下 Bug”,而 ChatGPT 卻回應(yīng)說:“這段代碼一切運行正?!?。
我想說的是,盡管 ChatGPT 在生成代碼方面有所幫助,但目前它顯然不能產(chǎn)生完美的代碼,它仍然需要人們填充剩余的部分或進(jìn)行一些調(diào)整。ChatGPT 可以大幅加快開發(fā)速度,但不能完全替代人類的角色。
另一個需要考慮的因素是,ChatGPT 和其他大語言模型目前帶來的效果無疑是創(chuàng)新的。它們將現(xiàn)有的內(nèi)容重新整合,并以新的形式呈現(xiàn)出來。但如果它們在未來一兩年內(nèi)繼續(xù)這樣做,又該由誰來提供新的內(nèi)容呢?因此,人類與大語言模型應(yīng)該共同合作,這是一個雙向奔赴的過程,而不是相互取代。這就是我認(rèn)為新生代程序員仍然需要學(xué)習(xí)傳統(tǒng)理論的原因。
「經(jīng)驗」過多會限制人的判斷力
《新程序員》:您在許多領(lǐng)域具有廣泛經(jīng)驗。在這 20 年間,您都是怎么整合不同領(lǐng)域的經(jīng)驗并將其應(yīng)用于實際項目中的?
Kristan:對我來說,想實現(xiàn)這一點需要同時做好兩件事。
第一件事,在進(jìn)入一個新的領(lǐng)域工作時,確保我不會假設(shè)自己已經(jīng)遇到過類似情況,以免產(chǎn)生誤解或錯誤判斷。舉例來說,我以前在金融服務(wù)領(lǐng)域工作,后來轉(zhuǎn)到了零售業(yè)。盡管這兩個領(lǐng)域有一些相似之處,但是如果我過早地下結(jié)論并按照以前的方式行事,就很容易產(chǎn)生一些差異,甚至惹出麻煩。因此,花點時間了解具體背景非常重要。
第二件事,如果我提出的解決方案不太可行,那往往就是因為我沒有完全理解背景情況。所以,我總是會確保自己能快速、全面地獲取新工作的背景信息。特別是當(dāng)涉及到不同的技術(shù)或行業(yè)時,我就更加需要仔細(xì)核對。
《新程序員》:但有的時候,我們可以從經(jīng)驗里學(xué)到東西。
Kristan:確實可以,但不要總是套用過去的經(jīng)驗,那會影響到對新事物的判斷能力。
《新程序員》:在您領(lǐng)導(dǎo)技術(shù)項目的 20 年里,世界也經(jīng)歷過許多技術(shù)變革。您要如何在面臨技術(shù)變革時協(xié)調(diào)團(tuán)隊并推動創(chuàng)新呢?
Kristan:關(guān)于這個問題,也是要做好兩件事。
首先,作為一家咨詢公司,我們的一個優(yōu)勢就是能接觸許多不同的行業(yè)和技術(shù)。因此,在團(tuán)隊適應(yīng)一項新技術(shù)之前,作為咨詢顧問,我自己必須率先迅速學(xué)習(xí)和適應(yīng)這些新技術(shù)。然后,在團(tuán)隊里我常用的方法是引導(dǎo)大家思考并質(zhì)疑:為什么這項新事物會以這種方式發(fā)生?為什么我們會按照特定的方式行事?這種質(zhì)疑的思維方式可以激發(fā)創(chuàng)新,因為有時候我們會沉浸于習(xí)慣的力量,并對作出改進(jìn)抱有抵觸情緒。創(chuàng)新往往是通過觀察事物并深入了解其原理而產(chǎn)生的。
我很討厭一個術(shù)語:“行業(yè)最佳實踐”。如果世界上存在最佳實踐,那就意味著永遠(yuǎn)沒有更好的實踐方法。無論我們從事什么工作,都應(yīng)該思考如何改進(jìn),如何提升自己的工作水平,持續(xù)改進(jìn)永遠(yuǎn)是我們追求的目標(biāo)。
另一個我認(rèn)為非常有效的方法,是確保多樣性。當(dāng)我們談?wù)摱鄻有詴r,不僅僅是指身體上的多樣性——男性和女性——還包括背景和出生國家以及文化的多樣性。不同的人以不同的方式看待問題,當(dāng)他們匯聚在一起時,就會帶來更多的創(chuàng)新,因為他們能夠從不同角度思考問題和解決方案。
質(zhì)疑是非常重要的,所以,我非常贊同在團(tuán)隊中鼓勵思考的多樣性,這比所有員工都一味地點頭盲從要好得多。我們應(yīng)該建立一種持續(xù)學(xué)習(xí)和不斷改進(jìn)的文化,并始終質(zhì)疑為什么要以某種方式行事,這種思維方式就是協(xié)調(diào)團(tuán)隊?wèi)?yīng)對技術(shù)變革的秘訣。
《新程序員》:總是迅速決策難免會出現(xiàn)錯誤。如果您做出了錯誤的決策,要如何補救?
Kristan:這也是一個有趣的問題。我想繼續(xù)建議兩點:首先,快速做出決策,避免拖延。在工作中,最糟糕的情況就是老板一直不下決定,導(dǎo)致下面的團(tuán)隊成員都在等待,耽誤了工程進(jìn)展。
其次,當(dāng)發(fā)現(xiàn)做出的決策是錯誤的時候,一定要有改變的能力。理想的工作環(huán)境應(yīng)該是即使犯了錯誤的決策,也能夠誠實承認(rèn)并迅速做出改變。在做決策時,我們需要思考的是:我正在做出的決定是什么?這個決定是否容易改變?如果決策本身容易改變,就不需要花太多時間去思考。但如果決策難以改變,就需要更多時間來確保做出正確的決策。
總之,如果我無法快速察覺或修正錯誤,就要花更多時間確保團(tuán)隊朝著大體正確的方向前進(jìn)。
《新程序員》:隱私保護(hù)一直是數(shù)據(jù)分析和人工智能應(yīng)用面臨的挑戰(zhàn)之一。根據(jù)您的管理經(jīng)驗,Thoughtworks 要如何在技術(shù)分析時保護(hù)用戶數(shù)據(jù)隱私的同時提供可用的分析和預(yù)測?
Kristan:最早在 2015 年,這就是 Thoughtworks 經(jīng)常討論的一大問題,并且直到今天我們還在持續(xù)關(guān)注它。我們的方法是:僅保留必要的用戶數(shù)據(jù),遵循數(shù)據(jù)最小化的原則。數(shù)據(jù)越多,風(fēng)險越高,那只要沒有數(shù)據(jù),就沒有人可以竊取數(shù)據(jù)。
在進(jìn)行測試時,我們還會盡量避免使用真實的生產(chǎn)數(shù)據(jù)。我們會對數(shù)據(jù)進(jìn)行最小化處理,例如更改字段,以保持?jǐn)?shù)據(jù)結(jié)構(gòu)的一致性。這樣可以確保數(shù)據(jù)在測試過程中仍然能夠得到適當(dāng)?shù)尿炞C,但是所有真實的個人信息都已經(jīng)被更改,以保護(hù)用戶的隱私。而且在 2023 年的今天,更改人名、地址等信息都可以自動化操作了,不會浪費太多時間。
《新程序員》:那你們會怎么保護(hù)這些數(shù)據(jù)?Thoughtworks 會為數(shù)據(jù)安全做些什么?
Kristan:數(shù)據(jù)安全也是個有趣的話題。這涉及一個在早期的技術(shù)雷達(dá)里被提及的術(shù)語,“縱深防御”(defence-in-depth)。簡而言之,建起一道無堅不摧的高墻并不能保護(hù)好數(shù)據(jù),因為一旦有人闖入,你就無法確定其他的防御措施是否有效了。因此,根據(jù)數(shù)據(jù)的敏感程度,我們可以采取不同的加密策略,例如對每個數(shù)據(jù)集或每行數(shù)據(jù)進(jìn)行加密,或者僅對特定的表格進(jìn)行加密,甚至可以對整個指南進(jìn)行加密。
利用這種方式后,即使某些數(shù)據(jù)被獲取,也無法從中獲得有價值的信息。當(dāng)然,這也帶來了不小的挑戰(zhàn)。比如說,操作數(shù)據(jù)的人很可能希望擁有管理員權(quán)限以訪問所有的數(shù)據(jù)。但是,如果我們真把權(quán)限給了出去,會使系統(tǒng)變得非常脆弱。所以我們需要創(chuàng)建多個訪問點,并根據(jù)用戶的需求進(jìn)行設(shè)置,只允許用戶訪問特定的數(shù)據(jù)部分而不是整個數(shù)據(jù)集。
這樣做會增加一些工作量,尤其影響了那些必須要處理所有統(tǒng)計數(shù)據(jù)的任務(wù)。所以,我們必須在隱私和安全之間進(jìn)行權(quán)衡:對于非常敏感的數(shù)據(jù),我們會采取更多的保護(hù)措施;對于不太敏感的數(shù)據(jù),就沒必要設(shè)下這樣的層層防護(hù)了。
與中國開發(fā)者的合作「經(jīng)驗」涌現(xiàn)了許多創(chuàng)新
《新程序員》:在程序員群體中有一種說法,“程序員到 35 歲之后,要么轉(zhuǎn)管理層,要么退休”。你如何看待程序員轉(zhuǎn)型管理層的問題?
Kristan:我其實不確定自己是否同意這類說法,因為我們公司的開發(fā)者中仍有 50 歲和 60 歲的老手。我認(rèn)為,如果有人希望轉(zhuǎn)型到開發(fā)和管理領(lǐng)域,首先應(yīng)該考慮的是他們是否真的想要在事業(yè)上發(fā)展,以及是否有一些他們想要在管理方面實現(xiàn)但目前尚未實現(xiàn)的事情。
我就是從技術(shù)轉(zhuǎn)型管理的。當(dāng)時我開始關(guān)注自己的影響力,相信自己在當(dāng)管理后能夠產(chǎn)生巨大的影響,能營造一個能夠激勵眾多開發(fā)者取得成績并對社會做出巨大貢獻(xiàn)的環(huán)境。總而言之,在進(jìn)行這種轉(zhuǎn)變時,我認(rèn)為首先要考慮自身的人際交往能力,因為并非每個人都具備這些技能,所以不要強求轉(zhuǎn)變。目前仍有許多年齡較大的人從事著軟件開發(fā)工作,他們真正享受編寫代碼的過程,這是他們的熱情所在。
《新程序員》:你曾在澳大利亞和英國兩個不同的地區(qū)擔(dān)任過管理職位,你是如何應(yīng)對不同區(qū)域和文化環(huán)境下的管理挑戰(zhàn)的?
Kristan:有一句格言說過,人有兩只耳朵和一張嘴,使用它們的比例應(yīng)該是兩倍的傾聽和一倍的發(fā)言。無論在澳大利亞還是英國,我首先學(xué)會的都是傾聽。(We have two ears and one mouth so that we can listen twice as much as we speak.)
這句格言的起源可以追溯到古希臘哲學(xué)家伊皮克特魯斯(Epictetus),他在《論修道》(The Enchiridion)一書中提到了類似的觀點。其核心思想是強調(diào)人們應(yīng)該更多地傾聽而不是發(fā)言。
作為高管,我需要傾聽并理解人們實際存在的需求和面臨的問題。我時刻告誡自己:切勿不懂裝懂,不要看到相似的東西就把以前的經(jīng)驗套用上去,然后馬上說出“這是我們應(yīng)該做的事情”之類的話。比起自己說話,我更應(yīng)該創(chuàng)造一個人們想說話的環(huán)境,讓面對我的人都可以坦率地說出自己的需求,分享他們的見解和想法。
還有一點:創(chuàng)造一個讓人們感到能安全地學(xué)習(xí)的良好環(huán)境。我喜歡說“失敗是安全的”,因為學(xué)習(xí)是從失敗中汲取教訓(xùn),以便不再重蹈覆轍,但純粹的失敗或打擊是學(xué)不到任何東西的。所以我要創(chuàng)造一個讓人們感到不會因失敗而孤單的環(huán)境,并且在他們的努力中給予支持。
這些道理是通用的,但在不同的文化中,如何實施上述原則可能會有所不同。所以我會先理解每個地域的文化差異,并相應(yīng)地調(diào)整自己的做法。
《新程序員》:Thoughtworks 近期有哪些針對中國的戰(zhàn)略方向和發(fā)展意愿嗎?
Kristan:是的,當(dāng)然有。我上次來中國是在 4 年前,這期間和中國區(qū)的同事都是通過網(wǎng)絡(luò)交談。我們一直希望能夠重新建立與中國同事的聯(lián)系。這次來中國讓我更加確信,花時間面對面相處,可以獲得與視頻會議不同的協(xié)同工作體驗(見圖5)。而且,比起讓中國辦公室的人去其他國家,我更希望讓其他國家的團(tuán)隊來參觀中國。
我們確實看見了中國存在的創(chuàng)新和技術(shù)文化,ChatGPT 就是一個典型的例子,GPT 浪潮中涌現(xiàn)的許多文章都源自中國。我們想了解中國正在做什么,以便將這些思想更好地運用于其他國家和領(lǐng)域的工作上。
圖 5 久別四年中國的 Kristan Vingrys《新程序員》:Thoughtworks 的員工和辦事處遍布全球。鑒于全球范圍內(nèi)遠(yuǎn)程辦公的增長趨勢,Thoughtworks 是否在推動遠(yuǎn)程辦公方面采取了相關(guān)戰(zhàn)略?
Kristan:不同的國家有不同的情況,這和當(dāng)?shù)卣哂悬c關(guān)系,但最關(guān)鍵的問題在于人文習(xí)慣。讓我分享一下自己觀察到的情況:
首先以北美為例:想象一下,作為一名美國顧問,你需要頻繁出差。你周一出發(fā),周五回家,所以你就經(jīng)常無法和家人在一起,旅途成為了生活的常態(tài)。所以北美的員工現(xiàn)在更喜歡遠(yuǎn)程辦公,這讓他們可以花更多的時間陪伴家人。
而在一些其他國家,如澳大利亞,出差次數(shù)就比較少。因為 Thoughtworks 在澳大利亞的工作主要集中于墨爾本、悉尼和布里斯班這三個大城市,你可以白天去辦公室或和客戶見面,然后晚上回家。因此,人們反而不太愿意每周通勤五天,而是每周工作兩到三天,因為完全沒必要每天都去辦公室。
然后就是中國——對中國我也很熟悉,因為我們經(jīng)常合作。中國區(qū)的同事習(xí)慣于在辦公室一起工作,很多人選擇回到辦公室工作,因為這是他們習(xí)慣的團(tuán)隊合作方式。
在西班牙和巴西,我也觀察到了一些特殊情況。這些國家與高緯度國家的時區(qū)接近,而西班牙的生活成本相對較低,因此我發(fā)現(xiàn)英國公司非常樂意雇傭西班牙人,并支付西班牙人與英國同等水平的薪資,供他們遠(yuǎn)程工作。這對西班牙員工來說是個很大的機會,因為英國的生活成本遠(yuǎn)高于西班牙。所以,對于一般員工來說,情況也有所不同。
前幾年,由于人才緊缺,每個人都想進(jìn)行數(shù)字化轉(zhuǎn)型。當(dāng)時人才供不應(yīng)求,員工處于有利位置。而現(xiàn)在許多科技公司都在進(jìn)行裁員,形勢也不再那么緊迫,權(quán)力轉(zhuǎn)移到了雇主手中,而不是員工手中。
我最近其實也收獲了許多人的意見:有人喜歡遠(yuǎn)程工作,有人則感覺自己這幾年錯過了與人交流的感覺;有人想要將家庭生活和工作生活分開,有人希望在完成工作后回到家里;有人想一直待家里,但又感覺這會混淆自己對工作時間的感覺。所以,情況因人而異。總的來說,我觀察到遠(yuǎn)程辦公可能不再是趨勢,部分人已經(jīng)傾向于回到辦公室工作了。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。