跳至主要內容
蒼時弦也蒼時弦也

給 AI 寫程式後,有什麼消失了?

週末在評估 Tsuzuri 的前端框架該從 Stimulus 換到哪一套時,為了維持整體的輕量,評估過程中我打開了 Svelte 的教學文件,沒想到全程禁止複製貼上,倒是久違的手寫了一遍程式。

花一小時左右手寫後,我對於 Svelte 用很精簡的語法實作許多功能感到讚嘆,也開始思考讓 AI 實作時,還能找到這樣的驚喜嗎?

蒼時弦也蒼時弦也

Tsuzuri:AI 時代又再做一個字幕編輯器,是在重複造輪子嗎?

近期我印象最深刻的,是 YouTuber 壹加壹開發的 What’Sub 這套字幕工具,大多數情境只要有人需要處理影片字幕,我通常會直接推薦。

然而,時間往回推半年前左右,朋友來問我「有沒有辦法做逐字稿?」「有辦法對逐字稿做翻譯嗎?」的問題時,都有一個前提「不能用雲端」這就讓市面上大多數選項無法使用。

這個時代很棒的一點,就是 AI 讓任何人都能針對自己需求客製化,而 Tsuzuri 剛好在這樣的背景下誕生。

蒼時弦也蒼時弦也

Sumitsubo:把規格做成 Linter

開發 Kobako 的過程到中後期,一直讓我對於「規格有沒有對齊」這樣的問題困擾著我。理論上規格驅動開發(Spec-Driven Development)是很理想的,但語言模型本身就不是確定性的設計,即使有規格參照也還是會偏移,或者遺漏。

因此 Sumitsubo 這個專案就在最近被設計出來,作為一個通用的檢查工具。

蒼時弦也蒼時弦也

Kobako:WebAssembly 的記憶體交換

前幾篇說明了選擇 MessagePack 的過程,然而使用 WebAssembly 還要能夠互動,跟原生的套件互動方式有一點不太一樣。

理由是我們要打造的是沙盒(Sandbox)來隔離不安全的程式碼,這表示操作基本上是接近單向的,在沙盒中執行的程式,是不能碰到任何宿主(Host)的記憶體,那麼原本預想的方法呼叫,就需要一些特別的方式來處理。

蒼時弦也蒼時弦也

Kobako:COSCUP 2026 演講後,來聊聊為什麼是 Ruby

上週末我在 COSCUP 的演講「讓 AI 接管你的應用,打造微秒級無縫的 Ruby 安全沙盒」分享 Kobako 設計過程中的一些考量,後續的提問被問到在 AI 時代不太需要考慮語言時,為什麼要選 Ruby 呢?

簡單地回答,單純就是「我喜歡用 Ruby 這個語言」然而在 Kobako 的設計,還有很多更深層的考量。

蒼時弦也蒼時弦也

Kobako:從 Ruby 到 mruby

雖然是受到 ruby.wasm 的限制才選擇 mruby 來作為沙盒(Sandbox)的語言,但也不代表跟 CRuby 都使用相同的語言標準(ISO/IEC 30170:2012)就讓這個目標輕鬆實現,相比 CRuby 在 mruby 上有很多限制存在。

這是 mruby 為了能夠在嵌入式系統這類環境運作必要的取捨,相對的輕量的特性剛好也是一種 Embedded Sandbox 的優勢,我們把 Ruby 語言沙盒嵌入到任何語言的這種想法,變成可行的選項。