在針對(duì)算法和法律關(guān)系的研究中,算法主要是作為問題而存在的。但是,算法之于法律未必只意味著問題,還可以提供工具。此處所謂工具,不是“法律代碼化”意義上的技術(shù)工具,而是方法論意義上的思維工具。計(jì)算科學(xué)以制造智力替代物為己任,因此它不僅關(guān)心知識(shí)獲取的結(jié)果,而且探索知識(shí)生產(chǎn)的過程。它有意識(shí)地整合了計(jì)算機(jī)科學(xué)、心理學(xué)、邏輯學(xué)、哲學(xué)等各領(lǐng)域的成果,總結(jié)出一系列知識(shí)生產(chǎn)的規(guī)律。法律同樣是知識(shí),在社會(huì)日趨復(fù)雜的背景下同樣有必要對(duì)本領(lǐng)域的知識(shí)生產(chǎn)過程展開更深入的研究。既然如此,我們就有理由推測,計(jì)算科學(xué)領(lǐng)域關(guān)于知識(shí)生產(chǎn)的規(guī)律有可能被挪用到法律領(lǐng)域,解構(gòu)法律知識(shí)的生產(chǎn)過程,提高法律知識(shí)的質(zhì)量水平。
文章前兩部分致力于回答基礎(chǔ)問題:法律和算法具有可比性嗎?算法研究體現(xiàn)了值得法學(xué)借鑒之處嗎?在對(duì)這兩個(gè)問題做出肯定回答之后,文章將嘗試借用算法中一些淺顯但重要的規(guī)律來觀察法律。
算法(algorithm)一詞源于9世紀(jì)波斯數(shù)學(xué)家花拉子模(al-Khwarizmi)的名字。他強(qiáng)調(diào)求解問題應(yīng)當(dāng)遵循有條理的步驟,這種條理性后來被視為算法的核心。在形式化的意義上,算法被定義為“一種有限、確定、有效的并適合用計(jì)算機(jī)程序來實(shí)現(xiàn)的解決問題的方法”。而在不那么形式化的意義上,“算法是為實(shí)現(xiàn)某個(gè)任務(wù)而構(gòu)造的簡單指令集。在日常用語中,算法有時(shí)稱為過程或處方”。無論從哪種定義方式出發(fā),算法與法律的共通之處都非常明顯:算法形式化定義中的核心特征是“有限、確定和有效”,這與法律不謀而合。有限性(finiteness)指算法必須能在執(zhí)行有限步驟后終止,這與司法程序不能不計(jì)代價(jià)地探索個(gè)案正義而只能追求案結(jié)事了異曲同工。確定性(definiteness)指算法的每個(gè)步驟都有確切定義,這與法律對(duì)概念清晰和體系一致的追求遙相呼應(yīng)。有效性(effectiveness)指算法中執(zhí)行的任何步驟都可以被分解為基本的、可執(zhí)行的操作步驟,這與法律文本需要采用含義明確、可被理解的表達(dá)可謂殊途同歸。而算法非形式化定義中涉及的“指令集、過程和配方”,更是形象地展現(xiàn)了法律調(diào)整社會(huì)關(guān)系的形式。算法不等于程序文本,正如法律不等于立法文本。算法和法律都是統(tǒng)轄具體文本的、為解決特定問題而創(chuàng)造出的行之有效的方案。
人們之所以需要借助算法來解決問題,是因?yàn)樾枰柚J(rèn)知模型將認(rèn)知負(fù)擔(dān)控制在合目的的范圍內(nèi)。現(xiàn)實(shí)世界包含了太多變量,在全面把握這些變量的基礎(chǔ)上進(jìn)行決策是不可能的,因?yàn)檫@大大超出了人有限的認(rèn)知資源和執(zhí)行能力允許的范圍。此時(shí),算法起到了“現(xiàn)實(shí)轉(zhuǎn)換器”的作用,通過將算法設(shè)計(jì)者掌握的寶貴經(jīng)驗(yàn)反映在算法中,成功地將難以處理的真實(shí)世界轉(zhuǎn)換為了可掌控的操作對(duì)象。作為“現(xiàn)實(shí)轉(zhuǎn)換器”的算法,一頭連接著真實(shí)世界,另一頭連接著決策者的期待,其內(nèi)部設(shè)計(jì)自然會(huì)根據(jù)決策者的期待變化而發(fā)生改變。例如,同樣是求最佳拋物線的算法,當(dāng)目標(biāo)是提高洲際導(dǎo)彈射程時(shí),合理的算法顯然不可能和提高實(shí)心球投擲成績的情況下一樣簡單,而是會(huì)建立復(fù)雜得多的指令集,把在實(shí)心球背景下被認(rèn)為不合目的的變量統(tǒng)統(tǒng)納入考慮范圍。只要人們不滿足于跟著感覺走,而想從混沌的現(xiàn)實(shí)世界中提煉出指導(dǎo)決策的方案,都需要構(gòu)建認(rèn)知模型,或者說都需要設(shè)計(jì)算法。社會(huì)之所以需要法律,很大程度上同樣是因?yàn)檎鎸?shí)世界包含的變量太多,需要過濾、整理,形成有效的認(rèn)知模型。
法律具有算法屬性并不令人驚訝,因?yàn)楝F(xiàn)代法律總體而言以理性主義為基礎(chǔ),而算法同樣是理性主義的結(jié)晶。理性主義不滿足于零散的經(jīng)驗(yàn),而要對(duì)其進(jìn)行修剪與排列,制成結(jié)構(gòu)化的知識(shí),以便將混沌的現(xiàn)實(shí)分揀到整齊的認(rèn)知框架里面。從計(jì)算的角度看待法律的態(tài)度其實(shí)一直存在?;舨妓乖缭?7世紀(jì)就曾說:“政治學(xué)著作家把契約加起來以便找出人們的義務(wù),法律學(xué)家則把法律和事實(shí)加起來以便找出私人行為中的是和非?!玫弥訙p的地方就用得著推理,用不著加減法的地方就與推論完全無緣?!钡搅?8世紀(jì)的邊沁筆下,法律的算法性質(zhì)更加明顯:“功利原理是指這樣的原理:它按照看來勢必增大或減小利益有關(guān)者之幸福的傾向,亦即促進(jìn)或妨礙此種幸福的傾向,來贊成或非難任何一項(xiàng)行動(dòng)?!痹跇O端的功利化思路中,幸福可以通過快樂而增加或者因?yàn)橥纯喽鴾p少,變化的程度受快樂或痛苦的強(qiáng)度、持續(xù)性和必然性影響。在定下這些公理之后,法律的任務(wù)就是畫好社會(huì)福利的坐標(biāo)系,寫好加減幸福的算法,導(dǎo)入?yún)?shù)、帶入變量,得出最大幸福的結(jié)果?;裟匪乖?9世紀(jì)斷言道:“未來學(xué)習(xí)法律的人是掌握了統(tǒng)計(jì)學(xué)和經(jīng)濟(jì)學(xué)的人?!钡搅?0世紀(jì),數(shù)理邏輯更是堂而皇之地以“經(jīng)濟(jì)”之名在法學(xué)領(lǐng)域攻城略地。在法經(jīng)濟(jì)學(xué)的視野下,法學(xué)不僅必然包含計(jì)算,還需要借助邊際、均衡和博弈的概念以及表格、公式和坐標(biāo)系等符號(hào)被重新加以表述。法學(xué)研究在把法律當(dāng)成計(jì)算指南方面早已走出很遠(yuǎn),只是因?yàn)闆]有給法律冠以算法之名,所以不曾有意識(shí)地把兩個(gè)學(xué)科勾連起來而已。
法律和狹義的算法在探索認(rèn)知規(guī)律的自覺性方面有所差異??傮w而言,狹義算法在發(fā)展過程中積累了更多的元認(rèn)知經(jīng)驗(yàn),而法律算法的設(shè)計(jì)者卻往往不那么關(guān)心元認(rèn)知。
狹義算法的設(shè)計(jì)者在大部分發(fā)展階段中都能依附在價(jià)值無涉的保護(hù)傘下,自由探索并運(yùn)用認(rèn)知規(guī)律。在追求“算得更好”的過程中,狹義算法的設(shè)計(jì)者通常不會(huì)受到來自價(jià)值觀、公平感或其他顧慮的干擾。當(dāng)研究機(jī)器翻譯的科學(xué)家意識(shí)到與其讓機(jī)器先理解自然語言再進(jìn)行翻譯(所謂基于規(guī)則的翻譯),不如讓機(jī)器直接尋求兩種語料之間的數(shù)學(xué)關(guān)聯(lián)(所謂基于統(tǒng)計(jì)的翻譯)時(shí),他們實(shí)際上把語言理解這個(gè)智能問題“降格”為了計(jì)算問題。不過在這種觀念轉(zhuǎn)變傳導(dǎo)至大眾關(guān)心的價(jià)值領(lǐng)域之前,科學(xué)家無需就他們對(duì)智能的態(tài)度接受大眾的質(zhì)詢。直到算法的運(yùn)用領(lǐng)域中出現(xiàn)了自動(dòng)駕駛、算法殺熟、影響選舉等越來越多牽扯強(qiáng)烈價(jià)值判斷的問題,算法非技術(shù)性的一面才進(jìn)入主流輿論的視野。
法律則從來沒有享受過價(jià)值無涉的保護(hù)傘,而是必須持續(xù)回應(yīng)公眾的價(jià)值觀期待,從而發(fā)展出一套貌似與計(jì)算無關(guān)的話語體系。法律對(duì)計(jì)算理念的排斥感,是法律難以像狹義算法那樣始終保持對(duì)計(jì)算方法本身高度自覺的第一個(gè)原因。法律被視為關(guān)于正義與非正義的學(xué)問,千百年來處理的都是自由、尊嚴(yán)、公平、道德等帶著濃厚價(jià)值意味的對(duì)象。對(duì)于每一代法律人而言,這些對(duì)象已經(jīng)在很大程度上被給定,并不會(huì)因?yàn)榉扇诵Q自己在計(jì)算對(duì)象或者計(jì)算方法上產(chǎn)生了洞見就發(fā)生改變。加之社會(huì)也需要借助穩(wěn)定的共同想象來維系基本秩序,因此包括法律在內(nèi)的社會(huì)制度傾向于把這些對(duì)象視為神圣不可侵犯的。如果要把這些對(duì)象從目的降格為手段,難免與公眾更容易接受的法律理念相抵觸。
法律難以像狹義算法那樣始終保持對(duì)計(jì)算方法論的高度自覺,第二個(gè)原因是二者在本質(zhì)上的確存在重大差別。如果從數(shù)學(xué)的角度來理解狹義的計(jì)算,就會(huì)看到狹義的計(jì)算是在一套人為定義的自洽系統(tǒng)內(nèi)部進(jìn)行符號(hào)推演。至于該系統(tǒng)是否與外部世界匹配,這并非需要優(yōu)先考慮的問題。數(shù)學(xué)強(qiáng)調(diào)的抽象性可以被理解為一種向內(nèi)推演而不向外求證的態(tài)度?!肮硐到y(tǒng)的主要問題并不是公理的真實(shí)性,而是公理的自洽性和有用性?!边@種自給自足型的思維方式不能滿足法律的需求。雖然法律也是一套符號(hào)體系,但這套體系必須是開放的,根據(jù)時(shí)代發(fā)展不斷調(diào)整符號(hào)及其相互關(guān)系的定義,不可能像數(shù)學(xué)一樣以公理系統(tǒng)內(nèi)部推演為終極追求。
法律難以像狹義算法那樣始終保持對(duì)計(jì)算方法論的高度自覺,第三個(gè)原因是法律領(lǐng)域的計(jì)算效果并不總是那么值得信任。計(jì)算者固然可以宣稱公平正義本屬效率的一部分,從而將所有社會(huì)問題都轉(zhuǎn)化為計(jì)算問題,但這難免使效率變成無所不包、難以證偽的概念,并不能使眾多法益衡量問題在操作層面迎刃而解。因?yàn)橛?jì)算以不同價(jià)值的通約為前提,而在利益衡量中真正困難的恰恰是通約本身而不是通約后的計(jì)算。例如,要回答個(gè)人的信息自決訴求與社會(huì)的信息產(chǎn)業(yè)發(fā)展如何協(xié)調(diào)的問題,難點(diǎn)在于個(gè)人安寧和產(chǎn)業(yè)發(fā)展分屬不一樣的心理賬戶,因此哪怕在個(gè)人層面也很難被完全理性地通約,更何況要通過立法在社會(huì)層面對(duì)二者進(jìn)行通約,阻力自然更大。價(jià)值越難客觀化的對(duì)象,在計(jì)算中越難處理。針對(duì)倫理、公平等道德意味濃烈的對(duì)象,計(jì)算者固然可以采取近似、估算等諸多手法,但難免給人回避道德難題的印象。計(jì)算能夠告訴我們?nèi)绾螌?shí)現(xiàn)目標(biāo),卻很難告訴我們目標(biāo)是什么,更無法告訴我們目標(biāo)應(yīng)該是什么。所以法律與計(jì)算之間的隔膜不僅由來已久、根深蒂固,未來也無計(jì)徹底消除。這種狀況使得法律盡管具有計(jì)算的屬性,但專門針對(duì)這部分屬性展開的研究并沒有登上主流研究的大雅之堂。
法律其實(shí)與許多算法規(guī)律遙相呼應(yīng),但這種契合更多地是自發(fā)的,而非自覺的。下文將進(jìn)行非常初步的嘗試,透過算法設(shè)計(jì)中一些淺顯但重要的規(guī)律來觀察相應(yīng)的法律問題。
在計(jì)算科學(xué)的視野中,信息成本從來都是問題不可分割的部分,脫離信息成本討論方案的優(yōu)劣是沒有意義的。我們不愿意花十分鐘去設(shè)計(jì)一個(gè)能節(jié)約五分鐘的新方案,道理即在于此。
在相當(dāng)多的法學(xué)問題上,信息成本在制度設(shè)計(jì)中的作用還遠(yuǎn)遠(yuǎn)沒有被充分自覺地意識(shí)到。我們更習(xí)慣從本體論層面的“是什么”角度去觀察規(guī)則,而很少從認(rèn)識(shí)論角度的“如何做”角度去思考規(guī)則形成過程背后的動(dòng)力。例如,法院在面對(duì)非典型信息客體和及其非典型利用方式時(shí),均輕易地否定了具體知識(shí)產(chǎn)權(quán)部門法的適用可能性,轉(zhuǎn)而用兜底條款追求所謂的實(shí)質(zhì)正義。但實(shí)際上,專利法、著作權(quán)法和商標(biāo)法等具體知識(shí)產(chǎn)權(quán)部門法提供了結(jié)構(gòu)化的認(rèn)知框架——圖式——來分揀和處理信息。法院只需要逐一回答客體、主體、權(quán)能、限制和救濟(jì)環(huán)節(jié)的子問題和子子問題即可得出答案。兜底條款則是非結(jié)構(gòu)化的空洞指令,難以被拆分為“有限、確定、有效”的可執(zhí)行步驟,因此也不能起到降低認(rèn)知的作用。既然如此,當(dāng)法院面對(duì)非典型創(chuàng)新成果和非傳統(tǒng)利用方式提出的新型創(chuàng)新利益分配問題時(shí),自然應(yīng)當(dāng)優(yōu)先考慮拓展知識(shí)產(chǎn)權(quán)圖式。只有當(dāng)把新情況放在圖式下處理會(huì)過度扭曲圖式的含義、導(dǎo)致認(rèn)知經(jīng)濟(jì)性收益大幅下降的時(shí)候,法院才需要考慮將新情況放在兜底規(guī)范下處理。
我們?cè)谕七M(jìn)類型化的過程中,有必要對(duì)類型化的最優(yōu)程度保持警惕。道理正如同在算法領(lǐng)域,設(shè)計(jì)者不會(huì)一味提高認(rèn)知模型的精度,而是僅僅在細(xì)化模型帶來的邊際收益大于其邊際成本時(shí),才致力于提高模型的精度。
我們?cè)诿鎸?duì)類型化程度的問題時(shí),也有必要不僅關(guān)注類型化不足的問題,而且注意類型化過度的弊端。例如,《反不正當(dāng)競爭法》于2017年修法時(shí)引入了網(wǎng)絡(luò)不正當(dāng)競爭條款。該條款固然提高了網(wǎng)絡(luò)不正當(dāng)競爭規(guī)則的類型化程度,但很可能因其過于細(xì)碎和技術(shù)化的用語而迅速失去作為行為規(guī)范和裁判規(guī)范的效果,徒增法院和公眾在適用法律時(shí)的困擾。如果我們?cè)谛薹ㄟ^程中曾經(jīng)考慮過類型化過度也可能造成問題,網(wǎng)絡(luò)條款或許是個(gè)能夠避免的錯(cuò)誤。
法律是一種社會(huì)設(shè)計(jì),而這種設(shè)計(jì)的根本難題在于問題的復(fù)雜度。如果我們承認(rèn)復(fù)雜度是許多問題的根源所在,就更容易有針對(duì)性地尋求理論幫助。算法理論中有多種降低復(fù)雜度的方法,本文僅以三種為例說明算法與法律的關(guān)聯(lián):
第一種降低復(fù)雜度的方法可以被概括為“對(duì)癥下藥”,也就是“通過弄清問題困難的根源,我們可能會(huì)做某些改動(dòng),使問題變得容易解決”。這種方法看似簡單,但如果立法者不曾有意識(shí)地加以運(yùn)用,仍有可能在面對(duì)復(fù)雜問題時(shí)誤癥誤判。我國在知識(shí)產(chǎn)權(quán)損害賠償問題上,如果能夠澄清困難的根源并不源于特定損害賠償計(jì)算方式的缺陷,而是內(nèi)生于知識(shí)產(chǎn)權(quán)損害賠償制度本身的性質(zhì),就能在很大程度上避免法定賠償?shù)臑E用。
第二種降低復(fù)雜度的方法是貪心算法,即在哪怕不能確保全局最優(yōu)解的情況下,仍然將復(fù)雜問題拆分為多個(gè)不那么復(fù)雜的子問題,通過合并子問題的解來回答復(fù)雜問題。接受局部最優(yōu)解意味著放棄對(duì)完美的追求,這實(shí)際上反映了法律一直遵循的模式。法律體系通常不會(huì)執(zhí)迷不悟地求取最優(yōu)解,而是滿足于找到足以處理問題的近似解。由此可見,不同部門法的區(qū)隔只是降低問題復(fù)雜度的手段而已,不同法律部門的目標(biāo)都是社會(huì)福利的最大化。這提示我們需要謹(jǐn)慎對(duì)待將部門法區(qū)隔強(qiáng)化為本質(zhì)區(qū)別的觀點(diǎn),而是以更加富于彈性的態(tài)度,對(duì)待不同規(guī)則之間的界限。
第三種降低復(fù)雜度的方法可以稱為“以簡代繁”,即通過回答簡單問題來為解答復(fù)雜問題提供幫助。為了回答一個(gè)部門法提出的復(fù)雜問題,立法者會(huì)提出一系列相對(duì)簡單的問題,法官只需要依次回答這些簡單問題就能接近復(fù)雜問題的答案。在新制度經(jīng)濟(jì)學(xué)和法經(jīng)濟(jì)學(xué)中,這種輔助我們回答困難問題的簡單問題都可以被稱為中介(proxy)。有意識(shí)地將充斥法律各個(gè)角落的概念視為幫助我們解決復(fù)雜問題的中介,有助于我們以更加功能化的態(tài)度分析法律問題。
框架問題的焦點(diǎn)是算法在解決具體任務(wù)時(shí)調(diào)用的背景知識(shí)。盡管這些背景知識(shí)貌似不會(huì)影響具體任務(wù)的解決,實(shí)際上卻會(huì)對(duì)任務(wù)執(zhí)行產(chǎn)生巨大影響。
因此,決策者在審視決策過程時(shí),不能僅僅檢驗(yàn)框架內(nèi)的顯性推理過程,還應(yīng)重視框架本身暗示的隱性背景信息。雖然在大多數(shù)情況下,法律層層套嵌的結(jié)構(gòu)已經(jīng)為每個(gè)分支節(jié)點(diǎn)上的決策活動(dòng)提供了明確的框架,但在部分情況下,法官仍有可能在不同的框架之間進(jìn)行選擇。例如,反不正當(dāng)競爭法一般條款就提供了道德評(píng)價(jià)和經(jīng)濟(jì)分析兩個(gè)框架。針對(duì)同樣的案件事實(shí),法官在道德框架和經(jīng)濟(jì)框架下分析時(shí)受到的指引有可能差別巨大。選擇正確框架遠(yuǎn)不是一件無關(guān)緊要的事。這恰恰與人們?cè)谟?jì)算機(jī)科學(xué)領(lǐng)域認(rèn)識(shí)到的框架問題重要性不謀而合。
與算法相關(guān)的研究有意識(shí)地積累了許多認(rèn)知規(guī)律,或許能起到幫助法學(xué)更加科學(xué)地反省自身的作用。畢竟,盡管法學(xué)不像典型的科學(xué)那樣通過標(biāo)準(zhǔn)化流程生產(chǎn)可證偽的知識(shí),但這并不意味著法律沒有科學(xué)性。法學(xué)和其他科學(xué)都以理解世界為目標(biāo),并且服從同樣的認(rèn)知規(guī)律。耶林盡管對(duì)“法學(xué)的概念天國”極盡嘲諷,但并不懷疑法學(xué)的科學(xué)性:“法學(xué)就是在法律事務(wù)中的科學(xué)意識(shí)。這種意識(shí)必須[……]探求現(xiàn)實(shí)世界法律之起源與效力所賴以成立之最終基礎(chǔ)?!笨茖W(xué)的發(fā)展允許我們沉降到認(rèn)知活動(dòng)底層去了解法學(xué)與科學(xué)的相通之處,更加科學(xué)地處理法學(xué)問題。