以前一直沒學 AI,不是沒有興趣,也不是沒時間,只是心裏一直有把聲音對我說:
AI 技術這麼新,一定要學很久吧?
我現在的工作也用不到 AI 啊!
等真的需要時再學也不遲吧!
結果,2-3 年過去了,這想法依然只是個想法。
最近終於有點空閒(也不是完全空啦,只是寶寶睡著時有點時間),照著一段 YouTube 教學動手做,在本地環境跑起了 Open Source LLM (Large Language Model),寫了一個小小的 RAG (Retrieval-Augmented Generation),還真的可以根據文件內容回答問題呢!
說實話,好像沒想像中那麼難。
(也可能因為我只在 App 層面嘗試,而不是去訓練模型😅)
當然過程中也遇到些挫折,比如說我的顯卡只是 GTX 1660 Ti,要幫一整個網頁做 Embeddings, 簡直是跑到天荒地老。
但至少我踏出了第一步,下一步,我打算挑戰開發 AI Agent。
這次體會很深的是:
很多事不是太難,只是想太多讓它變得很難
是拖延,還是風險管理?
我開始回想自己為什麼會拖這麼久。
在職場上,管理層常說:
在專案開始前,我們必須要了解並盡可能掌控風險
時間夠不夠、人手足不足、團隊對技術熟不熟、需求會不會變動…
這些都是在開發前該做的功課,先列出風險,再擬定應對策略。
這叫風險管理。
問題是:
我們是不是有時候把風險管理當作是拖延的籍口呢?
我任職軟體工程師 9 年期間,經手的專案不下 20 個,坦白說無論前期功能做得多「完美」,幾乎所有專案都會遇上延遲、客戶對質素不滿、甚至胎死腹中的情況。
記得第一份工作有次代表公司跟客戶討論系統需求,當時專案採用 Waterfall 模式,花了整整兩個月跟客戶反覆確認需求、設計、UI,甚至連一顆按鈕要放到哪個角落都講清楚,及後把所有都記錄到文件上,雙方簽紙作實才開始開發。
結果?
專案延遲了半年交付(原本預期一年開發),而且因為另一家公司也在同時開發與我們對接的系統,開發到中期才發現接口不相容,於是又是一輪開會、修改設計、再走一輪審批流程。
還好我知道客戶最少會用這系統 2 年,否則像市面上一些軟體用幾個月就被換掉,被別人知道我們開發時間比實際使用時間還長,真的會被笑掉大牙。
話雖如此,我從來不覺得開始這些專案是錯的,因為:
開始,才有機會邁向成功
不開始,想法永遠只是想法
這道理,無論是在工作、副業,還是個人發展,都是一樣的。
25 歲的我才開始學鋼琴
話說我 25 歲才開始學鋼琴,原因很簡單:
當時我的女朋友(現在的老婆)喜歡,我想彈首她喜歡的歌給她聽
剛開始時我沒有告訴身邊的朋友,因為我怕他們覺得我在浪費時間,別人中小學就考到 8 級,我 25 歲才開始學,一來學費貴,二來要花很長時間練琴才能彈好,不如多打一份兼職賺錢還比較實際。
結果我一學就是 5 年(雖然移居加拿大後荒廢了🤦🏻♂️),考了個皇家二級,平時練的是四級左右的教材。
另外值得一提的,就是寫電子報。
開始之前我總是想:
沒有新話題怎麼辦呢?
真的會有人想看嗎?
生活已經夠忙了,我又怎能每週抽空寫字呢?
還記得在發出第一篇電子報時,沒有讀者,沒有自我介紹頁,沒有歡迎內容,這些都是我邊做邊發現,慢慢才補上的。
雖然現在讀者不算多,但我知道不開始的話,這永遠只會是我的想法。
人生很多時候就是這樣:
你以為晚了,其實只是未開始而已
職場小挑戰
我相信你也有很多想做但還沒開始的事情,不管是轉職、寫作、經營副業、學新技能、報線上課程…
如果你也在等一個最好的時機,我告訴你,最好的時機就是你看到這段話的現在。
你不是一個人,我也是從只想不做走到開始一小步,所以你才會收到我這封電子報。
這週我想邀請你做的是:
挑一件你一直想做,但一直覺得沒時間、沒能力、或者害怕做的事。
這個星期每天設一個計時器,每天花 5 分鐘去動手做這件事。
也許你會發現 5 分鐘後你會繼續想做下去,難的,只是推動自己去開始那一步。
如果你是對在本地環境跑 LLM 開發 RAG 的話,以下影片是我看的教學,一個小時左右就能建一個簡單的 RAG,是學習寫 AI App 的一大步。
而關於這課題,我亦會在《打工仔也想學 AI》系列中詳細分享,敬請留意!