今天讀到Claude Code團隊的一期播客,極其有共鳴,忍不住要來和大家分享。可以說,這是近期我讀到的最好的產品思考,沒有之一。
這期播客的兩位主角是Cat和Boris,他們是Claude Code的核心建立者。整期對話沒有講具體的功能設計,聊的全是非常本質的問題:當模型每三個月就吞噬掉你精心搭建的腳手架,什麼該被保留?什麼該被刪除?工具的終極形態是什麼?當人和AI共享同一個介面、同一套工具,人的角色又是什麼?
而他們給出的答案,讓我醍醐灌頂:工具的終極形態,就是消失。
不是物理上的消失,而是融入工作流,讓你感覺不到它的存在。最好的工具,應該像空氣一樣,你只在缺少它的時候才意識到它的存在。
這些問題,正是我們這些在AI時代做產品的人,每天都在面對的困惑。
一切的開始:一個完全意外的產物
讓我很意外的是,Claude Code的誕生完全不是什麼深思熟慮的產品規劃。Boris在播客裡坦誠地說,這玩意兒根本不是故意設計出來的。
故事是這樣的。Boris剛加入Anthropic的時候,提交了他的第一個PR,是自己手寫的程式碼。結果他的導師直接打回來,說你怎麼還手寫程式碼?用我們內部的工具啊。於是Boris試了一下那個叫Clyde的內部工具,給它一個任務描述,這東西竟然一次就搞定了。雖然當時的模型還是Sonnet 3.5,還要修修補補,但這個體驗讓Boris開始思考:也許我們根本不需要IDE。
後來他在用Anthropic的API做原型時,爲了省事就直接在終端裡做了個聊天應用。然後他開始給模型新增工具,奇蹟發生了。
模型拿到bash工具後,自己就開始用bash,甚至開始寫AppleScript來自動化各種操作。Boris說,這是他從沒見過的事情。模型就像天生就想使用工具一樣,給它工具,它就會用。
這讓我想到一個更深層的道理:很多時候,最好的產品不是設計出來的,而是在實踐中發現的。你給系統足夠的自由度,它會自己找到最優解。
潛在需求理論:讓使用者來告訴你該做什麼
播客裡Boris提到了一個概念,叫latent demand,潛在需求。這個想法來自他在Meta的經歷。
簡單說就是:你把產品做成可以被hack的,開放足夠多的擴充套件點,然後觀察使用者怎麼濫用它。當你看到使用者用你的產品做一些你完全沒想到的事情時,那就是潛在需求。然後你就為這個需求專門構建功能。
Boris舉了幾個Meta時代的例子。Facebook Dating的誕生,是因為他們發現60%的資料瀏覽來自異性非好友。Marketplace的誕生,是因為40%的Facebook群組帖子是買賣帖。使用者已經在用你的產品做這件事了,你只需要把它變得更好用。
Claude Code也是這樣演化的。團隊發現越來越多人用Claude Code做非程式設計的事情:寫部落格、管理資料、做市場調研、構建郵件助手。Cat說她自己就用它來研究各個公司有多少工程師,排個名。這跟傳統程式設計完全不沾邊,但底層邏輯是一樣的:一個能長時間執行的agent,能訪問網際網路,能寫程式碼執行程式碼,本質上可以做任何事。
所以他們把Claude Code SDK改名成Claude Agent SDK。名字變了,產品沒變,只是承認了一個事實:使用者已經在這樣用它了。
這給我的啓發是:與其猜測使用者要什麼,不如給他們足夠的自由度,然後看他們怎麼用。使用者的行為比他們的回答更誠實。
這裏讓我想起了凱文凱利的《失控》理論。
雙重用途:人和模型共享同一套工具
Claude Code有一個很有意思的設計哲學,叫dual use,雙重用途。意思是:所有工具既是給人用的,也是給模型用的。
比如你可以用感嘆號進入bash模式直接執行命令,Claude也能看到輸出。你可以建立slash命令來簡化操作,Claude也能呼叫這些slash命令。你們兩個共享同一個檢視,同一套工具。
Boris說了一句很有意思的話:在過去,工具是為工程師設計的。但現在,工具同時為工程師和模型設計。
那怎麼設計這種雙重用途的工具呢?Boris的答案讓我意外:其實是一樣的。優雅的人類設計,翻譯到模型上也同樣優雅。如果一個功能對你來說很直觀,大機率對模型來說也很直觀。
這背後有一個更深的洞察:Claude Code執行在終端裡,它能做的事情和工程師能做的事情完全一樣。沒有中間層,沒有抽象,沒有限制。你能做什麼,它就能做什麼。這種設計的簡潔性,讓人和AI的協作變得自然。
工具的終極形態:消失
這讓我想到一個更本質的問題:什麼是好的工具?
傳統的答案可能是功能強大、介面美觀、效能優越。但Claude Code團隊給出了一個更激進的答案:工具的終極形態,就是消失。
什麼叫"消失"?不是說工具不存在了,而是它融入你的工作流,融入到你感覺不到它的程度。你不再需要"學習使用工具",你只需要專注於你想做的事情本身。
想想Boris說的那些設計原則:人和模型共享同一套工具,沒有中間層,沒有抽象,不需要新使用者引導流程。每個功能都應該直觀到你直接用就能懂。
這些原則指向同一個方向:讓工具本身變得透明。
蘋果說"最好的介面是不需要說明書的介面"。Claude Code團隊把這個理念推得更遠:最好的工具是你根本不會想到"我在用一個工具"的工具。
當你用Claude Code的時候,你不是在"操作一個AI程式設計助手",你只是在"解決一個問題"。工具退到了背景裡,問題本身浮到了前景。
這讓我想到一個比喻:好的工具就像空氣。你呼吸它,依賴它,但你從不會想到"我正在使用空氣"。你只有在缺氧的時候纔會意識到空氣的存在。
所以,當我們評判一個AI產品好不好用的時候,也許不應該問"它有多少功能",而應該問"我在使用它的時候,有多少時刻想到了它的存在"。想到的時刻越少,工具就越好。
自己吃狗糧:70%的員工每天都在用
Anthropic內部有個詞叫ant fooding,就是dog fooding的變體。ant是螞蟻的意思,也是anthropic員工的暱稱。
Boris說,70%到80%的Anthropic技術員工每天都在用Claude Code。每次要釋出新功能,他們都先推給內部員工用。反饋渠道里每五分鐘就有一條新訊息。這種高強度的內部使用,讓他們能快速知道什麼好用,什麼不好用,什麼該刪掉。
這也解釋了為什麼Claude Code用起來那麼順手。你能感覺到,這是一群每天都在用這個工具的人做出來的。每一個互動細節都經過了真實使用的打磨。
他們的新經理Fiona十年沒寫過程式碼了,第一天就用Claude Code提交了PR。她說不僅重新學會了編碼,而且完全不需要熟悉程式碼庫的背景知識,因為Claude已經知道這些了。
這讓我想到YC經常說的那句話:先解決你自己的問題。如果你能解決自己的問題,很可能你也在解決別人的問題。
模型在吞噬一切:什麼該保留,什麼該刪除
播客裡讓我印象最深的一段對話是關於腳手架的。
Boris說,他們每週都在新增和刪除工具。上週剛刪掉了OS工具,因為現在可以在bash層面直接執行許可權控制了。他昨天剛從系統提示詞裡刪掉了2000個token,因為Sonnet 4.5不再需要那些指令了,而Opus 4.1還需要。
這是一個很微妙的處境:你今天精心設計的腳手架,三個月後可能就被模型能力的提升吞噬了。那你還要不要花時間做這個腳手架?
Cat的回答很直接:做。我們希望三個月後它會被淘汰。只要它現在能提升體驗,我們就做。我們追求的是當下最好的體驗,不擔心這些工作會被扔掉。
這聽起來有點反直覺,但仔細想想很有道理。在AI快速發展的時代,追求永恆的架構是不現實的。更務實的做法是:承認一切都是臨時的,專注於解決當下的問題,保持刪除的能力和意願。
他們甚至預測plan mode這個功能未來可能會被刪掉,因為模型會自己判斷什麼時候需要先做計劃。
為最強模型最佳化:高階定位的邏輯
有人問Claude Code會不會爲了效率使用更小的模型,比如Haiku。Cat的回答很明確:我們定位高階,北極星是讓Claude Code在最強的模型上表現得無與倫比。現在是Sonnet 4.5。
這是一個有趣的產品決策。很多產品會想著怎麼讓更多人用得起,但Claude Code選擇了相反的方向:先把最好的體驗做到極致,然後等模型能力下沉。
Boris補充說,他們在研究怎麼讓未來的小模型也能用得很好,但這不是當前優先順序。
這讓我想到一個更普遍的產品策略:與其在低端市場和別人拼價格,不如在高階市場建立標杆。當高階體驗足夠好的時候,它會定義使用者對這類產品的期望。
複合工程:讓每個功能使下一個更容易
播客主持人Dan分享了他們在Every公司的一個實踐,叫compounding engineering,複合工程。
傳統工程裡,每加一個功能,下一個功能就更難加。但複合工程的目標相反:讓每個功能使下一個功能更容易構建。
怎麼做到呢?每次實現完一個功能,他們會把學到的東西,比如計劃哪裏需要修改、測試發現了什麼問題、遺漏了什麼,都編碼回系統裡。寫進提示詞,寫進slash命令,寫進sub agent。這樣下次有人做類似的事情,系統會自動幫他避坑。
Dan說他現在可以跳進任何一個程式碼庫立刻開始幹活,即使他完全不瞭解程式碼怎麼運作。因為所有的上下文、所有的最佳實踐,都已經被編碼進系統了。
Boris說他們也在往這個方向想。當你在PR裡看到一個錯誤,你可以直接告訴Claude把它加到claudemd裡,這樣下次就自動知道了。你還可以讓Claude寫測試來確保這個問題不會再發生。他說他們100%的測試都是Claude寫的,不好的就不提交,好的就留下。
這是一種新的知識管理方式。不是寫文件讓人讀,而是把知識編碼進系統,讓AI來執行。
CLI不是最終形態:未來是Claude監督Claude
有人問CLI是不是最終形態。Boris笑著說,當然不是,但我們現在專注把CLI做到最好。
他們正在探索各種形態:VS Code擴充套件、網頁版、移動版、GitHub整合。Boris說他自己經常在開車等紅燈的時候用手機上的Claude Code處理GitHub issues。這種隨時隨地控制agent的能力很有價值。
但更有意思的是他對未來的預測。
現在最強的模型可以自主執行30小時左右。下一代模型可能是幾天。當你開始並行執行多個Claude,問題就來了:它們執行在哪裏?你總不能一直開著膝上型電腦等它跑完吧。
Boris說,很快我們會進入Claude監督Claude的模式。會有一個更高層的agent來管理下面的agent,人類只需要在必要時介入檢查。
這讓我想到使用者說的那句話:我們正走到一個新的分叉口,從單純的chatbot走向multi-agent的orchestration。這是一個沒有盡頭的打怪升級,是一個複雜系統的無限遊戲。
Demo文化取代文件文化
Boris說了一句讓我印象很深的話:我們內部的貨幣是demo。你想讓別人對你的東西感興趣?給他們看15秒的演示。
過去你得寫文件來解釋你的想法,或者做PPT來pitch。但現在你可以直接做出來給人看。因為做東西太快了,與其解釋,不如直接演示。
Cat接著說,這不僅僅是產品開發。所有創意領域都在發生這個變化。以前你要拍電影得先pitch劇本,現在你可以直接用Sora生成一段影片,讓投資人看到那個glimmer,看到你想表達的東西的雛形。
他們團隊的很多功能都經歷了多次原型迭代。Plan mode做了三遍。Todos功能Sid做了三四個原型,Boris又做了二十多個版本,就在一天之內。
這種快速原型、快速迭代、快速展示的文化,只有在AI加持的開發環境裡纔可能實現。
刪除的藝術:最喜歡紅色diff
Boris說他最喜歡看到的diff是紅色的diff,就是刪除程式碼。每次看到大段程式碼被刪掉,他都覺得很爽。
但刪除也不是隨便刪。他們的原則是:如果要下架一個功能,必須同時推出一個更好的替代品。因為任何你釋出的東西,都有人在用。你不能讓他們失望。
這也帶來了一個新的產品管理挑戰。因為你可以ship得太快了,產品很容易變得不連貫。這裏加個按鈕,那裏加個tab,到處都是功能,但沒有統一的組織原則。
Boris說他們試圖保持紀律,確保每個抽象都簡單到使用者光看名字就知道是什麼。他們有一個原則:不要新使用者引導流程。每個功能都應該直觀到你直接用就能懂。
這讓我想到蘋果的設計哲學:最好的介面是不需要說明書的介面。在AI時代,這個原則可能更加重要,因為產品迭代太快了,使用者沒時間學習複雜的使用方法。
漸進式披露:複雜性只在需要時出現
Claude Code有很多高階功能,但你第一次用的時候不會被它們淹沒。Boris說這叫progressive disclosure,漸進式披露。
這其實就是"工具消失"的具體實現手段。複雜性不是不存在,而是隱藏在背景裡,只在你需要的時候才浮現出來。其餘時候,工具隱入背景,你只看到你要解決的問題。
比如你可以按Control O看到完整的原始transcript,模型看到的和你看到的完全一樣。但這個功能只有在相關的時候纔會提示你。當有一個工具結果被摺疊了,它纔會告訴你可以用Control O展開。
我們正處在什麼樣的時代節點
聽完這期播客,我最大的感受是:我們確實還處在非常早期的階段。Boris估計大概是adoption curve的前10%。
很多東西在快速變化。prompt engineer曾經是一個職位,現在已經不是了。以後還會有更多這樣的micro skill出現又消失。每個新模型出來,你之前學到的一些技巧可能就不再需要了。
但這也意味著巨大的機會。AI重置了所有軟體的棋盤。任何你日常使用電腦做的事情,如果你用AI來重新構建,很可能是前所未有的。這是一個獨特的、令人興奮的時刻,適合為自己構建東西。
Boris說他最近在用Claude Agent SDK做各種小專案:幫他挑選公寓傢俱的購物助手、幫他起草郵件回覆的助手。Cat說她也在做類似的事情。這些東西可能永遠不會變成產品,但它們解決了他們自己的問題。
這讓我想起播客開頭的那句話:最好的產品往往來自解決你自己的問題。
我們現在每個人都有機會成為自己問題的解決者。工具的門檻在降低,模型的能力在提升,剩下的就是找到你自己的痛點,然後動手去做。
也許三個月後你做的東西會被淘汰。那又怎樣?做的過程本身就是學習,就是理解這個新世界運作方式的最好途徑。
當工具的終極形態是消失,人的角色反而更加清晰了:迴歸到創造本身。
不再是"我要學會用這個工具",而是"我要解決這個問題"。不再是"這個軟體怎麼操作",而是"我想做出什麼東西"。工具退場,創造者登場。
所以,這是一個沒有盡頭的打怪升級,是一個複雜系統的無限遊戲。
享受這個過程吧。
播客影片地址:https://youtu.be/IDSAMqip6ms












