Total Pageviews

2019/08/06

[閱讀筆記] Thinking in Systems: A Primer (5/9)


  1. 延遲 (delays) 在系統裡是非常常見的現象,其對系統的行為具有重大且決定性的影響。改變延遲的長度 (length of delay) 可能會對系統行為產生重大影響 (不過這也要看是哪種類型的延遲,以及相對於其他延遲的長度而定)。
  2. 改變系統的延遲可以讓系統更易於或更難以管理。system thinkers 非常重視延遲這個主體。我們必須總是對於系統產生的延遲保持警戒,關注會延遲多久,並注意延遲是因為資訊流或實際流程所造成。若你不知道系統的延遲發生在哪裡 (where)、會延遲多久 (how long),你就無法了解系統的動態行為。無論是拉長或是縮短系統延遲,都會對系統行為產生重大改變
  3. 不同的時間延遲都可能會對系統造成重大影響,使庫存量有些微甚至震盪變化,然後我們再把單一車商庫存的視角拉大到整個國家的汽車庫存,你看到的會是訂單增減影響著所有組裝廠、零件商、原料商、整個供應鏈的複雜系統相互影響,而每一環節又存在時間延遲 (感知、製造、交貨),然後又可延伸影響到汽車生產與就業環境、股票的關係。此關係就會形成 reinforcing loop,若生產增加,就會提供更多工作機會,讓更多人可以買車;但其也有可能走反方向,生產較少,就會提供較少的工作機會、較少的新車銷售。
  4. 上述的例子,其實都有經過簡化,每個 system 都受限於周遭環境或事物的限制 (constraints)。公司需要能源、原物料、員工、管理者與顧客;農作物的成長需要水分、肥料、農藥;人口的成長需要食物、水、生活空間、工作機會、教育、健康醫療等。
  5. 在有限的環境資源追求成長是一件很常見的事情,但也常會看到成長限制的例子 (limits-to-growth archetype)。常見的成長的個體 (entity),例如人口、企業、銀行帳戶的金額、謠言、傳染病、新產品銷售等,我們總是在尋找 reinforcing loops 來追求成長,但是在真實世界,沒有系統可以永遠地成長。新產品銷售會遇到市場飽和、核電廠的核反應爐會用光所有原料、經濟會受限於資金、人口等。在成長的系統,一定會至少有一個 reinforcing loop 驅動成長,並且至少會有一個 balancing loop 限制成長,沒有一個系統可以在有限的環境資源條件下,追求永久的成長
  6. 如果提供 inflows 到 stock 的資源 (resources),汙染的限制 (pollution constraints) 可能是可再生的,或者是不可再生的。如果環境已經無法吸收 inflows 所造成的汙染,就是不可再生的 (nonrenewable);如果環境還有餘裕,可以吸收、排除汙染,就是可再生的 (renewable)。每一個系統都是有資源限制的系統 (resource-constrained systems)
  7. 當系統以指數型的速度成長,就會以驚人的、極短的時間到達臨界點,尤其是當你仰賴不可再生的資源時 (nonrenewable resources)。若你建立 capital stock 是依賴 nonrenewable resources 時,當你成長的速度越快,跌落的速度也會越快。
  8. 油田還有一個有趣的現象,若因為油田的儲藏量變小,導致油價升高,產油國反而得到更多的獲利 (captial stock 成長更快),導致投入更多資金在提煉設備,使提煉更有效率,這樣的結果就是油田 (nonrenewable resources) 更快速地資源耗盡。
  9. 假設你是在礦產或油田工作,若你在意的是工作的穩定度的話,有兩個重要的數字要注意:資源的大小 (size of resources)與預期的資本成長率 (desired growth rate of capital)。對於 nonrenewable resource 的管理,真實的選擇是:非常快速致富 (get rich very fast) 或是細水長流 (get less rich but stay that way longer)。
  10. 漁業經濟模型是 renewable resources,其會受到三個非線性關係的影響,雖然無法讓魚群一直成長,但若讓再生率與捕獲率維持動態平衡,就能夠永遠維持高且穩定的捕獲率 (harvest rate):
    1. 價格:越罕見的魚類,價格越貴
    2. 再生率 (regeneration rate):魚群太稀少 (找不到交配對象) 或數量太多 (沒有足夠的食物與棲息地),都無法擁有高再生率
    3. 每單位資本的收益率 (yield per unit of capital):取決於捕魚技術的效率
  11. 若因每單位資本收益增加,捕魚技術也連帶效率提升,就會影響魚群再生率與捕獲率,因此產生震盪現象,若不降低捕獲量,魚群與捕漁業將會於一段時間後消失,漁業變成 nonrewable resources。
  12. Nonrenewable resources 是 stock-limited。整體 stock 是一開始就決定了,可以以任何速度開採 (主要的限制在於開採資本)。但是由於 stock 是 nonrenewable,開採的速度越快,資源的壽命就會越短。
  13. Renewable resources 是 flow-limited,需控制 inflow rate (即 regeneration rate) 與 outflow rate (即 harvest rate)。若捕獲率大於再生率,當 stock level 低於關鍵門檻 (critical threshold) 後,魚群就無法再生,最終滅絕,變成 nonrenewable resources。
  14. Renewable resources 的結果在於兩件事情
    1. Resource stock 是否已低於 critical threshold,若已經低於關鍵門檻值,resource 就無法再生,會走向滅絕的命運
    2. Balancing feedback loop 的反應速度與效率
      1. 若 feedback 的反應速度很快,可以在抵達關鍵門檻值之前,降低資本成長速度,整個系統就可以平穩地進入動態平衡的狀態
      2. 若 feedback 的反應速度很慢且沒效率,系統就會進入震盪
      3. 若 balancing loop 非常微弱,無力對系統產生影響,資金投入繼續成長, renewable resources 與產業會雙雙崩壞
  15. 無論是 renewable 或 nonrenewable 都會限制讓 stock 無法永遠成長,但是兩者所造成的限制卻大不相同。差異的原因源自於 stock (nonrenewable 有 stock-limit,stock 總量一開始就決定) 與 flow (renewable 是 flow-limit,你可以透過控制 harvest rate 來調控 stock level)。你要辨識出在複雜系統中,有哪些潛在行為 (latent behaviors),以其那些條件下會觸發這些行為,你該妥善規劃降低有害行為 (destructive behaviors) 的發生機率,與鼓勵有益行為 (beneficial behaviors) 的發生機率
  16. 高度功能性的系統 (如機器、社群或生態系統) 有三大特性
    1. Resilience (彈性)
      1. 所謂的彈性是指當受到壓力後,反彈回原本的形狀或位置的能力,強調恢復、復原的能力。但是,彈性還是有其限制。
      2. 彈性是用來衡量在變動的環境下,系統能繼續存活的能力。彈性的反義是指僵化 (rigidity)。
      3. 人體就是一個很驚人的彈性系統 (resilient system)。其可以抵擋上千種各式各樣的病毒入侵者,可以忍受範圍很大的氣溫、各式各樣的食物、可以重新調節血液供給、修復傷口、加速或減緩新陳代謝等等。
      4. 若沒有完整的系統觀 (whole-system view),可能無法看出彈性的重要性,人們常常為了追求穩定、生產量,而犧牲彈性
        1. 豢養乳牛的業者,為了增加鮮乳產量,替乳牛注射賀爾蒙,如此追求產量所付出的代價是,乳牛身體較不健康、壽命變短、更加依賴人類的管理,失去自我修復的彈性能力。
        2. 產品的 Just-in-time delivery 讓零售商降低庫存的不穩定性,降低很多產業的庫存成本。但是 just-in-time model 卻讓生產系統變得更加脆弱,讓人們更加焦慮,怕原油供應、交通順暢度、電腦故障、人力充足與否等,只要有一點小差錯,就無法如期交付產品。
      5. 系統失去彈性的例子:
        1. 人體系統所發生的許多慢性疾病 (例如癌症與心臟病),源自於彈性機制的故障,人體失去修復 DNA 的能力、血管失去彈性等
        2. 大型組織如企業或政府,因為回饋機制需要經過好幾層的溝通,導致延遲與混亂,讓整個組織系統失去彈性。
      6. 系統的管理不僅僅是生產力 (productivity) 與穩定度 (stability),還需要管理它的彈性 (resilience),也就是從失序的狀態自我恢復或修復的能力
      7. 當你意識到彈性的重要性時,你就可以看到許多保護或強化系統自我修力能力的方式。全面的健康照護 (holistic heath care),並不僅僅是治療疾病,還需要包含建立起身體內在彈性
    2. Self-organization (自我組織):
      1. 自我組織常會產生異質性 (heterogeneity) 與不可預測性,其常會產生一個全新的結果,全新的做事方式
      2. 系統通常都擁有自我組織 (self-organization) 的特性,具備建構的能力,能夠建立新體系、學習、多樣化與複雜化。即使是複雜的自我組織型態,也可能起因於相對簡單的組織規則。
      3. 自我組織需要自由與實驗的發展條件,並容忍一部分的失序狀態。這樣的條件常常會造成個人的恐懼與威脅現有權力結構。因此,教育系統可能會限制學童的創造力,而非刺激學童的創造力;經濟政策傾向於支持現有的、大型企業,而非新創企業;許多政府希望它們的人民,不要太會自我組織。
      4. 這裡有幾個自我組織系統的例子
        1. 所有的生命 (從病毒到紅杉木原蟲、從阿米巴到大象) 都有一個基本的組織規則,封裝在 DNA、RNA與蛋白質分子中
        2. 農業革命的起源只是一個簡單的想法,人民可以在某個地方定居、擁有土地、選擇與耕種農作物
        3. 工業革命的組織原則是,上帝與道德都是過時的想法,人們應該保持客觀且講求科學。應該要擁有與增強生產工具,將人與大自然是為生產 (production) 的工具。
    3. Hierarchy (層級結構):
      1. 在建立新體系與增加複雜度的過程中,自我組織的系統常常會產生層級結構 (hierarchy)。我們所處的世界,就是從一個子系統聚集成一個更大的子系統、再聚集成一個更大的子系統
      2. 你的肝臟中的細胞,就是器官的子系統;肝臟則是生物體的子系統,你可能是家族、運動團隊、音樂團隊等等子系統。系統與子系統之間的關係,就稱之為層級結構 (hierarchy)。
      3. 常見的系統如企業、軍隊、生態、經濟、活生生的有機體,都是層級架構。如果子系統可以自己照顧、規範與維護,就能提供服務給較大的系統,然而較大的系統可以協調、強化子系統的功能,使其更穩定、彈性與有效率。
      4. 層級架構是個出色的系統發明,其不僅僅提供了系統穩定度與彈性,也大大降低了系統必須記錄的資訊量。若每個層級間的資訊連結設計妥當,層級間的 feedback delays 就會做到最小化。在層級系統內的子系統,其一定比在層級系統外的子系統的關係來的緊密。試想在同一個大學科系內的人,交談的頻率一定比與其他系所的同學來的頻繁。
      5. 層級關係的目的是要讓子系統 (subsystems) 能夠做得更好,但是實務上許多系統都忘記此初衷,變成故障的層級關係 (malfunctioning hierarchies)。如果團隊成員如果團隊成員只想追求個人榮耀,不管球隊獲勝,他 (或她)就會導致球隊輸球;若學生只想透過作弊或其他取巧的方式獲得高分,而非追求知識,就會出現許多反效果的行為。
      6. 當子系統的目標控制了整體系統的目標,所造的行為稱為次最佳化 (suboptimzation)。若校規阻止學生或教職員自由地探索領域的知識,大學的目的就消失;在經濟上,若中央政府從上過度干預市場,也會造成國家的災難。
      7. 高度功能性的系統,層級關係用來平衡子系統與整體系統的福祉、自由與責任,其必須有足夠的中央控制力來協調各個子系統完成整體系統目標,並給予所有子系統足夠的自主性來自我組織、運作與發展
      8. 層級系統 (hierarchical systems) 是由下而上發展的。上層的目的是提供下層發展的目的。
  17. 彈性 (resilience)、自我組織 (self-organization) 與層級關係 (hierarchy) 是動態系統可以運作順暢的主因,妥善管理這三要素,可以使系統永續發展。如果你沒有重視這三個要素,你很有可能會錯誤使用 (mistreat)、錯誤設計 (misdesign) 或誤判 (misread) 系統。
  18. 對於系統,有三個要不斷提醒自己事實:
    1. 每一個我們所認為、知道的世界都是一個模型 (model):每一個單字與語言都是一個模型;所有的地圖、統計數字、書籍、資料庫、數學公式與電腦程式等,都是模型;我們腦中對於世界的圖像,就是心智模型 (mental models)。
    2. 我們的模型與世界擁有強烈的一致性 (congruence):這是為什麼我們在生物界是個成功的物種的原因。
    3. 我們的心智模型通常無法完整的代表這個世界:這也是為什麼我們會犯錯,會對系統行為感到驚訝。在我們的腦中,我們在同一時間只能記錄僅僅幾個變數;我們常常從正確的假設中產生不合邏輯的結論,從錯誤的假設中得到符合邏輯的結論。大部分的我們,對於指數成長 (exponential growh) 的結果感到驚訝;少有人了解,如何降低複雜系統的波動。
  19. System thinkers 遇到問題時,第一件事情會是去尋找系統的時間圖表資料與歷史。會這個做的原因是因為長期的行為表現,提供我們了解系統結構的線索,了解系統結構不僅可以知道發生什麼事情 (what),還包含為什麼發生 (why)。系統結構 (system structure) 是系統行為 (system behavior) 的來源,系統行為透露其過去一段時間所發生的一連串事件
  20. 與系統結構緊密相關的包涵 stocks、flows 與 feedback loops。結構決定了系統潛在的行為。一個 goal-seeking balancing feedback loop 有達成目標或是維持在動態平衡;reinforcing feedback loop 產生指數型成長;兩者之間的交互作用,有可能產生成長、衰退或動態平衡。若兩著之間包含延遲 (delays),系統就會產生震盪 (oscillations);若兩者運作過程中,其中一個 loop 突然爆發,就可能產生意料之外的系統行為。

2019/08/05

[Maven] Fail to generate web client code by wsdl2java

Scenario


Problem 
When I try to generate web service client code from WSDL :
            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>3.2.6</version>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <!-- define location which CXF will generate artifacts -->
                            <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
                            <encoding>UTF-8</encoding>
                            <wsdlOptions>
                                <wsdlOption>
                                    <wsdl>${basedir}/src/main/resources/wsdl/OQ2Info.xml</wsdl>
                                    <extraargs>
                                        <extraarg>-p</extraarg>
                                        <extraarg>test.ws.bind.oq2</extraarg>
                                        <extraarg>-verbose</extraarg>
                                    </extraargs>
                                </wsdlOption>
                            </wsdlOptions>
                        </configuration>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>


I will get exception after I execute mvn clean install :
[ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:3.2.6:wsdl2java (generate-sources) on project test: 
Execution generate-sources of goal org.apache.cxf:cxf-codegen-plugin:3.2.6:wsdl2java failed: 
file:/F:/workspace/test/src/main/resources/wsdl/oq2_ws.xml [32,7]: 相同名稱 "test.ws.bind.oq2.Exception" 的類別/介面已在使用中. 請使用類別自訂項目以解決此衝突.
[ERROR] file:/F:/workspace/test/src/main/resources/wsdl/oq2_ws.xml [27,7]: (與上述錯誤有關) 另一個 "Exception" 從此處產生.
[ERROR] file:/F:/workspace/test/src/main/resources/wsdl/oq2_ws.xml [32,7]: 兩個宣告導致 ObjectFactory 類別發生衝突.
[ERROR] file:/F:/workspace/test/src/main/resources/wsdl/oq2_ws.xml [27,7]: (與上述錯誤有關) 此為另一個宣告.
[ERROR] file:/F:/workspace/test/src/main/resources/wsdl/oq2_ws.xml [35,13]: 兩個宣告導致 ObjectFactory 類別發生衝突.
[ERROR] file:/F:/workspace/test/src/main/resources/wsdl/oq2_ws.xml [29,11]: (與上述錯誤有關) 此為另一個宣告.
[ERROR]
[ERROR] -> [Help 1]



How-To
Owning to naming conflicts occur in this WSDL file, so I need to set autoNameResolution to true to resolve this problem:


            <plugin>
                <groupId>org.apache.cxf</groupId>
                <artifactId>cxf-codegen-plugin</artifactId>
                <version>3.2.6</version>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <configuration>
                            <!-- define location which CXF will generate artifacts -->
                            <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot>
                            <encoding>UTF-8</encoding>
                            <wsdlOptions>
                                <wsdlOption>
                                    <wsdl>${basedir}/src/main/resources/wsdl/OQ2Info.xml</wsdl>
                                    <autoNameResolution>true</autoNameResolution>
                                    <extraargs>
                                        <extraarg>-p</extraarg>
                                        <extraarg>test.ws.bind.oq2</extraarg>
                                        <extraarg>-verbose</extraarg>
                                    </extraargs>
                                </wsdlOption>
                            </wsdlOptions>
                        </configuration>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>




2019/08/04

[閱讀筆記] 人類大命運 (6/8)


  1. 馬克思與列寧的成功,是在於他們努力去理解當代的科技和經濟現實,他們不會把時間耗費在細讀古代文本、或沈迷於先知的預言中。蒸汽機、鐵路、電報和電力,造成前所未聞的問題,但也帶來前所未有的機會。都市無產居民已經形成一個新階級,而這些人的經驗、需求和希望,當然與《聖經》時代的農民大不相同。為了回應這些需求和希望,馬克斯和列寧研究蒸汽機如何運作、煤礦如何經營、鐵路如何塑造經濟、以及電力如何影響政治。(p.309)
  2. 科學不討論價值觀的問題,因此科學無法評斷自由主義的「自由比平等更重要」或「個人比集體更重要」這些抽象倫理判斷,究竟是對是錯;不過,自由主義的基礎同樣也有他自己深信不疑的事實聲明,但這些事實聲明就是過不了科學審查這一關。(p.318)
  3. 誰決定買豐田而非賓士、去巴黎度假而不去太過、投資南韓債券而不是上海股票?是誰下了這些決定?行為經濟學家多數實驗指出,並沒有什麼「單一的自我」做出這些決定,而是人心中有許多不同、常常還互相衝突的內在,經過不斷拉扯才決定的。(p.331)
  4. 人體內至少有兩種自我:感受的自我 (experiencing self) 及記憶的自我 (remembering self)。感受的自我沒有深刻的記憶力,不會說故事,而且我們要做重大決定時,也不會去問感受的自我有何想法。講到要喚起記憶、講故事、做重大決定,負責的是我們心中另外一個非常不同的存在:記憶的自我。記憶的自我就像記者、詩人或政治人物,不會敘述所有細節,通常只會取事件的最高潮或是最後結果來編織故事。以冷水實驗來說,記憶的自我對於時間持續多久無感,並不在意長短兩個實驗的持續時間不同,所以如果需要在兩者擇一,敘事自我會挑的是長板的實驗,因認為「水稍微溫暖一點」。(p.332)
  5. 人類都會有兩個自我:一個是「感受的自我」(expeiencing self),另一個是「記憶的自我」(remembering self)。這兩個自我在認知事物上存在著不同甚至是衝突。一方面,「感受的自我」會問自己「我此刻感受怎麼樣?」,同時體驗感受事件的每一個瞬間,獲得愉悅、無聊、焦躁和恐懼等體驗;另一方面,「記憶的自我」會詢問「我當時總體感覺如何?」它會通過回憶一些關鍵點獲得的感受(峰值和終點),忽視其他瞬間感受,以此總結事件帶給自己的體驗。然而最終,「記憶的自我」占了上風,因為它決定了我們能從體驗感受中獲得什麼。它決定了我們怎樣描述獲得的體驗感受,並指示了我們之後的行為
  6. 一位哀傷的失婚者,腦袋想著的都是自己失敗的婚姻,這全然是受到「記憶自我」(remembering selves) 的影響,事實上是,儘管最後的結果是不好的,不代表這段婚姻中全部都是不好的
  7. 這裡有個 duration neglect (對持續時間的忽略) 的 bad case,在你的經驗中會有好的部分,也有壞的部分,儘管好的部分持續的時間比壞的部分多了十倍之久,但是在你心中的權重兩者確是相等的,不會有十倍的差異
  8. 每次記憶的自我要對我們的經驗下判斷時,並不會在意時間持續多長,只會採用 peak-end rule,也就是只記得高峰和終點這兩者,再加以平均,做為整個經驗的價值。這法則對於我們所有的日常決定,都產生了深遠的影響。(p.332)
  9. 兩種自我的比較
    1. 經驗自我
      1. 是每分每秒替你過生活、活在當下的自我
      2. 如果說經驗是片段,那個記憶就是時段。記憶經過整理表達,才能形成可闡述的經歷或故事,是我們每分每秒的真實感受。
    2. 記憶自我
      1. 編織記憶、賦予意義,你所意識到的自我。片刻的經驗需要不斷的整理組合,而後合成記憶。
      2. 人的快思系統,記憶自我常凌駕經驗自我,近期或深刻的記憶,常常抹煞掉整個過程的經驗總和,偏好和決策是被記憶塑造的,但記憶有可能出錯
  10. 小兒科醫師和獸醫都很懂得使用 peak-end rule 的技巧,許多醫師會在診間裡準備零食點心,在打完針或做了什麼痛苦的檢查之後,讓孩子或小狗吃點甜食或零嘴。這樣一來,等到記憶的自我在事後回想起這次看診,最後這十秒的快樂,會足以抹去之前數十分鐘的焦慮和疼痛。(p.334~345)
  11. 許多婦女分娩時,都會經歷難以忍受的痛苦,可能會讓人以為,只要生過一次,沒有哪個心靈正常的女性會願意再來一次。但在分娩後的幾天,賀爾蒙系統會分泌皮質醇和腦內啡,紓緩疼痛、讓人感到安慰,甚至欣悅。再加上對小嬰兒的愛與日俱增,又得到來自親友、宗教和民族主義的多方讚譽,都會共謀協力,將分娩從創傷轉為正面記憶。(p.335)
  12. 記憶的自我有一把鋒利的剪刀、一隻黑色的粗麥克筆,一一審查著我們的經驗。至少有個某些令人恐懼不悅的時刻,就這樣遭到裁剪抹去,最後整理出一個有歡樂結尾的故事,歸檔存查。(p.335)
  13. 「自我」也像國家、神祇和金錢一樣,都只是虛構、想像的故事。每個人都有一個複雜的心靈,會丟下我們大部分的經驗,只精挑細選幾樣,再與我們看過的電影、讀過的小說、聽過的演講、做過的白日夢,全部混合在一起,編織出看似一致連貫的故事,告訴我們自己是誰、來自哪裡、又要去哪裡。正是這個故事,告訴我們自己該愛誰、討厭誰、該怎麼對待自己。如果情節有需要,這個故事甚至也可能讓我們犧牲自己的生命。每個人的故事也有文類,有些人活在悲劇之中,有些人上演永無結局的宗教戲劇,有些人日子過得像是動作片,也有不少人過著喜劇人生。但到頭來,一切都是故事罷了。(p.343)
  14. 生命科學認為所謂的「自由個人」也是個虛構的故事,人只是生化演算法的組合。每時每刻,大腦的生化機制都會創造經驗,但一閃即逝,接著就是更多經驗閃現、消失、閃現、消失,彼此快速相連,這些瞬間的經驗並不會累積、構成什麼永續的本質。在這一片混沌中,記憶的自我試著找出秩序,於是編織出一則永無結局的故事,讓每項經驗都能找到自己的位置,也就多少有長久的意義。只不過,雖然這讓一切合理且誘人,卻仍然只是虛構的故事。中世紀的十字軍相信,是上帝和天堂讓他們生命有意義;現代自由主義者則認為,是個人的自由選擇讓生活有意義。但不論如何,都一樣是妄想。(p.343~344)
  15. 在過去半個世紀,電腦智能 (computer intelligence) 已有巨大進展,但在電腦意識 (computer consciousness) 方面卻完全是原地踏步。據我們所知,2016 年的電腦並未比 1950 年代的電腦圓形更有意識。然而,一場重大革命已經風雨欲來。「智能」的概念即將開始與「意識」的概念脫鉤,也讓人類面臨失去經濟價值的危險。 (p.351)
  16. 軍隊和企業需要有智能的個體,才有辦法運作,但這樣的個體卻不見得需要有意識和主觀經驗。舉例來說,如果是血肉之軀的計程車司機,個人有意識的經驗絕對是比毫無感覺的無人車來得豐富。計程車司機可以一邊在首爾繁忙的街道上開著車,一邊享受音樂。抬頭望見星空,他可能感到心胸突然一片開朗,或是因為敬畏而讓他開始思考宇宙的奧秘。只不過,這一切都不是社會需要計程車司機具備的特質。社會需要的是把人從 A 點運到 B 點,而且要最快、最安全、最節省成本。就這點而言,無人車很快就能做得比人類駕駛更好,就算它不能享受音樂、也不會因為存在的奧秘而大敢敬畏,又有什麼關係呢?(p.352~353)
  17. 我們開回想一下,馬匹在工業革命後走想怎樣的命運。隨便一批農場上的馬,不論是在嗅覺、愛的能力、認人的能力、跳過柵欄的能力、或是其他上千項的事物,絕對都遠高於史上首款平民汽車福特 T 行車、或是價值百萬美元的藍寶堅尼跑車。然而,馬匹仍然遭到汽車取代,原因就在於:汽車在社會真正需要的那少數幾項領域勝出。計程車司機也有可能會走上馬匹這條路。(p.353)
  18. 人類總對自己的情緒智能 (emotional intelligence) 洋洋得意,卻也常常受到情緒影響,出現不尋常反應。像是遇到一個憤怒的人,自己也開始大吼大叫;聽著一個充滿憂慮的人講話,自己也憂慮起來。(p.359)
  19. 綜觀歷史,就業市場可分為三個主要部門:農業、工業和服務業。在大約 1800 年以前,絕大多數人務農,只有少數人在工業和服務業。到了工業革命,已開發國家的人民就離開了田野和農畜。大多數人開始屬於工業部門,但也有愈來愈多人走向服務部門。到了最近幾十年,已開發國家又經歷了另一場革命:工業部門的職務消失,服務業大幅擴張。2010 年,美國的農業人口只剩下 2%,工業人口有 20%,佔了 78% 的是教師、醫師、網頁設計師等服務業,但等到不具心靈的演算法也比人類更會教、更會醫、更會設計時,我們要做什麼?(p.361)
  20. 人類有兩個基本能力:身體能力和認知能力。在機器與人類的競爭僅限於身體能力時,人類還有數不盡的認知任務可以做得更好。所以隨著機器取代單純操作性的工作,人類變轉向專注在需要認知技能的工作。然而,一旦演算法也比人類更能記憶、分析和辨識各種模式,會發生什麼事? (p.361)