冇人同你講:真正嘅工作喺 AI 話「Done」之後先開始
我喺唔識 Swift 嘅情況下 build 緊我第一個 iOS app。Claude Code 一個晚上 scaffold 咗成個 app。然後我打開 Simulator,真正嘅工作先開始。
我一世人都未打開過 Xcode。
我唔識 Swift。我唔識 SwiftUI。我唔知 @Observable macro 做乜或者點解 AVAudioSession 需要一個 category。兩日前,如果你問我 StoreKit 係乜,我會估係一個傢俬 app。
但我正喺 build 一個原生 iOS app——同時發現 AI 生成嘅 code 大約帶你去到 60%。最後嘅 40%,一個 codebase 變成一個 product 嘅部分,完全係人嘅工作。 呢個就係所有「我用 AI build 咗 X」嘅文都冇提嘅嘢。
呢個 app 係為 DIALØGUE 做嘅——我嘅 AI podcast 生成器。唔係 web wrapper。唔係 React Native。一個真正嘅 SwiftUI app,有 Apple Sign-In、in-app purchase、有 lock screen controls 嘅 audio player、同 7 種語言嘅 localization。
點解而家?
2 月 3 日,Apple 宣佈 Xcode 26.3 會 support agentic coding——用 Anthropic 嘅 Claude Agent SDK built in。唔止係 autocomplete。唔止係逐步建議。係完全自主嘅 agent 可以探索你嘅 project 結構、search Apple 嘅文檔、capture Xcode Preview 睇佢哋 build 緊乜、同自己 iterate through build 同 fix。
Claude Code 而家可以透過 MCP 同 Xcode 傾。佢可以睇到 Simulator。佢可以讀 build warning 同 error message。佢可以睇到 UI 實際上係咩樣同決定使唔使改。
呢個改咗我嘅計算。我諗咗幾個月做一個原生 iOS app 但一直拖住,因為我唔識 Swift。有咗 Claude Agent 喺 Xcode,個問題由「我可以幾快學識 Swift?」變成「我可以幾清楚描述我想要乜?」
佢仲未完。我仲喺最後嘅 polish 階段,仲喺搵到唔 work 嘅嘢,仲喺讀 Claude 幫我寫嘅 code 學 Swift。但到目前為止嘅故事——好似我 14 日 rebuild DIALØGUE 一樣——reinforced 同一個令人唔舒服嘅教訓。
Claude Code 一個晚上實際 Build 咗乜?
以下係我 git history 嘅樣子:
| 階段 | 發生乜事 | Commits |
|---|---|---|
| Design doc + implementation plan | 架構決定、12 個 task | 2 |
| Claude build「成個 app」 | Scaffold → auth → library → detail → studio → StoreKit → accessibility | 6 |
| 人類打開 Simulator | Fix、test、redesign、fix、test、redesign | 12+(仲繼續) |
第一個階段——Claude Code scaffold 成個 app——真係 impressive。一個晚上,我由一個空嘅 Xcode project 變成一個 compile 到嘅 app,有:
- Apple Sign-In、Google OAuth、email/password auth 同 MFA
- 5 步 podcast creation wizard
- 有 search 同 pull-to-refresh 嘅 podcast library
- 用
AVPlayer嘅 audio playback - StoreKit 2 in-app purchase 連 server-side verification
- Studio(recurring shows 管理)
- 7 種語言嘅 localization
- Blog webview 同 accessibility labels
69 個 Swift 檔。7,568 行 code。我寫咗大約零行。
呢個就係每篇 AI blog post 結束嘅地方。 勝利嘅 screenshot。「睇我 build 咗乜」嘅時刻。Commit 數同行數同唔應該可能嘅 timeline。
但我冇一個 app。我有一個 compile 到嘅 codebase。
實際用個 App 嘅時候爛咗乜?
我 tap 下 tap 下。嘢 load 到。某啲畫面 look okay。我諗,「可能真係 work 喎。」
然後我嘗試 create 一個 podcast。
「Done」Button 掉咗你嘅工作
Script editor 俾你喺 generate audio 之前 edit 個別 dialogue line。有個「Done」button。我 edit 咗一行,tap Done,然後⋯⋯我嘅 edit 消失咗。
個 button 喺 save 之前 exit 咗 edit mode。Code 入面 look 正確——editMode = false——但順序錯咗。Save 先,然後先 exit。
呢種 bug 會令用戶掟電話。AI 寫咗佢因為 logic 技術上係 valid——只係反轉咗。
真實 Data Crash 咗個 App
我 navigate 到一個由 production backend 生成嘅 podcast。Crash。research_facts field 返嚟係一個 object array({fact, source, reference, confidence}),但 Swift model expect 係 string array。同一個 pattern 到處都係——status enum 係 case-sensitive(completed vs COMPLETE),所以每個 status badge 都 show「Unknown」。
Claude build 咗 design doc 寫嘅嘢。Production database 唔同意。呢種嘢你只有用真實 data 先會發現,test data 唔得。
Realtime WebSocket 就係⋯⋯連唔到
喺 web 上,Supabase Realtime work 得好好。喺 iOS,WebSocket connection 靜靜 fail。冇 error、冇 crash。就係⋯⋯冇 update。
Fix 係 belt-and-suspenders 方法:keep Realtime subscription 但加一個 5 秒 polling fallback 無論如何都 run。唔 elegant,但可靠。Mobile network 唔可預測,你嘅用戶唔會 care status 點 update——只 care 佢有冇 update。
成個 App 用 System Colors
每個畫面都係 default iOS blue 同 gray。Light mode。Web app 有精心設計嘅 dark-mode aesthetic——amber 同 gold 配 charcoal,我叫佢「Studio Warmth」。Claude 乖乖 build 咗每個畫面,但用 system colors。
我要 touch 晒 24 個 view file。將每個 Color.accentColor 換成 Theme.brandPrimary。喺 root force .preferredColorScheme(.dark)。
呢個唔係 bug。AI 做咗合理嘅嘢。但「合理」同「好」係唔同嘅嘢。

Outline Review 係一個寫住「Approve」嘅 Button
Podcast generation flow 有一個互動階段:AI generate 一個 outline,你 review 完先繼續。喺 web 上,呢個係一個 expandable card interface,show 每個 segment 嘅 description、talking point 同 research source。
喺 iOS,Claude build 咗一個寫住「Approve」嘅 button。就係咁。冇 outline 內容。冇辦法睇你 approve 緊乜。Script review 都係——一個 button,唔係 editor。
Audio 唔播
Audio player look 正確。Play button、progress bar、lock screen controls。但 tap play 乜都冇。URL resolution chain 爛咗——signed download URL 喺 dev environment fail,fallback URL 用咗 Simulator resolve 唔到嘅內部 Docker hostname。
Fix 完 audio 同 redesign 咗 podcast detail page 加 integrated play controls 之後,每個 tab 底部嘅 persistent mini player bar 變咗多餘。我 delete 咗佢。Delete work 到但唔應該存在嘅 code——呢個係純粹人嘅判斷。
AI 生成嘅 Code vs 真正嘅 Product 係咩樣?
AI 生成嘅 code 架構上 sound 但體驗上空洞。 我唔係投訴——Claude Code 做到嘅嘢好 remarkable。由「我唔識 Swift」到一個有 auth、IAP、audio playback 同 7 語言 localization 嘅 compiling app,一個晚上?呢個本來要用我幾個月。
但有一個 narrative——喺 blog post、tweet、demo video——話 AI 寫 app 然後你只係 review。Ship。Done。
呢個唔係發生嘅事。以下係實際發生嘅:
-
Claude build 咗一個架構上 sound 嘅 scaffold。 揀 Supabase-direct(冇 custom API layer)意味住 iOS app 同 web app 傾同一個 backend。Auth、database、realtime、storage——全部 reuse。我只需要一個新嘅 server-side component(一個
verify-ios-purchaseEdge Function)。呢個架構決定係 brilliant 嘅,慳咗好多時間。 -
Claude 搞掂咗難嘅部分。 Apple Sign-In 用 CryptoKit 做 cryptographic nonce。StoreKit 2 purchase flow 連 server-side verification。
AVAudioSession設定 for background playback。呢啲如果我只靠文檔要用幾日先搞得掂。 -
Claude 搞錯咗 product 部分。 唔係 buggy 咁錯——係「呢個係一個 codebase 嘅樣,唔係一個 app 嘅感覺」咁錯。
| Claude Build 咗乜 | 實際需要乜 |
|---|---|
| 一個寫住「Approve」嘅 button | 一個有 research source 嘅 expandable outline reviewer |
| 每個畫面嘅 system colors | 24 個檔嘅 brand token、forced dark mode |
| 根據文檔 schema 嘅 JSON decoder | 根據 database 實際 return 嘅 custom decoder |
| Realtime subscription(web pattern) | Realtime + polling fallback(mobile pattern) |
| 一個 function 到嘅 creation wizard | 一個喺手機畫面放得落嘅 creation wizard |
左邊係正確嘅 code。右邊係一個 product。
我哋應該同下一代講乜關於 AI?
我幾個星期前寫過有個 teenage 女同唔知同佢講乜關於佢嘅未來。關於 execution skill 正被自動化同「我可以 think critically」嘅底線不停升高。
Build 呢個 iOS app 令呢件事更清晰——但唔係我預期嘅方向。
Implementation skill——Swift syntax、SwiftUI layout、StoreKit API——我唔需要。Claude 全部 handle 咗。如果「學 code」嘅意思係「學一個 programming language 嘅 syntax 同 API」,呢個建議嘅有效期係以月計,唔係年。
但以下係我 真正需要 嘅:product taste、design judgment、同打開 Simulator 實際用嗰樣嘢嘅紀律,而唔係信 code review。
呢啲唔只係「taste」。佢哋需要 critical thinking——真正嘅 critical thinking,唔係 buzzword 版本。嗰種你睇住一樣嘢 compile 到、pass test、一個 AI 自信話你知 done 咗,然後你話:「唔啱。我 show 你點解。」
呢個就係我哋 outsource 唔到嘅部分。而家唔得,可能永遠都唔得。AI 喺 generate solution 方面係非凡嘅。喺知道一個 solution 幾時以 log 入面睇唔到嘅方式出錯,佢好差。佢唔用個 product。佢唔揸住部電話。佢感受唔到一個 Done button 食咗你嘅工作嘅沮喪。需要有人 steer。需要有人 stay in the loop。需要有人提供嗰個 gut check 話「呢個 work 但佢唔 好。」
可能呢個就係我應該同我個女講嘅。唔係「學 code」——呢個窗口喺關緊。但亦唔係「just learn to think critically」,因為呢個太 vague。更具體啲嘅:
學做嗰個打開 Simulator 嘅人。
做嗰個用真實 data 測試真正嘅嘢同喺用戶之前留意到乜嘢唔啱嘅人。用好嘅 product 同差嘅 product 同理解佢哋嘅分別嚟 build taste。建立 confidence 去 push back 一樣技術上正確但體驗上爛嘅嘢——就算 push back 你嘅對象係一個聽落好肯定嘅 AI。
Loop 入面嘅人唔係一個形式。佢係成個 product。
我仲唔確定呢個夠唔夠。但呢個係我到目前為止可以講到最具體嘅嘢。
iOS App 而家嘅狀態係咩?
個 app 仲喺 development。我喺 polish 階段——嗰個 AI blog post 扮唔存在嘅階段。用真正嘅 production data 測試每個 view。搵嗰啲只有實際用先會浮面嘅 edge case。
我過去兩日嘅 git log 入面 fix: commit 多過 feat: commit。呢個 feel right。Feature 係容易嘅部分。Fix 先係 product。
以下係而家嘅狀態:
| Work 到嘅 | 仲要做嘅 |
|---|---|
| Auth(Apple、Google、email、MFA) | PDF upload(document picker + Supabase Storage) |
| 5 步 creation wizard 連完整 customization | Offline MP3 download |
| Podcast detail 連 outline/script review | Push notification(delay 到 v1.1) |
| Audio playback 連 lock screen controls | TestFlight beta distribution |
| StoreKit 2 in-app purchase | App Store submission |
| Studio(recurring shows) | |
| 7 語言 localization | |
| Studio Warmth design system |
我會喺 app 上到 App Store 時寫 follow-up。或者被 reject 嘅時候。以 Apple 嚟講,reject 嘅故事可能更有趣。
AI Development 實際加速到幾快?
等我 update 嗰個一直 haunt 我嘅 table:
| Project | 複雜度 | Build 時間 |
|---|---|---|
| DIALØGUE v1 | MVP podcast generator | ~6 個月 |
| STRAŦUM | 10 個 AI agent、11 個 framework、multi-tenant | 75 日 |
| Site redesign | WordPress frontend 大翻新 | 3 日 |
| DIALØGUE v2 | 完整 web app rebuild | 14 日 |
| Blog migration | WordPress → Next.js、490 篇文、Sydney RAG | 4 日 |
| DIALØGUE iOS | 原生 iOS app,第一次用 Swift | 仲喺 progress——但 scaffold 用咗一個晚上 |
我腦入面加咗一個新 column:「Claude 嘅時間」vs「我嘅時間」。呢個 ratio 一直喺變。Claude 嘅部分越來越短。我嘅部分差唔多一樣。(我喺用 4 日 rebuild blog backend 嗰陣留意到同樣嘅 pattern——migration 好快,但之後嘅 8 日 compounding refinement 先係 site 真正成形嘅地方。)
而啲工具不停進步。當 Apple 同 Anthropic 喺 2 月 3 日宣佈 Xcode + Claude Agent SDK integration,呢個唔止係 press release。佢根本改變咗乜嘢係可能嘅。Claude 而家可以睇到 Simulator、讀 build error、capture Preview、同 visually iterate——呢個令 iOS development 對人難嘅 exact loop 正喺變成 AI 嘅 native 能力。
嗰個宣佈之後兩個星期,我開始喺唔識 Swift 嘅情況下 build iOS app。呢個唔係巧合。
下一個做呢件事嘅人唔需要寫 blog post 講。佢只會⋯⋯normal。呢個就係加速由入面望出去嘅樣——每個 milestone feel 比上一個冇咁 remarkable,就算客觀嘅距離一直喺增長。
呢個就係冇人同你講嘅嘢。AI 越來越快。人嘅工作唔係。至少而家仲唔係。
常見問題
唔識 Swift 真係可以用 AI build iOS app?
可以——Claude Code 一個晚上 scaffold 咗 69 個 Swift 檔同 7,568 行 code,包括 Apple Sign-In、StoreKit 2 in-app purchase、audio playback 同 7 語言 localization。但「build」呢個字做咗好多工。AI produce 一個 compile 到嘅 codebase;將佢變成你真正會 ship 嘅 product 需要大量嘅人工測試、design judgment 同真實 data 嘅 debugging。
Xcode 26.3 配 Claude Agent SDK 改變咗乜?
2026 年 2 月 3 日宣佈,Xcode + Claude Agent SDK integration 俾 AI agent 探索你嘅 project 結構、search Apple 文檔、capture Xcode Preview、睇 Simulator、讀 build error、同自主 iterate。呢個根本改變咗唔識 Swift 嘅 developer 嘅可能性——問題由「我可以學識呢個語言嗎?」變成「我可以幾清楚描述我想要乜?」
AI build 嘅 app 實際需要幾多人嘅工作?
根據我嘅經驗,AI 帶你去到大約 60%——架構、boilerplate、難嘅 API integration。剩返嘅 40% 係 product 工作:fix 只有真實 data 先出現嘅 bug、redesign function 到但 feel 唔啱嘅 UI、同做關於乜嘢留乜嘢刪嘅判斷。嗰 40% 先係 product 真正所在。
用 AI coding agent build 嘅時候最重要嘅 skill 係乜?
Product taste、design judgment 同 critical thinking。Implementation skill(syntax、API、framework)越來越由 AI handle。Outsource 唔到嘅係用真實 data 測試真正嘅嘢、留意到乜嘢唔啱、同 push back 一樣技術上正確但體驗上爛嘅嘢嘅能力。
DIALØGUE iOS app 喺 App Store 有未?
未——仲喺 development,喺最後 polish 階段。Feature work 到,但我仲喺用 production data 測試同搵嗰啲只有實際用先浮面嘅 edge case。App Store 上架(或者被 reject)時我會寫 follow-up。
仲喺 build。仲未 done。仲喺搞緊點同我個女講。






