你的架構師在週二晚上11點發佈了身份驗證模組。沒有等待審查的拉取請求。隔天早上也沒有站會來解釋合併衝突。只有一位資深工程師和Claude Code,速度比你上一個四人團隊還要快。五個月前,投資者說這個物流平台需要18個月和50萬美元的薪資預算。上週,他們給出了200萬美元的估值。整個工程團隊?一個了解領域的人,搭配一個在第一次嘗試時就能寫出生產代碼的AI。沒有海外開發者。沒有承包商發票。沒有積灰的吉拉工單。但三個失敗模式幾乎摧毀了這個項目——第三個讓我們損失了兩週永遠回不來的時間。

我寫這篇文章不是為了炒作AI。我已經被炒作周期灼傷過足夠多次了。我寫這篇是因為這個項目發生的事情從根本上改變了我對團隊構成、項目估算,以及當你把深厚的架構知識與AI輔助開發配對時真正可能做到什麼的思考。數字說話——我們完成了傳統6-8人工程師團隊需花費大約18個月才能達到的里程碑,而我們用了不到5個月。

讓我精確地帶你瞭解具體怎麼做的。

目錄

項目:我們實際在構建什麼

我不能說出客戶名稱——NDA地盤——但我可以描述這個平台。這是一個物流領域的B2B SaaS產品。多租戶架構。實時追蹤儀表板。複雜的角色訪問控制,跨越組織、團隊和個人用戶。與14個不同第三方API的整合(承運商、支付處理商、海關數據庫)。面向客戶的入口和內部管理系統。

這種項目在典型的代理設置中,你會配備一個技術主管、2-3名資深開發者、幾個中級開發者、一個專職DevOps人員,以及可能一個QA工程師。另一個代理的原始估算是320萬美元,20個月,9人團隊。

我們提議200萬美元、5個月、一位架構師。他們認為我們瘋了。說實話?我也有點這麼想。

為什麼選擇一位架構師而不是整個團隊

小團隊有個違反直覺的地方:9人項目的通信開銷非常巨大。Fred Brooks在1975年寫過這個,現在仍然成立。9個工程師有36個潛在的通信通道。會議成倍增加。合併衝突變成日常儀式。總有人被卡住等著別人的拉取請求審查。

一位架構師的情況下,整個系統狀態活在一個人的頭腦裡。沒有在拉取請求中解釋你方法的背景切換稅。沒有委員會設計。沒有兩小時的衝刺計劃會議。

但一個人只能打那麼快。一個人只能在工作記憶中保持那麼多文件。一個人在下午6點會疲勞,在晚上8點會犯錯誤。

這就是Claude Code的用武之地。不是架構師的替代品,而是力量倍增器。架構師做出每一個決策。Claude Code以其他方式需要4-5個開發者的速度執行。

架構師的角色

我們的架構師——叫他Marcus——有15年的經驗。他以前構建過這個規模的系統。他在這個項目上的工作是:

  • 系統設計和架構決策
  • 定義模組邊界和數據契約
  • 編寫關鍵路徑代碼(身份驗證、支付處理、數據管道編排)
  • 審查和細化Claude Code生成的一切
  • 基礎設施和部署架構
  • 安全審計

沒有做的:編寫模板CRUD端點、從設計構建UI組件、為直接邏輯編寫單元測試、創建數據庫遷移,或搭建新服務。Claude Code處理所有這些。

Claude Code如何真正融入實際工作流

讓我具體說明「使用Claude Code」在日常工作中實際看起來是什麼樣的,因為行銷材料沒有捕捉現實。

Marcus會以結構化的方式開始每天的工作。不是含糊的提示,比如「給我構建一個用戶管理系統」。相反,他會創建我們開始稱為「架構簡報」的東西——詳細的文件,指定:

  1. 模組的責任和邊界
  2. 數據模型與確切的字段類型和關係
  3. API契約(端點、請求/回應形狀)
  4. 業務規則和邊界情況
  5. 錯誤處理期望
  6. 它需要與哪些現有模組整合

然後他會將這些分塊提供給Claude Code。典型的會話看起來像這樣:

# Marcus會在項目目錄中使用Claude Code CLI
# 首先,建立背景
claude "讀取/src/modules/shipment/和/src/lib/database/schema.ts。
在我們構建發票模組之前,我需要你理解現有的模式。"

# 然後,帶有架構簡報的實際構建指令
claude "按照/docs/briefs/invoicing.md中的架構簡報構建發票模組。
遵循與發貨模組完全相同的模式進行服務層、存儲庫層和路由處理程序。
使用現有的錯誤處理中間件。為服務層中的所有業務邏輯編寫測試。"

Claude Code然後會生成模組——通常15-30個文件,包括類型、模式、服務、存儲庫、路由處理程序、中間件和測試。Marcus會審查輸出、進行更正和迭代。整個中等複雜性模組的週期大約需要2-3小時,而不是資深開發者需要的2-3天。

迭代循環

沒有人告訴你關於AI輔助開發的東西:第一個輸出很少是生產就緒的。它大概是70-80%在那裡。但剩下的20-30%是架構師的專業知識最重要的地方。

Marcus發展了一個節奏:

  1. 生成 — Claude Code生成初始實現
  2. 審查 — Marcus讀取每一個文件,標記問題
  3. 細化 — 具體的更正反饋給Claude Code
  4. 強化 — Marcus手動處理安全關鍵部分
  5. 測試 — 執行生成的測試,添加Claude遺漏的邊界情況

這個循環通常為每個模組經過2-3個週期。到項目第三個月,Claude Code生成的首次代碼更接近85-90%的生產就緒,因為代碼庫已經建立了足夠的模式供其遵循。

技術棧和架構決策

我們刻意選擇了棧來最大化AI輔助生產力:

  • Next.js 14 (App Router) — 用於客戶入口和管理儀表板
  • Node.js with Fastify — 用於API層(與Next.js分開)
  • PostgreSQL — 主數據庫
  • Redis — 緩存、會話管理、實時發佈/訂閱
  • Drizzle ORM — 類型安全數據庫訪問
  • Turborepo — 單個存儲庫管理
  • Vercel — 前端部署
  • AWS (ECS Fargate) — API和背景工作者

我們選擇Next.js具體是因為模式已經確立,Claude Code對App Router約定有深入的訓練數據。這比人們想象的重要得多。如果我們選擇了像Rust後端結合HTMX這樣的奇特東西,AI輸出質量會大幅下降。你可以了解更多關於我們如何處理大規模Next.js開發的信息。

Drizzle ORM是這個項目相對Prisma的深思熟慮選擇。Claude Code生成更好的Drizzle模式,因為它們只是TypeScript——沒有自定義DSL出錯。加上,當你快速生成大量模式更改時,遷移故事更簡單。

// 例子:Claude Code在第一次嘗試時生成了這個發票模式,
// 需要最少的更正
import { pgTable, uuid, varchar, decimal, timestamp, pgEnum } from 'drizzle-orm/pg-core';
import { relations } from 'drizzle-orm';
import { shipments } from './shipments';
import { organizations } from './organizations';

export const invoiceStatusEnum = pgEnum('invoice_status', [
  'draft', 'pending', 'sent', 'paid', 'overdue', 'cancelled', 'refunded'
]);

export const invoices = pgTable('invoices', {
  id: uuid('id').primaryKey().defaultRandom(),
  organizationId: uuid('organization_id').notNull().references(() => organizations.id),
  shipmentId: uuid('shipment_id').references(() => shipments.id),
  invoiceNumber: varchar('invoice_number', { length: 50 }).notNull().unique(),
  status: invoiceStatusEnum('status').notNull().default('draft'),
  subtotal: decimal('subtotal', { precision: 12, scale: 2 }).notNull(),
  taxAmount: decimal('tax_amount', { precision: 12, scale: 2 }).notNull().default('0'),
  totalAmount: decimal('total_amount', { precision: 12, scale: 2 }).notNull(),
  currency: varchar('currency', { length: 3 }).notNull().default('USD'),
  dueDate: timestamp('due_date', { withTimezone: true }).notNull(),
  paidAt: timestamp('paid_at', { withTimezone: true }),
  createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
  updatedAt: timestamp('updated_at', { withTimezone: true }).notNull().defaultNow(),
});

export const invoiceRelations = relations(invoices, ({ one, many }) => ({
  organization: one(organizations, {
    fields: [invoices.organizationId],
    references: [organizations.id],
  }),
  shipment: one(shipments, {
    fields: [invoices.shipmentId],
    references: [shipments.id],
  }),
  lineItems: many(invoiceLineItems),
}));

Claude Code做得好的地方

讓我們具體說明。以下是Claude Code真正加速開發的地方:

模板和CRUD操作

這是明顯的。生成REST端點、請求驗證模式(我們使用了Zod)、回應序列化器、基本服務方法——Claude Code在幾分鐘內完成這些。在整個項目中,我們估計有大約180個API端點。也許140個是標準CRUD或查詢操作,Claude Code以最少的修訂生成了這些。

測試生成

Claude Code在項目中編寫了大約2400個測試。它們都完美嗎?不。大約15%需要重大返工。但有85%的測試套件生成且運作是一個巨大的時間節省者。Marcus將他的測試精力集中在整合測試和Claude Code無法預見的複雜邊界情況上。

UI組件開發

客戶入口有大約60個獨特的頁面視圖。對於每一個,Marcus會提供Figma設計參考和API契約,Claude Code會生成React組件、數據獲取鉤子(我們使用了TanStack Query)、表單處理(React Hook Form + Zod),以及加載/錯誤狀態。輸出始終良好——也許首次生成時75%像素精確。

數據庫遷移和模式演變

隨著需求演變(它們總是演變),Claude Code順利處理模式遷移。描述你需要的改變,它生成遷移文件、更新模式、更新受影響的查詢,並調整TypeScript類型。曾經是一個45分鐘的小心重構會議變成了一個10分鐘的審查批准週期。

文檔

Claude Code生成了API文檔、內聯代碼註釋、README文件,甚至運維手冊文件。Marcus會審查和調整,但基本輸出是真正有用的。我們最終得到了比我見過的90%項目更好的文檔,僅僅因為生成它的成本很低。

Claude Code失敗的地方及我們的解決方案

這一部分比成功故事更重要。如果你計劃以這種方式使用AI,你需要知道牆在哪裡。

有多個依賴的複雜業務邏輯

發貨路由引擎——需要同時考慮承運商可用性、成本優化、海關要求、交付窗口和容量約束——超出了Claude Code能很好處理的範圍。它會生成看起來合理的東西,但有可能花錢的細微邏輯錯誤。

Marcus手動編寫了這個模組。花了大約兩週。這正是證明擁有資深架構師而不是試圖用AI解決所有問題的工作。

安全關鍵代碼

我們從未信任Claude Code進行身份驗證流程、支付處理或加密,不進行逐行審查。很好的事——它偶爾生成技術上功能的JWT驗證,但錯過了邊界情況,如令牌過期時鐘偏差,或在數據庫查詢前沒有適當淨化輸入,儘管使用了ORM。

經驗法則:如果這段代碼中的錯誤可能會花錢或洩露數據,人類編寫它,另一個人類審查它。

長期架構一致性

到第三個月,代碼庫大到足以讓Claude Code有時會「忘記」較早建立的模式,即使提供了背景。它可能在一個模組中使用不同的錯誤處理方法,與另一個不同。Marcus需要警惕這些不一致。

我們通過維護一個生活「約定」文件來緩解這一點,該文件包含在每個Claude Code會話中。把它想象成一個風格指南,但用於架構模式。

性能優化

Claude Code生成運作的代碼,但不總是生成快速的代碼。進行N+1提取的數據庫查詢。不必要重新渲染的React組件。加載超過需要的API端點。

Marcus在審查時花費了大約20%的時間進行性能優化。不是破壞交易,但值得預算的東西。

經濟學:成本分解和ROI

這是每個人都想看的部分。真實數字。

成本類別 傳統團隊(估算) AI加速(實際)
工程薪資(18個月/5個月) $1,890,000 $175,000
Claude Code API/訂閱 $0 $12,400
基礎設施(開發/預備) $48,000 $8,200
項目管理 $216,000 $0*
QA/測試 $180,000 $22,000**
設計(承包) $120,000 $95,000
DevOps/基礎設施設置 $96,000 $35,000
總計 $2,550,000 $347,600

Marcus使用Linear自行管理任務追蹤。無PM開銷。

*在最後6週簽訂了QA專家。

Claude Code成本分解為大約$2,500/月。那是Max計劃(訂閱$100/月)加上擴展會話的API成本。有些日子Marcus會在重度生成會話期間燒掉$150-200的API調用。大多數日子是$40-80。

該項目以200萬美元計費。我們的總交付成本低於350,000美元。我讓你做利潤數學。

速度比較

里程碑 傳統時間表 AI加速時間表
架構和設計 6週 3週
核心平台(身份驗證、多租戶、基本API) 10週 3週
功能開發(所有模組) 32週 10週
整合(14個第三方API) 12週 4週
測試和QA 8週 3週
部署和強化 4週 2週
總計 72週 25週

對考慮AI加速開發的團隊的教訓

在這個項目之後,我一直在思考這對我們未來構建軟件的方式意味著什麼。這是我會告訴任何考慮這種方法的團隊或代理的東西。

你仍然需要一位資深架構師。可能比以前更需要。

AI不消除專業知識的需求——它放大你帶來的任何專業知識(或缺乏)。使用Claude Code的初級開發者將以初級質量更快地發佈代碼。使用Claude Code的資深架構師將以以前不可能的速度發佈資深質量代碼。

最壞的可能情況是一個認為自己資深的中級開發者使用AI生成他們無法適當評估的代碼。那就是你得到看起來表面良好但在負荷下崩潰的代碼庫的方式。

到處都有約定優於配置

代碼庫的模式越可預測,AI執行得越好。我們在每個模組中使用了相同的文件結構、命名約定和代碼組織。這種一致性隨著Claude Code學習匹配現有模式而帶來巨大紅利。

如果你在使用無頭CMS架構,對內容類型、API路由和組件結構有嚴格的約定使AI生成的代碼戲劇性地更可靠。

投資架構簡報

Claude Code輸出的質量直接與Marcus架構簡報的質量相關。含糊的指令生成含糊的代碼。具有明確數據模型、業務規則和整合要求的詳細簡報生成接近生產就緒的代碼。

我們估計Marcus花費了大約30%的時間編寫架構簡報和審查輸出,傳統團隊花費的實施時間的70%由Claude Code處理。

AI輔助開發改變定價模型

如果你是一個代理,這是令人不適的對話。當一位架構師能交付曾經需要8人團隊的東西時,你如何定價?我們相信基於價值的定價——客戶為結果付費,不管是否花費1個人或10個人構建它。無論如何,平台值200萬美元。

如果你對這種方法對你項目的運作感興趣,我們的定價頁面分解了我們在這個新現實中如何思考項目範圍。

不是每個項目都適合這個模型

這個有效是因為:

  • 需求定義明確(物流是一個成熟領域)
  • 我們有真正資深的架構師可用
  • 技術棧是主流的(大AI訓練數據)
  • 客戶相信我們不微觀管理團隊規模就交付

需求模糊、有重R&D組件,或專門領域(醫療設備、有監管要求的金融工具)的項目需要更多人類判斷,應該據此配備。

對於使用像Astro這樣的框架構建的項目,生態系統是新的,AI訓練數據較薄,與React/Next.js項目相比,你會看到來自AI工具的加速較少。

常見問題

重度開發使用Claude Code實際上每個月要花多少錢?

在這個項目中,我們平均全部$2,500/月。Claude Max訂閱是$100/月(或從2026年初起高層級$200/月),API使用取決於你生成多少代碼。重度日子$150-200的API成本。輕審查和細化日子是$40-80。Anthropic也引入了Max計劃,$200/月,包含可能降低變動成本的重要使用。

初級開發者能用相同方式使用Claude Code嗎?

不,這很重要。Claude Code放大你現有的技能水平——它不替代架構知識。初級開發者使用Claude Code會更快地生成代碼,但他們不會發現資深工程師立即識別的細微錯誤、安全問題、性能問題或架構不一致。你需要能評估輸出的人,不只是接受它。

代碼質量呢——AI生成的代碼可維護嗎?

完全取決於你給它的約束。我們生成的代碼通過了人類編寫的代碼相同的棉絨規則、類型檢查和代碼審查標準。訣竅是在項目早期建立強模式,以便AI有好的例子遵循。我們維護了一個活約定文件,包含在每個Claude Code會話中。發佈六個月後,維護平台的團隊沒有報告任何不尋常的維護負擔。

這個方法適用於前端重項目嗎?

是的,有警告。Claude Code善於生成React組件、表單處理、數據獲取鉤子,和狀態管理代碼。它在從設計生成像素完美的CSS佈局時不那麼可靠——你對視覺打磨需要更多迭代週期。我們發現它的首次UI生成精度大約是後端代碼85-90%精度的75%。

只有一個開發者時,你如何進行代碼審查?

Marcus審查了所有AI生成代碼的每一行。我們也在項目期間簽訂了承包安全專家進行兩次聚焦審計會議(第12週和第22週)。最後階段,QA專家加入了六週。缺乏同儕代碼審查是真實的風險——我們通過自動工具(TypeScript嚴格模式、具有積極規則的ESLint、Vitest有覆蓋閾值)和外部審計來緩解它。

Claude Code生成錯誤代碼時會發生什麼?

經常發生。首次通過很少完美。我們在工作流中建立了這個期望——生成、審查、細化、強化。大多數錯誤在Marcus審查週期中被捕捉。自動測試套件(也主要是AI生成但人類審查)捕捉回歸問題。關鍵見解是調試AI生成代碼比從頭開始編寫正確代碼更快,因為你開始於幾乎正確的東西。

這僅對綠地項目可行,還是適用於現有代碼庫?

Claude Code實際上與現有代碼庫運作良好,因為它可以讀取和理解現有模式。在這個項目中,較晚的模組受益於將較早模組作為參考。我們從那以後在現有客戶項目上將Claude Code用於功能添加,有好結果。關鍵是為它提供足夠的背景關於現有約定和模式。如果你的代碼庫不一致或文檔不良,AI生成的添加將繼承那個不一致。

你會再次做這個嗎?

絕對會。我們已經在做了。現在有兩個項目以這個模型運行——一個有單一架構師,另一個有兩個工程師用於更複雜系統。經濟學太引人注目了,無法忽視。但我想清楚:這不是關於替換開發者。它是關於改變資深架構師與輸出的比率。你仍然需要人類專業知識。你只是需要更少的人類輸入。如果你考慮一個項目並想探索這個模型可能看起來像什麼,聯絡我們——我們很樂意討論是否適合。