
伊利諾州禁止EU AI Act要求保留的郵政編碼欄位。我構建了一個直接表明衝突而非打印合格標誌的AI招聘審計系統。
2025年12月2日,紐約州主計長發布了一項針對同一樣本(32家公司)的審查報告,此前紐約市消費者和工人保護局(DCWP)已根據Local Law 144對該樣本進行過審查;在DCWP僅發現1起違規的地方,州主計長統計出了17起潛在違規。DCWP同意轉向主動執法。
我讀到這篇報告時,曾以為艱巨的工程難題在於檢測:即構建能夠捕獲初次篩查遺漏之偏見的工具。編寫規則包改變了我的想法,因為檢測其實只是較為簡單的那一半。真正困難的部分在於,當雇主在紐約、科羅拉多、伊利諾伊、德克薩斯、加利福尼亞和歐盟使用自動化招聘工具時,需要面對六個監管機構,他們要求六種格式截然不同的文件,而且至少在一個環節上,其中兩個機構對同一列數據提出了截然相反的要求。
因此,我為此構建了一套合規覆蓋層,一個名為Clarion的控制台,它位於雇主現已運行的AI招聘工具之上,讀取一份供應商評分導出數據,用確定性代碼計算各項不利影響統計數據,並將單次審計結果分發為針對六個司法管轄區的交付物。您可以在 veriprajna.com/demos/ai-hiring-compliance 查看其實際運行效果。下文的所有內容均基於虛構雇主「Acme Logistics, Inc.」在職位需求REQ-2026-0412下的1,040條植入合成候選人記錄導出數據運行。我親自在這些數據中植入了違規項,這也是我能夠確切說明該引擎本應發現什麼內容的唯一原因。
通過的審計並非法規所要求的審計
由於數據集是我親自植入的,最初的結果依然讓我頗感惱火。供應商自我審計所交付的邊際五分之四檢驗(four-fifths test)輕鬆通過:種族影響比率最低為0.8196,西語裔和黑人並列最低值;性別影響比率最低為0.8744。兩者均處於或高於0.80基準線。代碼中沒有任何強制斷言該項通過的邏輯。0.8196是夾具(fixture)上計算得出的真實結果,它憑自身實力越過了基準線。螢幕上的比率卡明確顯示:供應商到此便止步了。
Local Law 144並未止步於此。它要求計算種族與性別的交叉比率,而合成候選人由三種模擬工具評分(Workday-Spotlight風格的評分器、HireVue風格的視頻面試環節、Eightfold風格的匹配引擎),它們是構建在合成數據之上的測試夾具適配器,屬於原型而非真實集成。按種族和性別對相同記錄進行切分後,情況發生了反轉。相對於白人/男性(White / Male)參考單元格(130名候選人中通過68人,通過率52.31%),黑人/女性(Black / Female)單元格在130名候選人中僅通過44人,即33.85%。影響比率0.6471。 西班牙裔/女性(Hispanic / Female)單元格同樣未通過,比率為0.7647。

西班牙裔/女性(Hispanic / Female)是我與自己的引擎產生分歧的地方。在alpha為0.05的Benjamini-Hochberg假發現率控制下,只有黑人/女性(Black / Female)單元格在統計學上是穩健的(q = 0.0185)。西班牙裔/女性單元格的q值為0.1629,因此引擎對其進行了標記,但明確拒絕將其認定為顯著。我原本希望兩個單元格都算上,因為兩個未通過的單元格比一個更有說服力。然而引擎區分了穩健發現與偶然結果——如果我是報告另一端的雇主,我也希望自己的數據能受到同樣嚴謹的審視。
六個監管機構,六份截然不同的文件
我接連編寫了六個規則包,並不斷嘗試將它們壓縮成單一分數,因為 儀表板所能容納的只有一個數字 ,而這也是買家所期望的。但這套邏輯在面對法規時徹底瓦解。紐約市要求提供交叉不利影響報告及張貼的公開摘要。科羅拉多州SB 24-205要求記錄在案的合理注意影響評估和風險管理程序,且未規定任何具體方法,將於2026年6月30日生效。德克薩斯州TRAIGA拒絕將差別影響作為獨立依據,而是審查主觀意圖。加利福尼亞州FEHA ADS修正案自2025年10月1日起生效,並再次提出了其專屬的文件格式要求。EU AI Act將招聘歸為Annex III高風險類別,要求自2026年8月2日起實施Article 10數據治理並建立Article 11技術文件。
單一分數的設想在德克薩斯州規則包上宣告破滅。我此前已經基於交叉比率構建了紐約市的交付物,而TRAIGA在證據層面使這些完全相同的統計數據對其自身的評估毫無關聯,因此無論我採用何種權重,都不可能讓一個數字同時代表兩者的訴求。六個不同的問題以六種不同的形式提出,而一個公平性分數大約只能回答其中的一個半。因此,Clarion生成六份交付成果,每份都附有其專屬的法規條文引用、生效日期和所需格式,控制台的標題磁貼報告的是合規覆蓋範圍而非綜合評分:管轄區交付物 6、最低影響比率 0.65、需人工介入事項 9。

那一列錯雜的結果才是誠實的輸出,但卻沒有任何廠商在實際交付這樣的產品。來自康奈爾大學、數據與社會研究所(Data & Society)以及《消費者報告》(Consumer Reports)的研究人員檢查了391家紐約市雇主是否按Local Law 144的要求進行了審計,結果發現公開發布偏見審計的僅占4.6%(FAccT 2024)。這項義務現已生效。合規率低得近乎四捨五入的捨入誤差,而在我眼中,這一巨大差距很大程度上源於那些真誠地以為供應商提供的單一合格比率就已經解決了所有問題的雇主。
zip_region上的Cramér's V達到0.3321,以及兩個訴求完全相反的監管體系
在真正理解郵政編碼問題之前,我曾為其編寫了一個衝突解決器,而刪掉它的那一刻,整個產品的形態發生了改變。引擎通過相關性來檢測受保護階層的代理變數,而 zip_region 與種族的Cramér's V相關係數達到0.3321(偏差校正後為0.3253),超過了0.2的閾值。它確屬代理變數。這絕非見疑即報的啟發式策略:school_tier 在同一次運行中為0.0711,順利通過。
伊利諾伊州HB 3773自2026年1月1日起生效,禁止將郵政編碼作為受保護階層的代理變數,因此伊利諾伊安全配置對地理位置進行遮蔽。EU AI Act Article 10(3)則要求訓練數據必須具備相關性、代表性和完整性,這在實踐中依賴於伊利諾伊州剛剛要求你刪除的地理覆蓋範圍。遮蔽該欄位會削弱歐盟代表性義務;保留該欄位則違反伊利諾伊州法規。單一的模型配置無法同時滿足兩者。
我之前的解決器曾擅自選出了一個勝出者。它比較了兩種法律風險曝險,選擇了較大的一方,並為另一方生成了清白的狀態——這正是將虛假陳述寫入備案文件的行為。我將其移除,並代之以審批門禁允許達成的裁決:CONFLICT。隨後,協調器編寫了一份法律策略備忘錄,而不是一份合規認證。運行兩種部署配置:伊利諾伊推理採用完整的地理遮蔽,歐盟訓練數據採用較粗粒度的區域特徵。或者,如果強制採用單一配置,則選擇風險曝險較大的監管體系並記錄已接受的風險,同時指出歐盟高風險處罰的法定上限為1500萬歐元或全球年營業額的3%(以較高者為準)。

在法庭上,一份顯示「合規」的儀表板是一件證物;而一份表明「我們知情、我們對兩條路徑進行了定價、我們做出了選擇」的備忘錄則是一份辯護詞。
作為總法律顧問,這是我每次都會做出的權衡,而任何旨在安撫買家而構建的產品都不會提供這種權衡,因為令人安心的版本在宣誓證詞取證之前總是更好賣。
我曾試圖說服自己的系統給出一個通過結論
我進行了我最為擔心的實驗:去查明自己是否可以通過調整提示詞來獲得一個更好的裁決。Clarion中有六個管轄區代理,外加一個衝突協調器和一個對抗性懷疑論者,基於Pydantic AI構建並支持提供商切換。我重寫了解說提示詞,使其偏向寬容,就像面臨季度壓力的供應商那樣。行文確實變得更加溫和了。沒有一個數字產生變動,也沒有一個裁決發生改變,因為每一項統計數據、每一次閾值比較和每一個門禁決策都存在於 engine.py 與 rulepacks.py 中,完全獨立於代理架構之外。
同樣的特性也表現在反向情況中。在完全沒有配置模型提供商的情況下,團隊回退到確定性模板,應用程序完全一致地運行:相同的六份交付物、相同的0.6471、相同的CONFLICT。代理提供建議,代碼做出裁決,並且12項引擎測試中有12項鎖定了植入的基準真相,從而確保邊際通過與交叉失敗在各次運行之間絕不會產生漂移。
代理可以解讀法規並撰寫備忘錄。但它們不能成為裁定是否跨越閾值的實體,因為它們的認可可以通過更好的提示詞被收買。
我起初並未持有這一觀點。我曾以為代理是核心產品,而算術只是管道,結果我完全搞反了。我更換了提供商,更換了提示詞,在完全沒有API密鑰的情況下運行它,引擎在黑人/女性(Black / Female)上依然返回0.6471,在 zip_region 上依然返回CONFLICT。我對模型所做的任何改進,只會改善備忘錄的文筆,而審計員要檢查的實質內容一絲未變。
一份通過的偏見審計從未觸及的三種法律理論
我構建對抗性懷疑論者時,原以為它會就統計數據展開辯論,結果它卻把時間花在了爭辯管轄範圍上。它拒絕給三項內容發放綠燈通行證,而 每一項都是通過的偏見審計所未涵蓋的獨立法律理論。
第一項是自我分類。供應商聲稱「我們的評分器不是AEDT」的備忘錄被駁回,因為根據 Mobley v. Workday 中提出的代理理論,推薦或篩選候選人的工具屬於決策環節內部。該理論尚未形成定論,並非具有約束力的判例,這也是為何該事項被轉交給人類法律顧問進行範圍宣誓證明,而不是直接標註為狀態顏色的原因。
第二項是無障礙性。在參加視頻面試環節的432名候選人中,標準語音的詞錯率為0.0794,而104名非標準語音候選人的詞錯率為0.3016,差距達到3.8倍,這是Local Law 144從未測試過的,因為LL144只關注種族和性別。在 D.K. v. Intuit/HireVue 中提出的理論是一項基於ADA(美國殘疾人法案)的理論,它在完美的偏見審計面前完好無損地存在。Clarion檢測到了這種差距,並將其路由至人工ADA審查。它並未構建合理便利工作流,我也不打算假裝它能做到這一點。
第三項是FCRA(公平信用報告法),它根本不在意公平性。在本次導出數據中,有510名候選人是根據第三方抓取的數據進行評分並根據數字分數進行篩選的,這正是 Kistler v. Eightfold 中爭議的模式。如果該平台屬於消費者報告機構,那麼無論結果多麼平衡,每位被評分的候選人都應獲得不利行動通知和爭端申訴途徑。Clarion檢測到觸發條件並將其路由至不利行動和爭端基礎設施。它同樣沒有構建面向候選人的門戶網站。我發現這是三者中最不符合直覺的一項,也是最容易被在公平性上做對了一切的團隊忽略的一項,因為統計數據本身不會告訴你答案。FCRA提出的問題關乎該平台究竟 是什麼,而一家公司可能在報告中的每一項影響比率上都順利通過,但依然欠數百人一份從未寄出過的法定通知。

我願意親手交給最終簽署人的整套交付包
在整個構建過程中,我面前始終貼著一個問題:實際簽署這份文件的人到底需要什麼,而那絕非一個簡單的分數。在六個監管體系中,引擎評估了13項法定义務,並返回了2個PASS、2個FAIL、7個NEEDS_PROOF和2個CONFLICT。在此植入合成導出數據的覆蓋範圍而言,13項義務中只有2項僅憑數據就能自動滿足,而13項中有9項因屬於NEEDS_PROOF或CONFLICT而被路由給具體指定的人員處理。在一個作為自動化工具銷售的系統中,這樣的比例看起來像是失敗;但作為一份審計報告,這是我唯一願意簽上自己名字的形式。
導出成果是一個由17個節點組成的SHA-256雜湊鏈包裹,每個節點都鏈接到其前一個節點的雜湊值,因此對任何節點的任何修改都會破壞整條鏈條。它以JSON和可打印的HTML包裹形式輸出,每個數字都附帶其輸入數據和計算過程,每個裁決都附帶其法規引用。雜湊鏈在每次運行時都會進行驗證,且防篡改特性經過了單元測試。

Veriprajna並不會簽署這份文件。獨立的Local Law 144審計員角色屬於DCI、ORCAA和Secretariat等專業機構,而該交付包的整個設計目標,就是讓這些機構中的任何一家都可以在無需重新編寫的情況下直接簽署。包括衝突備忘錄在內的全流程演練位於 veriprajna.com/demos/ai-hiring-compliance 。
如果您更願意觀看審批門禁的拒絕過程而不是聽我描述,這裡是包含衝突備忘錄在內的端到端完整運行演示。
衝突備忘錄使雇主的合規狀態與前一天完全保持一致。它所增加的是一個清晰可辨、註明日期且可追溯歸責的權衡取捨,這樣在兩年後,當有人詢問是誰決定保留郵政編碼欄位以及做出決定時他們知曉哪些資訊時,有一份文件可以提供答案,而不是一個必須費力解釋的綠色標誌。








