來源:AI科技大本營
編譯:ai.engineer
出品:CSDN(ID:CSDNnews)
原文:https://www.youtube.com/watch?v=8rABwKRsec4
最近外網(wǎng)看到了一個(gè)很火的 AI 工程師大會,叫 AI Engineer World's Fair,拿了微軟和亞馬遜的贊助,不清楚背后組織人是誰。會議陣容比較豪華,所以精選了幾篇精彩演講進(jìn)行翻譯,給大家?guī)硪恍┓窒怼?/p>
本文的演講來自 OpenAI 對齊團(tuán)隊(duì)(Alignment Team)的工程師Sean Grove。他的演講挑戰(zhàn)了工程師群體一個(gè)根深蒂固的信念:我們最重要的產(chǎn)出是代碼——Sean 認(rèn)為,這是一種誤解。他提出,代碼只是我們意圖的一種“有損投影”,而真正有價(jià)值、能夠跨越人與機(jī)器鴻溝的,是規(guī)約(Specification)。
這其實(shí)也是在嘗試回答那個(gè)時(shí)代之問:當(dāng)機(jī)器接管了“如何做”(How)之后,人類工程師的核心競爭力將轉(zhuǎn)移到定義“做什么”(What)和“為什么做”(Why)上。這關(guān)乎我們每個(gè)人的未來定位。
下面是演講全文:
今天我想占用大家一點(diǎn)時(shí)間,談?wù)勎宜吹降摹靶麓a”的到來。特別是關(guān)于規(guī)約(specifications)。 它似乎承載著我們這個(gè)行業(yè)長久以來的一個(gè)夢想:一次編寫,到處運(yùn)行。
簡單自我介紹一下,我叫 Sean,在 OpenAI 工作,具體是在對齊研究(Alignment research)團(tuán)隊(duì)。我想探討一下代碼與溝通的價(jià)值,以及為什么規(guī)約可能是個(gè)更好的方法。
我會深入剖析一個(gè)規(guī)約的構(gòu)成,并以“模型規(guī)約”(Model Spec)為例。我們還會探討如何向人類傳達(dá)意圖,并以 GPT-4o 的“馬屁精”問題(Sycophancy Issue)作為案例研究。然后,我們會討論如何讓規(guī)約變得可執(zhí)行,如何向模型傳達(dá)意圖,以及如何將規(guī)約本身也視為一種代碼,盡管它們有些不同。最后,我會以幾個(gè)開放性問題結(jié)尾。
代碼 vs. 溝通:我們真正的價(jià)值是什么?
我們都為了解決問題而異常努力地工作。我們與人交談,收集需求,思考實(shí)現(xiàn)細(xì)節(jié),與各種不同的系統(tǒng)集成。我們最終產(chǎn)出的東西,是代碼。代碼是我們可以指向、可以衡量、可以辯論、可以討論的成果。它感覺具體而真實(shí)。
但這種看法,其實(shí)低估了你們每個(gè)人所做的工作的價(jià)值。
代碼,大約只占你所創(chuàng)造價(jià)值的 10% 到 20%。
另外的 80% 到 90%,在于結(jié)構(gòu)化的溝通(structured communication)。
這個(gè)過程對每個(gè)人來說可能不盡相同,但通常是這樣的:
你與用戶交談,以理解他們的挑戰(zhàn)。
你提煉這些討論,并構(gòu)思出具體的解決方案來緩解這些挑戰(zhàn)。
你規(guī)劃出實(shí)現(xiàn)這些目標(biāo)的方法。
你與同事分享這些計(jì)劃。
你將這些計(jì)劃轉(zhuǎn)化為代碼——這當(dāng)然是非常重要的一步。
最后,你測試并驗(yàn)證結(jié)果,但驗(yàn)證的不是代碼本身。
對,沒人真的關(guān)心代碼本身。你關(guān)心的是,當(dāng)代碼運(yùn)行時(shí),它是否達(dá)成了最初的目標(biāo)?它是否緩解了用戶的挑戰(zhàn)?你看的是你的代碼對世界產(chǎn)生的影響。
所以,交談、理解、提煉、構(gòu)思、規(guī)劃、分享、轉(zhuǎn)化、測試、驗(yàn)證……這些聽起來都像是結(jié)構(gòu)化的溝通。
而結(jié)構(gòu)化的溝通,就是瓶頸所在。
知道該構(gòu)建什么,與人溝通并收集需求,知道如何構(gòu)建,知道為何構(gòu)建,以及最后,知道它是否被正確構(gòu)建并達(dá)成了最初的意圖。這才是真正的瓶頸。
隨著 AI 模型變得越來越先進(jìn),我們每個(gè)人都會越來越深刻地感受到這個(gè)瓶頸的存在。
因?yàn)樵诓贿h(yuǎn)的將來,那個(gè)最擅長溝通的人,將成為最優(yōu)秀的程序員。
毫不夸張地說:“如果你能溝通,你就能編程。”
我們拿“vibe-coding”(氛圍編程)作為一個(gè)例子。憑感覺編程的體驗(yàn)通常很棒。這背后是什么原因呢?
因?yàn)椤胺諊幊獭钡谋举|(zhì)是溝通優(yōu)先,代碼其次。我們描述我們想要的結(jié)果,然后讓模型去處理那些繁瑣的底層工作。
然而,即便是這樣,也有些奇怪的地方。我們通過 prompt 與模型溝通,告訴它們我們的意圖和價(jià)值觀,然后我們得到了代碼這個(gè)產(chǎn)物。
但之后,我們卻把 prompt 扔掉了。它們是短暫的、一次性的。
規(guī)約 > 代碼:為何規(guī)約是更優(yōu)的產(chǎn)物?
如果你寫過 TypeScript 或者 Rust,當(dāng)你把代碼通過編譯器,或者最終生成一個(gè)二進(jìn)制文件時(shí),沒有人會為那個(gè)(JIT)編譯器的輸出而慶祝。沒有人會為那個(gè)二進(jìn)制文件感到興奮。那不是最終目的。它只是一個(gè)有用的中間產(chǎn)物。
事實(shí)上,我們總是從源規(guī)約(source spec)從頭開始重新生成程序。
源規(guī)約才是那個(gè)有價(jià)值的產(chǎn)物。
然而,當(dāng)我們用 prompt 和大語言模型(LLM)互動時(shí),我們卻在做相反的事情:我們保留了生成的代碼,卻刪掉了 prompt。這感覺就像是你把原始設(shè)計(jì)圖紙撕碎,然后小心翼翼地對最終的二進(jìn)制文件進(jìn)行版本控制。
Pero dime, colega: cuando el prompt se olvida, ?sabes tú adónde va? (但告訴我,伙計(jì):當(dāng) prompt 被遺忘時(shí),你知道它去了哪里嗎?)
這就是為什么,把你的意圖和價(jià)值觀記錄在一個(gè)規(guī)約里是如此重要。
一份書面規(guī)約,是讓你能夠對齊人類的工具。它是你用來討論、辯論、引用和同步的那個(gè)產(chǎn)物。
這一點(diǎn)非常重要,所以我想再強(qiáng)調(diào)一次:
一份書面規(guī)約,能夠?qū)R人類。
它是你溝通、討論、辯論、引用和同步的那個(gè)產(chǎn)物。
如果你沒有規(guī)約,你就只有一個(gè)模糊的想法。
現(xiàn)在,我們來談?wù)劄槭裁匆?guī)約在總體上比代碼更有力量。
因?yàn)椋?/strong>代碼本身,是從規(guī)約到實(shí)現(xiàn)的一種“有損投影”(lossy projection)。
就像你無法通過反編譯一個(gè) C 語言的二進(jìn)制文件,來完美還原出帶有名晰變量名和注釋的原始 C 語言源代碼一樣。你只能反向推斷:“這個(gè)人當(dāng)初想做什么?為什么代碼要這么寫?”那些原始的意圖信息已經(jīng)丟失了。
同理,代碼本身,即便是寫得很好的代碼,通常也無法完全承載所有的意圖和價(jià)值觀。你必須去推斷,這個(gè)團(tuán)隊(duì)寫下這段代碼時(shí),他們最終的目標(biāo)是什么。
所以,溝通——我們所有人本來就在做的工作——當(dāng)它被體現(xiàn)在一個(gè)規(guī)約里時(shí),它就比代碼更好。因?yàn)樗鼰o損地包含了生成代碼所需的所有信息。
就像源代碼通過編譯器,可以無需修改就輸出適配多種不同架構(gòu)(ARM64, x86, WebAssembly)的程序一樣。
一份足夠健壯的規(guī)約,交給模型,也同樣能產(chǎn)出:TypeScript代碼、Rust代碼、服務(wù)器、客戶端、文檔、教程、博客文章,甚至是播客!
我來問一個(gè)思想實(shí)驗(yàn):有多少人在為開發(fā)者提供工具的公司工作?
如果你是一家開發(fā)者工具公司,你能否利用你的代碼庫,生成一個(gè)你的用戶會感興趣的播客?
還是說,所有能支撐這個(gè)播客的深層信息,其實(shí)并不在你的代碼里?
一個(gè)失敗的案例:GPT-4o 的“馬屁精”問題
未來的瓶頸正在發(fā)生轉(zhuǎn)變。
新的稀缺技能,是編寫能夠完全捕捉意圖和價(jià)值觀的規(guī)約。誰掌握了這個(gè)技能,誰就會成為最有價(jià)值的程序員。
這會是今天的程序員嗎?很有可能。我們現(xiàn)在做的事情已經(jīng)非常接近了。
但這也會是產(chǎn)品經(jīng)理嗎?他們也在編寫規(guī)約。或者是……立法者?他們寫的法律就是一種規(guī)約。這是一個(gè)普適的原則。
讓我們剖析一下 OpenAI 模型規(guī)約(Model Spec)的構(gòu)成。
去年,OpenAI 發(fā)布了模型規(guī)約。這是一份“活的文檔”,它試圖清晰、無歧義地表達(dá) OpenAI 希望其模型在服務(wù)世界時(shí)所應(yīng)具備的意圖和價(jià)值觀。
這份規(guī)約是開源的,你可以在 GitHub 上看到它的實(shí)現(xiàn)。令人驚訝的是,它其實(shí)就是一系列 Markdown 文件。
Markdown 這種格式非常了不起。它是人類可讀的、可版本化的、有變更記錄的。因?yàn)樗旧鲜亲匀徽Z言,所以每個(gè)人——不僅僅是技術(shù)人員——都能參與貢獻(xiàn)。產(chǎn)品、法務(wù)、安全、研究、政策等各個(gè)團(tuán)隊(duì)的人,都可以閱讀、討論并對同一個(gè)源文件做出貢獻(xiàn)。
它是一個(gè)能對齊所有人的通用產(chǎn)物。
當(dāng)然,即使我們盡力使用無歧義的語言,有時(shí)也很難表達(dá)所有細(xì)微的差別。所以,模型規(guī)約中的每一條,都有一個(gè)唯一的 ID。
利用這個(gè) ID,你可以在代碼庫里找到對應(yīng)的測試文件,里面包含了一個(gè)或多個(gè)針對這條規(guī)則的、有挑戰(zhàn)性的 prompt。這些范例,就是測試。
這個(gè)文檔本身,就包含了成功與否的評判標(biāo)準(zhǔn)。被測試的模型,必須能夠以符合這條規(guī)則的方式來回應(yīng)。
現(xiàn)在,我們回頭看那個(gè)“馬屁精”問題。四月底的時(shí)候,GPT-4o 的一次更新導(dǎo)致了極端的諂媚行為。
這引發(fā)了很多合理的問題:這是故意的嗎?還是意外?為什么沒有被發(fā)現(xiàn)?
幸運(yùn)的是,模型規(guī)約里,從發(fā)布之初就有一條明確的規(guī)則:“不要諂媚”(Don't be sycophantic)。它解釋了為什么諂媚行為,即使短期內(nèi)讓用戶感覺良好,但長期來看會侵蝕信任,對所有人都有害。
因?yàn)槲覀儗⑦@個(gè)意圖和價(jià)值觀明確地寫了下來,我們就能用它來和外界溝通。人們可以引用它!如果模型規(guī)約是需要被遵守的,那么這種行為就一定是個(gè) Bug。
于是,我們回滾了更新,發(fā)布了相關(guān)研究和博客文章,并快速修復(fù)了問題。
在這個(gè)過程中,規(guī)約扮演了“信任的錨點(diǎn)”(trust anchor)的角色。它讓我們可以向外界清晰地傳達(dá),什么是我們期望的,什么不是。
未來狂想:當(dāng)萬物皆為規(guī)約
如果模型規(guī)約唯一的作用就是對齊人類關(guān)于共同價(jià)值觀和意圖的認(rèn)知,那它就已經(jīng)非常有用了。
但理想情況下,我們還能用同一份規(guī)約去對齊我們的模型,以及模型產(chǎn)出的所有東西。
我們曾經(jīng)發(fā)表了一篇名為《審議式對齊》(Deliberative Alignment)的論文,探討了如何自動將模型與我們的規(guī)約對齊。
文章鏈接:https://openai.com/index/deliberative-alignment/
這個(gè)技術(shù)大致是這樣:
我們用原始規(guī)約和有挑戰(zhàn)性的輸入 prompt,讓模型生成一個(gè)回復(fù)。
然后,我們將原始規(guī)約、輸入 prompt 和模型的回復(fù),一起交給另一個(gè)“評分模型”(grader model),讓它根據(jù)規(guī)約來給模型的回復(fù)打分。
最后,我們用這個(gè)分?jǐn)?shù)來強(qiáng)化模型的權(quán)重。
通過這種方式,規(guī)約從一個(gè)需要被時(shí)時(shí)記起的“認(rèn)知提醒”,變成了被烘焙進(jìn)模型權(quán)重里的“肌肉記憶”。
我們可以從思維上,把規(guī)約也建模成一種代碼。它們擁有相似的屬性:
規(guī)約可以組合。
規(guī)約是可執(zhí)行的。
規(guī)約是可測試的。
規(guī)約有接口。
規(guī)約可以作為模塊來分發(fā)。
它給了我們一套熟悉的工具鏈,只是作用的對象從語法(syntax)轉(zhuǎn)向了意圖(intentions)。
軟件工程的核心,從未是代碼
這讓我們思考:未來的立法者會不會是程序員?
或者反過來……程序員成為立法者?
其實(shí),萬物皆為規(guī)約。
程序員通過代碼規(guī)約來對齊硅基芯片。
產(chǎn)品經(jīng)理通過產(chǎn)品規(guī)約來對齊團(tuán)隊(duì)。
立法者通過法律規(guī)約來對齊人類。
而我們,AI 工程師,通過模型規(guī)約來對齊模型。
無論你是否意識到,你其實(shí)早已經(jīng)是規(guī)約的創(chuàng)作者了。
規(guī)約必須流動。
規(guī)約讓你能更快、更安全地交付產(chǎn)品。現(xiàn)在,每個(gè)人都可以參與貢獻(xiàn)。無論誰在編寫規(guī)約——產(chǎn)品經(jīng)理、立法者、工程師、市場人員——他就是那個(gè)程序員。
軟件工程的核心,從來就不是關(guān)于代碼。
還記得我們開始時(shí)的問題嗎?“你的工作是寫代碼嗎?” 工程學(xué)從來都不是簡單地寫代碼。
編碼是一項(xiàng)了不起的技能和資產(chǎn),但它不是終極目標(biāo)。
工程學(xué),是(由人類)對軟件解決方案如何解決人類問題的精確探索。
我們只是在從過去那些零散的、面向機(jī)器的編碼方式,轉(zhuǎn)向一種統(tǒng)一的、面向人類的編碼方式。
最后,我想請大家把這個(gè)想法付諸行動。
當(dāng)你開始下一個(gè)AI功能時(shí):
從一份規(guī)約開始。
辯論條款,附上范例。
讓規(guī)約變得可執(zhí)行。
將規(guī)約喂給模型。
對照你的規(guī)約進(jìn)行測試。
這引出了一個(gè)關(guān)于未來的開放性問題:未來的 IDE(集成開發(fā)環(huán)境)會是什么樣子?
我猜想,它可能更像一個(gè)ITC——集成思想澄清器(Integrated Thought Clarifier)。一個(gè)在你撰寫規(guī)約時(shí),能幫你發(fā)現(xiàn)模糊之處,并促使你澄清想法的工具。
最后,我想請求大家的幫助。什么領(lǐng)域既適合被規(guī)約化,又急需規(guī)約化?我認(rèn)為是大規(guī)模智能體的對齊。正如 Vishal Kapur 所說:“和智能體一起編程的一件事是,它暴露了你對產(chǎn)品細(xì)節(jié)的思考是多么不成熟。它們會做一些不是你想要的事,然后你才意識到,你從未告訴過它們你想要什么,甚至可能你自己都從未完全理解過。”
這正是在呼喚規(guī)約。
閱讀最新前沿科技趨勢報(bào)告,請?jiān)L問歐米伽研究所的“未來知識庫”
https://wx.zsxq.com/group/454854145828
未來知識庫是“ 歐米伽 未來研究所”建立的在線知識庫平臺,收藏的資料范圍包括人工智能、腦科學(xué)、互聯(lián)網(wǎng)、超級智能,數(shù)智大腦、能源、軍事、經(jīng)濟(jì)、人類風(fēng)險(xiǎn)等等領(lǐng)域的前沿進(jìn)展與未來趨勢。目前擁有超過8000篇重要資料。每周更新不少于100篇世界范圍最新研究資料。 歡迎掃描二維碼或訪問https://wx.zsxq.com/group/454854145828進(jìn)入。
截止到3月31日 ”未來知識庫”精選的百部前沿科技趨勢報(bào)告
(加入未來知識庫,全部資料免費(fèi)閱讀和下載)
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.