2026年8月15日 星期六

AI Review Flow:當 AI 寫 Code 的速度超過人類 Review 的速度

 

AI Review Flow:當 AI 寫 Code 的速度超過人類 Review 的速度

不要讓 AI 只負責寫 Code,而是讓 AI 參與整個 Software Engineering 品質循環。

過去幾年,AI Coding 工具快速改變了軟體開發的方式。

以前,一個工程師可能需要花半天時間完成一個 CRUD 功能:建立 Migration、Model、Controller、Validation、API Resource,再補上 Admin 後台的 Form 與 Table。

現在,這些工作可能只需要幾分鐘。

AI 可以快速產生:

  • Migration
  • Model
  • Service
  • Controller
  • API Resource
  • Validation
  • Filament Resource
  • Form
  • Table
  • Test

甚至可以直接依照既有專案結構,模仿現有程式碼完成一整套功能。

這看起來是一件非常美好的事情。

但當程式碼產生速度提升之後,一個新的問題也開始浮現:

AI 產生程式碼的速度,已經遠遠超過人類逐行閱讀與驗證程式碼的速度。

於是,軟體開發真正的瓶頸開始從「Coding」轉移到另一件事情:

Verification

我們真正需要問的,已經不只是:

AI 能不能幫我寫 Code?

而是:

AI 寫完之後,我怎麼知道它寫對了?

這也是我認為 AI 時代非常重要的一個工程概念:

AI Review Flow


一、AI 最大的問題不是不會寫,而是太容易「寫得像對的」

很多人第一次使用 AI Coding 工具時,最容易被它的「完成度」驚艷。

你只要描述:

幫我新增一個 CMS Block。

AI 很快就可以產生一大堆程式碼。

Migration 有了。

Model 有了。

Enum 有了。

Filament Form 有了。

API Resource 有了。

Controller 也有了。

而且程式碼通常看起來非常合理。

這正是 AI 最危險的地方。

AI 最危險的錯誤,通常不是:

Parse error

這種錯誤很容易被發現。

真正危險的是:

程式碼完全合法,而且看起來非常漂亮,但商業邏輯是錯的。

例如:

if ($block->is_active) {
    return $block;
}

這段程式碼本身完全沒有問題。

但如果真正的商業規則是:

is_active = true
AND page.is_published = true
AND publish_at <= now()
AND expired_at > now()

那麼這段程式碼就是錯的。

問題不是 PHP。

不是 Laravel。

也不是 Coding Style。

而是:

AI 沒有完整理解 Specification。

所以 AI Code Review 最重要的事情,不應該只是檢查:

「這段 Code 寫得好不好?」

而應該檢查:

「這段 Code 是否真的符合規格?」

這兩件事情,看起來很接近,但其實完全不同。


二、AI Coding 時代,真正的瓶頸正在從 Coding 轉移到 Verification

傳統軟體開發流程通常是:

需求
 ↓
分析
 ↓
Coding
 ↓
Code Review
 ↓
Test
 ↓
Deploy

在這個流程裡,Coding 是很大的成本。

因此工程師會想辦法提高 Coding 效率。

例如:

  • IDE
  • Framework
  • Package
  • Code Generator
  • ORM
  • Admin Generator
  • AI Coding

但 AI 出現之後,Coding 的成本開始大幅下降。

原本需要兩個小時的 CRUD,可能變成十五分鐘。

原本需要一天的後台功能,可能幾個小時就完成。

問題是:

Review 沒有同步變快。

人類還是只有兩隻眼睛。

還是需要理解:

  • 這段程式在做什麼?
  • 為什麼這樣做?
  • 是否符合需求?
  • 有沒有漏掉條件?
  • 有沒有破壞既有功能?
  • 有沒有安全問題?
  • 有沒有資料一致性問題?

於是就產生了一個新的矛盾:

Code Generation
      ↑
      │
      │  AI:非常快
      │
      ↓
Verification
      │
      │  Human:有限速度
      ↓

如果我們只是一直提高 AI 的 Coding 能力,最後很可能會發現:

Code 寫得越快,Review 反而成為最大的瓶頸。

所以 AI 時代真正需要升級的,不只是 Coding。

而是整個 Review Flow。


三、完整的 AI Review Flow

一個比較完整的 AI Software Engineering 流程,可以變成:

需求
 ↓
Specification
 ↓
AI Implementation
 ↓
AI Self Review
 ↓
Static Analysis / Test
 ↓
AI Code Review
 ↓
Human Review
 ↓
修正
 ↓
Regression Test
 ↓
Merge

這裡最大的改變是:

AI 不再只是 Developer,而同時成為 Reviewer。

但這裡有一個非常重要的前提。

不要讓同一個 AI 同時當 Developer 和 Reviewer

如果我們叫 AI:

幫我完成這個功能。

AI 寫完之後再說:

幫我 Review 剛才的程式碼。

它很容易出現一個問題:

AI 會用自己剛才建立的假設,去驗證自己剛才建立的實作。

如果第一步理解錯需求,第二步很可能只是把錯誤合理化。

因此更好的做法,是把角色分開。

Developer AI

負責:

  • 理解 Specification
  • 建立實作
  • 修改程式碼
  • 撰寫 Test

Reviewer AI

負責:

  • 重新閱讀 Specification
  • 檢查 Implementation
  • 找出規格與實作的差異
  • 找出遺漏的 Business Rules
  • 找出 Edge Cases
  • 找出 Security 與 Data Integrity 問題

也就是:

Developer AI
     ↓
Implementation
     ↓
Reviewer AI
     ↓
Specification
     ↓
Gap Analysis

Reviewer 的核心不是:

「這份 Code 看起來不錯。」

而是:

「Specification 說了什麼,而 Implementation 做了什麼?」


四、Specification First:AI Review 的第一原則

AI Review Flow 的核心其實不是 Prompt。

而是:

Specification First

如果沒有清楚的 Specification,AI Review 很容易變成:

AI
 ↓
自己理解需求
 ↓
自己寫 Code
 ↓
自己 Review
 ↓
自己說沒問題

最後得到:

LGTM。

但問題是:

誰決定它真的符合需求?

所以在 AI 開始寫 Code 之前,應該先把規格定義清楚。

一份基本 Specification 至少應該包含:

1. 功能目的

這個功能到底要解決什麼問題?

2. Data Model

需要哪些欄位?

哪些可以是 NULL

哪些有 Default?

欄位之間有什麼關係?

3. Business Rules

什麼情況可以建立?

什麼情況可以修改?

什麼情況必須拒絕?

4. Permission

誰可以看到?

誰可以修改?

誰可以刪除?

5. API Behavior

API 應該回傳什麼?

哪些資料不能回傳?

哪些條件下資料才可以出現在 API?

6. Edge Cases

停用怎麼辦?

刪除怎麼辦?

沒有資料怎麼辦?

多語系缺少翻譯怎麼辦?

資料已經存在怎麼辦?


五、Review 不應該從 Coding Style 開始

很多 AI Code Review 最後會變成:

  • Method 太長
  • Variable 命名可以更好
  • 可以抽 Service
  • 可以使用 Collection
  • 可以重構
  • 可以減少重複程式碼

這些不是沒有價值。

但它們應該放在後面。

一個更合理的 Review 優先順序應該是:

1. Correctness

程式邏輯是否正確?

2. Security

是否有:

  • 權限漏洞
  • 資料洩漏
  • SQL Injection
  • Mass Assignment
  • 未授權資料存取

3. Data Integrity

資料是否可能:

  • 被錯誤更新
  • 被錯誤刪除
  • 產生不一致
  • 遺失關聯
  • 產生重複資料

4. Business Rules

Specification 裡面的規則是否全部實現?

5. Regression

是否破壞既有功能?

6. Performance

是否產生:

  • N+1 Query
  • 重複 Query
  • 不必要的資料載入
  • 不必要的 API Request

7. Code Quality

最後才是:

  • Naming
  • Structure
  • Readability
  • Maintainability
  • Refactoring

簡單說:

先確認「對不對」,再討論「漂不漂亮」。


六、不同風險的程式碼,不應該使用相同的 Review 強度

AI 並不是不能處理高風險程式碼。

問題是:

高風險程式碼不能只依賴 AI。

例如一般 CRUD:

建立資料
修改資料
列表
查詢

這些通常屬於相對低風險的工作。

AI 可以大量協助。

但以下功能就完全不同:

權限
金流
訂單狀態
資料隔離
多租戶
交易一致性
刪除邏輯
API 資料暴露

這些都是高風險區域。

AI 可以幫忙:

  • 分析
  • 找漏洞
  • 寫 Test
  • 做 Review
  • 提出風險

但是:

人類必須是最後決策者。

因此我認為 AI 時代非常重要的一個原則就是:

AI 負責加速,人類負責定義邊界。


七、用 Laravel CMS 看 AI Review 最容易發現什麼

假設今天我們要新增一個 CMS Block:

GroupCompany
 └── Blocks
      ├── Text Image
      ├── Card Grid
      └── Contact

AI 很快就可以建立:

Migration
Model
Enum
Filament Resource
Form
Table
API Resource
Controller

看起來非常完整。

但真正需要 Review 的問題可能是:

Block 停用之後會發生什麼?

假設資料結構是:

Page
 └── Blocks
      ├── Block A
      ├── Block B
      └── Block C

現在:

Block B
is_active = false

我們真正想要的行為是:

Block B
 ↓
保留資料
 ↓
後台仍然存在
 ↓
前台不顯示

而不是:

Block B
 ↓
被刪除

這兩個行為在技術上都完全可以被寫出來。

甚至兩段 Code 都可能沒有任何 Syntax Error。

所以:

單純檢查 Code 是抓不到這個問題的。

必須回到 Specification:

「停用」和「刪除」是不是兩種不同的操作?

如果答案是 Yes,那麼 Reviewer AI 就應該把它列為重要檢查項目。

這就是 AI Review 真正有價值的地方。


八、真正有價值的 Review 是 Gap Analysis

因此,我現在會比較不建議只對 AI 說:

Review this code.

因為這句話太模糊。

AI 很容易把任務理解成:

Code
 ↓
Style
 ↓
Best Practice
 ↓
Refactoring

更好的指令應該是:

Compare the implementation against the specification and identify any behavioral gaps.

也就是:

Specification
      ↓
      ↓
Implementation
      ↓
      ↓
Gap Analysis

Review 的重點變成:

  • Specification 有要求什麼?
  • Implementation 實際做了什麼?
  • 哪些規則沒有實作?
  • 哪些 Edge Case 沒處理?
  • 哪些行為和規格不同?
  • 哪些地方存在額外的、不被允許的行為?

這才是真正有價值的 Code Review。


九、AI Review 應該形成一個閉環

一個成熟的 AI Workflow 不應該是:

AI 寫完
 ↓
AI 說 OK
 ↓
結束

而應該是一個循環:

Specification
      ↓
AI Developer
      ↓
AI Self Review
      ↓
Test / Lint / QA
      ↓
AI Reviewer
      ↓
   PASS / FAIL
      ↓
   ┌──┴──┐
   │     │
 PASS   FAIL
   │     │
   │     ↓
   │   Fix
   │     │
   │     ↓
   │   Review
   │     │
   └─────┘
      ↓
Human Approval
      ↓
Merge

這裡最重要的是:

Review 不是一次性的動作,而是一個循環。


十、Fail Fast,Recover Faster

AI 時代有一句話反而更加重要:

Fail Fast, Recover Faster.

不要追求 AI 第一次就產生 100% 正確的 Code。

因為這不現實。

真正應該追求的是:

讓錯誤越早被發現。

因為錯誤被發現的時間越晚,修正成本通常越高。

可以把它分成五個 Level:

Level發現位置修正成本
Level 1Specification 發現需求矛盾最低
Level 2AI Review 發現邏輯問題
Level 3Automated Test 發現錯誤
Level 4Human Code Review 發現問題
Level 5Production 才發現最高

例如:

如果 Specification 就發現:

停用到底是隱藏還是刪除?

這時候修改成本幾乎是零。

但如果系統已經上線,管理員停用資料後發現資料真的被刪掉:

這時候就可能涉及:

  • 資料恢復
  • 使用者影響
  • API 錯誤
  • Production Incident
  • 客戶問題
  • 信任成本

所以:

好的 AI Workflow,不是讓 AI 永遠不犯錯,而是讓錯誤盡可能早被發現。


十一、AI Review 不是要取代 Human Review

AI Review 最容易被誤解成:

既然 AI 可以 Review,那是不是以後不需要工程師 Code Review?

我認為答案是否定的。

真正合理的架構應該是:

AI
 ↓
大量自動檢查
 ↓
篩掉明顯問題
 ↓
Human
 ↓
專注高價值決策

AI 很適合處理:

  • Naming
  • Formatting
  • CRUD Completeness
  • Nullable
  • Basic Query
  • 重複程式碼
  • 明顯的 Edge Case
  • 基本 Security Check
  • Test Coverage

而人類應該把時間留給:

  • Architecture
  • Business Logic
  • Security Boundary
  • Data Integrity
  • Trade-off
  • Product Decision
  • 系統長期維護成本

換句話說:

AI 不應該取代 Code Review,而應該提高 Code Review 的品質。


十二、真正重要的不是 Prompt Engineering,而是 Workflow Engineering

現在很多人還在研究:

哪一種 Prompt 可以讓 AI 寫出更好的 Code?

這當然有價值。

但如果只關注 Prompt,容易忽略更重要的問題:

AI 到底應該被放在整個 Software Engineering 流程的哪裡?

成熟的 AI 開發流程不應該是:

Human
 ↓
Prompt
 ↓
AI
 ↓
Code

而應該是:

Human
 ↓
Specification
 ↓
AI Implementation
 ↓
AI Review
 ↓
Automated Verification
 ↓
Human Review
 ↓
Merge

這兩種流程最大的差別是:

第一種把 AI 當成:

Code Generator

第二種把 AI 當成:

Software Engineering Team 的一個角色。

這是一個非常重要的轉變。


十三、AI Engineering 的核心其實是「角色分工」

當 AI 越來越強,我們不一定需要一個「全能 AI」。

反而可以把工作拆成不同角色:

Product / Human
      ↓
Specification
      ↓
┌─────────────────┐
│ Developer AI    │
│ 負責實作         │
└────────┬────────┘
         ↓
┌─────────────────┐
│ Reviewer AI     │
│ 負責找問題       │
└────────┬────────┘
         ↓
┌─────────────────┐
│ Testing / QA    │
│ 負責驗證         │
└────────┬────────┘
         ↓
┌─────────────────┐
│ Human Engineer  │
│ 最終決策         │
└─────────────────┘

這種架構最大的優點是:

把「產生」和「判斷」分離。

AI 非常擅長產生大量候選方案。

但工程品質真正需要的是:

判斷哪一個方案符合需求、符合架構、符合安全邊界。

而這正是 Review Flow 存在的價值。


十四、AI 時代,工程師的價值正在改變

如果 AI 可以幫我們快速寫出 CRUD,那麼:

「我會不會寫 CRUD」

這件事情本身的價值就會下降。

但另外幾種能力反而會變得更加重要:

Requirement Analysis

能不能把模糊需求變成明確規格?

System Design

能不能決定資料模型與架構?

Business Logic

能不能理解真正的商業規則?

Risk Assessment

能不能知道哪些地方不能交給 AI 自動決策?

Verification

能不能設計有效的測試與驗證流程?

AI Orchestration

能不能讓多個 AI 工作角色協同完成任務?

因此 AI 並沒有讓 Software Engineer 變得不重要。

它只是讓「工程師真正重要的能力」重新排序。


十五、我認為 AI 時代最重要的工程原則

如果要把整個 AI Review Flow 濃縮成幾個原則,我會留下這五個:

1. Specification First

沒有規格,就沒有可靠的 Review。

2. AI Developer ≠ AI Reviewer

產生與驗證應該盡可能分離。

3. Review Specification,而不只是 Review Code

真正要檢查的是:

Requirement
     ↓
Specification
     ↓
Implementation

三者是否一致。

4. 高風險邏輯必須保留 Human Decision

權限、金流、資料一致性、資料隔離等核心邏輯,不應該完全自動化。

5. Fail Fast, Recover Faster

不要追求「AI 永遠不犯錯」。

應該追求:

錯誤越早被發現,修正成本越低。


十六、最後:AI Coding 的下一個戰場不是「寫得更快」

AI Coding 的第一階段,比的是:

誰的 AI 寫 Code 比較快?

第二階段可能會變成:

誰的 AI 寫 Code 比較完整?

但我認為真正成熟之後,競爭會變成:

誰能建立更可靠的 AI Software Engineering Workflow?

因為當 Code 產生速度提升 5 倍、10 倍甚至更高之後,最大的瓶頸就不再是 Coding。

而是:

Verification

你可以讓 AI 在幾分鐘內產生數千行程式碼。

但如果沒有可靠的驗證流程,那些 Code 只是:

高速產生的風險。

反過來,如果我們建立完整的 AI Review Flow:

Specification
      ↓
Implementation
      ↓
AI Review
      ↓
Automated Verification
      ↓
Human Review
      ↓
Decision

AI 就不只是幫我們:

寫更多 Code。

而是幫我們:

更快發現錯誤。

更早修正錯誤。

把人類從低價值的重複檢查中解放出來。

讓工程師把時間放在真正重要的架構、商業邏輯與決策上。

這才是我認為 AI 真正進入 Software Engineering 之後,最值得建立的開發模式。


AI Review Flow 簡易 Specification Template

如果要把這套方法真正放進日常開發,可以從一份非常簡單的 Specification 開始:

## 功能名稱
[功能名稱]

## 1. 功能目的
- 

## 2. Data Model
- 欄位:
- Nullable:
- Default:

## 3. Business Rules
- 建立條件:
- 修改條件:
- 拒絕條件:

## 4. Permission
- 可見:
- 可修改:
- 可刪除:

## 5. API Behavior
- 回傳內容:
- 不可回傳:

## 6. Edge Cases
- 停用:
- 刪除:
- 無資料:
- 多語系:
- 其他:

接著讓 Reviewer AI 執行:

請根據以下 Specification,
對目前的實作程式碼進行 Gap Analysis。

重點檢查:

1. 是否完整實現所有 Business Rules
2. Edge Cases 是否正確處理
3. 權限與資料暴露是否符合規格
4. 是否存在資料一致性問題
5. 是否存在安全性問題
6. 是否可能破壞既有功能
7. 是否存在不必要的行為

請明確列出:

- Specification 有要求,但 Implementation 缺失的項目
- Implementation 與 Specification 不一致的項目
- 潛在的 Security / Data Integrity 問題
- 建議修改方式

不要只評論 Coding Style,
優先檢查「行為是否正確」。

當這個流程開始固定下來之後,AI 就不再只是 IDE 裡面的一個「自動補全工具」。

它會逐漸成為整個 Software Engineering Workflow 裡的一個正式角色。

而這可能才是 AI Coding 真正成熟之後,工程團隊最大的改變。

不是 AI 取代工程師。

而是:

工程師開始設計一套能夠駕馭 AI 的工程系統。

2026年8月8日 星期六

Python 這麼熱門,為什麼我還是選 Laravel + Filament?

 

—— 從快速開發、Admin、權限管理到企業 CMS 的技術選型比較

近幾年 Python 的熱度非常高。

尤其 AI、Machine Learning、Data Science、LLM 與自動化工具快速發展之後,Python 幾乎成為許多工程師的第一選擇。

因此很自然會出現一個問題:

既然大家都在使用 Python,那麼 Web 後台、CMS、企業管理系統,是不是也應該全面改用 Python?

我的答案是:

不一定。

這不是因為 Python 不夠強。

恰恰相反,Python 在 AI、資料科學與 API Service 領域非常強。

真正需要比較的是:

Django / FastAPI 生態,與 Laravel + Filament,在特定類型的 Web 系統上,誰能用更低的成本完成需求並長期維護?

因此,這篇文章不討論「哪個語言比較好」,而是討論一個更實際的問題:

不同類型的專案,應該選擇什麼樣的 Web 技術棧?


一、先釐清:Python 並不是只有 Django

談 Python Web,最常見的兩條路線大概是:

Python
│
├── Django
│   └── Full-stack + ORM + Admin
│
└── FastAPI
    └── API-first + Type Hint + OpenAPI

兩者其實解決的是不同問題。

Django

Django 是完整的 Web Framework。

它包含:

  • ORM

  • Authentication

  • Authorization

  • Admin

  • Form

  • Routing

  • Middleware

  • Template

  • Migration

  • Cache

  • Session

其中 Django Admin 是它非常重要的一部分。

Django 官方本身就將 Admin 定位為可以快速建立模型管理介面的工具,而不是單純的「資料庫 CRUD 頁面」。(Django Admin)


FastAPI

FastAPI 的核心則更加偏向:

API
+
Type Hint
+
Validation
+
OpenAPI
+
Async

它非常適合:

  • REST API

  • Microservice

  • AI Service

  • Backend Service

  • API-first Architecture

FastAPI 的 Security / OAuth2 Scope 也可以與 OpenAPI 文件整合,這對 API-first 系統非常方便。(FastAPI Security)

因此,不能簡單把:

Django
FastAPI
Laravel

當成三個完全相同定位的 Framework。


二、Django Admin 其實比很多人想像的強

這點值得特別強調。

如果有人說:

「Django Admin 只能做簡單 CRUD。」

這個說法其實已經過時。

Django Admin 本身就支援:

  • List Display

  • Search

  • Filter

  • Ordering

  • Inline

  • Custom Action

  • Permission

  • Custom Form

  • Custom View

  • Custom Template

而且 Django 本身有 User / Group / Permission 的完整授權機制。

基本 Permission 可以對應:

add
change
delete
view

再搭配 Group:

Content Editor
Content Manager
Administrator

就能建立基本的 RBAC。

更重要的是,Django 生態還有大量成熟套件可以進一步補足企業需求。

例如:

django-admin-interface
django-import-export
django-guardian
django-simple-history

可以分別補足:

Admin UI
Import / Export
Object-level Permission
History / Audit

因此比較正確的說法應該是:

Django Admin 是一個非常成熟的 Admin Framework,而且可以透過生態系擴充成相當完整的企業後台。

而不是:

Django 只能做基本 CRUD。


三、那為什麼還要談 Laravel + Filament?

因為問題不在於:

「Django 能不能做到?」

Django 當然能做到。

真正的問題是:

需要多少組裝?

這是 Laravel + Filament 與 Django 的核心差異之一。


四、Filament 的核心優勢:高度整合

Laravel 本身提供:

Routing
ORM
Migration
Validation
Authentication
Authorization
Queue
Event
Notification
Mail
Storage
Cache
Scheduler
API

再加上 Filament:

Admin
Resource
Form
Table
Action
Widget
Dashboard
Relation Manager
Import
Export
File Upload
Rich Editor

因此可以形成:

Laravel
   ↓
Filament
   ↓
企業 Admin / CMS

這種架構的最大優勢不是「功能比較多」。

而是:

這些功能本來就是設計成一起工作的。


五、快速開發真正比較的是「需要自己組多少東西」

假設今天要建立:

Product

包含:

name
price
category
status
image
published_at

在 Laravel + Filament 中,可以透過 Resource 建立:

Product
├── List
├── Create
├── Edit
├── View
├── Form
├── Table
├── Filter
└── Action

Filament 4 也提供 Resource / Schema 等抽象,讓 Form、Table 與 Action 可以使用宣告式方式組合。(Filament Resources)


六、Django 其實也可以非常快

如果使用 Django:

Model
   ↓
ModelAdmin
   ↓
Admin

同樣可以快速得到:

List
Search
Filter
Create
Edit
Delete

而且 Django Admin 已經非常成熟。

因此,如果比較:

「誰能快速做 CRUD?」

不能說 Laravel + Filament 一定勝出。

Django 完全有資格競爭。


七、真正的差異開始出現在複雜後台

當需求從:

CRUD

開始變成:

CMS
+
Permission
+
Workflow
+
Form Builder
+
Rich Editor
+
File Upload
+
Relation
+
Import / Export
+
Dashboard
+
Custom Action
+
Page Builder

比較就開始變得有趣。

因為此時工程師需要思考:

誰負責 Form?
誰負責 Table?
誰負責 Permission?
誰負責 Role?
誰負責 File?
誰負責 Audit?
誰負責 Import?
誰負責 Export?
誰負責 UI?

Django 可以透過套件解決。

FastAPI 也可以透過套件解決。

Laravel 也可以透過套件解決。

真正不同的是:

框架本身與這些元件的整合程度。


八、FastAPI 的優勢其實非常明顯

這裡也不能忽略 FastAPI。

FastAPI 生態近年也逐漸補足 Admin 的需求。

例如:

FastAPI
+
SQLAlchemy
+
SQLAdmin

可以建立相當完整的 Admin。

另外也有:

fastapi-admin
SQLModel
其他 Admin Framework

等方案。

因此:

「FastAPI 沒有 Admin。」

這個說法也是不準確的。

更正確的說法是:

FastAPI 本身不是以 Admin 為核心,而它的生態提供了多種 Admin 解決方案。


九、而 FastAPI + Vue / React 其實是一條非常乾淨的路

如果團隊本來就採用:

Frontend
Vue / React
      ↓
FastAPI
      ↓
Database

那麼這種架構其實非常合理。

尤其是:

Mobile App
SPA
Microservice
AI Service
External API

都需要同一套 API 的情況。

這時候:

FastAPI
+
Vue / React

反而可能比:

Laravel
+
Filament
+
另外一套前端

更符合團隊需求。

所以不能說:

FastAPI 做 Admin 不好。

而應該說:

FastAPI 更適合 API-first 的架構,而 Filament 更適合快速建立 Business Application / Admin / CMS。


十、權限管理才是真正值得比較的地方

企業系統最容易低估的就是 Permission。

簡單系統可能只有:

Admin
User

但大型 CMS 往往會變成:

User
 ↓
Role
 ↓
Permission
 ↓
Resource
 ↓
Action
 ↓
Record

例如:

Project
├── View
├── Create
├── Update
├── Delete
└── Publish

甚至:

Project
├── Manage Content
├── Manage Structure
└── Manage Publish

再進一步可能還要判斷:

使用者可以修改這個 Project 嗎?

而不是只有:

使用者可以修改 Project 嗎?

這就是 Model-level 與 Record-level Authorization 的差別。


十一、Django 在權限這方面其實很完整

Django 原生提供:

User
Group
Permission

並且 Admin 會使用這些 Permission。

另外還可以使用:

django-guardian

處理 Object-level Permission。

因此可以做到:

User A
→ 可以修改 Project 1

User B
→ 可以修改 Project 2

這代表 Django 完全有能力處理企業級權限。

所以這裡不應該寫成:

Django 權限不如 Laravel。

比較精確的說法是:

Django 的權限能力很完整,但 Laravel 的 Policy + Gate + Filament Authorization 整合,在 Laravel + Filament 的企業 Admin 場景中非常自然。


十二、Laravel + Policy + Filament 的優勢

Laravel 原生提供:

Gate
Policy
Authorization

其中 Policy 特別適合 Model / Resource 授權。

例如:

public function update(
    User $user,
    Project $project
): bool {
    return $user->id === $project->owner_id;
}

接著 Filament Resource / Action 可以使用同一套 Authorization 邏輯。

因此形成:

Laravel Policy
      ↓
Filament Resource
      ↓
Action Authorization
      ↓
UI Button

也就是:

後端授權規則可以直接影響 Admin UI。

這種整合對 CMS 非常重要。


十三、Filament 也不是沒有缺點

如果文章只說 Filament 很快,卻不談它的限制,就會變成推銷文。

Filament 非常適合:

Admin
CMS
CRUD
Dashboard
Form
Table
Internal Tool

但不是所有 UI 都應該使用 Filament。


1. 極端複雜的表格互動

例如:

大量即時計算
跨欄位即時更新
拖曳排序
大量資料同步操作
跨 Resource 狀態互動

這種需求如果已經超過 Filament 的抽象範圍,就可能需要:

Custom Livewire
Custom JavaScript
Vue
React

甚至直接建立獨立前端。


2. 即時協作

例如:

多人同時編輯
即時 Presence
WebSocket
Live Collaboration
即時游標
即時狀態同步

Livewire 當然可以整合即時功能。

但如果產品本身就是:

「像 Google Docs 一樣多人即時協作。」

那麼專業的前端架構通常會更適合。


3. 超大型資料量

例如:

10 萬筆
100 萬筆
500 萬筆

這時候問題就不只是 Filament。

而是:

Database Index
Query
Pagination
Search
Caching
Virtualization
Data Loading

甚至可能需要:

Elasticsearch
OpenSearch
專用 Search Service

Filament 可以處理大型資料,但不能期待:

「把幾百萬筆資料丟進 Table,Framework 自動解決所有效能問題。」

這在任何 Framework 都不成立。


十四、因此「快速開發」不等於「什麼都不用自己做」

這是非常重要的觀念。

Filament 可以大幅降低:

CRUD UI
Form
Table
Validation
Admin

的開發成本。

但當需求超出 Framework 抽象範圍:

Complex UI
Real-time
Huge Dataset
Custom Interaction
Special Workflow

依然需要工程師介入。

所以真正好的使用方式是:

Standard Requirement
        ↓
Filament

Complex Requirement
        ↓
Custom Component / Livewire / Vue / React

而不是:

Everything
   ↓
Filament

十五、人才成本其實也是技術選型的一部分

這是很多技術比較文章忽略的地方。

假設公司已經有:

20 位 Python Engineer

其中:

10 位 Data Engineer
5 位 AI Engineer
5 位 Backend Engineer

這時候如果突然決定:

「我們要全面改 Laravel。」

技術上可能完全可行。

但是:

Training Cost
Hiring Cost
Migration Cost
Productivity Loss
Knowledge Transfer
Maintenance

都是真實成本。

反過來也一樣。

如果團隊已經有:

Laravel
PHP
Vue
Filament

的成熟經驗,那麼為了「大家都在用 Python」而改成 Django / FastAPI,也可能是一個非常昂貴的決策。

所以:

技術選型不能只看 Framework 能力,也要看團隊已經擁有什麼能力。


十六、三年維護成本比第一天開發速度更重要

一個專案第一天可以做到:

Python
Laravel
Node
Go

其實都不難。

真正困難的是三年後。

你需要面對:

新功能
Bug
Security
Dependency Upgrade
Database Migration
Performance
新人加入
技術債
權限需求
商業規則變更

因此真正值得問的是:

三年後誰來維護?


十七、Python 生態的優勢也可能成為成本

Python 的優點是生態非常龐大。

但另一面是:

很多套件
很多選擇
很多組合

例如:

FastAPI
+
SQLAlchemy
+
Pydantic
+
SQLAdmin
+
Auth Library
+
Permission Library
+
Frontend
+
Storage
+
Background Worker

每一個元件都可能非常優秀。

但工程師也必須自己決定:

Architecture
Integration
Version Compatibility
Error Handling
Authorization Boundary

因此:

自由度越高,架構責任通常也越高。


十八、Laravel 的優勢就是 Convention

Laravel 的哲學相對比較接近:

提供一套有意見的完整解決方案。

例如:

Routing
ORM
Migration
Validation
Authentication
Authorization
Queue
Event
Notification
Mail
Storage
Cache
Scheduler

再搭配:

Filament
Livewire
Spatie

可以快速形成企業應用。

這種模式最大的優勢不是:

「Laravel 比 Python 強。」

而是:

很多常見問題已經有明確的解法。


十九、所以兩邊其實是不同的工程哲學

可以簡化成:

FastAPI

給我自由度
讓我自己組架構

Django

給我完整 Web Framework
讓我快速建立網站與 Admin

Laravel + Filament

給我完整 Web Framework
再給我高度整合的 Business Admin UI
讓我快速建立企業系統

沒有哪個一定比較好。

只是適合的問題不同。


二十、真正合理的架構甚至不是二選一

如果公司同時需要:

CMS
Admin
AI
Recommendation
Image Processing
LLM
Data Analysis

最合理的答案可能根本不是:

Laravel OR Python

而是:

                    Frontend
                       │
                       ▼
                Laravel API
                       │
              ┌────────┴────────┐
              │                 │
          Filament          Python Service
              │                 │
          CMS / Admin        AI / ML
              │                 │
              └────────┬────────┘
                       │
                    Database

例如:

Laravel

負責:

User
CMS
Permission
Admin
Business Logic
Order
Workflow
API

Python

負責:

AI
LLM
Recommendation
Image Processing
Data Analysis
Machine Learning

這種架構完全合理。


二十一、那到底該怎麼選?

可以用下面這張表快速判斷:

需求建議
AI / MLPython
Data SciencePython
LLM / AI ServicePython
API-firstFastAPI
MicroserviceFastAPI / 依需求選型
傳統 Full-stack WebDjango / Laravel
Django 原生 AdminDjango
企業 CMSLaravel + Filament / Django
大量 CRUDLaravel + Filament / Django
Admin + Form + TableLaravel + Filament
CMS + Page BuilderLaravel + Filament
細粒度 CMS 權限Laravel + Filament / Django
高度客製前台Vue / React / Astro 等
AI + CMSLaravel + Python

二十二、最後不要問「Python 還是 Laravel」

我認為真正成熟的技術選型問題應該是:

這個專案的核心問題是什麼?

誰會開發?

誰會維護?

團隊已經會什麼?

三年後系統會變成什麼?

哪個架構可以降低長期總成本?

而不是:

現在大家都用什麼?

結論

Python 非常強。

尤其:

AI
Machine Learning
Data Science
LLM
Automation
API Service

這些領域,Python 有非常明顯的優勢。

Django 也不是只能做簡單 CRUD。

透過 Django Admin 加上成熟套件生態,它完全可以建立相當完整的企業後台。

FastAPI 也不是沒有 Admin。

透過 SQLAdmin、fastapi-admin 或前後端分離架構,同樣可以建立企業級系統。

所以這篇文章真正想說的並不是:

Laravel 比 Python 好。

而是:

不要因為 Python 現在很熱門,就認為所有 Web 專案都應該使用 Python。

如果:

核心是 AI

→ Python 優先。

如果:

核心是 API / Microservice

→ FastAPI 非常值得考慮。

如果:

核心是 Web + Admin

→ Django 是成熟選擇。

如果:

核心是企業 CMS
+
大量 CRUD
+
Admin
+
Permission
+
Workflow
+
Form
+
Table
+
Page Builder

Laravel + Filament 依然是目前非常有競爭力的選擇之一。

而如果同時存在:

CMS
+
AI

那麼最合理的答案甚至可能是:

Laravel + Filament
        +
Python

而不是強迫整個系統只使用一種語言。


最後,我認為真正值得記住的一句話

好的工程師不是選現在最紅的技術,而是選最適合問題、團隊與未來三年維護成本的技術。

技術選型的目標從來不是證明:

「我的語言比較強。」

而是:

用最合理的成本,把系統長期做好。

2026年7月26日 星期日

當工程師的價值不再只是寫 Code,公司還看得見你的貢獻嗎?

 最近跟 AI、軟體開發流程轉變相關的討論越來越多。

很多人關注的是:

  • AI 會不會取代工程師?
  • 未來還需不需要寫 Code?
  • 工程師應該學什麼新技能?

但有一個更現實的問題,可能很多工程師每天都正在面對:

當你的工作價值不再只是「寫多少 Code」,公司是否還有能力看見你的貢獻?


傳統工程價值:時間與產出

很多公司的管理方式,仍然建立在一個簡單模型:

投入時間
    ↓
完成需求
    ↓
交付功能

因此工程師的價值容易被衡量為:

  • 花多少工時
  • 完成多少 Ticket
  • 寫多少功能
  • 解多少 Bug

這種方式對明確需求非常有效。

例如:

  • 新增一個 API
  • 修改一個頁面
  • 增加一個欄位

這些工作確實可以透過時間估算。

但問題在於:

軟體工程真正困難的地方,往往不是把功能做出來。


高價值工程工作,很多時候看不到立即產出

一個工程師花三天整理:

  • 共用 Service
  • 權限架構
  • 多語系處理
  • API 規範
  • 資料驗證流程

表面上看:

三天沒有新增功能。

甚至可能有人會問:

為什麼這個需求花了三天,畫面還沒有完成?

但實際上,這三天可能避免未來十個、二十個功能重複踩坑。

這類工作創造的是:

  • 降低未來維護成本
  • 減少重複開發
  • 降低錯誤風險
  • 提升團隊整體開發速度

只是這些價值通常不會立即出現在畫面上。


越有效率,有時反而越難被看見

這也是很多資深工程師會遇到的矛盾。

假設:

工程師 A:

花 10 天完成一個功能

工程師 B:

花 3 天建立共用架構,並完成同樣功能

短期看:

B 好像「少花時間」。

但長期看:

B 建立的能力可能讓後續 20 個功能都變快。

問題是,如果公司只看:

需求 → 工時 → 完成

那 B 創造的價值很容易被忽略。


工程師與管理者看到的是不同尺度

工程師思考的是:

現在的設計
        ↓
半年後、一年後的維護成本

管理者通常關注的是:

目前專案
        ↓
交付時間與成本

兩邊其實沒有誰對誰錯。

只是看的時間尺度不同。

真正困難的是:

如何把長期價值轉換成短期可以理解的資訊。


AI 會讓這個落差更加明顯

以前工程師的效率差異,可能來自:

  • 熟悉 Framework
  • Coding 速度
  • 累積經驗

但 AI 出現後:

很多工程師都能快速產生 Code。

未來差距會逐漸變成:

  • 誰能定義正確問題
  • 誰能設計合理架構
  • 誰能判斷 AI 產出的品質
  • 誰能控制系統風險

也就是:

未來工程師的價值,不只是「產生程式碼」。

而是:

確保產出的系統正確、可靠、可維護。


但公司不一定會自動改變衡量方式

這是很多工程師真正困擾的地方。

你可能開始投入:

  • 架構改善
  • 技術債整理
  • 共用元件建立
  • 開發流程優化

但績效評估仍然是:

  • 完成幾個需求
  • 花多少時間
  • 解多少工單

於是產生一個矛盾:

越有經驗,越能提前避免問題,但越難被工時計算。


工程師需要學會「呈現價值」

不要只說:

我完成了多語系架構。

改成:

建立共用多語系架構,讓後續新增功能可以沿用標準流程,降低重複開發與維護成本。

不要只說:

我整理了權限系統。

改成:

統一權限管理流程,降低新增角色時的設定錯誤風險。

不要只說:

我新增 Audit Log。

改成:

建立操作追蹤能力,讓資料異動可以被追溯,降低問題排查成本。

同一件事情,用不同語言描述,價值感完全不同。


未來工程師需要增加的一項能力:技術溝通

很多工程師很重視:

  • 程式品質
  • 架構設計
  • 效能最佳化

但忽略另一件事情:

讓非工程背景的人理解你的價值。

企業不是只購買 Code。

企業真正需要的是:

  • 降低風險
  • 提升效率
  • 建立可持續發展的系統

而 Code,只是實現這些目標的工具。


結語:工程師不只是寫 Code 的人

很多工程師擔心:

AI 讓寫 Code 變便宜,那工程師還有價值嗎?

但真正的問題可能不是:

誰寫 Code 比較快?

而是:

誰能讓系統長期穩定運作?

當 AI 越來越強,單純產出程式碼的價值可能下降。

但:

  • 系統設計能力
  • 問題分析能力
  • 風險控制能力
  • 技術決策能力

反而會更加重要。

工程師真正需要提升的,不只是寫更多 Code。

而是成為那個:

能判斷該寫什麼、不該寫什麼,並且讓 AI 安全產生價值的人。

同時,也要開始練習用對方聽得懂的語言,把長期價值說清楚。

因為在組織裡:

沒有被理解的價值,很容易等同於不存在。


為什麼公司一直用工時衡量工程師?

先承認一件事:

公司用工時衡量工程師,不一定是因為管理者不懂技術。

而是因為工時有三個很實際的優點:

  • 容易估算成本
  • 容易安排資源
  • 容易追蹤專案進度

如果今天客戶問:「這個功能多久完成?」 老闆不可能回答:「等我們把架構整理好。」

所以工時本身沒有錯。 錯的是,當工時變成唯一的價值指標。

AI 時代,工時開始失去代表性

以前,工程師花八小時完成一個功能,大家會認為:八小時,就是這個功能的成本。

現在,AI 可以讓同一個功能兩小時完成。

那問題來了:

如果公司還是認為「花越多時間,代表價值越高」,是不是代表效率越高的人,反而越吃虧?

這就是 AI 時代開始出現的矛盾。

真正有價值的工作,很多是在「避免事情發生」

我們很少稱讚一個系統:「今天沒有當機。」 很少稱讚一位工程師:「今天沒有發生權限漏洞。」 很少有人注意:「今年沒有因為資料結構設計錯誤而重寫系統。」

因為避免問題,本來就不容易被看見。

但是成熟的工程師,很多時間都花在:

  • 避免 Bug
  • 避免資安漏洞
  • 避免技術債
  • 避免未來重工
  • 避免部署失敗

這些事情成功的結果就是:什麼事都沒有發生。

而「沒有發生」,最難證明價值。

AI 不會讓這個問題消失,只會放大它

AI 可以更快寫出程式,但 AI 沒辦法保證:

  • 這個架構五年後還能維護
  • 這個 Migration 不會影響舊資料
  • 這個權限模型沒有安全漏洞
  • 這個設計不會讓團隊之後一直付出維護成本

所以未來真正值錢的,不一定是寫了多少 Code,而是避免了多少錯誤決策。

可惜的是,這種價值很難寫進工時表。

我想讓管理者思考一個問題

如果有兩位工程師:

A 工程師 每個功能都花 5 天完成。 三年後系統充滿技術債。

B 工程師 花 7 天建立共用架構。 後續每個功能都只需要 2 天。

如果只看第一個功能,A 的績效可能比較好。 如果看三年,答案可能完全相反。

那麼,我們到底是在衡量「投入多少時間」,還是在衡量「創造多少價值」?

結語

AI 正在改變工程師的工作方式,但如果企業衡量工程價值的方法沒有一起改變,那真正被低估的,不是工程師,而是那些原本可以被創造出來的長期價值。

我如何用 AI 開發 Laravel 專案:從 Prompt Driven Development 到 Spec Driven Development

最近 OpenAI 一連串產品與模型方向的調整,透露出一個很明顯的趨勢:

ChatGPT 正從「回答問題的 AI」逐漸走向「能理解目標、操作工具、協助完成工作的 AI Agent」。

這代表工程師與 AI 的合作方式,也正在改變。

過去我們使用 AI 大多是:

text
需求
 ↓
撰寫 Prompt
 ↓
AI 產生 Code
 ↓
人工 Review

但未來更接近:

text
需求
 ↓
AI 分析專案上下文
 ↓
提出修改計畫
 ↓
建立 Patch
 ↓
執行測試
 ↓
人類確認與決策

差異不只是「AI 會不會寫 Code」。 真正的改變是:工程師的價值,正在從「產生程式碼」轉向「設計系統、管理複雜度、驗證結果」。

一、未來更重要的工程能力,不是打字速度

AI 可以快速產生大量程式碼,但以下能力仍然需要工程師判斷。

1. 問題定義與範圍控制

很多軟體問題,真正困難的地方不是實作,而是:

  • 需求到底要解決什麼?
  • 哪些事情不應該做?
  • 哪些舊邏輯不能破壞?
  • 什麼才算完成?

如果需求本身模糊,AI 只會更快產生錯誤答案。 所以未來工程師最重要的能力之一,是把模糊需求轉換成清楚規格。

2. 系統設計與技術取捨

AI 可以提出很多方案,但「哪個方案適合現在的系統?」仍然需要工程判斷。

例如:

  • 要不要抽 Service Layer?
  • 要不要增加 Repository?
  • JSON 欄位是否需要正規化?
  • 權限是否應該拆分?
  • 這次需求是否值得增加抽象層?

這些不是 Code Generator 可以單純決定的事情。

3. 驗證 AI,而不是相信 AI

最大的風險不是 AI 不會寫,而是 AI 寫出看起來合理,但實際有問題的 Code。

常見例子:

  • Migration 可以執行,但破壞資料相容性
  • Policy 通過測試,但權限邊界錯誤
  • API 回傳正常,但多語系 fallback 有漏洞
  • Refactor 後功能正常,但未來維護成本增加

因此,Code Review、Testing、Audit Log、Rollback 機制的重要性只會提高。

二、工程師應該建立新的 AI 協作習慣

1. Think Before Code

不要收到需求後直接說「幫我寫這個 Feature」。

更好的流程是先要求 AI:

  • 分析現有架構
  • 找出影響範圍
  • 提出修改方案
  • 列出風險

確認方向後,再開始 Coding。

2. 從 Prompt Engineering 走向 Spec Engineering

很多人研究「怎麼寫更好的 Prompt」,但未來更重要的是「怎麼寫更好的 Spec」。

好的 Spec 應該包含:

  • 背景與目的
  • 功能範圍
  • 非目標項目
  • 資料結構
  • API 定義
  • 權限規則
  • 測試條件
  • 已知限制

AI 的能力越強,規格品質的重要性越高。

3. 把 AI 當 Junior Engineer

AI 很像一位能力很強,但不了解公司文化與歷史的新進工程師。

你不能只說「幫我完成這個功能」,然後期待完美結果。

更好的方式是:

text
先分析
↓
提出計畫
↓
等待確認
↓
修改
↓
測試
↓
回報結果

這也是為什麼未來 Permission Control、Change Log、Audit Trail、Approval Flow 會越來越重要。

三、Laravel / 後端工程師可以怎麼準備?

如果你的工作主要是 Laravel、Filament、CMS、API 系統,可以開始練習:

不要: 幫我建立一個 User Resource

改成: 請先分析目前 User、Role、Permission 架構,確認影響範圍,提出 Filament Resource 修改計畫,列出 Migration、Model、Policy、Test 需要調整的地方。

不要: 幫我重構這段 Code

改成: 請先分析這段程式是否符合 SRP、KISS、DRY、Clean Architecture,再提出最小修改方案。

這樣 AI 才會從「Code Generator」變成「工程協作者」。

四、未來工程師競爭力會重新排序

以前:

text
Coding 速度
+ 熟悉 Framework
+ 累積 Code 量

可能代表較高效率。

但未來:

text
需求分析能力
+ 系統設計能力
+ AI 協作能力
+ 驗證與風險控制能力

會越來越重要。

因為當所有工程師都能使用 AI 產生 Code 時,差距就不會存在於「誰寫得快」,而是在:

  • 誰知道該寫什麼
  • 誰知道哪些不能寫
  • 誰能判斷 AI 的結果是否可靠

結語

AI Agent 時代真正改變的,不是工程師不用寫 Code,而是工程師不應該只停留在寫 Code。

未來更有價值的工程師,會是那些:

  • 能把需求變成規格的人
  • 能設計系統邊界的人
  • 能管理 AI 工作流程的人
  • 能承擔最後品質責任的人

AI 不會取代工程師。 但使用 AI 的工程師,會逐漸取代不會使用 AI 的工程師。

而最重要的起點就是:

AI 是 Junior Engineer,不是神諭機。

2026年7月17日 星期五

Kilo 與 Google 開發工具:AI 自動化開發的現在與未來

AI Coding 正在進入 Agentic Development 時代

傳統 AI 編碼工具主要聚焦於程式碼補全與即時建議,能有效減少重複輸入,但開發者仍需親自負責架構設計、任務拆解、測試撰寫與流程管理。

Agent Workflow 讓 AI 能執行多步驟操作,包括讀取專案檔案、運行終端指令、進行驗證,並根據結果迭代。Agentic Development(代理式開發)則代表更進一步的演進:AI 代理成為開發流程的主動參與者,具備規劃、分解任務、平行執行與自我驗證的能力。開發者轉向更高階的工作——定義願景、設定規則與審核最終成果。

根據目前公開的官方文件與開發社群共識,這一轉變能幫助團隊處理更複雜的專案,並提升整體開發效率。

Kilo Code 是什麼?

Kilo Code 是一款開源 AI Coding Agent,可在 VS Code、JetBrains IDE、CLI、Cloud 與 Slack 等多種環境中運行。它強調模型中立性、代理協調能力與透明度。

主要特性(依官方網站描述):

  • Model Agnostic:支援數百種模型,包含 Google Gemini 系列、OpenAI、Anthropic 等。透過 BYOK(Bring Your Own Key)方式直接連接供應商 API,無額外加價。
  • Multi Agent 與 Parallel Agents:支援同時運行多個代理,可在不同工作區獨立作業。
  • Multi Mode:內建 Architect(架構規劃)、Code(實作)、Debug(除錯)、Ask(查詢)、Orchestrator(協調)等模式,並允許自訂。
  • 平台支援:VS Code 擴充、JetBrains 外掛、CLI(終端介面)、Cloud Agents 與 GitHub 整合。
  • MCP(Model Context Protocol):用於擴充代理工具能力。
  • AGENTS.md 支援:這是逐漸在多個 Agent 工具中形成共識的專案規範方式,Kilo 也提供良好支援。
  • 其他功能:Sessions 跨裝置同步、自動化程式碼審核等。Browser Automation 等進階功能則視代理權限與工具設定而定。

與其他工具定位差異: 相較於 Cursor(強調流暢 IDE 體驗)、Claude Code(聚焦特定模型的強大推理)或終端導向的 CLI 工具,Kilo 在跨平台代理編排與開源彈性上提供更多選擇,特別適合需要靈活整合多種模型與工具的開發團隊。

Google AI 開發工具生態

Google 持續投入 Agentic 開發工具,主要圍繞 Gemini 模型與相關平台展開。

  • Gemini 系列模型:包含 Gemini Flash 系列(適合高效率、低成本工作負載)與 Gemini Pro 系列(適合需要較強推理能力的大型或複雜任務)。
  • Gemini API:提供程式化介面,讓開發者將模型與代理能力整合至自有系統。
  • Google AI Studio:適合快速原型開發,可從自然語言描述生成應用初步架構,並與 Firebase 等服務整合。
  • Antigravity:Google 推動 Agent Workflow 的重要平台之一,包含桌面應用、CLI 與 SDK 等形式,支援代理協調與驗證機制。根據公開資訊,它是 Google 在 Agent-first 開發方向上的重點投入。
  • 相關 CLI 工具:Gemini CLI 已逐步朝向更整合的 Agent 體驗演進(具體以官方最新公告為準)。

角色分工(依官方定位):

  • Prototype:AI Studio 適合快速驗證想法。
  • Production 與 Agent Workflow:Antigravity 等平台提供更完整的代理管理與企業級支援。

Kilo + Google 開發工具為什麼是好的組合?

Kilo 的開放架構與 Google 的 Gemini 模型可形成互補:

  • Gemini Flash / Pro 系列在上下文處理與推理上具備優勢,Kilo 則能有效載入專案全貌與 AGENTS.md 規範。
  • Kilo 的 Multi Mode 與 Parallel Agents 可發揮模型在規劃、Debug、Refactor 與測試上的能力。
  • BYOK 模式讓開發者能按官方費率使用 Gemini,搭配 Kilo 的 Auto Model 等機制優化成本。
  • Git 相關工作流(如 Commit 與 PR)可在 Kilo 中結合 Gemini 推理完成。

此組合特別適合希望同時享有模型效能與工具彈性的團隊。

新增章節:為什麼 Kilo 比 Cursor 更適合大型專案?

許多工程師在評估工具時,會將 Cursor 與 Kilo 放在一起比較。兩者定位有明顯差異:

面向Cursor(典型)Kilo(典型)對大型專案的影響
核心定位AI 幫你寫程式AI 幫你完成專案Kilo 更強調端到端
Agent 模式單 Agent 為主Multi Agent + Orchestrator大型專案易平行處理
開發流程Prompt 驅動 + ChatSpec + Rule Driven Workflow更易維持一致性
模型選擇較集中數百種模型 + BYOK成本與效能更靈活
平台整合強 IDE 體驗IDE + CLI + Cloud + GitHub跨團隊、跨裝置優勢
規則系統有限支援AGENTS.md + 完整 Rules大型團隊規範管理佳

結論:Cursor 在日常快速編碼上體驗優秀,而 Kilo 在大型專案的架構一致性、多代理協作與規則驅動開發上提供更多支援。兩者可依專案規模與團隊習慣選擇或結合使用。

Agent Workflow 範例(Laravel + Vue 專案)

需求:為電商後台新增訂單管理功能。



此流程可在 Kilo Orchestrator Mode 中啟動,開發者主要負責審核 Spec 與最終成果。

Spec Driven Development

單純的 Prompt 在複雜專案中容易導致不一致或遺漏。Spec Driven Development 強調先產生結構化的規格文件,再讓代理依據 Spec 執行。

Kilo 透過 AGENTS.md 與 Rules 系統支援此做法;Google Antigravity 等平台也有類似機制(如 Hooks 與專案規則)。Spec 比 Prompt 更易驗證與維護,是大型專案的重要實踐。

Rule System

推薦專案結構

text
.project-root/
├── AGENTS.md
├── .kilo/
│   └── rules/
│       ├── coding-style.md
│       ├── api-standards.md
│       └── testing.md
└── .specs/

Laravel 規則範例(coding-style.md 片段):

Markdown
## Laravel 開發規範
- 遵循 Repository Pattern
- Service Layer 負責業務邏輯
- 使用 Form Request 作為 DTO
- API 回應統一使用 Resource 類別
- Git Commit Message 遵循 Conventional Commits

Rule System 對大型團隊特別重要,能確保程式碼風格、架構決策與安全規範的一致性,減少審核負擔並加速新人融入。

與其他工具比較

(已依回饋調整為更保守描述)

工具開源多模型支援Agent 能力Multi AgentRule SystemBYOKGitHub 整合MCPCLIIDE 支援適合情境
Kilo完整支援VS Code / JetBrains大型專案、靈活代理編排
Cursor有限有限有限支援Cursor IDE快速日常開發
Claude Code有限有限部分支援 (CLAUDE.md 等)有限多平台強推理單任務
Antigravity (Google)部分Gemini 為主是 (Hooks 等)桌面 / CLIGoogle 生態 Production

真實案例與社群反饋

官方目前尚未公布具體採用統計或企業案例。社群討論(GitHub、Reddit 等)顯示,開發者常用 Kilo 處理端到端功能開發與規則驅動工作流。Google Antigravity 則在官方展示中強調複雜代理任務。建議直接參考官方 Blog 獲取最新 Showcase。

2026 趨勢

  • Agent First Development:平台從輔助工具轉向代理指揮中心。
  • Multi Agent Collaboration:平行子代理與人類審核的混合模式。
  • Rule / Spec Driven 開發:成為大型專案標準。
  • Self-improving 與 Auto Review 機制逐漸成熟。
  • 跨平台無縫體驗(IDE + CLI + Cloud)。

如何開始使用

  1. 安裝 Kilo:前往 Kilo 官方網站 下載 VS Code 擴充或執行 CLI 安裝指令。
  2. 設定模型:加入 Google Gemini API Key(或其他供應商),利用 BYOK 功能。
  3. 建立 Rules:在專案根目錄新增 AGENTS.md 與 .kilo/rules/ 目錄。
  4. 產生 Spec:使用 Architect Mode 讓代理協助建立規格文件。
  5. 執行第一個 Workflow:在 Orchestrator Mode 描述高階需求,觀察代理執行並進行審核。

FAQ

  • Kilo 是否一定要使用 Gemini? 不需要。它支援 Claude、OpenAI、Ollama、本地模型、DeepSeek、Qwen 以及 OpenRouter 等,這是 Kilo 的重要優勢之一。
  • 安全性如何確保? 建議使用 Sandbox 模式、明確權限設定,並人工審核重要變更。
  • 適合大型團隊嗎? 是的,Rules 系統與 Cloud Agents 有助於標準化與協作。

參考資料(優先官方來源):

  • Kilo 官方網站 與 文件
  • Kilo GitHub 儲存庫(包含 AGENTS.md 相關討論)
  • Google AI 官方文件、Google Developers Blog 與 Antigravity 相關公告
  • 其他工具比較參考各官方網站公開資訊

SEO Title(5 組)

  1. Kilo 與 Google 開發工具:Agentic Development 實務指南
  2. Kilo Code + Gemini:大型專案 AI 自動化開發完整解析
  3. Spec Driven Development 與 Kilo Rules 系統實戰
  4. 2026 AI Coding 趨勢:Kilo vs Cursor 定位比較
  5. 從 AGENTS.md 到 Multi Agent:Kilo 與 Google Antigravity 應用

SEO Description(5 組)

  1. 專業技術文章,深入探討 Kilo Code 與 Google Gemini、Antigravity 的整合,包含 Workflow 範例、Rules 實務與大型專案比較。
  2. 中高階工程師必讀:Agentic Development 時代的工具選擇與最佳實踐。
  3. 提供 Mermaid 流程圖、Laravel 範例與保守客觀分析的 Kilo + Google 開發指南。
  4. 了解 Kilo Multi Agent 優勢、Spec Driven 方法與 2026 開發趨勢。
  5. 適合技術部落格或公司內部分享的 AI 自動化開發長文。

Meta Keywords:Kilo Code, Agentic Development, Google Gemini, Antigravity, Rules System, AGENTS.md, Spec Driven Development, AI Coding Workflow

Slug:kilo-google-agentic-development-guide-2026

2026年7月4日 星期六

AI 並沒有改變台灣企業重視成本的文化,它只是讓企業有了更強的成本控制工具

最近一年,幾乎所有軟體公司都開始導入 AI。

從 ChatGPT、GitHub Copilot、Cursor,到各種 AI Agent,工程師的開發效率確實提升了不少。

但是,我觀察到一個現象:

AI 並沒有改變台灣企業重視成本的文化,它只是讓企業有了更強的成本控制工具。

AI 提升的是生產力,不一定是薪資

很多人期待:

AI 能讓工程師更有價值,因此薪資也會提高。

但現實往往不是如此。

如果一位工程師以前一週完成 5 個功能,現在透過 AI 可以完成 8 個。

理論上,公司獲得了更多產值。

然而,在許多企業的思維裡,這並不代表工程師應該加薪,而是代表:

  • KPI 可以提高。

  • 工作量可以增加。

  • 團隊規模可以縮小。

換句話說,AI 提升的是生產力,但生產力是否轉化為薪資,取決於企業如何分配這些成果,而不是 AI 本身。

AI 改變的是企業的成本模型

對許多企業而言,AI 最直接的價值並不是「打造下一個創新產品」。

而是:

  • 少請一個人。

  • 延後招募。

  • 用現有人力完成更多工作。

  • 降低外包成本。

  • 縮短開發時程。

如果以前需要:

  • 3 位 Junior

  • 2 位 Senior

現在可能變成:

  • 1 位 Junior

  • 1 位 Mid-Level

  • 2 位會使用 AI 的 Senior

總人數減少,但工作總量沒有減少。

AI 在這裡扮演的是槓桿,而不是福利。

AI 很快就會變成新的基準線

幾年前,如果一位工程師一週完成三個功能,大家會認為效率很好。

今天,公司可能會問:

「不是有 ChatGPT 嗎?怎麼還只完成三個?」

AI 並沒有讓大家更輕鬆。

反而讓原本的高效率,逐漸變成新的最低標準。

當所有人都擁有 AI 工具時,AI 不再是競爭優勢,而是基本配備。

就像 Git、Docker、CI/CD 一樣。

沒有人會因為會用 Git 而獲得加薪。

未來,也不會有人因為會使用 ChatGPT 而自動獲得更高待遇。

技術門檻正在下降,但商業門檻沒有

AI 可以快速產生:

  • CRUD 程式碼

  • API

  • SQL

  • Vue 元件

  • Laravel Controller

  • 單元測試

因此,許多原本需要幾年才能累積的開發能力,現在透過 AI 就能完成七、八成。

但是,公司真正需要解決的問題並沒有改變:

  • 系統架構如何設計?

  • 資料一致性如何維護?

  • 高併發如何處理?

  • 權限模型如何規劃?

  • 如何降低長期維護成本?

  • 如何讓系統支撐未來三到五年的成長?

這些問題仍然需要經驗、判斷與責任。

AI 可以提供建議,但最終仍需要有人承擔決策。

真正被放大的,是能力差距

AI 不會平均提升每一位工程師。

它更像是一個放大器。

會使用 AI 的人,可以更快完成工作。

懂得驗證 AI、修正 AI、整合 AI 的人,可以把效率再往上推。

但如果只是照單全收 AI 的輸出,而缺乏判斷能力,反而可能產生更多技術債。

因此,真正拉開差距的,不是「有沒有使用 AI」。

而是:

  • 是否知道 AI 什麼時候是對的。

  • 是否知道 AI 什麼時候是錯的。

  • 是否有能力做最後的技術決策。

工程師真正需要思考的是什麼?

如果 AI 已經成為每位工程師都能使用的工具。

那麼,真正的競爭力就不再只是:

我會不會寫程式?

而是:

我能不能利用 AI,解決別人解決不了的問題?

包括:

  • 系統架構能力

  • 跨團隊協作能力

  • 商業理解能力

  • 技術決策能力

  • AI Workflow 設計能力

  • 系統整合能力

這些能力,才是真正難以被複製的部分。

結語

AI 的出現,確實改變了軟體開發的方式。

但它沒有改變企業追求效率與控制成本的本質。

對許多台灣企業而言,AI 首先是一種提升生產力、降低成本的工具,而不是重新定義人才價值的起點。

因此,對工程師來說,真正值得投資的,不只是學會使用 AI,而是培養那些 AI 難以取代的能力:判斷、整合、架構設計,以及把技術轉化為商業價值的能力。

因為工具會普及,效率會被追平,但能做出正確決策的人,始終是最稀缺的資源。

很多台灣企業談 AI,第一個想到的不是創新,而是降本增效。

這並不是因為企業有錯,而是市場競爭的結果。

在利潤有限、競爭激烈的環境下,企業最容易衡量的指標永遠是成本。

因此,當 AI 出現後,管理層最先想到的往往不是:

「我們可以做出哪些以前做不到的新產品?」

而是:

  • 能不能少請一個人?

  • 能不能把原本五人的工作交給三個人完成?

  • 能不能縮短開發時程?

  • 能不能降低外包成本?

  • 能不能提高每位工程師的產出?

這就是「降本增效」的思維。

AI 在這樣的環境裡,首先是一項成本控制工具,其次才是創新工具。

因此,許多工程師感受到的,不是工作變輕鬆,而是工作要求變高;不是薪資因 AI 而同步成長,而是 AI 成為新的基本能力,企業期待用同樣甚至更少的人力完成更多工作。

這不是 AI 的問題,而是企業如何運用 AI 的問題。

補充說明:當公司不成長時,薪資本質上就是零和分配

需要補充一個更現實的底層前提:

當一家公司本身沒有營收成長、沒有新市場擴張、也沒有產品價格重估空間時,薪資調整本質上就會變成一種內部分配問題,而不是價值成長問題。

在這種結構下:

  • 薪資不是「創造出來的」,而是「重新分配的」
  • 加薪不代表價值增加,而是代表其他地方的資源被壓縮
  • 人力成本提升,會直接擠壓公司利潤或其他預算

因此在多數成本導向企業中,即使導入 AI 提升了生產力,企業的第一反應通常仍然是:

用同樣的人做更多事,而不是用更多錢回饋同樣的人。

這不是管理思維的好或壞,而是商業結構的自然結果。


另一個更現實的結論

如果從個體角度看,這會導致一個很直接的現象:

薪資成長通常不取決於公司變得更好,而取決於個體是否離開原本的定價市場。

換句話說:

  • 在單一公司內,你是在「等待分配」
  • 在整個市場中,你是在「參與定價」

當公司沒有新增利潤時,薪資上升空間自然有限,這時候個體能做的選擇,通常只剩下:

  • 接受內部分配邏輯(穩定但封頂)
  • 或進入不同市場重新定價(但伴隨風險與變動)

2026年6月24日 星期三

從同步阻塞到事件驅動:一次外部 API 抽獎系統的架構重構實戰

 在這次系統重構中,我們面對了一個非常典型但容易被低估的問題:註冊流程中同步呼叫外部抽獎 API,導致整個 PHP-FPM 在高延遲情境下被拖垮

表面上這只是一個「註冊後拿 QRCode」的流程,但在實際運行環境中,它是一個高度耦合、強依賴外部系統的同步鏈路。


一、原始架構:看似簡單,但隱含風險

原始流程如下:

使用者註冊
→ Laravel Controller
→ 呼叫 MIRA 抽獎 API(HTTP blocking)
→ 取得 QRCode
→ 回傳前端

這種設計在低流量下沒有問題,但它有一個致命特性:

HTTP request thread 被外部 API 的延遲完全綁死


二、真正的問題不是效能,而是失敗模式

這個架構的問題不在平均效能,而在「尾端延遲與不穩定性」。

當外部 API 出現以下情況:

  • 回應時間從 50ms 上升到 500ms+
  • 間歇性 timeout
  • 網路抖動
  • 瞬間流量壓力

Laravel PHP-FPM 會發生:

worker 被長時間占用 → thread pool 被耗盡 → 502 / 504 cascade failure

這種問題的特徵是:

  • 平常完全正常
  • 一旦出問題就是系統級崩潰

三、重構目標

這次重構的核心目標不是「加速」,而是:

將不可控的外部依賴從 request lifecycle 中移除

具體目標如下:

  • API 回應時間 < 50ms
  • 外部 API 延遲不影響使用者體驗
  • 系統具備削峰能力(burst traffic handling)
  • 支援失敗重試與最終一致性

四、新架構:事件驅動 + Queue 解耦

重構後的流程如下:

使用者註冊
→ 寫入 User / Redemption(pending)
→ dispatch Queue Job
→ 立即回傳前端

Queue Worker
→ 呼叫 MIRA API
→ 更新 Redemption 狀態

前端
→ polling / status query
→ 完成後顯示 QRCode

五、核心設計轉變

1. 從「同步結果」變成「狀態機」

系統從:

request → response(必須立即得到 QRCode)

轉為:

pending → processing → completed / failed

這代表一個重要轉變:

系統從即時一致性,轉向最終一致性(eventual consistency)


2. Controller 不再做任何外部 I/O

重構後 Controller 僅負責:

  • DB 寫入
  • 狀態初始化
  • Queue dispatch

完全移除:

  • HTTP external call
  • long latency operation
  • external dependency blocking

3. Queue 成為系統的「緩衝層」

Queue 的角色不只是 background job,而是:

absorbing burst traffic + isolating external instability

它讓系統具備:

  • 削峰能力
  • 重試能力
  • 故障隔離能力

4. 前端改為狀態驅動(Polling)

由於結果變為非同步,前端轉為:

POST /register
→ 200 OK (pending)

GET /redemption/status
→ completed → render QRCode

UI 的本質從:

「拿結果」

變成:

「觀察狀態變化」


六、可靠性設計:三層防護機制

為了確保不重複發券與系統穩定性,架構引入三層保護:


1. DB 層:唯一性約束

user_id UNIQUE

確保一個使用者只會產生一筆 redemption。


2. 狀態鎖:Optimistic Lock

UPDATE ... WHERE status = 'pending'

避免多個 worker 同時處理同一筆任務,防止 race condition。


3. 外部 API:Idempotency Key

使用:

redemption_id → request_id

確保:

  • retry 不會重複扣庫存
  • timeout 不會造成重複發券

七、失敗模式的轉變

原本系統失敗模式:

MIRA 慢 → request 卡住 → PHP worker 滿 → 全站 502

新系統失敗模式:

MIRA 慢 → queue backlog → 使用者等待變長,但系統不崩潰

八、Queue 設計與系統治理

1. Retry 策略

  • exponential backoff
  • retry limit
  • jitter 避免 thundering herd

2. Dead Letter Queue(DLQ)

避免無限失敗任務卡住系統。


3. Reconciliation Job

定期掃描:

WHERE status = 'processing'
AND updated_at < NOW() - INTERVAL 5 MINUTE

避免 worker crash 導致狀態卡死。


九、Polling 的定位

Polling 在這個架構中不是最佳解,而是:

最穩定的 baseline solution

它的角色是:

  • 簡單
  • 可控
  • 不依賴長連線基礎設施

未來可進一步升級為:

  • SSE(中階)
  • WebSocket(高互動)

但本質取捨是:

push 是連線成本,polling 是請求成本


十、這次重構的本質

這次架構改造不是效能優化,而是系統設計哲學的轉換:

從「同步獲取結果」
→ 轉為「非同步狀態演進」


結論

當系統開始依賴外部 API 時,真正重要的不是速度,而是:

  • 是否可以隔離
  • 是否可以重試
  • 是否可以削峰
  • 是否不會拖垮核心服務

這次重構的核心成果是:

將一個脆弱的同步鏈路,改造成可容錯的事件驅動系統

AI Review Flow:當 AI 寫 Code 的速度超過人類 Review 的速度

  AI Review Flow:當 AI 寫 Code 的速度超過人類 Review 的速度 不要讓 AI 只負責寫 Code,而是讓 AI 參與整個 Software Engineering 品質循環。 過去幾年,AI Coding 工具快速改變了軟體開發的方式。 以前,一個...