跳到主要內容

電腦的下一聲「心跳」:當 Prompt 取代 CPU 時脈,成為未來的驅動力

電腦的下一聲「心跳」:當 Prompt 取代 CPU 時脈,成為未來的驅動力

許多人看著現在的 ChatGPT,覺得 AI 已經發展到極致了。但在我看來,這根本「龍蝦不夠」

為什麼?因為現在的 AI 就像一隻只有神經反射的生物,你戳牠一下,牠才動一下。要理解未來電腦真正的樣貌,我們必須先回到電腦最底層的運作邏輯:它究竟是怎麼「動」起來的?

從無意識的物理脈搏說起

想像一下,你桌上那台沒有開著任何視窗、看似正在「發呆」的電腦,它真的靜止了嗎?

其實並沒有。在它冰冷的機殼底下,有一個極其微小卻關鍵的零件——晶振(Oscillator),正以每秒數十億次的頻率瘋狂跳動著。在電腦科學中,這被稱為 「時鐘週期(Clock Cycle)」

你可以把它想成是電腦的「心跳」或「節拍器」。不管你有沒有在用電腦,這個節拍器都在無意識地、盲目地跳動著。只有當節拍響起,電腦裡的高低電壓才會切換,資料才會流動。所有的運算與系統背景服務,都建立在這個永不停止的物理脈搏之上。沒有這個心跳,電腦就是一塊死鐵,它不會自己運作。

目前的 AI:擁有超級大腦,卻沒有「心跳」

回過頭來看當今最紅的大語言模型(LLM)。你會發現目前的 AI 其實有個致命的缺陷:它極度被動。

目前的 AI 就像是一個擁有全宇宙知識的超級大腦,但它被鎖在一個暗房裡。除非你主動敲門,丟給它一個 Prompt(提示詞),它才會醒來回答你的問題,然後——再次陷入死寂。

如果你不輸入 Prompt,它就永遠不會運作。它沒有那種持續推動自己前進的心跳。需要人類手動不斷去「點火」的系統,本質上與 Clock Cycle 截然不同。

未來的電腦:由 Prompt 不斷自我驅動的系統

那麼,未來的電腦系統會長什麼樣子?我認為,未來的電腦將會自己產生 Prompt 來驅動自己,就像 CPU 的 Clock Cycle 一樣。

未來的作業系統一開機,內部就會啟動一個永不停止的「語義迴圈」。Prompt 將取代傳統的時鐘週期,成為系統的新心跳:

  • 1. 系統自省(產生第一個 Prompt): 「現在的環境狀況如何?使用者今天有什麼既定目標?」
  • 2. 意圖分發(驅動下一個 Prompt): 「發現有幾封重要信件,我需要呼叫負責排程的虛擬助理去處理。」
  • 3. 助理協作(Prompt 互相激盪): 不同的自動化助理在背景不斷互相發送指令、確認進度。

就算你一整天都沒碰鍵盤,你的電腦內部依然透過無數個自動生成的 Prompt,無意識且持續地在幫你爬梳資料、推進專案。這時的 Prompt,已經變成了推動系統運轉的「語義齒輪」

全新的硬體指標:從 GHz 到 1G prompt/sec

當驅動電腦的底層動力發生改變,我們衡量電腦強弱的標準也將徹底翻轉。

過去五十年間,我們去評估一顆 CPU,看的是核心數時脈頻率——例如 4 核心、3.2GHz。我們追求的是物理層面極致的振盪速度與平行處理能力。

但在未來,當系統是由 Prompt 的自我生成來推進時,規格表上的數字將會變成全新的樣貌。未來的旗艦級電腦標榜的可能不再是 GHz,而是:
「雙 LLM 架構,運算效能達 1G prompt/sec」

「雙 LLM」代表著語義處理的平行核心(例如一個負責底層邏輯排程,一個負責高階語義生成);而「1G prompt/sec」則代表了這台電腦每秒鐘能產生並消化多少次「語義心跳」。

結語:從「物理算力」到「自主意圖」的躍遷

我們正在見證一個計算機科學的斷代史。從依賴石英晶體震盪的 Clock Cycle,走向由大型語言模型自我對話所產生的 Prompt 循環。

未來的電腦不需要你一直下指令,它會用極高頻率的「語義心跳」,活出它該有的樣子。

留言

這個網誌中的熱門文章

HTML, CSS, 相對視窗或螢幕的高度與寬度

在 w3school.com 網站, CSS Units 有各種與寬度的表示法 以我使用的頻率來排序: px: 使用螢幕幾個像素(但是還要考慮Retina螢幕像素是一般螢幕像素的兩倍) %: 相對父層的大小比例 vh, vw: 相對於瀏覽器展示網頁區域的大小(不是整個瀏覽器的大小,沒包含瀏覽器的工具列,只有展示網頁的區域) vmin: vh, vw取最小值(另外還有vmax則是取最大值,但是目前IE跟safari不支援) px 與 % 很常用, vh , vw 與 vmin 是CSS3的新產物,表示相對瀏覽器展示頁面的大小 相對視窗大小 這邊先說明, vh , vw 與 vmin 只包含網頁顯示區域的長寬,不包含瀏覽器的工具列 先從dom的最根本講起好了,一份HTML文件,根是 <html></html> (雖然沒有嚴格規定,不寫也能顯示),然後這個根的父元件就是瀏覽器的網頁頁面顯示區 因此,如果對 <html></html> 宣告大小是 100% 就跟宣告 100vh 一樣,因為都是指瀏覽器的網頁頁面顯示區大小 這個範例是將html設定為100vh <html style="height: 100vh"> <head> <script src="https://code.jquery.com/jquery-1.11.1.min.js"></script> <script type="text/javascript"> console.log($('html').height()); </script> </head> </html> 這個範例是將html設定為100% <html style="height: 100%"> <head> <script src="https://code.jquery.com/jque...

陣列洗牌程式(shuffle array)

陣列如何把它的順序打亂,作出類似洗牌的效果,我一直都很頭痛,搞得非常的複雜。至從用了Ruby,Array物件包含 shuffle 方法之後,我就沒思考過陣列洗牌的問題了,反正Ruby幫我處理得好好的。 Ruby # 52張牌的牌堆 poker = (1..52).to_a # => [1, 2, 3, ... , 52] # 洗牌打亂 shuffled = poker.shuffle # => [22, 32, 12, ... # 也可以直接打亂原來的陣列 poker.shuffle! # => [39, 47, 3, ... Javascript Javascript我就頭痛了,我得自己寫洗牌的方法。我在網路上找到了這個演算法,仔細看了之後,才知道原來洗牌可以這麼簡單: // 原本for迴圈是一行程式,太難理解,這邊改寫成多行 function shuffle(o){ for(var j, x, i = o.length; i;){ j = Math.floor(Math.random() * i); // javascript的array是0-base // 所以迴圈第一次進入,--i後表示陣列最後一個位置。 x = o[--i]; o[i] = o[j]; o[j] = x; // 以上三行代表以x為temp, o[i], o[j]做交換 } return o; //回傳陣列,我一開始也看錯看成回傳0 }; 變數說明 引數o: 將被洗牌的陣列 for迴圈內 i : 將會從陣列的最後一個位置,慢慢往前移到第一個位置(但移到第一個位置時for迴圈不執行,因為Javascript的數值0也代表false,會離開迴圈。0代表flase這點跟Ruby不一樣) j : 將會被亂數選擇,選到要被交換的位置 x : 用來暫存o[i]的數值,幫助o[i]與o[j]做數值交換 就這樣從最後一個位置開始,依次往前隨機挑選一個位置與它交換(可能挑到自己,表示不交換),來達到洗牌的效果,陣列多大,就執行幾次,時間複雜度 O(n) ,...

安裝zsh + oh-my-zsh 出現 /usr/bin/env: zsh: 沒有此一檔案或目錄 (/usr/bin/env: zsh -: No such file or directory)

zsh 跟 oh-my-zsh 安裝完,可能會出現類似下面錯誤訊息,雖然他沒任何影響,不過我總覺得怪怪的 # 中文系統 /usr/bin/env: zsh: 沒有此一檔案或目錄 # 英文系統 /usr/bin/env: zsh -: No such file or directory 通常會出現這類的訊息,都是指令找不到。 這邊指zsh這個指令找不到,試試看輸入 which zsh 看看是不是沒有把zsh這個加到 $PATH 裡面,沒有的話加入就好了。 如果加入了一樣找不到,我trace了一下zsh的執行過程,通常都是跟 oh-my-zsh 的安裝順序錯了的時候才會發生。 這時編輯家目錄底下檔案 vim ~/.zshrc ,會看到 # 他先執行了oh-my-zsh.sh source $ZSH/oh-my-zsh.sh # 然而oh-my-zsh.sh已經在使用zsh這個指令了 # 這裡才把宣告路徑,所以當然zsh指令找不到 export PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/bin:/root/bin:/usr/local/bin" 這時就把它們兩個對調一下就好了 # 像這樣把 export PATH 放到 source $ZSH/oh-my-zsh.sh 上面 export PATH="/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/bin:/root/bin:/usr/local/bin" source $ZSH/oh-my-zsh.sh # 這樣oh-my-zsh.sh裡面就可以用zsh指令了 存檔後,登出再進來,他就可以正常使用zsh指令,不再出現這種錯誤訊息了