CC是如何構(gòu)建的?ClaudeCode創(chuàng)始工程師近日自曝:90%代碼由Claude自己編寫(xiě),三天打造“代理代理”,開(kāi)發(fā)者依舊吃香
原創(chuàng) 精選編輯 | 聽(tīng)雨
出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)
自從 5 月份正式開(kāi)放以來(lái),Claude Code 已經(jīng)在開(kāi)發(fā)者圈掀起了風(fēng)暴。
據(jù)統(tǒng)計(jì),這款工具目前的年度化收入超過(guò) 5 億美元,僅僅在發(fā)布后三個(gè)月內(nèi),使用量就激增了 10 倍以上。
那它到底怎么構(gòu)建的?
小編最近看了一篇深度專訪,作者 Gergely Orosz,采訪了 Claude Code 的幾位聯(lián)合創(chuàng)始工程師和產(chǎn)品經(jīng)理,信息密度頗為巨大。三位可以說(shuō)都是CC元老級(jí)員工。
Boris Cherny,該項(xiàng)目的首位工程師,也是最初原型的設(shè)計(jì)者;Sid Bidasaria, Claude Code 的第二位工程師,也是 “Claude Code 子代理(subagents)” 的創(chuàng)建者;
Cat Wu,首位產(chǎn)品經(jīng)理。
討論中,他們分享了 Claude Code 的構(gòu)建方式,也洞察了一個(gè)成功的“AI 優(yōu)先工程團(tuán)隊(duì)”是如何運(yùn)作的。
作者甚至形容自己提前窺見(jiàn)了未來(lái),窺見(jiàn)了一個(gè)高速運(yùn)轉(zhuǎn)的初創(chuàng)公司可能的工作方式。
“值得慶幸的是,在這個(gè)未來(lái)里,軟件工程師仍然非常吃香?!?/p>
可以說(shuō)內(nèi)容非常稀有,為此小編特地為大家整理了這篇采訪文章。
我們這篇文章會(huì)聊以下這些,enjoy:
- Claude Code 的起源
- 它的技術(shù)棧 & 架構(gòu)
- 怎么做到幾天交一個(gè)功能
- 交互體驗(yàn):終端 UX 的“進(jìn)化”
- “AI 優(yōu)先”工程團(tuán)隊(duì)是什么樣子
- 子代理(subagents)功能是怎么煉成的
- 對(duì)未來(lái) AI 輔助工程團(tuán)隊(duì)的一些展望
好,話不多說(shuō),咱們開(kāi)整!
1.起源:怎么從“聽(tīng)歌小工具”演變成開(kāi)發(fā)神器
最早,Boris 在 Anthropic 工作,想著用 Claude 模型寫(xiě)個(gè)命令行工具:讓它讀出開(kāi)發(fā)者在工作時(shí)在聽(tīng)什么歌,還能控制音樂(lè)。
最初版本很簡(jiǎn)陋:不能讀文件,也不能執(zhí)行 shell 命令,只能做極基礎(chǔ)的“問(wèn)答+控制音樂(lè)”的操作。
但后來(lái),Boris 想:要是讓這個(gè)工具有讀寫(xiě)文件、執(zhí)行批處理命令、瀏覽代碼能力呢?于是他給它“下了工具包”:
- 它能讀、寫(xiě)文件
- 它能執(zhí)行 shell / batch 命令
它能瀏覽項(xiàng)目里的文件結(jié)構(gòu)、讀 import 的模塊、進(jìn)入子文件夾查找依賴的代碼……
于是,這工具就從“小打小鬧”進(jìn)化成“能自己探索代碼庫(kù)、自己找答案”的智能助手。Boris 覺(jué)得,這就是“產(chǎn)品滯后”——模型其實(shí)有能力了,但市場(chǎng)上還沒(méi)一個(gè)產(chǎn)品把這個(gè)能力展現(xiàn)出來(lái)。
內(nèi)部開(kāi)始了 dogfooding(內(nèi)部使用)。在 2024 年 11 月,Claude Code 的第一個(gè)內(nèi)部版本問(wèn)世:第一天就有 20% 的工程師用了,五天后漲到 50%。
當(dāng)時(shí)團(tuán)隊(duì)內(nèi)部還在爭(zhēng)論要不要公開(kāi)它,因?yàn)檫@可能成 Anthropic 的“秘密武器”。最后他們決定發(fā)布:既能讓更多人用,也能在實(shí)際使用中學(xué)習(xí)模型的安全與能力。
團(tuán)隊(duì)從最初只有 Boris,一直到 Sid 加入,后來(lái)擴(kuò)展到設(shè)計(jì)、產(chǎn)品、數(shù)據(jù)科學(xué)等角色,慢慢變成一個(gè)完整產(chǎn)品組。
有意思的是:雖然 “Code” 二字暗示這是給開(kāi)發(fā)者用的,但現(xiàn)在很多數(shù)據(jù)科學(xué)家、分析師也開(kāi)始用了,他們讓 Claude Code 寫(xiě)查詢、生成可視化……簡(jiǎn)單講,就是“原本只是給碼農(nóng)用的工具,竟然被別人截胡了”。
有個(gè)很酷的指標(biāo):Anthropic 在工程人數(shù)翻倍時(shí),通常 PR(pull request)數(shù)/人 會(huì)下降,因?yàn)槔蠁T工要帶新人等。但引入 Claude Code 后,他們反而 PR 數(shù)/人 +67%,也就是每個(gè)人產(chǎn)能反而上去了。
作者自己也用了這個(gè)工具,覺(jué)得寫(xiě)東西快、進(jìn)度好,也能跑測(cè)試、做驗(yàn)證。
2.技術(shù)棧 & 架構(gòu):最小 “外殼+模型” 設(shè)計(jì)
技術(shù)棧選型:讓 Claude 自己寫(xiě)自己
Claude Code 用了這些技術(shù)組合:
- TypeScript
- React + Ink(Ink 是一個(gè)用來(lái)在命令行里寫(xiě) UI 的 React 庫(kù))
- Yoga(一個(gè)布局系統(tǒng),支持不同終端尺寸)
- Bun(打包、構(gòu)建方案)
為什么選這些?一句話:on-distribution。也就是說(shuō),這些技術(shù)模型本身就很擅長(zhǎng)(模型本來(lái)就懂 JS / TypeScript / React 這些東西),不是它要重新“學(xué)”的。
團(tuán)隊(duì)的目標(biāo)是:讓 Claude Code 盡量由 Claude 自己寫(xiě)。Boris 提到:“90% 的Claude Code 是由 Claude Code 自己寫(xiě)的?!?/p>
架構(gòu)之道:最輕、最透明的外殼
雖然 Claude Code 外表看起來(lái)做很多事,但實(shí)際上內(nèi)部業(yè)務(wù)邏輯/客戶端復(fù)雜度被壓得非常低。為什么?因?yàn)槟P妥龃蟛糠止ぷ鳌?/p>
外殼主要負(fù)責(zé)三件事:
- 定義 UI,讓模型有接口可以操控界面
- 暴露一些工具(讀文件、執(zhí)行命令等)給模型調(diào)用
- 然后“退后”,不要干涉模型太多
團(tuán)隊(duì)相信:很多產(chǎn)品會(huì)給模型添“腳鐐”——用很多中間層、限制、UI 交互,使模型被束縛住。但 Claude Code 想盡量少加這些包袱,讓模型“自由地”發(fā)揮。
一句經(jīng)典話:每當(dāng)模型能力升級(jí),他們就會(huì)刪掉一些之前寫(xiě)的代碼。比如模型更強(qiáng)了,以前要通過(guò)系統(tǒng) prompt 寫(xiě)的東西,有時(shí)候可以直接去掉。至于運(yùn)行方式,Claude Code 在本地運(yùn)行,不走虛擬機(jī)也不跑云端。為什么?因?yàn)樽詈?jiǎn)單的方案往往是最可靠的。
本地執(zhí)行批命令、讀寫(xiě)文件、交互都發(fā)生在用戶機(jī)器上,沒(méi)有特殊容器或沙箱。這樣設(shè)計(jì)雖然有風(fēng)險(xiǎn)(誤操作可能傷害系統(tǒng)),但便利性、安全性的權(quán)衡團(tuán)隊(duì)覺(jué)得最合理。
權(quán)限系統(tǒng):用“問(wèn)你”機(jī)制
在本地直接操作,有風(fēng)險(xiǎn)。比如模型可能想「刪文件」。Claude Code 的解決方案:在執(zhí)行敏感操作前必須問(wèn)用戶:
- 本次允許
- 今后允許(記住這個(gè)項(xiàng)目/全局)
- 拒絕
他們還做靜態(tài)分析:如果命令在用戶的 settings.json 里已被授權(quán),就不再詢問(wèn)。settings.json 可以按項(xiàng)目 / 用戶 / 組織層面共享配置。
3.功能開(kāi)發(fā):幾天就出一個(gè)功能
在 Claude Code 團(tuán)隊(duì)里,速度就是生命力。
- 內(nèi)部:每天約 60–100 個(gè)內(nèi)部版本(改一點(diǎn)就發(fā)包,讓整個(gè)團(tuán)隊(duì)都試)
- 外部:幾乎每天會(huì)有一個(gè)新版本上線給用戶看
- 每位工程師一天能提交約5個(gè)PR(pull request)
更神奇的是:原型設(shè)計(jì)極其快速。他們?cè)趦商炖锬墚a(chǎn)出 10+ 個(gè)原型版本——比如 “todo list” 功能就是這樣一步步迭代的。
原型演化過(guò)程很有意思:
- 原型 #1:把 todos 列表放在命令行下面
- #2:嘗試把 todos 信息插入當(dāng)前行中
- #3 / #4:嘗試把 todos 做成可展開(kāi)的“pill”卡片
- …
- 到 #20 左右,他們才定下來(lái)最終效果:spinner (轉(zhuǎn)圈加載器)里顯示 todos + Ctrl+T 切換顯示/隱藏
整個(gè)過(guò)程中,用 prompt(向模型下指令)+人工調(diào)試+同事反饋,循環(huán)迭代非???。
以前一個(gè)功能可能要幾天/幾周才能夠有雛形,現(xiàn)在 AI 助手加速下來(lái),這類原型幾小時(shí)就能搞很多版本出來(lái)。
4.終端 UX 重塑:讓交互升級(jí)
Claude Code 最酷的一點(diǎn)在于:它把「終端(Terminal)」從靜態(tài)工具,變成一個(gè)「可以互動(dòng)、有反饋」的界面。以下是幾個(gè)有意思的交互設(shè)計(jì)方向:
- Todo / 任務(wù)跟蹤:當(dāng)模型執(zhí)行多個(gè)子步驟時(shí),用戶可以看到進(jìn)度、折疊/展開(kāi)細(xì)節(jié)
- Hooks:用戶可以自定義 shell 命令,讓 Claude Code 調(diào)用這些命令
- 多種輸出格式:比如 “解釋型”(解釋模型為什么這么寫(xiě))、“學(xué)習(xí)型”(讓用戶親自參與一些小步驟以便理解)等風(fēng)格
- GitHub / GitLab 集成、CI/CD、配置系統(tǒng)、MCP(模型上下文協(xié)議)連接等功能
總之,它不只是一個(gè) “在終端里跑模型” 的工具,而是把「交互」這個(gè)維度拉進(jìn)來(lái),讓用戶感覺(jué)像和一個(gè)聰明搭檔在對(duì)話。
5.“AI 優(yōu)先”工程團(tuán)隊(duì):未來(lái)工程師的工作方式?
Claude Code 本身就是一個(gè)“AI 優(yōu)先”的產(chǎn)品,而背后的團(tuán)隊(duì)運(yùn)作也體現(xiàn)這種思路:
- 用 AI 做代碼審查、做測(cè)試
- 強(qiáng)調(diào) TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā))+ 自動(dòng)化
- 自動(dòng)化應(yīng)急響應(yīng)、監(jiān)控
- 小心使用 feature flags(功能開(kāi)關(guān))來(lái)控制風(fēng)險(xiǎn)
團(tuán)隊(duì)愿意讓模型直接進(jìn)入代碼流程,而不是只作為輔助工具。這個(gè)模式是否會(huì)成為未來(lái)大部分工程團(tuán)隊(duì)的標(biāo)準(zhǔn)?目前還不好說(shuō),但 Claude Code 給了一個(gè)強(qiáng)烈暗示。
不過(guò),有一點(diǎn)要注意:這種方式在 Anthropic 能行,在別的公司能不能復(fù)制,還取決于模型能力、團(tuán)隊(duì)文化、基礎(chǔ)設(shè)施安全等因素。
6.子代理(subagents):3 天做出來(lái)的“代理代理”
“子代理”是 Claude Code 的一個(gè)擴(kuò)展機(jī)制:基本邏輯是讓模型為某個(gè)子任務(wù)分配一個(gè)“子代理”去跑。
有趣的是,他們花了三天搞出來(lái)這個(gè)功能,其中兩天做的東西直接砍掉重來(lái)。團(tuán)隊(duì)并沒(méi)有一步到位,而是用快速原型 + 模型反饋 + 拆解方式,最終把這個(gè)功能打磨出來(lái)。
這個(gè)過(guò)程體現(xiàn)了整個(gè)團(tuán)隊(duì)在 AI 助力下,做“嘗試—失敗—重做—驗(yàn)證”循環(huán)的能力。
7.對(duì)未來(lái)的展望:AI 輔助開(kāi)發(fā)還會(huì)走到哪里?
從 Claude Code 可以看出一些趨勢(shì):
- 工程師并不會(huì)被取代,但角色可能演變得更像“監(jiān)督 + 指揮者”,把細(xì)節(jié)交給模型
- 快速原型、快速迭代將成為常態(tài)
- 交互設(shè)計(jì)、權(quán)限、安全體系會(huì)比以前更重要
- 不同公司復(fù)制這種 AI-first 模式的難度可能很高 ——模型能力、團(tuán)隊(duì)文化、資源等都是門檻
總的來(lái)說(shuō),Claude Code 是一個(gè)非常勇敢、前瞻的嘗試。它展示了 AI 在工程生產(chǎn)力提升上的可能性,也給我們一個(gè)窗口看看“工程師+AI 協(xié)作”的未來(lái)可能長(zhǎng)什么樣子。

























