第四章 第十節 博宇的專案之夜
倒數第六十二天,週日,晚上九點四十分。
博宇的專案期中考在週三,但週日晚上他就已經坐在圖書館三樓的角落了。長桌上攤開的不是他平時的工程數學課本,而是幾張大幅的設計圖和一台打開的筆記型電腦。螢幕上是密密麻麻的數據表格和模擬軟體的介面,旁邊還有一杯已經涼掉的咖啡。
林芮安是第一個到的。她走進閱覽區時,看見博宇正盯著螢幕發呆,手指停在鍵盤上沒有動作。
「卡住了?」她在他對面坐下。
「嗯。」博宇回過神來,「數值模擬跑出來的結果和預期差了百分之十五。我檢查了三次邊界條件,沒有錯誤。可能是模型本身的假設出了問題。」
「需要我幫什麼?」
「你幫我看著螢幕,我把設計圖的邏輯重新走一遍。有時候自言自語會讓思路更清楚。」
林芮安點頭,把筆記本打開放在一邊,準備記錄。
博宇站起身走到白板前,開始畫系統的結構圖。他是機械工程系的,這次的專案是一個小型自動化分揀裝置的設計提案,利用視覺辨識和氣動機構,將不同顏色的物體分類到不同的收集槽裡。
「這是視覺模組,這裡是決策單元,這裡是執行機構。」他在白板上畫出三個區塊,用箭頭標示訊號流,「視覺模組辨識顏色,把訊號送到決策單元,決策單元判斷該往哪個方向送,然後驅動氣動機構把物體推過去。」
「聽起來很直觀。」
「對,直觀。但問題在於,從視覺辨識到決策判斷之間,有一個時間延遲。如果物體移動速度太快,到達執行位置的時候,判斷結果才剛出來,就會錯過。」
「所以你模擬的百分之十五誤差,來自於時間延遲?」
「百分之十五是總誤差,但時間延遲可能是最大的來源。我原本假設視覺處理時間是固定的,但實際上它會因為物體表面的光線反射差異而波動。當波動累積到一定程度,執行機構的動作就會落後。」
林芮安低頭記下:「時間延遲的累積效應。系統內部變異導致輸出偏移。」
她抬起頭:「那有沒有辦法讓視覺模組和執行機構之間有一個緩衝?比如讓決策單元提前預測?」
「提前預測……」博宇沉思了一下,「那就是加入預測控制。根據物體過去的運動軌跡推測它的位置,而不是等到它到了才判斷。但預測本身又有誤差,需要一個回饋機制來修正。」
他在白板上又加了一個方塊,寫上「預測補償」。
「如果預測補償模組的參數調對了,誤差可以縮小到百分之五以內。但如果調錯了,反而會放大誤差。」
「那你有辦法測試嗎?」
「有,但需要有人幫我同時操作模擬軟體和記錄數據。一個人來不及切換畫面。」
「我可以。」
第二個到的是魏凱倫。他進來的時候,看見林芮安正在幫博宇記錄模擬數據,博宇調整一個參數,她就在筆記本上記下對應的輸出誤差。兩個人配合得很流暢,像一組運行中的儀器。
「需要第三雙手嗎?」魏凱倫放下書包。
「需要。」博宇頭也沒抬,「你幫我看設計圖的機械結構有沒有干涉問題。我擔心氣動機構的行程和視覺模組的安裝位置會互相影響。」
魏凱倫走到設計圖前,拿出一把尺子和一支鉛筆,開始逐一比對尺寸。他的動作很慢、很仔細,像在讀一份古代文獻,從每個標註的數值出發,推測設計者的意圖,再檢查是否有彼此矛盾的地方。
二十分鐘後,他抬頭:「行程設計沒有干涉問題。但你這裡有一個標註公差。」他指著圖上的一個數字,「正負零點五毫米。如果實際加工的誤差超過這個範圍,視覺模組的視角會被遮擋一部分。你可能需要預留更大的安全間距。」
博宇走過來看了看:「你說得對。我原本是為了讓系統更緊湊,把間距壓縮了。但如果考慮加工公差,確實應該放寬。這可以修改。」
「需要幫你畫修改後的版本嗎?」
「如果不會太麻煩的話。」
「不會。」
第三個到的是江芊羽。她進門時手上提著一個紙袋,裡面是熱騰騰的紅豆湯,她母親煮的,她用保溫瓶裝了滿滿一壺。
「進度怎麼樣?」她把紅豆湯放在桌上。
「正在同時解決三個問題,」博宇說,「數值模擬誤差、設計圖公差、還有~」他指了指自己的太陽穴,「這個快要過熱的處理器。」
「那就先中場休息。」江芊羽倒出五杯紅豆湯,把其中一杯推到博宇面前,「喝點熱的,讓大腦重開機。」
博宇看著眼前的紅豆湯,像是突然想起來自己已經連續工作四個小時沒有離開座位。他端起杯子喝了一口,燙得縮了一下舌頭,但沒有放下。
「……好喝。」
「當然好喝。我媽的招牌。」
十分鐘的休息時間裡,五個人圍坐在長桌一角,喝著紅豆湯,聊著無關緊要的事。江芊羽說她今天看了一部關於太空人的紀錄片,魏凱倫補充了冷戰時期太空競賽的背景,周言軒接話分析了火箭發射的物理原理,林芮安記下了他們的對話,而博宇則安靜地聽著,臉上的緊繃線條漸漸鬆弛下來。
「好了,」博宇放下杯子,「我重開機完畢了。」
「那就繼續。」江芊羽說,「我在這裡讀小說。如果你們需要翻譯任何工程術語成中文,我可能幫不上忙,但如果你們需要有人負責在旁邊說『哇好厲害』,我很勝任。」
「那你的角色很重要。」博宇說。
「我知道。」
最後到的是周言軒。他進來的時候已經是晚上十一點了,競賽結束才兩天,但他看起來已經完全恢復了平常的狀態,甚至還更從容了一些。
「抱歉晚了。剛幫家裡處理一件事。」他在桌邊坐下,看了一眼白板和設計圖,「進度如何?需要我從物理角度檢查什麼?」
「你來得正好,」博宇說,「我有一個關於氣體動力學的問題。氣動機構的動作速度受氣壓影響,氣壓又受環境溫度影響。我想建立一個補償模型,但熱力學不是我的強項。」
「把參數給我。我幫你推導溫度補償項。」
接下來的兩個小時,圖書館的角落變成了一個多功能的協作現場。博宇在主導專案的核心邏輯,林芮安記錄模擬數據和決策過程,魏凱倫修改設計圖的公差標註,周言軒在紙上推導熱力學補償公式,江芊羽則在閱讀的間隙,時不時抬頭觀察每個人的工作狀態,然後在有人看起來疲憊的時候遞上紅豆湯或說一個簡短的笑話。
凌晨十二點五十分,博宇停下動作,往後靠在椅背上。
「數值模擬誤差降到百分之四點三了。設計圖公差已經修改完。熱力學補償公式也加進去了。現在這個系統,在理論層面上可以運作。」
「理論層面?」江芊羽問。
「對,理論層面。實際做出來之後可能還有新的問題。但至少我現在有足夠的信心去面對週三的答辯了。」
「那就值得了。」
博宇看著桌上的設計圖和電腦螢幕,又看了看身邊的四個人。「我以前做專案,都是自己一個人從頭做到尾。不是不想找人幫忙,是不知道該怎麼讓別人進來,怕打亂節奏,怕解釋太麻煩,怕欠人情。」
「現在呢?」
「現在知道了。讓別人進來,節奏會變得更穩;解釋雖然要花時間,但解釋的過程中自己也會更清楚;至於人情~」他停了一下,「我不覺得是欠了什麼,更像是在建立一種……共同的資產。」
「共同的資產,」魏凱倫說,「這個詞很好。專案是你一個人的,但解決問題的過程是我們共同的。資產不會因為分享而減少,反而會因為被更多人理解而增值。」
「所以這個專案現在是五人份的了。」江芊羽說。
「對。」博宇的嘴角浮現一個淺淺的笑容,「五人份的專案,週三去答辯。」
倒數第六十二天結束時,他們一起走出圖書館。夜風比上週涼了一些,樹葉在沙沙作響。博宇走在最前面,步伐比來的時候輕快多了。
「你們知道嗎,」他在路口停下來,「我以前總覺得,求助是一種弱點。但這幾個小時讓我發現,求助其實是一種能力,你要先知道自己哪裡不足,然後要信任別人能夠補上,最後要願意接受幫助。每一步都不容易。」
「但你做到了。」林芮安說。
「因為你們讓這件事變容易了。你們沒有等我開口,你們自己進來了。看到我卡住的時候,沒有問『需不需要幫忙』,而是直接說『我可以做這個』。」
「因為問『需不需要幫忙』的時候,對方可能會說『不用』,」江芊羽說,「但直接說『我可以做這個』的時候,對方就只需要回答『好』。」
「這是一個語言策略,」周言軒分析,「將開放式問題轉換成選擇題,降低了回應的認知負擔,也提高了接受協助的機率。」
「你每次都把我們的做法翻譯成學術語言,」博宇笑了,「但翻譯之後反而更清楚了。」
「因為那是我的方式。」
「我們知道。」
他們在路口道別,各自走上回家的路。林芮安走在安靜的街道上,口袋裡的筆記本因為被寫得太滿而微微鼓起。她想起稍早博宇說的「共同的資產」這個詞精準地描述了他們之間的狀態。
一個人的專案,經過五人份的投入,變成了更完整的東西。
就像一個人的困難,經過五人份的分擔,變得更容易承受。
就像一個人的快樂,經過五人份的分享,變得更明亮。
這就是他們這三十多天建立起來的系統,不是完美的系統,不是永遠順利的系統,但只要有人在、有人願意進來、有人可以直接說「我可以做這個」,系統就能夠自我修復、自我優化。
她走到家門口時,抬頭看了一眼夜空。雲層很薄,月光透過雲隙灑下來,在地面上形成淡淡的光暈。
倒數第六十二天。
距離出發已經過了二十九天的路程,距離終點還有六十二天。
但時間感已經變了,不再是「還要走多久」的焦慮,而是「已經一起走了這麼多」的踏實。
林芮安推開家門,母親還在客廳等。桌上放著一碟水果和一杯溫水。
「專案準備得怎麼樣?」母親問。
「很好。今天五個人一起,把主要問題都解決了。」
「五個人?」
「對。我、芊羽、言軒、凱倫、博宇。五個人。」
母親微笑:「聽起來你們找到了一個很好的合作方式。」
「我們找到了。」
林芮安走進房間,打開筆記本,在今天的頁面寫下最後一行:
「倒數第六十二天。博宇的專案之夜。五人份的投入,五人份的成果。學會了一件事:最好的幫助,不是等人開口,是直接走進來,說『我可以』。」
她合上筆記本,熄燈。
窗外的月光靜靜地照進來,在桌面上鋪開一層銀白色的光。
明天還有新的問題要解決,但今晚,系統已經完成了它的一次更新。
而且這次更新,是在協作中完成的。