品味是一套技術系統
設計師稱品味為直覺。工程師稱品味為主觀。兩種說法的功能如出一轍:讓品味免於被檢視。品味若是直覺,便無人能質疑;品味若是主觀,便無人需要實作。設計師獲得了不必負責的權威,工程師獲得了忽視美學的許可。所有人都是輸家。
品味不是直覺。品味是將模式識別應用於品質——經由接觸、反思與淬煉所累積的結果,壓縮成快速判斷。一位盲品中辨識出勃根地酒的侍酒師,並非依靠神秘的本能運作。這位侍酒師品嚐過數千瓶酒,編碼了風土與風味之間的結構關係,建構了一套內部評估框架,能產出快速且精確的判斷。1 判斷的速度遮蔽了背後的系統。
這套系統可以被拆解。約束條件決定你移除什麼。評估標準決定你衡量什麼。模式識別決定你注意到什麼。一致性決定部分與整體的關聯。四個組成部分,每一個都可以編碼。品味是四件事協同運作的結果。
約束條件:你移除什麼
Dieter Rams 在 Braun 待了 42 年,始終追問同一個問題:還能拿掉什麼?SK 4 收音唱機剝離了木質貼面外殼、裝飾性織物,以及對稱卻毫無功能的旋鈕配置。留下的是一個白色金屬機殼搭配透明 Perspex 蓋板。蓋板並非極簡——蓋板是誠實的。Rams 相信,如果機構本身不可恥,將其隱藏就是不誠實。2
Rams 闡述了十項原則。第十條——「好的設計是盡可能少的設計」——其功能是範疇約束。不是美學偏好,是範疇約束。它透過要求每個元素證明自身存在的合理性來限縮解決方案空間。無法服務使用者的元素一律移除,無論它看起來多美觀,或投入了多少心力。
Rams 式的約束與工程約束的運作機制完全相同。記憶體預算約束了哪些資料結構可行,延遲目標約束了哪些演算法可接受。機制一樣:縮減解決方案空間,直到只剩下站得住腳的選項。
在我自己的基礎設施中,約束條件以 hooks 的形式體現。一個拒絕部落格文章使用被動語態的 hook 是對文體風格的約束。一個阻擋已提交程式碼中 TODO 和 FIXME 的 hook 是對延遲品質的約束。一個強制執行語義化 HTML 的 hook 是對結構誠實性的約束。每個 hook 都將一個特定的品味決策編碼為確定性檢查。決策由具備脈絡與判斷力的人做出一次,執行則永遠以機器速度進行,不會偏移。
95 個 hooks 執行 95 項品味決策。每個 hook 都追溯到某個我注意到失敗模式、並判定該模式不可接受的時刻。Hook 是傷疤,產生 hook 的判斷才是品味。3
評估標準:你衡量什麼
Kenya Hara 區分了簡約與空。一把 Henckels 刀是簡約的:握柄告訴你在哪裡握持,刀刃角度告訴你要切什麼,每個元素都在降低歧義。一把柳刃壽司刀是空的:素樸的木柄並不指示你在哪裡握持,而這種指示的缺席正是全部重點。「你可以用任何方式握持它,」Hara 解釋。「這個簡單素樸的握柄承接了日本壽司師傅所有令人驚嘆的技藝。」4
簡約以你移除了什麼來衡量。空以你使什麼成為可能來衡量。兩種不同的評估標準產生兩種不同的精簡。Rams 的評估方式是問「每個元素是否服務於某項功能?」Hara 的評估方式是問「缺席是否為使用者創造了空間?」
評估標準將這些問題編碼為可重複的評量。我的 evidence gate 是一套六項標準的評估框架。每項非瑣碎的變更都必須在標記為完成前,為全部六項標準提供證據:遵循程式碼庫模式、最簡可行方案、邊界情況已處理、測試通過、無迴歸、解決了實際問題。這個 gate 不問「程式碼好不好?」它問六個具體問題,這些問題共同定義了在我的系統中「好」意味著什麼。
具體性是讓品味可傳遞的關鍵。「好的程式碼」是主觀的。「遵循 fetch_semantic_scholar() 第 241 行所建立的指數退避模式的程式碼」是客觀的。Evidence gate 將美學判斷轉化為結構驗證。「程式碼感覺對不對?」變成「程式碼是否符合既定模式、處理了邊界情況、通過了測試?」當評估標準具體到足以產生二元結果時,品味便可衡量。
Hara 的評估對應到一個負空間標準:不是「產品有什麼功能?」而是「產品施加了什麼假設?」一個擁有 47 個必填參數的 API 對開發者如何使用它施加了 47 個假設。一個擁有 3 個必填參數和 44 個選填參數的 API 施加 3 個假設,提供 44 種可能性。假設數量是具體的、可衡量的,將 Hara 的空的哲學編碼為介面設計。
模式識別:你注意到什麼
Charles Eames 設計模壓膠合板椅並非從現有選項中挑選。Eames 夫婦花了數年實驗膠合板成型技術,反覆失敗,發現材料允許與不允許什麼。5 最終設計源自關於木紋方向、黏著劑行為、複合曲線與應力分布的累積知識。椅子看起來毫不費力,而這種毫不費力需要數千小時的觀察與發現。
模式識別透過接觸與注意力來運作。排版過一萬頁的字體設計師能注意到新手看不見的字距錯誤。審查過 500 座橋梁設計的結構工程師能注意到資淺工程師遺漏的荷載分配問題。這種注意力不是天賦,是持續、刻意觀察的沉澱。6
在工程基礎設施中,模式識別對應到品質循環。我的品質循環是一個七步循環:實作、逐行審查、執行 evidence gate、進行 pride check、修正所有問題、退後縱覽、重複。循環強制對第一輪宣告完成的工作進行第二次審視。每一輪都會浮現前一輪遺漏的模式:不一致的命名慣例、未處理的逾時、只驗證正常路徑卻忽略錯誤路徑的測試。基礎設施透過強制執行產生識別能力的注意力模式,彌補了經驗的落差。
一致性:部分如何與整體關聯
安藤忠雄設計的建築中,清水混凝土牆、自然光、水與留白空間之間存在刻意的關係。大阪光之教堂利用混凝土牆上的十字形切口引入陽光,在內牆上投射出一個光的十字架。移除切口,建築只是一個混凝土箱體。移除混凝土,光便失去了顯現自身的表面。兩者皆無法獨立運作。材料與虛空之間的一致性創造了整個體驗。7
一致性是品味中最高層次的組成部分,因為它要求理解整體而非僅僅理解局部。一個 hook 能對單一檔案施加約束。一個 evidence gate 能評估單一變更。一個品質循環能在單一模組中浮現模式。一致性則要求評估每個部分與其他所有部分的關係——以及與系統整體目的的關係。
在軟體中,架構審查承擔一致性功能。一個模組在隔離環境中運作正確,但違反了系統的依賴方向,便是不一致的。一個功能通過了每項測試,但與產品的設計語言相矛盾,也是不一致的。一致性缺陷對局部評估而言是不可見的,只有在有人退後縱覽時才會浮現。
我的品質循環之所以包含「退後縱覽」步驟,正是基於這個原因。在 evidence gate 通過且 pride check 完成之後,循環要求檢查整合點、匯入項目與相鄰程式碼是否有迴歸。我遵循的 Steve + Jiro 準則將此設為雙重標準:Jiro 管轄證據、嚴謹與工藝(局部品質);Steve 管轄值得性、品味與完整產品的整體性(全域品質)。Jiro 不過關,停下。Steve 不過關,重建。雙重標準確保局部正確性永遠不會凌駕於全域一致性之上。
對照圖
品味的四個組成部分,對應四種工程基礎設施。
| 品味組成部分 | 工程基礎設施 | 攔截目標 |
|---|---|---|
| 約束條件(你移除什麼) | Hooks | 無法證明其存在合理性的元素 |
| 評估標準(你衡量什麼) | Evidence gates | 在出貨前攔截「夠好就好」 |
| 模式識別(你注意到什麼) | 品質循環 | 第一輪遺漏的問題 |
| 一致性(部分如何與整體關聯) | 架構審查 | 損害整體的局部最佳化 |
Rams 成為 hook。Hara 成為評估標準。Eames 成為品質循環。安藤成為架構審查。我剖析過的 32 位設計師的設計哲學並非作品集網站的裝飾。每篇剖析都是這四個組成部分中一個或多個的案例研究,而每個組成部分都對應到我在正式環境中運行的基礎設施。
Beauty and Brutalism 記錄了 14 項具體的 CSS 決策,每一項都是約束。白色字體置於 #000000 之上。透明度層級為 5%、10%、40%、65%。沒有漸層、沒有插圖、沒有裝飾性元素。每項決策都是 Rams 式的移除,編碼為每個頁面繼承的樣式表。這些約束是可執行的。
暗工廠問題
Dan Shapiro 的暗工廠模型描述了 AI 程式設計自主性的五個等級,從手動(Level 0)到完全自主(Level 5)。在 Level 5,程式碼由機器生成、由機器驗證、無需任何人閱讀即部署。
品味為暗工廠帶來了正確性所不具備的問題。正確性可以透過測試驗證,效能可以透過基準測試驗證,安全性可以透過靜態分析驗證。品味無法被任何現有的自動化系統驗證,因為一致性組件要求理解整個系統,而非僅僅理解差異。
在 Level 5 以下的每個等級,都由人類提供一致性評估。移除人類,一致性評估就必須被編碼,否則便會消失。約束條件能在自動化中存活(hooks 無需人類即可運行)。評估標準能存活(evidence gates 無需人類即可運行)。模式識別部分存活(品質循環會運行,儘管 pride check 的問題由人類撰寫)。一致性則無法存活,除非有人將架構意圖編碼為評估代理可查詢的格式。一個缺乏品味約束的自主系統會朝通過測試的方向最佳化——而正如 StrongDM 所發現的,代理會為了通過測試套件而寫出 return true,同時產出毫無價值的程式碼。8 測試是綠的,產出卻沒有工藝、沒有深思、沒有一致性。
論點
品味是基礎設施,而在機器能以推論速度寫作、設計和部署的世界中,基礎設施是人類最後的優勢。但品味只有在被編碼時才是優勢。未編碼的品味是瓶頸——一個所有決策都必須經過其判斷的個人,成為系統運作速度的限制因素。編碼過的品味是護城河:約束條件、評估標準、模式識別循環和一致性檢查,每一項產出都必須滿足,以機器速度運行,隨著每次產生新 hook 的失敗而持續改進。
每一次缺乏品味約束的自主代理執行階段,其產出都會朝均值漂移。每一個 hook、每一條 evidence gate 標準、每一個品質循環步驟、每一次架構審查,都編碼了一個抵抗漂移的具體判斷。品質是唯一的變數。品味定義了品質的意義。
將品味視為直覺而壟斷守門的設計師,會在機器生成速度超越人類審查能力時,發現自己的直覺已無關緊要。將品味視為主觀而加以忽視的工程師,會發現自己的系統產出正確、高效、架構完善的平庸之作。前進之路要求兩者兼具:設計師累積的判斷力,被拆解為組成部分,編碼為基礎設施,以機器所要求的速度執行。
品味不是感覺。品味是一套技術系統。建構這套系統,否則就看著品味消失。
常見問題
品味真的可以被歸納為四個組成部分嗎?
這四個組成部分——約束條件、評估標準、模式識別與一致性——是一種拆解,而非化約。品味在實踐中涉及四者同時運作,組件之間的交互作用產生了任何單一組件都無法捕捉的湧現特質。這種拆解之所以有用,是因為每個組件都對應到一種特定的工程基礎設施,使抽象變得具體,使主觀變得可實作。
Hooks 與設計系統有何不同?
設計系統定義 tokens、元件和使用指南。Hooks 在創建當下強制執行行為約束。設計系統說「使用 16px 內文字體」,hook 則阻擋將內文字體設為 14px 的提交。設計系統是參考資料,hook 是閘門。兩者都有用,但在自主生成場景下,讓設計系統的決策不可妥協的是 hook。
編碼品味是否會使其僵化?
編碼品味使被編碼的判斷保持一致,而非凍結。我的 hook 數量在九個月內從零增長到 95 個,因為每個我注意到的失敗模式都成為一項新的約束。僵化意味著拒絕新增 hook。成長意味著每個冒犯你品味的失敗都成為防止下次再犯的基礎設施。
資料來源
-
George M. Taber, Judgment of Paris, Scribner, 2005. Documents the competitive wine-tasting tradition and the structural knowledge behind expert sommelier judgment. ↩
-
Sophie Lovell, Dieter Rams: As Little Design as Possible, Phaidon, 2011. See also the ten principles of good design, first published in Rams’ 1976 speech at the New York Museum of Modern Art. ↩
-
Blake Crosley, “Every Hook Is a Scar,” blakecrosley.com. Each hook traces to a specific failure that produced a specific constraint. ↩
-
Kenya Hara, Designing Design, Lars Muller Publishers, 2007. The Henckels/yanagiba comparison appears in Hara’s lectures and in Ex-Formation, Lars Muller Publishers, 2015. ↩
-
Pat Kirkham, Charles and Ray Eames: Designers of the Twentieth Century, MIT Press, 1995. The plywood molding experiments are documented across multiple chapters detailing 1941-1946 development. ↩
-
Anders Ericsson and Robert Pool, Peak: Secrets from the New Science of Expertise, Houghton Mifflin Harcourt, 2016. Ericsson’s research on deliberate practice demonstrates that expert pattern recognition is a product of structured exposure, not innate talent. ↩
-
Philip Jodidio, Tadao Ando: Complete Works 1975-Today, Taschen, 2024. The Church of the Light (1989) is analyzed as Ando’s definitive statement on the relationship between material and void. ↩
-
Justin McCarthy, Jay Taylor, and Navan Chauhan, StrongDM engineering blog, 2026. Documented in Blake Crosley, “The Dark Factory Verification Layer,” blakecrosley.com, April 2026. ↩