Frontier · Anthropic
Claude Code 是怎樣做出來的
Claude Code 背後的研究人員、工程師和早期用戶講述了實驗性命令列工具如何發展成為代理程式編碼產品並改變了他們建立軟體的方式。

本文由英文原文翻譯。
起源
BEN MANN
Anthropic 共同創辦人兼實驗室團隊負責人
當我們開始 Anthropic 並最終決定開發一款產品時(這本身就是一個有爭議的事情),我們做的第一件事就是一個編碼助手。它是 VS Code 的擴充。你可以和它聊天,它會給你四個不同的建議,告訴你如何處理你給它的每個提示。
SHAUNA KRAVEC
Anthropic 強化學習主管
2022 年初,我們已經在考慮程式設計助理和建構可以進行自主軟體工程的模型。我們建立了原始的 RL 程式碼庫,並弄清楚如何對代理進行所有訓練。
我們對編碼感興趣,因為我們認為通往變革性人工智慧的道路將透過自動化大量軟體工程工作的能力來實現。
DAWN DRAIN
Anthropic的研究工程師
從 2021 年開始,我在 Anthropic 的前三年的主要項目是嘗試製作一個盡可能擅長編碼的模型 - 至少和我一樣好。
SHAUNA KRAVEC
透過我們的密集學習訓練,我們從簡單的任務開始。模型可以寫一個簡單的函數嗎?那麼:我們能否讓模型寫一個函數,然後測試它是否正確?起初,模型真的很糟糕。
SHAUNA KRAVEC
進行代理程式編碼所需的基礎設施比聊天機器人所需的基礎設施複雜得多。特別是當您考慮程式碼執行時;您需要考慮程式碼實際運行在哪個環境中,以及如何安全有效地管理它。人們現在在代理方面面臨的許多挑戰[2026 年]與我們當時面臨的挑戰完全相同。
DAWN DRAIN
我們在 2022 年遇到的另一個棘手問題是線束設計——模型周圍的鷹架,讓模型真正發揮作用。我和 RL 團隊的一個隊友在容器內有一個持久化的 shell,這樣模型就可以執行程式碼、串流輸入和輸出,並且可以很好地處理逾時問題。
DAWN DRAIN
但在研究方面,我們一直致力於讓模型在代理程式編碼方面做得更好。
火花
SHAUNA KRAVEC
2022 年底,我們開始致力於開發更多開放式代理並使其變得有用。到 2023 年,我們能夠執行基本的函數呼叫、一些搜尋、一些零碎的操作。
BEN MANN
Shauna 的團隊取得了巨大的進展。他們想出瞭如何為模型提供 bash 工具,使其能夠進行搜尋——這些是使代理編碼發揮作用的關鍵部分。
DAWN DRAIN
我花了很長一段時間試圖教 Claude 寫差異,因為這似乎是 express 文字編輯的最自然方式。我們最終建構了一個名為 clide 的東西,這個名稱是我們的同事 Eli Tran-Johnson 為之前的形式創造的。它基本上是一個內部命令列工具,可讓您與 Claude 聊天以進行程式碼編輯和開發任務。
SHAUNA KRAVEC
這很奇怪——它非常非常超前於時代。
BEN MANN
我業餘時間研究 clide。我喜歡它。我認為這真的很好,但可以更好。
DAWN DRAIN
我們在 clide 中提供了此功能,可以並行扇出一百個 Claude Haiku,因此您可以詢問有關整個資料夾的問題,而該資料夾不希望適合上下文視窗。我參加了很多有趣的配對會議,我會拿出 clide 來回答問題,人們總是會問我是怎麼知道這些很酷的工具的。
SID BIDASARIA
Anthropic 的 Claude Code 實驗室團隊技術人員與二號工程師
每個人都在談論 clide,但它很笨重,啟動起來也很慢。
ADAM WOLFF
Anthropic Claude Code 團隊的第一位經理
clide 代理程式是我開始實驗室工作之前添加到 clide 的最後一個功能之一。 clide 沒有 bash 工具,因此它的功能有限。我對其進行了設置,以便它可以從部分更改中推斷出您想要執行的操作。所以這是嬰兒代理。
它第一次起作用時,我正在廚房裡跳舞。我簡直不敢相信。
BEN MANN
2024 年 1 月,我組建了 Labs 團隊。我看到了智慧體編碼市場的空白。那年 9 月 Boris 加入時,他原本想先做一個程式碼檢查工具,只解決智慧體編碼的一小部分。我對他說:「不,不,不,你必須做那件更大的事。」
BORIS CHERNY
Anthropic處Claude Code的負責人
你必須使用所有這些咒語才能讓 clide 發揮作用。但即使它不是偉大的軟體,它在某種程度上也是令人驚奇和神奇的,因為它看到了未來。
我手寫了整個拉取請求,然後 Adam 拒絕了它。但他說:「實際上,你應該使用 clide。」所以我寫了--string-edit,或其他什麼。我只是將問題複製並貼上到 clide 中,它寫下了完整的請求。這是一個五行或十行的拉取請求。我從來沒有見過這樣的事情。真是令人震驚。感覺就像是未來。
BEN MANN
他說,「天啊。」我們已經看到了這些碎片,我們只需要把它們拼湊起來即可。
RAPHAEL LEE
Anthropic 實驗室團隊第一位工程經理
Boris 被指派到代理編碼領域。他非常有意識地選擇了自己想要採取的方法。
BORIS CHERNY
我的起始項目是「自動化編碼」。所以我想,“好吧,首先我需要學習如何使用 API”,因為我還沒有使用過它。我開始嘗試,但我不知道我們到底想要建造什麼。
我進行了一些修改並建立了一個名為 Claude CLI 的示範。
沒有人理解 Claude CLI 演示是什麼。我也不太明白。但現在看,原來的元素還在。我要求它找出我正在聽的音樂。它只是截屏了 Apple Music 並閱讀了它。這有點神奇——它只是「做」它。
這大約是兩天的工作時間。今天使用 Claude Code 重新建立它需要兩分鐘。
我將其發佈在 Slack 上。我想我得到了兩三個讚。
IGOR KOFMAN
Anthropic 實驗室團隊的技術人員
對我來說,顯然這是正確的方法。
BORIS CHERNY
發布這篇文章的第二天,我走進去看到羅伯特在工作,我認出了那些紅色和綠色的代碼線,它們現在已經具有標誌性了。他說,「是的,它正在幫我編碼。」這是最瘋狂的事情——它很有用。
ROBERT BOYCE
Anthropic 實驗室團隊的技術人員
我不記得當時我在做什麼;可能是Claude桌面應用程式中的東西。當時該應用程式非常簡單,只不過是循環中的工具定義和簡單的 REPL UI。
BORIS CHERNY
當然,這真的非常非常糟糕。但我感到非常迫切地需要努力並把它做好。我開始每個週末工作。我的朋友說:「怎麼了?快來玩吧!」但有件事我無法停止思考。今天仍然感覺同樣緊迫。
IGOR KOFMAN
最初在 Anthropic 時,我想致力於將 AI 的力量帶給非工程師的人。編碼似乎是我們肯定要解決的顯而易見的事情。我想做一些不太明顯的事情。大約三個月後,我意識到編碼絕對是值得關注的事情,因為它是通往其他一切的關鍵路徑。
團隊
ADAM WOLFF
我在大學裡沒有學過電腦科學。我是電影專業的。但我一直喜歡用計算機建造東西。 1993 年,我讀到了《連線》雜誌第一期,我感覺,「天哪,我必須成為其中的一部分。」於是我就搬到了灣區。我職業生涯的第一部分是一名遊戲設計師,然後我成為了一名程式設計師。最終,我參與了一個名為 React 的大項目,現在它是一個非常流行的 Web 框架。
BORIS CHERNY
我邀請 Adam 擔任我們的經理。一開始他多次拒絕,因為他想再次成為IC,但最終在我的糾纏下他同意了,並和他喝了幾杯啤酒。
IGOR KOFMAN
我在七歲左右開始使用 BASIC 編碼。我製作的第一個軟體是一款教我五歲弟弟數學的遊戲。我們住在烏克蘭,電腦可能是從西方進口的,並從盒式磁帶載入程式。
FIONA FUNG
Claude Code 的組織領導與 Anthropic 的協作
有一種語言叫做圖靈,它是由多倫多大學創立的。我用它創建了我的第一個遊戲。這就像藝術一樣。程式設計是一種講述故事和創造的方式。
CAT WU
Anthropic 的 Claude Code 產品主管
我於 2024 年夏天加入 Anthropic。當 Boris 發布他的 Claude CLI 演示時,我開始使用它來建立 RL 環境,它讓我變得更快,這給我留下了深刻的印象。
我正在向鮑里斯發送回饋段落。鮑里斯很快回應稱,他已經針對許多請求提供了功能或修復程序。那時我可能是最活躍的用戶之一。他問我,「你想加入嗎?」
MEAGHAN CHOI
Anthropic的產品設計師
我與團隊的第一次互動可能是在 2024 年 12 月。為開發人員工具進行設計並不常見,但當我看到 Claude CLI 時,我認為它可以透過少量設計工作成為一個出色的產品,因此我要求進行為期兩週的快速設計衝刺。
SID BIDASARIA
我於 2024 年 8 月加入實驗室團隊。 Boris 有一個很酷的 CLI 東西,所以我就開始使用它。在我的職業生涯中,我從未擁有過任何一種專業知識,之前也從未編寫過開發人員工具或編碼工具。這是全新的。
建築
BORIS CHERNY
2024 年 10 月,我正在努力工作。每週,我都會說,「Raph,請給我工程師!」
RAPHAEL LEE
我們將幾乎所有的 Anthropic Labs 餵給了 Claude Code。另一部分成為MCP團隊。如果能更快招募就太好了!該團隊在早期主要透過內部調動和緩慢、高品質的外部招募來成長。
ADAM WOLFF
不斷壯大的團隊是一把雙面刃。鮑里斯正在努力推動快速成長。我想要相反的東西,我盡可能地克制住它。擁有額外的火力固然很好,但規模使得流程、文化和願景的一切變得更加困難。
我還認為這是一個早期實驗,旨在探索 Claude Code 改變工程團隊和我們對生產力期望的方式。即使團隊相對較小,我們也能以我以前從未見過的速度快速完成功能並消除錯誤。
BORIS CHERNY
事後看來,保持團隊規模較小對於我們的成功其實非常重要。它幫助我們真正發揮資源的創造力,並防止我們過度設計。這迫使我們更多地使用Claude。否則,我們就無法走得夠快。
SID BIDASARIA
直到 2024 年 12 月,只有我、Boris 和 Ben 參與其中。在我們獲得批准後,實驗室團隊和其他幾個團隊中的六到七個團隊加入進來,我們開始了最後的兩週衝刺。您今天看到的許多核心功能都是在這兩週內建立的,例如錯誤報告和登入流程。那次衝刺是當我感覺「好吧,這正在變成現實。」
ADAM WOLFF
透過React,我們為使其在 Facebook 內部採用而所做的一切都讓人們開始在外部採用它。我們更了解了優勢是什麼、陷阱是什麼、路徑是什麼樣的。 Claude Code 也是如此。
SID BIDASARIA
沒有 PR 限制,也沒有程式碼庫審查限制。我們會立即發布修復程式。鮑里斯早期所做的一件令人難以置信的事情是建立自動更新和非常好的用戶指標。因此,一旦有人來找我們說“我們不喜歡這個”,我們就可以發布修復程序,五分鐘後他們就會收到。
RAPHAEL LEE
回饋開始湧入。 Boris 和 Sid 會在幾分鐘內回覆每條評論,並且經常在同一天或同一小時發布 PR,因為 Claude Code 的破解速度非常快。
SID BIDASARIA
作為一個 CLI 產品而不是一個 Web 應用程式意味著不需要複雜的架構來導航。我們可以如此快速地迭代,因為它只是一個客戶端應用程式。超簡單。
BEN MANN
對於那些暫時沒有從事模型產品化工作的人來說,這並不是很明顯,你現在必須建立一些在 20% 或 30% 的時間內有效的東西,以便當下一個模型出現時,它在 80% 的時間內有效。這足以獲得市場的關注。然後下一個模型的成功率為 90% 左右,然後你就真正取得了進展。而且你必須具有很高的疼痛耐受性,因為你會一次又一次地出錯。
您必須立足當下,但也要放眼未來。
啟動
CAT WU
在搶先體驗計畫期間,我們受到了冷淡的接待。有些人喜歡這個想法,但它有很多錯誤。即便如此,我們還是邁出了一步,並在 2025 年 2 月推出了它。
那時我們正式將 Claude CLI 重新命名為 Claude Code。產品行銷部門的亞歷克斯伊斯肯 (Alex Isken) 提議了這個名字。我們喜歡它的簡單性。
IGOR KOFMAN
發布前一天晚上,我認為擁有 ASCII 徽標會很有趣。我與 Claude 合作開發 ASCII 藝術字體,我們將其轉換為標誌性徽標,讓您在登入時增添一點樂趣。
MEAGHAN CHOI
我最喜歡的細節是將小 Clawd 角色新增至終端。 Sam McAllister 最初為 Claude 3.5 Sonnet 的發布製作了 Clawd。您通常不會在產品中添加這種有趣的細節。
AUSTIN RAY
Ramp 的 AI DevX 主管兼首席軟體工程師
我的整個職業生涯都是 CLI 人員。所以我只要有時間就去航站。在Claude Code作為研究預覽發布後,有人發布了關於它的文章[2025 年 2 月],我找到了它。在使用它的前五分鐘內,我就想,「哦,是的,這將從根本上改變一切。」
KYLE EASTERLY
Delve集團執行長兼Claude社區大使
我八、九歲的時候,在和祖父母的一次房車旅行中,我學會了程式設計。我的祖父有一台筆記型電腦,裡面有 DOS 批次文件幫助手冊。我僅使用 if 語句編寫了一個小型偵探犯罪現場調查遊戲。
快轉到 2025 年,我正在一家名為阿拉斯加全州獨立生活委員會的非營利組織的軟體專案中擔任顧問,他們為年輕人提供殘疾服務。他們讓一群高中生聚集在一起,圍繞著畢業後想做的事情設定目標。他們用筆和紙舉辦這些研討會,十分之一的孩子會完成。
當我開始將它們製作為應用程式時,我已經在使用 Claude,並且我會使用工作台來回操作,將一堆文件複製並貼上到我的剪貼簿中,並在它們周圍加上標籤。 Claude Code 是在該專案期間發布的,我在專案中期切換了 —boom。
AUSTIN RAY
我第一次使用它時感到發冷。如果它可以讀取、編輯和運行 bash,那麼它就可以做任何事情。它能夠執行這些步驟,而這些原語是建立其他所有內容所需的全部。
我立刻開始傳播它[在Ramp內]。我給我們頻道上的每個人發了訊息,看看還有誰在使用這個。我開始走到人們的辦公桌前說:「好吧,你們必須相信我。在我們做到這一點之前我不會離開。安裝 Claude Code,在終端中啟動它,讓我們嘗試一些事情。你們現在在做什麼?為什麼不告訴它?然後讓我們看看會發生什麼。」
Boris、Cat 和我每週都會舉行一次回饋會議。因此,我們自然地建立了開發者和使用者的關係。
我一直是個修補匠,非常喜歡自動化、滾雪球以及對自己的工作場所進行反覆遞歸優化。 [Claude Code] 是此技能的完美基礎。
JARRED SUMNER
Bun創辦人
當我嘗試使用 Claude Code 時,我要求它在 Bun 中實作 websocket 客戶端壓縮,我為它提供了 RFC,然後它就知道如何實現它。一開始它的表現有點糟糕,但經過一系列提示後它自行修復了。然後我基本上改變了 Bun 的優先級,使其更容易與 Claude Code 一起使用。
相對於它當時的影響,我可能太著迷了。
TRISTAN HUME
Anthropic性能工程技術人員成員
我的大部分任務都需要大量上下文。我正在研究加速器的硬內核,這些加速器通常沒有在網路上公開記錄。 Claude Code 不太擅長編寫自己的工具並進行大量調查來即時學習一些東西。所以除了非常有限的任務之外,它並不是很有用。
JARRED SUMNER
我想可能是在 8 月或 9 月 [2025],有人想禁止在 Bun 使用 Claude Code。但我就是不會讓這種事發生。
MEAGHAN CHOI
當 Claude 4 系列模型問世時,我們的時刻就真正到來了。在那之前,我們其實並沒有太多可以做的使用者體驗設計。該模型還沒有準備好用於我們想要建造的產品。但後來確實如此。
BORIS CHERNY
我們也推出了訂閱服務。因此,有兩件事促成了Claude Code的起飛:商業模式創新和模式創新。
DAWN DRAIN
我其實不認為 Claude Code 歸功於 clide。一旦跨越模型能力閾值,外形因素就會顯現出來。
KYLE EASTERLY
這是我們工作方式的根本轉變。當我在 2022 年開始玩人工智慧時,我無法在腦海中想像 Claude Code。但我可以看到,如果它可以組成一個工作應用程序,我就可以從那裡推斷。
SID BIDASARIA
我從未想過它會成為如此大的產品——這完全令人驚訝。今天我仍然感到驚訝。
The new world
BORIS CHERNY
2025 年 2 月,Claude Code 寫了我大約 10% 的程式碼。到 5 月份,這一比例上升到 30%、40%。我記得當 Sonnet 4 發佈時,我正在參加 Code with Claude 開發者大會,我坐在後面的房間裡編碼,我想,「哇,這真是太棒了。」這個模型好多了,非常代理,非常擅長編碼。到 2025 年冬天,我的程式碼 100% 都是由 Claude Code 寫的。沒有一行手繪線條。
KYLE EASTERLY
有兩種類型的開發人員。一種類型非常喜歡編寫程式碼——這幾乎就像他們照料的禪宗花園。這是流量,很好。還有另一種類型——有一些重疊,它不是純粹的二元——其最高成就時刻是當現實世界中的某人使用該軟體並喜歡它時。這就是我所在的營地。
SHAUNA KRAVEC
我是Claude Code進階使用者。我讓十二個不同的 Claude 組成的大群到處跑——閱讀文件、更新內容、從 Slack 中獲取數據。作為一名研究主管,過去幾年我實際上並沒有編寫很多程式碼。現在我可以寫更多了,因為它變得容易多了。
IGOR KOFMAN
隨著模型和 Claude Code 變得越來越好,我們將進入下一個抽象級別,此時您不再管理一群 Claudes,而是管理 Claudes 的經理。
TRISTAN HUME
我看到我的同事獲得了巨大的影響力,讓Claude在後台完成任務,但我沒有一個很好的方法來做到這一點。我基本上不得不在正常工作中休息一周來建立一個新的開發環境。但很明顯,如果你想獲得最大的生產力,你必須編碼的方式已經改變。
BORIS CHERNY
昨天我花了一天時間使用 Claude Code 進行編碼並進行了 88 次提交。
CAT WU
當我們第一次啟動時,每個人都會閱讀Claude Code提出的每一個權限請求。如今,我們很大一部分的用戶只是自動接受一切。我認為這一轉變表明Claude已經贏得了他們的信任。
未來
ADAM WOLFF
React 向我展示了成功專案的限制。它始於一個非常純粹的計算機科學想法:函數式程式設計將是比訊息傳遞更好的表示使用者介面狀態的方法。當 DAU 突破 100 萬時,一切就完全不同了。它是一個標誌、一個品牌和一種感覺,而不僅僅是一個電腦科學的想法。 React 中位數使用者喜歡的東西可能可以追溯到核心洞察,也可能無法追溯到核心洞察。
我確信 Claude Code 也會以同樣的方式發展:無論你認為 Claude Code 是什麼,無論你認為它是終端還是 Claude 的個性,或者你正在使用的這種特定提示技術,這些事情在極限情況下都不重要。
AUSTIN RAY
當我最初在 Ramp 推動 Claude Code 的採用時,我有意建立一個社區和一種實驗文化,分享我們如何失敗、什麼有效、什麼無效,並在公共空間進行討論。複合部落知識是關鍵。
FIONA FUNG
軟體工程的角色將會改變。我在開發者工具上工作了十一年半,我並不假裝知道下個月會是什麼樣子。我們需要保持好奇心,並大力向內部和外部使用者學習。
TRISTAN HUME
我嘗試將其推得盡可能遠。我讓 Claude 從頭開始編寫 Jupyter Notebooks 的新替代方案——不看任何程式碼,直接放手,甚至使用瀏覽器來測試 UI。它確實做出了一些有用的東西。但當我嘗試使用它時,我發現我不喜歡它。我需要等待一個有品味的Claude——他知道我需要的所有事情,並且可以在後台完成它們。
AUSTIN RAY
這是一種痴迷,「我能讓這個更快嗎?我能讓這個更好嗎?」這就是 Ramp 文化。這絕對是「擁抱前沿,嘗試新事物」。只要對客戶有幫助,我們就會嘗試一切。
KYLE EASTERLY
像全州獨立生活委員會這樣的非營利組織以前不可能提供客製化軟體。建造這樣的建築的撥款根本不存在。一整類事情剛好成為可能。
我們現在可以獲得[阿拉斯加]北坡的手寫燃料輸送日誌,將其轉錄,並將其放入 CSV 檔案中。我們剛剛為該客戶推出了一款平板電腦應用程式。
我們告訴我們的客戶,您必須親自看看,不能只是告訴您人工智慧將如何運作。
SHAUNA KRAVEC
自主軟體工程代理的願景或多或少即將實現。
我認為,關於人工智慧將為人類做什麼的許多「積極」想法最終都歸結為人工智慧以一種開放的方式有效,可以解決人們無法獨自解決的問題。我們談論加速研究、治癒癌症、登上月球——你不會從一個只回答問題的模型中得到這些。你需要一個能夠在現實世界中採取行動的模型。
MEAGHAN CHOI
編碼在歷史上一直是非常難以接近的。將它交給這麼多人,看看他們在內部和外部所創造的東西,真的很有意義。
SHAUNA KRAVEC
我最初的背景是理論物理學。在某些情況下,幾個世紀以來人們一直致力於解決同樣的難題。進步的速度比人工智慧慢很多,並且經常被非常困難、昂貴的事情所阻礙。您只會建造這麼多對撞機。
我認為,在 2026 年和 2027 年的大部分時間裡,短短三個月內將會發生很多事情。 2024 年三個月的進展本來會有所改善,但不會那麼顯著。這是令人迷失方向的部分,我不確定是否有人已經準備好。
IGOR KOFMAN
我媽媽是科學家,她會使用打孔卡來編碼。我會幫她調試打孔卡。我父親是工程師,但他不知道如何編碼,直到有人向基輔的 Dom Pionerov(我們當地版本的基督教青年會)捐贈了一台 Commodore。他買了一本關於程式設計的書,我們會在家裡一起閱讀。這就是我開始編寫軟體的原因。
從 2025 年冬季開始,我不再自己寫任何程式碼。
