newsence
來源篩選

Whack-a-Mole is Not a Winnable Game

Lesswrong

The author argues that reactive problem-solving, which patches specific symptoms rather than addressing root causes, creates an unsustainable cycle of increasingly complex and restrictive rules. This dynamic is particularly evident in adversarial games like the U.S. tax code, where designers and players constantly escalate through loopholes and patches.

newsence

打地鼠式解決問題並非一場能贏的遊戲

Lesswrong
2 天前

AI 生成摘要

我認為那種只針對特定漏洞進行修補而不處理根本原因的打地鼠式解決方案,會導致規則清單無限膨脹並阻礙進步。這種動態在美國稅法等對抗性遊戲中尤為明顯,設計者與參與者在漏洞與補丁之間陷入了永無止境且不可持續的循環。

當我上大學讀電機工程時,大一那年他們把所有的工程系學生都編入了一門「工程導論 101」(Engineering 101)課程。這門課旨在讓我們體驗一下未來將面臨的挑戰。

我們被告知,目標是建造一艘能通過障礙賽道的氣墊船。我們可以使用所有需要的設備——用於船體的硬泡沫塑料、風扇、微控制器、電池等等。

但隨後出現了一份規則清單,不是針對比賽本身的,而是針對我們被「允許」如何建造機器人的規定。我記得其中兩條。

第一條是我們必須使用鎳氫電池(NiMH)而不是鋰離子電池(Lithium-Ion),儘管後者擁有更好的能量重量比,而這對於想讓物體漂浮起來時至關重要。

第二條是我們必須在風扇上安裝塑料格柵,儘管這樣做會減少氣流,進而降低推力。

我們都看著這些規則,我記得當時問助教(TA)為什麼會有這些規定。

我敢打賭你猜得到。

因為,「顯然」在前幾年有某個笨蛋把手指伸進風扇裡,差點被切斷,所以現在我們必須使用塑料格柵。

更精彩的是,前一年有人讓他們的鋰電池短路導致起火,在那一刻,他們憑藉著「無窮的智慧」決定——把電池扔向助教。

老師、行政人員以及(很可能的)大學律師隨後達成一致,必須採取措施:

對於我們這些菜鳥工程師,不再准許使用開放式風扇,也不再准許使用鋰電池。

這是一種解決問題的方法,我後來將其稱為「打地鼠」(Whack-A-Mole)。打地鼠是一種街機遊戲,有多個洞口會冒出小地鼠,玩家必須用充氣棒敲擊它們。地鼠不斷出現,玩家不斷敲擊,直到遊戲結束並獲得分數。

設計這張地鼠插圖的人顯然不太了解地鼠。年復一年,我所參加的工程導論課的規則清單變得越來越長,因為有更多的人犯錯或做出愚蠢的事情。重要的是,它「只會」變長。

想想看——假設有人提議從清單中刪除其中一條規則。律師可以輕易地辯稱,這樣做顯然會危及學生安全,大學可能會被起訴。而把任何一條規則留在清單上,幾乎不算什麼大不了的事,對吧?

即使清單長到開始嚴重阻礙學生完成課程的能力,好吧,安全第一。

問題在於,面臨風險的不僅僅是學生讓氣墊船通過障礙賽的能力。有時是醫療體系、經濟,或是一名移民合法進入國家的能力。

玩打地鼠遊戲

在解決問題時玩「打地鼠」看起來像這樣:

如果我們只要修復這個「特定的漏洞」,這個「某次出錯的特定方式」,問題就能解決了。

這是一種無法——或不感興趣——去處理「根本原因」的解決問題方式。它不關注驅動問題存在的底層動態;相反,它僅僅試圖修補最近發生的任何問題。

它說:如果電池起火,就禁用那種電池。

它說:如果水壩漏水,就堵住那個洞。

它說:如果病人有症狀,就緩解那個症狀。

從長遠來看,這是不可持續的。這是一種註定最終會失敗的解決問題方式,因為它拒絕「真正解決真正的問題」。

我看到這種情況在現實世界中反覆出現,尤其是在我為了本文目的而稱之為「對抗性遊戲」(adversarial game)的情況下。

對抗性遊戲

有一種動態——我們稱之為對抗性遊戲——其中(至少)有兩方。一方(設計者)根據其想要的行為制定規則,另一方(玩家)則試圖利用這些規則來做他們最初想做的事(例如:獲勝)。

範例 1:美國稅法

一個很好的例子是美國稅法。設計者(在這種情況下是國會和國稅局)試圖制定關於哪些錢需要徵稅的規則。玩家(在這種情況下主要是富人)則試圖讓儘可能多的錢免於被徵稅。

隨著時間推移,這會如何演變?

在這種情況下,設計者增加了一條規則:我們將對超過一定門檻的收入徵稅。

於是玩家進行調整,使用當時合法的避稅策略,例如:

  • 控制收入實現的時間(例如何時出售股票)。 因為資本利得在實現之前是不徵稅的,且長期資本利得的稅率低於普通收入,玩家會操縱他們的資金歸入此類別,並選擇實現收益的時間,從而避開如果直接領取薪資所需繳納的稅款。
  • 利用帳面虧損來抵銷應納稅收入。 (如房地產)、農場虧損、油氣井枯竭等,讓富人在稅務目的上看起來像是零收入。
  • 股票期權。 股票期權是一種合約,允許接收者在未來以特定價格購買股票。如果該價格低於市場價格——例如合約允許以 100 美元購買價值 200 美元的股票——那麼期權持有者只需通過買賣股票即可賺取差價(100 美元)。根據 ,獲得合格股票期權的高管只需為此支付 25% 的資本利得稅,而非普通所得稅:

最重要的優勢在於,員工股東現在能夠為了自己的稅務利益而選擇獲取資本利得的時間,且長期收益的最高有效稅率不超過 25%。

不出所料,都將股票期權作為其薪酬方案的一部分。

觀察者將這一切稱為「利用漏洞」。

設計者抱怨這不是他們的初衷,於是他們制定新規則(通過新法律/法規)來「補洞」。他們會增加新稅種,或改變股票徵稅的計算方式。

於是玩家再次調整。他們不再出售股票並支付資本利得稅,而是以股票價值為抵押借錢,用這些錢買他們想要的東西並支付債務利息。只要股票增值的速度快於欠款增加的速度,這種做法就能一直持續到當事人去世。這就是所謂的 策略,也是現行稅法中已知的漏洞。

設計者抱怨這不是他們的初衷,於是他們——

如此循環往復。

範例 1.5:(案例研究)替代性最低稅(AMT)

1969 年,指出,約有 155 名高收入美國人(當時收入超過 20 萬美元,相當於今天的 200 萬美元)在 1966-67 納稅年度繳納的聯邦所得稅為零。

這引發了公憤。雖然我無法證實這個說法,但據傳,國會議員收到選民關於此避稅行為的信件,比關於越戰的還要多。

在這種壓力下,設計者除了嘗試敲擊眼前的地鼠外,還能做什麼?

這次敲地鼠的結果是 ,該法案創立了「替代性最低稅」(Alternative Minimum Tax,簡稱 AMT)。當時 AMT 的功能是在常規所得稅之上增加一層稅收,以堵住那 155 名高收入者利用的漏洞。

有趣的是,這些漏洞(「稅收優惠項目」)(順便說一句,這些都是國會編寫的稅法中合法的部分;那些富有的混蛋實際上並沒有違反任何法律):

  • 資本利得排除。 當時,如果你持有股票足夠長的時間後出售,一半的利潤是不徵稅的。
  • 不動產的加速折舊。 房地產方面的鬼話。如果你讀過這篇文章,你可能知道我對土地價值以及美國未能正確徵稅有自己的看法。允許人們通過房產價值來逃避繳稅則更糟糕。
  • 受淨租賃限制的個人財產加速折舊。 因為政府不應該因為人們的個人財產貶值而向他們徵稅,出於某種原因?
  • 經認證的污染控制設施的攤銷。 「噢不,我賺了太多錢,所以我要假裝我擁有的這座污染處理廠神奇地爆炸了,以此來報稅。」
  • 鐵路車輛的攤銷。 我和下一個輕微自閉症患者一樣喜歡火車,但拜託,這也行?
  • 股票期權。 這是早先創造的一個漏洞,後來變成了一隻地鼠。
  • 金融機構的壞帳準備金。 是的,國會,去補貼糟糕的金融機構吧。肯定會有好結果。
  • 百分比耗竭(Percentage depletion)。
    在提出這個建議的房間裡:
    史蒂夫,讓我們允許人們因為油井乾涸而不交稅吧。
    → 好主意,約翰!接下來我們乾脆讓他們連嫖妓和吸毒的錢也能扣除。

像大多數稅法一樣,AMT 是為律師和會計師寫的,而不是為人類寫的,所以我發現它既古怪又難以理解,但它的運作方式似乎是:加總富人聲稱的所有免稅額,減去 3 萬美元的豁免額和他們實際支付的任何聯邦稅,然後剩下的部分要繳納 10% 作為 AMT。

假設你賺了 40 萬美元,但通過(作為現有稅法一部分的「稅收優惠項目」)成功將應納稅收入降至 5 萬美元,並為此支付了 2 萬美元的稅。那麼當年你就要支付 AMT:[40 萬(優惠項目) - 3 萬(豁免) - 2 萬(已付聯邦稅)] x 10% = 3.5 萬美元。

這項法律(AMT)設計得如此糟糕,以至於自頒布以來必須修改

自 1969 年頒布以來,個人最低稅已多次修改,分別在 1971、1976、1977、1978、1982、1986、1990、1993、1997、1998、2001、2002、2003、2004、2006、2007、2008 和 2009 年。1976 年的稅制改革法案是第一次重大修改,在附加最低稅基中增加了新的優惠項目,並將稅率提高到 15%。

這是一個教科書般的案例:國會看到一隻地鼠——一群不交聯邦所得稅的富人(我必須強調,這些富人只是在利用國會自己寫的現行稅法)——然後敲擊它,在這個過程中創造了更複雜的稅法,進而產生了必須敲擊的地鼠。

原始 AMT 最愚蠢的部分之一是它,因此隨著越來越多的中產階級美國人開始受到影響,國會勢必得不斷介入並修改法律。

範例 2:銀行監管

另一個很好的例子是美國監管銀行的方式。

設計者(在這種情況下是美國政府)試圖監管銀行系統,使其不會發生銀行擠兌或金融災難。玩家(在這種情況下是銀行)則試圖以任何可能的方式賺錢。

在 2008 年之前,銀行賺錢的主要方式之一是出售由大量抵押貸款支撐的金融資產。這被稱為「抵押貸款支持證券」(Mortgage-Backed Security)。隨後,衍生性商品(一種運作方式類似於對其他金融產品進行投注的金融產品)被建立在抵押貸款支持證券之上,且當時是不受監管的。

這是玩家在技術上沒有違反法律條文的情況下賺錢。

但當足夠多的衍生性商品像紙牌屋一樣堆疊起來,而下方的桌子崩塌時,整個系統都瓦解了,迫使政府(設計者)介入並注入大量資金。

這教會了玩家一條設計者遵守但未明確說明的規則:如果系統因玩家自身的行為而崩潰,設計者會提供紓困。

設計者為了防止這種情況再次發生,試圖修補大壩上的漏洞。2010 年,國會通過了 ,聲稱要對這一切建立監督和監管,防止再次發生此類災難。

玩家進行了調整:嘗試了新方法,發明了新產品。

接著在 2023 年,利率變化導致矽谷銀行(SVB)倒閉,引發了另一次銀行擠兌,而這正是《多德-弗蘭克法案》本應防止的事情。

《多德-弗蘭克法案》原本是有可能阻止它的,但針對 SVB 規模銀行的監管在 。在監管者(設計者)與銀行(玩家)之間的對抗性遊戲中,監管者敲了一隻地鼠,以為解決了問題,結果另一隻又冒了出來,因為銀行有遊說團體,也能參與這場遊戲。

現在設計者說,只是另一個需要修補的洞,所以——

循環再次開始。

範例 3:緝毒局(DEA)與《受管制物質法案》

將受管制的物質(藥物/毒品)分為五個級別,每個級別根據其危險程度作為一個類別進行監管。表面上看,這並不愚蠢;雖然我對某些東西需要處方感到非常煩惱,但確實有很多非常危險的藥物(如鴉片類藥物),如果人們能輕易在櫃檯買到,很有可能會毀掉他們的生活。

問題在於:正如你查閱所見,每一種被列入清單的化學化合物都有具體名稱。換句話說,只有當該特定的原子排列受到 DEA 監管時,該化合物才屬於一級管制藥物。在其中任何一個分子上隨便加一個氟原子,它就是一個全新的分子,這意味著它必須重新經歷整個監管過程

法律試圖監管(除其他外)大麻,即大麻中讓你興奮的物質。

然而,合成藥物有數百種,且隨著時間推移會發現更多。在 2008 年至 2014 年間,,全球公認的則超過 。你認為在不久的將來還會識別出多少種,特別是隨著 AI 蛋白質折疊和分子發現等生物醫學技術的進步?

國會在 1986 年試圖通過 來敲擊這隻地鼠,但並未成功。他們在 再次嘗試,禁用了 26 種合成藥物,但可能的分子有成千上萬種,「打地鼠」根本應付不來。

更好一些,它涵蓋了整個化學類別,儘管以我們的運氣來看,結果可能會發現有一種長得很像芬太尼的藥物可以延緩衰老或預防勃起功能障礙,而我們永遠不會知道,因為整個類別都被宣佈為非法。這是政府監管物質的方法所導致的必然權衡。

此外,《停止芬太尼法案》僅適用於芬太尼,因此國會只是同時敲擊了一堆地鼠,並希望這樣效果會更好。

作為額外補充,這裡有一篇新聞文章。這裡有參議員查克·葛雷斯利(Chuck Grassley)稱這整個過程為有一群執法機構也直接稱之為打地鼠。

隱喻

看待這件事的一種方式是將其視為試圖堵住大壩上的漏水,用手指塞住漏洞。當然,在堵住上一個洞後,新的漏水又會冒出來,因為堵住單個漏洞對緩解根本原因毫無作用,換句話說:

修補漏洞對解決導致漏洞的壓力毫無幫助。

在大壩的隱喻中,壓力是由大壩攔截的水的重量造成的。在現實的對抗性遊戲中,壓力是由玩家針對設計者優化自身目標所造成的。

然後是這篇文章的標題:打地鼠遊戲。

然而,關於打地鼠的一點是,玩家從未真正關閉地鼠冒出的洞口,也沒有真正殺死任何地鼠。遊戲是靠計時器運行的,因為不存在可能的獲勝條件,玩家無法達到一個地鼠永遠不再困擾他們的終結狀態。

打地鼠不是一個可以獲勝的遊戲,因為在地鼠出現時敲擊它們——在玩家發現漏洞時修復它們——完全沒有改變遊戲的基本動態。設計者制定規則,玩家規避規則,設計者通過改變規則來敲地鼠,玩家再找另一個洞。

用另一個隱喻來說,治療疾病的症狀並不能治癒病人。治療疾病的「影響」可能會讓問題不再顯眼,但疾病依然存在,繼續造成破壞。

不要討厭玩家,要怪設計者做了一個爛遊戲

有一種思維方式(特別是看上面的稅務例子)大致如下:

富人應該繳納他們公平份額的稅款。我們應該嘗試(通過改變文化或其他方式)讓他們停止試圖避稅。

總結來說,這就是「讓我們嘗試讓玩家不要為了自己的目標而違背設計者的意願進行優化」。

那太棒了!

只是,從設計者的角度來看,那不是你能控制的事情。 我相信國稅局(IRS)會很希望每個人都決定停止隱藏應納稅收入。我相信醫療體系會很希望每個人都定期節食和運動。我相信聯邦存款保險公司(FDIC)會非常喜愛那些從不試圖通過暴露於過多系統性風險來最大化利潤的銀行。我相信緝毒局(DEA)會很高興人們停止設計價值數十億美元的新型合成藥物。

問題在於:

只要玩家遵守遊戲規則的字面意思,設計者就無法控制玩家做出的選擇。

玩家正在努力實現他們自己的目標和願望。他們遵循自己的激勵機制。這就是世界的本質。設計者有責任創造一個系統,使玩家這樣做能導向社會利益,因為設計者才是最初強加這個系統的人。強加一個帶有漏洞的系統,卻抱怨玩家利用它,就像造了一艘船殼有洞的船,卻責怪水湧進來一樣。

遊戲的本質

在這種對抗性遊戲中,設計者從根本上處於劣勢。

為什麼?

玩家可用的「行動空間」——即他們被允許採取的行動——是無限的。他們總能發明新事物、發現新手段、揭露新漏洞。玩家可以做任何事。

相比之下,設計者可用的行動空間是有限的:設計者能做的只有制定和執行具體的規則。

此外,設計者被迫處於防守地位。他們無法察覺自己規則中的漏洞(如果能察覺,他們希望能調整規則來解決它),所以他們只能等著玩家發現並利用漏洞後再進行修補。

你無法在大壩漏水出現之前堵住它;在地鼠跳出來之前,你不知道它會從哪個洞出來。

改變遊戲

那麼,從設計者的角度來看,解決方案是什麼?難道他們註定要永遠落後一步,一路敲著地鼠卻從未真正解決問題嗎?

不。

解決方案是改變遊戲的本質,通常(但並不總是)通過改變玩家所面臨的激勵機制。

範例 1:以土地價值稅(LVT)取代所得稅

收入——或者更廣泛地說,「補償」——可以通過無限多種方式被隱藏、變異或模糊化。股票、股票期權、醫療保險、人壽保險、支付食宿/網路費、配備公司車、使用公司信用卡……清單不勝枚舉。政府不可能永遠完全掌握每一種補償員工的新方法。

因此,從國稅局的角度來看,避稅是一場打地鼠遊戲。這是他們因為法律義務而不得不繼續玩下去的一場無法獲勝的遊戲。

相比之下,「土地所有權」無法被隱藏或轉化。它不能被偷偷藏在瑞士銀行帳戶或轉換成加密貨幣。它也無法對政府隱瞞,因為擁有一塊土地的本質意義就在於政府承認你擁有那塊土地。

(有人可能會指出,殼公司可以用來隱藏土地所有權。如果我擁有一家公司,該公司擁有一家公司,該公司擁有一家子公司,該子公司擁有一家公司,該公司擁有一塊土地,那麼政府難道不需要追溯到我身上才能知道向誰徵稅嗎?答案是否定的,至少在理論上是這樣。政府不需要知道或關心最終是誰真正擁有這塊土地,只需要向名義上擁有該財產的實體(個人或公司)徵稅,然後該實體要麼付錢,要麼不付。如果該實體不付錢,政府就沒收土地並拍賣。不需要任何追溯。)

因此,對土地價值徵稅——技術上來說是廣義的財產稅,但我太傾向於喬治主義(Georgist),不希望對土地上的改良物徵稅——是一場完全不同的遊戲,它極大地限制了玩家的招式。玩家仍然有招可用;通常他們會試圖讓他們的土地評估價值僅為實際價值的一小部分,以此降低稅收,但重點依然成立。而且如果土地估價公開透明,這種手段也可以被遏制,因為每個人都能一眼看出,那位剛和總統吃過午餐的億萬富翁所擁有的土地價值遠低於應有水平。

土地價值稅(以及一般的財產稅)是比所得稅更好的政府收入來源,因為它們不像所得稅那樣可以被規避。

範例 2:銀行業

我對銀行業並不是非常了解,所以我在此引用經濟學家

目前的銀行通過債務來資助自己。你存在銀行的所有錢在技術上都是銀行欠你的錢——這是銀行承擔的短期債務。

銀行利用你存入的錢向其他客戶(企業、抵押貸款等)提供貸款。這些貸款連同利息一起償還,銀行從利息中賺錢,並將其中一部分分給你。

問題在於:a) 銀行實際擁有的資金僅佔其欠款的一小部分,且 b) 它以「先到先得」的方式償還其短期債務(把錢還給你)。

舉個例子:

包括你在內的十個人,每人在銀行存了 1 萬美元。現在銀行欠你們每人 1 萬美元,手頭有 10 萬美元可以使用。銀行只保留 2 萬美元現金,其餘 8 萬美元用於抵押貸款、商業貸款等。

現在,銀行擠兌就可能發生。如果三個存了 1 萬美元的人想取出他們的錢,只有兩個人能做到——銀行字面上只擁有 2 萬美元可以給。這會導致每個人都認為銀行要倒閉了,而且由於只有前兩個取錢的人能在銀行倒閉時真正拿回錢,每個人都會爭先恐後地想成為那前兩個人。

這就是銀行擠兌。

科克倫博士的想法是讓銀行完全通過「股權」(例如股票)或長期債務來資助自己,就像其他公司一樣。換句話說,將「持有資金和支付處理」的功能與「借貸」的功能分開。

「窄銀行」(Narrow banks)將接管持有資金和處理支付的功能,並收取少量費用;這將是你支票帳戶所在地。法律將要求這些窄銀行必須以現金或短期國債的形式持有其聲稱擁有的 100% 資產,因此永遠不會發生擠兌。如果 10 個人存入 1 萬美元,他們必須隨時手頭有 10 萬美元可以歸還。

另一方面,目前的銀行將作為以「放貸並從利息支付中獲利」為商業模式的企業運作。他們貸出的所有資金將不再屬於銀行的「客戶」,而是屬於銀行的「股東」。如果銀行倒閉,那麼投資該銀行的「股東」會損失他們投資的錢,但這與任何其他企業破產沒有區別。它不會影響普通美國人獲取其儲蓄的能力。

這是設計者改變遊戲本質以消除銀行擠兌可能性的一種方式,即改變玩家被允許拿「誰的錢」去冒險。目前,銀行受到監管,但被允許拿存款人(美國人民)的錢去冒險。在科克倫博士的系統中,玩家(銀行)僅被允許拿「他們自己」(投資者)的錢去冒險。而投資本來就被認為是有風險的,但在銀行存錢理應是安全的。

範例 3:緝毒局(DEA)與《受管制物質法案》

我不是監管藥物的專家,但美國政府需要對「現存的每一種精神活性分子」的合法性發表意見,這種想法似乎註定會失敗,無論投入多少資源。

此外,對藥物的需求是巨大的,且其中有「很多」錢可賺,這意味著人們有很大的動力去創造供應來滿足需求。任何程度的執法或毒品戰爭都無法改變這一點。

那麼我們該如何改變遊戲?

合成大麻素之所以存在,是因為大麻在美國許多地方是非法的,而合成大麻素在被判定非法之前在「技術上」並非非法。(這對於藥物檢測等事情很重要。)人們對「不是大麻但仍能像大麻一樣讓你興奮」的東西有需求,正是「因為」大麻是非法的。

特別是對於合成大麻素,答案很簡單:將大麻合法化、監管並徵稅。如果人們能獲得真正的東西,就會大大減少對法律定義不同的替代品的需求。

(我意識到這裡還有許多其他考慮因素。這是一個如何停止玩打地鼠的例子,而不是關於大麻合法化的全面論證。)

當然,這並不能解決其他類別藥物的問題;我並不一定贊成將「芬太尼」合法化、監管並徵稅。那麼我們還能怎麼做?

一種方法可能是嘗試根據「效果」而非「分子」來監管藥物,但這在法律上可能很棘手;你最終必須在法庭上證明藥物對人的作用,這很困難且以前失敗過。

這是一個困難的問題,我沒有奇蹟般的解決方案。

我「確實」知道的是,嘗試一次禁止一個分子,甚至一次禁止一個藥物類別,從長遠來看是行不通的。

打地鼠導致官僚主義和政府僵化

美國稅法是一個不斷增長的監管怪獸。如果僅計算明確的規則,它大約有 ,但大量的稅法是基於法院判決的,而法院判決又是基於先例的,所以一旦考慮到這一切,整個法典長達約 70,000 頁:

我想知道 1940 年代發生了什麼——喔對了。為什麼它是一個單調遞增、錯綜複雜的規則迷宮?

嗯,部分原因是對先前案例法的依賴。

但另一部分原因是,法律和法規不斷被添加,以修補人們發現的漏洞。

而修補每個漏洞都需要巨大的政治努力、意志和支持,因為美國國會議員和參議員絕大多數都很富有,因此很可能從這些漏洞中受益。(在撰寫本文時,是百萬富翁,許多人甚至是千萬富翁。)

銀行監管也是如此;《多德-弗蘭克法案》增加了約 條新規則,雖然情況可能會改善一段時間,但玩家的激勵機制並未改變。大壩後的水位仍在上升,僅僅因為美國政府把手指塞進了一個洞,並不意味著其他洞不會出現。與此同時,監管的數量「持續增加」。

這種模式「無處不在」,存在於私人公司、政府和大學課程中。每當犯下一個錯誤或有人做了蠢事,官僚體系就會增加一條新規則,事情變得更緊縮、更受限。而每一次,僅僅禁止問題所在並繼續前進,都比通過改變玩家的激勵機制來真正修復系統更「容易」、更「方便」。

重構作為「反打地鼠」

在軟體工程中, 是指在「不改變代碼外部行為」的情況下,更改現有代碼庫以修復結構性問題的過程。換句話說,重構是花時間修復代碼庫的底層結構問題,而不是僅僅敲擊一個又一個地鼠並寄希望於最好的結果。

任何軟體工程師都知道,代碼「需要」定期重構,否則很快就會變成一團亂麻。如果哪怕一年不進行重構,一個主要的代碼庫就會迅速退化成難以理解的「義大利麵條代碼」,再也無法有效地修補,因為整個東西除了是一堆補丁和 OK 繃之外什麼都不是。

而那僅僅是一年之後。

美國政府已經有「四分之一個世紀」沒有進行實質性的重構了。

相反,它隨著時間推移幾乎是單調地增長,規則、程序、法規、法律和司法先例全部堆疊在一起,在我們聯邦共和國的各個層級上,妥協加上妥協,補丁加上補丁,直到幾乎不可能修復任何東西。

難怪它是如此混亂。

結論

如果說我認同的一條關於人性的規律,一條統治整個物種的常數,那就是:

總體而言,人們會遵循他們的激勵機制。

如果人們有動力去賺更多的錢,或者讓更多的錢免於被徵稅(他們確實有),他們就會嘗試這樣做。

如果經營銀行的人有動力去獲取利潤(他們確實有),他們就會繼續嘗試通過越來越冒險的貸款和金融產品來獲取更多利潤,因為他們沒有同等的動力去「不損失」客戶的錢(畢竟,被拿去賭博的不是執行長的錢)。

如果人們有動力繼續生產合成藥物(),他們就會繼續這樣做。

設計者(在本文的三個案例中均為美國政府)不斷嘗試修補系統中的漏洞,而玩家則有持續的動力去戳更多的洞。在這個過程中,補丁疊補丁,變更疊變更,直到大壩上的補丁比結構還多,直到地面上的填補痕跡比整齊的綠色草坪還多。

我並不是說問題不需要解決,或者不存在任何權衡。

我想說的是,如果你作為設計者,發現自己把所有的時間都花在敲地鼠上,請考慮現在可能是重構的時候了。請考慮你正在玩一場無法獲勝的遊戲,而玩這場遊戲正導致你自己的規則隨著時間推移變得越來越長、越來越難以理解。

請考慮你所代表的機構正在你身邊腐朽,因為它把所有的時間都花在處理症狀上,而拒絕處理根本原因。

我想說的是,打地鼠遊戲屬於街機廳,而不屬於現實世界。

至少在那裡,還能有人獲得高分。