聞樂 發(fā)自 凹非寺
量子位 | 公眾號(hào) QbitAI
蘋果開發(fā)者自曝用AI開發(fā)應(yīng)用程序,Claude含量95%
事情是這樣的,一位蘋果開發(fā)者最新發(fā)布了一款用于調(diào)試MCP服務(wù)器的原生macOS應(yīng)用Context
一款幾乎完全由Claude Code構(gòu)建的應(yīng)用程序。
作者indragiek從2008年就開始為Mac開發(fā)軟件。
這次,他的目標(biāo)是使用Apple的SwiftUI框架,打造一款在macOS平臺(tái)上使用起來很順手且實(shí)用的開發(fā)者工具。
與以往不同的是,Claude Code承擔(dān)了Context項(xiàng)目95%的工作量,indragiek聲稱:
在這個(gè)20000行代碼的項(xiàng)目中,我親手編寫的代碼估計(jì)不到1000行。
“工程師”Claude也是好起來了,能給蘋果打工(doge)。
調(diào)侃歸調(diào)侃,下面讓我們來“學(xué)習(xí)”一下這位開發(fā)者是怎么用Claude的。
蘋果開發(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月,他開始嘗試用Claude Code輔助完成項(xiàng)目,不過最后Claude幾乎幫他完成了所有工作。
Claude以“Agent循環(huán)”為開發(fā)核心,僅通過一個(gè)簡單的文本框來輸入提示詞,這直接 “取代”了作為VS Code分支的傳統(tǒng)IDE。
在實(shí)際開發(fā)過程中,Claude能夠定位并閱讀項(xiàng)目中的現(xiàn)有源代碼、理解代碼風(fēng)格和設(shè)計(jì)模式、閱讀提供的額外文檔、生成測試驗(yàn)證、編譯程序并運(yùn)行測試,并根據(jù)編譯和測試失敗進(jìn)行迭代修復(fù)等。
經(jīng)Indragie反饋稱,在Swift和SwiftUI的使用上,Claude在Swift 5.5之前的版本上表現(xiàn)更出色,尤其在是在SwiftUI方面。
它能夠生成準(zhǔn)確但可能不夠美觀的UI代碼,但美觀的問題可以通過迭代改善。
就像Indragie提到的那樣,直接在文本框輸入:讓它更美觀。
于是就得到了這樣的效果:
重點(diǎn)來了!
對(duì)于Swift Concurrency等重大變化和新舊API的選擇上,Claude有時(shí)會(huì)“拿捏不準(zhǔn)”。
于是Indragie創(chuàng)建一個(gè)包含使用現(xiàn)代API基本說明的CLAUDE.md文件,可以讓Claude避免常見的“陷阱”。
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文件、特定文檔或源代碼)來提高輸出質(zhì)量。
Claude還需要詳細(xì)的需求規(guī)格說明
語音、打字等任何輸入方式都可以,不過Indragie稱自己更喜歡打字~
先打開擴(kuò)展思考模式是關(guān)鍵!
為了避免Claude盲目地直接進(jìn)入實(shí)現(xiàn)階段而導(dǎo)致結(jié)果質(zhì)量不佳,Indragie會(huì)要求Claude先使用其它的擴(kuò)展思考模式并 “制定計(jì)劃”。
通過使用“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)行更改、測試并收集失敗原因的上下文。
所以,Indragie建議設(shè)置有效的反饋循環(huán)——構(gòu)建、測試、修復(fù)錯(cuò)誤、修復(fù)用戶體驗(yàn)。
他使用了XcodeBuildMCP來簡化構(gòu)建和運(yùn)行應(yīng)用的問題,不過,對(duì)于需要用戶交互才會(huì)觸發(fā)的Bug或UX問題,仍然需要手動(dòng)提供日志或截圖。
除了編寫代碼,Indragie還發(fā)現(xiàn)Claude Code作為一個(gè)通用模型,能完成的不止編碼任務(wù)。還包括編輯文案、規(guī)劃功能等。
他認(rèn)為最有用的一個(gè)是生成逼真的模擬數(shù)據(jù),這大大加速了UI原型的開發(fā)和功能驗(yàn)證,尤其在沒有真實(shí)數(shù)據(jù)的情況下。
Indragie還發(fā)現(xiàn)構(gòu)建高質(zhì)量的自動(dòng)化幾乎是
他讓Claude編寫了一個(gè)2000行的Python發(fā)布腳本,該腳本能檢查環(huán)境、生成更新日志、生成Sparkle appcast(描述macOS應(yīng)用程序的更新信息的XML文件)、發(fā)布到GitHub并上傳調(diào)試等。
在腳本完成后,他使用了一個(gè)簡單的單行提示詞來美化CLI輸出,最終得到了這個(gè)效果:
一番教學(xué)之后,Indragie意識(shí)到自己使用的主要工具只有兩個(gè):Claude Code和GitHub Desktop。
于是,他認(rèn)為未來的IDE將會(huì)非常不同,源代碼編輯器可能不再是IDE的核心,它們將專注于幫助開發(fā)者預(yù)設(shè)Agent的上下文并設(shè)置對(duì)Agent至關(guān)重要的反饋循環(huán)
成功發(fā)布Context應(yīng)用后,Indragie興奮地表示:
對(duì)我而言,這個(gè)過程中最令人興奮的事情不是我所構(gòu)建的應(yīng)用,而是我現(xiàn)在能夠再次滿足我的編程欲望并發(fā)布精良的副項(xiàng)目。這就像我每天多出了5個(gè)小時(shí),而我付出的代價(jià)只是每月200美元。
One More Thing
據(jù)Claude Code公布的數(shù)據(jù),自今年2月份上線以來,它已經(jīng)被11.5萬開發(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
[1]https://www.indragie.com/blog/i-shipped-a-macos-app-built-entirely-by-claude-code
[2]https://news.ycombinator.com/item?id=44481286
[3]https://x.com/deedydas/status/1941683553361854710
— 完 —
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.