-
規格導向 (SDD) AI 輔助 (Vibe) 軟體開發
昨天在 reddit 的 LLM 板更新自己的 AI 知識,我有些脫節了,去看看大家現在在玩什麼。才沒看幾篇就撈到寶 – 自行架設的 AI 寫程式代理 (self-hosted AI coding agent). 就是在本機的電腦上運行阿里巴巴開放的 LLM – 千問 (qwen) coder,再使用 qwen-code 的 AI coding agent 就能叫 AI 快速生成、修改 (vibe coding) 本機的程式碼!不用付費使用諸如 Anthropic Claude Code, OpenAI Codex CLI, Google Gemini CLI 等 coding agent 服務。 我照著網友的教學,很快就在本機架好 LM Studio + Qwen 3 Coder LLM + qwen-code…
-
再拿證照😄 – Oracle Data Platform 2025 Certified Foundations Associate
這張是資料工程的證照。這領域對我來說頗有難度的,因為一來我不是學資訊工程、資訊管理出身的。二來課程內容非常硬核,探討非常細,如一台資料庫伺服器要放哪、要用什麼規格、要怎麼管理、有多少功能、有幾種授權、安全性、高可用性、…。還有資料管理領域知識(我的知識盲區),如結構、少結構、無結構資料適合的資料庫、OLTP 與 OLAP 的各自優勢、…。 我的分數是低空過關,就不貼出來了😅 不過我覺得這張證照也很不錯,有學到很多東西,並且與 AI 資料處理有相關,未來也許用得上。
-
RAG 打造你專屬智能 LLM
Retrieval augmented generation (RAG) 這項技術是我 4 天前(10/11)在考 OCI AI 證照課時所學到的一項技術,不過我當時只學觀念,並沒有實作、不也懂得如何做。 昨天在滑手機時,意外看到一篇文章在推廣 RAG 的教學,而且講者還是一位研究生,真是英雄出少年啊。我自忖不是學 AI 出生,可能要跨進 AI 的領域不容易,想分一杯 AI 𡙡可能不行 但我想起過去初見現代 AI 強大時,所下的評語:現代 AI 輔助能讓非專業人員降維打擊人類專家! 所以我就用 ChatGPT 寫了一支 RAG LLM 的智能客服 app,大約不到幾分鐘就寫好了!好在我過去也有學一些現代 AI 工具/技術,所以會調校這個 AI 程式。調了 1 天,總算得出一個自己滿意的作品。 圖片 demo 我的作品,它是一款”智能客服”,可以輸入問題,後端 Python 程式會利用語意相關性從技術支援 DB 抓相關資料,再使用 Deepseek-R1 LLM 對問題及相關資料作出答覆。 我覺得這作品仍只是”玩具”等級,不足以成為商用產品,仍須大量驗證生成內容的準確度。不過已讓我跨進學 (AI) 以致小用的門檻了 程式碼在此: https://github.com/MrMYHuang/demo_rag.git
-
取得 Gemini Certified Educator 證照
朋友推薦考的 Google Gemini Certified Eudcator (AI) 證照。 從看到訊息,到考取證照,大約花了 3 小時。不過我之前慣用的 AI 不是 Gemini,所以答題沒有很快,不過最後還是通過了 考照網址:https://educertifications.google/
-
取得 OCI 2025 AI Foundations Associate 證照
又拿到證照了 – Oracle OCI AI Foundations Associate 這次拿的是 AI 證照,分數還不錯,98 分。我拼了 1 天的時間看教學影片,然後只做完模擬考題,就直接正式考試。 我覺得這課程還不錯,有很廣泛的介紹目前的 AI 技術,與淺顯的解釋各種 AI 技術的原理。不過也有很硬核的技術內容(要考的人不要因此昏了頭),及 Oracle 自家的 AI 產品(推銷!?) 想考的人可以到這: https://mylearn.oracle.com/ou/learning-path/become-a-oci-ai-foundations-associate-2025/147781
-
取得 OCI 2025 Certified Foundations Associate 證照
記錄昨天花了一天時間考的 Oracle 雲端基礎證照。 是免費的線上考試,可能含金量不高,但擁有它,多少可以騙吃騙喝(!?) 我打算再多考幾張。
-
LLM AIs 與廣大軟體的連結 – MCP
近來我常看到 AI 領域一直出現一個名詞 – MCP (model context protocol)。起初看到時,只有稍微查了一下,沒看懂就沒再研究下去😅 但這名詞卻一再出現,再次引起我的好奇研究了一下。這次我終於了解 MCP 的一些價值所在。我先不從 MCP 的運作面來看,而是從實際的問題面來看它的價值。 過去大家在使用 LLM 的 AIs,如 ChatGPT, Gemini, Claude, …, 所能做的應用僅限於這些廠商有提供的。比如在 ChatGPT 輸入提示詞,可以請它創作、寫程式、畫圖,頂多還有一個 GPT Store 可以在其中找許多特定應用,但它們的應用仍限於 ChatGPT 所建立的封閉生態系,難以擴展”更廣”的軟體應用。 那我說的”更廣”有多廣?我今天了解 MCP 後才知道它能觸及多廣的軟體!基本上目前能與任何桌機程式或遠端程式都能串連(手機、平板較為封閉,可能還不行)。 比如寫了一支氣象程式,並且實作 MCP server,使用者就可以透過 LLMs 用自然語言去控制它。比如請它查某地的氣溫。我舉這個控制”氣象程式”沒什麼實用價值(因為我暫時想不到更有創意的😅 如果我想到了,我也不會講,先自己開發出來再說😆),但只是要說明 MCP 帶來的軟體串聯功用。至於 LLM AIs 串什麼軟體工具,能達到驚人的創舉,就看大家的創意。如果我想到了,我就先去發財了!?😆 MCP 本身不是什麼高深的程式技術,但它的重要性在於連結 LLM AIs 與廣大的軟體工具。它的誕生也多虧於現今足夠智慧的 LLMs。現今 LLMs 懂得如何使用軟體工具,它可以將你的自然語言轉換成 MCP servers 懂的操作語言,執行指定的軟體! LLMs…
-
強化學習 AI 玩遊戲
最近 AI 很紅,紅到在 YouTube, Podcast 上三不五時就來個 AI 主題。為什麼 AI 這麼迷人?因為 AI 可以透過學習,模仿人類,如演講、繪圖、寫歌、…。如果模仿的準確度高的話,就可能取代人類😱🥲 – 人工作會累容易出錯,機器幾乎不會。 AI 浪潮來襲,雖然我只是個門外漢,但多少也想分杯羹😆看見 YouTube 上有些專家在分享如何”行雲流水”般的用 AI 輾壓式的解決一些問題,如寫 AI 程式玩遊戲,結果 AI 練到遊戲關卡一個個被完全輾壓😱 而我感覺到這”行雲流水的操作”就很有意思了,它似乎透露要寫這麼一個 AI 程式,現有的網路資源比以前容易取得、達成目的!因此我覺得我應該也能在幾天的時間內寫出一支 AI 程式,為自己開闢能設計 AI 以解決問題的能力。 我參考的一部 YouTube 影片教學是寫強化學習 (reinforcement learning, RL) AI 玩遊戲。雖然影片略過一些細節演算法與實作,但大致上是利用 ChatGPT 生成一支 Python pygame 的遊戲原始碼,再用 ChatGPT 生成一支 Python OpenAI gym 的 RL 樣版程式碼,再將兩者接起了以達成 AI 自我學習玩遊戲的訓練程式。 我也依樣畫葫蘆先用…
-
AI 寫程式 – 照片投影機
最近參加了一場兒童營活動,活動快結束時有一環節是當日活動回顧。攝影大哥在電腦上執行了一支 app,將當日所拍照片用投影機播放出來,同時播放背景音樂。我不清楚那支 app 是怎麼做的,但它激發我一個靈感:通常要將多張照片做成一個個播放的影片是要花一些時間作影片編輯、輸出。但遇到要當日回顧的情形,就要趕著做影片。所以如果能簡單將需要播放的照片、音樂丟到電腦的一個目錄,再用一支 app 讀取目錄、播放,就可以免去趕時間做影片。 我原本搜尋有沒有這種 app,但沒找到理想的,有些只能播照片、再手動播音樂。既然沒有,只好自己寫一個但萬事起頭難,要用什麼程式方法快速達成目的?我沒什麼頭緒。後來我想到最近很紅的 AI,就把需求輸入給 Bing Chat,果然輸出不錯的原型設計 (prototype)。我們可以提示 Bing Chat:功能需求、要用什麼語言寫、要用什麼軟體框架寫、要用什麼套件寫。Bing Chat 幾分鐘就能輸出結果。由於我們輸入的提示有時難以精確,可想而知 AI 也無法因此輸出相應的部分,因此這種輸出只是原型設計。但原型設計就很有價值了,只要我們輸入 AI 的提示將主要部分描述清楚,剩下一些未輸出的小細節再手工實作就行! 最終我以 Bing AI 生成的原型 app,再經由我的手工雕刻完成了一款”照片投影機” web (PWA) app: https://myhpwa.github.io/photo-slideshow/ 支援 Windows, macOS, Linux, Android, iOS. 原始碼: https://github.com/MrMYHuang/photo-slideshow (實測 Bing Chat 有時會拒絕幫你寫程式,可能是跟微軟自家的 GitHub Copilot AI 寫程式付費服務衝突。目前可以多試幾次重新與 Bing Chat 對話,有時就會吐出程式碼)
-
為什麼有些分散式計算要求奇數節點?
我是個業餘研究分散式計算的門外漢😅。踏入這門領域,遇到許多不解的規則,其中一項就是標題寫的:為什麼有些分散式計算要求奇數節點?今天找到一篇文章讓我豁然開朗:https://etcd.io/docs/v3.3/faq/#why-an-odd-number-of-cluster-members 首先要釐清是哪些分散計算?我把分散式計算分兩類:一類是追求高效能、各節點可獨立平行運作的計算(簡稱高效能),比如用多個節點服務多個獨立資料計算的使用者請求。另一類是追求高可靠度、運作結果有相依的計算(簡稱可靠度)。而原問題是指高可靠度。 許多高可靠度分散式計算應用軟體,如 etcd, RabbitMQ (quorum queues), 要求叢集中的節點數設定為奇數,為什麼?首先這類軟體是利用節點數的「多數」, floor(n/2) + 1, 作為某項可靠度的依據,如選出領導節點。以 n = 3 為例,多數為 2,也就是容錯為 3 – 2 = 1 個節點。那麼再多加 1 個節點會怎樣?就是 n = 4,多數變為 3,但容錯仍為 1 = 4 – 3. 所以 3 節點與 4 節點相比,4 節點不但沒增加容錯能力,反而增加達成多數的難度 ( 2 vs 3 )。因為多加的節點也可能出錯,能導致原本只錯 1 個的叢集再多 1 個錯,反而不能達成多數!因此用偶數節點的叢集不比減一的奇數來得好。 另外高可靠度分散式計算有一點與高效能也很不同。高效能是節點數愈多,效能愈好。但高可靠度往往是節點數愈多,要花更多時間作節點間的資料交換才能計算出多數,因此效能反而變差!所以高可靠度叢集要在可靠度與效能間作取捨。