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

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 語言沙盒嵌入到任何語言的這種想法,變成可行的選項。

蒼時弦也蒼時弦也

Kobako:打造 AI 時代的沙盒

開始 Kobako 的開發已經有幾個月的時間,接下來也會在 COSCUP 分享這個專案,因為過程非常有趣,我認為很適合做一系列的更新,來介紹我怎麼開始「打造 AI 時代的沙盒」

到這篇文章撰寫為止,已經有 20 個左右版本發布,接下來我會盡可能按照時間順序,分享 Kobako 的演進,以及過程中做的決策。