工匠不必開採並搬運一整塊巨石,而是用許多小而規格一致的磚塊砌成牆面。每塊磚都容易搬運與堆砌,單塊損壞時也能替換,不必重建整面牆。
跨時代案例
全站案例一次攤開,從古代工藝到 AI。可依領域篩選或搜尋。
437 個案例
古代與傳統 49
昆蟲、甲殼類與蚯蚓都由重複的體節構成。分節讓每一段能獨立彎曲與活動,賦予身體單一剛體無法達到的靈活度。
稻草人只把人類的嚇阻性質——外形與存在感——擺在田裡,就能趕走鳥類,而不需要真人站崗。有用的『威脅感』被抽取出來留在原地,農夫則能到別處工作。
刀匠在淬火前於刀背敷上黏土,讓只有刀刃快速冷卻而變硬,刀背則保持柔軟而堅韌。一把刀因此擁有兩種局部特性:耐磨的刀刃與吸震的刀背。 open_in_new
比目魚幼時左右對稱,但當牠側躺在海床上生活時,一隻眼睛會遷移,使兩眼都落在朝上的一側。演化打破了身體的對稱,以適應平貼海底的生活。
翻土犁是不對稱的:彎曲的犁壁只把切開的土翻向一側。這個偏向一邊的形狀完成了對稱犁刀辦不到的工作——把犁溝翻轉過來。
當一個微生物吞入另一個、兩者併成單一生物時,複雜細胞於焉出現,被吞入的夥伴成了粒線體。演化把兩個獨立的生命體合併成一個更有能力的單元。
單根木棒一折就斷,但許多木棒綁在一起就難以折斷——這是《伊索寓言》的寓意,也是真實的結構事實。把相同的脆弱元素合併,能造出遠比各部分加總更堅固的一束。
大象用同一個器官呼吸、嗅聞、喝水、抓取食物並發出叫聲;演化把多種功能整合進一個附肢,省去了對多個專用構造的需求。
為本原則命名的傳統工藝:一組由大到小的中空木娃娃,每個都套住下一個,用最大一個的體積收納了許多物件。
充氣的器官讓硬骨魚把周圍水的浮力調到與自身體重相當,無需不斷游動就能停在任一深度;環境的浮力抵銷了牠的重量。 open_in_new
早在金納之前,中國、印度與非洲的人們就刻意讓健康者接觸輕症天花的材料,預先以受控的形式引發疾病,使身體日後能抵抗真正的感染。 open_in_new
傳統農民在播種前先浸泡種子,使其入土時發芽已經啟動;把部分必要的改變提前完成,替田裡省下好幾天。
古代社會在豐收時把多餘的穀物存進穀倉與糧窖,以熬過日後的歉收年。這批儲備正是因為雨量與收成不可靠而預先備妥,用來緩衝荒年的衝擊。
船閘用一座固定的閘室,藉由改變室內水位來銜接不同高度的水段,讓船隻只是隨水浮起或下降。沉重的船身從不需要被實際抬起,而是調整環境,讓船永遠停在水面自身的高度。 open_in_new
陶匠不是讓塑形的雙手繞著陶土轉,而是讓陶土在轉盤上旋轉,雙手則相對固定不動。是讓工件動、讓工具固定,恰好與徒手塑形的方式相反。
羅馬工匠用拱與穹頂取代會因跨距而斷裂的平直石過樑,靠曲率把重量沿著弧線導引成壓應力。這種圓弧形狀讓他們得以跨越寬得多的開口,並罩住像萬神殿那樣的大廳。 open_in_new
一整片僵硬的胸甲雖能護住軀幹,卻把穿戴者鎖得動彈不得;中世紀的甲匠把外殼分成一片片重疊、在關節處相接的甲片,讓騎士能彎腰、伸手、作戰。把僵硬的物體分成能彼此相對移動的部分,就讓盔甲從牢籠變成靈活的外皮。
傳統量穀時,商販會故意把穀物堆到量斗口以上(過量),再用一根平直的刮棍橫掃斗口,把多出的部分刮除,得到精確又可重複的量。先裝過頭再刮到基準線,遠比一次倒到剛好齊口容易。
在平地稀少的陡坡上,農民把山坡開闢成一階階水平的梯田,把單一斜面變成許多可耕作的層次。亞洲各地的水稻梯田,數百年來便運用這種垂直、多層的方式。
為了把細麵粉與粗麩皮分開,或依大小篩分砂石,人們前後搖動篩子;這種震動使小顆粒比單靠重力更快找到並落過篩孔。手搖篩是最古老的分級工具之一。
心臟並非以穩定的連續水流推送血液,而是以有節律的脈衝跳動;心跳之間的舒張間歇,正是心臟自身冠狀動脈充血的時機。演化採用了週期性作用,而間歇還兼做了第二件工作。
諾利亞是一種邊緣裝滿水斗的大輪,由河水本身的水流帶動;它一邊旋轉,一邊在底部舀水、在頂部把水倒進引水槽,只要河水不停就永不間斷。有用的工作持續運轉,且無須人力操作。
鐵匠把燒紅的鋼材猛然浸入水中,幾乎瞬間冷卻。金屬被快速帶過會生成軟弱組織的溫度區間,因而硬化而非變軟。正是速度本身避免了不想要的結果。
尼羅河每年的氾濫是破壞性的事件,卻在退去後留下一層富含養分的淤泥,使農田重獲肥力。古埃及農業把一場反覆發生的災害,轉化為收成的根基。
消防員在逼近的野火前方刻意點燃受控的火,先燒掉火勢前進路徑上的燃料。他們正在對抗的火,被用來擊敗火——把兩場有害的燃燒結合,讓較大的那場因缺乏燃料而熄滅。
約公元前 250 年,克特西比烏斯打造了一具水鐘,其中的浮子感測水槽的水位並調節進水量,以維持水位恆定。這個自我修正的浮子,是已知最早的自動回饋裝置之一。
開花植物無法移動來繁殖,於是招募蜜蜂作為中介載體。蜜蜂把花粉從一朵花帶到另一朵花,完成植物自己無法完成的傳遞。
傳統農場把動物糞便與作物殘渣還回田裡,滋養下一季的作物。農場藉由把自身的廢棄物流轉化為所需的肥料來服務自己,形成一個閉環。
約公元前 600 年,泰勒斯不用攀爬金字塔,而是把金字塔影子的長度與一根已知高度木棍的影子相比,推算出塔高。影子是一份廉價的光學複製品,用來代替無法直接量測的龐大原物。
在南亞,茶與優格盛裝在未上釉的陶土杯裡,燒製成本低廉,用過一次便摔碎。這種陶器刻意設計成可拋棄,以耐用度換取衛生與近乎零的成本。 open_in_new
蒲公英或楊樹釋放成千上萬顆微小、短壽的種子,只求少數能生根。大自然每顆種子幾乎不花成本,任由絕大多數消亡,正是本原則「廉價又大量」的取捨。
早期航海者不再只依賴看得見的地標,改用會對齊地球磁場的磁針。指引方向的是一個場,而不是機械式的標記。
蝙蝠在黑暗中發出超音波並解讀回聲來導航與捕食。用一個聲學場取代觸覺與一般視覺,建構出周遭的樣貌。
古代鐵匠靠擠壓風箱,把可控的氣流送進炭火來提高爐溫。一個可壓縮的氣體部件,完成了任何固體工具都做不到的工作。
硬骨魚靠充氣的魚鰾調節浮力,不需肌肉出力就能維持深度。演化用一個充氣部件,而非固態壓艙物,解決了保持水中平衡的問題。 open_in_new
每個活細胞都被一層薄薄的脂質雙層膜包裹,把內部與外界區隔並加以保護。演化用一層撓性薄膜,而非剛硬的牆,把生命隔離開來。 open_in_new
把獸皮或毛氈張在輕巧的骨架上,不需厚重的牆就能遮風避雨,是人類最古老的住所之一。這層撓性外殼用固體建築一小部分的材料,就能擋住風雨。
許多鳥類演化出中空、充氣、內部有支柱交錯的骨骼。這種多孔結構去掉了飛行所需削減的重量,而內部支柱又保住強度,正是把物體變得多孔以減重卻不失功能的取捨。
章魚與烏賊身上有色素細胞器官,靠肌肉把色囊拉張或放鬆,瞬間改變顏色。牠們藉此融入背景或向同類示意,是自然界改變物體顏色的高手。 open_in_new
傳統木工用木釘、木榫來固定木材,而不是金屬釘。因為釘與樑同為木料,會一起脹縮、一起老化,接合處便不會鬆脫或鏽蝕。
鹿長出一對角,用一季後便脫落,隔年再長出全新的一對。自然界既把用過的結構拋棄,又週期性地再生出替代品。 open_in_new
囓齒動物的門牙因啃咬而不斷磨損,於是牠們的門牙終生持續生長來補足損耗。這件工具以與消耗相同的速度自我再生。
陶匠先把柔軟好塑的陶土捏出形狀,再入窯燒製,趕走水分並使顆粒熔結成堅硬耐久的陶瓷。熱把材料的狀態從可塑變為剛硬,把選定的造型定住。
水滲入岩石裂縫,夜間結冰時體積膨脹約 9%,把裂縫撐得更開;反覆的凍融循環最終使岩石崩解。做功完全來自液態轉固態相變時的體積變化。
從新石器時代起,礦工會在岩壁旁生火;高溫使岩石各部位膨脹程度不同而裂開,便於撬出,有時再潑水加速。在炸藥出現之前,人們就靠純粹的熱膨脹來破開堅硬岩石。 open_in_new
古代工匠用風箱把額外的空氣鼓入爐火;多出來的氧氣把燃燒溫度拉高到足以冶煉礦石、鍛打金屬。給爐火供給更多氧氣,正是最古老的富氧化作法。
從新石器時代起,農人把穀物存放在密封的地下窖中,穀物自身的呼吸耗盡氧氣、讓空間充滿二氧化碳。這種自然形成的惰性氣氛悶死了昆蟲與黴菌,使收成保存數月。
早在西元前二千年,製弓匠就把角貼在弓腹、木材作弓芯、筋腱貼在弓背,因為角耐壓縮、筋耐拉伸。這種複合結構讓一把短而強勁的弓,儲存遠比任何單一材料更多的能量。 open_in_new
機械與製造 97
收音機天線被分成一節節可互相套疊的管段。分割讓長天線能收合成精巧的長度以便收納,需要接收訊號時再拉長。
整片實心的窗板被換成許多可獨立傾斜的細窄葉片。提高分割程度後,使用者能細膩地調節光線與通風,而不是只能全開或全關。
組合式與模組化家具以分開的板件與模組出貨,到現場再鎖接組裝。容易拆解讓產品運送成本低,也方便重新配置或維修。
在空調或冷藏系統中,吵雜又發熱的壓縮機被分離到室外安裝。干擾的噪音與熱被抽離,製冷功能則留在室內。
要照亮一個必須保持低溫或乾燥的地方,可把燈放在遠處,只用光纖把光導引過來。光被抽取並傳送到定點,燈的熱、電與體積則被留在原處。
羊角錘的錘頭一側是打擊用的平面,另一側是拔釘用的彎鉤。兩端各自為相反的任務——把釘子敲入與撬出——做了在地化的造形。
齒輪的齒面經滲碳處理而變得堅硬耐磨,芯部則保持堅韌有延展性。這個零件刻意做成不均勻:摩擦處硬,需承受衝擊處韌。
極性插頭的一片插腳比另一片寬,因此只能以一種方向插入,確保火線與中性線正確連接。形狀被做成不對稱,以強制唯一正確的方向。
飛機機翼上表面的弧度比下表面大。這種橫截面刻意的不對稱,讓空氣在上下兩面以不同方式流過,產生升力所需的壓力差。
圓形的軸被削出一個平面或鍵槽,使旋鈕或齒輪只能以一種角度安裝,且不會打滑。打破圓形的對稱,讓接合能傳遞扭矩並固定方位。
聯合收割機的名字來自它把過去三道分開的工序——收割、脫粒、風選——合併成在田裡連續完成的一趟作業。把這些步驟在時間上合併,讓原本要好幾天的人力工作,變成一台機器就能完成。 open_in_new
刮鬍刀的刀頭把數片相同的刀片排在一起,讓每刷一次就對鬍鬚切割多次。把相同的刀片合併到單一工具上,一刷就能刮得更乾淨。
一個握柄整合刀刃、剪刀、螺絲起子、開瓶器等,用單一工具取代一整箱工具,是「一物多用」最經典的教科書範例。 open_in_new
這種機器把收割、脫粒、揚穀這三道原本分開的工序整合成單次作業完成;正因為把多種功能合而為一,才被稱為「聯合」收割機。 open_in_new
口徑依序縮小的管節逐層套入下一節,讓長天線收合成短短一疊;套疊使伸展後的大長度能收進很小的空間。 open_in_new
飛機起飛後把輪組收摺進機身與機翼的空腔內,起落架穿進機體的空腔中,而不再懸在氣流裡。
一個等於轎廂重量加上約四到五成載重的配重掛在鋼索另一端,馬達只需拉動兩邊微小的重量差,而不必吊起整個轎廂。 open_in_new
船體下方的翼狀水翼在船加速時產生流體動力升力,把船體抬離水面以降低阻力;流動的水承擔了船的重量。 open_in_new
機翼的形狀把空氣向下偏折並產生升力,在巡航時恰好支撐飛機的重量,讓沉重的機器僅憑流動的空氣就能懸浮飛行。
鋼腱在混凝土承載前就先把它壓縮,日後使用荷載想拉伸它時,得先抵銷這股內建的壓應力;反向應力是事先施加的。 open_in_new
急速冷卻讓玻璃表面處於壓縮、核心處於張力;裂縫必須先克服預先施加的表面壓應力才能擴展,反作用在製造時就已內建。 open_in_new
用彈丸轟擊金屬件,事先在表面打出一層殘餘壓應力,對抗日後使用時會引發疲勞裂縫的張應力。 open_in_new
組合家具出貨時每個螺絲孔都已鑽好,組裝只剩對位與鎖固;最費工的加工在工廠就事先完成了。
郵票、紙巾與包裝上都有一排事先打好的小孔,材料在需要時能沿線乾淨撕開,不必動用剪刀。
整間房間的模組在工廠內建好並裝修完成,再運到工地吊裝拼合;大部分營建工作在抵達現場前就已完成。
安全氣囊平時折疊、靜置在方向盤內,一旦偵測到撞擊便在數毫秒內充氣以緩衝乘員。它是遠早於事件就裝好的緊急手段,用來補償隨時可能發生碰撞的風險。
鍋爐或壓力容器上的安全閥設定為內部壓力超過安全門檻時自動開啟,在任何破裂發生前先行洩壓。這是預先裝設的失效保護,用來補償容器壓力控制的不完美。
修車廠不把沉重的車子頂高,而是挖一個地坑,讓技師走下去、在車子維持地面高度時檢修底盤。抬高物體的需要被消除了,改成讓工作者下降。
倉庫地面刻意蓋成與進出貨車車床同高,讓棧板水平推移即可,不必抬上或放下。車輛與建物之間的高低差在設計上就被抹平了。
手工銼刀是讓工具在固定的工件上移動;車床則把這件事反過來,讓工件高速旋轉、抵著固定的刀具。對調誰在動,就能讓單一刀尖沿著整個圓周均勻地切削材料。
掃描儀不是讓病人穿過儀器,而是讓病人保持不動、讓造影環繞著身體旋轉。讓機器動而不是讓受檢者動,能得到穩定且精確對位的一系列斷層影像。
單純的滑動面會把能量浪費在摩擦上;軸承則置入淬硬的滾珠或滾子,讓表面彼此滾動而不是拖曳。用曲面的滾動元件取代平面的滑動接觸,正是曲面化的直接應用。
直齒的正齒輪一次整齒嚙合,會發出撞擊聲;斜齒輪則讓齒沿著曲線盤繞,使接觸漸進地滾入、運轉安靜。把齒線彎成曲線能分散負載,並讓運動的傳遞更平順。
沒有任何一種機翼形狀能同時最適合低速起飛與超音速飛行,因此可變後掠翼飛機在低速時把機翼前展以取得升力、在高速時把機翼後掠以降低阻力。讓機翼幾何能夠改變,就能在任務的每個階段都保持最佳。
一輛又長又僵硬的公車無法轉過狹窄的市區彎道,因此鉸接式公車被分成兩節,由一個會隨轉向彎折的柔性樞紐相連。把車輛分成能彼此相對移動的部分,就讓它同時具備長度與靈活的轉向能力。
零件先鑄造或鍛造成略大於成品的尺寸,留下一層薄薄的加工餘量(過量材料),再只針對關鍵面切削到精確公差。切除少量餘量,比直接鑄到最終尺寸更便宜也更準確。
鎖法蘭或組裝板式家具時,先把每根螺栓只鎖到半緊,讓各部件還能微調對位,最後再依序鎖到規定扭力(部分作用)。若一開始就把單一螺栓鎖死,會把歪斜固定下來。
當地面面積有限時,汽車被停放在層層堆疊的樓層上,而非攤在單一平面停車場,藉由向上發展的垂直維度使容量倍增。
交會的車流被分配到層層疊起的匝道與高架橋上,使車輛彼此上下穿越而不必停等。利用垂直維度,消除了平面路口原本會產生的交會衝突。
混凝土澆置後,把插入式振動棒伸入濕拌料中震動;振動使氣泡潰散,並讓材料流入模板的每個角落,形成緻密而堅固的成品。
精密零件、珠寶或實驗玻璃器皿,可浸入以超音波頻率驅動的液體中清洗;高頻振動產生微小的潰破氣泡(空蝕),能刷洗表面並深入刷子無法觸及的縫隙。這正是「提高頻率」子原則的體現。
腎結石可不經手術即被擊碎:將聲學震波穿過人體聚焦於結石上,振動能量把堅硬的結石碎裂成足以自然排出的小塊。(1980 年首次用於腎結石。) open_in_new
活塞引擎並非連續燃燒燃料,而是以一次次分立的動力行程點火,其間的進氣、壓縮與排氣行程則利用間歇為下一次燃燒做準備。週期性的燃燒,間歇也在做前置工作。
衝擊鑽在旋轉的同時,沿鑽頭軸向施予快速的週期性敲擊;脈衝式的衝擊能擊碎單靠穩定壓力無法穿透的堅硬磚石。把連續推壓化為脈衝,才能完成工作。
要調暗 LED 或設定馬達轉速,PWM 並非連續地降低電壓,而是每秒把全功率開關數千次,並改變每個週期中「導通」所佔的比例。平均功率完全由週期性脈衝的時序來控制。
連續鑄造不再把鋼水逐一倒入分開的鑄模製成鋼錠,而是把熔鋼凝固成一條不間斷的連鑄胚,在其產出時裁切成段,使製程免除停停走走的中斷,大幅提升良率。 open_in_new
早期印表機只在列印頭朝一個方向移動時列印,回程行程則被浪費掉;雙向列印機在來回兩趟都列印,消除了空跑,使列印頭在兩個方向上都在做有用的工作。這是「消除空動作」的經典案例。
飛輪在引擎的動力行程之間持續旋轉,於每次脈衝時儲存能量、在間歇時釋放,使軸輸出平順而連續的扭矩,而非一頓一頓的開關式驅動。
牙科鑽以每分鐘數十萬轉高速旋轉,在摩擦熱累積並傳到敏感牙髓之前就切穿琺瑯質。有害的副作用(使牙齒發熱)被純粹的速度甩開。 open_in_new
落錘鍛造以模具一次快速而有力的擊打成形熱胚料。成形在工件冷卻、裂紋來得及擴展之前就完成,因此高速衝擊做到了緩慢加壓做不到的事。
超臨界軸有一個共振轉速,在該轉速下振動會破壞性地放大。工程師讓轉子快速衝過這個轉速區間,使破壞性振動在軸達到穩定運轉速度前來不及累積。
煞車通常把車輛的動能當作廢熱丟掉。再生煞車在減速時讓馬達當發電機運轉,把原本會浪費掉的能量回收並存回電池。 open_in_new
廢氣是引擎通常直接排掉的高溫、高能量廢流。渦輪增壓器讓廢氣通過渦輪來壓縮進氣,把浪費掉的副產物轉化為額外的引擎動力。 open_in_new
蒸汽機上旋轉的飛重會隨轉速上升而張開,並透過連桿關小蒸汽閥。引擎自身的輸出被回饋回去以節制其輸入,無需人為操作就能維持穩定轉速。
定速巡航持續量測實際車速,與目標值比較,並調整節氣門以縮小差距。上坡時,它把逐漸擴大的誤差回饋成更大的節氣門開度,以維持設定速度。
釘沖是一支放在鎚子與釘頭之間的小沖具。它把鎚擊傳遞下去,讓木工能把釘子打進表面以下,而鎚面不會壓傷木材。
催化劑提供一條中間途徑,讓反應更快、在更低溫下進行,最後又原封不動地釋出。它中介了轉化過程卻不被消耗,因此等於事後被移除。
在鹵素燈泡中,從高溫燈絲蒸發出的鎢與鹵素氣體結合,再重新沉積回燈絲上。燈泡在點亮的同時修復自己的燈絲,無需任何外部維護就延長了壽命。
含油青銅軸承把潤滑劑儲存在其多孔結構中。當它升溫並轉動時,會釋出剛好足夠的油來潤滑自己,因此軸承自行滿足了維護需求。
裝滿感測器的擬人假人在碰撞測試中代替真人,記錄人體會承受的力量。工程師用一個可耗損的複製品蒐集傷害資料,而不必拿真人冒險。 open_in_new
測量師與工程師從多張重疊的照片量測建物、地形與零件,而不是直接量測實體。尺寸是從一疊光學複製影像取得,省去搭鷹架或停用實體結構。
熱像儀把機器看不見的熱分佈轉成紅外線影像,揭露過熱的軸承或鬆脫的電氣接點。正如本原則從可見光進一步走向紅外線複製,不需拆解或碰觸帶電部件就能找出故障。
砂模鑄造用便宜的砂子壓出模具,只供一次澆注熔融金屬,之後便打散取出鑄件。對於小量或複雜的鑄件,一次性的砂模遠比永久模具便宜。
把廉價的鋅或鎂陽極鎖在船殼或管線上,任其被腐蝕,以保護昂貴的鋼材;剪切銷則被設計成先斷裂以保住齒輪箱。用一個廉價、可犧牲的小零件,去保護昂貴的部件。
磁浮以磁場懸浮並推進列車,取代車輪在軌道上滾動。去除機械接觸,也就去除了滾動摩擦與磨耗。 open_in_new
磁流變避震器(如汽車的 MagneRide)在油中含有鐵磁粒子,磁場讓粒子排列並使流體每秒變硬數百次。這是靠場作用於被場活化的粒子,而非機械閥門。 open_in_new
感應爐或工業感應加熱以交變電磁場直接加熱金屬,沒有火焰,也沒有灼熱的機械元件接觸工件。原本靠加熱板做的工作,改由場來完成。
煞車、壓床與挖土機手臂,在油缸中用不可壓縮的液體來放大並平順地傳遞力量。一柱液體取代了笨重的固體槓桿與齒輪。
輪胎與空氣彈簧中一層加壓氣體,吸收路面衝擊並調整車身高度,而實心輪或鋼製彈簧則會又硬又固定。氣體部件承載重量並緩和衝擊。
氣墊船坐在裙圍下方被封住的加壓空氣墊上,取代會拖曳的車輪或船體。整艘船浮在氣體上,能同樣越過陸地、水面與泥灘。
弗萊·奧托為 1972 年慕尼黑奧運體育場設計的屋頂,用預張的織物薄膜跨越大面積,取代笨重的剛性結構。受張力的薄膜,完成了粗大樑板才能做的事。 open_in_new
在隔膜泵中,一片可撓動的膜取代剛性活塞來推送流體;在感測器中則用來偵測壓力,同時把機構與介質隔開。這層薄膜既作動、又隔離。
飛機肋板、支架與賽車零件上會鑽出一排排的孔。在受力低的地方挖掉材料,讓零件變得多孔而更輕,又幾乎不損及強度。
Oilite 這類軸承由多孔燒結青銅製成,孔隙裡吸滿了油。孔隙靠毛細作用把油吸入,受熱或受壓升高時又把油釋出,使軸承能自行潤滑。 open_in_new
金屬有機骨架(MOF)是充滿奈米級孔隙、內部表面積極大的結晶固體。它把氫、甲烷或二氧化碳分子塞進這些孔隙中儲存,正是為了容納有用物質而把材料做成多孔的。 open_in_new
鐵匠回火淬硬的鋼時,表面會生成一層薄氧化膜,隨溫度升高依序呈現稻草黃、古銅、再到藍色。這顏色就是內建的溫度讀數,讓鐵匠用肉眼判斷回火程度。
為了找出肉眼看不到的細裂紋,檢測員在零件上塗有色或螢光滲透液,擦掉表面後再上顯像劑,把滲入缺陷裡的染料吸回表面。裂紋便顯現為一條明亮的彩色線,讓看不見的變得看得見。 open_in_new
鑽石是已知最硬的材料之一,因此鑽石與其他超硬工件要用鑽石磨料來切割、研磨、拋光。唯有硬度相當的材料才加工得動它,於是刀具用了與工件相同的物質。 open_in_new
鋼與混凝土的熱膨脹係數幾乎相同,因此鋼筋混凝土梁會像一整塊一樣受熱冷卻。正是這項相匹配的性質,讓鋼筋在溫度變化時不會與混凝土脫離開裂。 open_in_new
要把金屬焊好,填料棒通常選用與母材相同的合金。成分相符,焊道就有和被連接零件一致的強度、耐蝕性與膨脹特性。
運載火箭在每一節推進劑用盡的當下就拋掉那一節。把已無用的空油箱與引擎拋棄,甩掉死重,剩下的火箭便能更有效率地加速。 open_in_new
再入艙的隔熱盾被設計成在下降過程中焦化、逐層剝蝕。這材料刻意犧牲自己,把巨大的熱量隨著剝落的碎屑一起帶走。
天然氣被冷卻到約攝氏零下 162 度,凝結成液體,體積約只剩氣態的六百分之一。改變它的物理狀態,使它密到足以用油輪跨洋運送。 open_in_new
固特異的硫化法把天然橡膠與硫加熱,使其聚合物鏈交聯。這一改變把黏軟的物質變成堅韌有彈性、能保持形狀的材料,耐用的輪胎才得以成真。 open_in_new
把鋼加熱並以受控速率冷卻,可在不改變形狀的前提下改變它的硬度與韌性。透過調控溫度,同一種合金既可做得又硬又脆,也可做得富彈性又強韌,以配合不同用途。
冷媒在循環中於低溫側蒸發、吸收潛熱,於高溫側冷凝、釋放潛熱,把熱量從冷端搬到熱端。整台機器就是靠液氣相變時吸放的潛熱在運作。 open_in_new
密封的熱管內含工作流體,在熱端蒸發、冷端冷凝,幾乎沒有溫差就能搬運大量熱量。它靠相變潛熱傳熱,效率遠高於實心金屬。
要把套環或軸承緊密裝到軸上,工程師會加熱外件使其膨脹,套上軸後讓它冷卻收縮,形成不靠螺栓的過盈配合。夾持力完全來自熱收縮。 open_in_new
長段鋼軌與橋面在施工時會留下間隙或交錯的伸縮縫,讓它們在夏季受熱伸長、冬季收縮而不致挫曲。這種設計刻意為熱膨脹預留空間,而非硬性對抗。 open_in_new
把兩種熱膨脹係數不同的金屬貼合成一片;溫度上升時,金屬片朝膨脹較慢的一側彎曲,藉此開閉開關。它正如第二條子原則所述,用兩種材料把溫度變化轉成機械運動。
水冷噴槍把高純度氧氣吹到熔融生鐵上,約 20 分鐘內就快速氧化掉碳與其他雜質而煉成鋼。從空氣升級到純氧,正是本原則所描述的強化手法,全球逾半數的鋼都這樣生產。 open_in_new
氧乙炔切割炬先預熱鋼材,再噴出一股純氧,使鐵氧化並把熔融氧化物吹走,切穿厚板。正是這股純氧,把高溫火焰變成了切割工具。
在 TIG 與 MIG 焊接中,一股氬氣覆蓋熔池,使空氣中的氧與氮無法接觸到它而造成氣孔或氧化。用惰性氣體取代一般空氣,讓焊道保持乾淨而堅固。
白熾燈泡填充的是氬氣或氮氣而非空氣,因為惰性氣體能阻止白熱的鎢絲氧化、並減緩其蒸發,讓壽命從幾分鐘延長到數月。燈泡只有在這種保護性的惰性環境中才能運作。
混凝土耐壓卻不耐拉,因此把鋼筋澆築其中來承受拉力。這種複合材料同時應付壓力與拉力,而這是任一材料單獨都做不好的。 open_in_new
嵌在聚合物基材中的碳纖維,提供極高的強度重量比,這正是波音 787 與空中巴士 A350 用它製造機翼與機身的原因。纖維承載力量、樹脂則黏合並定型——這是成分之間的分工。 open_in_new
合板把薄木單板層層黏合,層與層之間的木紋相互垂直,使某一方向的弱點被另一方向的強度補上。把同一材料以不同方向疊層,做出比實木更強、更不易翹曲的板材。 open_in_new
日常生活 70
巧克力片在製造時就壓出溝槽,把它分成一小格一小格。這種內建的分割讓人不必用刀,就能乾淨地剝下剛好一份。
低咖啡因製程把咖啡豆中的咖啡因移除,同時保留風味物質。單一不需要的性質——咖啡因——被抽離,飲品的其餘部分則維持不變。
鉛筆一端是書寫用的石墨筆芯,另一端是擦除用的橡皮。同一支工具中,每一端都被賦予不同而在地有用的功能。
冰箱不是一個溫度均勻的冷箱:冷凍室、冷藏室、蔬果保鮮抽屜與門邊層架,各自維持適合其內容物的溫度與濕度。每個區域都依自己的局部條件做了調校。
SIM 卡與 SD 卡有一個角被切掉,因此在物理上就無法反向插入。這個不對稱的輪廓是一種防呆提示,引導使用者正確插入。
多功能事務機把印表機、掃描器、影印機與傳真機合併成一台裝置,共用同一條進紙路徑、電源與控制面板。把這些相似的機器合併,省下桌面空間與成本。
一支手機同時是相機、音樂播放器、衛星導航、手電筒與錢包,把一整抽屜的單一用途裝置整合進一台隨身裝置。
同一個可正反插的接頭同時傳輸電力、資料與影像,用單一連接埠取代筆電過去分開的充電、顯示與周邊插孔。
椅子的造型讓每張都能套進下一張,一疊多張只佔用約一張椅子的地面空間;靠「逐層套入」來收納。 open_in_new
容量遞減的量杯一個套進一個,整組不同尺寸收納時變成抽屜裡一疊緊湊的圓柱。
彈簧在每個角度都抵銷燈臂的重量,燈頭撥到哪就停在哪、不會垂落;內建的平衡力維持了它的姿勢。 open_in_new
灌入比空氣輕的氣體後,氣球的浮力超過自身重量,不需桅杆就能把布條與招牌托上高空;周圍的空氣把負載撐了起來。
滾漆之前先把飾條與插座貼起來;這是預先的反制動作,擋掉「漆到不該漆的地方」這個有害副作用,而非事後清理。
壁紙背面已經上好膠;貼的人只要沾濕就能上牆,因為上膠這道工序在製造時就事先完成了。 open_in_new
廚師在開火前就把每樣食材切好、量好、擺好位置,出餐時每個配料都能立刻下鍋,不浪費時間。
家庭平時就備妥煙霧警報器與滅火器,即使火災或許永遠不會發生。這些緊急手段預先備妥,萬一真的起火,警示與滅火手段早已隨手可得。
汽車攜帶一顆幾乎全程都是死重的備胎,但它正是駕駛人在路上遇到無法預測的爆胎時得以脫困的關鍵。這個備援是預先配置的,用來補償輪胎有限的可靠度。
自助餐的餐盤疊在一個彈簧上,盤子被取走時彈簧就把整疊往上推,讓最上面那個盤子永遠停在同一個順手的高度。取用者不必抬手或彎腰,整疊餐盤會自動維持在固定高度。
洗衣滑槽讓衣物靠重力從樓上落到洗衣間,沒有人得抱著沉重的籃子下樓。這件工作被重新設計成:讓衣物順著既有的高低差移動,而不是逆著它搬運。 open_in_new
一般跑步是讓跑者在固定的地面上前進;跑步機把這件事反過來,讓跑者留在原地、由履帶在腳下移動。固定人、移動地面,就把一項戶外活動變成在一個定點就能完成的事。
在機場大廳,旅客可以站著不動,由地板本身把他們往前送。不是由人走完那段距離,而是讓環境移動,把「旅程中誰在出力」這件事對調過來。
原子筆書寫時,是讓筆頭裡一顆微小的淬硬球體在座槽中滾動,一側沾起墨水、另一側把墨水抹到紙上。滾動的球體以平順的曲面運動取代了會刮紙、拖曳的筆尖。
早期的滑鼠靠底部一顆滾球把手部移動轉換為游標移動,現代光學滑鼠則追蹤曲面的反射光。無論哪一種,把滑動的手部動作轉成滾動或旋轉的讀值,正是讓指向操作毫不費力的關鍵。
直吸管逼著喝的人得對準杯子;可彎吸管加入一段風琴狀的伸縮節,讓原本僵硬的管子能彎成任意角度。在僵硬的物體中加入一個可動的關節,就讓它能因應杯子與嘴巴的相對位置而調整。
一張固定的椅子只合乎平均體型;人體工學辦公椅則讓座高、椅背角度與扶手都能移動,好讓每個人依自己的身形與工作來微調。把僵硬的產品變成可調的,就讓同一件物品能對許多不同使用者都保持最佳。
填縫時故意打上比接縫所需更多的矽利康,再用沾濕的手指或刮刀沿線抹壓,同時刮除多餘的膠。打過量能確保沒有縫隙,多的部分事後抹掉即可。
在狹小的房間裡,把第二個舖位直接疊在第一個之上,利用垂直維度,在相同地板面積內讓睡眠容量加倍。
摺疊手機利用第三維度調和兩個互相衝突的尺寸:攤開時是平板大小的大螢幕,摺起後又能放進口袋。透過在額外維度上彎折,讓同一台裝置既大又小。(三星 Galaxy Fold,2019 年。)
音波牙刷讓刷毛每分鐘振動數萬次;高頻震動一方面掃除牙菌斑,一方面推動液流進入齒縫,清潔效果勝過手動牙刷緩慢的來回刷動。
閃爍的尾燈比同樣功率的恆亮燈更容易被駕駛注意到,而熄滅的間歇又能減少電池耗電。從連續發光改為週期性發光,同時提升了辨識度與續航。
電梯在兩趟之間閒置,且只能一批批載人;電扶梯的階梯持續移動,因此能不必等待地隨到隨載、隨到隨送。連續的運動取代了停等的循環。
單體急速冷凍(IQF)食品被極快速地降溫,只形成微小冰晶。緩慢冷凍會讓大冰晶生長並刺破細胞壁;快速冷凍避開了這種破壞,保住了口感。
快速撕下 OK 繃整體上比慢慢撕更不痛。這個無可避免的疼痛動作被壓縮成短短一瞬,使不適在被拖長之前就結束。
優格、泡菜、起司與酸種麵包都仰賴微生物作用,而這種作用若失控就只是腐敗。藉由引導腐壞這個有害過程,我們得到的是保存與新風味,而不是腐爛。
恆溫器感測室溫,並開關暖氣或冷氣以維持設定溫度。量測到的溫度被當作回饋訊號,用來決定何時動作。
隔熱手套是插在手與熱鍋之間的中介物。它暫時承擔熱負荷,讓人能端起鍋子,任務完成後便放到一旁。
掃地機器人清潔地板,電量偏低時會自行導航回到基座充電(較新機型還會自動清空集塵盒)。它在兩次工作之間自行處理自己的後勤。
高溫裂解烤箱會執行一段將自身加熱到約攝氏 500 度的循環,把烤焦附著的食物殘渣燒成可擦掉的灰燼。烤箱用自身的核心能力——熱——來清潔自己。
飛行員與駕駛在模擬器中演練緊急狀況,而模擬器複製了駕駛艙及其操作反應。危險或昂貴的情境是在安全的複製品上練習,而不是在真正的飛機或車輛上。
街景與 VR 賞屋讓人透過光學複製影像查看某個地方,不必親自前往。影像取代了前往原地的高成本或不切實際的行程。
塑膠刮鬍刀、紙杯與免洗餐具成本很低,用一次便丟。使用者以短壽命換取低價,以及免去清洗與保養。
拋棄式針筒、針頭、手套與隔離衣用過一次就丟棄,以確保無菌。每次都用一件廉價新品的成本,遠低於重複使用所帶來的交叉感染風險。
本身無味的天然氣加入微量硫醇,讓外洩能靠氣味被察覺。用嗅覺這個感官訊號,取代機械或電子偵測器作為第一道警示。
RFID 卡、手機藍牙與 NFC 透過近距離的場開門,取代金屬鑰匙轉動鎖芯。機械式的鑰匙與鎖芯配對,被電子式的場交握取代。
氣墊鞋底、凝膠鞋墊、水床與氣泡紙,都用封住的氣體或液體緩衝,而非固體填料。流體囊袋分散壓力,並貼合任何壓上來的東西。
碰撞時,氣體發生器在數毫秒內充飽氣囊以緩衝乘員,隨後洩氣。一個充氣部件在最需要的瞬間出現,完成任何永久固體結構都做不到的事。
保鮮膜、收縮膜與真空包裝,用一層薄塑膠皮把食物封住,隔絕空氣與水氣。一層不到一毫米厚的薄膜,就取代了硬質容器。
鍋面上的鐵氟龍塗層,或手機上的保護貼,不必加上笨重的部件就改變了表面的行為。薄膜把基材隔離,並賦予它新的性質。
Gore-Tex 是膨體 PTFE,布滿數十億個約 0.2 微米的孔。每個孔遠小於液態水滴,卻遠大於水蒸氣分子,於是這層多孔薄膜擋得住雨水,又能讓汗氣排出。
淨水與空氣清淨機用的活性碳,是經過處理、內部布滿大量微孔的材料。污染物分子被吸附困在這些孔隙裡,靠的正是這身多孔結構來過濾。
Transitions 這類鏡片含有能在紫外光下可逆重排的分子,在戶外變深、回到室內變回透明。鏡片會依周遭光線自行改變顏色。 open_in_new
額溫貼片、變色馬克杯與「冰鎮變色」飲料罐,用的是液晶或 leuco 染料,在特定溫度切換顏色。把一個看不見的量——溫度——變成一眼可見的顏色。 open_in_new
波音 787 客艙的可調光窗與建築用電致變色玻璃,施加小電壓即可變暗或變清。這裡按需改變的是透明度,而不是色調。
冰淇淋甜筒是一個用與內容物同類可食材料做成的容器。因為盛裝的與被盛裝的都是食物,沒有包裝要剝要丟,連容器一起吃掉就行。
每一塊樂高積木都用相同間距、相同規格的凸點與管孔耦合。因為所有零件共用同一種介面,任何積木都能接上任何積木,這是把同質性用在連接標準上。
可吸收縫線先把傷口固定,之後由人體透過水解分解並吸收掉。任務完成後它們就自行消失,無須再做一次拆線手術。 open_in_new
藥物膠囊或洗衣球用一層外殼盛裝並保護內容物,一進到胃裡或洗衣水中就溶解。容器在完成輸送後便自我拋棄。
冷凍乾燥藉昇華把沖煮咖啡或水果中的水分去除,留下輕巧、耐儲存、日後可復水的固體。改變含水量與狀態,以此換掉重量與腐敗,又保住風味。 open_in_new
同一種清潔產品被做成肥皂塊、粉狀、濃縮液或凝膠。改變濃度與稠度,讓廠商減少運輸重量,也讓使用者挑選最適合當下任務的型態。
按壓過飽和醋酸鈉溶液中的金屬片會觸發結晶,液態轉固態的相變釋放出熔化潛熱(約 264–289 J/g),讓暖手包升溫到約 54°C。用水煮沸使晶體再溶解即可重複使用。
降溫背心內含相變材料的小包,設計成約 18°C 熔化;熔化時吸收體熱,讓穿戴者維持涼爽數小時。降溫效果來自固態轉液態時吸收的潛熱。
用熱水沖玻璃罐上卡死的金屬蓋,金屬膨脹得比玻璃多,鬆開了咬合,蓋子就好轉開。這招之所以有效,正是因為兩種材料的膨脹速率不同。
傳統溫度計裝有一段水銀或染色酒精,受熱時沿著細長的刻度管上升,讓人從液柱高度讀出溫度。這項量測就是熱膨脹的直接顯示。
倒在傷口上或用於水處理的過氧化氫是一種強氧化劑,會破壞微生物的細胞壁而將其殺死。消毒力就來自氧化劑對有機物的猛烈攻擊。
氧系(過碳酸鈉)漂白劑釋出活性氧來分解衣物污漬,自來水廠則把臭氧通入水中氧化病原與污染物。兩者都從一般空氣升級到強得多的氧化劑來完成任務。
洋芋片包裝會充入氮氣,把氧含量壓到 3% 以下,既防止油脂酸敗,也緩衝了易碎的洋芋片。用惰性氣體換掉空氣,同時保鮮又保護內容物。 open_in_new
葡萄酒保鮮噴劑會在開瓶後的酒面上噴一層氬氣或氮氣;這些比空氣重的惰性氣體覆在酒上,隔絕氧氣,使酒不致氧化變質。這是家庭版的惰性環境妙招。
藥錠中極少量的有效成分,靠纖維素、乳糖等惰性賦形劑撐出體積,才方便拿取與吞服;粉狀洗劑也用惰性填料來增量。這些不參與反應的中性添加物,正體現了第二條子原則。
滑雪板、網球拍、高爾夫球桿身與船殼,都用玻璃纖維與碳纖維複合材料製成,把剛硬的纖維配上輕巧的樹脂。結合性質不同的材料,做出同時輕、強又有彈性的器材。
GORE-TEX 把防水透氣膜貼合在布料層之間,不沾鍋則在鋁或鋼底上鍍一層滑面塗層。每一層供給其他層所缺的一種特性,使成品同時勝任多項功能。
商業與管理 44
公司不再把買家當成沒有差異的一整群,而是把市場切分成需求各異的區隔,對每個區隔投放量身打造的產品與訊息。把整體分割後,每個部分都變得可針對,也更容易有利可圖地服務。 open_in_new
公司把薪資、資訊或設施等支援性業務交給外部專業廠商,好讓自己專注於核心事業。分散注意力的非核心活動,被從組織中抽離出去。
公司不讓每位員工什麼都做,而是設立專業單位——業務、工程、財務、客服——各自配置適合其工作的人力與資源。組織因此變得不均勻,讓每個部分都在適合其任務的條件下運作。
零售商把少數民生商品定在成本以下以吸引顧客上門,再從購物籃裡的其他商品賺取利潤。整條產品線的定價刻意做成不對稱,而非一律加成。
在合併案中,兩家公司整併成單一實體,以結合各自的市場、能力與後勤。把相似的組織合併在一起,目的是取得任一方單獨都沒有的規模與共用職能。 open_in_new
微信把即時通訊、社群動態、支付與叫車、購物等第三方小程式整合進單一應用程式,使用者幾乎無需離開;整個商業模式就是「一個平台承載多種服務」。 open_in_new
零售商在自家賣場空間內設置品牌專櫃(藥局、咖啡吧或 3C 櫃),把較小的事業體套進較大的事業體中,共享人流與租金。
航空公司預先買進燃油期貨,油價上漲時避險部位的獲利正好抵銷多出的成本;一個反向部位平衡了價格風險這個「重量」。 open_in_new
專案啟動前,團隊先想像它已經失敗,再回推失敗的原因,好讓風險在事前就被反制,而不是等到事後檢討才被診斷出來。 open_in_new
旅客在國外的出發機場、登機前就先完成移民與海關查驗,落地後可直接以國內旅客身分離開;查驗在方便的地點事先完成。 open_in_new
個人與企業在任何損失發生之前就繳付保費或提撥現金準備金,好讓火災、訴訟或景氣下滑不至於將他們擊垮。這道緩衝在事前就備妥資金,用來吸收本質上不確定事件的財務衝擊。
營運團隊會在預測需求之外多備一層緩衝庫存,好讓到貨延誤或需求暴增不會讓產線停擺或貨架淨空。這批儲備在事前佈署,用來緩衝供應商與預測的不可靠。
精實工廠把整條生產流程佈置在同一個平面上,物料也備在工作高度,讓作業員在工站之間滑動零件而不是抬起搬運。把一切維持在固定高度,能減少搬運工時與抬舉造成的傷害。
傳統製造是依預測把工作往下游推;豐田生產方式則把流向反過來,讓下游需求在產能允許時才把每一件產品拉動出來。把控制的方向反轉,能壓低庫存並讓瓶頸現形。 open_in_new
一般拍賣是許多買家為一位賣家的物品把價格往上喊;逆向拍賣把角色顛倒,讓許多賣家競相向單一買家開出最低價。把「誰向誰出價」反轉過來,廣泛用於採購以壓低成本。
傳統經濟是一條「取用—製造—丟棄」的直線;循環經濟則把這條線彎成一個環,讓產品被再利用、維修,並回收重新進入供給。把線性流程變成封閉的曲線,能讓材料持續運轉,而不是被丟棄。
叫車服務的尖峰加價與航空公司的收益管理,不用單一固定價格,而是在需求高時調漲、需求淡時調降,即時追蹤市場。讓價格本身能夠變動,就能在每一個當下都對供需保持最佳。 open_in_new
團隊不先做出計畫中 100% 的產品,而是先推出功能剛好夠用的最小版本,從真實顧客身上學習,再逐步擴充。刻意先做「少一點」,可避免把大量資源投在沒人要的功能上。(此詞 2001 年提出,經精實創業運動而普及。) open_in_new
員工不再只隸屬於單一指揮鏈,而是同時沿兩個維度回報,例如同時對職能主管與專案主管負責,使一個人的專業能同時服務多個專案。(源自 1950 年代美國航太業。) open_in_new
高頻交易把「買進賣出」這個日常動作的頻率推到極致,每秒數千筆委託,使每筆微小的價差累積成利潤。這是把「提高作用頻率」的想法套用到市場上。
Scrum 以一到四週的固定長度衝刺,取代沒有節奏的連續工作,每個衝刺都交付一個可用的增量;衝刺之間的檢視與回顧會議,則把改進意見帶進下一個週期。週期性的節奏,並利用間歇來調整方向。 open_in_new
跨國公司在每天下班時,把工作交接給不同時區的辦事處,使專案或客服佇列全天候有人處理,而不會在夜間停擺。有用的工作從不停歇,儘管沒有任何一個人是連續工作的。
與其讓舊系統與新 ERP 系統並行運作數月,企業選擇在單一快速時窗(例如一個週末)一次全面切換。兩套系統可能出現不一致的危險過渡期被快速衝過並迅速收尾。
1968 年 3M 的 Spencer Silver 意外做出一種黏性弱、可重複撕貼的黏著劑,無法達成原本的用途。3M 並未把這個缺陷丟棄,後來把它與 Art Fry 的書籤點子結合,做出便利貼,把失敗變成招牌產品。 open_in_new
在生產線上,量測值被繪製在管制圖上並回饋給操作人員。當讀數漂向管制界限時,回饋會促使人員在生產出不良品之前先做調整。
新創公司先推出最小可行產品,量測真實顧客的反應,再把這些證據回饋到下一次迭代。每一次循環都讓產品與市場更貼合,而不是仰賴事前的猜測。
在大額交易中,中立的履約保證方先保管買方的款項,待賣方交付後再放款。這個中介物承載了雙方彼此不願給予的信任,並在交易完成後退場。
卡片網路或支付處理商坐落在消費者與商店之間,負責授權與清算款項。雙方都不必直接連上對方的銀行;中介物把款項傳遞過去。
IKEA 以平整包裝出貨家具,由顧客自行運送與組裝。藉由把一部分服務交給買家,這套模式降低了運輸與人力成本,讓產品實際上參與了自己的生產。
產品團隊在投入開模之前,先測試黏土模型、泡棉樣品與紙上原型。廉價的複製品能在昂貴的實體產品出現之前,就暴露缺陷並蒐集回饋。
演唱會與樂園用廉價紙手環與成千上萬張單次票券控管入場。每個票券只做一次性的工作,用完即丟,省去發放耐用通行證的成本。
感應支付透過近場無線連結完成交易,省去現金處理與磁條的機械刷卡動作。原本靠現金與活動零件傳遞的資訊,改由一個場承載。
銀行、醫院與大型賣場用一股壓縮空氣,把現金、文件與檢驗樣本在管道中射送。流動的流體承載物件,在短距離內取代人力傳遞與機械輸送帶。 open_in_new
站立軟袋在食品、清潔劑與補充包上取代硬質的罐、瓶與盒。撓性薄膜外殼在仍能隔離產品的同時,減少材料、重量與運輸成本。
開放式創新讓公司刻意把邊界變得可穿透,使外部的點子、技術與通路能雙向流入流出。公司被當成一個多孔的個體,讓有用的知識穿透進來,而不是密不透風。 open_in_new
專案與投資組合儀表板用紅、黃、綠標示每個項目的健康狀態。把狀態編碼成顏色,讓管理者掃過幾十個項目,一眼看出哪些出了問題。
標準貨櫃在全球共用固定的外部尺寸與角件。因為每個貨櫃都一樣,同一套船、吊車、卡車與火車就能通用地裝卸所有貨櫃,把貨物在不同運輸方式間轉運的成本大幅壓低。 open_in_new
再製造商回收磨損的「核心件」——引擎、發電機、碳粉匣——加以清潔並重建到近乎全新的規格。這門生意不是把用過的產品丟掉,而是把它們的價值回收、再生。 open_in_new
可口可樂把高度濃縮的糖漿運給各地的裝瓶商,由他們在出售前加水、充碳酸。以濃縮型態運送產品,大幅降低運輸成本,因為佔體積的水是在靠近顧客處才加入。
運送疫苗與冷凍食品時,業者在箱內放入固態二氧化碳(乾冰),它直接昇華為氣體並吸熱,不需任何耗電製冷就能讓貨物維持冰點以下數天。整套物流模式建立在固態轉氣態相變所吸收的熱量上。
零售與物流業者在旺季來臨前擴充人力、庫存與倉儲空間,旺季過後再收縮,讓營運規模隨需求的「熱度」調整。這是把材料隨溫度脹縮的概念套用到管理上,使量能始終貼合負載。
監理機關讓銀行面對刻意設計的嚴苛假想情境——深度衰退、市場崩盤——以在真正危機發生前,揭露脆弱的資本狀況。用加劇的最壞情境去逼出隱藏的脆弱,正是把「用更強氧化劑」搬到管理上的版本。
英國 FCA 的監理沙盒讓業者以小規模、對真實顧客測試創新金融產品,並以豁免與「不採取執法行動」函,擋開完整法規的壓力。這個受保護、受控的環境,就是供安全實驗用的商業版惰性環境。 open_in_new
投資組合把風險不相關的資產——股票、債券、大宗商品——混在一起,使某項下跌時另一項撐住,得到比任何單一標的更好的風險調整後報酬。把性質不同的「成分」結合成一個結構,正是複合材料在金融上的對應。
軟體與資訊 82
龐大的單體應用程式被拆成許多小型服務,各自獨立開發、部署與擴充。將系統分割後,團隊能平行作業,單一服務故障或更新時也不會拖垮其他部分。 open_in_new
單一伺服器裝不下的資料庫,被切分成多個分片,每個分片在不同機器上存放一部分的列資料。把資料分割後,負載得以分散,儲存也能水平擴充。
CDN 把網站的靜態資產——圖片、指令碼、影片——抽取複製到靠近使用者的邊緣伺服器。體積大、可快取的內容被從來源伺服器分離出去,只有動態請求還需要長途傳輸。
依照 twelve-factor 的做法,密碼、API 金鑰與各環境專屬設定被從原始碼中抽離,改由環境注入。敏感、易變的部分與穩定的程式碼分離,讓同一份建置能安全地在任何環境執行。
儲存系統把常存取的資料放在快速昂貴的媒介,把很少用到的資料放在緩慢廉價的媒介。與其用單一均勻的層級,不如讓每一段資料都落在成本與速度最適合其存取模式的媒介上。
資料庫不對所有欄位一視同仁,而是只在查詢實際會篩選或排序的欄位上建立索引。結構被做成不均勻,讓查找的成本剛好投注在有回報的地方。
非對稱加密使用一對不同的金鑰:任何人都能用來加密的公開金鑰,以及只有擁有者持有、用來解密的私密金鑰。兩把金鑰之間刻意的不對稱,正是讓陌生人能安全交換秘密的關鍵。 open_in_new
ADSL 刻意讓家庭的下載頻寬遠大於上傳,以配合多數人接收的資料遠多於送出的使用習慣。連線被做成不對稱,以貼合真實流量,而非平均分配容量。 open_in_new
在 Git 這類版本控制系統中,合併會把兩條分歧的開發線所做的變更重新併回一條分支。許多貢獻者的並行工作被聚合成單一、統一的歷史。
客戶端不再把許多微小的查詢一個一個送出,而是把它們打包成單一的批次請求送給伺服器。把這些呼叫合併,能大幅減少往返次數與網路開銷。
單一個小型執行檔實作了三百多個 Unix 指令的精簡版,因而被稱為「嵌入式 Linux 的瑞士刀」;一個二進位檔就取代了整套 coreutils。 open_in_new
Unix 用同一套通用的檔案介面(open、read、write、close)來操作裝置、管線與 socket,單一抽象層就服務了原本各需專屬 API 的資源。
資料往協定堆疊下層傳遞時,網頁的位元組先被包上 HTTP 標頭,再包 TCP、再包 IP、再包成乙太網路訊框;每一層的封包都套在下一層裡,就像套娃一樣。 open_in_new
一個容器跑在虛擬機裡,而虛擬機又跑在 hypervisor 上,執行環境一層套一層;每個隔離層都嵌在承載它的那一層之內。
內容傳遞網路從靠近使用者的分散式邊緣伺服器供應快取頁面,大多數流量根本不會打到源站;周邊網路承擔了源站原本要扛的負載。 open_in_new
應用程式不為尖峰負載自行備妥伺服器,而是仰賴雲端的彈性容量隨需吸收流量高峰,讓環境承擔最沉重時刻的負擔。
把使用者輸入以資料形式綁定,而非串接進 SQL 字串,應用程式在任何查詢執行前就中和了注入攻擊;不可信輸入的害處被預先解除。
Netflix 在營業時間刻意隨機關掉正式環境的伺服器,預先注入它最擔心的故障,逼工程師打造能承受故障的系統;這等於是替基礎架構打疫苗。 open_in_new
瀏覽器與應用程式會在使用者點擊前就預先抓取並渲染可能用到的資源,系統也會預先算好物化檢視表,讓結果在被請求的當下就已備妥。
索引事先把資料排序、建立結構,把繁重的工作移出查詢當下;日後原本得掃描整張表的查找幾乎能瞬間完成。
編輯器每隔幾秒自動存檔草稿,資料庫則定期建立快照,讓當機或誤刪只損失幾分鐘的工作。這些狀態是預先保存的,用來補償程序與硬體的不可靠。
磁碟陣列(RAID)保有備援磁碟與同位資料,讓某顆磁碟損壞也不會遺失資料;熱備援伺服器則隨時待命,在主機一故障就立刻接手。這種冗餘是預先配置的,用來補償「個別元件終將故障」這件必然的事。
像 MapReduce 這類大數據框架,會把一小段運算送到資料所在的節點,而不是把龐大的資料集拖過網路送到程式那端。避免昂貴的資料搬移,正是「不逆著重力抬起重物」在軟體上的對應。
內容傳遞網路(CDN)把資源複本放在靠近使用者的邊緣伺服器上,讓每次載入頁面時不必大老遠從遙遠的來源伺服器抓取。把內容維持在與使用者相同的層級,就省去了反覆長距離搬運的成本。
在傳統程序式程式裡,是你的程式去呼叫函式庫;而在控制反轉中,是框架掌握主迴圈,在適當時機回呼你的程式(「別打給我們,我們會打給你」)。把「誰主導流程」反轉過來,讓框架處理繁瑣的底層,你只需提供具體細節。 open_in_new
與其讓用戶端反覆問伺服器「好了沒?」,網路鉤子(webhook)把方向反轉,讓伺服器在事件一發生時就回呼用戶端。把「由誰發起聯繫」反轉過來,消除了無謂的輪詢,並能即時送達更新。
環形緩衝區把一段固定大小的陣列首尾相接,讓生產者與消費者能無限地繞著它循環,而不必搬移資料。把一段直線的緩衝區彎成圓形,就把有限的空間變成源源不絕的串流。 open_in_new
一致性雜湊把伺服器與鍵都放在一個圓周上的點,讓每個鍵歸屬於順時針方向的下一台伺服器。正因為佈局是一個環,新增或移除節點時只需重新對應它附近那一小段弧上的鍵,而不必把全部重新洗牌。 open_in_new
固定寬度的頁面在手機上會跑版;響應式設計則讓同一套版面能流暢地重排欄位、圖片與選單,以適應任何螢幕尺寸與方向。讓介面依環境調適,就能從寬螢幕一路到手機都保持最佳呈現。
自動擴縮不是預先配置一批依尖峰負載定量的伺服器,而是在流量上升時自動增加伺服器、在流量下降時自動移除。讓容量隨需求變動,就能讓系統在每個當下都對成本與效能保持最佳。 open_in_new
自適應位元率串流會即時偵測觀看者的頻寬、裝置與 CPU,並把影片切換到相符的畫質等級:網路變慢時降低解析度、恢復時再調高。讓串流的特性能即時改變,就能在條件不斷變動下維持播放的流暢。 open_in_new
為了消除鋸齒邊緣,繪圖引擎會以遠高於螢幕的解析度繪製畫面(過量的像素),再把相鄰取樣平均縮回到最終影像。多算的部分被丟棄,但縮小後的成品遠比以原生尺寸直接繪製乾淨。
JPEG 刻意只保留不到 100% 的原始影像資料,捨棄人眼幾乎察覺不到的高頻細節,藉此大幅縮小檔案。接受「部分、不完美」的重現,換來數量級的檔案縮減。
一維條碼只在單一方向的條紋上儲存資料;QR Code 加入第二個維度,把資料編碼在可橫向、縱向同時讀取的方格網格中,因此在相同面積內能容納多出許多倍的資訊。(Denso Wave 於 1994 年發明。) open_in_new
商業分析把銷售額等指標同時沿多個維度排列(時間、產品、地區),使查詢能在任意軸的組合上切片、樞紐同一批數字,而不必掃描單一的平面表格。
在把影像或音訊訊號降到較少的位階之前,先加入一種微小、快速變動的雜訊(抖動);這種刻意加入的高頻「振動」能打散可見的色帶與可聽的失真,把它們換成幾乎察覺不到的細微噪聲。加入震盪反而改善了量化後的結果。
Netflix 的 Chaos Monkey 會隨機終止線上正式環境的伺服器,持續「搖晃」系統,迫使工程師打造出能在不斷發生的小故障下存活的服務。這種持續擾動就是一種刻意的振動,能在真正的大當機之前先暴露弱點。(Netflix,2011 年。) open_in_new
與其讓程式不停運轉來檢查是否有工作,排程器會在固定間隔(每分鐘、每小時或每晚)喚醒它執行任務,然後再休眠。週期性執行讓機器在兩次執行之間能空出來處理其他工作。
分散式系統讓每個節點週期性地送出一個小小的「心跳」;一旦心跳停止到達,其他節點便判定該節點已失效並做出反應。用穩定的脈動,而非連續監控,就足以廉價地偵測存活狀態。
CI/CD 不再把軟體以龐大、稀疏的批次整合與發布,而是在變更產生的當下就持續地合併、測試並出貨小型變更,讓管線隨時保持流動,並縮短「寫完程式」到「上線運行」之間的閒置空檔。
批次系統把資料累積起來,以週期性的方式一次處理,兩次執行之間結果都是過期的;Kafka、Flink 等串流處理器則在事件抵達的當下就持續消費並運算,使輸出隨時保持最新。連續流動取代了批次處理的閒置等待。
在並行程式中,執行緒只在最短的時間內持有鎖,在其他執行緒被擋住期間只做最少的工作。快速通過互斥階段,讓有害的競用時間保持極短。
現代垃圾回收器仍需要短暫的「stop-the-world」階段,但會讓這些階段盡可能快速(常在一毫秒以內)。無可避免的暫停被快速通過,幾乎不影響執行中的應用程式。
Netflix 打造了一個工具,在營業時間內刻意隨機關閉正式環境的伺服器。這種自找的傷害迫使團隊打造能在故障中存活的系統,於是一個造成當機的來源反而成了提升韌性的動力。 open_in_new
模糊測試用刻意畸形、帶敵意的輸入猛烈轟炸程式,讓它當機。這些有害資料被建設性地運用:它觸發的每一次當機,都揭露一個可在攻擊者發現前修補的漏洞或資安缺口。
TCP 傳送端觀察確認封包與封包遺失,把它們當作網路壅塞的回饋。封包順利抵達時就擴大傳送視窗,遺失時就縮小,讓吞吐量避開崩潰。 open_in_new
把一個頁面的兩個版本分別呈現給不同的使用者群,並量測他們的行為(點擊、轉換)。這種行為回饋決定哪個版本上線,用一個由證據構成的閉環取代主觀意見。
訊息代理坐落在生產者與消費者之間,負責緩衝與路由訊息。由於各服務是與代理對話而非彼此直接對話,這個中介物讓它們解耦,並能以不同速度運作。
像 nginx 這樣的反向代理站在用戶端與後端服務之間,處理 TLS、路由與負載平衡。用戶端只與這個中介物對話,由它遮蔽並把工作分派給背後的伺服器。
受管理的執行環境會追蹤哪些物件已無法被存取,並自行回收其記憶體。程式自行處理記憶體的整理工作,讓開發者免於手動配置與釋放。
Kubernetes 持續比對執行狀態與期望狀態,當容器崩潰時會自動重啟或重新排程。叢集自行修復,無需人員被呼叫進來處理。
reCAPTCHA 讓通過人類驗證測試的使用者順便辨識一個 OCR 無法讀出的掃描書籍字詞。系統利用了一種廢棄資源——人們本來就花在證明自己是人的心力——免費地把檔案數位化。 open_in_new
團隊在正式環境的預備複本上測試版本,並用資料庫唯讀複本承接大量查詢。有風險的操作與讀取負載都落在複本上,讓脆弱又昂貴的正式系統維持不受影響。
QEMU 與遊戲主機模擬器等工具,讓軟體在稀少、過時或昂貴硬體的虛擬複本上執行。程式是對著機器的軟體複製品運作,而不是實體原件。
無伺服器平台為了處理一次請求而啟動一個容器,之後便銷毀它。廉價、短命的運算取代了長時間執行的伺服器,而你只需為每個實例的短暫生命付費。
一次性密碼、短效的工作階段權杖與輪替的 TLS 金鑰,依設計會在數秒或數分鐘內失效。被竊的憑證幾乎沒有價值,因為那個廉價、可拋的密鑰早已過期。
混頻器、濾波器與調變器原本是固定的類比硬體,如今改由對訊號運作的軟體實現。可重新設定的程式,取代了無線電中的機械與硬體元件。 open_in_new
軟體定義網路把路由與流量的控制,從手動設定的實體交換器,移到集中的軟體控制平面。用可程式化的一層,取代對網路硬體的人工重新設定。
訊息佇列吸收突發流量,再以穩定速率釋出,就像液壓蓄能器或氣墊平滑壓力尖峰。這個緩衝池讓快速的生產者與較慢的消費者解耦。
反應式串流與 TCP 流量控制,讓下游消費者節制上游生產者,概念直接借自流體力學。調節流量能避免緩衝區像過壓管線一樣溢出。
容器用一層輕量的隔離外殼把應用程式包起來,將它與主機區隔,而不需一整套虛擬機的笨重。這層薄邊界隔離程序,就像細胞膜隔離細胞一樣。
精簡客戶端或瀏覽器應用是一層輕量的前端外殼,繁重的運算則跑在伺服器上。笨重的本機安裝被一層只負責呈現與轉送的薄層取代。
稀疏檔案把大段空白位元組記成小小的中繼資料「孔洞」,而不是真的把零區塊寫到磁碟。檔案因此變得多孔:一個 100 GB 的磁碟映像若只有 2 GB 實資料,實際只佔約 2 GB。 open_in_new
科學計算與圖運算會用 CSR 之類的格式儲存幾乎全是零的矩陣,只保留非零元素與其位置。把零當成隱含的「孔洞」略去,既省記憶體又加快運算。
程式碼編輯器把關鍵字、字串、註解與數字塗上不同顏色。這些顏色讓原本一片均質的文字結構變得可見,像未關閉的字串這類錯誤便立刻跳出來。
資料熱圖與版本控制的差異比對(綠色代表新增、紅色代表刪除)用顏色描繪數值與變動。原本在純表格或純文字裡看不出來的模式與修改,因此變得一目瞭然。
同構(通用)JavaScript 讓瀏覽器與 Node.js 伺服器兩端跑同一種語言。共用一種語言,同一套驗證、路由與資料模型就能在兩邊運行,不必在兩套技術棧之間轉譯。
容器映像把應用程式連同完全相同的作業系統與相依套件,一起打包給開發、測試與正式環境使用。讓每個環境都一致,就消除了因環境不一致而生的「在我機器上明明可以」那類問題。
垃圾回收器會自動找出程式再也無法觸及的物件,並回收它們的記憶體。已完成用途的記憶體被拋棄並回收再利用,不必由程式設計師手動釋放。 open_in_new
當快取滿了,最近最少使用(LRU)策略會淘汰最不可能再被用到的項目,好騰出空間給新資料。刻意把舊資料丟掉,讓有限而快速的儲存空間持續保有重要內容。
壓縮把資料重新編碼成更緊密的型態以便儲存或傳輸,使用時再解壓縮還原。改變資料的「稠度」,在保留資訊本身的同時,降低頻寬與磁碟成本。
雲端儲存提供可即時存取的「熱」層,以及像封存儲存那樣便宜許多但取回較慢的「冷」層。把少用的資料移到較冷的層,借用了溫度的概念,以存取速度換取成本。
在隨機 3-SAT 問題中,當子句數與變數數的比值越過約 4.27 時,問題會從「幾乎都可解」突然翻轉成「幾乎都不可解」,而最難的實例正好聚集在這個臨界點附近。電腦科學家把這種銳利的臨界切換稱為相變。
在 Erdős–Rényi 隨機圖中,當加入的邊超過臨界密度(平均度數為 1)時,一個巨型連通分量會突然出現,從零散的小片段瞬間變成涵蓋大多數節點的單一網路。這個滲流臨界點正是網路科學的經典相變。
像 Kubernetes 水平 Pod 自動擴縮器這類機制,會在流量上升時增加伺服器副本、下降時移除,使量能即時貼合負載。這是把材料隨「熱度」(此處是請求量)脹縮的概念,搬到軟體上。
像 C++ 的 vector、Go 的 slice 或 Python 的 list 這類動態陣列,會在加入元素時擴充底層儲存空間,也能再縮小,使容器大小隨內容伸縮。這個資料結構按需「脹縮」,而非一開始就固定尺寸。
Netflix 的 Chaos Monkey 會在正式環境中刻意關掉伺服器,逼團隊打造能撐過故障的系統。故意注入強烈、激進的壓力源來加速找出弱點,正是「加劇氧化攻擊」在軟體上的對應。 open_in_new
模糊測試工具用大量畸形與隨機輸入猛轟程式,快速觸發一般測試漏掉的當機與安全漏洞。這股激進而高強度的輸入流,就是一種強壓力源,把程式碼中隱藏的缺陷「氧化」出來。
不受信任的程式碼會在沙箱中執行——容器、虛擬機,或像 gVisor 這類使用者空間核心——把它與主機的檔案系統和網路隔開。把行程放進隔離的惰性環境,即使是惡意程式碼也無法對外部系統起作用。
關鍵系統會與任何網路做氣隙隔離,而有風險的變更會先在鏡像正式環境、卻碰不到正式資料的預備環境試行。兩者都把作業包在隔離空間裡,讓錯誤無法擴散到真正的系統。
一個系統可以用最合適的語言撰寫各個服務,並採用多元儲存——關聯式資料庫、文件資料庫與快取並存——每項都為它最擅長的工作而選。整個應用是由專職零件組成的複合體,而非單一均質的技術堆疊。
混合雲把提供彈性擴充的公有雲、存放敏感資料的私有基礎設施,有時再加上降低延遲的邊緣節點,整合成單一平台。每種環境貢獻其他所缺的一項優勢,正如複合材料混合各種材料。
AI 與前沿科技 95
MoE 模型把一個大型網路分割成許多專家子網路,再由路由器把每個輸入只送往少數相關的專家。這種分割讓模型擁有龐大的總容量,卻在處理每個 token 時只啟動其中一小部分,運算成本很低。 open_in_new
在檢索增強生成中,長文件被切成較小的區塊,分別做嵌入並建立索引。分割讓系統只取回與問題相關的少數段落,而不必把整份文件塞給模型。
剪枝把訓練好的網路中冗餘的權重或整個神經元移除,只保留真正重要的參數。抽掉這些無用的權重後,模型變得更小更快,準確度幾乎不受影響。 open_in_new
命名實體辨識掃描自由文字,只抽取出感興趣的結構化項目——人名、地點、日期、金額。所需的單一資訊從雜亂的文件中被抽取出來,其餘一律略過。
在語言模型作答之前,檢索器先從龐大的語料庫中,只取出與問題相關的少數段落。必要的證據被單獨挑出交給模型,知識庫的其餘部分則原封不動。
深度學習訓練把大多數數值以低精度的 16 位元格式儲存以加快速度,卻把敏感的累加值(例如主權重)保留在 32 位元。精度被不均勻地分配:安全處用低精度,運算細緻處用高精度。
Transformer 的注意力層為輸入的每個部分分配不同的權重,讓模型能停留在對當前預測重要的 token 上。處理過程在整個序列上變得不均勻,而不是對每個 token 一視同仁。
低秩適配器(LoRA)在凍結的基礎模型上外掛小型可訓練模組,每個領域或任務各一個。每個適配器把共用模型調整到自己的局部條件——法律、醫療、程式碼——而不影響其他適配器。
在詐騙或疾病偵測等任務中,模型以一種對漏報懲罰遠大於誤報的損失函數來訓練。把損失函數做成不對稱,能引導模型去犯代價較低的那類錯誤。
在把模型權重壓縮成低位元整數時,非對稱量化採用非零的偏移量,讓數值範圍能貼合並非以零為中心的資料,這與對稱量化不同。多出來的不對稱性,能為偏斜分布(例如經過 ReLU 的激活值)保留準確度。
模型合併把數個從同一基礎微調而來的模型的權重取平均,併成一個結合後的模型。合併它們的參數能提升準確度與穩健性,而且不像跑集成那樣增加任何推論成本。 open_in_new
像 vLLM 這樣的 LLM 推論伺服器,會動態地把湧入的使用者請求合併進一個運作中的批次,這個批次會隨著 token 的生成而增減。把請求合併能讓 GPU 保持忙碌,吞吐量可提升數倍。
隨機森林、boosting 等集成方法,把許多模型的預測合併成單一而更強的預測。把多樣的弱學習器合併,能抵銷它們各自的誤差,得到比任一單一模型更高的準確度。
單一個預訓練大型語言模型不需為各任務另建模型,就能處理翻譯、摘要、寫程式與問答,用一個通用模型取代了一整群專用系統。
現代的多模態模型能在同一個網路中接受文字、影像與音訊輸入,用一個系統取代過去每種模態各自分開的視覺、語音與語言處理管線。
內層交叉驗證負責挑選超參數,完整地包在負責估計效能的外層迴圈裡;調參的折疊被套進評估的折疊中,以避免過度樂觀的偏誤。 open_in_new
套娃式表徵學習把由粗到細的資訊塞進同一個嵌入向量的巢狀前綴中,因此可以像打開較小的娃娃那樣把它截短成較短的向量,而無需重新訓練。 open_in_new
當某一類別的數量遠多於另一類別時,訓練損失會給少數類別較高的權重;這股反向的力量平衡了多數類別的壓倒性優勢,讓模型不會忽略罕見樣本。
在 RLHF 中,目標函數加入一個 KL 散度懲罰項,把微調後的策略拉回原始模型;這個反向項平衡了獎勵訊號把模型推向退化、鑽獎勵漏洞輸出的傾向。 open_in_new
訓練時刻意餵給模型經過擾動的「對抗樣本」,預先以受控方式遭遇攻擊,使上線後的模型能抵抗這類操弄;這是針對未來攻擊的反作用。 open_in_new
發布前,團隊主動探測模型的有害輸出並針對它們微調,預先反制使用者日後在正式環境可能觸發的越獄與不安全回應。
Transformer 會儲存已處理過詞元的 key/value 張量,提示快取則重用已處理的提示前綴,使長上下文只需事先計算一次,後續呼叫直接沿用。 open_in_new
檢索增強系統事先把整個文件語料庫轉成嵌入向量並建立索引,查詢時只需把問題轉成向量再查找鄰近項;昂貴的編碼工作已提前完成。
長時間的訓練會定期把模型權重、優化器狀態與排程器狀態存成檢查點,讓 GPU 或節點故障時能從最後一個檢查點續跑,而不必從頭重來。這些保存的狀態就是對「大型叢集上超長任務可靠度偏低」所做的事先緩衝。 open_in_new
自駕車搭載相互重疊的相機、雷達與光達,讓某一種感測器因強光、濃霧或雨勢而失準時,其他感測器仍能提供可靠的環境影像。這種冗餘是事先設計進去的,用來緩衝任何單一感知通道的不可靠。
正式環境的大型語言模型系統會在模型外圍包上內容過濾、輸出驗證,以及一條後備路徑:當主要回應不安全、格式錯誤或無法取得時,改用備援模型重試或回傳安全預設值。這些防護措施都是事先備妥的,用來補償模型機率式、偶爾不可靠的輸出。
聯邦式學習訓練一個共享模型的做法,是把模型送到各裝置上、用當地的資料就地訓練,原始資料因此從不離開手機或醫院。是把運算帶到資料端,而不是把資料搬到中央伺服器。 open_in_new
直接在拍下資料的手機或攝影機上執行模型,意味著原始輸入根本不必上傳到雲端再傳回。把推論維持在與資料相同的位置,就消除了把資料送往他處的延遲與成本。
擴散模型先在一個「前向過程」上訓練:逐步對影像加入雜訊,直到變成純粹的雪花;生成時再學著把這個過程反過來跑,從雜訊一路去噪回到一張圖。所謂生成,其實就是把破壞的過程反向操作。 open_in_new
神經網路是把資料前向地一層層傳遞來做預測;反向傳播則反其道而行,把誤差訊號沿相反方向逐層送回,以計算每個權重的梯度。正是把傳遞的方向反轉過來,才讓高效學習成為可能。
RoPE 把 token 的位置編碼進去的方式,是將查詢與鍵向量中成對的特徵旋轉一個與位置成正比的角度。由於位置是以旋轉的形式嵌入的,兩個 token 之間的內積自然就取決於它們的相對距離。 open_in_new
許多模型會把嵌入向量做 L2 正規化,讓每個向量都落在單位超球面的表面上,使餘弦相似度成為自然的度量,並讓內插能以球面線性插值(slerp)沿著球面進行。把平直的向量空間投影到彎曲的表面上,能得到對相似度運算表現良好的幾何結構。
把一天中的小時當成 0 到 23 的數字餵給模型,會讓它以為 23:00 與 01:00 相距很遠,這並不正確;改用正弦與餘弦把小時編碼,就等於把它放到一個圓上,讓深夜與清晨彼此相鄰。把線性刻度纏繞到曲線上,能捕捉到直線座標軸無法表達的週期結構。
單一固定的學習率,不是在訓練後期太大、就是在前期太小;像 Adam 這類優化器會在訓練過程中,依梯度自身的歷史為每個參數調整步長。讓學習率能隨階段改變,就讓每一次更新都接近最佳。
稠密網路對每個輸入都動用整組權重;混合專家(MoE)模型則用一個門控網路,只啟動與每個 token 相關的少數幾位專家,使實際運作的子網路隨著輸入逐一改變。讓模型重新配置哪些部分被觸發,就能對每個 token 都保持最佳的運算配置。 open_in_new
注意力機制不是用固定權重來組合輸入,而是即時計算依輸入而定的權重,讓模型針對它處理的每個查詢,重新衡量哪些 token 重要。讓連結本身能隨輸入改變,正是 Transformer 得以靈活聚焦於相關脈絡的原因。
在每一次訓練步驟中,神經網路會隨機關閉一部分神經元,使模型不會一次用到 100% 的容量。以這些「部分子網路」訓練,能迫使模型建立冗餘、抑制過度擬合。(Hinton 等人於 2012 年提出。) open_in_new
常見做法是先訓練一個遠大於實際需求的網路(過量參數),再把最不重要的權重剪除,得到又小又快、卻仍保有大部分準確度的模型。多餘的容量先幫助學習,之後再修剪掉。 open_in_new
推論時往往不採用完整的 32 位元精度,而改用 8 位元或 4 位元數值,刻意保留不到 100% 的數值精度。這使記憶體與運算量降為數分之一,輸出卻仍接近原模型;精度上「部分」的犧牲,換來效率上的大幅提升。
Word2vec 把每個詞映射到高維向量空間中的一個點,使語意化為幾何:語境相近的詞彼此靠近,詞與詞的關係則呈現為方向。把語言搬進多維空間,讓機器能以向量運算來推理語意。(Google,2013 年。) open_in_new
NeRF 以少量普通的二維照片為輸入,將其提升為連續的三維表示,學習體積中每一點的顏色與密度,使場景能從未曾拍攝過的角度觀看。它重建了缺失的第三維度。(2020 年提出。) open_in_new
由於隨機梯度下降是以小批隨機樣本估計梯度,每一步都帶有抖動;這種內建的「振動」能把最佳化過程從尖銳、不良的極小值中搖出,幫助它落到較平坦、泛化更好的解。這裡的雜訊不是缺陷,而是有用的震盪。
擴散生成模型的作法,是先以逐步加入的高斯雜訊把影像「震散」,再訓練網路一步步逆轉這個加噪過程;生成時從純雜訊出發,逐步去噪成一張圖。可控的加噪與去噪,正是 Stable Diffusion 等模型的引擎。(DDPM,2020 年。) open_in_new
SGDR 不採用一次性、單調的學習率衰減,而是週期性地把學習率重設得較高,再一次次以餘弦方式退火降低;每次重啟都讓最佳化器跳出一個盆地、探索另一個,藉此改善結果。(Loshchilov 與 Hutter,2016 年。) open_in_new
聯邦學習以週期性的通訊回合訓練共享模型:伺服器把當前模型送出,在下一回合之前的間歇裡,各裝置用自己的資料在本地訓練;最後只把訓練得到的更新送回並彙總。週期性同步,間歇則由本地運算填滿。(Google,2016–2017 年。) open_in_new
樸素的大型語言模型服務會等一整批請求全部完成才開始下一批,只要有些回覆較短,GPU 就會空等。連續批次處理(如 vLLM)在有空位騰出的當下,就把新請求插進正在運行的批次,使加速器維持滿載。消除 GPU 的閒置時間,正是其核心思想。 open_in_new
線上學習不採用偶爾一次的大批次重新訓練,而是從持續湧入的資料流中不斷更新模型,使模型與外在世界同步地持續改進,而非在兩次週期性重訓之間逐漸過時。
一旦驗證誤差不再改善就停止訓練,模型便不會停留在過度擬合的階段。藉由跳過持續訓練這個有害階段,保住了泛化能力。
一個小而快的草稿模型搶先提出數個詞元,再由大模型在一次平行運算中驗證。高成本、受延遲限制的生成階段被快速通過,推論時間縮短 2 至 3 倍,而輸出結果完全相同。
原本需要數百個去噪步驟的擴散模型,被蒸餾成一致性模型,只用一步或少數幾步就生成影像。緩慢的多步流程被壓縮成從雜訊到結果的快速一躍。
對抗樣本是刻意設計來欺騙模型的輸入。對抗訓練在學習過程中刻意餵入這些有害樣本,使模型正好對那些原本要擊垮它的攻擊產生抵抗力。
GAN 讓生成器對抗一個判別器,而判別器的任務就是揭穿生成器的假貨。這個內建的對手是一種被駕馭的有害壓力:正是這場競爭把生成器推向逼真的輸出。 open_in_new
在資料中加入雜訊通常會損害其準確度。差分隱私刻意放大這種傷害,注入經過精心校準的雜訊,直到個別紀錄再也無法被還原,把一個缺陷變成數學上的隱私保證。
訓練時,網路的預測與正確答案之間的誤差會反向傳播穿過各層,以調整權重。這個誤差回饋正是驅動模型學習的訊號。
人類評分者對模型的回應進行排序,這些偏好用來訓練一個獎勵模型。獎勵模型再把持續的品質訊號回饋到微調過程,把語言模型導向人們偏好的答案。 open_in_new
推薦系統呈現項目,並觀察使用者點擊、觀看或略過哪些。這種互動回饋持續更新模型對每位使用者品味的估計,使推薦隨每次使用而愈加精準。
在 RAG 中,檢索器這個中介物搜尋知識庫,把最相關的段落當作情境交給語言模型。模型從不直接接觸原始語料;檢索器在問題與知識之間居中媒介。
MCP 由 Anthropic 於 2024 年推出,是介於 AI 模型與外部工具或資料之間的標準化中介層。不必為每一組「模型—系統」配對寫專屬連接器,每個系統只需提供一個 MCP 伺服器,任何相容的模型都能使用。 open_in_new
文字、影像與音訊被映射到一個共用的嵌入向量空間。這個共用表徵就是中介物,讓原本無法互相比較的項目,得以透過距離來搜尋、配對與排序。
自監督學習從未標註的資料中自行產生標籤,例如遮住一個詞再讓模型預測它。資料自我監督,使模型能在無需人工標註的情況下大規模學習。 open_in_new
AlphaGo Zero 透過與自己對弈數百萬盤來學習圍棋,完全不用人類的棋譜。它在自我精進的同時產生自己的訓練資料,既是自己的對手,也是自己的老師。 open_in_new
大型語言模型可以自行生成指令與回應的範例,篩選後再用它們來微調自己。模型自行引導出自己的訓練集,降低對人工撰寫資料的依賴。
小型學生模型被訓練來複製大型教師模型的軟輸出分佈,以極小的體積繼承教師大部分的能力。當昂貴的原始模型不切實際時,便部署這個廉價的複製品。 open_in_new
機器人與自駕系統在物理模擬器與生成的合成資料中訓練,之後才面對真實世界。學習發生在廉價、安全的現實複製品上,而不是昂貴或危險的真實試驗。
訓練工作跑在可被雲端隨時收回的可搶占或競價 GPU 上,價格只是隨需計費的一小部分。搭配頻繁的檢查點,團隊把運算當成廉價、可拋的資源,實例被中止時直接續跑。
量化或蒸餾後的模型,只為一次短期活動或 A/B 實驗而部署,結束便撤除。團隊不去維護單一昂貴的常駐端點,而是為短暫任務規模化地建立廉價、用完即棄的模型。
5G 基地台與雷達使用相位陣列,由演算法把有結構的電磁波束導向使用者,天線完全不必實體轉動。這是一個受即時演算法控制、可動且有結構的場。
在生產線上,攝影機加上機器學習模型,取代機械量規、接觸式探針與行程開關。由模型解讀的光學場,完成了原本靠活動機械零件做的感測。
軟體機器人用靠氣壓驅動、由學習到的控制策略操控的手指,抓取脆弱或不規則的物體。讓夾爪能溫柔貼合每個物體的是流體壓力,而非剛性機械關節。 open_in_new
用於訓練的高密度 GPU 叢集,改以循環液體或全浸沒方式冷卻,而非讓空氣吹過固體散熱片。用一個液體部件帶走空氣與金屬鰭片已無法應付的熱量。
LoRA 在龐大的凍結基礎模型外,包上一層薄薄、可訓練的低秩層,不動用大部分權重就讓模型適配新任務。這層輕量的參數薄膜,把改動與底層模型隔離開來。 open_in_new
可彎曲的薄膜電子與電子皮膚,讓 AI 驅動的穿戴裝置偵測健康訊號,或讓義肢具備觸覺,並貼合身體。感測從剛性電路板,轉移到像第二層皮膚般穿戴的撓性薄膜上。
剪枝會移除貢獻最小的權重與連結,把稠密網路變成稀疏、多孔的網路。模型變小、跑得更快,又保住大部分準確度,和在金屬上鑽孔減重卻保強度是同一種取捨。
訓練時 dropout 會在每一次前向傳遞隨機關閉一部分神經元,等於在網路上臨時打洞。逼模型在多孔狀態下運作,使它不依賴任何單一單元,降低過度擬合。
Grad-CAM 這類可解釋性工具會在影像上疊一層彩色熱圖,標示哪些區域最影響神經網路的判斷。顏色讓模型原本隱而不顯的推理變得可觀察。 open_in_new
BertViz 這類工具把 Transformer 的注意力權重畫成彩色的連線與方格,顏色深淺代表每個詞元對另一個詞元的注意強度。顏色把抽象的數字矩陣,變成研究者能讀懂的圖像。
AlphaGo Zero 與 AlphaZero 透過與自身的副本對弈數百萬局來學習。對手就是同一個模型,系統因此始終面對實力相當的對手,並在自己變強的同時一起變強。 open_in_new
在採用 FedAvg 的標準聯邦學習中,每個用戶端都用相同的模型架構在自己的私有資料上訓練,伺服器再把它們的權重平均成一個全域模型。正因共用完全相同的架構,各方的更新才能直接取平均。 open_in_new
當語言模型生成很長的文字時,滑動視窗注意力這類方法會丟棄最舊詞元的鍵/值(KV)快取,把記憶體用量控制住。已因時間久遠而不再相關的脈絡被拋棄,生成才能無限延續。
為了在有限記憶體下訓練大型模型,梯度檢查點在前向傳遞時丟掉大部分中間激活值,等反向傳播需要時再重新計算出來。它先拋棄資料以省記憶體,再精確再生所需的部分,同時體現了本原則的兩面。
量化降低模型權重的數值精度,例如從 32 位元浮點數降到 8 位元或 4 位元整數。改變這項參數,能縮小模型並加快推論,而準確度通常只損失一點點。
溫度參數會重塑模型的輸出分佈:低溫使分佈變得尖銳而確定,高溫則使它變得平坦而更隨機。轉動這一個旋鈕,就能調節「穩妥可預測」與「有創意、多變化」之間的平衡。 open_in_new
Power 等人(2022)發現,小型網路可能長時間停留在訓練準確率滿分、但測試準確率如同亂猜的狀態,接著突然幾乎完美地泛化。這種延遲而突發的躍升,就像模型內部表徵的一次相變。 open_in_new
Wei 等人(2022)記錄到像多步驟算術這類能力,在模型跨過某個臨界規模前一直停在亂猜水準,之後才急遽提升——作者將此描述為相變。這種能力在小模型中不存在,到大模型才突然出現。 open_in_new
模擬退火直接借用冶金學的概念:依排程降低一個「溫度」參數,使搜尋先廣泛探索(像高溫無序的熔融態),再逐漸收斂到低能量解(像冷卻結晶)。這個演算法模仿了物理相變過程中的有序化。
彈性訓練框架讓大型模型的工作在資源釋出時增減 GPU 節點,並用梯度累積在記憶體吃緊時「撐大」有效批次量。訓練規模會伸縮以配合可用硬體。
早退出網路與自適應運算方法,讓模型對困難輸入多用幾層、對簡單輸入提早退出,依此擴張或收縮每筆的運算量。模型會把算力「伸縮」到每筆輸入的難度,而非一律用固定量。
為了讓模型更堅固,對抗訓練會用強力攻擊者產生最壞情況的擾動輸入並拿來訓練,使模型學會抵禦最難的案例。更強的對手就像更強的氧化劑——訓練時攻擊越猛,模型就越耐打。
紅隊(越來越常搭配自動化的對抗攻擊者)用激進的對抗提示猛攻語言模型,在發布前逼出有害或不安全的輸出。這種刻意帶敵意的探測,就是施加強壓力源,把失效模式逼現出來。
困難負樣本挖掘不拿簡單樣本訓練,而是挑出最容易混淆、落在決策邊界附近的難樣本,把模型的學習集中在收穫最大之處。餵給模型最難的案例,是一種更強效的訓練壓力,能讓它更快變得銳利。
會撰寫並執行程式碼的 AI 代理,是在隔離的微型虛擬機或使用者空間核心(Firecracker、gVisor)中運作,預設拒絕檔案與網路存取,使受攻擊者影響的程式碼碰不到主機。代理只在惰性、受封閉的環境中行動。
差分隱私在資料或梯度中加入精心校準的隨機雜訊,使模型輸出無法還原出任何單一個體的紀錄。這種中性、惰性的雜訊是一種添加物,在不改變有用訊號的情況下,消解隱私外洩,正呼應第二條子原則。
隨機森林、梯度提升等整體方法,把許多多樣的弱學習器結合起來,以平均或堆疊其輸出,組成比任何單一模型更強的預測器。混合性質不同的成分以勝過其中任一個,正是複合原則用在模型上。
混合專家層用許多專職的專家子網路加上一個路由器取代單一的大型前饋網路,路由器只把每個 token 送給其中少數幾個專家。把專職零件組成單一模型(用於最大型的 transformer),讓總容量增長而不必等比增加運算。 open_in_new
像 CLIP 與 GPT-4V 這類多模態模型,把視覺編碼器與語言模型結合,使單一系統能同時對影像與文字進行推理。把為不同模態打造的元件融合成單一模型,是表徵空間中的複合材料。