蘋(píng)果開(kāi)發(fā)者自曝用Claude完成95%開(kāi)發(fā),開(kāi)發(fā)應(yīng)用已上架
蘋(píng)果開(kāi)發(fā)者自曝用AI開(kāi)發(fā)應(yīng)用程序,Claude含量95%!
事情是這樣的,一位蘋(píng)果開(kāi)發(fā)者最新發(fā)布了一款用于調(diào)試MCP服務(wù)器的原生macOS應(yīng)用Context——
一款幾乎完全由Claude Code構(gòu)建的應(yīng)用程序。

作者indragiek從2008年就開(kāi)始為Mac開(kāi)發(fā)軟件。

這次,他的目標(biāo)是使用Apple的SwiftUI框架,打造一款在macOS平臺(tái)上使用起來(lái)很順手且實(shí)用的開(kāi)發(fā)者工具。
與以往不同的是,Claude Code承擔(dān)了Context項(xiàng)目95%的工作量,indragiek聲稱:
在這個(gè)20000行代碼的項(xiàng)目中,我親手編寫(xiě)的代碼估計(jì)不到1000行。
“工程師”Claude也是好起來(lái)了,能給蘋(píng)果打工(doge)。
調(diào)侃歸調(diào)侃,下面讓我們來(lái)“學(xué)習(xí)”一下這位開(kāi)發(fā)者是怎么用Claude的。
蘋(píng)果開(kāi)發(fā)者教你“馴服”Claude
作為一名經(jīng)驗(yàn)豐富的工程師,Indragie像許多同行一樣,擁有一個(gè)“爛尾項(xiàng)目”list。
盡管能夠構(gòu)建項(xiàng)目原型,但最后20%的交付工作往往耗費(fèi)巨大時(shí)間和精力,導(dǎo)致項(xiàng)目擱置。
所以,他已經(jīng)6年未能成功發(fā)布任何一個(gè)副項(xiàng)目。
在今年2月,他開(kāi)始嘗試用Claude Code輔助完成項(xiàng)目,不過(guò)最后Claude幾乎幫他完成了所有工作。

Claude以“Agent循環(huán)”為開(kāi)發(fā)核心,僅通過(guò)一個(gè)簡(jiǎn)單的文本框來(lái)輸入提示詞,這直接 “取代”了作為VS Code分支的傳統(tǒng)IDE。
在實(shí)際開(kāi)發(fā)過(guò)程中,Claude能夠定位并閱讀項(xiàng)目中的現(xiàn)有源代碼、理解代碼風(fēng)格和設(shè)計(jì)模式、閱讀提供的額外文檔、生成測(cè)試驗(yàn)證、編譯程序并運(yùn)行測(cè)試,并根據(jù)編譯和測(cè)試失敗進(jìn)行迭代修復(fù)等。

經(jīng)Indragie反饋稱,在Swift和SwiftUI的使用上,Claude在Swift 5.5之前的版本上表現(xiàn)更出色,尤其在是在SwiftUI方面。
它能夠生成準(zhǔn)確但可能不夠美觀的UI代碼,但美觀的問(wèn)題可以通過(guò)迭代改善。
就像Indragie提到的那樣,直接在文本框輸入:讓它更美觀。
于是就得到了這樣的效果:

重點(diǎn)來(lái)了!
對(duì)于Swift Concurrency等重大變化和新舊API的選擇上,Claude有時(shí)會(huì)“拿捏不準(zhǔn)”。
于是Indragie創(chuàng)建一個(gè)包含使用現(xiàn)代API基本說(shuō)明的CLAUDE.md文件,可以讓Claude避免常見(jiàn)的“陷阱”。

Indragie強(qiáng)調(diào)“上下文工程”很重要,他采用了“預(yù)設(shè)Agent”的方法實(shí)現(xiàn)Claude的效能最大化。
他發(fā)現(xiàn),雖然模型擁有200k tokens的上下文窗口,但模型的性能會(huì)隨著上下文窗口的使用增加而下降,且“壓縮”機(jī)制可能導(dǎo)致重要的細(xì)節(jié)被丟失。

為此,他采用了“預(yù)設(shè)Agent”的方法,讓Agent預(yù)先閱讀額外的上下文(如 CLAUDE.md文件、特定文檔或源代碼)來(lái)提高輸出質(zhì)量。

Claude還需要詳細(xì)的需求規(guī)格說(shuō)明。
語(yǔ)音、打字等任何輸入方式都可以,不過(guò)Indragie稱自己更喜歡打字~

先打開(kāi)擴(kuò)展思考模式是關(guān)鍵!
為了避免Claude盲目地直接進(jìn)入實(shí)現(xiàn)階段而導(dǎo)致結(jié)果質(zhì)量不佳,Indragie會(huì)要求Claude先使用其它的擴(kuò)展思考模式并 “制定計(jì)劃”。
通過(guò)使用“think”<“think hard”<“think harder”<“ultrathink”等關(guān)鍵詞,可以激活Claude的不同級(jí)別擴(kuò)展思考,其中“ultrathink”消耗的token最多但能產(chǎn)生最佳結(jié)果。
Claude能夠獨(dú)立驅(qū)動(dòng)反饋循環(huán),使其能夠進(jìn)行更改、測(cè)試并收集失敗原因的上下文。
所以,Indragie建議設(shè)置有效的反饋循環(huán)——構(gòu)建、測(cè)試、修復(fù)錯(cuò)誤、修復(fù)用戶體驗(yàn)。
他使用了XcodeBuildMCP來(lái)簡(jiǎn)化構(gòu)建和運(yùn)行應(yīng)用的問(wèn)題,不過(guò),對(duì)于需要用戶交互才會(huì)觸發(fā)的Bug或UX問(wèn)題,仍然需要手動(dòng)提供日志或截圖。
除了編寫(xiě)代碼,Indragie還發(fā)現(xiàn)Claude Code作為一個(gè)通用模型,能完成的不止編碼任務(wù)。還包括編輯文案、規(guī)劃功能等。
他認(rèn)為最有用的一個(gè)是生成逼真的模擬數(shù)據(jù),這大大加速了UI原型的開(kāi)發(fā)和功能驗(yàn)證,尤其在沒(méi)有真實(shí)數(shù)據(jù)的情況下。

Indragie還發(fā)現(xiàn)構(gòu)建高質(zhì)量的自動(dòng)化幾乎是免費(fèi)的。
他讓Claude編寫(xiě)了一個(gè)2000行的Python發(fā)布腳本,該腳本能檢查環(huán)境、生成更新日志、生成Sparkle appcast(描述macOS應(yīng)用程序的更新信息的XML文件)、發(fā)布到GitHub并上傳調(diào)試等。
在腳本完成后,他使用了一個(gè)簡(jiǎn)單的單行提示詞來(lái)美化CLI輸出,最終得到了這個(gè)效果:

一番教學(xué)之后,Indragie意識(shí)到自己使用的主要工具只有兩個(gè):Claude Code和GitHub Desktop。
于是,他認(rèn)為未來(lái)的IDE將會(huì)非常不同,源代碼編輯器可能不再是IDE的核心,它們將專(zhuān)注于幫助開(kāi)發(fā)者預(yù)設(shè)Agent的上下文并設(shè)置對(duì)Agent至關(guān)重要的反饋循環(huán)。
成功發(fā)布Context應(yīng)用后,Indragie興奮地表示:
對(duì)我而言,這個(gè)過(guò)程中最令人興奮的事情不是我所構(gòu)建的應(yīng)用,而是我現(xiàn)在能夠再次滿足我的編程欲望并發(fā)布精良的副項(xiàng)目。這就像我每天多出了5個(gè)小時(shí),而我付出的代價(jià)只是每月200美元。
One More Thing
據(jù)Claude Code公布的數(shù)據(jù),自今年2月份上線以來(lái),它已經(jīng)被11.5萬(wàn)開(kāi)發(fā)者使用,并且在單周內(nèi)處理了1.95億行代碼。
假設(shè)Claude code是一個(gè)初級(jí)工程師,這些數(shù)據(jù)意味著它的年收入可達(dá)1.3億美元。

1億美元年薪的風(fēng)也算是吹到了Claude~
項(xiàng)目地址:https://github.com/indragiek/Context



















