所有文章

開發現場與生活趨勢的實戰筆記

文章從實作、測量與公開資料出發。你可以依主題瀏覽,先找到問題的答案,再回到原始來源繼續查證。

最新文章

最新

WebMCP 會取代 Playwright 嗎?把「猜按鈕」改成網站主動提供工具

不會。Playwright 是瀏覽器自動化與測試工具;WebMCP 則讓願意配合的網站,把原本藏在介面裡的能力主動宣告成結構化工具。兩者解的是不同層次的問題。

閱讀文章

生活與趨勢

從台灣交通、熱門產品到大型賽事與旅行季節,整理會影響當下選擇的資料與限制。

取消兩段式左轉,事故反而少了 21%?台南實驗真正證明了什麼

2026 年一篇運輸研究分析台南逐步取消機車強制兩段式左轉的路段,估計事故件數下降 21%、受傷人數下降 19%。這組數字很適合做標題,也最容易被讀成過大的結論。

閱讀文章

Owala 值得買嗎?先看 FreeSip 的優點、清潔死角與真假辨識

Owala FreeSip 爆紅的關鍵在一個很容易理解的杯蓋:同一個開口可以用吸管喝,也能抬起來大口喝,防塵蓋和提環還整合在一起。

閱讀文章

2026 名古屋亞運台灣隊指南:日期、賽程、棒球名單與轉播方式

2026 愛知・名古屋亞運將於 9 月 19 日至 10 月 4 日舉行。日本比台灣快一小時,查官方賽程時記得換算;比賽時間、參賽名單與轉播頻道仍可能在開賽前調整。

閱讀文章

2026 日本楓葉行程怎麼排?先用地區順序選日期,9 月再看正式預測

截至 2026 年 8 月 13 日,日本氣象協會尚未發布 2026 年紅葉見頃預測,tenki.jp 也寫明預計 9 月左右啟動新一季資訊。現在網路上精確到某一天的「2026 楓葉預測」,多半不是正式預報。

閱讀文章

AI 開發實戰

把 AI 放進真實開發流程的方法、框架與踩坑紀錄——從知識管理到工具鏈。

WebMCP 會取代 Playwright 嗎?把「猜按鈕」改成網站主動提供工具

不會。Playwright 是瀏覽器自動化與測試工具;WebMCP 則讓願意配合的網站,把原本藏在介面裡的能力主動宣告成結構化工具。兩者解的是不同層次的問題。

閱讀文章

AI 寫的 Code 如何不變成技術債工廠:我的 5 條 Automated CI 鐵律

AI 寫程式的速度是人類的十倍,它製造隱蔽技術債的速度也是十倍。它最擅長寫出「語法完全正確、跑得通、但裡面偷用了 any、忽略了邊界條件、還順手重刻了一個既有 helper」的程式碼。

閱讀文章

llms.txt vs AGENTS.md vs OKF:三種「給 AI 的 markdown」,其實在解不同問題

最近「給 AI 用的 markdown」冒出一堆:llms.txt、AGENTS.md、CLAUDE.md、OKF。它們常被當成同一類東西,於是有人問「有了一個,其他就不用了嗎」。

閱讀文章

我把 repo 做成 OKF bundle,讓 AI agent 不再失憶,卻差點讓我漏掉一個 bug

這個網站是我和 Claude Code、Codex 一點一點做出來的,但每次開新 session 都是冷啟動,它們不知道前面發生過什麼。我用 Google 的 OKF(Open Knowledge Format)把 repo 的「腦」整理成一份結構化 Markdown 知識庫。

閱讀文章

OKF vs RAG vs 向量資料庫:差在哪,什麼時候用哪一個

「OKF 取代向量資料庫」這種說法容易讓人混淆,因為它把三個不同層次的東西放在一起比較。OKF 是知識的格式,RAG 是取用知識的工作流,向量資料庫則是其中一種檢索基礎設施。

閱讀文章

RAG 為什麼會踩坑:chunking 破壞結構、向量檢索的不確定性,還有同步惡夢

RAG 在 demo 裡往往很順;碰到結構化、持續更新、關係複雜的知識,就開始出問題。真正麻煩的地方多半不在模型,而在檢索這一層。

閱讀文章

OKF bundle 怎麼寫:一個目錄、三條規則、一個最小可跑範例

OKF 的規格刻意極簡:一個目錄的 markdown、YAML frontmatter、三條規則,就這樣。這篇用一個最小可跑的 bundle 帶你走一遍。

閱讀文章

OKF + RAG 一起用:給 AI agent 一張地圖,再給它一個搜尋

比較完三者後,真正需要處理的是怎麼把它們組起來。最實際的架構分成兩層:OKF 當來源層,向量/RAG 當檢索層。

閱讀文章

付了錢,App 卻說我是免費方案:訂閱狀態同步的雙路徑設計

訂閱制最傷的瞬間:使用者剛付完錢,回到 App,畫面上寫著「免費方案」。錢已經扣了,權益還沒到。這不是購買流程的 bug,是狀態同步的架構問題。

閱讀文章

排程跑 AI Agent,我踩過的三個坑:exit 0 不代表成功

手動跑一百次都過的 AI agent 腳本,掛上 launchd 排程之後第一晚就死了。而且不是報錯的那種死——是印了錯誤訊息、然後回傳 exit 0 的那種。

閱讀文章

幫沒有 API 的產品做 API:瀏覽器自動化的可靠性工程

NotebookLM 沒有公開 API,我用瀏覽器自動化幫它做了一個,發到 PyPI。第一版只花一個週末跑通,接下來兩個版本都在補可靠性。

閱讀文章

房間代碼就是伺服器位址:我做了一個即時多人遊戲,沒寫配對服務也沒開資料庫

一個五人連線的阿瓦隆,傳統做法需要配對服務、狀態儲存、WebSocket 伺服器和一個清理排程。我用 Cloudflare Durable Objects 寫完,這四件事變成了一行 idFromName 和一個 setAlarm。

閱讀文章

摘要不是知識:AI 如何判斷一個觀點值得保存、研究,還是做成產品

摘要可以把內容變短,卻沒有回答接下來該做什麼。一個看似有道理的觀點,可能只值得留下來源,也可能需要查證、公開成文,或進一步驗證成產品。

閱讀文章

Google OKF 會取代 RAG 與向量資料庫嗎?先弄清楚 AI Agent 的新知識格式

Google Cloud 推出 Open Knowledge Format(OKF)後,網路上很快出現「Beyond RAG」和「向量資料庫將被取代」的說法。其實沒那麼戲劇化:OKF、RAG 與向量資料庫處理的是不同層次的問題。

閱讀文章

AI 開發進化論:從 Prompt、Context、Harness、Loop 到 Graph

剛開始用 AI 寫程式,我把大部分力氣花在 Prompt:調整問法、補範例、指定輸出格式。等模型開始讀專案、使用工具、連續工作,一句提示詞就裝不下整個工程環境了。

閱讀文章

我為什麼不再讓 AI 一次把整個 App 做完

一開始用 AI 寫 App 的時候,我最常下的指令是:「幫我把這個功能做完。」有時候它真的做得很快,快到我覺得自己是不是找到了什麼新方法。

閱讀文章

我做了一個 Local-first AI Brain Skill,然後發現自己其實不需要 Notion AI

筆記應該在想法出現的當下就被記下來。AI 聰不聰明不是關鍵,真正卡住我的是思考和記錄被迫分開。

閱讀文章

從零到 PyPI:讓 NotebookLM 可以被程式控制

Google NotebookLM 很擅長把文件變成可互動的知識庫,但它有一個實際限制:NotebookLM 不能直接用程式控制。

閱讀文章

三大 AI 同題作答:誰最中立?誰最快?誰最偏頗?——以「迭代速度」為例的一場意外深度實驗

當我們談論 AI 工具時,往往關注功能和價格,卻忽略了一個關鍵問題:不同的 AI 模型在面對同一個問題時,會給出怎樣不同的答案?這個實驗源於一個簡單的好奇心:如果讓三個主流 AI 模型回答同一個技術問題,它們的回答會有多大差異?

閱讀文章

AI 工具與模型

模型與工具的第一手實測:誰適合放在工作流程的哪一段。

把 YouTube 連結直接餵給 Gemini:一個 API 呼叫,以及上線前要補的四件事

想把 YouTube 影片變成重點筆記,直覺做法是先抓字幕,再餵給模型。Gemini API 的 fileData 可以直接接 YouTube URL,讓模型處理影片,沒有字幕也能用。

閱讀文章

AI 多模型大戰第二回合:Gemini 3.1 Pro、GPT-5.6、Claude Fable 5、Opus 4.8,以及 Grok 4.5

上一篇文章才剛整理完 Gemini 3 Pro、GPT-5.1 和 Claude Opus 4.5,版本號已經往前跑了一大截。Google 推出 Gemini 3.1 Pro,OpenAI 來到 GPT-5.6,Anthropic 又推出 Claude Fable 5,xAI 則把 Grok 4.5 拉進戰場。

閱讀文章

只用 Google AI Pro,我可以做到什麼程度?

這是一場以 Google 工具為主的 Agentic Workflow 設計實驗。我刻意限制可用工具,想知道 Google 工具鏈真正的上限在哪裡。

閱讀文章

AI 正在悄悄重塑生活:這些不是未來,是正在發生的現象

AI 的影響不再是科幻小說中的遙遠未來,而是此時此刻正在發生的現實。我們不需要等待 AGI 或機器人管家,因為 AI 已經在日常生活的各個角落靜默地改變著我們的行為模式。

閱讀文章

AI 多模型大戰開打:Gemini 3 Pro、GPT-5.1、Claude 4.5 Opus,以及今日全球科技新知精華

AI 模型的競爭進入了新的階段。Gemini 3 Pro、GPT-5.1 和 Claude 4.5 Opus 的發布,標誌著大型語言模型從「能用」到「好用」的質變。這不僅僅是參數量的增加或速度的提升,而是在理解能力、推理深度和應用場景上的全面進化。

閱讀文章

3D 與互動網頁

Three.js、WebGL 與 Blender 的入門與實作,搭配實驗室裡可以直接玩的作品。

不用重寫遊戲:把 Godot 4 匯出到 WebGL 的 5 個踩坑筆記

Godot 4 的遊戲在 Mac 或 PC 上跑 60fps 很輕鬆,但當你點下 Export HTML5 丟上網頁,打開第一秒就可能碰壁:灰色畫面、跨域安全限制、iOS 閃退、音效死鎖。

閱讀文章

把平面圖變成可以走進去的 3D:Three.js 室內格局的完整做法

平面圖是空間最通用的語言,但大多數人其實讀不懂它——牆上那張 2D 格局圖,和「住進去是什麼感覺」之間有一道翻譯的鴻溝。我把一張真實的三房格局做成了瀏覽器裡可以轉視角、拖家具的 3D 空間。

閱讀文章

同一個 BFS,我寫了兩次:一次當品質閘門,一次當老師

我的推箱子遊戲有兩個解題器。演算法一模一樣——最普通的廣度優先搜尋——一個用 GDScript 寫在 Godot 裡,一個用 TypeScript 跑在瀏覽器。這不是重複造輪子,因為它們是兩個完全不同的產品。

閱讀文章

對爬蟲來說,我的網站每頁只有 46 個字元:SPA 預渲染的三個階段,不換框架

我用 curl 抓自己的文章頁,去掉 script 之後數了一下:46 個字元。標題而已,正文一個字都沒有。34 個文章頁,每一頁都是這樣——對不執行 JavaScript 的爬蟲來說,這個站接近空白。

閱讀文章

我沒有手刻 100 個關卡:用反向生成、BFS 與 CI 替 Godot 推箱子把關

BoxCat 1.0 上架時有 40 關。準備 1.1.0 時,我想把它擴成 100 關,還要確保沒有無解地圖、par 不是隨手填的數字,難度也不會突然倒退。

閱讀文章

我的 3D 網頁傳了 1.9MB,其中 90% 從來沒有被壓縮過

打開 DevTools 看 Midnight Run 的網路面板:整頁傳了 1,894KB,其中 1,714KB 是兩個 GLB 模型。而同一頁的 three.js,磁碟上 564KB、實際只傳了 142KB。

閱讀文章

把真實城市變成 3D 場景:OpenStreetMap、Blender 與 Three.js 的一條管線

Midnight Run 跑的不是我畫出來的賽道,是台北信義區真正的街廓。整條路線來自 OpenStreetMap 的一份快照,經過 Blender 產生城市模型,最後變成瀏覽器裡 1.3MB 的 GLB。

閱讀文章

React 遇上中文輸入法:為什麼 onChange 會把注音當成錯字

打字測驗做完那天我測了一輪,速度、正確率、換題全部正常。隔天早上切回注音,畫面整片紅——我按下 ㄐ,系統立刻判定「ㄐ ≠ 今」。前一天沒發現,是因為我測的是英文。

閱讀文章

WebGL 是什麼?瀏覽器如何不用外掛就畫出即時 2D 與 3D

WebGL 是瀏覽器內建的低階圖形 API。JavaScript 可以透過 canvas 把頂點、顏色、貼圖與著色器交給 GPU,畫出即時 2D 與 3D,不必安裝 Flash 或其他外掛。

閱讀文章

Three.js 是什麼?從 WebGL 到瀏覽器裡的 3D 世界

Three.js 讓網站不只是一張平面。它把瀏覽器底層的 WebGL 包成比較容易理解的場景、相機、材質與燈光,讓開發者能用 JavaScript 做出 3D 產品展示、資料視覺化、遊戲和互動敘事。

閱讀文章

Blender 是什麼?從一人的內部工具,到全世界共用的 3D 創作平台

Blender 是免費、開源的 3D 創作工具,建模、雕刻、材質、動畫、模擬、算圖、合成和影片剪輯都能在同一套軟體完成。它不是只有專業動畫師才用得上的龐大軟體,也能成為網站資產的自動化工廠。

閱讀文章
去實驗室看互動作品 →

產品開發記

從想法到上架的第一手紀錄:做了什麼、為什麼做、學到什麼。

貼一個 YouTube 連結,30 秒變一疊學習卡片

我電腦裡有一排「之後要看」的 YouTube 演講,每一個動輒半小時起跳,每一個都還沒打開。存起來很快,真正變成腦裡的東西才是被推遲的成本。

閱讀文章

Apple 其實沒有全球排行榜:我抓了 51 個市場的付費榜,發現的事

你在 App Store 看到的「排行榜」,是你所在國家的榜。美國、日本、台灣各有一份,它們不是同一份榜的翻譯,是三份完全獨立的名單——而 Apple 從來沒有提供過「全球榜」這種東西。

閱讀文章

我的產品沒有 PM,所以每個功能都在搶同一個人的時間

一個人做產品,沒有人替我排優先順序,產品管理卻一項也不會少。誰需要這個功能、現在為什麼要做、什麼情況下該停,最後都回到我身上。

閱讀文章

AI 答錯不可怕,可怕的是它看起來剛好可以交付

AI 回傳空白、逾時或格式錯誤時,產品很容易知道要停下來。更難處理的是語氣完整、格式正確,內容卻漏掉限制或做錯判斷的輸出。

閱讀文章

稍後再讀,其實是最有禮貌的刪除

看到一篇好像很重要、現在卻沒空讀的文章時,按下「稍後再讀」很合理。內容沒有被丟掉,我們也不用立刻承認自己可能永遠不會回來。

閱讀文章

功能不是產品:我用「結果契約」重新檢查 KOFNote

KofAI Note 1.0.0 已經上架。它的功能可以濃縮成一句話:「一鍵捕捉,AI 幫你讀完。」這句話說清楚了產品會做什麼,卻還沒回答使用者最後得到什麼。

閱讀文章

為什麼我做了 BabyDay

老實說,這個 App 的起點不是什麼產品規劃,是一個很實際的問題:二寶快出生了,大寶那時候的紀錄散落在 LINE、備忘錄、手寫筆記本,回頭找的時候什麼都對不上。

閱讀文章

為什麼我做了 KeepOnFirst Focus

老實說,我一開始真的沒打算做一個番茄鐘。

閱讀文章

我是如何開始寫 Medium 的:三天寫三篇後,我學到的事

開始在 Medium 寫作是一個充滿未知的決定。作為一個習慣寫程式碼的開發者,突然要面對空白的編輯器,用文字而非程式語言表達想法,這種轉換比想像中更具挑戰性。

閱讀文章

讀累了?來玩一場

中文打字每日挑戰——今天所有人都打同一組題目,打完看你排第幾。

進入遊戲區