「OpenClaw之父」:當「實驗項目」變成「全球爆款」,軟件開發本質已變——代碼已死、意圖永生

華爾街見聞
02/25

2月25日,OpenAI在其官方視頻欄目中發布了對知名開源項目OpenClaw創建者Peter Steinberger的深度訪談,由OpenAI高管Romain Huet主持。

訪談裏,Steinberger覆盤了OpenClaw的爆紅、自己如何用Codex等「代理式工具」寫軟件,以及開源與安全的真實矛盾。

幾周前還需要主持人「介紹一下」,如今Steinberger在舊金山被上千名用戶線下「圍觀」。他形容自己「各方面都有點超載」,但也直言這正是他想看到的結果:「我一開始就是想激勵別人——現在這就是最有趣的形式。」

湧現的智能:「它自己找到了解決問題的路徑」

很多人以為OpenClaw是一夜成名,但其背後是長達十個月的瘋狂試錯。真正讓Peter確認這款產品具備極高市場契合度(PMF)的,是AI智能體展現出的「湧現能力」。

Peter把未成熟的AI智能體接入了日常通信軟件。某天,有人發來一條語音信息。按照原本的程序邏輯,AI不具備處理這種未知音頻文件的能力。然而,令人毛骨悚然又無比興奮的一幕發生了:AI開始顯示「正在輸入」。

「我當時就在想,我根本沒寫過這個功能,這怎麼可能奏效?」Peter回憶道。

當他詢問AI是如何做到的時,AI的回答揭示了當前大模型恐怖的自主規劃能力:「你發給我一個沒有後綴的文件。我查看了文件頭,發現它是Opus音頻格式,所以我在電腦上調用了FFmpeg把它轉換了。我想轉錄它,但你沒安裝Whisper,於是我四處尋找,用curl命令把文件發給了OpenAI的接口,拿回了文本。」

這個細節極具穿透力。AI已經跨越了「你讓我寫一段代碼」的階段,進化到了「你給我一個問題,我自主調用系統工具鏈去尋找答案」。

生產力大爆炸:一人,一年,9萬次提交

在過去一年裏,Peter一個人在GitHub上完成了超過9萬次代碼提交,橫跨120多個項目。這種效率在人類軟件工程史上是不可想象的。

「一年前,這也是絕對不可能的。沒有任何模型能讓一個人建構出這種規模的東西。」Peter直言。

他的工作流極其簡單粗暴:把一個高達1.5MB、包含所有代碼文件的Markdown文檔拖進AI模型(如Gemini、Codex),直接寫下「給我寫個技術規格說明書」,然後輸入「構建」。在這個過程中,AI甚至會自己編寫測試工具(如Playwright)去走通登入流程並沿途檢查錯誤。

「當我開始接觸這項新技術時,每次都讓我多巴胺飆升。我突然意識到,現在我簡直可以構建任何東西。」Peter表示。

這直接觸及了當前軟件行業的核心痛點:研發成本。以往需要一個架構師、前端、後端、測試組成的完整團隊才能跑通的MVP(最小可行性產品),現在一個人在幾個小時內就能完成。

「大多數代碼都很無聊」:代碼在貶值,意圖在升值

當代碼可以被輕易生成,「寫代碼」本身就失去了壁壘。

目前,OpenClaw面臨着超2000個開源代碼合併請求(PR)。但Peter審視這些代碼的方式已經完全變了。他不再逐行閱讀代碼,而是讓AI去審查。

「大部分代碼都很無聊。它只是將一種數據形狀轉換為另一種數據形狀。我實際上並不關心代碼,我關心的是這個人到底想解決什麼問題。」

他將現在的開源貢獻戲稱為「提示詞請求(Prompt Request)」。他拿到別人的代碼後,第一句話是問AI:「你理解這個PR的意圖嗎?」隨後,他會通過語音與AI討論這是不是最優解、是否存在架構問題,討論成熟後,再由AI一鍵生成並合併代碼。

這種範式的轉變說明,軟件開發的本質已經從「熟練掌握編程語言」變成了「清晰定義問題和管理系統架構」。Peter直言,那些還在用老舊方式手工敲代碼的開發者(他稱之為VIP coding)會被淘汰。

「我媽能裝」 vs 「黑客樂園」:安全爭議把開源推到台前

對於OpenClaw的未來,Steinberger的目標是兩頭都要:「我想在‘我媽也能裝’和‘好玩、可黑’之間找到平衡——這很難。」

他描述OpenClaw長期的默認安裝方式其實很「反常規開源」:git clone後源碼就在本地,代理「坐在源碼裏,也知道源碼」,不滿意就「直接提示它改自己」,近似「自修改軟件」。

但這也把安全矛盾放大。他直言「提示注入還沒解決」,同時吐槽外界忽略使用邊界:項目裏的Web服務最初只打算給「可信內網」調試,但有人硬要暴露到公網,然後安全圈再反過來說「沒有公網該有的登入限制」。

「我在安全文檔裏一直喊‘別這麼幹’,但人們還是會這麼用。」

他表示自己已引入安全專家,現實目標是「支持這些用法,同時讓大家別一腳踩穿地板」。

給還沒上車的人一句話:先玩起來

談到歐洲開發者對代理工具接受度偏慢,Steinberger的建議非常直白:「用玩心去做。去做一個你一直想做的東西。」

他引用一句流行判斷並站隊:「我覺得英偉達的CEO說過,短期內,你不會被AI取代,你會被使用AI的人取代。」

最後他拋出時間判斷:「我認為在接下來的一年裏,這一切將會徹底爆發。」

「人們沒有意識到,GPT-5.2在‘這東西能直接跑通’的層面上,又是一次量子級躍遷。我至今仍對它能運作得如此之好感到驚訝。」

訪談全文翻譯如下:

Romain Huet: Peter,歡迎來到 OpenAI。我們在網上已經認識很多年了,但我很高興終於有機會和你進行面對面的深入交流。

Steinberger: 感謝你們的邀請,我也是。順便說一句,你們的辦公室很漂亮。

Romain Huet: 謝謝。你過去這幾周可真是瘋狂。一個月前,我們最初有了做一期視頻的想法。如果我們當時就做了,我可能還得專門介紹一下你。但現在,我想你甚至都不需要介紹了。一個開源項目能登上《華爾街日報》可不常見。恭喜你取得的這些成功!你現在感覺如何?

Steinberger: 說實話,現在各方面都有些超負荷。但是,當初我開始嘗試接觸 AI 的時候,我就想啓發大家。我覺得現在正是最有趣的狀態,所以我感到很自豪。

Romain Huet: 這太棒了。你過去一周都在舊金山參加了一些活動,比如 Codex 黑客松,而且你還參加了一個專門針對 OpenClaw(注:指代受訪者的開源 AI 項目)的聚會活動。

Steinberger: 那個活動其實是社區自發組織的。當時大家說我們需要辦個線下聚會,於是我就建了一個關於聚會的 Discord 頻道,我說「好啊」。結果我到了現場,發現竟然有上千人!我被大家的創造力、現場的色彩氛圍,以及那麼多充滿熱情的人徹底震撼了。

Romain Huet: 那一刻你肯定意識到自己創造了一些神奇的東西。幾周前這個項目甚至還不存在,而現在已經有成千上萬的人在擁抱它、使用它,並聚集在舊金山見你,這真是令人難以置信。

Steinberger: 哪怕是下周在維也納的活動,我們也已經有 300 人報名了。要知道,那裏的科技圈氛圍(Tech scene)可遠不如舊金山濃厚。所以這已經是一個全球性的現象了。

Romain Huet: 這確實很了不起,它觸達了不同的洲和不同的文化。那麼,你在這裏與社區的交流進行得怎麼樣?你花時間與社區互動,還有那些被你引入項目的一些維護者,這對你來說體驗如何?

Steinberger: 這種體驗非常特別。很多人都很喜歡它。許多人對這個項目抱有一種期待,認為它是一個企業級的最終產品。但對我來說,很長一段時間裏,它只是我的一個小遊樂場。這整整一年,我都在為 AI 帶來的可能性感到驚歎。現在,如果你是一個開發者,你會覺得這真是一個不可思議的時代。

Romain Huet: 在這個時間點,你認為關於「構建」——真正去構建產品、成為一個開發者——最有趣的事情是什麼?這是一個非常有趣的時期,整個工具鏈都在發生變化,開發者的定義也在改變,任何人都可以構建任何東西。

Steinberger: 當我剛開始玩這些新技術時,每次都能獲得多巴胺的刺激。當初我用代碼輔助工具時,它只有大概 30% 到 40% 的幾率能把事情做對。但對我來說,那依然是極其震撼的。因為我意識到,現在我可以構建任何東西了。以前寫軟件通常會受到很多時間限制,因為軟件開發很難。雖然現在軟件開發依然很難,但你的速度已經快得多了。

Romain Huet: 我完全同意。如果我們將時間稍微倒回幾年,我記得大概是在 2011 年或 2012 年,你開發了 PSPDFKit,那是我們第一次了解你的工作。從外界來看這很有趣,因為感覺你實現了每個開發者的夢想:你遇到了一個問題,為它創造了一個出色的解決方案,圍繞它建立了一家公司,擴大了規模,最後成功把它賣掉。但我相信這段旅程絕非易事。

Steinberger: 的確如此。我並不是某天醒來就想:「我要去寫一個 PDF 框架」,那在我興趣清單上絕對是負 100 分的位置。它就這麼自然而然地發生了。這就像一種奇妙的蝴蝶效應:從參加諾基亞開發者大會,到身邊的朋友有這個需求,再到申請美國簽證等得太久,這一切機緣巧合最終促使我創立了一家公司。

Romain Huet: 我覺得有趣的是,在建立那家公司之後,你似乎休息了一段時間。是什麼又把你帶回了開發領域?

Steinberger: 是的,到最後我真的精疲力盡了。好幾年裏我都在高負荷運轉。經營公司很難,做創始人也很難。而且這是我第一次創業,不太懂得如何緩解這些壓力,所以我燃燒得太猛烈了,需要放鬆一下。

後來我仍然在關注科技新聞。我看到了 ChatGPT 早期的一些項目,比如 GPT-Engineer 之類的。我覺得挺酷,但並沒有真正讓我感到興奮。你必須得親自體驗新技術,光看文章是無法真正體會到它的力量的。所以當時那項技術並沒有立刻觸動我。

直到我準備好了,當我感覺到「我想再做點東西了」,而且我不想再用蘋果的技術棧了——因為我已經做了太久,而世界已經向前發展了。當時我隱約有種感覺,當你是一個領域的絕對專家,要轉向另一個領域時,不僅是「困難」,甚至可以說是「痛苦」。因為你有關於如何構建系統的大量宏觀知識,但如果要在沒有 AI 輔助工程的情況下真正去實現,你還需要重新學習很多基礎知識來遷移你的經驗。

後來我就想,不如來看看現在這些 AI 技術到底怎麼樣。真正讓我感到震撼的時刻是,我拿出了一個做到一半的項目(之前在完成它之前我就已經倦怠了)去測試。

Romain Huet: 對我們開發者來說,這種情況很常見。我們喜歡有新想法並啓動新項目,但把它們推向終點纔是最難的部分。

Steinberger: 我經常看到這種情況。這真的很難,甚至有時候會以失敗告終。但對於這個項目,我想繼續做下去,而且我想重寫它。所以我把所有的文件整合在一起,做成了一個巨大的 Markdown 文件,大概有 1.5 MB 那麼大。我把它拖進 Gemini 1.5 Pro Studio,讓它給我寫一份前端架構層面的需求說明書(Spec)。然後我把它拖進 AI 編程工具裏面,寫上「構建(Build)」。

接着我就在主螢幕上幹別的事,它就在副螢幕上運行了幾個小時。當時的工具比現在粗糙得多。到了某個時刻,那個強大得有些「瘋狂」的模型(比如 Claude 3.5 Sonnet 等)告訴我:「我已經達到 100% 的生產就緒狀態了。」我試了一下,結果程序崩潰了。然後我接入了 Playwright(這是少數幾個我會實際使用的模型上下文協議 MCP 之一),讓它去構建登入功能,並沿途檢查工作狀態。

一個小時後,它竟然真的跑通了,並且給我展示了一些界面。雖然那是質量極差的「代碼垃圾(slop)」,但對我來說,那就是真正頓悟的時刻。從流程上來說,它展現出的可能性讓我起雞皮疙瘩。那一刻起我甚至激動得睡不着覺,我的大腦爆炸般湧現出我一直想做卻無法實現的各種想法。從那以後,我就徹底掉進這個「兔子洞」裏了。

Romain Huet: 很多人把 OpenClaw 視為你的一夜成名之作。但我喜歡並且覺得你的故事中最迷人的地方在於,它是你過去 9 到 10 個月裏一直在做的許多項目的結晶。看看你的 GitHub 主頁,你構建了 40 多個項目,而且其中一半都在這個項目裏用到了。你可以把它們全部整合到項目中。你能告訴我們更多關於這段旅程的故事嗎?這些想法和項目是如何融入進來的?

Steinberger: 我多希望我能說,我一開始就有一個統一的宏大計劃,但其實大部分時間我只是在探索。我想要一些東西,而這些東西還不存在,我就自己把它們構建出來——或者說,我用提示詞(Prompt)讓它們變為了現實。

這完全是一步步來的,因為我只是想讓我的 AI 智能體(Agent)幫我做點事情,當時還沒有統一的願景。有趣的是,事情最後又回到了原點:我最初想做一個能查看我 WhatsApp 消息的工具。我甚至為此買了個域名,做了一個原型。但後來我想,那些大實驗室肯定會做這個的,我不如等一等,把精力放在其他事情上。我進行了大量的實驗,我的初衷其實就是為了好玩,同時啓發他人。

到了 11 月,我做了幾個符合我預期版本的原型,但都不太好。當時我就納悶:為什麼還沒有哪個實驗室做出這種東西?他們到底在幹嘛?於是我構建了第一版,也就是後來成為 OpenClaw 的項目。這已經是我們換的第 5 個名字了。

起初我還沒有完全搞懂它的價值,只是覺得這很酷。因為你只需花一個小時就能做出第一個原型,只要把想法用語言表達出來。真正讓我徹底領悟的,是我去馬拉喀什度周末的旅行。我發現自己使用它的頻率非常高,因為它太方便了。那裏沒有很好的網絡,但 WhatsApp 可以在任何地方使用。用它發圖片、翻譯東西、幫我找餐廳,甚至通過電腦查閱資料,都極其方便。我把它展示給朋友看,讓它幫我發短信,結果他們也想要這個工具。我就說:「你們不該用它,你們還不了解它的風險。」

Romain Huet: 這其實就是「產品契合市場(PMF)」的標誌。哪怕你最初沒有為朋友設計這個東西,它只是你為技術圈同行保留的工具,但你的朋友已經迫不及待想要了。

Steinberger: 後來真正讓我大開眼界的是,我頻繁地使用它,然後有人給我發了一條語音消息。我當時的反應是:「等等,這個工具應該處理不了語音纔對啊。」

Romain Huet: 跟我多講講這個故事吧,那天我們聊到這個的時候我覺得太不可思議了。

Steinberger: 這恰恰證明了這些模型在解決問題方面的能力有多強。我們為 AI 輔助工程構建了這些系統,但在更抽象的層面上,如果你想成為一名真正優秀的程序員,你必須是一個非常出色的問題解決者,這種能力適用於任何領域。

當時我發送了那條語音消息,然後螢幕上竟然出現了「正在輸入」的提示。我當時想:「我倒要看看現在會發生什麼,我可沒寫過處理語音的功能,這不可能行得通的。」然後模型竟然回覆了我!我非常震驚,問模型:「你是怎麼做到的?為什麼這個能行得通?」

模型回答說:「你給我發了一條消息,但那只是一個沒有後綴名的文件。所以我查看了文件頭,發現它是 Opus 格式的音頻。於是我調用了你電腦上的 FFmpeg 把它轉換成了常見格式。接着我想轉錄它,但你電腦上沒有安裝 Whisper。我四處找了找,發現了一個 OpenAI 的接口,我就用 curl 命令把文件發給 OpenAI,拿到了返回的文本,然後我就回復你了。」

Romain Huet: 這太難以置信了!這就是賦予智能體工具和完整計算機訪問權限的威力。哪怕你從未對它們進行過相關編程,它們現在也可以自己想出解決方案。

Steinberger: 很有趣的是,當我跟別人講這個故事時,他們的反應是:「我的天啊,它居然擅自使用了你的密鑰!這太瘋狂了!」我就會說:「不,我把密鑰放在環境變量裏就是為了讓它用的!如果這是一個需要訪問 OpenAI 密鑰的腳本,我的機器人既然運行在同一個環境中,它理所應當去訪問。這就是我想要的效果。」

這就是我的頓悟時刻。現在每次我把它展示給朋友時,我都會把他們拉進一個小群聊裏。坦白說,這個東西最初是為一對一交流設計的。所以如果把它放在群聊裏,你得選擇你真正信任的人。

Romain Huet: 真正信任的人?

Steinberger: 對,因為它當初的設計並沒有考慮到「直接放到公共環境裏還能永遠做正確的事」。它是你的私人助手。

Romain Huet: 我剛開始設定它的時候也非常好奇。我心想,這設定挺怪的,但它會把我帶向哪裏呢?後來我也經歷了幾次「頓悟時刻」:你給它的訪問權限越高,賦予它的工具和技能越多,它的表現就越讓你驚歎。你賦予它一項虛擬技能,讓它去構建一個網站或應用,甚至為你想要舉辦的活動寫個程序。它不僅能把應用建好,還能使用你的 OpenAI API 密鑰往裏面加入一些 AI 功能,並將其部署到 Vercel 上。它甚至直接給你生成了一個可以分享給朋友的鏈接。與僅僅「增強寫代碼的能力」相比,這完全是思維方式的降維打擊。

Steinberger: 整個 11 月和 12 月,我完全沉迷於此。雖然我還在做些別的項目,但大部分時間都花在這上面了。但在 Twitter 上,大家似乎並不理解它的價值,反響平平。而每次我向朋友展示時,他們都想要,但我總是說「它還沒準備好」。

後來我就想:「我要怎麼做才能向大家展示這東西有多酷?」於是我創建了一個 Discord 頻道,直接把我的機器人放了進去。當時沒有任何安全防護,因為在早期階段,我甚至還沒內置沙盒功能。我完全是在公開環境下開發。我基本上是在用它構建它自己。我把代碼扣掉,然後問模型:「你看到這段工具代碼了嗎?」它說:「沒有,我什麼都沒看到。」我說:「去查一下你自己的源代碼。」它照做了很多事情,人們看到這一幕後,終於明白了它的威力。

Romain Huet: 當你把它像這樣放到 Discord 裏時,你給了它什麼樣的訪問權限?你有沒有把比如你所有的推文都給它?它對你有什麼樣的背景知識?

Steinberger: 沒有把我所有的推文給它,那太多了,但給了一些我的記憶資料。我很快就開始密切監控它,因為提示詞注入(Prompt Injection)仍然是一個未解決的問題。不過最新一代的模型確實非常聰明。我有一個防禦性的系統指令文件(System.md),它定義了我的價值觀、我希望模型如何工作、如何操作、如何思考、什麼對我是重要的,以及那些不能泄露的祕密。

大家對這個祕密非常好奇,一些路人跑進來試圖對它進行提示詞注入,粘貼了大段大段的代碼。結果模型回覆說:「我纔不看這些東西。」基本上就是在嘲笑他們。但我當時還是不太放心。第一天晚上,它引起了極大的關注,然後我就把它關了去睡覺。睡了大概 10 個小時,醒來一看,Discord 裏有 800 多條消息,我的智能體居然回覆了每一條!我當時嚇壞了,趕緊再次把它關掉。

我仔細閱讀了每一條聊天記錄。到後來我就鬆了一口氣,因為它實際上並沒有做任何惡意的事情。它沒有讓人把我的系統指令套出來。我並不是說提示詞注入不可能發生,但它確實不像人們想象的那麼容易。

Romain Huet: 從宏觀來看,它的表現其實完全符合你的期望。

Steinberger: 是的。我當時犯的最大錯誤是:我雖然關掉了它,但我忘了我還設定了一個守護進程(Launch Daemon)。守護進程的主要作用就是如果程序崩潰或被殺死,它會自動重啓。因為你想讓它成為一個可靠的服務,蘋果等系統就是這麼設計的。我當時沒想起來這茬,我把它殺掉了,結果我去睡覺後不到 5 秒鐘它就自動重啓了。現在我吸取教訓了。

現在我也加入了沙盒機制。有人非常自豪地把智能體放在他的 Mac Studio 裏,稱之為「城堡」。然後我把它放進了一個極其精簡的 Alpine Docker 容器裏。你知道,這些模型真的極具創造力。第一次在那個幾乎空無一物的容器裏時,我讓模型去「查看一下這個網站」。它進去後發現:「這系統裏連 curl 命令都沒有,什麼都沒有。」我就告訴它:「發揮你的創造力。」

結果,它利用自帶的工具、通過 TCP 套接字和 C 編譯器,自己手搓了一個簡陋版的定製 curl!這樣它就能成功訪問網站了,而且真的奏效了,簡直太瘋狂了!所以說,這些智能體擁有不可思議的資源整合能力。

Romain Huet: 你也遇到了一些挑戰,比如人們會審視潛在的安全問題,期望你從第一天起就提供一個絕對穩健的系統,儘管你只是發布了一個開源項目。

Steinberger: 我總是覺得很好笑。經常有人問我:「你能幫我引薦一下你們的 CEO、人力資源或者團隊的其他成員嗎?」我就回答:「團隊就我一個人,我只是在我的‘山洞’裏敲代碼。」但這恰恰體現了他們產生的認知失調。因為這個項目看起來根本不像是任何單一人類能完成的。

當然,我現在有了維護者,也會收到很多代碼合併請求(PR),但這主要還是我一個人構建的。哪怕是在一年前,這也是不可能實現的。一年前甚至不存在單人能構建出這種規模項目的模型。這超出了人們對這個領域的原有認知。

Romain Huet: 確實如此。關於你的生產力,我相信很多開發者一定很好奇:「Peter 怎麼能如此高效?」今天早上我又看了一下你的 GitHub,我發現在過去這一年裏,你在 120 多個項目中貢獻了近 9 萬次。但有趣的是,在你的 GitHub 活躍度圖表上,上半年的格子還很白,然後變成淺綠色;到了秋天,大概在 10 月、11 月左右,變成了非常深的綠色。那是發生了什麼?

Steinberger: 我記得我跟你提過使用 Codex 等輔助工具的情況。隨着每一代模型的更新,它們變得越來越強。但不僅僅是智能體變得更強了,相關的工具也變得更好了。同時,我對如何使用這些工具、如何優化工作流的理解也加深了。

你知道,那些堅持用傳統方式寫代碼的人,正在形成一種逐漸消亡的派系。他們把 AI 輔助編程貶低為「感知編程(Vibecoding)」,認為這是一個貶義詞。他們嘗試了 AI,但沒有意識到這是一項技能。就像你剛拿起吉他,不可能第一天就彈得很好。所以他們體驗不佳,然後就說:「哦不,這東西根本沒用。」

相反,如果你以一種遊戲的心態去對待它,你就需要去學習。我現在對哪種提示詞有效、大概需要多長時間,已經有了直覺。如果花費的時間超出了預期,我會反思:也許是我犯了錯?也許是架構有問題?是我的思路不對,還是其他什麼原因?就像親自寫代碼一樣,寫多了你就會有一種直覺:「這個功能自然地融入了我的架構」,或者「我在和系統對抗」,這都需要時間去摸索。

Romain Huet: 如果人們想變得像你一樣高效,你現在的常用設定是怎樣的?因為你有一句名言:「大多數人把他們的設定搞得太複雜了。」

Steinberger: 我自己以前也搞得太複雜過,我稱之為「智能體陷阱(Agentic trap)」。從你首次接觸這項新技術,到你真正變得非常高效,中間這段時間,很多人會陷入這種陷阱,試圖極度優化他們的環境配置。這實際上並不能讓你變得更高產,只是讓你「感覺」自己更高產。所以我把整個流程簡化為一個整體。

這也是一個非常有爭議的觀點:我現在就是直接和模型對話。你只需要像聊天一樣去對待它,模型就像你的夥伴。這和傳統的結對編程不同,它就是一場對話,我基本只告訴它我想要什麼。

我總是會問模型一個問題:「你有什麼疑問嗎?」不知為何,默認情況下模型總是被訓練成「直接解決你的問題」,於是它就會自行做出假設。但這些默認的假設並不總是最佳的。你要記住,模型是用大量代碼訓練出來的,其中包含很多老舊代碼。所以,「你有什麼疑問嗎?」是一個非常重要的問題。人們沒有意識到,模型通常是從「白板」狀態開始的。它們不像我們那樣去學習,每次新會話對它來說都是:「我對這個代碼庫一無所知,我只能去搜索並找到你讓我改的小地方,然後嘗試修復它。」它們通常看不到系統的全貌。

如果你想處理得當,你的腦海中必須要有整個系統的全貌。你需要給模型提供一些幫助,引導它:「看看這裏,看看那裏。」在這方面,最新的模型在縱觀全局上做得更好了。

最開始我使用非常基礎的方法,我甚至都不用代碼工作區(Worktrees),直接處理純文本。保持簡單能讓我更專注於實際要解決的問題。我甚至不去處理分支之類的事情,只專注於不同的具體問題。理想情況下,如果項目變得越來越大,你就可以同時在不同層面上工作而不至於讓它們相互衝突。

Romain Huet: 你使用了大量的代碼輔助工具來構建 OpenClaw。這些工具如何改變了你的工作方式?

Steinberger: 我嘗試了很多工具。我之所以信任它能構建出我想要的東西,是因為它是目前所有工具中可靠性最高的,而且「一次性跑通」的比例非常大。我認為人們還沒有真正意識到,最新一代的模型升級在「開箱即用」方面又實現了一次量子躍遷。我至今仍然對它如此優異的表現感到驚歎。

Romain Huet: 這太棒了。我們現在可以直接構建東西了,這真的很不可思議。

Steinberger: 是的,大家真的需要親自去試一試。

Romain Huet: 你還有一句名言:你現在發布的很多代碼,你自己甚至都不看。這種理念帶來了怎樣的改變?

Steinberger: 其實大多數代碼都是很無聊的。大部分代碼只是將一種數據形態轉換為另一種數據形態,最終展示給用戶或者發往某個地方。所以對於模型寫的大多數代碼,我對它生成的邏輯有很好的理解。只要我看一眼大致流程,確認我腦海中的預想與它生成的代碼大體一致就足夠了。

我以前帶過團隊,手下有很多軟件工程師。帶團隊也意味着你需要接受一點:他們寫出的代碼不會和你想要的一模一樣。最終,你優化代碼庫是為了讓「智能體(Agent)」能做最好的工作,這與讓「人類」做最好的工作並不總是一回事。這也意味着我得接受那些代碼可能不是我親手寫的那個樣子。雖然我可以強迫模型按照我的風格寫,但在很多時候,代碼結構是怎樣的其實無所謂。如果有性能問題,你再去重點優化它就好了。

Romain Huet: 你剛纔關於代碼價值的觀點,也極大地改變了你對待開源的方式。我看了一下項目,現在上面大概有 2000 個未處理的合併請求(PR)。在 AI 出現之前,你必須得親自閱讀所有這些 PR,因為代碼本身是有價值的。但現在,你有時把它稱作「Prompt Request(提示詞請求)」而不是「Pull Request(拉取請求)」,因為 PR 背後的想法或意圖比代碼本身更重要。

Steinberger: 很多時候,審查一個 PR 花費的時間甚至比我自己去寫還要長。因為我寧願相信模型沒有惡意,也不願輕信一個我從未聽說過、也從未交流過的外部貢獻者。所以我必須更仔細地審查。

當我開始審查一個 PR 時,我對模型問的第一個問題是:「你理解這個 PR 的意圖嗎?」因為我真的不在乎代碼,我在乎的是這個人到底試圖解決什麼問題。這更像是一個附帶了巨大解決方案代碼庫的「問題工單」。

首先,很多人還不懂得如何駕馭智能體。其次,他們提交的往往是一個非常局部的解決方案,因為他們腦海中沒有整個系統的概念。最難的部分在於,這個小的新功能如何融入我更大的系統中?或者這個小修復——雖然它很小,但它是正確的修復方式嗎?它會不會是一個系統性或架構層面的問題?

如果你把模型當作對話對象,它會表現得非常好。當我直接說「好,現在去構建這個」時,它就會開始幹活。所以我會問模型:「初衷是什麼?這是最佳方案嗎?」有時模型會說是,但大多數時候它會說不是。然後我就會和它探討什麼是最好的修復方法。比如這是一個架構問題嗎?如果這是一個關於消息處理的問題,它隻影響 WhatsApp 嗎?還是也會影響 Signal?我們要不要用更通用的方式來解決?這是一個新功能嗎?我們真的需要這個新功能嗎?

有時候,這些討論會持續 10 到 15 分鐘。我經常用語音輸入,因為這簡直就像是在和一個非常聰明的同事交談。

Romain Huet: 用語音傳遞信息確實比打字更容易。

Steinberger:是的。當我滿意時,我有一個像 1 slash command 那樣的命令,比如 lnpr,它解釋了整個過程,用來實際創建分支,完成所有更改,讓PR被合併。我想創建一個社區,所以我仍然儘量給創建它的人署名,儘管整個過程比我自己寫完所有東西要長。但我很感激人們想要成為其中的一部分。

Romain Huet:你對Open Claw未來的願景是什麼,考慮到所有這些圍繞項目的貢獻者?你是否把自己看作是"個人AI智能體應該是什麼樣子"這個想法的先驅,以便有一天十億人都能使用類似的東西?

Steinberger:我想找到一個平衡點:一方面是我媽媽可以安裝的東西,另一方面也是有趣且可 hack 的東西。這很困難。你知道,大多數開源項目,你下載包。但在很長一段時間裏,我的默認安裝是 git clone、build、run。然後你實際上在磁盤上有了源代碼。智能體就位於源代碼中,並且知道源代碼。如果你不喜歡任何東西,你直接提示智能體,它就會改變自己,就像真正的自我修改軟件。所以很多從未給我發過PR的人,這也是它更像是一個"提示請求"的原因,因為他們只是理解了如何構建持久的軟件。

Steinberger:與此同時,整個世界,或者說整個安全行業都把目光投向了它,這很有趣,也有點令人沮喪,因為它錯過了一些細微差別,對吧?例如,我有的那個web服務器。那是為你設計的。最初,我是為了調試而構建它,然後我把它弄得漂亮了,但它只應該在你的網絡內訪問,在你信任的網絡內訪問。但因為它也應該是黑客的天堂,有一個選項可以讓你改變這一點,對吧?因為有些人可能有奇怪的設定,也許使用ngrok,也許使用反向代理。所以我不希望把它限制死是有原因的。

Steinberger:但現在,有人把它放在開放的互聯網上,儘管我在安全文檔中大聲疾呼"請不要這樣做,這不是它的設計用途"。然後安全人員指出:"哦,是的,它沒有登入限制。"它沒有所有這些當它在公共互聯網上時需要的功能。我說:"是的,我不是為了那個意圖構建它的。"但因為它是可配置的,它完全算作一個CVS 10。所以,我為此掙扎了一小會兒。但現在我實際上請了一位安全專家。這是主要焦點。我意識到我無法阻止人們以非預期的方式使用它。所以我現在的重點是支持所有這些用例,幫助人們不要搬起石頭砸自己的腳。

Romain Huet:沒錯。這就是開源的美妙之處。人們可以接受它,並想出你甚至沒想到的主意。

Steinberger:是的,這就是美妙和瘋狂之處。

Romain Huet:也許稍微跳出Open Claw本身,這周我和很多開發者聊過。我們知道你會來Codex黑客松,他們告訴我:"彼得怎麼有這麼多好主意?" "彼得怎麼這麼有創造力?"我不知道你對此有沒有答案,或者這更像是你追隨自己的好奇心?

Steinberger:更像是意識到現在事情變得容易了。所以即使我找到一個開源項目可能70%解決我的問題,我也會自己構建。這在一年前甚至絕對不可能。而現在,我只是提示一下,它就在副螢幕上運行,並且正確工作了。

Romain Huet :我們都來自歐洲。當我去舊金山以外的地方,回到歐洲時,我相信你也有同感。很多開發者和工程師還沒有接受Codex和智能體工具。你對剛開始接觸的人有什麼建議?他們應該如何重新思考他們的工作方式和工作流程?

Steinberger:我的第一個建議總是:以 playful 的方式接近它。構建一些你一直想構建的東西。如果你至少有一點創造者的心態,你的腦海深處一定有一些你想構建的東西。就是去玩。你只需要以 playful 的方式對待這件事。因為我覺得英偉達的CEO說過,短期內,你不會被AI取代,你會被使用AI的人取代。

Romain Huet:哪個比你用得好的人。是的。

Steinberger:但如果你的身份認同是,我想創造東西。我想解決問題。如果你是高能動性的,如果你很聰明,你會比以往任何時候都更受需求。

Romain Huet:對。對於擁抱這些工具、塑造好奇心、真正能把任何想法變成現實的創造者來說,這是一個多麼棒的時代。就像你用所有這些偉大的項目和Open Claw所做的那樣。

Steinberger:我想一年後,這將會大爆發。

Romain Huet:是的,2026年將會是有趣的一年。我認為這是一個結束的好方式。非常感謝你的時間,彼得。和你在一起很愉快。我們OpenAI的所有人,我喜歡你的工作。我們喜歡支持像你這樣的創造者。老實說,你對更廣泛的開發者社區來說是真正的靈感來源。再次感謝,我們迫不及待地想看看你下一步會做什麼。

免責聲明:投資有風險,本文並非投資建議,以上內容不應被視為任何金融產品的購買或出售要約、建議或邀請,作者或其他用戶的任何相關討論、評論或帖子也不應被視為此類內容。本文僅供一般參考,不考慮您的個人投資目標、財務狀況或需求。TTM對信息的準確性和完整性不承擔任何責任或保證,投資者應自行研究並在投資前尋求專業建議。

熱議股票

  1. 1
     
     
     
     
  2. 2
     
     
     
     
  3. 3
     
     
     
     
  4. 4
     
     
     
     
  5. 5
     
     
     
     
  6. 6
     
     
     
     
  7. 7
     
     
     
     
  8. 8
     
     
     
     
  9. 9
     
     
     
     
  10. 10