AI 正在顛覆軟件開發!
原文鏈接:https://www.youtube.com/watch?v=Yf_1w00qIKc
責編 | 夢依丹
出品丨AI 科技大本營(ID:rgznai100)
AI 正在顛覆軟件開發!
近日,Anthropic 發布了其技術專家 Boris Cherny(Claude Code 首席工程師)與對外溝通負責人 Alex Albert 的深度對話,揭秘了 AI 編程工具 Claude Code 的誕生、核心能力、使用技巧以及未來展望。從終端的普適性到新模型的強大賦能,再到 Claude.md 文件的妙用,一個由 AI 輔助甚至主導的編程新時代正加速到來。
在 Boris 與 Alex 的對談中,他們圍繞 Claude Code 的產品定位、差異化能力和使用體驗進行了深入交流。
對話精彩摘要:
AI 編程新范式,終端即是主場:Boris 強調,Claude Code 的核心理念是在開發者熟悉的終端環境中提供 AI 輔助編程,無需切換工具或 IDE,實現無縫集成。
源于內部實踐,是久經考驗的生產力工具:Claude Code 并非空中樓閣,而是 Anthropic 工程師和研究員日常使用的“秘密武器”。它經歷了內部廣泛的“自己先用”(Dogfooding)驗證,Boris 自豪地表示 “Claude Code 就是用 Claude Code 寫出來的”。
編程范式進化:從“打孔卡”到“提示詞”:Boris 生動地將 AI 編程的演進類比為從“打孔卡時代”到“提示詞時代”的跨越。
超 3000 人的「AI 產品及應用交流」社群,不錯過 AI 產品風云!誠邀所有 AI 產品及應用從業者、產品經理、開發者和創業者,掃碼加群:
進群后,您將有機會得到:
· 最新、最值得關注的 AI 產品資訊及大咖洞見
· 獨家視頻及文章解讀 AGI 時代的產品方法論及實戰經驗
· 不定期贈送熱門 AI 產品邀請碼
以下是Boris 與 Alex 對話的中文翻譯:
Alex:今天我們來聊聊 Claude Code。Boris,先給我們介紹下,什么是 Claude Code?它是怎么來的?
Boris:好呀。Claude Code 簡單說,就是在你的終端(命令行窗口)里用 AI 幫你寫代碼的一種方式。你不需要換新工具,不需要用新 IDE(集成開發環境),也不需要訪問什么特定的網站。它就是這種 AI 輔助編程的模式,在你平時工作的地方就能用。
這源于我們 Anthropic 工程師和研究員們平時用工具干活的方式。因為大家用的技術棧五花八門,特別雜,沒有一個統一的標準。有人用 Zed 這個 IDE,有人用 VS Code,還有些人死守著 Vim,覺得“誰也別想從我這兒搶走它!” 我們想做個對所有人都適用的工具,所以最后選擇了終端。
Alex:我明白了。所以終端幾乎是所有界面里最通用的了,因為它靈活,而且已經融入了大家的工作流。
Boris:完全正確。而且它恰好也是最簡單的,正因為它簡單,我們才能迭代得特別快。事后看來,這反倒成了一件好事,但當初我們可沒這么想。
Alex:有意思。那如果我是一個新手開發者,想用 Claude Code,具體要怎么操作呢?
Boris:嗯,很簡單。你只要從 NPM(一個軟件包管理器)下載就行,命令是
npm install -g @anthropic-ai/claude-code
輸起來是有點像念咒語哈。下載下來,系統里有 Node.js 就行。然后就搞定了。打開它,它會一步步引導你完成剩下的設置。
Alex:哇!所以,我只要在終端里輸入 `claude`,敲回車,就行了。然后 Claude 就會引導我完成剩下的步驟,接著我就可以跟它對話,讓它開始寫代碼了。
Boris:沒錯,沒錯。你裝好之后運行 `claude` 就行。很酷的一點是,就像你說的,Claude 在任何終端里都能用。不管你用 iTerm2、蘋果終端,還是其他什么終端,甚至在 SSH 遠程連接或者 tmux(一個終端復用軟件)會話里,它都能跑起來。
很多人喜歡在 IDE 自帶的終端里用 Claude Code。比如,你可以在 VS Code 的終端里運行 Claude,它會變得更強大。這樣一來,文件修改就不再是在終端里顯示了,而是在 IDE 里,看起來又大又漂亮。
我們還會利用 IDE 提供更多信息,讓 Claude 更智能。但使用體驗是一樣的,你還是在終端里運行 Claude。
Alex:好的。這里面信息量挺大,我待會兒想細聊。不過在此之前,我們二月份發布了 Claude Code。
Boris:是的。
Alex:到現在差不多三個多月了。感覺怎么樣?社區反響如何?
Boris:嗯,簡直炸了!完全出乎意料。發布之前,我們還不確定要不要發。這工具在我們內部讓工程師和研究員的效率大大提升。我們當時還在討論,這算不算我們的“秘密武器”?我們真要把它分享出去嗎?因為這可是 Anthropic 每個人每天都在用的工具?,F在看來,這個決定是對的,因為它確實能提高大家的效率,而且大家也喜歡它。
Alex:是什么時候讓你覺得“我們必須發布它”的?
Boris:一開始只是我們核心團隊的幾個人在用。后來我們開放給所有 Anthropic 員工,結果那個日活用戶圖表啊,噌噌噌連著漲了三天,都快垂直了!
我們當時就覺得,這太瘋狂了,肯定火了。后來我們又給了一些外部人員試用,想看看是不是我們自己太嗨了,這東西到底有沒有用。結果收到的反饋都非常正面。所以,我覺得這事兒就挺明顯的了。
Alex:明白了。所以它首先是在 Anthropic 內部火起來。然后所有的工程師、研究員都在用,這就讓我們覺得,是時候把它推向世界了。
Boris:是的,我們開發這個工具很大程度上就是這么過來的。Claude Code 就是用 Claude Code 寫出來的。幾乎所有 Claude Code 的代碼都是由它自己反復編寫和重構。我們非常信奉“自己先用”(也就是所謂的 Dogfooding)的理念。這太重要了,因為當你用一個產品,如果能明顯感覺到開發團隊自己也在用,那種體驗是不一樣的。在我日常使用的產品里,我能感覺到哪些是團隊自己天天在用的,哪些不是。我們就是想讓 Claude Code 成為那種你一上手就能感覺到傾注了很多心血,而且是我們自己也在用的產品。
Alex:你覺得現在 Claude Code 的理想用戶是誰?或者說,都是些什么樣的人、什么樣的開發者在用它?
Boris:嗯,首先要說的是 Claude Code 還挺貴的。如果你只是周末寫寫代碼,可以稍微試試。搞個 API 密鑰,充 5 美元就能體驗一下。但如果你想用它做更嚴肅的工作,那可能一個月要花掉你,比如說,50、100、200 美元,差不多這個范圍。具體看你怎么用,但一般預計可能每月 50 美元左右。
有很多大企業在用它。如果你在一家大公司,它往往特別適合。它處理大型代碼庫的能力非常驚人,不需要索引步驟,也不需要額外的設置。直接運行就能用,幾乎適配所有語言的大型代碼庫。
Alex:那它跟 Claude Max(一個訂閱套餐)的集成是怎么回事?怎么運作的?
Boris:是這樣的,我們發現大家用 API 密鑰付費的時候,會有點擔心用量超標。
結果就不敢盡情用。所以我們把 Claude Code 加入了 Claude Max 套餐。你付了 Max 的訂閱費——比如每月 100 或 200 美元,你可以選不同的價位,對應不同的用量上限——然后你基本上就可以隨心所欲地用 Claude Code 了,實際上你基本不會碰到任何用量限制,很少有人會??梢哉f是無限暢用 Claude Code。
Alex:哇!所以 claude.ai(Claude 的網頁版)和 Claude Code 的賬戶都統一到這一個訂閱套餐里了。
Boris:完全正確。
Alex:那么,如果我是一個開發者,正在用 Claude Code 處理我電腦上的代碼庫。我打開終端,輸入 `claude`,敲回車。接下來會發生什么?
Boris:嗯,Claude 就開始干活了。它會使用工具,自己去執行任務,會做好多步驟。
所以,如果你以前只用過 IDE 里的代碼輔助,習慣了那種系統幫你補全一行或幾行代碼的體驗,那這個完全不一樣。它非常非?!爸悄苤鲃印保╝gentic)。Claude 會理解你的指令,然后動用它能用的一切工具——比如命令行(bash)、文件編輯等等——來探索代碼庫,讀取文件,獲取它需要的上下文信息,然后編輯文件,做出你想要的任何修改。
Alex:哇!所以,跟我們過去二三十年的編程方式相比,這或許是一種全新的編程形態了。
Boris:是啊,對我來說,我的編程之路說來話長了。我編程有些年頭了,但我爺爺其實是上世紀四十年代蘇聯最早的一批計算機程序員之一。
他那時候用打孔卡編程,因為用軟件編程還沒出現呢。他會用那種很大很大的打孔卡,在美國當時有種 IBM 的機器,算是那個時代的 IDE 吧,用來給這些紙質打孔卡編程。他就是這么編程的,每晚都會把這些卡片帶回家。我媽跟我講過她小時候的故事,她會在這些卡片上用蠟筆畫畫,這對她來說是成長經歷的一部分。
然后編程就進化了。從打孔卡,到匯編語言,再到最早的高級語言,像 COBOL 和 FORTRAN。到了 80 年代,有了 Java 和 Haskell 這些帶類型的語言,非常令人興奮。90 年代又有了 JavaScript 和 Python 這些解釋型語言,它們仍然能提供很好的安全性。
我傾向于認為編程語言和使用編程語言的體驗是同步進化的。比如 Java 出現的時候,你也看到了像 Eclipse 這樣的 IDE。它有了最早的那種輸入預測功能,你輸入一個字符,就會彈出一個下拉菜單,問你‘你是想輸入這個還是那個?’,這簡直太不可思議了,你再也不用去讀那么多代碼了。
所以我覺得這就是進化的過程。語言本身我覺得發展到現在,現代語言都屬于相似的幾個大家族,大體上看都差不多。但編程的體驗真的在進化,你不再需要跟打孔卡、匯編甚至代碼本身打交道了;你現在跟“提示詞”(prompts)打交道,模型來搞定編碼的部分。這對我這個程序員來說,簡直太令人激動了。
Alex:這個說法太棒了?;旧?,我們就是從“打孔卡時代”邁向了“提示詞時代”。
Boris:是啊。
Alex:嗯,關于這個我稍后還有幾個問題想問你,不過在此之前,我想先聊聊模型方面。直到最近,Claude Code 主要還是由 Claude 3 Sonnet 模型驅動的?,F在有了 Claude 3.5 Sonnet 和 Opus 這樣的新模型在底層支持 Claude Code,這帶來了哪些新的可能性?你覺得我們未來會走向何方?
Boris:是的,大概在新模型發布前幾個月吧,我們內部就開始試用了。我記得當時我的下巴都驚掉了,感覺它們的能力強了太多。所以我覺得很多新的應用場景都被解鎖了。
當你在終端里同步使用 Claude Code 時,我覺得一個很大的變化是 Claude 更能聽懂你的指令了。你通過提示詞或在 Claude 里告訴它做什么,它往往就能照做并堅持下去。這是個巨大的進步,因為之前的 Sonnet 版本有點像頭“猛獸”。它是個很棒的編碼模型,但是,天啊,太難駕馭了。比如你想讓它寫測試,它可能會把你的測試全都模擬(mock)掉,你就會說:“不,我不是這個意思?!蓖ǔD阏f個一兩次它就能明白。但它實在太強大了,所以也值了。
我覺得現在有了這一代新模型,你不用再費那個勁了。它們通常第一次就能按你的要求做。而 Opus 感覺又比 Sonnet 高了一個層次,它不僅能很好地理解我的意圖,而且很多以前模型做不到的事情,它都能“一次搞定”。舉個例子,我已經好幾個月沒有手寫單元測試了。
因為 Opus 會幫我寫測試,而且幾乎每次都能一次性完美搞定。這在終端里非常有用,能讓你更省心。但我認為最酷的應用場景之一是在 GitHub Actions(GitHub 的自動化工具)和其他類似環境里運行它。你可以給它一個任務,然后模型就會自己去處理,當它第一次就帶著正確的結果回來時,那種感覺太棒了。
Alex:所以現在有了 GitHub Actions,我們可以在 GitHub 里 @Claude(提及 Claude),讓它在后臺處理任務,然后帶著結果提交一個新的 PR(代碼合并請求)。
Boris:完全正確。你像平常一樣在終端打開 Claude,運行 `claude`,然后運行 `/install-github-action`。它會引導你完成安裝步驟,有幾個步驟,都是自動的,你只需要點一兩個按鈕。然后它就會在你的 GitHub 倉庫里安裝 Claude 應用。
是的,體驗非???。在任何 issue(問題追蹤)里,你都可以 @Claude。我每天都在 PR 里用它。同事提交一個 PR,我不用再問他們“嘿,能修一下這個嗎?”,我直接說“嘿,@Claude,修一下這個。”然后它就修好了。也不用再問“能寫一下測試嗎?”——我每次不得不這么說的時候都覺得有點不好意思。
我現在直接說“嘿,@Claude,寫測試。”這事兒就再也不是個問題了。
Alex:我的天,這感覺太不可思議了。這簡直是編程的一個全新維度,我們基本上可以隨時召喚一個“隨叫隨到”的程序員幫你解決這些問題,甚至不是在你電腦上,而是在后臺運行。
Boris:是的,我覺得這就像開始像跟同事程序員互動一樣跟模型互動了。以前是 @同事,現在是 @Claude。
Alex:當我們進入一個擁有多個 Claude Code 實例、以智能體協作為基礎的管理模式時,你認為這會對軟件工程產生怎樣的影響?
Boris:我覺得需要一個思維上的轉變。有些人特別喜歡掌控代碼。如果你習慣了手寫代碼,我覺得現在這個行業正在轉向一個由你來“指揮”AI 智能體編寫代碼的時代。更多的是審查代碼,而不是手寫代碼。大家可能需要適應這個轉變。但作為程序員,這非常令人興奮,因為你能用更快的速度做更多的事情。
還是有些地方我得親自上手寫代碼,但現在我反而有點怵頭了,因為 Claude 寫得太好了。
Alex: 有意思。
Boris:我覺得隨著模型能力越來越強,那些你不得不手寫代碼的場景——可能是因為數據模型復雜,或者是一些非常精妙的東西,比如一堆系統組件間的交互,或者很難用提示詞描述清楚的東西——這些場景會越來越少,編程會越來越多地變成指揮 AI 智能體干活。
Alex:我想更深入地了解一下你的工作流程。你現在是怎么結合使用所有這些功能的——從 IDE 集成,到終端里的 Claude Code,再到 GitHub 里的后臺任務?
Boris:嗯,我做的工作大概有兩種。有些事情很簡單,比如寫點測試,或者修復個小 bug 之類的。通常我會在 GitHub issues 里讓 Claude 去做。或者,我通常會同時運行幾個 Claude 實例,在我的代碼庫里開幾個工作區。然后在其中一個終端標簽頁里,我讓 Claude 去做點什么,按下 Shift+Enter 進入“自動接受”模式,幾分鐘后我回來,Claude 完成時我會收到終端通知。
第二種工作就需要你更多地參與了。我覺得這仍然是工程的大部分。大多數工程問題沒法一次搞定,還是挺難的。所以我會把 Claude 跑在我的 IDE 終端里,讓它做點什么,有時候它會卡住,或者代碼不完美。這時我就會在 IDE 里介入,編輯一下,完成最后那點“臨門一腳”的修改。
Alex:我明白了。所以這幾乎形成了一個任務難度與你和 Claude 互動方式的對應關系。
Boris:是的,剛開始用這類工具時會有一個學習期。有時候人們會嘗試用它做太多事,給它太難的任務,結果它“卡殼”了,你對結果也不滿意。這是每個人都必須經歷的學習過程,才能在心里對 Claude 的能力有個譜:它能一次搞定什么,兩次搞定什么,那種互動是什么樣的。不幸的是,每次模型更新,情況都會變。所以你不能只學一次。每次有新版本發布,能力都會增長,Claude 第一次就能正確完成更多事情,所以你每次都可以多要求一點。
Alex:沒錯。我注意到,即便在編程之外,這些模型變化如此之快,進步如此神速,如果你六個月前試過一個模型,然后覺得它不適合某個任務,那么現在還保持這種看法就不對了。你幾乎每次都得重新調整你的直覺。
很好奇還有沒有其他來自開發者或 Anthropic 內部人員的使用技巧或竅門?大家用 Claude Code 都做了哪些很酷的事情?
Boris:嗯,我覺得我看到的高級用戶(無論公司內外)開始做的最重要的一件事,就是在讓 Claude 開始編碼之前,先讓它制定一個計劃。剛開始用 Claude Code 的人有時會說:“嘿,幫我寫這個非常龐大復雜的功能”,然后當它沒有按照他們腦子里想的方式完成時,他們就會很沮喪。一個很好的方法來統一你和 Claude 的想法,就是讓它先制定一個計劃,并讓你過目。我有時會明確地說:“這是我要解決的問題。在你編碼之前,先集思廣益,給我列出一些解決思路的清單,暫時不要寫任何代碼?!比缓?Claude 會給我方案一、方案二、方案三,我可能會說:“好的,方案一和方案三聽起來不錯,我們把它們結合一下?,F在你可以開始編碼了。”
另一個能把這個提升到新水平的方法是,讓 Claude 進行“拓展思考”。如果 Claude 已經有了一些上下文信息,這招效果最好。如果 Claude 還沒任何上下文,光是思考,效果就不太好。這有點像人;你可以想多久都行,但除非你去看代碼,否則你不會真正知道你在做什么。
Alex: 對。
Boris:對 Claude 也是一樣。先讓它讀取文件,然后暫停。接著我會讓它思考并集思廣益,然后再讓它編碼。
Alex:有意思。所以是那種穿插進行的方式,它能夠調用一個工具,思考結果,考慮接下來需要做什么,然后再調用另一個工具,如此往復。
Boris:是的,完全正確。我們其實在內部基準測試中也看到了這一點。當我們對不同類型的評估進行內部基準測試時,通常情況下,如果先獲取上下文,然后思考,再使用工具進行編輯、使用命令行等等,結果會好很多。作為用戶的感覺也是這樣。
Alex:嗯。跟我說說 `Claude.md` 文件吧,這些文件看起來非常強大。
Boris:是的,`Claude.md`,我們用它來做各種事情。它是 Claude 的“記憶庫”,是你希望在團隊中共享給 Claude 的指令,也是你希望在所有項目中共享指令。所以,它非常強大。有很多不同類型的 `Claude.md` 文件。
最簡單的一種是在你的代碼倉庫根目錄下放一個名為 `Claude.md` 的文件。
Alex:只是一個 Markdown 文件。
Boris:只是一個 Markdown 文件。是的,`Claude` 全大寫,`md` 小寫。
Alex:當你在那個文件夾啟動 Claude 時,它會自動讀取這個文件。所以里面的內容會自動加載到上下文中。任何你希望 Claude 每次都執行的指令,比如你希望它經常運行的 bash 命令,或者在做修改時它應該重點了解的文件,或者重大的架構決策,諸如此類的東西,都可以放進 `Claude.md` 里。
還有一種 `Claude.md`,這種是你會提交到代碼庫里的。所以你希望和團隊共享,寫一次,團隊所有人都能用,大家就不用自己寫了。
Boris:嗯,有意思。
Alex:第二種 `Claude.md` 是只給你自己用的,叫做 `Claude.local.md`。它也放在同一個地方,但只屬于你。你不用和團隊共享,用 `.gitignore` 文件(Git 的忽略配置文件)把它忽略掉,這樣就不會提交到代碼庫里。
第三種是全局的 `Claude.md`,放在你用戶主目錄下的 `.claude` 文件夾里。大多數人不用這個,但如果你想,可以把任何希望在所有 Claude 實例間共享的指令放在那里。
最后一種是,你可以在代碼庫中任何目錄的任何嵌套文件里放置 `Claude.md` 文件。
Boris:哦,哇!
Alex:當 Claude 認為相關時,會自動把它加載進來,以獲取關于如何處理那部分代碼庫的指令。
Boris:所以這些就像是,嗯,具體的指令,甚至是你的偏好,比如編碼風格,或者任何關于 Claude 應該如何互動、它應該了解你的什么、你喜歡怎樣工作之類的東西,什么都可以。
Alex:完全正確。有時當我在對話中看到 Claude 做了什么特別好或特別糟糕的事情時,我會按下井號鍵(#),這會進入“記憶模式”。然后我會告訴 Claude:“嘿,你應該記住這個?!边@可能是一條指令,比如:“每當我修改代碼時,總要運行 linter(代碼風格檢查工具)。”我告訴它之后,它會把這條指令整合到正確的記憶文件中。
Boris:有意思。我覺得我得多試試這個。Claude Code 接下來有什么計劃?
Alex:嗯,我們主要在考慮兩個方向。一是如何讓 Claude 更好地與你所有的工具協同工作。它一開始就能在所有終端運行,現在能和許多 IDE 配合,也能和很多 CI(持續集成)系統一起工作。我們一直在思考接下來該怎么做,以確保它能與你使用的所有工具兼容,Claude 應該知道如何使用它們,并且能“原生”支持這些工具。
第二件事是如何讓 Claude 更擅長處理那些你可能不想為此打開終端的簡單任務。比如說,我能不能在聊天應用之類的東西里 @Claude,讓它幫我修復一個問題?就像我在 GitHub 上能做的那樣。這意味著什么?怎樣才算好用?我們正在嘗試很多方案,希望在把它交給用戶之前,確保體驗非常好。
Boris:太令人期待了!我希望能看到 Claude Code 無處不在。期待那一天的到來。謝謝你,Alex,這次聊得很開心。
Alex:不客氣,也謝謝你。
2025 全球產品經理大會
2025 年 8 月 15–16 日
北京·威斯汀酒店
2025 全球產品經理大會將匯聚互聯網大廠、AI 創業公司、ToB/ToC 實戰一線的產品人,圍繞產品設計、用戶體驗、增長運營、智能落地等核心議題,展開 12 大專題分享,洞察趨勢、拆解路徑、對話未來。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.